论文部分内容阅读
近些年来,随着计算能力的大幅提升,深度学习网络得以快速的发展,已经被广泛应用于语音识别、计算机视觉、自然语言处理等研究。为了提取更加有效的特征,深度学习网络的层数增长较快,并且具有计算量大、参数多的特点,需要高性能的GPU等设备为其提供算力的支持。另一方面,随着无人机、机器人、智能手机等嵌入式或移动设备的快速发展,在这些设备上部署深度学习网络的需求也变得更加强烈。然而这些实时应用平台上的资源(例如存储、计算以及电池功率等)都非常有限,因此在这些平台上加速与优化深度学习网络变成了学术界和工业界共同关注的研究课题。基于此,越来越多的网络加速与优化算法被提出,但是目前这些算法基本都是针对图像分类网络,与目标检测任务相结合,并且在同一任务中使用多种优化方法的深度学习模型相对较少,这也是本文的研究重点。本文首先介绍了深度学习网络加速与优化的研究背景与发展趋势,对当前所存在的主要模型加速与优化算法进行了全面的总结与阐述。接着针对目标设备嵌入式GPU平台Jetson TX2,主要完成了以下两点工作:第一,对于经典的目标检测任务PASCAL VOC,本文比较了目前流行的基于深度学习的目标检测算法的Roofline模型的测试结果,同时在Jetson TX2上进行了实际的部署与验证。综合考虑不同算法的精度、效率与模型大小,最终用深度可分离卷积的方法来重新设计一种高效的目标检测网络。与YOLOv2相比,新网络的检测准确率下降5%,但是检测速度提升了150%,并且模型的大小压缩了80%。接着在已有的新检测网络的基础上采用滤波器级的剪枝方法对模型进行进一步的压缩与加速,最终使得网络的检测速度又提升了20%,同时存储空间下降了约55%。第二,本文以真实监控摄像头下的微小人脸检测为背景,选择S~3FD为基础检测算法并对其进行优化。优化的一方面是基于CUDA添加S~3FD缺失的网络层,并对其计算图进行优化,使得在Jetson TX2平台上每帧的检测时间由0.69s提升到0.45s。另一方面是使用INT8及FP16数据类型进行网络的量化加速,经过校准等一系列操作后,可以使得每帧的检测时间提升为0.27s(FP16)和0.14s(INT8)。最后基于优化后的检测网络搭建微小人脸自动检测系统,实现了在PC端(GTX 1080Ti)四路实时的效果。