目标检测(object detection)指从场景中找出感兴趣的目标,其具体任务是从输入图像或视频中精确检测出感兴趣目标的位置,并预测目标的所属类别。目标检测是计算机视觉领域一个非常重要的研究方向。随着深度神经网络的发展,基于深度学习的目标检测算法显著地提高了检测精度。目标检测具有广泛的应用领域,包括视频监控、自动驾驶、医学图像分析、无人机导航等。
目标检测的挑战性问题有:①动态模糊。由于目标运动是一个连续的过程,如果相机曝光较慢,则会导致多个运动位置被合为一个的情况,即动态模糊。②虚焦。由于摄影时没有选择焦点,会出现某些局部目标或者整个场景模糊不清。③遮挡。实际场景中的多个目标之间出现不同程度的遮挡,以及单个目标各个部分之间的自遮挡。④表观变化。同类目标不同个体之间存在较大的表观差异。⑤尺寸变化。同类目标在不同场景下可能具有不同的尺寸。
传统目标检测的基本流程如图7.1所示,主要包括四个步骤:生成候选区域、对候选区域提取特征、利用分类器判断候选区域是否为目标以及检测边框回归。传统的目标检测方法主要分为基于候选区域的方法[1-2]和基于滑动窗口的方法[4]。基于候选区域的方法一般生成多个候选区域,并提取相应候选区域的特征进行分类。基于滑动窗口的方法通过使用不同大小的边界框(bounding box)进行从上至下、从左至右的滑动。将滑动过程中获取的每个位置都作为候选区域,然后对候选区域进行特征提取来完成分类。基于滑动窗口的方法不会漏掉候选区域,但是生成的候选区域多,导致计算复杂度高、时间开销大。基于候选区域的方法计算效率更高,但容易漏掉候选区域,从而影响检测精度。在基于候选区域的目标检测方法中,常用的候选区域生成方法有选择性搜索(selective search,SS)[1]和边缘框(edge boxes,EB)[2]。在提取候选区域特征时,人脸检测任务常用Haar特征[5]和LBP特征[4],行人检测任务常用HOG特征[6],其他常用的特征有SIFT特征[7]和SURF特征[8]等。在对候选区域进行分类时,常用的分类器有支持向量机[9]和AdaBoost算法[10]等。随着深度卷积神经网络的提出,一系列基于卷积神经网络的目标检测方法应运而生,如R-CNN系列[3,11-12]、YOLO[13]和SSD[14],大大提高了目标检测的精度和检测速度。(www.daowen.com)
图7.1 传统目标检测的基本流程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。