目标检测方法总结

目标检测

*
1发展历程
2 RCNN系列

+
* 2.1 RCNN 开山之作
* 2.2 Fast rcnn
* 2.3 Faster Rcnn
3 Yolo系列
4 Centernet
5DETR

1发展历程

如下图所示,来自李沐-论文精度link

目标检测方法总结
1 先有RCNN系列,对输入的图片提取出很多候选框,然后对候选框进行分类以及微调。
2 yolo系列,不需要提取候选框,而是将原图分成一个grid,每个grid进行一个预测,可以理解为多任务的拟合问题,端到端。
3 Centernet,创新性工作!anchor-free的,基于热力图检测工作!
4 DETR, 讲transformer引入

检测任务的难点,在于样本如何制作,loss如何计算,知道了这两点,算法大体框架就懂了。
如果让我们从头开始做,我要怎么做检测的任务呢?
需要考虑类别,考虑检测框个数。
不同的图片检测框数量不一致?如何固定网络输出的尺度?
我一个图片可能有多个物体,怎么办?
基于anchor的思想本质上是遍历,生成数量非常庞大的框,然后根据自身置信度以及iou删除一些框,计算这些框的结果。
yolo的思想,是把图片分割成小网格,每个网格生成一定数量的检测框,实现了固定输出尺度。
centernet:类别个数是可以固定的,每个类别的数量让热力图的中心自适应。
detr:类别个数固定,匈牙利匹配!

; 2 RCNN系列

2.1 RCNN 开山之作

说到rcnn,常见的是下面一张图

目标检测方法总结
测试过程:
1 对输入图片使用SS方法(一种聚类方法)提取出2000个候选框
2 对候选框进行wrap,尺寸变为一致
3 输入到cnn中提出特征,每个框对应一个特征向量
4 将特征向量输入svm(20个),得到一个分类,根据分类的分数,剔除一部分。
5 分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。
训练过程:
1 训练过程在于标签如何制作!将SS选出的候选框与gt进行iou计算,大于指定阈值的是正样本,小于指定阈值的是负样本。
2 分类的loss,使用交叉熵。
3 回归的loss如何计算?移动不会超过一个框的位置
a n c h o r : [ x , y , w , h ] g t : [ x ∗ , y ∗ , w ∗ , h ∗ ] p r e d i c t e d : x 1 = x + d x ∗ w 移 动 量 不 超 过 一 个 w ( 1 ) y 1 = y + d y ∗ h 移 动 量 不 超 过 一 个 h ( 2 ) w 1 = w ∗ e x p ( d w ) 指 数 扩 大 , h 类 似 。 ( 3 , 4 ) [ d x , d y , d w , d h ] 是 需 要 学 习 的 参 数 根 据 ( 1 , 2 , 3 , 4 ) 计 算 出 [ d x , d y , d w , d h ] 的 目 标 值 , 使 用 s m o o t h − L 1 l o s s ! anchor:[x,y,w,h]\ gt:[x^,y^,w^,h^]\ predicted:\ x_1=x+d_xw 移动量不超过一个w(1)\ y_1=y+d_yh 移动量不超过一个h (2)\ w_1=w*exp(d_w) 指数扩大,h类似。(3,4)\ [d_x,d_y,d_w,d_h]是需要学习的参数\ 根据(1,2,3,4)计算出[d_x,d_y,d_w,d_h]的目标值,使用smooth-L1 loss!a n c h o r :[x ,y ,w ,h ]g t :[x ∗,y ∗,w ∗,h ∗]p r e d i c t e d :x 1 ​=x +d x ​∗w 移动量不超过一个w (1 )y 1 ​=y +d y ​∗h 移动量不超过一个h (2 )w 1 ​=w ∗e x p (d w ​)指数扩大,h 类似。(3 ,4 )[d x ​,d y ​,d w ​,d h ​]是需要学习的参数根据(1 ,2 ,3 ,4 )计算出[d x ​,d y ​,d w ​,d h ​]的目标值,使用s m o o t h −L 1 l o s s !

; 2.2 Fast rcnn

目标检测方法总结
1 根据SS方法选出一定数量的候选框,根据iou设定阈值!多目标选择iou最大的作为类别。这里直接是多分类,不是二分类。
2 将整个图片输入CNN进行特征提取。
3 使用投影的方法,将提取出的候选框映射到特征图上,抠出特征图,resize
4 传入fc层,进行分类以为框位置的微调。

2.3 Faster Rcnn

目标检测方法总结
从此开始不再使用SS方法提取候选框。
0 预先设定anchor的scale以及ratio
1 将图片输入CNN,得到特征图。
2 特征图每一个像素对应k个anchor!以该像素为中心,长宽根据scale以及ratio设置。即每个特征图上的像素点根据其自身位置以及长和宽对应一些特征图。标签根据iou计算标签。需要判断该位置对应的框的类别以及偏移量。
3 proposal 根据anchor的位置找到特征图的对应位置,为了尺寸一致进行pooling,输入到后面的网络中得到结果
目标检测方法总结

; 3 Yolo系列

目标检测方法总结
1 认为设置一些对应关系,讲图片分成7 _7的网格,每个网格size不确定。
2 每个网格负责自己的任务。
目标检测方法总结
YOLOv2:取消了fc层使用全卷积,多分辨率输入
YOLOv3:FPN
YOLOv4:FPN+PAN
YOLOv5:GIOULOSS

4 Centernet

目标检测方法总结
先降采样,然后上采样,输出三个值。

1 输入 N _3_M _N,输出入N_C _M/R_N/R (每个像素代表一个分类,一共C类 ),以及 N _2_M/R _N/R(每个像素代表偏置值), N_2 _M/R_N/R(每个像素代表长宽值)。
2 Loss计算:热力图标签制作。知乎

目标检测方法总结
二维的误差!为了平衡loss
目标检测方法总结
2 偏置误差
目标检测方法总结
3 长宽误差
目标检测方法总结

; 5DETR

Original: https://blog.csdn.net/qq_42153494/article/details/123538376
Author: deeeeeeplearning
Title: 目标检测方法总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/681859/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球