Deep Learning Object Detector
库:
Computer Vision Toolbox /
Analysis & Enhancement
描述
Deep Learning Object Detector 模块使用通过模块参数指定的经过训练的目标检测器来预测输入图像的边界框、类标签和分数。此模块允许从 MAT 文件或使用 MATLAB® 函数将预训练目标检测器加载到 Simulink® 模型中。此模块为使用 Simulink 中的检测器对象提供图形界面。要启用 Deep Learning Object Detector 模块的某些参数,您必须选择支持这些参数的目标检测器。例如,将 yolov2ObjectDetector 对象与此模块结合使用,您可以选择与关联的 detect 对象函数的名称-值参量类似的参数。
示例
Lane and Vehicle Detection in Simulink Using Deep Learning
Use deep convolutional neural networks inside a Simulink® model to perform lane and vehicle detection. This example takes the frames from a traffic video as an input, outputs two lane boundaries that correspond to the left and right lanes of the ego vehicle, and detects vehicles in the frame.
(Deep Learning Toolbox)
端口
输入
H×W×C 数值数组,其中 H、W 和 C 分别是图像的高度、宽度和通道数。每个时间步只允许使用一个图像作为输入。
输出
在输入图像中检测到的目标的位置,以 M×4 或 M×5 矩阵形式返回。M 是在图像中检测到的边界框的数量。您可以通过指定最大检测次数参数来设置 M 大小的上界。
下表描述边界框的格式。
| 边界框 | Description |
|---|---|
与轴对齐的矩形 | 在空间坐标中定义为 M×4 数值矩阵,其行的形式为 [x y w h],其中:
|
旋转矩形 | 在空间坐标中定义为 M×5 数值矩阵,其行的形式为 [xctr yctr w h yaw],其中:
|
有关详细信息,请参阅Datastores for Deep Learning (Deep Learning Toolbox)。
边界框的标签,以 M×1 枚举向量形式返回。M 是在图像中检测到的边界框的数量。
每个标签的检测置信度分数,以 M×1 向量形式返回。M 是在图像中检测到的边界框的数量。分数越高,表示检测的置信度越高。
参数
从以下选项中选择检测器对象的源:
来自 MAT 文件的检测器 - 从 MAT 文件中导入检测器对象。例如,选择一个包含
yolov2ObjectDetector对象的 MAT 文件。来自 MATLAB 函数的检测器 - 从 MATLAB 函数中导入检测器对象。例如,指定函数
vehicleDetectorYOLOv2,该函数返回一个经过训练的yolov2ObjectDetector对象。
导入的检测器必须为以下受支持的对象之一:
rcnnObjectDetectorfastRCNNObjectDetectorfasterRCNNObjectDetectorrtmdetObjectDetectorssdObjectDetectoryolov2ObjectDetectoryolov3ObjectDetectoryolov4ObjectDetectoryoloxObjectDetector
编程用法
模块参数:Detector |
| 类型:字符向量、字符串 |
值:Detector from MAT file' | 'Detector from MATLAB function' |
默认值:Detector from MAT file' |
此参数指定包含要加载的检测器对象的 MAT 文件的名称。如果该文件不在 MATLAB 路径中,请使用浏览按钮找到该文件。
依赖关系
要启用此参数,请将检测器参数设置为来自 MAT 文件的检测器。
编程用法
模块参数:DetectorFilePath |
| 类型:字符向量、字符串 |
| 值:MAT 文件路径或名称 |
默认值: 'untitled.mat'
|
此参数指定返回经过训练的目标检测器的 MATLAB 函数的名称。例如,指定函数 vehicleDetectorYOLOv2(它返回经过训练的 yolov2ObjectDetector 对象),或指定自定义函数。
依赖关系
要启用此参数,请将检测器参数设置为来自 MATLAB 函数的检测器。
编程用法
模块参数:DetectorFunction |
| 类型:字符向量、字符串 |
| 值:MATLAB 函数名称 |
默认值:'untitled' |
将感兴趣的搜索区域指定为 [x y width height] 形式的向量。该向量指定区域的左上角和大小(以像素为单位)。
依赖关系
要启用此参数,请选择指定感兴趣区域参数。
编程用法
模块参数:ROI |
| 类型:字符向量、字符串 |
值:指定为 '[x y width height]' 的字符向量 |
默认值:'[1 1 100 100]' |
将检测阈值指定为 [0, 1] 范围内的标量。分数低于此阈值的检测将被删除。要减少误报,请增大此值。
依赖关系
要启用此参数,您必须使用支持检测阈值参数的检测器。例如,使用 yolov2ObjectDetector 对象。
编程用法
模块参数:Threshold |
| 类型:字符向量、字符串 |
| 值:标量 |
默认值:'0.5' |
将最强区域提议的最大数量指定为整数。减小此值可以加快处理速度,但会降低检测准确度。要使用所有区域提议,请将此参数指定为 Inf。
依赖关系
要启用此参数,请使用支持最强区域的数量参数的检测器。例如,使用 rcnnObjectDetector 对象。
编程用法
模块参数:NumStrongestRegions |
| 类型:字符向量、字符串 |
| 值:整数 |
默认值:'2000' |
将最大区域大小指定为 [height width] 形式的向量。单位为像素。最大区域大小定义包含该对象的最大区域的大小。例如,[50 50] 将包含该对象的最大区域的大小设置为 50×50 像素。要减少计算时间,请将此值设置为在输入测试图像中可检测到该对象的已知最大区域大小。
依赖关系
启用以下参数
选择指定最大区域大小参数。
使用支持最大区域大小参数的检测器。例如,使用
yolov2ObjectDetector对象。
编程用法
模块参数:MaxSize |
| 类型:字符向量、字符串 |
值:指定为 '[height width]' 的字符向量 |
默认值:'[50 50]' |
将最小区域大小指定为 [height width] 形式的向量。单位为像素。最小区域大小定义包含该对象的最小区域的大小。例如,[1 1] 将包含该对象的最小区域的大小设置为 1×1 像素。
依赖关系
启用以下参数
选择指定最小区域大小参数。
使用支持最小区域大小参数的检测器。例如,使用
yolov2ObjectDetector对象。
编程用法
模块参数:MinSize |
| 类型:字符向量、字符串 |
值:指定为 '[height width]' 的字符向量 |
默认值:'[1 1]' |
将最大检测次数指定为正整数。此值是检测次数的上界,必须大于或等于 2。
编程用法
模块参数:MaxDetections |
| 类型:字符向量、字符串 |
| 值:整数 |
默认值:'500' |
扩展功能
用法说明和限制:
配置参数 > 代码生成常规类别中的语言参数必须设置为 C++。
有关代码生成支持的网络和层的列表,请参阅代码生成支持的网络和层 (MATLAB Coder)。
要使用 YOLOv3、YOLOv4 或 RTMDet 作为目标检测器为深度神经网络 (MKL-DNN) 目标库的数学核心函数库生成代码,请将
MaxStackSize和TLCOptions模型参数设置为较高的值。例如,您可以使用以下语法将MaxStackSize和TLCOptions参数值设置为 'inf'。>> set_param(modelName,'MaxStackSize','inf') >> set_param(modelName,'TLCOptions','-aMaxStackVariableSize=inf')
用法说明和限制:
配置参数 > 代码生成常规类别中的语言参数必须设置为 C++。
有关 CUDA® 代码生成支持的网络和层的列表,请参阅Supported Networks, Layers, and Classes (GPU Coder)。
版本历史记录
在 R2021b 中推出从 R2024b 开始,Deep Learning Object Detector 模块支持目标检测的实时模型 (RTMDet)。您可以导入预训练的 RTMDet 目标检测器对象 rtmdetObjectDetector 来执行目标检测。
从 R2024b 开始,Deep Learning Object Detector 模块支持 You Only Look Once X (YOLOX) 目标检测。您可以导入预训练的 YOLOX 目标检测器对象 yoloxObjectDetector 来执行目标检测。
另请参阅
对象
rcnnObjectDetector|fastRCNNObjectDetector|fasterRCNNObjectDetector|ssdObjectDetector|yolov2ObjectDetector|yolov3ObjectDetector|yolov4ObjectDetector|yoloxObjectDetector
模块
- Image Classifier (Deep Learning Toolbox) | Predict (Deep Learning Toolbox)
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)

