DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测

简介: DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测
+关注继续查看

输出结果


先上目标检测结果


image.png


人身检测


观众席:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。藏得再深也能找到你……


image.png

image.png






核心代码


import os

import sys

import random

import math

import numpy as np

import skimage.io

import matplotlib

import matplotlib.pyplot as plt

# Root directory of the project

ROOT_DIR = os.path.abspath("../")

# Import Mask RCNN

sys.path.append(ROOT_DIR)  # To find local version of the library

from mrcnn import utils

import mrcnn.model as modellib

from mrcnn import visualize

# Import COCO config

sys.path.append(os.path.join(ROOT_DIR, "samples/coco/"))  # To find local version

import coco

# Directory to save logs and trained model

MODEL_DIR = os.path.join(ROOT_DIR, "logs")

# Local path to trained weights file

COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")

# Download COCO trained weights from Releases if needed

if not os.path.exists(COCO_MODEL_PATH):

   utils.download_trained_weights(COCO_MODEL_PATH)

# Directory of images to run detection on

IMAGE_DIR = os.path.join(ROOT_DIR, "images01")

class InferenceConfig(coco.CocoConfig):

   # Set batch size to 1 since we'll be running inference on

   # one image at a time. Batch size = GPU_COUNT * IMAGES_PER_GPU

   GPU_COUNT = 1

   IMAGES_PER_GPU = 1

config = InferenceConfig()

config.display()

#Create Model and Load Trained Weights

# Create model object in inference mode.

model = modellib.MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=config)

# Load weights trained on MS-COCO

model.load_weights(COCO_MODEL_PATH, by_name=True)

Configurations:

BACKBONE                       resnet101

BACKBONE_STRIDES               [4, 8, 16, 32, 64]

BATCH_SIZE                     1

BBOX_STD_DEV                   [0.1 0.1 0.2 0.2]

COMPUTE_BACKBONE_SHAPE         None

DETECTION_MAX_INSTANCES        100

DETECTION_MIN_CONFIDENCE       0.7

DETECTION_NMS_THRESHOLD        0.3

FPN_CLASSIF_FC_LAYERS_SIZE     1024

GPU_COUNT                      1

GRADIENT_CLIP_NORM             5.0

IMAGES_PER_GPU                 1

IMAGE_MAX_DIM                  1024

IMAGE_META_SIZE                93

IMAGE_MIN_DIM                  800

IMAGE_MIN_SCALE                0

IMAGE_RESIZE_MODE              square

IMAGE_SHAPE                    [1024 1024    3]

LEARNING_MOMENTUM              0.9

LEARNING_RATE                  0.001

LOSS_WEIGHTS                   {'rpn_class_loss': 1.0, 'rpn_bbox_loss': 1.0, 'mrcnn_class_loss': 1.0, 'mrcnn_bbox_loss': 1.0, 'mrcnn_mask_loss': 1.0}

MASK_POOL_SIZE                 14

MASK_SHAPE                     [28, 28]

MAX_GT_INSTANCES               100

MEAN_PIXEL                     [123.7 116.8 103.9]

MINI_MASK_SHAPE                (56, 56)

NAME                           coco

NUM_CLASSES                    81

POOL_SIZE                      7

POST_NMS_ROIS_INFERENCE        1000

POST_NMS_ROIS_TRAINING         2000

ROI_POSITIVE_RATIO             0.33

RPN_ANCHOR_RATIOS              [0.5, 1, 2]

RPN_ANCHOR_SCALES              (32, 64, 128, 256, 512)

RPN_ANCHOR_STRIDE              1

RPN_BBOX_STD_DEV               [0.1 0.1 0.2 0.2]

RPN_NMS_THRESHOLD              0.7

RPN_TRAIN_ANCHORS_PER_IMAGE    256

STEPS_PER_EPOCH                1000

TOP_DOWN_PYRAMID_SIZE          256

TRAIN_BN                       False

TRAIN_ROIS_PER_IMAGE           200

USE_MINI_MASK                  True

USE_RPN_ROIS                   True

VALIDATION_STEPS               50

WEIGHT_DECAY                   0.0001

Processing 1 images

image                    shape: (506, 900, 3)         min:    0.00000  max:  255.00000  uint8

molded_images            shape: (1, 1024, 1024, 3)    min: -123.70000  max:  151.10000  float64

image_metas              shape: (1, 93)               min:    0.00000  max: 1024.00000  float64

anchors                  shape: (1, 261888, 4)        min:   -0.35390  max:    1.29134  float32




 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
目标检测技术演化:从R-CNN到Faster R-CNN
一文了解目标检测技术发展,不要错过哟。
2528 0
CV:基于Keras利用训练好的hdf5模型进行目标检测实现输出模型中的脸部表情或性别的gradcam(可视化)
CV:基于Keras利用训练好的hdf5模型进行目标检测实现输出模型中的脸部表情或性别的gradcam(可视化)
17 0
间谍卫星的基础?YOLT——利用卷积神经网络对卫星影像进行多尺度目标检测(Part I)
利用卷积神经网络(CNN)对卫星影像进行多尺度目标检测,该文是在YOLO模型的基础上改进提出YOLT模型,该方法极大的提高了背景区分,并能够在不同尺度和多个传感器上快速检测出物体。
1825 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4559 0
直线目标检测技术
Boofcv研究:直线目标检测 public class LineDetection { private static final float edgeThreshold = 25; private static final int m...
648 0
你的食物变质没?用AI算法来检测一下吧
本文使用AI算法检测披萨是否变质,为食品检测提供一个新的思路。
1532 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载