DL之Mask R-CNN:2018.6.26世界杯阿根廷队VS尼日利亚比赛2:1实现Mask R-CNN目标检测
目录
先上目标检测结果
观众席:众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。藏得再深也能找到你……
- 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}
-selector-tag">MASK_POOL_SIZE 14
-selector-tag">MASK_SHAPE [28, 28]
-selector-tag">MAX_GT_INSTANCES 100
-selector-tag">MEAN_PIXEL [123.7 116.8 103.9]
-selector-tag">MINI_MASK_SHAPE (56, 56)
-selector-tag">NAME -selector-tag">coco
-selector-tag">NUM_CLASSES 81
-selector-tag">POOL_SIZE 7
-selector-tag">POST_NMS_ROIS_INFERENCE 1000
-selector-tag">POST_NMS_ROIS_TRAINING 2000
-selector-tag">ROI_POSITIVE_RATIO 0.33
-selector-tag">RPN_ANCHOR_RATIOS [0.5, 1, 2]
-selector-tag">RPN_ANCHOR_SCALES (32, 64, 128, 256, 512)
-selector-tag">RPN_ANCHOR_STRIDE 1
-selector-tag">RPN_BBOX_STD_DEV [0.1 0.1 0.2 0.2]
-selector-tag">RPN_NMS_THRESHOLD 0.7
-selector-tag">RPN_TRAIN_ANCHORS_PER_IMAGE 256
-selector-tag">STEPS_PER_EPOCH 1000
-selector-tag">TOP_DOWN_PYRAMID_SIZE 256
-selector-tag">TRAIN_BN -selector-tag">False
-selector-tag">TRAIN_ROIS_PER_IMAGE 200
-selector-tag">USE_MINI_MASK -selector-tag">True
-selector-tag">USE_RPN_ROIS -selector-tag">True
-selector-tag">VALIDATION_STEPS 50
-selector-tag">WEIGHT_DECAY 0.0001
Processing 1 images
image shape-operator">: -punctuation">(506-punctuation">, 900-punctuation">, 3-punctuation">) min-operator">: 0.00000 max-operator">: 255.00000 uint8
molded_images shape-operator">: -punctuation">(1-punctuation">, 1024-punctuation">, 1024-punctuation">, 3-punctuation">) min-operator">: -operator">-123.70000 max-operator">: 151.10000 float64
image_metas shape-operator">: -punctuation">(1-punctuation">, 93-punctuation">) min-operator">: 0.00000 max-operator">: 1024.00000 float64
anchors shape-operator">: -punctuation">(1-punctuation">, 261888-punctuation">, 4-punctuation">) min-operator">: -operator">-0.35390 max-operator">: 1.29134 float32
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!