深度学习笔记(5)——目标检测和图像分割

目标检测与图像分割

语义分割:如果没有语义信息,很难正确分类每个像素
解决方案:感知像素周围的语义,帮助正确分类像素

  1. 滑窗计算:计算非常低效,图像块的重叠部分会被重复计算很多次
    解决方案:转向全卷积

  2. 全卷积问题:分类模型会大幅降低特征的分辨率,难以满足分割所需的高分辨率输出
    解决方案:采用没有下采样操作的全卷积网络,维持图像高分辨率\

  3. 无下采样的全卷积问题:在原图尺寸上的卷积操作计算量、显存占用非常大
    解决方案:先采用下采样(大步长的池化、卷积)降低计算量,逐步上采样(Unpooling,转置卷积,线性插值)恢复图像分辨率
    代表网络:U-Net,DeepLab,PSPNet

目标检测:分类+定位

selecctive search:找到有可能存在物体的区域,在CPU上运行,可以在几秒内生成2000多个区域

R-CNN

  1. 将selective search找到的区域作为候选区域
  2. wrap处理后的图像区域
  3. 送入CNN提取特征
  4. 最后使用SVM对每个图像区域分类
  5. 对每个Rol预测调整值:(dx,dy,dw,dh)

问题:效率很低,非常慢,同一区域会被反复计算(框内有重叠)
Idea:使用卷积网络处理整张图像,在特征上进行区域提取
在这里插入图片描述

Fast R-CNN

  1. 使用卷积网络处理整张图像
  2. 投射到由Selective Search生成的候选区域
  3. 对候选区域进行分类和回归
  4. 使用RoI Pooling,将不同大小的候选区域映射到固定大小的特征图

问题:Rol提取的特征与原始proposal中的特征存在差异
解决方法对四个近邻点进行线性插值

RCNN和Fast-RCNN的区别:RCNN是把候选框送入CNN,而fast-RCNN是把整张图片送进去。

在这里插入图片描述

Faster R-CNN

在这里插入图片描述

使用CNN预测proposal,其他模块和Fast R-CNN基本相同
即RCNN和fast RCNN的区域都是用selective search得到的,而faster RCNN的区域是RPN这个区域生成网络(CNN网络)得到的。
假设每个点都有固定大小的锚框,预测每个锚框里面是否存在物体,对于存在物体的锚框,对锚框进行调整,以便更好地将物体框住。
一般来说,每个点会定义K个锚框,具有不同的大小和比例
K × 20 × 5 K\times20\times5 K×20×5个锚框预存在物体的可能性,选择top300作为proposal\

不再使用Selective Search,而是使用RPN生成候选区域,RPN是一个全卷积网络,可以预测锚框的类别和偏移量,RPN和Fast R-CNN共享卷积层,因此可以并行处理,大大提高了速度。
联合四个损失:

  1. RPN分类损失 (是否存在物体):
    这个损失是用来训练RPN来区分一个提议区域是否包含一个对象。对于每个锚点(anchor),RPN预测两个分数,表示该区域是背景(不包含任何目标)或前景(包含至少一个目标)。这是一个二分类问题,通常使用交叉熵损失函数来计算损失。
  2. RPN回归损失 (矩形框):
    RPN除了要决定锚点是否应该被考虑为一个对象外,还负责调整这些锚点的位置以更好地匹配实际的对象边界框。这个损失用来优化锚点的坐标,使其更接近真实的目标边界框。一般采用平滑L1损失(smooth L1 loss)来减少回归误差,因为它对异常值不那么敏感。
  3. 检测分类损失 (物体类别):
    在通过RPN生成了一组候选区域后,这些区域会被送入到快速R-CNN部分进行进一步处理。这部分不仅要确定区域内是否有物体,还需要识别出具体是什么类型的物体。因此,它是一个多类分类问题,其损失函数同样是基于交叉熵损失,但这次是对所有预定义的类别进行分类。
  4. 检测回归损失 (矩形框):
    类似于RPN回归损失,但这是针对最终的检测结果而言的。在快速R-CNN部分,候选区域经过池化层后,会输出更加精确的目标边界框坐标。为了使这些预测框尽可能准确地包围目标,同样使用平滑L1损失来最小化预测框与真实框之间的差异。

实例分割

对检测到的每个实例物体进行分割

Mask R-CNN:架构非常接近Faster RCNN。在Faster RCNN的基础上加上了一个FCN层。
在这里插入图片描述

主要区别在于,在网络的末端,还有另一个头,即上图中的掩码分支,用于生成掩码进行实例分割。还有把Faster RCNN中的ROI Pooling换成了ROIAlign
ROI pooling时目标特征图的单元边界被迫与输入特征图的边界重新对齐。因此,每个目标单元格的大小可能不同
ROI Align,它不会取整单元格的边界并使每个目标单元具有相同的大小。它还应用插值来更好地计算单元格内的特征图值

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go语言的成神之路-筑基篇-gin常用功能

第一节-gin参数绑定 目录 第一节-?gin参数绑定 ShouldBind简要概述 功能: 使用场景: 可能的错误: 实例代码 效果展示 第二节-gin文件上传 选择要上传的文件 选择要上传的文件。 效果展示? 代码部分 第三节-gin请求重定向 第…

【Leecode】Leecode刷题之路第93天之复原IP地址

题目出处 93-复原IP地址-题目描述 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 93-复原IP地址-官方解法 方法1:回溯 思路: 代码示例:(Java&…

【新方法】通过清华镜像源加速 PyTorch GPU 2.5安装及 CUDA 版本选择指南

下面详细介绍所提到的两条命令,它们的作用及如何在你的 Python 环境中加速 PyTorch 等库的安装。 1. 设置清华镜像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple这条命令的作用是将 pip (Python 的包管理工具&#xf…

CES Asia 2025的低空经济展区有哪些亮点?

CES Asia 2025(赛逸展)的低空经济展区有以下亮点: • 前沿科技产品展示: 多款新型无人机将亮相,如固定翼无人机和系留无人机的最新型号,其在监测、救援和货物运输等方面功能强大。此外,还有可能…

python数据分析之爬虫基础:selenium详细讲解

目录 1、selenium介绍 2、selenium的作用: 3、配置浏览器驱动环境及selenium安装 4、selenium基本语法 4.1、selenium元素的定位 4.2、selenium元素的信息 4.3、selenium元素的交互 5、Phantomjs介绍 6、chrome handless模式 1、selenium介绍 (1…

Python学生管理系统(MySQL)

上篇文章介绍的Python学生管理系统GUI有不少同学觉得不错来找博主要源码,也有同学提到老师要增加数据库管理数据的功能,本篇文章就来介绍下python操作数据库,同时也对上次分享的学生管理系统进行了改进了,增加了数据库&#xff0c…

二,Python常用库(共16个)

二,常用库(共15个 二,Python常用库(共15个)1,os模块2,json模块2.1 猴子补丁S 3,random模块4,string模块5,异常处理5.1 错误类型5.1 逻辑错误两种处理方式5.1.1 错误时可以预知的5.1.2 错误时不可…

Linux第99步_Linux之点亮LCD

主要学习如何在Linux开发板点亮屏,以及modetest命令的实现。 很多人踩坑,我也是一样。关键是踩坑后还是实现不了,这样的人确实很多,从群里可以知道。也许其他人没有遇到这个问题,我想是他运气好。 1、修改设备树 1)、…

解密MQTT协议:从QOS到消息传递的全方位解析

1、QoS介绍 1.1、QoS简介 使用MQTT协议的设备大部分都是运行在网络受限的环境下,而只依靠底层的TCP传输协议,并不 能完全保证消息的可靠到达。 MQTT提供了QoS机制,其核心是设计了多种消息交互机制来提供不同的服务质量,来满足…

网络安全 | 5G网络安全:未来无线通信的风险与对策

网络安全 | 5G网络安全:未来无线通信的风险与对策 一、前言二、5G 网络的技术特点2.1 超高速率与低延迟2.2 大容量连接与网络切片 三、5G 网络面临的安全风险3.1 网络架构安全风险3.2 设备终端安全风险3.3 应用场景安全风险3.4 用户隐私安全风险 四、5G 网络安全对策…

MyBatis知识点笔记

目录 mybatis mapper-locations的作用? mybatis configuration log-impl 作用? resultType和resultMap的区别? 参数 useGeneratedKeys ,keyColumn,keyProperty作用和用法 取值方式#和$区别 动态标签有哪些 MyBat…

Midjourney技术浅析(二):文本预处理过程

Midjourney 的用户通过输入文本描述(Prompts)来生成高质量的图像。为了将用户输入的文本转化为机器可理解的格式,并提取其中的语义信息,Midjourney 依赖于强大的自然语言处理(NLP)预处理技术。 一、NLP 预…

考研互学互助系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…

ASP.NET Core Web API Hangfire

ASP.NET Core Web API Hangfire 前言一、安装二、相关代码1.代码片段2.代码片段3.运行效果 三、测试代码1.即发即弃作业2.延迟作业3.重复作业4.延续作业5.页面调度作业 前言 👨‍💻👨‍🌾📝记录学习成果,以…

【Artificial Intelligence篇】AI 前沿探秘:开启智能学习的超维征程

目录 一、人工智能的蓬勃发展与智能学习的重要性: 二、数据的表示与处理 —— 智能学习的基石: 三、构建一个简单的感知机模型 —— 智能学习的初步探索: 四、神经网络 —— 开启超维征程的关键一步: 五、超维挑战与优化 —— 探索智能学习的深度: 六、可视化与交互 —— …

springboot502基于WEB的牙科诊所管理系统(论文+源码)_kaic

牙科诊所管理系统的设计与实现 摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定牙科诊所管理系统的…

内置ALC的前置放大器D2538A/D3308

一、概述 D2538A/D3308是芯谷科技推出的带有ALC(自动电平控制)的前置音频放大器芯片,最初产品为单声道/立体声收录机及盒式录音机而开发,作为录音/回放的磁头放大器使用;由于产品的高增益、低噪声及ALC外部可调的特性&…

金仓数据库对象访问权限的管理

基础知识 对象的分类 数据库的表、索引、视图、缺省值、规则、触发器等等,都称为数据库对象,对象分为如下两类: 模式(SCHEMA)对象:可以理解为一个存储目录,包含视图、索引、数据类型、函数和操作符等。非模式对象:其他的数据库对象&#x…

pyQT + OpenCV相关练习

一、设计思路 1、思路分析与设计 本段代码是一个使用 PyQt6 和 OpenCV 创建的图像处理应用程序。其主要功能是通过一个图形界面让用户对图片进行基本的图像处理操作,如灰度化、翻转、旋转、亮度与对比度调整,以及一些滤镜效果(模糊、锐化、边…

mac中idea中英文版本切换

1.快捷键command,或者 2.找到插件(plugins),搜索chinese,安装 第一次安装好点击应用会提示重启,直接重启就好了,如果已经安装过,只需要切换中英文 3.中英文切换 外观与行为&#xf…