目标检测学习笔记(自用)
目标检测是在图片中对可变数量的目标进行查找和分类传统目标检测算法Viola-Jones(人脸检测)Haar特征抽取训练人脸分类器(Adaboost算法等)滑动窗口HOG+SVM(行人检测,Opencv实现)提取HOG特征训练SVM分类器...
目标检测是在图片中对可变数量的目标进行查找和分类
传统目标检测算法

Viola-Jones(人脸检测)
Haar特征抽取
训练人脸分类器(Adaboost算法等)
滑动窗口


HOG+SVM(行人检测,Opencv实现)
提取HOG特征
训练SVM分类器
利用滑动窗口提取目标区域,进行分类判断
NMS
输出检测结果


DPM(物体检测)
HOG的扩展,利用SVM训练得到物体的梯度
计算DPM特征图
计算响应图(root filter 和part filter)
Latent SVM分类器训练
检测识别

NMS(非极大值抑制算法) 为了消除多余的框,找到最佳的物体检测的位置。选取邻域分数最高的窗口,抑制分数低的窗口。
Soft-NMS(非极大值抑制算法)相邻区域内的检测框的分数进行调整而非彻底抑制,提高了高检索率情况下的准确率,在低检索率时仍能对物体检测性能有明显提升。

深度学习目标检测算法
two-stage
CNN卷积特征,端到端的目标检测(RPN网络)准确度高,速度相对one-stage慢,核心组件CNN网络,RPN网络。

CNN网络设计原则:从简单到复杂再到简单的卷积神经网,多尺度特征融合的网络,更轻量级的CNN网络。
RPN网络:区域推荐(Anchor机制),ROI Pooling,分类和回归
one-stage
使用CNN卷积特征,直接回归物体类别概论和位置坐标值(无region proposal),准确度低,速度相对two-stage快。核心组件:CNN网络,回归网络。



SSD算法
直接回归目标类别和位置,不同尺度的特征图上预测,端到端训练,图像分辨率比较低,也能保证检测精度。
R-CNN
* 步骤
* 1、找出可能存在的候选区域, 得出2000个候选区域,统一成大小
* 通过选择性搜索(SS)算法,进行筛选 * 大小统一:通过crop +warp
* 2、进行CNN提取特征,得出2000特征向量
* 使用AlexNet的结构,输入要去227 * 227 * 提取出的特征会会保存在磁盘当中
* [2000, 4096]
* 3、**20个SVM进行分类,得到 2000 * 20的得分矩阵**
* 20:代表你的目标检测当前数据集一共需要检测20种类别* 得出[2000, 20]的得分矩阵,打分
* 4、进行NMS,提出候选框
* 理解NMS的整个过程,* 假设现在滑动窗口有:A、B、C、D、E 5个候选框,
- 第一轮:假设B是得分最高的,与B的IoU>0.5删除。现在与B计算IoU,DE结果>0.5,剔除DE,B作为一个预测结果
- 第二轮:AC中,A的得分最高,与A计算IoU,C的结果>0.5,剔除C,A作为一个结果
* 5、修正bbox,对bbox做回归微调
* 通过线性回归,特征值是候选区域,目标是对应的GT. * 建立回归方程学习参数。
* R-CNN的训练过程
* 预训练+微调
* 当前我们业务的数据集(正负样本标记)
* 预训练:别人已经在大数据集上训练好的CNN网络参数模型,model1
* 微调:利用标记好的样本,输入到model1当中,继续训练,得出model2(CNN网络)
* 训练SVM分类器,每个类别训练一个分类器
* 特征M * 4096 , 一个SVM,4096 * 20
* 正负样本标记结果(100个猫,900个非猫)
* 总共得到4096 * 20的SVM权重
* 回归训练:
* 筛选候选框,只对那些跟ground truth的IoU超过某个阈值且IOU最大的region proposal回归
* 训练得到回归的参数
R-CNN的总结
* 缺点:
* 训练速度慢
* 占用磁盘空间大
* 训练阶段多
* 图片变形
YOLO

* 改进速度:YOLO
* 448 * 448
* 一个网络解决
* 输出 7 * 7 * 30
* 7 * 7=49个 像素值,理解成49个单元格,49 * 2 = 98 个bbox框
* 30 = 两个bbox( 4 + 1 + 4 + 1) + 20(单元格的代表概率)
* 筛选一个bbox作为训练:
* 通过confidence进行筛选
* confidence由网络输出, (进行标记)
* 每一个单元格:输出一个confidence高的bbox位置,一个概率大的类别
* 训练过程:**所以如何判断一个grid cell中是否包含object呢?**如果一个object的ground truth的中心点坐标在一个grid cell中,那么这个grid cell就是包含这个object,也就是说这个object的预测就由该grid cell负责。
目标检测数据集
pascal voc 数据集介绍

- 文件内容
- Annotations: 图像中的目标标注信息xml格式
- JPEGImages:所有图片(VOC2007中总共有9963张,训练有5011张,测试有4952张)
以下是一个标准的物体检测标记结果格式,这就是用于训练的物体标记结果。其中有几个重点内容是后续在处理图像标记结果需要关注的。
- size:
- 图片尺寸大小,宽、高、通道数
- object:
- name:被标记物体的名称
- bndbox:标记物体的框大小
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)