营销型平台网站,网站开发如何找甲方,设计wordpress主题,wordpress dt插件人和动物的区别之一是人能使用工具#xff0c;而在人开始使用磨制石器时人类进入新石器时代。在目标检测领域#xff0c;也有一个划时代的算法#xff0c;在它之后目标检测开始进入深度学习的时代——它就是今天的主角#xff1a;R-CNN。在RCNN之后#xff0c;出现了更多优…人和动物的区别之一是人能使用工具而在人开始使用磨制石器时人类进入新石器时代。在目标检测领域也有一个划时代的算法在它之后目标检测开始进入深度学习的时代——它就是今天的主角R-CNN。在RCNN之后出现了更多优秀的CNN算法Fast-RCNNFaster-RCNNYOLO等。
作为时代的分水岭RCNN利用了CNN提取特征的强大之处同时利用了传统方法和机器学习的方法最终达到了不错的效果。RCNN大致分为以下几个步骤
1.候选区域生成
2.CNN特征提取
3.SVM分类
4.回归器特征box位置
候选区域生成
目标检测的核心就是分类classification定位location定位就是用矩形框选定目标物体。候选区域生成其实就是一个粗定位得到一些大概率是目标的区域。具体的方法有滑窗分割等。R-CNN使用的是Selective Search。在特征上SS利用了纹理颜色等信息在多样性上SS尝试了多种起始点多种相似度策略多种色彩空间在流程上SS使用Hierarchical Grouping Algorithm这是一种自下而上的思想不断地合并细小的区域得到整幅图像时停止。最终SS会得到约2000张候选区域。
与sliding windows相比得到的regions数量少且具有一定的语义。 CNN特征提取
以往的特征提取方法都是手动设计如方向梯度直方图Histogram of Oriented Gradient, HOGSIFT等而CNN强大之处就在于可以提取到深层次的特征。可以直接使用ILSVRC训练好的模型然后再在PASCAL VOC上进行迁移学习。这一阶段是依靠监督学习分类来学习特征。Alexnet精度是58.5%VGG16精度是66%。VGG这个模型的特点是选择比较小的卷积核、选择较小的跨步这个网络的精度高不过计算量是Alexnet的7倍。RCNN使用的是AlexNet的finetuning版本。Alexnet是CNN五大经典模型Lenet1986Alexnet2012Googlenet2014VGG2014DeepResidual learning2015之一也是最经典的算法赢得了当年的ImageNet比赛冠军使CNN成为图像分类中的核心算法模型。相关论文出自NIPS2012作者是大神Alex Krizhevsky属于多伦多大学Hinton组。《ImageNet Classification with Deep Convolutional Neural Networks》
在迁移学习中有三点需要注意1.预训练分类模型是1000类VOC中是20类加上背景是21类所以需要调整全连接的大小2.输入是第一步中得到的候选区域而因为全连接的存在需要将输入归一化到尺寸相同3.VOC的类别标签是针对定位框的只有当候选区域的框位置与标签的定位重合到一定程度时才认为是正样本。
关于第二点的归一化方法有几种可选的方法分别是直接各向异性缩放warp和crop。第二种又分先扩充后裁剪和先裁剪后填充。经过最后的试验作者发现采用各向异性缩放、padding16的精度最高。 关于第三点如何量化重合度需要引入IoU的概念其含义是两个区域的交集和并集之比。大于0.5则认为该region的label与GT一致。 SVM分类器
之前使用的CNN表面是在分类但真正目的其实只是提取特征提取特征之后每个候选框可以得到一个4096维的特征向量使用得到的CNN特征再输入线性SVM中训练分类器。为什么要“画蛇添足”般地使用SVM呢因为CNN容易过拟合所以期望样本数目多一些所以在判断正样本的时候条件比较松IoU0.5就认为是正样本。而SVM本身是结构风险最小以SVM为分类器时改变了正负样本的判定条件候选框完全包含GoundTruth的定位框才是正样本当IoU0.3时是负样本。 SVM支持向量机其实是可以支持多分类的即SVMs分类器。但是论文不是对21个类别漏了background类哦使用一个SVM而是使用了One-Versu-All的方法对每个类别都使用个SVM这里只需要20个SVM想想为什么。方法很简单对于每个类别来说一个Region如果不是该类别那就是背景。由于负样本很多使用hard negative mining方法。每个SVM判断候选框是否属于这一类。对于2000个候选框属于第i类的得分进行降序排列可以使用NMS去除重叠的候选框。
非极大值抑制NMS先计算出每一个bounding box的面积然后根据score进行排序把score最大的bounding box作为选定的框计算其余bounding box与当前最大score与box的IoU去除IoU大于设定的阈值的bounding box。然后重复上面的过程直至候选bounding box为空然后再将score小于一定阈值的选定框删除得到这一类的结果然后继续进行下一个分类。
回归器
即便得到了概率相对较大的候选框它的定位仍然可能不准确这里可以使用回归器进行位置的微调。输入仍然是4096维的特征向量输出是xy方向上的缩放和平移这意味着可以改变候选框的大小和位置。当IoU0.6时认为是正样本。 黄色框口P表示建议框Region Proposal绿色窗口G表示实际框Ground Truth红色窗口G^表示Region Proposal进行回归后的预测窗口现在的目标是找到P到G^的线性变换【当Region Proposal与Ground Truth的IoU0.6时可以认为是线性变换】使得G^与G越相近这就相当于一个简单的可以用最小二乘法解决的线性回归问题。
Reference
1.下载链接http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf
2.http://xueshu.baidu.com/s?wdpaperuri:%286f32e0834ddb27b36d7c5cda472a768d%29filtersc_long_signtnSE_xueshusource_2kduw22vsc_vurlhttp://arxiv.org/abs/1311.2524ieutf-8sc_us2810736414368325775
3.https://blog.csdn.net/shenxiaolu1984/article/details/51066975
4.实训周报实训周报2--RCNN论文解读_LiemZuvon的博客-CSDN博客
5.问题https://blog.csdn.net/wopawn/article/details/52133338
6.IOU http://shartoo.github.io/RCNN-series/