RCNN算法思想简单讲解概述————(究极简单的讲述和理解)

news2024/12/25 13:11:25

       学习的过程中发现一个问题,如果不能大概的了解一下一个算法的思想直接去看他的论文,或者去看他算法的讲解就很痛苦,看不懂,学的效率也非常低,类似我之前发的RCNN论文精度的博客。RCNN目标检测算法内容详解(依托论文讲解)_小馨馨的小翟的博客-CSDN博客_rcnn论文下载

我想我们在学习一个算法之前,还是得整体大概的了解一下这个算法的流程,是如何工作的,然后再去完成细节的学习这个算法,这样效果应该会好一点。好了,废话少说,我们讲一个RCNN的大致思想和流程,方便大家去细致的学习RCNN,当然也是为大家细致的学习RCNN做个铺垫。

RCNN——Region-CNN(区域卷积神经网络)

       在讲述RCNN之前,我们要简单讲解一下目标检测的刚开始发展情况。最开始的只有图像分类算法,后来人们发现当一个图片上存在多个目标的时候,我们单纯对图片进行分类已经没有意义,我们更需要先对目标进行定位,即获得目标的位置,然后再进行分类(即识别目标的种类)。由此,人满开始了对目标检测算法的研究。

      刚开始设计的目标检测算法是滑动窗口法如下图:

滑动窗口从最上角到右下角进行移动,然后对每个窗口截取的图像打入到CNN里面进行分类,从而确定目标的位置。(这是最开始的目标检测算法)当然这是非常低效的,因为我们需要把图像经过滑动窗口截取成好多块,然后都打入CNN进行训练,非常浪费时间和算力。

特别是这一块地,上面啥目标都没有,我却还需要把他打入到CNN上进行训练,这显示是低效且无用的。 

     就在这个时候,R-CNN出现了,横空出世,提出了候选区域的思想,解决了无用区域被打入CNN进行训练导致算法太慢,算力浪费等问题。

     那么到底什么是候选区域呢? 简单来说就是我们的算法在进行滑动窗口处理图像之前,先对图像进行图像分割,获取可能出现目标的区域,然后再进行滑动窗口处理,这样可以尽可能的减少滑动窗口对无用的区域进行识别分类,大大的提高了算法的速度。

具体的候选区域选择,图像分割的流程如下:

我们在对象图像进行滑动窗口处理之前,先使用传统的图像处理方法对图像进行图像分割,这样我们就能确定图像中大块的颜色不一样的连通区域即是我们可能存在的目标对象。即,图像存在的蓝色的绿色的等等就是可能存在目标的区域,即所谓的候选区域,然后我们只对这些区域进行滑动窗口处理,这样就大大的提升了算法的效率!

 

 这样看来总结一下RCNN的流程:

                                    首先我们对图像进行传统图像分割,

                                    然后将图像中的连通区域作为我们滑动窗口的候选区域region

                                     对于这些候选区域region进行滑动窗口处理,然后打入CNN进行分类识别

                                     输出目标的坐标和种类,即达到目标检测的目的。

       

 

后续的对于R-CNN的优化算法,例如Fast R-CNN 或者 Raster R-CNN也大部分集中在对使用更好的图像分割算法而不是传统的图像算法,或者使用的卷积代替滑动窗口等等。但是总体R-CNN系列算法的流程是没有变的。虽然说对于R-CNN的一系列优化大大加快了R-CNN系列算法的速度,但是跟yolo系列比起来,它还是太慢了,太慢了!下期我们将会讲述yolo系列的算法,冲冲冲!下期肝yolo!

 

好了,我想我已经说的很明白了,有问题的可以在评论里指出来,大家一起学习!真理越辩越明!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FreeIPA 统一身份认证实现

1、FreeIPA 简介 FreeIPA是一个用于Linux/Unix环境开源的身份管理系统,提供集中式帐户管理和身份验证,与Windows Active Directory或LDAP的作用类似。FreeIPA集成了389目录服务器、MIT Kerberos、Apache HTTP服务器、NTP、DNS、Dogtag(证书系统)和SSSD,使其成为标识管理、…

使用Flink的各种技术实现WordCount逻辑

使用Flink的各种技术实现WordCount逻辑 在大数据程序中,WordCount程序实现了统计词频的作用,这个WordCount程序也往往在大数据分析处理中一直占着非常重要的地位。统计一天内某网站的访问次数,需要对网站排序后求其词频,统计一段…

【智能电网随机调度】智能电网的双层模型时间尺度随机优化调度(Matlab代码实现)

目录 1 概述 2 数学模型 3 运行结果 4 结论 5 参考文献 6 Matlab代码实现 1 概述 随着可再生能源发电量的增加,配电网的能源管理正成为一项计算上具有挑战性的任务。来自光伏(PV)装置的太阳能可以在一分钟内发生显着变化。可以命令光伏…

MongoDB安装Mac M1

1、下载安装包: axInstall MongoDB Community Edition on macOS — MongoDB Manualhttps://www.mongodb.com/docs/v6.0/tutorial/install-mongodb-on-os-x/下载解压,重命名为mongodb 放到 /usr/local 目录下 2、配置文件打开配置文件 open -e .bash_p…

java计算机毕业设计ssm某大学校园竞赛管理系统07494(附源码、数据库)

java计算机毕业设计ssm某大学校园竞赛管理系统07494(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&…

阿里云企业用户12月活动:c7/g7/r7系列产品报价出炉

阿里云企业用户12月优惠活动开始了,阿里云超企业用户热销产品,c7/g7/r7系列,4折起,性能优异,助您数智化转型。通过芯片快速路径加速,实现存储、网络性能以及计算稳定性的大幅提升。下方卡片显示价格为企业新…

一文读懂 HTTP/2 特性

HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新,主要基于 SPDY 协议。由互联网工程任务组(IETF)的 Hypertext Transfer Protocol Bis(httpbis)工作小组进行开发。该组织于2014年12月将HTTP/2标准提议递交至…

Redis专题(六):Redis主从复制、哨兵搭建以及原理

安装redis:Rdis专题目录 搭建步骤 复制 redis.conf文件 > redis-6380.conf 。将上述复制的文件修改如下配置: a. 端口号:port 6380 b. pidfile /var/run/redis_6380.pid #吧pid进程号写入pidfile配置的文件 c. logfile “6380.log” d. d…

JUC系列(七) ForkJion任务拆分与异步回调

📣 📣 📣 📢📢📢 ☀️☀️你好啊!小伙伴,我是小冷。是一个兴趣驱动自学练习两年半的的Java工程师。 📒 一位十分喜欢将知识分享出来的Java博主⭐️⭐️⭐️,擅…

【OPENCV_系列电子PDF图书连载】计算机视觉从入门到精通完整学习路线专栏

OPENCV_PDF图书连载之— 图像的几何变换 一、图像几何变换_a:图像坐标仿射 仿射自定义代码展示: warpAffine.pointsAffine【自定义包】 from img_pakage.ocv import warpAffineimg_path f../img/three_angle.png warpAffine.pointsAffine(img_path,0,0,24,217,…

python数据容器——元组、字符串

目录 一.思考 二.元组 元组定义 元组不可修改 注意事项 三.元组的操作 1.嵌套使用 2. .index方法 3. .count方法 4. len(元组)方法 四.字符串 1.字符串的下标 2.字符串的常用操作 字符串.index(字符串) 查找特定字符串的下标索引值 ​编辑…

1.1 大数据简介-hadoop-最全最完整的保姆级的java大数据学习资料

文章目录1 hadoop-最全最完整的保姆级的java大数据学习资料1.1 大数据简介1.1.1 大数据的定义1.1.2 大数据的特点1.1.3 大数据的应用场景1.1.4 大数据的发展趋势及职业路线1.4.4.1 大数据发展趋势1.4.4.2 大数据职业发展路线1 hadoop-最全最完整的保姆级的java大数据学习资料 大…

同事老是吐槽我的接口性能差,原来真凶就在这里!

V-xin:ruyuanhadeng获得600页原创精品文章汇总PDF 一、前情回顾 上篇文章:《为什么每个程序员都必须坚持写博客?这篇文章教你怎么写!》聊了一下系统架构中,百亿流量级别高并发写入场景下,如何承载这种高并…

Kotlin高仿微信-第37篇-拍照

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

ZPL II 语言编程基础

ZPL II 语言概述 ZPL语言是一种script语言,分为ZPL语言和ZPL II 语言Zebra打印机支持最广泛的一种语言 ZPL II语言支持复杂标签格式,如文字,图片,条形码,序列号打印等等 ZPL II文件可以通过以下两种方式实现 纯文本编…

java字符编码总结

一、字符集(Charcater Set)与字符编码(Encoding) 字符集(Charcater Set 或 Charset):是一个系统支持的所有抽象字符的集合,也就是一系列字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。常见的字符集有…

记录--从AI到美颜全流程讲解

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 美颜和短视频 美颜相关APP可以说是现在手机上的必备的软件,例如抖音,快手,拍出的“照骗”和视频不加美颜效果,估计没有人敢传到网上。很多人一直好奇美颜…

力扣hot100——第3天:11盛最多水的容器、15三数之和、17电话号码的字母组合

文章目录1.11盛最多水的容器1.1.题目1.2.解答1.2.1.题解1.2.2.自己对参考题解的进一步解释2.15三数之和【代码随想录已刷】3.17电话号码的字母组合【代码随想录已刷】1.11盛最多水的容器 参考:力扣题目链接;题解 1.1.题目 1.2.解答 1.2.1.题解 这道题…

Mybatis-多表联查

多表联查一、步骤一:创建pojo实体类二、步骤二:明确两个实体类之间的关系三、步骤三:修改pojo实体类四、步骤四:编写Mapper接口五、步骤五:编写Mapper映射文件题目1:通过订单id查询订单详情以及所属用户题目2:通过用户…

OpenCV入门(C++/Python)- 使用OpenCV读取、显示和写入图像(一)

使用OpenCV读取、显示和写入图像1.imread()读取图像imread()函数2.imshow()在窗口中显示图像waitKey()destoryAllWindows()3.imwrite()将图像写入文件目录读取、显示和写入图像是图像处理和计算机视觉的基础。即使裁剪、调整大小、旋转或应用不同的过滤器来处理图像&#xff0c…