深兰科技|目标检测二十年间的那些事儿

深兰科技

    
    本文主要参考自文献[1]:Zhengxia Zou, Zhenwei Shi, Member, IEEE, Yuhong Guo, and Jieping Ye, Object Detection in 20 Years: A Survey Senior Member, IEEE
    
    过去二十年中与 “ 目标检测 ” 相关的出版物数量的增长
    二十年
    在计算机视觉领域中有几个基本的任务:图像分类[3]、目标检测[4]、实例分割[5]及语义分割[6],其中目标检测作为计算机视觉中最基本的任务在近年来引起了广泛关注。某种意义上,它在过去二十年内的发展也是计算机视觉发展史的缩影。如果我们将今天基于深度学习的目标检测技术比作一场“热兵器革命”,那么回顾20年前的技术时即可窥探“冷兵器”时代的智慧。
    目标检测是一项计算机视觉任务。正如视觉对于人的作用一样,目标检测旨在解决计算机视觉应用中两个最基本的问题:1. 该物体是什么?2. 该物体在哪里?当然,聪明的人可能会立即想到第三个问题:“该物体在干什么?”这即是更进一步的逻辑及认知推理,这一点在近年来的目标检测技术中也越来越被重视。不管怎样,作为计算机视觉的基本任务,它也是其他计算机视觉任务的主要成分,如实例分割、图像字幕、目标跟踪等。
    从应用的角度来看,目标检测可以被分为两个研究主题:“ 通用目标检测(General Object Detection) ” 及 “检测应用(Detection Applications)” ,前者旨在探索在统一的框架下检测不同类型物体的方法,以模拟人类的视觉和认知;后者是指特定应用场景下的检测,如行人检测、人脸检测、文本检测等。
    近年来,随着深度学习技术[7]的快速发展,为目标检测注入了新鲜血液,取得了显著的突破,也将其推向了一个前所未有的研究热点。目前,目标检测已广泛应用于自动驾驶、机器人视觉、视频监控等领域。
    二十年间的发展
    
    如下图所示,以2014年为分水岭,目标检测在过去的二十年中可大致分为两个时期:2014年前的“传统目标检测期”及之后的“基于深度学习的目标检测期”。接下来我们详细谈论两个时期的发展。
    
    传统检测
    早期的目标检测算法大多是基于手工特征构建的。由于当时缺乏有效的图像表示,人们别无选择,只能设计复杂的特征表示及各种加速技术对有限的计算资源物尽其用。
    (1) Viola Jones检测器
    18年前,P. Viola和M. Jones在没有任何约束(如肤色分割)的情况下首次实现了人脸的实时检测[8][9]。他们所设计的检测器在一台配备700MHz Pentium III CPU的电脑上运行,在保持同等检测精度的条件下的运算速度是其他算法的数十甚至数百倍。这种检测算法以共同作者的名字命名为“Viola-Jones (VJ) 检测器”以纪念他们的重大贡献。
    VJ检测器采用最直接的检测方法,即滑动窗口(slide window):查看一张图像中所有可能的窗口尺寸和位置并判断是否有窗口包含人脸。这一过程虽然听上去简单,但它背后所需的计算量远远超出了当时计算机的算力。VJ检测器结合了 “ 积分图像 ”、“ 特征选择 ” 和 “ 检测级联 ” 三种重要技术,大大提高了检测速度。
    1)积分图像:这是一种计算方法,以加快盒滤波或卷积过程。与当时的其他目标检测算法一样[10],在VJ检测器中使用Haar小波作为图像的特征表示。积分图像使得VJ检测器中每个窗口的计算复杂度与其窗口大小无关。
    2)特征选择:作者没有使用一组手动选择的Haar基过滤器,而是使用Adaboost算法从一组巨大的随机特征池 (大约18万维) 中选择一组对人脸检测最有帮助的小特征。
    3)检测级联:在VJ检测器中引入了一个多级检测范例 ( 又称“检测级联”,detection cascades ),通过减少对背景窗口的计算,而增加对人脸目标的计算,从而减少了计算开销。
    
    
    1  2  3  下一页>