The essence of object detection is to get category and location through input images.
1、CV
2、Classification of Object Detection
基于深度学习的目标检测算法主要分为两类:Two stage
和 One stage
。
(1)Tow Stage
先进行区域生成,该区域称之为 region proposal(简称 RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。
任务流程:特征提取 --> 生成RP --> 分类/定位回归。
常见 tow stage 目标检测算法有:R-CNN、Fast R-CNN 和 Faster R-CNN 等。
(2)One Stage
不用RP,直接在网络中提取特征来预测物体分类和位置。
任务流程:特征提取--> 分类/定位回归。
常见的 one stage 目标检测算法有:YOLO 系列和 DETR 等。
3、滑动窗口
滑动窗口的策略:在输入图像中产生不同大小的窗口,不同窗口大小的滑窗进行从左往右、从上到下的滑动,每次滑动时候对当前窗口执行分类器(分类器是事先训练好的);如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制方法进行筛选。
4、选择性搜索(Selective Search ,SS)
选择性搜索基于论文《Graph Based Image Segmentation》中图表示的图像分割方法,主要介绍了一种基于图表示(graph-based)的图像分割方法。图像分割(Image Segmentation)的主要目的也就是将图像分割成若干个特定的、具有独特性质的区域,然后从中提取出感兴趣的目标。
选择性搜索的思想:
1)使用一种图像分割手段,将图像分割成小区域 (1k~2k 个);
2)查看现有小区域,按照合并规则合并可能性最高的相邻两个区域。重复直到整张图像合并成一个区域位置;
3)输出所有曾经存在过的区域,所谓候选区域;
5、Anchor
Anchor 机制是在图像上预设好的不同大小,不同长宽比的参照框(anchor boxes)。(其实非常类似于上面的滑窗法所设置的窗口大小)
anchor boxes 是一组提前预定义的边框,这些框的宽高和数据集中目标物体的宽高大体是一致的,换句话说,数据集中的绝大多数物体都能找到与其大小一致的 anchor box 。举例来说,如果数据集中包含苹果、猫,那么这组 anchor boxes 中就需要有和苹果、猫大小相仿的边框。为了尽可能多的检测出数据集中可能出现的不同大小目标检测物体,具有不同的宽高比(aspect ratio)和尺度(scale)的 anchor boxes 。
使用 Anchor 的好处:
1)使用 anchor 机制产生密集的 anchor boxes ,使得网络可直接在此基础上进行目标分类及边界框坐标回归;
2)密集的 anchor boxes 可有效提高网络目标召回能力,对于小目标检测来说提升非常明显。
6、非极大值抑制(Non-Maximum Suppression,NMS)
NMS 的主要作用是去除的冗余框。其思想是搜素局部最大值,抑制非极大值。
步骤流程:
(1)根据置信度大小进行排序;
(2)计算置信度最大的边界框与其它候选框的IoU;
(3)删除IoU大于阈值的边界框;
(4)然后通过循环遍历方式,重复以上流程。
7、目标检测模型评价指标
【COPY】
目标检测(Object Detection)
【目标检测】Selective Search (SS) 选择性搜索算法
目标检测中的anchor机制