主要内容

选择一个对象检测器

计算机视觉工具箱™提供了用于查找和分类图像或视频中的对象的对象检测器。使用目标检测函数训练检测器,然后将其与机器学习和深度学习相结合,快速准确地预测图像中目标的位置。

当选择检测器时,考虑是否需要这些特性:

应用程序和性能

  • 单一vs多个类-多个类需要在图像或视频的多个位置和比例上使用不同的分类器。

  • 运行时性能——检测器的性能取决于它检测图像中的对象所花费的时间。针对单一类训练的检测器,或针对姿态和形状相似的对象训练的检测器,将比针对多个对象训练的深度学习检测器有更快的运行性能。更重要的是,深度学习速度较慢,因为它比机器学习或基于特征的检测方法需要更多的计算。

  • 机器学习-机器学习使用两种类型的技术:监督式学习,它根据已知的输入和输出数据训练一个模型,以便它能预测未来的输出无监督学习,它可以在输入数据中找到隐藏的模式或内在结构。有关详细信息,请参见MATLAB中的机器学习(统计学和机器学习工具箱)

  • 深度学习-通过算法、预训练模型和应用程序实现深度神经网络。可以使用卷积神经网络对图像进行分类和回归。有关详细信息,请参见开始使用深度学习的对象检测

部署

  • C/ c++代码生成—SSD, YOLO, ACF和基于系统对象的检测器支持金宝appMATLAB®编码器™C和c++代码生成各种硬件平台,从桌面系统到嵌入式硬件。有关详细信息,请参见MATLAB编码器.基于r - cnn的检测器不支持代码生成。金宝app

  • GPU代码生成-基于深度学习的检测器支持GPU代码生成与优化的CUDA金宝app®为嵌入式视觉和自主系统的GPU编码器™。有关详细信息,请参见GPU编码器

使用该表查看和比较对象检测器函数。

探测器 多个类的支持金宝app 深度学习的支持金宝app 代码生成的支持金宝app GPU的金宝app支持 例子 描述
fasterRCNNObjectDetector 是的 是的 没有 是的 使用更快的R-CNN深度学习进行目标检测

  • 需要GPU优化性能。

  • 当你需要更精确的对象定位精度时,可以使用这个检测器。

  • R-CNN家族的最佳性能,但比YOLO v2和SSD慢。

更快的R-CNN是一个两阶段网络。第二阶段改进了第一阶段产生的检测建议,这有助于以运行时性能为代价改进本地化。

R-CNN物体探测器的比较

fastRCNNObjectDetector 是的 是的 没有 是的 列车快速R-CNN停车标志检测器

  • 考虑从fasterRCNNObjectDetector

  • 需要GPU优化性能。

  • 如果您有自己的生成对象区域的方法,请使用此检测器。

  • 比R-CNN快,但比R-CNN慢。

R-CNN物体探测器的比较

rcnnObjectDetector 是的 是的 没有 是的 基于R-CNN深度学习的列车目标检测器

该算法结合了矩形区域的建议和卷积神经网络的特征。它是一个两阶段的检测算法。第一阶段识别图像中可能包含对象的区域子集。第二阶段对每个区域的对象进行分类。

R-CNN物体探测器的比较

yolov2ObjectDetector 是的 是的 是的 是的 使用YOLO v2进行对象检测

  • 考虑使用SSD或YOLO v3来提高不同尺寸的性能。

  • 需要GPU优化性能。

  • 当需要更好的运行时性能,并且对象的大小没有太大变化或在图像中很小时,可以使用此检测器。

  • 比更快的R-CNN更好的运行时性能。

YOLO v2使用单级网络来执行对象检测。

ssdObjectDetector 是的 是的 是的 是的 使用SSD深度学习的目标检测

  • 需要GPU优化性能。

  • 当您需要检测各种大小的对象,并且需要更好的运行时性能时,请使用此检测器。

  • 比更快的R-CNN和YOLO v2更好的运行时性能。

单镜头检测器(SSD)采用单级检测网络,利用多尺度特征检测目标。

acfObjectDetector 没有 没有 是的 没有 基于acf的列车停车标志检测器

  • 适用于单类对象检测的刚性对象检测器。

  • 如果您需要检测多个对象类,或者有属于同一类但处于不同配置或姿态的对象,请考虑使用深度学习对象检测器。

  • 当您想要检测的对象具有类似的姿态和形状,以及运行时性能非常关键时,请使用此检测器。

  • 优于基于深度学习的CPU检测器的运行时性能。

ACF很适用于一个类,可以很容易地分类,不管姿势。例如,它可以很好地检测一个人,谁可以识别多种姿势,如坐,站,或骑马。

ACF不能很好地从各种角度检测车辆,如前,侧,后方。

peopleDetectorACF 预先训练的 没有 是的 没有 从行驶中的汽车中追踪行人

使用这个预先训练过的探测器来探测直立的人。

愿景。PeopleDetector 预先训练的 没有 是的 没有 立体声视频深度估计 使用这个预先训练过的级联对象检测器来检测垂直定位的人。
愿景。CascadeObjectDetector 没有 没有 是的 没有 使用正面人脸分类模型检测图像中的人脸

  • Viola-Jones物体检测器适用于刚性物体检测。使用HAAR、HOG或LBP功能。

  • 如果训练一个新的检测器,考虑从ACF开始以获得更好的性能。

  • 当您感兴趣的对象类可以使用预先训练过的检测器,并且对象的姿势或形状没有什么变化时,请使用此检测器。

面具R-CNN 是的 是的 没有 是的 开始使用掩码R-CNN进行实例分割

当您需要分割单个对象时,请使用此检测器。

YOLO v3意思 是的 是的 是的 是的 使用YOLO v3深度学习的对象检测

YOLO v3是一个单级网络,使用多尺度特征,更好地处理不同大小的物体检测。

vehicleDetectorACF(自动驾驶工具箱) 预先训练的 没有 是的 没有 使用摄像头跟踪多辆车(自动驾驶工具箱) Pretrained ACF探测器
vehicleDetectorFasterRCNN(自动驾驶工具箱) 预先训练的 是的 没有 是的 训练一个深度学习车辆检测器(自动驾驶工具箱) 预先训练的更快的R-CNN检测器
vehicleDetectorYOLOv2(自动驾驶工具箱) 预先训练的 是的 是的 是的 使用单目摄像头和YOLO v2检测车辆(自动驾驶工具箱) 预先训练的YOLO v2检测器

另请参阅

应用程序

对象

功能

相关的话题