主要内容

SSD Multibox检测入门

单镜头多盒探测器(SSD)使用单一阶段的目标检测网络,合并从多尺度特征预测的检测。SSD比两级检测器(如faster R-CNN检测器)更快,比单尺度特征检测器(如YOLO v2检测器)更精确地定位对象。

SSD在输入图像上运行深度学习CNN,以产生来自多个特征映射的网络预测。对象检测器聚集并解码以生成边界框的预测。

预测图像中的物体

SSD使用锚框来检测图像中的对象的类。有关更多详细信息,请参阅用于物体检测的锚盒.SSD预测每个锚框的这两个属性。

  • 锚盒偏移 - 优化锚箱位置。

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

该图示出了特征图中的每个位置处的预定义锚箱(虚线),并在应用偏移后的精制位置。匹配的盒子与班级是蓝色和橙色。

转移学习

通过迁移学习,您可以使用预先训练的CNN作为SSD检测网络中的特征提取器。使用ssdlayers.功能创建SSD检测网络从任何预先训练的CNN,如MobileNet v2.有关佩带的CNN列表,请参阅预先训练的深度神经网络(深度学习工具箱)

您还可以根据预先训练的图像分类CNN设计自定义模型。有关更多详细信息,请参阅设计SSD检测网络

设计SSD检测网络

您可以以编程方式设计自定义SSD模型或使用深层网络设计师(深度学习工具箱)应用程序手动创建网络。该应用程序包含计算机Vision Toolbox™SSD功能。

设计SSD Multibox检测网络,请遵循以下步骤。

  1. 用特征提取网络启动模型,可以从预先训练的CNN初始化,也可以从头开始训练。

  2. 从特征提取网络中选择预测图层。来自特征提取网络的任何层都可以用作预测层。但是,要利用使用多尺度特性进行对象检测的好处,请选择不同尺寸的特征图。

  3. 通过附加锚点向预测层指定锚框anchorBoxLayer每个层。

  4. 的输出连接anchorBoxLayer对象到分类分支和回归分支。分类分支具有至少一个卷积层,该卷积层预测每个瓷砖锚盒的类。回归分支具有至少一个卷积层,其预测锚框偏移。您可以在分类和回归分支中添加更多图层,但是,最终卷积层(在合并层之前)必须具有根据此表的过滤器数。

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

  5. 对于所有预测层,通过使用该分类分支的输出来结合ssdmergelayer对象。连接ssdmergelayer对象至A.softmaxlayer.(深度学习工具箱)对象,其次是一个Focallosslayer.对象。方法收集回归分支的所有输出ssdmergelayer再次对象。连接ssdmergelayer输出一个rcnnBoxRegressionLayer对象。

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

用SSD模型训练对象检测器并检测对象

要学习如何使用SSD深度学习技术训练对象检测器,请参阅使用SSD深度学习的对象检测的例子。

代码生成

学习如何生成CUDA®使用SSD对象检测器的代码(使用它使用ssdobjectdetector对象),见使用单次Multibox检测器进行对象检测的代码

深度学习标签培训数据

你可以使用图像贴标器视频贴图, 要么地面真理贴标机(自动驾驶工具箱)应用程序以交互方式标记像素并导出标签数据进行培训。该应用程序还可用于标记对象检测的矩形感兴趣区域(ROI),用于图像分类的场景标签,以及语义分割的像素。要从任何贴标程序创建导出地面真相对象的培训数据,您可以使用ObjectDetortRaringData.PixellabeltrainingData.功能。有关更多详细信息,请参阅对象检测和语义分割的培训数据

参考文献

[1]刘,魏,龙卷风犬,丹麦特·埃哈,基督徒塞阁迪,斯科特芦苇,程阳富,亚历山大C.伯格。“SSD:单次拍摄多杆探测器。”在电脑愿景 - ECCV 2016,由Bastian Leibe,Jiri Matas,Nicu Sebe编辑,最大化,9905:21-37。Cham:Springer International Publishing,2016. Https://Doi.org/10.1007/978-3-319-46448-0_2。

也可以看看

应用

对象

功能

相关例子

更多关于