单次拍摄多杆探测器(SSD)使用单级对象检测网络来合并从多尺度功能预测的检测。SSD比两级探测器更快,例如更快的R-CNN检测器,并且可以与单尺度特征探测器(例如YOLO V2检测器)更准确地将物体定位。
SSD在输入图像上运行一个深度学习CNN,从多个特征地图产生网络预测。目标检测器收集并解码预测以生成边界框。
SSD使用锚框来检测图像中的对象类别。更多信息请参见用于对象检测的锚盒.SSD预测每个锚框的这两个属性。
锚箱偏移-改进锚箱位置。
类概率 - 预测分配给每个锚框的类标签。
该图显示了特征图中每个位置的预定义锚框(虚线),以及应用偏移量后的精炼位置。与类匹配的框用蓝色和橙色表示。
随着传输学习,您可以使用预先使用的CNN作为SSD检测网络中的特征提取器。使用ssdLayers
从任何预先磨平的CNN创建SSD检测网络的功能,例如MobileNet v2.
.有关预训练cnn的列表,请参见普里德深度神经网络(深度学习工具箱).
您还可以基于预折叠图像分类CNN设计自定义模型。更多信息请参见设计SSD检测网络.
您可以设计自定义的SSD模型编程或使用深网络设计师(深度学习工具箱)App手动创建网络。该应用程序集成了计算机视觉工具箱™SSD功能。
要设计SSD Multibox检测网络,请按照下列步骤操作。
使用特征提取器网络启动模型,可以从佩带的CNN初始化或从头开始训练。
从特征提取网络中选择预测层。特征提取网络中的任何一层都可以作为预测层。然而,要利用使用多尺度特征进行目标检测的好处,请选择不同大小的特征图。
属性指定锚框到预测层anchorboxLayer.
每一层。
连接输出anchorboxLayer.
对象转移到分类分支和回归分支。分类分支具有至少一个卷积层,用于预测每个平铺锚盒的类。回归分支至少有一个卷积层,用于预测锚盒偏移量。你可以在分类和回归分支中添加更多的层,但是,最终的卷积层(合并层之前)必须有这个表中的过滤器的数量。
分支 | 数量的过滤器 |
---|---|
分类 | 锚箱数量+ 1(背景类) |
回归 | 是锚箱数量的四倍 |
对于所有的预测层,使用ssdMergeLayer
目的。连接ssdMergeLayer
对象一个softmaxLayer
(深度学习工具箱)对象,后面跟着focalLossLayer
目的。通过使用来收集回归分支的所有输出ssdMergeLayer
对象了。连接ssdMergeLayer
输出到A.rcnnboxregressionlayer.
目的。
有关创建此类网络的详细信息,请参见创建SSD对象检测网络
如需学习如何使用SSD深度学习技术训练目标检测器,请参见使用SSD深度学习的目标检测例子。
学习如何生成CUDA®代码使用SSD对象检测器(使用ssdObjectDetector
对象),看使用单枪多盒检测器进行目标检测的代码生成.
你可以使用图片标志,贴标签机视频,或地面实况贴标签机(自动驾驶工具箱)应用程序交互式标签像素和导出标签数据培训。这些应用程序还可以用于标记用于目标检测的矩形感兴趣区域(roi),用于图像分类的场景标签,以及用于语义分割的像素。要从导出的地面真实对象的任何标签创建训练数据,可以使用objectDetectorTrainingData
或者pixelLabelTrainingData
职能。更多信息请参见用于对象检测和语义分割的训练数据.
1 . Liu, Wei, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg。"SSD:单射多盒探测器。"在计算机视觉- ECCV 2016,由Bastian Leibe, Jiri Matas, Nicu Sebe和Max Welling编辑,9905:21-37。Cham:施普林格国际出版社,2016。https://doi.org/10.1007/978 - 3 - 319 - 46448 - 0 - _2。
ssdLayers
|trainssdobjectdetector
|分析
(深度学习工具箱)