目标检测算法系列

图像识别三大任务

目标识别:输出类别

目标检测:输出类别以及物体在图片当中的位置

目标分割:把物体形状描述出来,背景进行剔除

一、R-CNN

1、步骤:

        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

                - 建立回归方程学习参数。

2、R-CNN训练过程

        正负样本准备 + 预训练 + 微调网络 + 训练SVM + 训练边框回归器

(1)正负样本准备

当前我们业务的数据集(正负样本标记)

(2)预训练

一般在现有模型的基础之上进行,别人已经在大数据集上训练好的CNN网络参数模型。model1

(3)微调

利用标记好的样本,输入到model1当中,继续训练,得到model2(CNN网络)

(4)SVM 分类器

训练 SVM 分类器,每个类别训练一个分类器

特征 M * 4096,一个 SVM ,4096 * 20

        - 正负样本标记结果(100个猫,900个非猫)

        - 总共得到 4096*20 的 SVM 权重

(5)bbox回归器训练

筛选候选框,只对那些跟 ground truth 的 IoU 超过某个阈值且 IoU 最大的 region proposal 回归

训练得到回归的参数

3、R-CNN测试过程

4、缺点

速度慢在哪里:卷积层慢

二、SPPNet

一张图片直接全部卷积计算,取出 crop + warp 操作

流程分析:重点是映射 + SPP 层

1、映射

image --- > SS -- > 候选区域

image -- > CNN -- > 特征图

将候选区域映射到特征图当中,得出每个候选区域的特征向量。

2、SPP:spatial pyramid pooling

        - 对于 M 个候选区域,每个都要经过 SPP 层进行变换

        - 把每个候选区域进行分块:4*4、2*2、1*1

        - 输出:没个候选区域的特征向量都为 21 * 256 (不同网络 卷积输出通道数不一定一样)

        - 长度固定,特征向量有了

3、总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值