训练一个更快的R-CNN深度学习对象检测器
使用深度学习训练更快的R-CNN(卷积神经网络区域)目标检测器。你可以训练一个更快的R-CNN检测器来检测多个对象类。训练有弦
= trainfasterrcnnobjectdetector(trainingData
,网络
,选项
)
此功能要求您拥有深度学习工具箱™。建议您也有并行计算工具箱™与CUDA一起使用®使英伟达®GPU。有关支持的计算能力的信息,请参见万博1manbetxGPU支万博1manbetx持情况(并行计算工具箱).
从探测器检查点恢复培训。训练有弦
= trainfasterrcnnobjectdetector(trainingData
,检查点
,选项
)
继续训练一个更快的R-CNN对象检测器,带有额外的微调选项。将此语法与额外的训练数据一起使用,或执行更多的训练迭代,以提高检测器的准确性。训练有弦
= trainfasterrcnnobjectdetector(trainingData
,探测器
,选项
)
为了加快训练数据的预处理,trainFastRCNNObjectDetector
基于并行首选项设置自动创建和使用并行池。有关设置这些首选项的详细信息,请参见平行的偏好设置.使用并行计算首选项需要并行计算工具箱。
VGG-16、VGG-19、ResNet-101和Inception-ResNet-v2是大型模型。使用大图像进行训练会产生“内存不足”的错误。为了减少这些错误,尝试以下一个或多个选项:
通过使用“SmallestimageMention.
”的论点。
减少'的价值NumRegionsToSample
“名称-值参数。
此功能支持转移学习。万博1manbetx输入时网络
按名称,如'resnet50'
,然后自动将网络转换为基于预训练的Faster R-CNN网络模型resnet50
(深度学习工具箱)模型。或者,通过使用使用方法手动指定自定义R-CNN网络LayerGraph
(深度学习工具箱)从预先训练的DAG网络中提取的。有关详细信息,请参见创建更快的R-CNN对象检测网络.
该表描述了如何将每个命名的网络转换为一个更快的R-CNN网络。特征提取层名称指定了ROI池层要处理的层。ROI输出大小指定了ROI池化层输出的特征映射的大小。
网络名称 | 特征提取层名称 | ROI池汇集层输出 | 描述 |
---|---|---|---|
alexnet (深度学习工具箱) |
“relu5” |
[6 6] | 最后的最大池层由ROI MAX池层替换 |
vgg16 (深度学习工具箱) |
“relu5_3” |
7 [7] | |
vgg19 (深度学习工具箱) |
“relu5_4” |
||
squeezenet (深度学习工具箱) |
“fire5-concat” |
(14日14) | |
resnet18 (深度学习工具箱) |
'res4b_relu' |
在特征提取层之后插入感兴趣区域池化层。 | |
resnet50 (深度学习工具箱) |
'activation_40_relu' |
||
Resnet101. (深度学习工具箱) |
'res4b222_relu' |
||
googlenet (深度学习工具箱) |
“inception_4d-output” |
||
mobilenetv2 (深度学习工具箱) |
“block_13_expand_relu” |
||
inceptionv3 (深度学习工具箱) |
'混合7' |
17 [17] | |
inceptionresnetv2 (深度学习工具箱) |
“block17_20_ac” |
有关如何修改网络转换为更快的R-CNN网络的信息,请参见设计一个R-CNN,快速的R-CNN,和一个更快的R-CNN模型.
在训练期间,从训练图像处理多个图像区域,每个图像的图像区域的数量由NumRegionsToSample
财产。的积极的宽容
和NegativeOverlapRange
属性控制哪些图像区域用于训练。正训练样本是那些与地面真值框重叠0.6到1.0的样本,通过边界框的相交-联合度量(IoU)来度量。负训练样本是那些重叠为0到0.3的样本。通过在验证集中测试训练过的检测器来选择这些属性的值。
重叠值 | 描述 |
---|---|
积极的宽容 设置(0.6 - 1) |
正训练样本设置为与地面真值框重叠0.6到1.0的样本,由边界框IoU度量度量。 |
NegativeOverlapRange 设置0.3 [0] |
将负训练样本设置为与ground truth box重叠的样本值为0到0.3。 |
如果你设置了积极的宽容
来(0.6 - 1)
然后,该功能将正面训练样本设置为与地面真相框重叠的样本0.6到1.0,由边界框IOU度量测量。如果你设置了NegativeOverlapRange
来0.3 [0]
,则函数将负训练样本设置为与ground truth box重叠的样本值为0 ~ 0.3。
使用培训选项
(深度学习工具箱)函数来启用或禁用详细打印。
[1]任,S.,K。他,R.Girschick和J. Sun.“更快的R-CNN:通过区域提案网络实时对象检测。”神经信息处理系统研究进展.28日,2015卷。
[2] Girshick, R。“快速R-CNN。”IEEE计算机视觉国际会议论文集, 1440 - 1448。智利圣地亚哥:IEEE, 2015。
R.格希克、J.多纳休、T.达雷尔和J.马利克。精确目标检测和语义分割的丰富特征层次2014 IEEE计算机视觉与模式识别会议论文集,580-587。哥伦布,哦:IEEE,2014。
C. L.齐特尼克和P. Dollar。"边缘框:从边缘定位对象"计算机Vision-ECCV 2014, 391 - 405。瑞士苏黎世:ECCV, 2014。
estimateAnchorBoxes
|Fasterrcnlayers.
|objectDetectorTrainingData
|trainFastRCNNObjectDetector
|trainRCNNObjectDetector
|培训选项
(深度学习工具箱)boxLabelDatastore
|fasterRCNNObjectDetector
|averagePooling2dLayer
(深度学习工具箱)|层
(深度学习工具箱)|分层图
(深度学习工具箱)|maxPooling2dLayer
(深度学习工具箱)|SeriesNetwork
(深度学习工具箱)