Mask R-CNN 是一个两阶段的框架,第一个阶段扫描图像并生成提议(proposals,即有可能包含一个目标的区域),第二阶段分类提议并生成边界框和掩码。Mask R-CNN 扩展自 Faster R-CNN,由同一作者在去年提出。Faster R-CNN 是一个流行的目标检测框架,Mask R-CNN 将其扩展为实例分割框架。
下载权值文件:http://download.tensorflow.org/models/object_detection/mask_rcnn_inception_v2_coco_2018_01_28.tar.gz
下载后解压到项目根目录下即可。
示例代码:
import cv2
import numpy as np
import os.path
import sys
import random
# 初始化参数
confThreshold = 0.5 # 置信度阈值
maskThreshold = 0.3 # 掩码阈值
# 绘制预测的边界框,着色并在图像上显示蒙版
def drawBox(frame, classId, conf, left, top, right, bottom, classMask):
# 绘制一个边界框
cv2.rectangle(frame, (left, top