目标检测算法学习笔记

传统的目标检测算法

传统的目标检测算法都是手动设计特征,利用滑动窗口提取目标框。
VJ(脸部识别)
Hog+Svm(行人检测)
DPM(在Hog的基础上加入策略,提升了精度)

VJ算法

haar特征抽取(纹理特征之一) 训练人脸分类器(adaboost算法) 滑动窗口(大小 步长) 候选框提取
haar特征 : value=白-黑
1.四个方向的像素点对 进行插值求value
2.线性的方向
3.相邻区域的点进行插分 lbp
4.多个像素点

Hog+svm(行人检测 opencv)

提取hog特征:特征灰度化+gamma变化(值进行根号求解 数据平滑) 计算梯度(x,y方向)map 求得方向角
图像划分成小的cell 统计cell的梯度直方图
将多个相邻的cell 组成block 进行特征归一化
将block 串联 归一化
训练svm分类器(行人和背景二分类建模)
寻找两种样本在空间的间隔面建模(松弛值 接受的误差)
支持向量即虚线上的点
利用滑动窗口 提取目标区域 进行分类判断
NMS

DPM(物体检测)

voc数据集
Hog的扩展
利用svm训练得到物体的梯度
特征的提取:有符号(0–360) 无符号(0–180)
对cell 的维度进行求和表示
计算响应图 (root part)

NMS 非极大抑制算法 消除多余的框

选取领域里分数高的窗口 同时抑制分数较低的窗口
分类器得到的概率值排序,选取最大的。重叠率高的框进行删除
softNms 算法
相邻区域的检测框的分数进行调整而非彻底的抑制 提高高检索率下的 准确率
在低检索率下任然对物体检测性能有明显提升

深度学习的目标检测算法

two-stage(rcnn frcnn)
cnn卷积特征
端到端(rpn)
速度慢于onestage
输入图片–cov-pool(vgg,resnet)–rpn(产生候选区域)–全连接层 {分类, 回归}(类别判定 位置精修)
RCNN
FAST RCNN
FASTER RCNN
frcnn变种

Two stage

cnn:主干网络
rpn网络:对于提取的feature map ncwh 区域推荐(Anchor机制) 候选区域筛选后
通过rolpooling 提取候选目标 分类回归精确位置

anchor w*h 上 的每个点作为候选区域的中心点提取候选区(每个点有n个候选区提取)
iou 真值和候选区的面积 (正负样本)

rpn: roi pooling
输入: 特征图 rois 区域的坐标 roi参数 图像下采样几分之一
输出: 固定尺寸的featuremap
(抠图,将图片固定到同样大小)

Onestage:

cnn卷积特征
直接回归物体的类别概率和位置坐标值(不包括rpn)
准确低 速度快
输入—cnn–区域回归,目标分类
算法:Yolov1 v2 v3
Ssd dssd retina net

核心组件:
cnn:
回归网络:区域回归(置信度,位置类别)
Anchor机制(SSD)
回归网络预测过程:
(yolo)对整个网络进行划分成s*s针对每个网格预测目标区域的位置信息 预测出置信度 当前格子所属目标的预测值
NMS

SSD算法

(人脸检测 ADAS场景目标检测与识别 通用物体检测识别 自然场景下文本检测识别txt box (++))
直接回归目标的类别位置
不同尺度的特征图上进行预测
端到端的训练
图像分辨率比较低 也能保证检测的精度
网络:VGGnet16
多尺度featuremap预测:预测时,针对6个尺寸进行预测(每个conv卷积下来的featuremap 当作预测的输入)
NMS的合并
每个尺度上的 default bounding boxes的类别分数 偏移量(每个层的name)
多尺度featuremap预测:
不同的feature map
piror box: 类别概率和坐标偏移
prior box:
mn个cell
每个cell上生成固定scale和aspect ratio 的box
假设有m
n个cell 每个cell 对应 k个default box 预测4个类别的score和offset(偏移值)
输出 mnk(c+4)

训练:采用真值对prior box 做匹配 iou>值 正样本
正负样本比 1:3
损失函数:
分类loss +回归loss
分类:softmax loss
回归: smooth l1 loss

SSD算法使用细节:
数据增强 crop 采样大小
多任务网络的权重
正负样本比1:3
难例挖掘方式默认只取64个最高predication loss 来从中寻找负样本

SSD优化

主干网络更新
优化priorbox

DSSD算法

SSD对小目标不够鲁棒 原因是 渐层featuremap 表现力不强
加入上下文信息
更好的基础网络resnet 和deconvolution层 skip链接起来给浅层的feature map更好的表征能力

FSSD

借鉴了FPN思想 重构一组金字塔特征使得算法 精度提升
将网络的某一层调整为同一size然后进行contact 得到像素层 以此层作为base layer 来生成后续金字塔特征
主干网络的更新。

RSSD

通过pooling 和deconv 融合不同层的信息 增加不同层之间featuremap 的关系也增加了不同层featuremap 个数
解决了重复框的问题 解决了small object 的检测问题、

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值