论文部分内容阅读
近十年来,深度学习在理论和工程上都取得了显著的成果,如图像识别、目标检测、自然语言处理等。而在深度学习应用到目标检测之前,传统目标检测的特征提取部分需要人工设计特征,但在面临目标特征多样繁杂的场景时,人工设计特征的难度会变得很大。基于深度学习的目标检测则不需要人工设计特征,而是通过卷积神经网络学习特征。它从基于区域提名的R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN到端到端的YOLO、SSD,识别精度和识别速率都已经远远超过传统目标检测方法。如今已应用在无人驾驶、车辆检测和行人检测等领域。目前,大多数基于深度学习的目标检测模型由于体积太大,无法在嵌入式计算平台上直接实现前向推理,并且通常的工作模式是“嵌入式计算平台-云计算-嵌入式计算平台”,即先在嵌入式计算平台上采集需要检测的图像或视频;然后通过网络传送到云端服务器,利用基于深度学习的目标检测模型对图像或视频进行检测;最后检测结果被传输回嵌入式计算平台。这种工作模式不仅会导致整体对网络的依赖过大,而且会造成结果显示的延时。针对这一问题,本文对基于深度学习的目标检测优化算法进行研究。本文主要研究内容为轻量级网络的构建、模型剪枝的应用和模型的汇编优化。首先,选择合适的轻量级神经网络,并结合目标检测算法构建网络,利用自己的数据训练出一个体积小、精度高的目标检测模型;然后对训练出的模型进行模型剪枝,在缩短前向推理时间的同时,尽量保持准确率不变;最后将剪枝后的目标检测模型移植到嵌入式计算平台上,结合卷积实现算法和NEON技术实现前向推理加速。本文根据以上基于深度学习的目标检测优化方法设计并实现了一个基于嵌入式计算平台——树莓派的目标检测推理系统。首先利用嵌入式计算平台——树莓派采集数据,然后在PC端上完成数据标注、模型训练以及模型剪枝,最后将模型移植到嵌入式计算平台——树莓派上,通过汇编优化提高目标检测推理系统的性能。最后通过测试,证明本系统达到了直接在嵌入式计算平台上进行目标检测的预期目标。