目标检测是一种计算机视觉方法,用于定位图像或视频中的目标实例。目标检测算法通常利用机器学习或深度学习来生成有意义的结果。当人类观看图像或视频时,我们可以在瞬间识别并定位感兴趣的目标。目标检测旨在使用计算机实现这种智能。
为什么目标检测如此重要
目标检测是高级驾驶辅助系统 (ADAS) 中使用的一项关键技术,它使汽车能够检测车道和行人以提高道路安全性。在视觉检查、机器人、医学成像、视频监控和基于内容的图像检索等应用中,目标检测也是必不可少的组成部分。
目标检测的工作原理
使用深度学习进行目标检测
您可以使用各种方法来执行目标检测。常见的使用卷积神经网络 (CNN)(如 YOLO、SSD 或 R-CNN)的基于深度学习的方法会自动学习检测图像中的目标。
您可以从两种主要方法中进行选择,以入门使用深度学习进行目标检测:
- 使用预训练的目标检测器。多个深度学习目标检测器基于大型数据集训练,可以检测常见目标,如人、车辆或图像文本,而无需进一步训练。
- 创建并训练自定义目标检测器。要根据您的特定需求量身定制目标检测器,您可以使用迁移学习。这种方法使您能够以预训练网络为基础,并针对您的应用进一步细化。与从头开始训练相比,这种方法可以更快地提供结果,因为目标检测器已经基于数千甚至数百万个图像进行训练。
无论您是使用预训练的目标检测器还是创建自定义的目标检测器,都需要决定您更喜欢哪种类型的目标检测网络。
使用机器学习进行目标检测
机器学习方法也常用于目标检测,它们提供不同于深度学习的方法。常见的机器学习方法包括:
- 聚合通道特征 (ACF)
- 使用有向梯度直方图 (HOG) 特征的支持向量机 (SVM) 分类
- 用于人脸或上身检测的 Viola-Jones 算法
与基于深度学习的方法一样,您可以选择从预训练的目标检测器开始,或创建自定义的目标检测器来适应您的应用。与基于深度学习的工作流中的自动特征选择相比,使用机器学习时,您需要手动选择目标的识别特征。
用于目标检测的机器学习与深度学习之比较
目标检测的最佳方法取决于您的应用和尝试解决的问题。在机器学习和深度学习之间进行选择时,想想您是否有功能强大的 GPU 和大量标注训练图像。如果您没有同时具备这两者,则机器学习方法可能是更好的选择。当您有更多图像时,深度学习方法往往更适用,GPU 则有助于减少训练模型所需的时间。
其他目标检测方法
使用 MATLAB 进行目标检测
只需几行 MATLAB® 代码,您就可以无需成为专家即可构建用于目标检测的机器学习模型和深度学习模型。
用 App 自动标注训练图像
以交互方式创建目标检测算法并在框架间互操作
自定义一个现有 CNN 或者从头开始创建一个 CNN 可能容易出现架构问题,从而浪费宝贵的训练时间。深度网络设计器不仅使您能够以交互方式构建、编辑和可视化深度学习网络,还提供分析工具以用于在训练网络之前检查架构问题。
借助 MATLAB,您可以使用 ONNX™ (Open Neural Network Exchange) 的导入与导出功能通过 TensorFlow™-Keras、PyTorch® 和 Caffe2 等框架与网络和网络架构进行互操作。
为部署自动生成优化的代码
在使用 MATLAB 创建算法后,您可以利用自动化工作流,通过 GPU Coder™ 生成 TensorRT 或 CUDA® 代码以执行硬件在环测试。生成的代码可与现有工程集成,以及用于在桌面 GPU 或嵌入式 GPU(如 NVIDIA® Jetson™ 或 NVIDIA Drive 平台)上验证目标检测算法。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)