目标检测与MMDetection
目标检测
- 基本范式:单阶段方法->在特征图上基于单点特征实现密集预测;两阶段方法->基于区域,先产生窗口,再对窗口内的特征预测
- 发展历程
- 边界框(bounding box)也叫区域(region):是紧密包围感兴趣物体的一个框,目标检测任务就是要求我们为目标回归出一个边界框并预测该物体的类别。
- 区域提议(proposal):指模型预测出的可能包含目标的框
- 感兴趣区域(RoI):对proposal进一步检测是否含有目标时,将该框成为RoI
- 锚框(Anchor):预设的框,基于anchor预测边界框
- 交并比(IoU):两个矩形框的交集面积比上并集面积
- 置信度(confidence):模型为自己预测的结果打分,一般取置信度较高的结果为预测结果
- 非极大值预测(NMS):一般模型会在目标周围密集地预测多个相近但不一样的框,为避免对模型产生不好的影响,只保留置信度最高的那个框
- 边界框回归:让模型在预测目标类别的同时预测边界框相对于proposal的便宜了
两阶段目标检测算法
- RCNN:第一步产生proposal,第二步识别proposal
缺点:慢,区域提议一般产生2000个框,每个框都要送入CNN中去推理
改进:减少重复计算
- Fast R-CNN:与RCNN最大的区别是将proposal处理成固定尺寸之后送入全连接层
处理方法:
RoI Pooling,将不同尺寸的提议框处理成相同尺寸,使之可以送入后续的全连接层计算分类和回归。将proposal切分成7*7的格子;在每个格子内部池化,得到固定尺寸的输出特征图。
RoI Align:
- Faster R-CNN
多尺度检测技术
- 必要性:因为图像中物体的尺寸有差异,模型在网络的倒数第二层对特征图进行预测,导致其只擅长中等大小的物体,对小目标检测能力较弱。
- 图像金字塔:让图像缩放到不同大小,生成图像金字塔,使模型不经改变就可适应不同尺度的物体。
- 层次化特征:基于backbone产生的多级特征图产生预测结果
- 特征金字塔网络:高层次特征包含足够抽象语义信息。将高层特征融入低层特征,补充低。层特征的语义信息