目标检测我来惹1 R-CNN

article/2025/8/12 20:37:09

目标检测算法:

识别图像中有哪些物体和位置

目标检测算法原理:

 记住算法的识别流程、解决问题用到的关键技术

目标检测算法分类:

两阶段:先区域推荐ROI,再目标分类

region proposal+CNN提取分类的目标检测框架

RCNN FASTER RCNN

端到端:一个网络,输入到输出:类别加位置

yolo SSD

目标检测的任务:

分类原理:得到每个类别的概率,取最大概率

CNN--卷积神经网络

输入层+卷积、激活、池化+全连接层+输出

激活函数:relu、输出:softmax得出概率

损失函数:交叉熵损失函数--衡量

图片中只有一个目标:分类+定位

分类评估指标:

指标说明
分类准确率(Accuracy)正确分类的目标数 / 所有预测目标数(仅当类别预测数量和真实相同且位置匹配时才有意义)
Precision(精确率)预测为该类中有多少是对的
Recall(召回率)实际该类中你检测到了多少

定位评估指标:

指标说明
IoU(Intersection over Union)预测框和真实框的重合度

目标框:bounding box

名称含义
Ground Truth bounding box人工标注框真实值
Predicted bounding box预测标注框预测值
IoU交并比真实框和预测框的重叠程度

交集/并集

重合面积除以两个框的所有面积

 

分类+定位的思路:

让网络多输出一个全连接层

1、类别概率值 softmax--分类损失函数:交叉熵损失函数

2、输出四个位置坐标-回归损失:L2 loss

位置坐标处理:每个位置除以图像的像素值--归一化

任务阶段是否需要归一化?
训练前准备数据✅ 建议:提前归一化 GT 框(输入 label 时)
模型输出✅ 输出的是 [0, 1] 范围的预测值(便于训练)

多个目标的任务!--目标检测

R-CNN基础算法

region proposal 候选区域方法

以神经网络为基础的两阶段 目标检测模型。

步骤(测试过程)

1.找出图像中可能存在的候选区域ROI,得出2000个候选区域

选择性搜索SS筛选区域

2.统一图片大小,输入CNN网络提取特征,得出2000个特征向量

使用AlexNet网络,统一候选区域大小227*227warped region

统一大小操作:crop和wrap,减少图像的变形

CNN网络提取出的特征向量保存在磁盘中

对 2000 个候选框,每个区域提一个 4096 维的特征 → 形成一个 2000 × 4096 的特征矩阵

3.20个SVM进行分类,得到2000*20的得分矩阵

SVM特征向量训练分类器:二分类

20代表数据集中需要检测20个类别,

每个分类器判断2000个候选区域的特征向量

第一个分类器判断:是猫?不是?那是背景

第二个分类器:是狗?不是?

输出2000 × 20 的得分矩阵(每一行是该区域对每个类别的置信度)

4.进行NMS非极大值抑制,提出候选框

NMS:筛选候选框,得到非重叠、高置信度的目标框

比较IoU >0.5删去

5.修正候选区域,对bbox回归微调

回归过程:用于修正筛选的候选区域,使它回归ground truth

线性回归:特征值是候选区域,目标值是对应的GT。

建立回归方程学习参数

 训练过程:

预训练+微调

🔹 预训练阶段:

  • ImageNet 数据集 训练 CNN 模型(如 AlexNet、ResNet)

  • 有一个现有的模型和参数

🔹 微调阶段:

  • 替换最后一层输出(从1000类 → 目标检测的20类)

  • 使用 R-CNN 的候选区域图像、正负样本标签输入到model1中

  • 再继续训练 CNN(特别是全连接层部分)

🔹 训练SVM特征向量分类器+bbox regressor

每个类别训练一个分类器

表现:在voc2007上准确度66%

缺点:训练阶段多;训练耗时;

总结:


http://www.hkcw.cn/article/LIiLMyjsxI.shtml

相关文章

【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)

1,介绍 出自论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,RAG是权宜之计,通过RAG将问题简单化、精简化、剔除噪声,让LLM更容易理解、生成内容。RAG:检索增强技术检索生成(重…

LINUX 61 rsync定时同步;软链接

定时同步报错 [rootbackup ~]# cat rsync_java.sh !/bin/bash rsync -av user3192.168.235.10::app /backup/app1_java &&/dev/null [rootbackup ~]# cd /backup [rootbackup backup]# ls app1_java [rootbackup backup]# cd app1_java [rootbackup app1_java]# ls 1.…

[Android] APK安装器 V20160330-6.0

【应用名称】APK安装【应用版本】V20160330-6.0版本【软件大小】154KB【适用型号】安卓【应用说明】此版本兼容性极强,Android6-Android15都可以用,兼容平板和手机,已经过测试! 软件优点: 不占内存,大小比…

017搜索之深度优先搜索——算法备赛

深度优先搜索 如果说广度优先搜索是逐层扩散,那深度优先搜索就是一条道走到黑。 深度优先遍历是用递归实现的,预定一条顺序规则(如上下左右顺序) ,一直往第一个方向搜索直到走到尽头或不满足要求后返回上一个叉路口按…

电子电路:时钟脉冲与上升沿的详细解析

一、时钟脉冲的量子物理本质 1. 电磁波能量量子化 时钟脉冲本质是电磁能量的周期性传递,其最小能量单元为: E = h f E = hf E=hf 其中 h = 6.626 10 − 34 J ⋅ s h=6.62610^{-34} \ Js h=6.62610−34 J⋅s(普朗克常数), f f f 为时钟频率。当3GHz CPU运行时,单个时…

HTTPS

HTTPS 是什么 它其实就是网站的保镖版 HTTP。平常你用普通HTTP上网,你浏览器和网站服务器之间传的东西,不管是密码、聊天内容还是信用卡号,都是“裸奔”的,谁都能半路偷看或者篡改。 HTTPS 就不同了,它在你们开始传东…

LTSPICE仿真电路:(三十)压流变换器

1.压流转换器(NPN型三极管) 压流转换器:将电压转换为电流信号。 直接看仿真 这个电路是负反馈电路,分析使用续断虚短,输入信号是3V,所以在Rset电阻处的电压始终是3V ,Uce为6V(发射…

电动机定子铁芯冲槽模设计与多物理场仿真优化

摘要 本文系统阐述电动机定子铁芯冲槽模的设计规范与仿真验证方法。通过分析冲裁机理,提出模具材料选型、间隙计算、结构优化的关键技术方案,并借助ANSYS Workbench平台进行应力-疲劳联合仿真,为高精度冲槽模设计提供理论依据和工程实践参考…

window 显示驱动开发-复制深度模具值

Microsoft Direct3D 运行时调用用户模式显示驱动程序的 Blt 函数,将深度模具值从视频内存复制到系统内存,反之亦然。 驱动程序和硬件必须从或转换到驱动程序支持的所有不透明深度模具格式 (,即 D3DDDIFORMAT 枚举类型定义的所有格式&#xff…

pc端小卡片功能-原生JavaScript金融信息与节日日历

代码如下 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>金融信息与节日日历</title><…

Redis最佳实践——购物车优化详解

Redis在电商购物车高并发读写场景下的优化实践 一、购物车业务场景分析 典型操作特征 读/写比例 ≈ 8:2高峰QPS可达10万单用户最大商品数500操作类型&#xff1a;增删改查、全选/反选、数量修改 技术挑战 高并发下的数据一致性海量数据存储与快速访问实时价格计算与库存校验分…

[网页五子棋][对战模块]处理连接成功,通知玩家就绪,逻辑问题(线程安全,先手判定错误)

文章目录 处理连接成功通知玩家就绪逻辑图问题 1&#xff1a;线程安全问题 2&#xff1a;先手判定错误两边都是提示&#xff1a;轮到对方落子![image.png](https://i-blog.csdnimg.cn/img_convert/c570cd26eadbe87ed467bc4edaa7945e.png) 处理连接成功 实现 GameAPI 的 afterC…

Python训练打卡Day39

图像数据与显存 知识点回顾 图像数据的格式&#xff1a;灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 一、图像数据的格式 1.1灰度图像 作为图像数据&#xff0c;相较于结构化数据&#x…

pycharm打印时不换行,方便对比观察

原来&#xff1a; 优化&#xff1a; import torch torch.set_printoptions(linewidth200) 优化结果&#xff1a;

Practice 2025.6.1—— 二叉树进阶面试题(2)

文章目录 二叉树进阶面试题(2)Leetcode_144 二叉树的前序遍历(使用非递归)Leetcode_94 二叉树的中序遍历(使用非递归)Leetcode_145 二叉树的后序遍历(使用非递归) 二叉树进阶面试题(2) 本篇文章将继续进行二叉树的进阶面试题的讲解&#xff0c;其中&#xff0c;本部分将重点针…

DOCKER使用记录

1、拉取镜像 直接使用docker pull <image>&#xff0c;大概率会出现下面的报错信息&#xff1a; (base) jetsonyahboom:~$ docker pull ubuntu:18.04 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while …

Vert.x学习笔记-EventLoop与Context的关系

Vert.x学习笔记 1. EventLoop 的核心作用2. Context 的核心作用3. EventLoop 与 Context 的关系1. 事件循环&#xff08;EventLoop&#xff09;的核心职责2. 上下文&#xff08;Context&#xff09;的核心职责3. 事件循环与上下文的关系&#xff08;1&#xff09;一对一绑定&am…

LTSPICE仿真电路:(三十一)HOWLAND电流源

1.HOWLAND电流源 推导过程&#xff1a;这个运放是正负反馈都存在&#xff0c;但负反馈是大于正反馈的&#xff0c;因正反馈多出一个Rload&#xff0c;所以可以使用虚短续断&#xff0c;运放的U等于U-&#xff0c;负反馈处得出Uout与U-的关系&#xff0c;再利用正相端节点电流算…

LLaMA-Factory - 批量推理(inference)的脚本

scripts/vllm_infer.py 是 LLaMA-Factory 团队用于批量推理&#xff08;inference&#xff09;的脚本&#xff0c;基于 vLLM 引擎&#xff0c;支持高效的并行推理。它可以对一个数据集批量生成模型输出&#xff0c;并保存为 JSONL 文件&#xff0c;适合大规模评测和自动化测试。…

引擎下线缺陷检测系统ENAgent

引擎下线缺陷检测系统ENAgent采用信号处理技术以及人工智能技术对引擎生产线下线的各种引擎在生产线上进行缺陷实时检测&#xff0c;通过振动信号、声纹信号等信号融合集成&#xff0c;在线实时判断其是否存在缺陷以及进行故障诊断。ENAgent系统采用全Python语言&#xff0c;以…