fastRcNN算法路面病害检测_R语言经典算法

fastRcNN算法路面病害检测_R语言经典算法  FastR-CNN算法是作者RossGirshick继R-CNN后的又一力作。R-CNN虽然取得了不错的成绩,但是其缺点也很明显。FastR-CNN同样使用VGG-16网络结构,与R-CNN相比训练时间快9倍,测试时间快213倍,准确率从62%提升至66%(再Pascalvoc数据集上)。FastR-CNN主要是解决R-CNN存在的问题:测试训练速度慢,主要是提取候选区域的特征慢:R-CNN首先从测试图中提取2000个候选区域,然后将这2000个候选区域分别输入到预训练好的CNN中提取特征

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

  Fast R-CNN算法是作者Ross Girshick对R-CNN算法的一种改进。R-CNN虽然取得了不错的成绩,但是其缺点也很明显。Fast R-CNN同样使用VGG-16网络结构,与R-CNN相比训练时间快9倍,测试时间快213倍,准确率从62%提升至66%(再Pascal voc数据集上)。Fast R-CNN主要是解决R-CNN存在的问题:

  • 测试训练速度慢,主要是提取候选区域的特征慢:R-CNN首先从测试图中提取2000个候选区域,然后将这2000个候选区域分别输入到预训练好的CNN中提取特征。由于候选区域有大量的重叠,这种提取特征的方法,就会重复的计算重叠区域的特征。在Fast-RCNN中,将整张图输入到CNN中提取特征,在邻接时再映射到每一个候选区域,这样只需要在末尾的少数层单独的处理每个候选框。
  • 训练需要额外的空间保存提取到的特征信息:R-CNN中需要将提取到的特征保存下来,用于为每个类训练单独的SVM分类器和边框回归器。在Fast R-CNN中,将类别判断和边框回归统一的使用CNN实现,不需要再额外的存储特征。

  Fast R-CNN算法步骤

  1. 输入一张图像生成1K~2K个候选区域(使用Selective Search方法);
  2. 将图像输入网络得到相应的特征图,将Selective Search算法生成的候选框投影到特征图上获得相应的特征矩阵;
  3. 将每个特征矩阵通过ROI pooling层缩放为7×7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

在这里插入图片描述
关于Fast R-CNN的几个点:

  1. 一次性计算整张图像特征:R-CNN依次将候选框区域输入卷积神经网络得到特征;Fast R-CNN将整张图像输入网络,紧接着从特征图像上提取相应的候选区域,这些候选区域的特征不需要再重复计算。
  2. ROI 池化层
  3. 分类器和边界框回归器
  4. Multi-task loss: L ( p , u , t u , v ) = L c l s ( p , u ) + λ [ u ⩾ 1 ] L l o c ( t u , v ) L(p, u, t^{u}, v)=L_{cls}(p, u)+ \lambda[u\geqslant 1]L_{loc}(t^{u}, v) L(p,u,tu,v)=Lcls(p,u)+λ[u1]Lloc(tu,v)

Fast R-CNN是对R-CNN的一种改进:

  1. 卷积不再是对每个候选区域进行,而是直接对整张图像进行,这样减少了很多重复计算;
  2. 用ROI pooling进行特征的尺寸变换,因为全连接层的输入要求尺寸大小一样,因此不能直接把候选区域作为输入;
  3. 将回归器放进网络一起训练,每个类别对应一个回归器,同时用softmax的全连接层代替原来的SVM分类器。

Fast R-CNN存在的问题:

  1. 依旧使用Selective Search算法提取候选区域,耗时较长;
  2. 无法满足实时应用,没有真正实现end-to-end训练测试;
  3. 利用了GPU,但是候选区域方法是在CPU上实现的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196164.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JavaScript数组遍历6 some方法

    JavaScript数组遍历6 some方法上一篇文章我们讲述了every方法,这里我们将会进行讲解some方法和every方法相似some方法也接收2个参数;第一个参数是一个函数第二个参数是一个传入值。其中第一个参数接收3个参数第一个参数是当前值,第二个参数是当前值的索引值,第三个参数是本数组。some方法的使用和every的方法相似但是也有一个返回值,返回当前的数组是否有符合的条件。如果没有返回值,则返回的是undefined。当有一个值满足条件则会停止遍历。下面是使用some方法的例子。<!DOCTYPEhtml><

    2022年10月20日
    0
  • 查看webpack版本命令_webpack阮一峰

    查看webpack版本命令_webpack阮一峰想着搞一下webpack的构建优化,网上看到一些方法说是要webpack4及以上的才能用。然后就要看看是啥版本来着——查看当前项目的webpack版本1.命令行执行npxwebpack-v(最方便啦)因为webpack是局部安装,要进入依赖包执行webpack的命令才有效,直接webpack-v会被认为命令无效。使用npm包执行器npx可以自动找到对应的包执行命令(一般安装了npm会自动安装npx)2.在package.json添加script命

    2022年8月10日
    40
  • java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口

    前两天做项目遇到一个问题,就是在自己的项目中要去访问项目外部的接口,从自己的项目中传参数过去,通过调用 对方提供的接口去获取想要得到的数据!第一次接触到在自己项目中去访问和调用外部的资源,然后在网上去找资料,看有没有相关的资料可以参考,然后通过参考其他人的博客资料,最终把这个问题解决了。自己总结一下这个过程,也供遇到相同或者类似问题的朋友可以快速的定位和解决问题。     下面讲一下我的问题和

    2022年2月24日
    50
  • Fiddler+夜神模拟器进行APP抓包

    Fiddler+夜神模拟器进行APP抓包Fiddler+夜神模拟器进行APP抓包作者:霞落满天需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。工具:Fiddler抓包,夜神模拟器模拟手机安装APP1.下载Fiddlerhttps://www.telerik.com/download/fiddlerFiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信…

    2022年5月7日
    99
  • 编译Android 4.4.4 r1的源码刷Nexus 5手机详细教程

    编译Android 4.4.4 r1的源码刷Nexus 5手机详细教程网上关于编译Android源码的教程已经很多了,但是讲怎么编译Android源码刷到真机上的教程不是很多并且也没有讲清楚,仅仅编译Android源码不部署到真机上折腾一下是不愉快的。在Android安全学习的过程不免涉及到修改Android源码过各种对抗的事情,今天有空来学习一下如何编译Android源码部署到谷歌的Nexus5手机上,以Android4.4.4r1的源码为例子,在Ubun

    2022年5月24日
    28
  • 一个多边形内部有3枚钉子_多边形的内部和外部

    一个多边形内部有3枚钉子_多边形的内部和外部Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 24 Accepted Submission(s) : 7Problem DescriptionStatement of the Problem Several drawing applications allow us to draw polygons and almost all of the

    2022年8月10日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号