开始使用面具R-CNN例如分割
分割是一个增强的类型的对象实例检测,生成一个细分为每个对象的检测实例映射。作为不同实体的实例分割对单个对象,不管类的对象。相比之下,语义分割考虑同一个类的所有对象属于一个单一的实体。
面具R-CNN分割技术是一个流行的深度学习实例执行进行像素级分割检测到对象上[1]。面具R-CNN算法可以适应多个类和重叠的对象。
您可以创建一个pretrained面具R-CNN网络使用maskrcnn
对象。MS-COCO上的网络训练数据集和可以检测到80个不同的对象类。执行实例分割,通过pretrained网络segmentObjects
函数。
如果你想修改网络检测额外的类,或调整网络的其他参数,那么您可以执行转移学习。为例,展示了如何训练一个面具R-CNN,明白了执行实例使用面具R-CNN分割。
面具R-CNN网络体系结构
面具R-CNN网络由两个阶段组成。第一阶段是一个地区建议网络(RPN),预测对象的建议基于锚盒子边界框。第二阶段是一个R-CNN探测器,改进这些建议,分类,计算这些建议进行像素级分割。
面具R-CNN模型构建在快R-CNN模型。面具R-CNN取代了ROI马克斯池层R-CNN的更快roiAlignLayer
提供更准确的亚像素级的ROI池。面具R-CNN网络还增加了一个面具分支为像素级对象分割。更多信息越快R-CNN网络,看到的开始使用R-CNN、快速R-CNN和R-CNN更快。
这个图显示了一个修改过的更快R-CNN网络左边和右边一个面具分支。
配置一个面具R-CNN传输网络学习,指定类名和锚盒子当您创建一个maskrcnn
对象。您可以指定额外的网络属性包括网络输入大小和ROI池大小。
准备面具R-CNN训练数据
加载数据
训练一个面具R-CNN,你需要以下数据。
数据 | 描述 |
---|---|
RGB图像 | RGB图像作为网络输入,指定为H——- - - - - -W3数值数组。 例如,这个示例从CamVid RGB图像是一个修改图像数据集[2]被编辑删除个人身份信息。 |
真实边界框 | 边界框RGB图像中的对象,指定为一个NumObjects4矩阵,行格式(xywh])。 例如, 32 bboxes 36 = 394 442 101 436 457 88 619 293 209 281 460 441 210 234 862 375 190 314 816 271 235 305 |
实例的标签 | 标签的每个实例指定为一个NumObjects1向量或一个字符串NumObjects1单元阵列特征向量)。 例如, 标签= 6×1单元阵列{‘人’}{‘人’}{‘汽车’}{‘汽车’}{‘汽车’}{‘汽车’} |
实例的面具 | 面具的实例对象。面具的数据有两种格式:
例如,这个剪辑显示6个样本中的对象的二进制面具RGB图像。 |
创建数据存储,读取数据
使用一个数据存储中读取数据。数据存储必须返回数据作为1-by-4单元阵列的格式{RGB图像边界框,标签,口罩}。您可以创建一个数据存储在这种格式使用这些步骤:
创建一个
imageDatastore
返回RGB图像数据创建一个
boxLabelDatastore
返回标签作为一个边界框的数据和实例两列单元阵列创建一个
imageDatastore
并指定一个自定义函数,它返回读面具数据作为二进制矩阵合并这三个数据存储使用
结合
函数
图像的大小、边界框和面具必须输入匹配网络的大小。如果你需要调整的数据,那么您可以使用imresize
调整RGB图像和面具,bboxresize
函数来调整边界框。
有关更多信息,请参见数据存储深度学习(深度学习工具箱)。
想象训练数据
面具在图像显示实例,使用insertObjectMask
。您可以指定一个colormap这样每个实例出现在不同的颜色。此示例代码显示了如何显示实例面具面具
变量的RGB图像即时通讯
变量使用行
colormap。
imOverlay = insertObjectMask (im,面具,颜色= (numObjects)行);imshow (imOverlay);
显示图像的边界框标签,使用showShape
函数。此示例代码显示了如何显示标记矩形形状和边界框的大小和位置数据bboxes
变量和标签的数据标签
变量。
imshow imOverlay showShape (“矩形”、bboxes标签=标签颜色=“红色”);
火车面具R-CNN模型
火车一个面具R-CNN网络使用trainMaskRCNN
函数。例如,看到的执行实例使用面具R-CNN分割。
引用
他[1],开明,格鲁吉亚Gkioxari,彼得亚雷美元,和罗斯Girshick。“面具R-CNN。”ArXiv: 1703.06870 (Cs)2018年1月24日。https://arxiv.org/pdf/1703.06870。
加布里埃尔·[2]Brostow J。,Julien Fauqueur, and Roberto Cipolla. "Semantic Object Classes in Video: A High-Definition Ground Truth Database." Pattern Recognition Letters 30, no. 2 (January 2009): 88–97. https://doi.org/10.1016/j.patrec.2008.04.005.
另请参阅
应用程序
功能
相关的例子
更多关于
- 深度学习在MATLAB(深度学习工具箱)
- 数据存储深度学习(深度学习工具箱)