李坤坤,刘正熙,熊运余
(四川大学计算机学院,成都 610065)
长期以来,目标检测在计算机视觉领域一直是具有挑战性的基础研究方向,与图像分类和分割并称为计算机视觉领域三大基础研究任务。对于一张给定的原始图像,目标检测的目标是判断给定图像中是否有已知类别的目标实例,如果存在,则输出原始图像中目标实例的空间位置和相对应的类别名称,即用矩形边界框定位检测到的目标实例并对检测到的目标实例进行分类。此外,目标检测还是解决计算机视觉领域复杂问题和高级视觉任务的基础,例如场景理解、实例分割、目标追踪、语义分割等。而且,目标检测在现实生活中有着广泛的应用,例如智能监控、军事侦察、医疗诊断和无人驾驶等领域。特别是随着计算机计算能力的提升以及各种类型的图像数据大量涌现,结合深度卷积神经网络的目标检测算法持续更新发展。本文以一个新的角度对目标检测领域的发展进行回顾,即采用系统性文献综述方法对目标检测领域的进展进行梳理。
Kitchenham[1]的研究针对如何构建系统性文献综述流程提供了原始指南,本文根据此指南进行系统性文献综述。系统性文献综述分为三个阶段,即规划、实施和报告。每个阶段又由具有特定目的的实施步骤组成。首先,规划的初始步骤,是对系统性文献综述的研究文献进行识别;其次,搜集和回顾目前已存在的目标检测研究文献;再次,设计文献综述标准。设计文献综述标准有两个目的,一是直接指导文献综述过程,二是最大程度减少研究偏差。此过程的目的是为下一阶段工作做准备,包括研究问题、文献搜索策略、研究文献选择、数据提取和数据综合。在设计文献综述标准的同时,系统性文献综述实施和报告阶段同步进行。
系统性文献综述的重要部分是确定研究问题。确定研究问题可以指导综述过程关注重点,并且研究问题贯穿整个系统性文献综述过程。此外还要着重关注以下三点:第一,文献搜索阶段能够识别解决研究问题的主要研究文献;第二,数据提取阶段能够提取回答问题所需的数据条目;第三,数据分析阶段能够对数据进行综合,进而得到研究问题的答案。根据Population、Intervention、Comparison、Outcomes和Context(简称PICOC)五个维度[1]构建研究问题。
根据表1构建本篇文献综述的研究问题,如表2所示。
表1 PICOC标准
表2 研究问题
回答问题一至问题四可以得出目标检测的应用、数据集、主流深度学习网络模型和框架,本文则以提炼的研究问题为牵引,梳理目标检测应用、数据集、主流深度学习网络模型和框架。
搜索过程由一系列步骤组成,包括选择文献数据库、确定搜索关键词、进行初步搜索、提炼搜索关键词以及进行再次搜索。为了能够精准搜索相关研究文献,提高搜索效率,搜索过程开始之前,需要选择合适的数据库。搜索包含目标检测领域的文献数据库,可以找到更加全面的相关研究文献,从而使系统性文献综述覆盖更广泛,考虑到有些高质量目标检测研究文献在数据库中没有收录,本文还使用谷歌学术进行检索。
表3 文献数据库
搜索查询是基于以下步骤构建的:
(1)从PICOC中提炼检索词
(2)从构建的研究问题中确定搜索术语
(3)确定研究的相关标题、摘要和关键词
(4)识别搜索词的同义词、反义词和替代拼写
(5)构建高级搜索查询
之后,调整查询以匹配每个数据库的特定标准,在数据库中按标题、摘要和关键词进行搜索。本文采用的关键词为object detection和deep learning,搜索时间范围为2010年至2020年。
根据表4中描述的纳入和排除标准选择主要研究文献。研究文献选择过程有两个步骤,首先根据标题和摘要排除无关研究文献,其次根据全文排除无关研究文献。第一阶段选定的研究清单包含162篇文献,分析阶段包括选择过程的标准、主要研究文献质量评估以及主要研究与研究问题的相关性,最后筛选出156篇主要研究文献。
表4 纳入标准和排除标准
对筛选出的主要文献进行数据提取,以得到有价值的信息,提取出的信息用于构建研究问题的答案。表5是数据提取表,数据提取表旨在从主要研究文献中收集研究问题相关的信息,数据提取表中的条目根据研究问题和分析流程确定。
表5 研究问题对应的数据提取内容
数据综合的目的是从选定的研究文献中收集信息,以回答先前描述的研究问题。数据综合阶段,一般来说,使用叙述式综合方法,以与研究问题相关的方式重建数据。
目标检测主要有以下几种应用:一是人脸检测。顾名思义,人脸检测旨在检测图片中的人脸。人脸检测是解决人脸校正、性别识别和情感分析等任务的基础。二是行人检测。行人检测主要在安保、无人驾驶以及导航等领域使用。三是遥感图像检测。遥感图像检测主要用于军事侦察、资源勘探、城市规划等领域。四是医学图像检测。医学图像检测可以帮助医生准确分析病变部位,提高医生对疾病的判断准确度,还可以减少医生的工作量。
数据集是用于特定机器学习目的的一定数量的数据的集合。数据集在目标检测研究中至关重要,不同的算法可以在基准数据集上进行性能比较,包含复杂场景的大规模数据集更是极大促进了目标检测算法的发展。对于目标检测,有四类著名的基准数据集,如表6所示。
表6 目标检测基准数据集
在目标检测算法中,深度卷积神经网络被大量使用,作为典型网络模型,其主要有如下特点和优势:第一,卷积神经网络的层级结构可以提取输入图像的多层语义特征,例如图像的低级语义特征和高级语义特征;第二,深度卷积神经网络可以学习更复杂的函数;第三,深度卷积神经网络不需要先验知识,可以直接自动学习原始输入图像的特征表达。深度卷积神经网络根据网络结构复杂程度可以分为非轻量级网络(如图1)和轻量级网络(如图2),非轻量级网络层次数目多、网络结构复杂、网络参数数量巨大,对计算机的计算性能和存储能力要求高,由于硬件性能限制,在移动端不能普遍进行应用。轻量级网络在保持原有特征表达能力的基础上简化网络结构,可以在移动端、工业生产领域部署应用。典型的非轻量级网络有AlexNet[6]、ZFNet[7]、GoogLeNet[8]、VGGNet[9]、ResNet[10]、DetNet[11]、ResNeXt[12]、DenseNet[13]和SE ResNet[14]等,轻量级网络有SqueezeNet[15]、Xception[16]、MobileNet[17]、MobileNetV2[18]、ShuffleNet[19]、ShuffleNetV2[20]和PeleeNet[21]等。
图1 非轻量级网络AlexNet网络结构[6]
图2 轻量级网络SqueezeNet网络结构[15]
基于深度卷积神经网络的目标检测框架可以分为两类。第一类是两阶段目标检测框架,如图3,两阶段目标检测框架将目标定位和目标分类两个任务分开进行,即首先产生候选区域,然后对候选区域进行分类。典型两阶段目标检测框架有RCNN[22]、SPPNet[23]、Fast RCNN[24]、Faster R-CNN[25]、RFCN[26]、Mask RCNN[27]和Light Head RCNN[28]等。第二类是一阶段目标检测框架,如图4,将目标实例的定位和分类合二为一。典型一阶段目标检测框架有OverFeat[29]、YOLO[30]、YOLO9000/V2[31]、YOLOV3[32]、SSD[33]、DSSD[34]和CornerNet[35]等。
图3 两阶段目标检测框架RCNN[22]
图4 一阶段目标检测框架YOLO[30]
本文按照系统性文献综述方法的流程和步骤对目标检测领域的156篇研究文献进行梳理回顾,回答了根据系统性文献综述方法构建的四个研究问题,总结了目标检测的应用、数据集、主流深度学习网络模型和框架。下一步的工作中,可以构建更多的研究问题,从而使目标检测系统性文献综述更加全面。