目标探测

单目标,多目标

直接思路:回归问题,局部识别问题(在很多位置尝试识别,能够完成识别的地方就是目标位置)

利用神经网络进行目标识别,同样的目标变为坐标值

会有候选框计算算法

问题:

怎么确定候选位置

小结:

分类思想(主流思想)目标探测:候选区域产生

传统方法-DPM

提取图像特征,制作出激励模板,在原始图像滑动计算,得到激励效果图

,根据激励效果图,根据激励分布确定目标位置

利用方向的统计(tan,HOG)

因为结构的关系,人的gradient区域卷积就会得到加强,

区域的激励会比较高

拓展:目标可能会形变,各个部分单独考虑

DPM:Deformable Parts Model

1.产生多个模板,整体模板以及不同局部模板

2.不同模板同输入图片“卷积”,产生特征图

3.特征图组合组合形成融合特征

4,对融合特征进行传统分类,回归,得到目标位置

优点:

方法直观简单

运算速度快

适应运动物体变形

至2012年,最好方法

缺点":

性能一般

激励特征人为设计,工作量大

大幅度旋转无法适应,稳定性差

神经网络分类

RCNN系列方法

神经网络分类思想:对多个位置,不同尺寸,用卷积神经网络判断区域内图片是不是某物

候选位置(proposal)提出方法:EdgeBox

RCNN:

1.类别减少

2.训练过程

3.测试过程

1.分类器的训练-直接用ImageNet模型

2.Fine-tune分类模型

选择20类进行探测,

3.特征提取

图片计算候选区域,候选区域切分图片,变成输入大小,提取相应高级特征,

存储特征(很大容量)

4.单独目标探测器训练

每一类单独训练

每一类训练数据平衡

每一类binary分类

5.单独目标回归器训练-基于候选区域微调

每一类单独训练

每一类训练数据平衡

每一类BBOX回归

测试过程

1候选区域

2特征计算

3分类,回归

4后续处理

常用数据集

ImageNet,MScoco,PASCAL

评估方法:

IoU

具体的过程

优点:

CNN用于目标探测,利用了CNN的搞笑识别能力,大大提高性能

摆脱了人为设计物品模板,方法具有通用性

分类+回归,为了找到精确未知的可能

缺点:

为了检测一个目标,所有的候选区域计算,大量卷积运算非常慢

svm训练与cnn断裂,有效信息不能用于优化‘模型

每一类单独训练,异常繁琐

fast-RCNN

共享卷积计算(进行一次cnn运算)

1.卷积计算保持空间位置
2.共同区域的卷积计算只需要进行一次
 3.切割候选区+提取特征图=计算完整特征图+ 切割对应候选区

完整训练呢(end-to-end)

多目标一起学习

比RCNN快了几千倍

特征一致化:

pooling

位置+类别(联合学习

先进行Feture Map计算,形成固定大小的feature map,找候选相应的区域,

解决proposal候选区域的生成问题:

faster-rcnn来解决

       神经网络增加一组输出RPN候选区域网络

                1.直接产生候选区域,无需额外生成

               2.直接用于后续特征图切割

        每个pixel生成k个Anchor,可以生成HW*k个prposal

Anchor的借鉴意义':

  神经网络有能力找到最终量,也有能力找到很多中间量,

  只用anchor判断是不是目标,会不会存在大材小用,

训练:

比较简单方法:

一个网络,四个损失函数:

Anchor是不是目标,

Anchor回归候选区域,回归

FastRcnn 分类,Fastrcnn基于候选位置回归

神经网络回归思想系列方法

Yolo系列方法

yolo可以找到会什么,在哪里

图片分成7*7网络

每个网格生成:

   1.b个Bbox 4坐标+1信心 

   2.N个类别分数(注意对比Anchor)

损失函数

实时运行

精度稍微下降

定位精度较差

yolo version2??????????

SSD

中间层参与位置和种类计算

较yolo,精度提升很多

代码:????????????

   course_6_obj.py

   yolo_tiny_tf.py

densebox???????

openpose??????

results matching ""

    No results matching ""