在
https://github.com/matterport/Mask_RCNN
下载《Mask_RCNN-master》,并下载训练权重(mask_rcnn_coco.h5)。
然后安装 Keras 2.0.8。pycocotools 就不用装了。
由于我的TensorFlow 是1.0 <1.3,所以按提示修改一二处Keras 中的代码,就可以运行了。
流程图:
这 张图算是比较全了。
C++运行流程:
正在从二进制文件载入‘Mask_RCNN模型’的数据
载入完成
载入模型用时:0.703 秒
生成5层金字塔特征...
输入图像宽度:314
高度:208
预处理...
缩放比:1.42675
窗口(window):75,0,372,448
宽,高,深度:448,448,3
首层...
宽,高,深度:224,224,64
宽,高,深度:112,112,64
组2...
宽,高,深度:112,112,256
组3...
宽,高,深度:56,56,512
组4...
23...
宽,高,深度:28,28,1024
组5...
宽,高,深度:14,14,2048
宽,高,深度:14,14,2048
生成5层融合金字塔特征...
p2 宽,高,深度:112,112,256
p5 宽,高,深度:14,14,256
p6 宽,高,深度:7,7,256
p3 宽,高,深度:56,56,256
p4 宽,高,深度:28,28,256
回归候选区前、背景分类和位置修正...
fpn_p2...
rpn_model 输入的 宽,高,深度:112,112,256
宽,高,深度:112,112,512
宽,高,深度:112,112,6
rpn_class_logits 输出的 宽,高,深度:2,37632,1
宽,高,深度:112,112,12
rpn_bbox 输出的 宽,高,深度:4,37632,1
size:50127
fpn_p3...
rpn_model 输入的 宽,高,深度:56,56,256
宽,高,深度:56,56,512
宽,高,深度:56,56,6
rpn_class_logits 输出的 宽,高,深度:2,9408,1
宽,高,深度:56,56,12
rpn_bbox 输出的 宽,高,深度:4,9408,1
fpn_p4...
rpn_model 输入的 宽,高,深度:28,28,256
宽,高,深度:28,28,512
宽,高,深度:28,28,6
rpn_class_logits 输出的 宽,高,深度:2,2352,1
宽,高,深度:28,28,12
rpn_bbox 输出的 宽,高,深度:4,2352,1
fpn_p5...
rpn_model 输入的 宽,高,深度:14,14,256
宽,高,深度:14,14,512
宽,高,深度:14,14,6
rpn_class_logits 输出的 宽,高,深度:2,588,1
宽,高,深度:14,14,12
rpn_bbox 输出的 宽,高,深度:4,588,1
fpn_p6...
rpn_model 输入的 宽,高,深度:7,7,256
宽,高,深度:7,7,512
宽,高,深度:7,7,6
rpn_class_logits 输出的 宽,高,深度:2,147,1
宽,高,深度:7,7,12
rpn_bbox 输出的 宽,高,深度:4,147,1
------------------->
名称:类别和置信值(rpn_class)
形状 宽,高,通道:2,50127,1
数据:
0.000040, 0.000011,
0.000040, 0.000011,
............
0.997535, 0.002465,
0.992276, 0.007724,
-------------------<
------------------->
名称:位置修正(rpn_bbox)
形状 宽,高,通道:4,50127,1
数据:
1.164075, 0.359142, -1.046467, 1.089948,
-0.232473, -0.074489, 1.286546, 1.005225,
............
0.205122, 1.203826, 4.031924, 5.184391,
0.288356, 0.418178, 3.501219, 3.429189,
-------------------<
生成预定义的候选区(锚框)...
0:150528
1:37632
2:9408
3:2352
4:588
应用增量生成准确的前景区(提案)...
------------------->
名称:前景得分
形状 宽,高,通道:1,50127,1
数据:
0.000011,
0.000011,
............
0.002465,
0.007724,
-------------------<
取分值最高的 6000 个前景区...
对 50127 个数据做快速排序...
前几个得分:0.999151,0.999090,0.999032,0.999003
第一区位置:0.650437,0.432601,0.850682,0.531605
深度,高,宽:1,6000,4
对 6000 个前景区应用 非极大抑制 最多保留前 1000 个...
对 6000 个数据做快速排序...
保留数:1000
非极大抑制后还有 1000 个
------------------->
名称:对象候选区(rpn_rois)
形状 宽,高,通道:4,1000,1
数据:
0.652134, 0.434852, 0.817850, 0.518587,
0.662022, 0.341137, 0.801632, 0.391992,
............
0.218169, 0.277521, 0.369030, 0.402831,
0.641845, 0.241386, 0.733749, 0.291932,
-------------------<
应用特征金字塔对前景区(提案)分类并生成对象包围框增量...
根据候选区面积大小分配到金字塔级...
总数 :1000
金字塔特征级:2
分离出 :768 个
完成 768 个 剪裁和缩放。
存放到原位...
金字塔特征级:3
分离出 :187 个
完成 187 个 剪裁和缩放。
存放到原位...
金字塔特征级:4
分离出 :41 个
完成 41 个 剪裁和缩放。
存放到原位...
金字塔特征级:5
分离出 :4 个
完成 4 个 剪裁和缩放。
存放到原位...
金字塔特征图候选区对齐(PyramidROIAlign)完成。
------------------->
名称:总成图(ROIAlign)
形状 宽,高,通道:49,256,1000
数据:
-1.180767, -3.027353,... 2.564615, 3.192584,
-2.004151, -1.877269,... -0.960412, -0.744303,
............
-2.804682, -1.567623,... 7.776511, 6.680209,
5.745147, 4.826375,... 1.747673, 2.950269,
-------------------<
分类卷积 1 输入维度,输出维度:256,1024
分类卷积 2 输入维度,输出维度:1024,1024
分类全连接 输入维度,输出维度:1024,81
------------------->
名称:81类别置信率(mrcnn_class)
形状 宽,高,通道:81,1000,1
数据:
0.001850, 0.998039,... 0.000000, 0.000000,
0.002243, 0.997717,... 0.000000, 0.000000,
............
0.999676, 0.000022,... 0.000009, 0.000003,
0.998484, 0.001120,... 0.000000, 0.000000,
-------------------<
------------------->
名称:位置修正(bbox_deltas)
形状 宽,高,通道:4,81,1000
数据:
-0.025706, 0.171097, 0.167358, -0.073987,
0.091792, 0.095471, -0.636902, -0.473347,
............
-0.093505, 0.020155, -0.594412, -0.503832,
0.300399, 0.235836, -0.832490, -0.564470,
-------------------<
从分类的边界框及其增量,生成最终的准确的边界框...
窗口:[ 75, 0, 372, 448 ]
正则化窗口:[ 0.167785, 0, 0.829978, 1 ]
深度,高,宽:1000,81,4
深度,高,宽:1,1000,4
深度,高,宽:1,1000,4
------------------->
名称:已修正的位置
形状 宽,高,通道:4,1000,1
数据:
0.663566, 0.439433, 0.809462, 0.515605,
0.670542, 0.340176, 0.799220, 0.387130,
............
0.222871, 0.273334, 0.374881, 0.404185,
0.638463, 0.241167, 0.737438, 0.291939,
-------------------<
------------------->
名称:已剪裁的位置(超出原图)
形状 宽,高,通道:4,1000,1
数据:
0.663566, 0.439433, 0.809462, 0.515605,
0.670542, 0.340176, 0.799220, 0.387130,
............
0.222871, 0.273334, 0.374881, 0.404185,
0.638463, 0.241167, 0.737438, 0.291939,
-------------------<
过滤掉背景区(分类值是0)
过滤掉低置信度区(<0.7)
还有:77 个。有类别 2 个
类别ID:
1,
3,
过滤掉可能是同一对象区(非极大抑制 重合阀值0.3),最多保留100个对象
取每种类别 分别应用非极大抑制...
1 类数目有 54 个。
对 54 个数据做快速排序...
保留数:5
3 类数目有 23 个。
对 23 个数据做快速排序...
保留数:3
------------------->
名称:包围框和置信率(detections)
形状 宽,高,通道:6,100,1
数据:
0.663566, 0.439433,... 1.000000, 0.998039,
0.670542, 0.340176,... 1.000000, 0.997717,
............
0.000000, 0.000000,... 0.000000, 0.000000,
0.000000, 0.000000,... 0.000000, 0.000000,
-------------------<
从准确的边界框中对特征金字塔扫描生成对象蒙板(遮罩)...
根据候选区面积大小分配到金字塔级...
总数 :100
金字塔特征级:2
分离出 :7 个
完成 7 个 剪裁和缩放。
存放到原位...
金字塔特征级:3
分离出 :1 个
完成 1 个 剪裁和缩放。
存放到原位...
金字塔特征级:4
分离出 :0 个
完成 0 个 剪裁和缩放。
存放到原位...
金字塔特征级:5
分离出 :92 个
完成 92 个 剪裁和缩放。
存放到原位...
金字塔特征图候选区对齐(PyramidROIAlign)完成。
------------------->
名称:总成图(ROIAlign)
形状 宽,高,通道:196,256,100
数据:
0.139369, -0.040918,... 4.280806, 4.879940,
-2.554317, -2.201655,... -1.010951, -0.170036,
............
-2.465950, -2.327947,... 6.927403, 6.182915,
5.276754, 5.197134,... -0.300403, 0.957843,
-------------------<
遮罩(mask)卷积 1 输入维度,输出维度:256,256
卷积 2 输入维度,输出维度:256,256
卷积 3 输入维度,输出维度:256,256
卷积 4 输入维度,输出维度:256,256
反卷积 输入维度,输出维度:256,256
输出层卷积 输入维度,输出维度:256,81
------------------->
名称:遮罩(mrcnn_mask)
形状 宽,高,通道:784,81,100
数据:
0.499014, 0.496889,... 0.498139, 0.497982,
0.006024, 0.007025,... 0.003178, 0.002194,
............
0.021715, 0.023257,... 0.011044, 0.008604,
0.003314, 0.003703,... 0.001181, 0.000825,
-------------------<
从对象包围框,序号和蒙板,生成图像(分割图,分割叠加图,文字标注的分割框图)...
mrcnn_mask 宽,高,深度:784,81,100
有效组数:8
------------------->
名称:对象序号
形状 宽,高,通道:8,1,1
数据:
1.000000, 1.000000,... 1.000000, 3.000000,
-------------------<
蒙区文件已经保存为: inp_2_蒙板.jpg
蒙区叠加文件已经保存为: inp_2_叠加.jpg
标上对象计数文件已经保存为: inp_2_计数.jpg
已经完成
总用时:37.17 秒
请按任意键继续. . .
效 果:
分别是 蒙板,叠加 和 计数图
为了加快运行速度,运行尺寸不是1024,而是448,所以分割小目标差一点了
再来原图就不发了:
---
---
下载:
81类实例分割的win程序
win图像实例分割实用程序,由《Mask_RCNN-master》中的模型《mask_rcnn_coco.h5》改编而成。
https://download.csdn.net/download/juebai123/12343530