一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD.docxVIP

一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【深度学习】【检测】?一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD 2019-01-27 原文 文章来源:企鹅号 - 软件定义世界(SDX) 转自:七月在线试验室 一、目标检测常见算法 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要处理的问题就是物体在哪里以及是什么的整个流程问题。 然而,这个问题可不是那么简约处理的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以消灭在图片的任何地方,更何况物体还可以是多个类别。 目前学术和工业界消灭的目标检测算法分成3类: 1. 传统的目标检测算法:Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化; 2. 候选区域/框 + 深度学习分类:通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案,如: R-CNN(Selective Search + CNN + SVM) SPP-net(ROI Pooling) Fast R-CNN(Selective Search + CNN + ROI) Faster R-CNN(RPN + CNN + ROI) R-FCN 等系列方法; 3. 基于深度学习的回归方法:YOLO/SSD/DenseBox 等方法;以及最近消灭的结合RNN算法的RRC detection;结合DPM的Deformable CNN等 传统目标检测流程: 1)区域选择(穷举策略:接受滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历,时间简单度高) 2)特征提取(SIFT、HOG等;外形多样性、光照变化多样性、背景多样性使得特征鲁棒性差) 3)分类器分类(次要有SVM、Adaboost等) 二、传统的目标检测算法 2.1 从图像识别的任务说起 这里有一个图像任务:既要把图中的物体识别出来,又要用方框框出它的位置。 这个任务本质上就是这两个问题:一:图像识别,二:定位。 图像识别(classification): 输入:图片 输出:物体的类别 评估方法:精确?????率 定位(localization): 输入:图片 输出:方框在图片中的位置(x,y,w,h) 评估方法:检测评价函数intersection-over-union(关于什么是IOU,请参看本深度学习分类下第55题:/question/big/kp_id/26/ques_id/2138) 卷积神经网络CNN已经帮我们完成了图像识别(判定是猫还是狗)的任务了,我们只需要添加一些额外的功能来完成定位任务即可。 定位的问题的处理思路有哪些? 思路一:看做回归问题 看做回归问题,我们需要猜测出(x,y,w,h)四个参数的值,从而得出方框的位置。 步骤1: *先处理简约问题, 搭一个识别图像的神经网络 *在AlexNet VGG GoogleLenet上fine-tuning一下(关于什么是微调fine-tuning,请参看本深度学习分类下第54题:/question/big/kp_id/26/ques_id/2137) 步骤2: *在上述神经网络的尾部开放(也就说CNN前面保持不变,我们对CNN的结尾处作出改进:加了两个头:“分类头”和“回归头”) *成为classification + regression模式 步骤3: *Regression那个部分用欧氏距离损失 *使用SGD训练 步骤4: *猜测阶段把2个头部拼上 *完成不同的功能 这里需要进行两次fine-tuning 第一次在ALexNet上做,其次次将头部改成regression head,前面不变,做一次fine-tuning Regression的部分加在哪? 有两种处理方法: ?加在最终一个卷积层后面(如VGG) ?加在最终一个全连接层后面(如R-CNN) regression太难做了,应想方设法转换为classification问题。 regression的训练参数收敛的时间要长得多,所以上面的网络实行了用classification的网络来计算出网络共同部分的连接权值。 思路二:取图像窗口 ?还是刚才的classification + regression思路 ?我们取不同的大小的“框” ?让框消灭在不同的位置,得出这个框的判定得分 ?取得分最高的那个框 左上角的黑框:得分0.5 右上角的黑框:得分0.75 左下角的黑框:得分0.6 右下角的黑框:得分0.8 依据得分的凹凸,我们选择了右下角的黑框作为目标位置的猜测。 注:有的时候也会选择得分最高的两个框,然后取两框的交集作为最终的位置猜测。 怀疑:框要取多大? 取不同的框,依次从左上角扫到右下角。

文档评论(0)

liuxiyuliuxingyu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档