论文部分内容阅读
目标检测是计算机视觉领域中的一个重要研究问题,并被广泛应用到智能化交通系统、智能监控系统、人机互动以及医学导航手术等众多领域。近年来,深度学习方法在众多领域中表现出优异的效果,尤其是在计算机视觉领域取得了巨大的突破。目前,在绝大多数视觉任务中,基于深度神经网络的方法都处于领先地位。以Fast R-CNN、Faster R-CNN等为代表的检测框架开启了物体自动检测算法的热潮。并且,由于多数研究者侧重于提高检测算法的精度,因此为了提取更加复杂的特征,深度网络的层数呈现出指数级的增长,成百上千层的网络应运而生。然而,这些基于深度神经网络的检测算法对硬件的存储能力和计算能力都有着较高的要求。因此,尽管基于深度神经网络的物体检测算法在精度上显著超过传统算法,但其巨大的存储和计算代价为其在移动端或嵌入式设备等资源受限平台上的部署带来了巨大的挑战。因此,深度神经网络模型的压缩,加速和优化成为了学术界及工业界共同关注的迫切而重要的研究课题。基于这一需求,一些网络压缩算法逐渐被提出。但是目前多数网络压缩算法会导致原始模型的性能出现明显的损失,如分类任务中的精度降低或检测任务中的漏检率升高。本文介绍了目标检测和网络压缩算法的研究背景和发展趋势,针对目前存在的问题,为了实现在资源受限平台下的基于深度神经网络的物体检测算法,我们完成了以下工作:第一,我们比较了目前经典的深度物体检测算法,综合考虑各种算法的精度、效率与模型大小,最终选择了实时性最佳、端到端的全卷积神经网络YOLOv2实现行人检测任务,在加州理工行人数据库上取得了23.6%的漏检率。并且基于网络压缩算法BWN算法对该网络进行二值化压缩,从而将模型压缩了近32倍,同时达到了66帧每秒的检测速率,此时算法的漏检率为33.6%。第二,针对现有的网络压缩算法造成的明显的精度损失,我们提出了一种新颖的逐层量化的网络压缩算法,基于层级优先级的概念,将网络按照层级深度的相反顺序由深到浅地逐层量化参数。该算法在获得相同的32倍的网络压缩率的情况下,达到了与全精度网络相近的准确度,有效地抑制了网络压缩算法造成的精度损失。第三,基于我们提出的逐层量化的网络压缩算法,我们进一步提出了灵活的部分网络压缩算法,通过决定是否继续量化剩余浮点型层级来探索网络压缩率及检测精度损失间的最优平衡,有效解决了现有网络压缩算法无法提供任意给定精度下的网络压缩模型问题。实验证明,在保持与浮点型网络相同的精度下,该算法可获得近26倍的网络压缩率。相比之下,现有的BWN算法只能在32倍的网络压缩率下分别在Caltech和INRIA数据库上达到33.6%的漏检率和18%的漏检率。而本文算法在同样的压缩率下,在Caltech和INRIA数据库上分别取得了26.7%和13.8%的漏检率。综上,本文的主要创新点主要基于上述第二、第三项工作,提出了一种新颖灵活的逐层网络压缩算法,相比于现有方法,该算法能够有效抑制网络压缩带来的精度损失,并能够灵活地取得网络精度损失与网络模型压缩率间的最佳平衡,能够实现任意精度下的网络压缩。