论文部分内容阅读
基于深度学习的目标检测是计算机视觉领域中炙手可热的研究方向,近几年不断涌现出优秀的算法,单发多框检测器(Single Shot multi-box Detector,SSD)便是其中之一。它兼具了很高的检测率和快速的检测速度。它利用特征金字塔,以及在对应每层上生成不同尺度、不同长宽比的候选区域的方法,实现了对多目标的高精度实时检测。输入图片的分辨率以及区域候选框的选取对网络检测准确率至关重要。但是,对于特定数据集来说,套用现有的SSD模型会导致区域候选框的选择存在冗余和偏差。另外原始的SSD网络模型只有两种输入分辨率,分别是300×300对应的模型是SSD300和512×512对应的模型是SSD512,所以任何图片输入进来都要被重新调整为这两个尺寸。但是,输入图片的分辨率可能是1200×400或者更高,如果将这样的图片缩放为512×512的分辨率,图片会失真导致检测精度较低。因此,根据数据集设计定制化的SSD网络是很有必要的。鉴于上述问题,本文提出了一种设计适合特定数据集的SSD模型的方法,该方法可以有效的提高对特定数据集的检测准确度。该方法在保持输入图片分辨率不变的情况下,选择合适的SSD网络结构,使用统计学习的方法分析了该数据集目标检测框的分布,依据该分布使用聚类的方法得到准确的区域候选框的尺寸和长宽比,并设计公式将其转化为SSD模型中相应的参数,从而得到了适合该数据集的SSD模型,本文称这种模型为P_SSD(Personal SSD)。另外,本文引入焦点损失(Focal Loss)函数,设计了新的损失函数,替换了 SSD模型的原始损失函数,从而更有效的解决了 SSD模型中存在的样本失衡的问题。本文首先在KITTI数据集上进行实验,分别使用SSD512和基于本文算法改进后的SSD模型对其进行训练和检测,实验结果显示使用本文算法改进后的网络模型基于KITTI数据集的检测mAP(mean average precision)相较于SSD512网络模型提高了 12%,证明了本文算法有效性。为了进一步验证我们算法的有效性,笔者通过行车记录仪采集行车视频,经过后期处理得到了行车数据集,将其命名为DROD(Driving Recorder Object Detection)数据集,然后在DROD数据集上同样使用SSD512和本文改进后的SSD模型进行了实验,检测结果显示mAP提高了 10%,再一次验证了本文针对SSD的改进算法的有效性。通过本文算法改进后的SSD网络可以成为一个通用的目标检测网络模型,可以适用任何分辨率的数据集比如2000×400,而且不用担心输入图片会被缩放失真的问题。