目标检测我来惹1 R-CNN
目标检测算法:
识别图像中有哪些物体和位置
目标检测算法原理:
记住算法的识别流程、解决问题用到的关键技术
目标检测算法分类:
两阶段:先区域推荐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%
缺点:训练阶段多;训练耗时;
总结:
相关文章:

目标检测我来惹1 R-CNN
目标检测算法: 识别图像中有哪些物体和位置 目标检测算法原理: 记住算法的识别流程、解决问题用到的关键技术 目标检测算法分类: 两阶段:先区域推荐ROI,再目标分类 region proposalCNN提取分类的目标检测框架 RC…...

lua的笔记记录
类似python的eval和exec 可以伪装成其他格式的文件,比如.dll 希望在异常发生时,能够让其沉默,即异常捕获。而在 Lua 中实现异常捕获的话,需要使用函数 pcall,假设要执行一段 Lua 代码并捕获里面出现的所有错误…...

智能进化论:AI必须跨越的四大认知鸿沟
1. 智能缺口:AI进化中的四大认知鸿沟 1.1 理解物理世界:从像素到因果的跨越 想象一个AI看着一杯倒下的水,它能描述“水滴形状”却无法预测“桌面会湿”。这正是当前AI的典型困境——缺乏对物理世界的因果理解。主流模型依赖海量图像或视频数…...
L2-056 被n整除的n位数 - java
L2-056 被n整除的n位数 语言时间限制内存限制代码长度限制栈限制Java (javac)400 ms512 MB16KB8192 KBPython (python3)400 ms256 MB16KB8192 KB其他编译器400 ms64 MB16KB8192 KB 题目描述: “被 n n n 整除的 n n n 位数”是这样定义的:记这个 n n…...

传统足浴行业数字化转型:线上预约平台的技术架构与商业逻辑
上门按摩服务系统开发正成为行业新风口,这绝不是盲目跟风而是实实在在的市场趋势。随着现代人生活节奏加快,时间成本越来越高,传统到店消费模式已经无法满足消费者对便捷服务的需求。我们的团队深耕上门按摩系统开发领域五年,深刻…...
Java-IO流之字节输入流详解
Java-IO流之字节输入流详解 一、Java IO体系与字节输入流概述1.1 Java IO体系结构1.2 字节输入流的核心类层次1.3 字节输入流的基本工作模式 二、InputStream类的核心方法2.1 int read()2.2 int read(byte[] b)2.3 int read(byte[] b, int off, int len)2.4 long skip(long n)2…...

从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
智能文档处理:非结构化数据提出的挑战 在这个时代的每一天,无论是个人处理账单,还是企业处理合同、保险单、发票、报告或成堆的简历,我们都深陷在海量的非结构化数据之中。这类数据不像整齐排列的数据库表格那样规整,…...
【C/C++】入门grpc的idl
文章目录 grpc idl 简单介绍1. 文件结构组织规范文件命名包结构:推荐:一个文件只定义一个 service,如果 service 很复杂,可拆分多个 proto 文件。 2. 消息定义规范命名风格字段编号:示例: 3. 服务与 RPC 设…...
【Java实用工具类】手撸SqlBuilder工具类,优雅拼接动态SQL,MyBatisPlus同款风格!
📌 正文: 有时候我们项目底层是 JdbcTemplate 查询,没法像 MyBatisPlus 一样用 Wrapper 拼接条件,但我们又不想手撸字符串。那怎么办?我今天就给你整了个 SqlBuilder 工具类,支持 eq、ne、like、in、gt、l…...
宇树科技更名“股份有限公司”深度解析:机器人企业IPO前奏与资本化路径
从技术落地到资本跃迁,拆解股改背后的上市逻辑与行业启示 核心事件:股改释放的上市信号 2025年5月28日,杭州宇树科技有限公司正式更名“杭州宇树科技股份有限公司”,市场主体类型变更为“股份有限公司”。尽管官方称为常规运营调…...

Inno Setup 安装向导各个页面详解
概览 表中描述了使用Inno Setup生成的安装包在安装过程中各个页面的字段和对应的说明信息。后文会对各个页面的参数做进一步解释说明。 字段说明wpWelcome欢迎页wpLicense许可协议wpPassword密码wpInfoBefore信息wpUserInfo用户信息wpSelectDir选择目标位置wpSelectComponent…...
转战web3远程工作的英语学习的路线规划
目录 一、明确学习目标与定位 二、基础阶段(0 - 6个月) (一)词汇积累 (二)语法学习 (三)听力与口语 三、进阶阶段(6 - 18个月) (一…...

OPENCV重点结构体Mat的讲解
一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…...
Java 创建线程池的几种方式
在 Java 中创建线程池主要通过 java.util.concurrent 包下的 ExecutorService 接口及其实现类。以下是创建线程池的几种常见方式: ✅ 1. 使用 Executors 工具类(最简单) ExecutorService executor Executors.newFixedThreadPool(10);常用方…...

【趣味Html】第11课:动态闪烁发光粒子五角星
打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…...
AnyIO Event:异步编程中的同步利器
在异步编程的世界里,任务之间的通信和协调是一个常见的需求。AnyIO 提供的 Event 类,为这一需求提供了一个强大而简洁的解决方案。本文将深入探讨 anyio.Event 的使用方法、特点以及在实际应用中的最佳实践。 一、AnyIO Event 概述 anyio.Event 是 Any…...

CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构
中文标题: CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构 英文标题: CFTel: A Practical Architecture for Robust and Scalable Telerobotics with Cloud-Fog Automation 作者信息 Thien Tran, Jonathan Kua, Minh Tran, Hongh…...

Educational Codeforces Round 179 (Rated for Div. 2)
CF2111,简单手速场 A. Energy Crystals 贪心,每次最小值会乘2,直接模拟即可,复杂度 O ( log n ) O(\log n) O(logn) void solve(){int x;cin>>x;multiset<int> s{0,0,0};int res0;while(*s.begin()<x){int x*s.begin();s…...

完成一个可交互的k8s管理平台的页面开发
使用deepseek完成设计一个k8s管理平台,关键词如下: 完成一个可交互的k8s管理平台的页面开发Kubernetes 管理平台页面设计 下面是一个基于现代Web技术的可交互Kubernetes管理平台的页面设计方案,使用React作为前端框架,配合Ant De…...
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock
多线程编程技术解析及示例:pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 摘要 本文深入解析了多线程编程中 pthread_cond_timedwait、pthread_mutex_lock 和 pthread_mutex_trylock 三个函数的功能、使用场景及注意事项,并通…...
vue实现点击单选或者多选模式
toggleSelect(item) { if (!this.single) { // 多选模式 const itemIndex this.selectedItems.findIndex( (selectedItem) > selectedItem.userId item.userId ); // 假设每个对象都有一个唯一的id属性 if (itemIndex ! -1) { this.selectedItems.splice(itemIndex, 1); }…...

Windows系统工具:WinToolsPlus 之 SQL Server 日志清理
使用软件时提示数据库事务日志已满, 使用WinToolsPlus 数据库页签 先设置 数据源 , 选择 需要清理日志的数据库, 点击 数据库日志清理 即可。 下载地址: http://v.s3.sh.cn/archives/2279.html...

在Windows11上安装 Ubuntu WSL
不想安装虚拟机,想在Windows11上运行Linux。网上虽有教程,但是图片明显都是老图,与Windows11还是有些差异。网上缺乏一个齐全的真正的Windows11运行Linux的教程。 一、在Windows上的设置 1. 在window11的搜索框内(所有你找不到的应用都可以用这个搜索功能),搜索&q…...

嵌入式Linux之RK3568
系统烧写镜像。 1、直接使用正点原子官方的updata.img(MIDP) 进入瑞芯微发开工具RKDevTool,选择升级固件,上传到固件,记住这里要进入maskrom模式或者是loader模式,进入该模式之后点击升级即可。 2、烧入自己制作的镜像(单独、一…...
Elasticsearch的插件(Plugin)系统介绍
Elasticsearch的插件(Plugin)系统是一种扩展机制,允许用户通过添加自定义功能来增强默认功能,而无需修改核心代码。插件可以提供从分析器、存储后端到安全认证、机器学习等各种功能,使Elasticsearch能够灵活适应不同的应用场景和业务需求。 一、插件的核心特点 模块化扩展…...
提取 PDF 文件中的文字以及图片中的文字
Adobe 提供了多种方案可以快速提取 PDF 文件中的文字以及图片中的文字,主要依赖其 Acrobat 系列产品和 OCR(光学字符识别)技术。以下是具体解决方案的概述,涵盖了文字和图片文字的提取方法: 1. 提取 PDF 中的文字 如果…...

JavaScript性能优化实战技术
目录 性能优化核心原则 代码层面优化 加载优化策略 内存管理实践 及时解除事件监听 避免内存泄漏模式 渲染性能调优 使用requestAnimationFrame优化动画 批量DOM操作减少回流 性能监控工具 现代API应用 缓存策略实施 性能优化核心原则 减少资源加载时间 避免阻塞主…...
LeetCode 热题 100 739. 每日温度
LeetCode 热题 100 | 739. 每日温度 大家好,今天我们来解决一道经典的算法题——每日温度。这道题在 LeetCode 上被标记为中等难度,要求我们找到一个数组,其中每个元素表示从当前天开始,下一个更高温度出现的天数。如果之后没有更…...

网页前端开发(基础进阶3--Vue)
Vue3 Vue是一款用于构建用户界面的渐进式的JavaScript框架。 Vue由2部分组成:Vue核心包,Vue插件包 Vue核心包包含:声明式渲染,组件系统。 Vue插件包:VueRouter(客户端路由),Vuex…...

tryhackme——Abusing Windows Internals(进程注入)
文章目录 一、Abusing Processes二、进程镂空三、线程劫持四、DLL注入五、Memory Execution Alternatives 一、Abusing Processes 操作系统上运行的应用程序可以包含一个或多个进程,进程表示正在执行的程序。进程包含许多其他子组件,并且直接与内存或虚…...