训练一个更快的R-CNN深度学习对象检测器
使用深度学习训练一个更快的R-CNN(卷积神经网络区域)目标检测器。您可以训练一个Faster R-CNN检测器来检测多个对象类。trainedDetector
= trainFasterRCNNObjectDetector (trainingData
,网络
,选项
)
此功能要求您拥有深度学习工具箱™。建议您还使用并行计算工具箱™与CUDA一起使用®使英伟达®GPU。有关受支持的计算功能的信息,请参见金宝appGPU支金宝app持版本(并行计算工具箱).
[
还返回关于每个迭代的训练进度的信息,例如训练损失和准确性。trainedDetector
,信息
= trainfastrcnnobjectdetector (___)
从探测器检查点恢复训练。trainedDetector
= trainFasterRCNNObjectDetector (trainingData
,检查点
,选项
)
继续训练一个具有额外微调选项的更快R-CNN对象检测器。将此语法与其他训练数据一起使用,或执行更多的训练迭代,以提高检测器的准确性。trainedDetector
= trainFasterRCNNObjectDetector (trainingData
,探测器
,选项
)
使用一个或多个指定的其他选项trainedDetector
= trainFasterRCNNObjectDetector (___,名称,值
)名称,值
对参数和任何先前的输入。
为了加速训练的数据预处理,trainFastRCNNObjectDetector
根据并行首选项设置自动创建和使用并行池。有关设置这些首选项的详细信息,请参见并行偏好设置.使用并行计算首选项需要“并行计算工具箱”。
VGG-16、VGG-19、ResNet-101和Inception-ResNet-v2是大型号。使用大图像进行训练可能会产生“内存不足”错误。要减轻这些错误,请尝试以下一个或多个选项:
使用'缩小图像大小'SmallestImageDimension
”的论点。
减少'的值NumRegionsToSample
的名称-值参数。
该函数支持迁移学习。金宝app当你输入网络
按姓名,如“resnet50”
,则该函数自动将网络转换为基于预训练的有效Faster R-CNN网络模型resnet50
(深度学习工具箱)模型。方法手动指定自定义的Faster R-CNN网络LayerGraph
(深度学习工具箱)从预训练的DAG网络中提取。详情请参见创建更快的R-CNN对象检测网络.
该表描述了如何将每个已命名网络转换为Faster R-CNN网络。特征提取层名称指定ROI池化层处理的层。ROI输出大小指定ROI池化层输出的特征映射的大小。
网络名称 | 特征提取层名称 | ROI池化层OutputSize | 描述 |
---|---|---|---|
alexnet (深度学习工具箱) |
“relu5” |
(6 - 6) | 最后一个最大池化层被ROI最大池化层取代 |
vgg16 (深度学习工具箱) |
“relu5_3” |
7 [7] | |
vgg19 (深度学习工具箱) |
“relu5_4” |
||
squeezenet (深度学习工具箱) |
“fire5-concat” |
(14日14) | |
resnet18 (深度学习工具箱) |
“res4b_relu” |
在特征提取层之后插入ROI池化层。 | |
resnet50 (深度学习工具箱) |
“activation_40_relu” |
||
resnet101 (深度学习工具箱) |
“res4b22_relu” |
||
googlenet (深度学习工具箱) |
“inception_4d-output” |
||
mobilenetv2 (深度学习工具箱) |
“block_13_expand_relu” |
||
inceptionv3 (深度学习工具箱) |
“mixed7” |
17 [17] | |
inceptionresnetv2 (深度学习工具箱) |
“block17_20_ac” |
有关如何修改网络转换为Faster R-CNN网络的信息,请参见设计一个R-CNN,快速R-CNN和一个更快R-CNN模型.
在训练过程中,从训练图像中处理多个图像区域,每个图像的图像区域数量由NumRegionsToSample
财产。的PositiveOverlapRange
而且NegativeOverlapRange
属性控制用于训练的图像区域。积极训练样本是那些与地面真理盒重叠0.6到1.0的样本,由边界盒相交-联合度量(IoU)衡量。负训练样本是那些重叠0到0.3的样本。通过在验证集上测试训练好的检测器来选择这些属性的值。
重叠值 | 描述 |
---|---|
PositiveOverlapRange 设置为(0.6 - 1) |
正面训练样本被设置为与地面真相盒重叠0.6到1.0的样本,由包围盒IoU度量来衡量。 |
NegativeOverlapRange 设置为0.3 [0] |
负训练样本设置为与ground truth box重叠0 ~ 0.3的样本。 |
如果你设置PositiveOverlapRange
来(0.6 - 1)
,则函数将正训练样本设置为与地面真值盒重叠0.6 ~ 1.0的样本,由包围盒IoU度量度量。如果你设置NegativeOverlapRange
来0.3 [0]
,则函数将负训练样本设置为与ground truth box重叠的样本0 ~ 0.3。
使用trainingOptions
(深度学习工具箱)函数启用或禁用详细打印。
[1]任,S., K. He, R. Girschick和J. Sun。更快的R-CNN:使用区域提议网络实现实时目标检测神经信息处理系统研究进展.2015年第28卷。
[2]格什克,R。“快速R-CNN。”IEEE计算机视觉国际会议论文集, 1440 - 1448。圣地亚哥,智利:IEEE, 2015。
格什克,R.多纳休,T.达雷尔和J.马利克。“用于精确目标检测和语义分割的丰富特征层次。”2014年IEEE计算机视觉与模式识别会议论文集, 580 - 587。哥伦布,OH: IEEE, 2014。
齐特尼克,c.l., P. Dollar。边框:从边定位对象建议。计算机视觉- eccv 2014, 391 - 405。苏黎世,瑞士:ECCV, 2014。
estimateAnchorBoxes
|fasterRCNNLayers
|objectDetectorTrainingData
|trainFastRCNNObjectDetector
|trainRCNNObjectDetector
|trainingOptions
(深度学习工具箱)boxLabelDatastore
|fasterRCNNObjectDetector
|averagePooling2dLayer
(深度学习工具箱)|层
(深度学习工具箱)|layerGraph
(深度学习工具箱)|maxPooling2dLayer
(深度学习工具箱)|SeriesNetwork
(深度学习工具箱)