主要内容

开始使用深度学习的对象检测

利用深度学习进行目标检测是一种快速、准确地预测目标在图像中的位置的方法。深度学习是一种强大的机器学习技术,目标检测器自动学习检测任务所需的图像特征。有几种使用深度学习的对象检测技术,如Faster R-CNN、you only look once (YOLO) v2、YOLO v3和single shot detection (SSD)。

用于对象检测的应用包括:

  • 图像分类

  • 现场了解

  • 无人驾驶车辆

  • 监测

为目标检测创建训练数据

使用标签应用程序交互式地标签地面真相数据在视频,图像序列,图像收集,或自定义数据源。您可以使用矩形标签标记物体检测地面真相,它定义了物体在图像中的位置和大小。

增加和预处理数据

使用数据增强提供了一种使用有限数据集进行训练的方法。微小的更改,如平移、裁剪或转换图像,可以提供新的、清晰的和独特的图像,您可以使用这些图像来训练健壮的检测器。数据存储是读取和扩充数据集合的一种方便的方法。使用imageDatastoreboxLabelDatastore为图像和带标签的边界框数据创建数据存储。

有关使用数据存储增加培训数据的详细信息,请参见用于深度学习的数据存储(深度学习工具箱),使用内置数据存储执行额外的图像处理操作(深度学习工具箱)

创建对象检测网络

每个对象检测器都包含一个独特的网络结构。例如,Faster R-CNN检测器使用两级网络进行检测,而YOLO v2检测器使用单级。使用函数如fasterRCNNLayersyolov2Layers创建一个网络。控件也可以一层一层地设计网络深层网络设计师(深度学习工具箱)

列车检测器和评估结果

使用trainFasterRCNNObjectDetectortrainYOLOv2ObjectDetectortrainSSDObjectDetector用于训练目标检测器的函数。使用evaluateDetectionMissRateevaluateDetectionPrecision评估培训结果的功能。

使用深度学习检测器检测对象

使用训练过的检测器检测图像中的目标。例如,下面显示的部分代码使用训练过的探测器在一个图像.使用检测目标函数在fasterRCNNObjectDetectoryolov2ObjectDetectoryolov3ObjectDetector,或ssdObjectDetector对象返回边界框、检测分数和分配给边界框的分类标签。

我= imread (input_image) [bboxes,scores,labels] =检测(检测器,I)

使用预先训练的目标检测模型检测目标

MathWorks®GitHub知识库提供了最新的预训练目标检测深度学习网络的实现,可下载并用于执行开箱即用的推理。预先训练的目标检测网络已经在标准数据集上进行训练,如COCO和Pascal VOC数据集。你可以直接使用这些预先训练好的模型来检测测试图像中的不同物体。

例如:

有关所有最新的MathWorks预训练模型和示例的列表,请参见MATLAB深度学习(GitHub)

另请参阅

应用程序

相关的话题