zoukankan      html  css  js  c++  java
  • R CNN

    有一篇文章写的比较详细,先放在前面

    文章链接https://blog.csdn.net/shenxiaolu1984/article/details/51066975

    流程

    1.通过选择性搜索算法获取2k个候选区域

    2.将候选区域进行合并,获得一些感兴趣区域

    3.将感兴趣区域直接resize为一个固定的大小,并送入一个神经网络

    4.将神经网络的倒数第二层输出作为输入,放入svm中,输出分类

    5.对合适分类的图像进行边框回归得到候选区域

    缺点:

    对候选区域resize,降低了准确率

    对不同大小的物体的检测做的不是很好

    一些训练细节

    1,2使用ss获取候选区域较难复现

    3中训练cnn,输入为一张图片,输出为softmax的分类,  训练时可以使用训练集中IOU>0.6的图像

    5中时先将前4步做完,再去训练最后那一个神经网络

    一个要重点掌握的知识点

    边框回归

    做边框回归的时候,神经网络的输出不是一个简单的回归框,而是

    Input:
    RegionProposal→P=(Px,Py,Pw,Ph)

    感兴趣区域的CNN输出

    Output:
    需要进行的平移变换和尺度缩放

    设Gx,Gy,Gw,Gh为真实值

    tx=(Gx−Px)/Pw
    ty=(Gy−Py)/Ph

    tw=log(Gw/Pw)

    th=log(Gh/Ph)

    tx = w1*p + b1

    ty = w2*p + b2

    tw = w3*p + b3

    th = w4*p + b4

    边框回归的loss是最小二乘 ,使用L2正则化

    为什么要使用这种形式

    不是说别的形式不行,我曾经训练过一个边框回归神经网络,输出的是预测的(x,y,w,h),但是训练时收敛较慢

    其实神经网络中当输出在0-1之间时,网络的收敛比较快

    一个更重要的原因是

    神经网络具有尺度不变性

    而且,对于不管是线性回归还是神经网络,它本质上都是一个函数

    有一篇博客写的比较好

    https://blog.csdn.net/zijin0802034/article/details/77685438

     

  • 相关阅读:
    codepen
    css3 animate
    dowebok 网站
    java第四次实验
    java第九周学习总结
    java第三次实验
    java第八周学习总结
    java第二次试验
    java第七周学习总结
    java第六周学习总结
  • 原文地址:https://www.cnblogs.com/shensobaolibin/p/10310560.html
Copyright © 2011-2022 走看看