计算机视觉领域经典模型汇总(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虚拟机反射机制? 虚拟机在运行期间,对于任何一个类,我们都能知道其内部信息,包括属性,方法,构造函数,实现接口;对于任何一个对象,我们都能获取其字段值、调…

C++ using的多种用法

1、引入命名空间 using namespace std; using std::cout; 2、引入基类成员 class Base{ public:void func(){cout << "Base::func()" << endl;} }; class Derived : public Base{ public:using Base::func;void func(int x){cout << "Deriv…

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

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

网络安全的规划

防火墙被应用于内部网与外部网的连接之间&#xff0c;通过2~6 块 100M 快速以太网 卡直接连在——交换机上。使用虚拟网&#xff08;VLAN&#xff09;技术&#xff0c;来自 INTERNET 对内部网 12 的访问首先要经过防火墙&#xff0c;防火墙对进出内部网的数据内容进行各个层次…

nginx报错file not found解决

文章目录 一、nginx配置文件修改1.1 配置文件位置1.2 php fastcgi配置1.3 测试 二、nginxphp运行原理三、外网访问内网设置 采用nginxphp作为webserver的架构模式&#xff0c;在现如今运用相当广泛。然而第一步需要实现的是如何让nginx正确的调用php。由于nginx调用php并不是如…

软考高级系统架构设计师系列案例考点专题五:Web应用开发

软考高级系统架构设计师系列案例考点专题五:Web应用开发 一、Web应用技术分类二、数据库与Web服务器三、应用服务器集群四、负载均衡技术1.应用层负载均衡技术2.传输层负载均衡技术五、数据库读写分离化六、用缓存缓解库读取压力七、有状态和无状态八、内容分发网络九、表述性…

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

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

springboot~静态资源配置

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

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

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

linux vim用法

vim 查找关键字 /关键字 &#xff0c;回车即可。此为从文档当前位置向下查找关键字&#xff0c;按n键查找关键字下一个位置&#xff1b; ?关键字&#xff0c;回车即可。此为从文档当前位置向上查找关键字&#xff0c;按n键向上查找关键字&#xff1b; vim跳转 gg 跳转到第一…

C++中std::enable_if和SFINAE介绍

作为一个标准的C++模板类,我们先看下enable_if的定义: // STRUCT TEMPLATE enable_if template <bool _Test, class _Ty = void> struct enable_if {}; // no member "type" when !_Testtemplate <class _Ty> struct enable_if<true, _Ty> { //…

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

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

TCP/IP UDP广播无法发送或接收

TCP/IP UDP广播无法发送或者接收数据 在看《TCP/IP 网络编程》这本书的时候&#xff0c;看到广播那一节&#xff0c;跟着书上写代码&#xff0c;怎么写都不行&#xff0c;广播就是没法发送/接收&#xff0c;发送端一直在发送数据&#xff0c;接收端就是没有反应。 对了好几遍…

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格式…

230908-MetaGPT构建专属AI Agent的技术实践-视频笔记

LangChain >>> 概念过载MetaGPT&#xff1a;通过AI&#xff0c;完成GPT的自举原编程应该是一个函数&#xff0c;而不是人去做3月到5月&#xff1a;目前业界所有开源工程及对应论文60&#xff0c;写了54篇对应笔记LangChain >>> 9万6000行代码&#xff0c;655…