主要内容

从YOLO v2开始

you-only-look-once (YOLO) v2对象检测器使用单级对象检测网络。YOLO v2比其他两阶段深度学习对象检测器更快,例如带有卷积神经网络的区域(faster r - cnn)。

YOLO v2模型在输入图像上运行深度学习CNN以产生网络预测。目标检测器解码预测并生成边界框。

预测图像中的物体

YOLO v2使用锚框来检测图像中的对象类别。详情请参见用于对象检测的锚框. YOLO v2预测每个锚框的这三个属性:

  • 交集超过联合(IoU)——预测每个锚框的客观性得分。

  • 锚盒偏移量-细化锚盒位置

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

该图显示了特征图中每个位置的预定义锚框(虚线)以及应用偏移量后的细化位置。与类匹配的方框是彩色的。

转移学习

通过迁移学习,您可以使用预先训练好的CNN作为YOLO v2检测网络中的特征提取器。使用yolov2Layers例如,函数可以从任何预训练的CNN创建YOLO v2检测网络MobileNet v2.有关预训练cnn的列表,请参见预训练的深度神经网络(深度学习工具箱)

您还可以基于预先训练的图像分类CNN设计一个自定义模型。详情请参见设计一个YOLO v2检测网络

设计一个YOLO v2检测网络

您可以一层一层地设计自定义YOLO v2模型。该模型从一个特征提取器网络开始,可以从预先训练好的CNN进行初始化,也可以从头开始训练。检测子网包含一系列Conv批处理规范,线性整流函数(Rectified Linear Unit)层,然后是转换层和输出层,yolov2TransformLayer而且yolov2OutputLayer对象,分别。yolov2TransformLayer将原始CNN输出转换为产生对象检测所需的形式。yolov2OutputLayer定义锚框参数并实现用于训练检测器的损失函数。

你也可以使用深度网络设计器(深度学习工具箱)应用程序手动创建网络。设计器集成了计算机视觉工具箱™YOLO v2功能。

设计一个带有重组层的YOLO v2检测网络

重组层(使用spaceToDepthLayer对象创建的深度连接层depthConcatenationLayer(深度学习工具箱)对象)用于组合低级和高级特性。这些层通过添加低级图像信息和提高较小物体的检测精度来改进检测。通常,重组层附加到特征提取网络中输出特征映射大于特征提取层输出的层。

提示

有关如何创建这种网络的详细信息,请参见创建YOLO v2对象检测网络

用YOLO v2模型训练对象检测器和检测对象

要了解如何通过使用带有CNN的YOLO深度学习技术来训练对象检测器,请参阅使用YOLO v2深度学习的目标检测的例子。

代码生成

学习如何生成CUDA®代码使用YOLO v2对象检测器(使用yolov2ObjectDetector对象)看到使用YOLO v2进行目标检测的代码生成

标记深度学习的训练数据

您可以使用图片标志贴标签机视频,或地面真相标签(自动驾驶工具箱)应用程序交互标记像素和输出标签数据进行训练。这些应用程序还可以用于标记矩形感兴趣区域(ROIs),用于对象检测,用于图像分类的场景标签,以及用于语义分割的像素。要从导出的任何标签器地面真实值对象创建训练数据,可以使用objectDetectorTrainingDatapixelLabelTrainingData功能。详情请参见目标检测和语义分割的训练数据

参考文献

雷蒙,约瑟夫和阿里·法哈蒂。“YOLO9000:更好、更快、更强。”在2017 IEEE计算机视觉与模式识别大会, 6517 - 25所示。檀香山,HI: IEEE, 2017。https://doi.org/10.1109/CVPR.2017.690。

雷德蒙、约瑟夫、桑托斯·迪夫瓦拉、罗斯·格什克和阿里·法哈蒂。“你只需要看一次:统一的、实时的物体检测。”计算机视觉与模式识别(CVPR)会议论文集,779-788.拉斯维加斯,内华达州:CVPR, 2016。

另请参阅

应用程序

对象

功能

相关的例子

更多关于