主要内容

根据训练数据估计锚盒

锚盒是深度学习对象检测器的重要参数,如Faster R-CNN和YOLO v2。锚盒的形状、规模和数量影响着探测器的效率和准确性。

有关更多信息,请参见用于对象检测的锚盒

负荷训练数据

加载车辆数据集,其中包含295张图片和相关的盒子标签。

data =负载(“vehicleTrainingData.mat”);vehicleDataset = data.vehicleTrainingData;

将完整路径添加到本地车辆数据文件夹中。

dataDir = fullfile (toolboxdir (“愿景”),“visiondata”);vehicleDataset。imageFilename = fullfile (dataDir vehicleDataset.imageFilename);

显示数据集摘要。

总结(vehicleDataset)
变量:imageFilename: 295×1 cell数组的字符向量车辆:295×1 cell

可视化地面真理盒分布

可视化标记框,以便更好地理解数据集中显示的对象大小范围。

将所有的地面真值框合并到一个数组中。

allBoxes = vertcat (vehicleDataset.vehicle {:});

绘制盒子面积和盒子长宽比。

aspectRatio = allBoxes(:,3) ./ allBoxes(:,4);面积= prod (allBoxes (:, 3:4), 2);图散射(区域,aspectRatio)包含(“箱区”) ylabel (”“纵横比(宽/高));标题(“盒子面积与纵横比”

图中显示了几组大小和形状相似的对象,然而,由于这些组是分散的,手动选择锚盒是困难的。估计锚框的更好方法是使用聚类算法,该算法可以使用有意义的指标将类似的框分组在一起。

估计锚箱

估计锚盒从训练数据使用estimateAnchorBoxes函数,该函数使用IoU距离度量。

基于IoU的距离度量不受盒子大小的影响,不像欧几里得距离度量,当盒子大小增加[1]时,欧几里得距离度量会产生更大的误差。此外,使用IoU距离度量可以将长宽比和大小相似的框聚在一起,从而得到适合数据的锚框估计值。

创建一个boxLabelDatastore使用车辆数据集中的地面真值箱。如果训练目标检测器的预处理步骤涉及调整图像的大小,请使用变换bboxresize控件中的边框大小boxLabelDatastore在估计锚盒之前。

trainingData = boxLabelDatastore (vehicleDataset(:, 2:结束));

选择锚的数量和估计锚盒使用estimateAnchorBoxes函数。

numAnchors =5;[anchorBoxes, meanIoU] = estimateAnchorBoxes (trainingData numAnchors);anchorBoxes
anchorBoxes =5×221 27 87 116 67 92 43 61 86 105

选择锚的数量是另一个训练超参数,需要使用经验分析仔细选择。判断估计锚盒的一个质量度量是每个聚类中锚盒的平均IoU。的estimateAnchorBoxes函数使用一个k-表示使用IoU距离度量来计算重叠的聚类算法,1 -bboxOverlapRatio(allBoxes boxInCluster)

meanIoU
meanIoU = 0.8411

IoU的平均值大于0.5保证了锚框与训练数据中的框很好地重叠。增加锚的数量可以改善平均欠条的措施。然而,在目标检测器中使用更多锚盒也会增加计算成本,导致过拟合,导致检测器性能较差。

浏览一系列值并绘制平均IoU与锚框数量的对比图,以衡量锚框数量与平均IoU之间的权衡。

maxNumAnchors = 15;meanIoU = 0 ([maxNumAnchors, 1]);主播= cell(maxNumAnchors, 1);k = 1: maxNumAnchors估计锚和平均欠条。[anchorBoxes {k}, meanIoU (k)] = estimateAnchorBoxes (trainingData k);结束图的阴谋(1:maxNumAnchors meanIoU,“o”) ylabel (“意思是借据”)包含(“锚”)标题(“锚点数目与平均欠条数目”

使用两个锚箱会导致平均IoU值大于0.65,而使用超过7个锚箱只会对平均IoU值产生边际改善。考虑到这些结果,下一步是使用2到6之间的值来训练和评估多个目标探测器。这种经验分析有助于确定满足应用程序性能需求(如检测速度或准确性)所需的锚盒数量。

参考文献

雷德蒙,约瑟夫和阿里·法哈迪。“YOLO9000:更好、更快、更强。”《IEEE计算机视觉与模式识别会议论文集》,第7263-7271页。2017.

雷蒙德,约瑟夫和阿里·法哈迪。“YOLO9000:更好、更快、更强。”在2017 IEEE计算机视觉与模式识别大会(CVPR), 6517 - 25所示。火奴鲁鲁,HI: IEEE, 2017。https://doi.org/10.1109/CVPR.2017.690。