论文部分内容阅读
图像中的物体检测作为一种重要的控制功能,受到越来越多的关注,特别是机器人视觉领域。控制计算机可以是一块芯片,可以是移动GPU或者其他具有控制功能的设备。深度学习应用在图像分类和物体检测中能提供较高的准确性,但深度神经网络中权重数量较多,单次前向传播的计算较多、耗时较长,无法满足控制计算机实时控制的需求。因此必须找到有效的物体检测方法,能够满足实时控制的需求。 本文首先介绍了基于深度学习的物体检测算法,分析了部署在高集成度、低功耗计算机上的难点问题,阐述了基于深度学习的控制计算机物体检测算法加速的意义。 本文的研究内容为基于深度学习的控制计算机物体检测算法加速,分为两个部分,并取得了如下研究成果: 1.通过对一种物体检测方法的设计参数空间探索,提高了其运行效率。使用矩阵分解方法和半精度浮点数实现底层运算,成功的提升了物体检测算法的运行速度,初步压缩了检测模型。用做控制计算机的设备常常是具有较少计算能力和功耗的低端移动设备,并且要求达到实时控制。CNN应用在图像分类和物体检测中能提供较高的准确性,并且通用性很好。要创建有效的物体检测方法实现实时控制,如何选择适当的基于CNN的检测软件框架,调整其关键参数并充分利用硬件的潜力是非常关键的。我们在现成的移动GPU设备上,基于分析结果和对多种解决方案的观察,提出调整检测框架的设计参数,使用了设计空间探索方法,以充分利用硬件资源,最大化物体检测方法的运行效率(自定义指标mAP*FPS),从初始的0.86提升到8.33,提升了9.7倍。使用矩阵分解方法和半精度浮点数实现底层运算,成功的提升了物体检测算法的运行速度,初步压缩了检测模型。将初始大小为233MB的Fast R-CNN(C)网络的模型最终压缩到54MB,压缩了4.3倍。 2.在移动GPU平台上三种压缩算法(矩阵分解、稀疏化和标量量化)的实现,使得在其上部署更大的模型成为可能。由于深度神经网络的权重数量较多,存储开销较大。针对权重中的冗余信息,我们使用稀疏化方法和标量量化方法,对深度神经网络中的权重进行压缩,从而降低存储需求。将初始大小为233MB的FastR-CNN(C)网络的模型最终压缩到10MB,压缩了23倍。