#目标检测简介
理解一张图片,有三个主要的层次。
- 分类(Classification)
分类即是将图像结构化为某一类别的信息,用事先确定好的类别(string)或实例ID来描述图片。这一任务是最简单、最基础的图像理解任务,也是深度学习模型最先取得突破和实现大规模应用的任务。其中,ImageNet是最权威的评测集,每年的ILSVRC催生了大量的优秀深度网络结构,为其他任务提供了基础。在应用领域,人脸、场景的识别等都可以归为分类任务。 - 检测(Detection)
分类任务关心整体,给出的是整张图片的内容描述,而检测则关注特定的物体目标,要求同时获得这一目标的类别信息和位置信息。相比分类,检测给出的是对图片前景和背景的理解,我们需要从背景中分离出感兴趣的目标,并确定这一目标的描述(类别和位置),因而,检测模型的输出是一个列表,列表的每一项使用一个数据组给出检出目标的类别和位置(常用矩形检测框的坐标表示)。 - 分割(Segmentation)
分割包括语义分割(semantic segmentation)和实例分割(instance segmentation),前者是对前背景分离的拓展,要求分离开具有不同语义的图像部分,而后者是检测任务的拓展,要求描述出目标的轮廓(相比检测框更为精细)。分割是对图像的像素级描述,它赋予每个像素类别(实例)意义,适用于理解要求较高的场景,如无人驾驶中对道路和非道路的分割。
目标检测,即是图像理解的中层次。
##目标检测经典工作回顾
###两阶段(2-stage)检测模型
两阶段模型因其对图片的两阶段处理得名,也称为基于区域(Region-based)的方法,R-CNN系列模型是这一类型的代表。
####R-CNN: R-CNN系列的开山之作
论文链接: Rich feature hierarchies for accurate object detection and semantic segmentation
论文的两大贡献:
- CNN可用于基于区域的定位和分割物体;
- 监督训练样本数紧缺时,在额外的数据上预训练的模型经过fine-tuning可以取得很好的效果。
第一个贡献影响了之后几乎所有2-stage方法,而第二个贡献中用分类任务(Imagenet)中训练好的模型作为基网络,在检测问题上fine-tuning的做法也在之后的工作中一直沿用。
传统的计算机视觉方法常用精心设计的手工特征(如SIFT, HOG)描述图像,而深度学