计算机视觉领域经典模型汇总(2023.09.08

一、RCNN系列

1、RCNN

RCNN是用于目标检测的经典方法,其核心思想是将目标检测任务分解为两个主要步骤:候选区域生成和目标分类。

  • 候选区域生成:RCNN的第一步是生成可能包含目标的候选区域,RCNN使用传统的计算机视觉技术,特别是选择性搜索(Selective Search)算法,这是一种Region Proposal区域提议方法,它根据图像中的纹理、颜色和形状等信息来生成潜在的候选区域。选择性搜索生成的候选区域通常数千个,因此需要对这些区域进行裁剪和调整,以使它们具有相同的大小和纵横比。
  • 特征提取:对于每个候选区域,RCNN使用深度卷积神经网络(通常是在ImageNet数据集上预训练的AlexNet)来提取特征。这些特征用于表示每个候选区域的内容。RCNN通过将每个候选区域的图像块调整为固定大小,然后通过卷积神经网络进行前向传播,得到一个固定维度的特征向量。
  • 目标分类:对于每个候选区域,RCNN将提取的特征向量输入到一个支持向量机(SVM)分类器中共,以确定该区域是否包含感兴趣的目标物体。RCNN还对每个目标物体的类别进行分类,使用不同的SVM分类器来表示不同的类别。每个分类器被训练为将包含目标物体的候选区域与不包含目标物体的区域进行区分。
  • 边界框回归:为了提高目标的位置精度,RCNN还使用了一个回归器来微调每个候选区域的边界框,这个回归器被训练为预测候选区域与实际目标边界框之间的差异。
  • 训练:RCNN的训练分为两个阶段,预训练和微调。①预训练阶段,卷积神经网络(Alexnet)在大规模图像分类任务上进行与训练,以获得有用的特征提取器。②微调阶段,使用标注的目标检测数据对整个RCNN模型进行微调,包括SVM分类器和边界框回归器。
  • 优点和缺点:①优点:RCNN在目标检测上取得了很好的性能,特别是在大规模目标检测数据集上。它能够处理不同大小和形状的目标,并且可以适应多类别目标检测。②缺点:RCNN是一个复杂的多阶段模型,难以实现端到端的训练,后续版本(如Fast R-CNN和Faster R-CNN)针对这些缺点进行了改进,提高了速度和性能。

2、Fast R-CNN(Fast Region-based Convolutional Neural Network)

Fast R-CNN是在RCNN和Selective Search基础上提出的改进方法,主要创新是将整个目标检测流程集成到一个卷积神经网络(CNN)种,从而显著提高了速度和性能。

  • 候选区域生成:不同于RCNN中使用选择性搜索,FastRCNN使用卷积网络直接从输入图像中生成候选区域。使用一个称为Region Proposal Network(RPN)的子网络,RPN可以高效地生成多尺度和多形状地候选区域,这些区域被称为锚框(Anchor Boxes)。
  • 特征提取:FastRCNN使用卷积神经网络来提取每个候选区域的特征。这些区域特征被送入网络中以进行目标分类和边界框回归。使用卷积层和ROI(Region of Interest)池化层来提取固定维度的特征向量
  • 目标分类和边界框回归:对于每个候选区域,Fast R-CNN使用两个并行的全连接层,一个用于目标分类(哪个类别?)和用于边界框回归(目标位置)。分类层使用softmax来预测目标的类别概率,而回归层用于微调候选区域的边界框。
  • 训练:Fast R-CNN进行端到端的训练,可以同时优化RPN、目标分类和边界框回归的损失函数。训练数据包括正样本(包含目标的锚框)、负样本(不包含目标的锚框)以及他们的标签。

3、Faster R-CNN(Faster Region-based Convolutional Neural Network)

Faster R-CNN 进一步改进了 Fast R-CNN,将目标检测模型的速度提高到了一个新的水平,同时保持了很高的准确性。

  • 候选区域生成:Faster R-CNN引入了一个完全卷积网络,作为RPN,用来生成候选区域。RPN是一个端到端可训练的网络,可以生成候选区域。
  • 特征提取:与Fast-RCNN类似,Faster R-CNN 使用卷积神经网络来提取候选区域的特征。
  • 目标分类和边界框回归:Faster R-CNN 与 Fast R-CNN 具有相似的目标分类和边界框回归步骤。
  • 训练:Faster R-CNN 通过联合训练 RPN 和检测网络(包括目标分类和边界框回归)来优化整个系统。整个模型可以一次性生成候选区域并执行目标检测,从而提高了速度。

二、yolo系列

计算机视觉领域,目标检测是一个十分重要的研究主题, 广泛应用在人脸识别、车牌识别、安防、智慧交通、自动驾驶等领域。主要经典算法有:YOLO

1、YOLOv1

以往的二阶段检测算法,如Faster-RCNN,在检测时需要经过两步:边框回归和softmax分类。由于大量预选框的生成,该方法检测精度较高,但实时性较差。YOLO之父Joseph Redmon提出了通过直接回归的方式获取目标检测的具体位置信息和类别分类信息。极大的降低了计算量,显著提升了检测的速度。达到了45FPS(Fast YOLO版本达到了155FPS)。

  • 思路:①将输入图片缩放至448x448x3大小;②经过卷积网络backbone提取特征图;③把提取到的特征图送入两层全连接层,最终输出7x7x30大小的特征图。更进一步讲,就是将输入的图片整体划分为SxS的网格(例如7x7),物体中心落在哪一个格子中,那么该各自就负责该物体的检测,每一个格子预测B个边框,输出SxS(B*5+C)。对于YOLOv1而言,常用的是7x7的网格划分,预测2个边框,输出7x7x30,30个通道包含每个类别的概率+边框置信度+边框位置信息。

  • 网络结构:骨干网络是GoogleNet网络,24个卷积层+2个全连接层。使用7x7卷积。
  • 优势与不足:①优点:与二阶段检测算法相比,利用直接回归的方式,大大缩小了计算量,提升了运行速度。②不足:每一个网格仅有两个预测框,当存在多物体密集挨着或者小目标的时候,检测效果不好。

2、YOLOv2

与YOLOv1相比,v2做了三点改变①更换骨干网络;②引入PassThrough;③借鉴了二阶段检测的思想,添加了预选框。

  • 思路:将图片输入到darknet19网络中提取特征图,然后输出目标框类别信息和位置信息。
  • 网络结构:骨干网络为darknet19,如下图所示针对1000类别的分类任务,只不过对于检测任务而言,需要使用3x3卷积(输出通道1024)取代上表中最后的卷积层,再添加Passthrough操作后,进行输出。已不再使用7x7这样的大卷积核:

  •  技巧1: PassThrough操作-该方法将28x28x512调整为14x14x2048,后续v5版本中的Focus操作类似该操作。将生成的14x14x2048与原始的14x14x1024进行concat操作。

  •  技巧2:引入anchor,调整位置预测为偏移预测借鉴了Faster-RCNN的思想,引入了anchor,将目标框的位置预测由直接预测坐标调整为偏移量预测,大大降低了预测难度,提升了预测准确性。

  • 优势与不足:①优势:利用passthrough操作对高低层语义信息进行融合,在一定程度上增强了小目标的检测能力。采用小卷积核代替7x7的大卷积核,降低了计算量,同时改进的位置偏移策略降低了检测目标框的难度。② 尚未采用残差网络结构,且当存在多物体密集挨着的时候或者小目标的时候,检测效果有待提升。

3、YOLOv3(晚点接着更这条....现在得去看数据分析题咯...555555555555

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

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

相关文章

【0908练习】shell脚本使用expr截取网址

题目: 终端输入网址,如:www.hqyj.com, 要求:截取网址每个部分,并放入数组中,不能使用cut,使用expr解决 #!/bin/bash read -p "请输入一个网址" net lenexpr length $net …

Unity中Shader的屏幕抓取 GrabPass

文章目录 前言一、抓取1、抓取指令2、在使用抓取的屏幕前,需要像使用属性一样定义一下,_GrabTexture这个名字是Unity定义好的 前言 Unity中Shader的屏幕抓取 GrabPass 一、抓取 1、抓取指令 屏幕的抓取需要使用一个Pass GrabPass{} GrabPass{“NAME”} 2、在使用…

TGA格式文件转材质

今天淘宝上买了一个美女的模型,是blender的源文件,上面说有fbx格式的。我用unity,所以觉得应该可以用。文件内容如下图: FBX文件夹打开后,内容如下图所示,当时就预感到可能没有色彩。 unity打开后果然发现只…

CSS的break-inside 属性 的使用

break-inside 属性在 CSS 页码分隔模块中使用,它定义了一个元素内部是否允许发生页面、栏目或者区域的分隔。 break-inside有以下几个值 break-inside: avoid- 表示避免在该元素内部发生分页或者分栏。break-inside: auto - 默认允许分页break-inside: avoid-page - 避免页面…

Java虚拟机反射机制

1 什么是Java虚拟机反射机制? 虚拟机在运行期间,对于任何一个类,我们都能知道其内部信息,包括属性,方法,构造函数,实现接口;对于任何一个对象,我们都能获取其字段值、调…

Git 客户端基本使用及新手常见问题

Git作为一个版本管理工具,在企业中的应用越来越普遍。作为一个测试工程师,不可避免会需要接触到Git的相关操作,以下整理Git客户端的常见操作,以及应用中新手常碰到的一些问题。 1、环境安装及配置 Git下载地址:https…

手敲Cocos简易地图编辑器:人生地图是一本不断修改的书,每一次编辑都是为了克服新的阻挡

引言 本系列是《8年主程手把手打造Cocos独立游戏开发框架》,欢迎大家关注分享收藏订阅。 在上一篇文章,笔者给大家讲解了在Cocos独立游戏开发框架中,如何自定义实现Tile地图管理器,成功地在游戏中优化加载一张特大的地图。接下来…

springboot~静态资源配置

springboot~静态资源配置 springboot的静态资源默认路径给静态资源请求加前缀指定静态资源加载的包欢迎页 springboot的静态资源默认路径 请求效果见图 给静态资源请求加前缀 有时需要用拦截器对某些请求进行拦截后再处理相关的业务代码,此时我们就要对请求进行…

腾讯云PK阿里云2核2G云服务器租用价格表

2核2G云服务器可以选择阿里云服务器或腾讯云服务器,腾讯云轻量2核2G3M带宽服务器95元一年,阿里云轻量2核2G3M带宽优惠价108元一年,不只是轻量应用服务器,阿里云还可以选择ECS云服务器u1,腾讯云也可以选择CVM标准型S5云…

ICIF2023化工展首亮相,宏工科技解决方案助力制造升级

ICIF China 2023中国国际化工展览会于9月4日-6日在上海新国际博览中心举办。宏工科技携化工物料处理一站式解决方案首次亮相,同化工行业全产业链共叙物料处理自动化未来。 宏工科技是一家提供物料处理自动化设备、系统与服务的国家级高新技术企业,业务覆…

uniapp 微信小程序最新隐私弹窗更新方案,更新后无法登录问题解决方案

1&#xff0c;在manifest.json文件中的mp-weixin 节点下&#xff0c;添加&#xff1a;"__usePrivacyCheck__": true 2&#xff0c;在需要的页面配置隐私保护弹窗&#xff0c;或者直接写到首页也可以 <uni-popup ref"popusAuthorization" type"cen…

overleaf 参考文献引用,创建引用目录.bib文件,在文档中引用参考文献,生成参考文献列表

目录 1 创建一个Overleaf项目 2 导入或创建 .bib 文件 2.1 导入 .bib 文件&#xff1a; 参考文献的 .bib文件获取步骤 &#xff08;1&#xff09;打开谷歌学术 &#xff08;2&#xff09;输入文献题目 &#xff08;3&#xff09;点击引用&#xff0c;然后选择BibTex格式…

opencv基础: 视频,摄像头读取与保存的常用方法

当然还可以从视频中抓取截图&#xff0c;所以现在聊一下常用的抓取视频截图的的方法。 VideoCapture 方法 cv2.VideoCapture();cv2.VideoCapture( device);cv2.VideoCapture(filename);上面有三种构造方法&#xff0c; 第一种是无法构造方法。 第二种参数device是一个数字。 …

SpringBoot+jSerialComm实现Java串口通信 读取串口数据以及发送数据

记录一下使用SpringBootjSerialComm实现Java串口通信&#xff0c;使用Java语言开发串口&#xff0c;对串口进行读写操作,在win和linux系统都是可以的&#xff0c;有一点好处是不需要导入额外的文件。 案例demo源码&#xff1a;SpringBootjSerialComm实现Java串口通信 读取串口…

【已更新代码图表】2023数学建模国赛E题python代码--黄河水沙监测数据分析

E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c;以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位于小浪底水…

【算法题】小红书2023秋招提前批算法真题解析

文章目录 题目来源T1&#xff1a;5900: 【DP】小红书2023秋招提前批-连续子数组最大和5801: 【二分查找】小红书2023秋招提前批-精华帖子解法1——排序滑动窗口解法2——前缀和 二分查找 5000: 【模拟】小红书2023秋招提前批-小红的数组构造解法——数学 5300: 【哈希表】小红…

(高阶)Redis 7 第10讲 单线程 与 多线程 入门篇

面试题 1.Redis 是单线程还是多线程 最早的版本3.x是单线程。 版本4.x,严格意义不是单线程。负责处理客户端请求的线程是单线程,开始加入异步删除。 6.0.x版本后明确使用全新的多线程来解决问题 2.说说IO多路复用3.Redis 为什么快IO多路复用+epoll函…

高频golang面试题:简单聊聊内存逃逸?

文章目录 问题怎么答举例 问题 知道golang的内存逃逸吗&#xff1f;什么情况下会发生内存逃逸&#xff1f; 怎么答 golang程序变量会携带有一组校验数据&#xff0c;用来证明它的整个生命周期是否在运行时完全可知。如果变量通过了这些校验&#xff0c;它就可以在栈上分配。…

【力扣】96. 不同的二叉搜索树 <动态规划>

【力扣】96. 不同的二叉搜索树 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5 示例 2&#xff1a; 输入&am…

代码随想录算法训练营第38天 | ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

文章目录 前言一、理论基础二、509. 斐波那契数三、70. 爬楼梯四、746. 使用最小花费爬楼梯总结 前言 动态规划 一、理论基础 1.基础 2.背包问题 3.打家劫舍 4.股票问题 5.子序列问题 动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;…