论文部分内容阅读
目标检测是计算机视觉领域的核心和基础研究问题,在视频监控、生物医疗和自动驾驶等领域有着非常广泛的应用,相比较于传统的目标检测算法,基于深度学习的目标检测算法SSD(Single Shot MultiBox Detector)使得目标检测精度有了很大的提升,SSD采用VGG-16卷积神经网络提取特征,VGG-16权重参数多,计算量大,限制了SSD目标检测算法在智能手机、嵌入式设备等性能有限设备上的应用,本文研究目的是减少SSD算法模型的计算量,使其能够有更广泛的应用。(1)MobileNet是针对移动和嵌入式设备提出的轻量级卷积神经网络,压缩方法为计算MobileNet逐点卷积层过滤器的L1范数,移除L1范数最小的数个卷积过滤器,压缩效果为:MobileNet模型规模减少了18.6%,其Top-1和Top-5精度分别为65.2%和85.8%。(2)使用压缩后的MobileNet替换VGG-16作为SSD目标检测算法基础网络,并且在基础网络尾部添加八个卷积层,使用六个不同尺度的特征图进行卷积计算来检测目标,选取PASCAL VOC2007数据集对改进后的SSD目标检测模型进行训练和测试,实验的硬件环境为CPU i7 GPU GTX850M,软件环境为TensorFlow深度学习平台,改进后的SSD目标检测算法均值平均精度mAP为67.4%,目标检测平均时间为19.42ms,在相同的软硬件环境测试下,SSD原型目标平均检测时间为118.96ms,相比于SSD,改进后的SSD目标平均检测速度提升近6倍。(3)将训练完成的SSD目标检测算法模型移植到Android移动操作系统,编写目标检测Android应用程序,使用Android目标检测应用程序在硬件配置为CPU Hisilicon Kirin 950、运行内存4GB的手机设备上测试目标检测模型在手机设备上的运行效果,测试效果为:目标检测Android应用程序占用手机内存为110M~130M,占用CPU为25%~45%,目标检测时间为1s~3s。相比较于SSD目标检测算法,本文改进后的SSD目标检测算法,模型计算量少,能够在移动手机设备上流畅地运行,并且目标检测效果好,目标检测时间较短,具有实用性。