主要内容

开始使用SSD多盒检测

单次拍摄多杆探测器(SSD)使用单级对象检测网络来合并从多尺度功能预测的检测。SSD比两级探测器更快,例如更快的R-CNN检测器,并且可以与单尺度特征探测器(例如YOLO V2检测器)更准确地将物体定位。

SSD在输入图像上运行一个深度学习CNN,从多个特征地图产生网络预测。目标检测器收集并解码预测以生成边界框。

预测图像中的对象

SSD使用锚框来检测图像中的对象类别。更多信息请参见用于对象检测的锚盒.SSD预测每个锚框的这两个属性。

  • 锚箱偏移-改进锚箱位置。

  • 类概率 - 预测分配给每个锚框的类标签。

该图显示了特征图中每个位置的预定义锚框(虚线),以及应用偏移量后的精炼位置。与类匹配的框用蓝色和橙色表示。

转移学习

随着传输学习,您可以使用预先使用的CNN作为SSD检测网络中的特征提取器。使用ssdLayers从任何预先磨平的CNN创建SSD检测网络的功能,例如MobileNet v2..有关预训练cnn的列表,请参见普里德深度神经网络(深度学习工具箱)

您还可以基于预折叠图像分类CNN设计自定义模型。更多信息请参见设计SSD检测网络

设计SSD检测网络

您可以设计自定义的SSD模型编程或使用深网络设计师(深度学习工具箱)App手动创建网络。该应用程序集成了计算机视觉工具箱™SSD功能。

要设计SSD Multibox检测网络,请按照下列步骤操作。

  1. 使用特征提取器网络启动模型,可以从佩带的CNN初始化或从头开始训练。

  2. 从特征提取网络中选择预测层。特征提取网络中的任何一层都可以作为预测层。然而,要利用使用多尺度特征进行目标检测的好处,请选择不同大小的特征图。

  3. 属性指定锚框到预测层anchorboxLayer.每一层。

  4. 连接输出anchorboxLayer.对象转移到分类分支和回归分支。分类分支具有至少一个卷积层,用于预测每个平铺锚盒的类。回归分支至少有一个卷积层,用于预测锚盒偏移量。你可以在分类和回归分支中添加更多的层,但是,最终的卷积层(合并层之前)必须有这个表中的过滤器的数量。

    分支 数量的过滤器
    分类 锚箱数量+ 1(背景类)
    回归 是锚箱数量的四倍

  5. 对于所有的预测层,使用ssdMergeLayer目的。连接ssdMergeLayer对象一个softmaxLayer(深度学习工具箱)对象,后面跟着focalLossLayer目的。通过使用来收集回归分支的所有输出ssdMergeLayer对象了。连接ssdMergeLayer输出到A.rcnnboxregressionlayer.目的。

有关创建此类网络的详细信息,请参见创建SSD对象检测网络

训练对象检测器和检测对象与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。

另请参阅

应用程序

对象

功能

相关的例子

更多关于