当前位置: 首页 > article >正文

两阶段目标检测器核心原理与流程详解

两阶段目标检测器的核心思想是第一阶段先找候选区域第二阶段再对候选区域做分类和精修。典型代表是R-CNN Fast R-CNN Faster R-CNN Mask R-CNN现在最典型的是Faster R-CNN / Mask R-CNN所以我以它为主来讲。1. 两阶段目标检测整体流程一个两阶段检测器大致执行步骤是输入图像 ↓ Backbone 提取特征 ↓ RPN 生成区域建议 ↓ RoI Pooling / RoIAlign 提取候选区域特征 ↓ 检测头进行分类 ↓ 检测头进行边框回归 ↓ NMS 后处理 ↓ 输出最终检测结果可以把它分成两个大阶段第一阶段找哪里可能有目标 第二阶段判断目标是什么并把框修准2. 第一步输入图像输入是一张图片比如H × W × 3例如800 × 600 × 3目标检测希望输出类似这样的结果猫置信度 0.96边界框 [x1, y1, x2, y2] 车置信度 0.91边界框 [x1, y1, x2, y2] 人置信度 0.88边界框 [x1, y1, x2, y2]也就是说既要知道类别又要知道位置。3. 第二步Backbone 提取特征输入图像先送入一个卷积神经网络也就是 backbone。常见 backbone 有VGG ResNet ResNeXt Swin Transformer它的作用是把原图转换成特征图。例如原图800 × 600 × 3经过 backbone 后可能得到50 × 38 × 1024这个特征图尺寸变小了但语义信息更强。它不再只是原始像素而是包含边缘、纹理、形状、局部结构和高层语义信息。可以理解为原图负责提供视觉内容 Backbone 负责提取可用于检测的特征4. 第三步第一阶段RPN 生成区域建议这是两阶段检测里的第一阶段。RPN也就是 Region Proposal Network负责生成候选框。它在 backbone 输出的特征图上工作。4.1 在特征图上放 anchorRPN 会在特征图的每个位置放多个 anchor。例如每个位置放 9 个 anchor3 种尺度 × 3 种长宽比 9 个 anchor如果特征图大小是50 × 38那么 anchor 数量大约是50 × 38 × 9 17100一开始候选框非常多。4.2 对每个 anchor 做两个预测RPN 对每个 anchor 输出两类结果第一类objectness score判断这个 anchor 里有没有目标。注意这里不是判断这是猫 / 狗 / 车 / 人而是判断这里像不像有一个物体所以它通常只是前景 / 背景二分类。第二类bbox regression预测 anchor 应该如何调整。每个 anchor 会得到 4 个偏移量dx, dy, dw, dh分别表示中心点 x 方向怎么移动 中心点 y 方向怎么移动 宽度怎么缩放 高度怎么缩放也就是说anchor 边框偏移量 proposalRPN 不是直接拿 anchor 当结果而是先修正 anchor再得到区域建议。4.3 筛选 proposalsRPN 会生成很多 proposal但不会全部保留。它通常会做删除太小的框 删除超出边界的框 按照 objectness 分数排序 使用 NMS 去掉重复框 保留 Top-N 个 proposal比如最后保留训练时 2000 个 proposal 测试时 300 个 proposal这些 proposal 会送入第二阶段。5. 第四步RoI Pooling / RoIAlign 提取候选区域特征RPN 生成的 proposal 是原图上的候选框。但是后续检测头需要的是固定大小的特征例如7 × 7 × C问题是每个 proposal 的大小不同。比如候选框 A100 × 80 候选框 B250 × 180 候选框 C60 × 120它们不能直接送进同一个全连接分类器。所以需要RoI 特征提取。5.1 RoI 是什么RoI 是 Region of Interest意思是感兴趣区域。在目标检测中一个 proposal 就可以看作一个 RoI。也就是RPN 生成 proposal proposal 被当作 RoI RoI 被送入检测头5.2 RoI Pooling 的作用RoI Pooling 会把不同大小的 proposal 区域都转换成固定大小的特征。例如全部变成7 × 7 × C这样后面的分类器就能统一处理。5.3 RoIAlign 的改进Mask R-CNN 中常用 RoIAlign。它比 RoI Pooling 更精确因为 RoI Pooling 会进行量化取整可能造成位置偏差。RoIAlign 避免粗暴取整使用插值方式提取特征所以定位更准尤其适合实例分割。简单理解RoI Pooling快但可能有位置误差 RoIAlign更精确适合检测和分割6. 第五步第二阶段检测头分类这是两阶段检测的第二阶段。每个 proposal 的 RoI 特征会送入检测头。检测头首先做分类这个候选区域是什么类别例如输出背景0.01 猫0.92 狗0.03 车0.02 人0.02这时才真正判断具体类别。和 RPN 不同RPN只判断有没有物体 检测头判断具体是什么物体7. 第六步第二阶段边框再次回归检测头除了分类还会再做一次边框回归。为什么 RPN 已经修正过边框了第二阶段还要修因为 RPN 只是粗略生成候选区域它的目标是高召回率不一定特别精确。第二阶段会基于更强的 RoI 特征对边框进行更精细的调整。可以理解为RPN 边框回归粗调 检测头边框回归精调例如 RPN proposal 是大致框住猫但左边多了一些背景检测头会进一步调整成更紧密地包住猫8. 第七步后处理 NMS第二阶段会输出很多检测框其中可能有大量重复框。比如同一只猫可能得到多个检测结果猫 0.96框 A 猫 0.93框 B 猫 0.89框 C这些框高度重叠实际上表示同一个目标。所以需要 NMS也就是非极大值抑制。NMS 的流程是按置信度从高到低排序 保留分数最高的框 删除与它重叠度太高的框 继续处理剩余框最终只保留比较干净的检测结果。9. 第八步输出最终检测结果最后输出每个目标的类别 置信度 边界框坐标例如person 0.98 [120, 80, 260, 500] dog 0.94 [310, 200, 480, 430] car 0.91 [50, 300, 400, 520]如果是 Mask R-CNN还会额外输出实例分割 mask也就是每个目标的像素级轮廓。10. 用一句话串起来两阶段目标检测器的执行过程可以这样理解先用 backbone 提取整张图的特征 再用 RPN 从特征图中找出可能有目标的候选框 然后用 RoI Pooling / RoIAlign 把每个候选框的特征裁出来 最后用检测头判断每个候选框是什么类别并精修边界框 经过 NMS 去重后输出最终检测结果。11. 更形象的类比可以把两阶段检测想成考试阅卷第一阶段圈重点RPN 像一个初筛老师这里可能有目标 那里可能有目标 这块像背景忽略它不负责精确判断类别只负责把可疑区域圈出来。第二阶段仔细判断检测头像一个专家老师这个区域是猫 这个区域是车 这个区域其实是背景 这个框需要再往右调一点所以两阶段检测比一阶段检测多了一步“候选区域筛选”。12. 训练阶段和推理阶段的区别上面讲的是推理流程也就是模型实际检测一张图片时怎么执行。训练时还会多一些步骤。12.1 训练 RPN训练 RPN 时需要给 anchor 分配标签正样本和真实框 IoU 高的 anchor 负样本和真实框 IoU 很低的 anchor 忽略样本IoU 处在中间区域RPN 学两个任务判断 anchor 是前景还是背景 学习 anchor 到真实框的偏移量对应两个损失RPN 分类损失 RPN 边框回归损失12.2 训练第二阶段检测头第二阶段检测头也需要训练。它会把 RPN 生成的 proposal 和真实框匹配然后学习proposal 属于哪个类别 proposal 应该如何进一步调整对应两个损失分类损失 边框回归损失如果是 Mask R-CNN还有mask 分割损失13. 两阶段检测器的总损失以 Faster R-CNN 为例总损失可以概括为总损失 RPN 分类损失 RPN 边框回归损失 检测头分类损失 检测头边框回归损失如果是 Mask R-CNN则还要加上 Mask 分支损失所以它是多任务学习既学会找候选区域 又学会分类 又学会精确定位 如果有 mask 分支还学会实例分割14. 两阶段检测为什么通常更准两阶段方法通常精度较高原因是第一阶段先缩小搜索范围 第二阶段可以对候选区域做更细致的分类和定位相比直接在整张图上密集预测两阶段方法给了模型一次“先粗后细”的机会。不过代价是流程更复杂 速度通常比一阶段检测慢所以常见取舍是两阶段检测精度高速度相对慢 一阶段检测速度快结构更简单15. 最简版记忆你可以把两阶段目标检测记成这 6 步1. 输入图像 2. Backbone 提取特征图 3. RPN 生成候选框 4. RoI Pooling / RoIAlign 提取候选框特征 5. 检测头分类 边框回归 6. NMS 后处理输出最终结果最核心的是这句话第一阶段负责“找可能有目标的地方”第二阶段负责“判断是什么并把框调准”。

相关文章:

两阶段目标检测器核心原理与流程详解

两阶段目标检测器的核心思想是:第一阶段先找候选区域,第二阶段再对候选区域做分类和精修。典型代表是: R-CNN Fast R-CNN Faster R-CNN Mask R-CNN现在最典型的是 Faster R-CNN / Mask R-CNN,所以我以它为主来讲。1. 两阶段目标检…...

NotebookLM权限审计日志难追溯?手把手教你启用VPC Service Controls + Cloud Logging Query Builder构建实时越权预警看板

更多请点击: https://intelliparadigm.com 第一章:NotebookLM权限控制设置 NotebookLM 是 Google 推出的基于用户上传文档进行 AI 辅助理解与生成的实验性工具,其权限模型默认采用 Google 账户体系集成,但需主动配置以满足团队协…...

用于免训练手术视频分割的记忆增强SAM2(MA-SAM2)

学影像 手术视频 基础模型增强 ──────────────────────────────────────── 1. 标题 英文:Memory-Augmented SAM2 for Training-Free Surgical Video Segmentation 中文:用于免训练手术视频分割的记忆增强SAM2(MA-SAM2) 2. 作者…...

神经网络分子动力学与长程静电相互作用优化技术

1. 神经网络分子动力学与长程静电相互作用优化概述分子动力学模拟作为计算化学和材料科学的核心工具,其精度和效率直接决定了研究的深度和广度。传统分子动力学依赖经验力场,虽然计算速度快,但难以准确描述化学键断裂/形成等过程。而基于量子…...

2026年企业做GEO推广找哪家?推荐几家源头厂家

2026年,GEO赛道正在经历一场剧烈的洗牌。根据界面新闻、极客公园、IT之家及多家第三方机构近期密集发布的行业评测,头部服务商格局已初步成型,但大量贴牌套壳的“伪源头”仍在搅浑市场。企业在选型时最焦虑的问题已经从“要不要做GEO”变成了…...

前端工程化:Vite与Rollup构建优化

前端工程化:Vite与Rollup构建优化 大家好,我是欧阳瑞(Rich Own)。今天想和大家聊聊前端工程化这个重要话题。作为一个全栈开发者,构建工具是日常开发中不可或缺的一部分。今天就来分享一下Vite和Rollup的构建优化技巧…...

【信息科学与工程学】【物理/化学科学和工程技术】知识体系 第四十一篇 数据中心基础设施领域中的力学知识 01

编号:001 类别 结构力学 (静力学与动力学) 领域 计算基础设施 / 机房设施 力学模型配方 将服务器机架简化为一个底部固定、顶部自由的悬臂梁模型。在地震激励下,该模型转化为一个单自由度阻尼受迫振动系统。主要考虑水平方向的地震力作用。 数学分析 通过建立运动微分…...

GitHub本周热门项目(2026-05-18)

GitHub 本周热门项目推荐 更新时间:2026-05-18 数据来源:GitHub Trending 🔥 TOP 10 热门项目 1. mattpocock/skills 一句话描述:面向真实工程师的技能框架,提供Claude Code等AI编码工具的专业技能扩展。 项目信息详…...

物业临时工考勤记录管理痛点与栎偲考勤神器技术实现方案

物业行业临时工考勤一直是HR管理的“老大难”:人员流动性大、班次碎片化(如早班/晚班/临时替班)、外勤打卡场景多(如园区巡检、设备维修),传统Excel统计不仅耗时,还常因数据错漏引发薪资纠纷。本…...

ChatGPT实时支付功能“不可见”的真相:不是没上线,而是被GDPR/SCA双重拦截——3分钟自查你的地区、浏览器、MFA配置是否全达标?

更多请点击: https://codechina.net 第一章:ChatGPT实时支付功能在哪里 ChatGPT 本身并不原生支持实时支付功能。OpenAI 官方发布的 ChatGPT(包括免费版、Plus 订阅版及 Team/Enterprise 版)定位为人工智能对话助手,其…...

【信息科学与工程学】【物理/化学科学和工程技术】知识体系 第四十篇 低空/高空领域中的力学知识 01

低空与高空(地球大气层内/地球大气层外)领域的核心力学知识。 编号:001 类别:流体力学 / 连续介质力学 领域:低空飞行器空气动力学 力学模型配方:Navier-Stokes方程组(可压缩/不可压缩) 数学分析:求解控制流体运动的质量、动量和能量守恒偏微分方程组。 定理/算法…...

在不确定的命题环境中,如何建立稳定的考研数学备考体系

近两年,考研数学始终是考研备考中讨论度较高的科目。每年考试结束后,关于试卷难度、题型变化、计算量以及复习节奏的讨论都会迅速升温。对考生而言,真正需要关注的并不只是某一年试题“偏难”还是“偏易”,而是在变化之中建立一套…...

DNS 泄露是什么?为什么网络环境检测时要看 DNS

很多人在检查网络环境时,第一反应通常是看 IP。比如 IP 显示在哪个地区、运营商是谁、是不是数据中心网络。 但实际上,除了 IP 之外,DNS 也是一个很容易被忽略的关键指标。如果 DNS 查询结果和当前网络出口不一致,就可能出现所谓的…...

【麒麟系统-解释器错误:权限不足】

执行脚本后发现无法执行权限不足查看发现当前是有执行权限的;最后发现可能是有安全限制: 执行命令getstatus 执行这个命令即可:sudo setstatus softmode...

学生用户画像-利用ETL零代码构建考勤主题标签

1 实验说明 1.1 实验目的 依托 “数智教育” 大赛数据集搭建学生考勤 ETL 转换流,掌握 ETL 全流程,解决校园考勤统计低效、标准不一问题;优化空值处理,输出精准多维度考勤数据,支撑校园考勤管理。 1.2 实验环境 工…...

NTN 长距离通信领域亮相

核心蜂窝解决方案亮相并带来Nordic NTN 核心解决方案深度分享。环节将全面解析 nRF9151 模组的核心特性与技术优势,详解卫星星座生态布局及 nRFCloud 平台的应用价值,为参会者勾勒 NTN 技术的整体框架与商业落地前景,为后续内容奠定专业基础。…...

pycharm接入AI大模型测试脚本费用说明

费用说明 阿里云通义千问提供: 新用户免费额度:注册即送一定额度的免费 tokens 按量付费:用多少付多少,无最低消费 价格透明:详见 官方定价 示例成本(以 qwen-plus 为例) 解析-个 100页 PDF≈ 50,000 tokens ≈0.4 生成 100 个问答对≈20,000 tokens ≈0.16 下一步 …...

新手教程使用curl命令一分钟测试Taotoken的OpenAI兼容API

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 新手教程:使用curl命令一分钟测试Taotoken的OpenAI兼容API 本文面向刚获取Taotoken API Key的开发者,目标是…...

多平台布局时代,店群账号高效管控之道

在电商行业持续精细化运营的当下,店群模式仍是商家拓宽渠道、分散风险、提升规模效应的主流选择。伴随抖店、拼多多、TikTok Shop、Temu、亚马逊等国内外平台规则趋严,多店铺账号管理已成为制约店群商家稳定经营的关键瓶颈。传统依赖人工登记、多设备登录…...

SC4541SKTRT 2MHz 2.9V~22V升/降压单线LED驱动器Semtech电子元器件IC芯片

SC4541SKTRT是Semtech(升特)推出的高频LED驱动器芯片,该器件集升压与降压拓扑于一体,支持2.9V至22V超宽输入电压并具备25V输出电压能力,利用内置肖特基二极管和功率开关,将外部电路减至最少,实现…...

2026年DevSecOps工具选型推荐:如何构建安全高效的研运体系

在2026年,软件交付的速度与质量安全已成为企业核心竞争力的关键。DevSecOps作为将安全能力左移并贯穿软件开发生命周期(SDLC)的实践方法论,其成功落地高度依赖于一套功能强大、易于集成且团队愿意采纳的工具链。面对市场上纷繁复杂…...

A-29P深度解析:100dB回音消除与AI降噪的硬件设计实战

摘要:在可视门禁、车载蓝牙、远程会议等设备中,结构空间狭小与高音量需求往往导致严重的回声和啸叫问题。本文基于A-29P纯模拟回音消除模块,深入解析其100dB消回音能力、AI降噪特性及7种硬件应用模式,为工程师提供一套无需代码的快…...

CodeWF Toolbox:一个用 Avalonia + Prism 做出来的开发者工具箱

今天这篇文章,站长来聊聊我自己开发的 CodeWF Toolbox,CodeWF 工具箱。熟悉我的朋友一般都叫我“站长”,因为我还有一个网站:CodeWF。这个工具箱也是围绕我平时写代码、维护网站、整理资料、排查问题时反复遇到的需求做出来的。它…...

日本租房成本核算沙盘

最近忙着租房子,日本租房不同于国内,有非常多杂乱的费用,这些都是必须在租房子的时候就考虑在内的,所以我制作了这个网站,希望能帮助到各位小伙伴。 目前已经部署在了服务器上,网址如下 http://8.130.68.…...

CHI协议WriteZero事务的DBIDResp与Comp响应机制解析

1. CHI协议中WriteZero事务的响应机制解析在AMBA 5 CHI协议中,WriteZero类事务(包括WriteUniqueZero和WriteNoSnpZero)的响应流程存在一个看似冗余的设计特点:它们会同时接收DBIDResp和Comp两种响应。这种现象常常让硬件设计工程师…...

第12期:综合优化与结业项目(工程落地与量产调优)

一、本期课程简介本期为整套TinyML嵌入式实战课程的收官总结阶段,旨在帮助学员打通技术壁垒,完成从零散知识点积累到系统化工程落地能力的蜕变。课程将全面梳理前序所有实战项目技术栈,涵盖传感器数据采集、数据集预处理、神经网络模型轻量化…...

ARM架构ADD/AND指令详解与应用优化

1. ARM指令集基础与ADD/AND指令概述在嵌入式系统和移动计算领域,ARM架构凭借其高效能低功耗的特性占据主导地位。作为RISC(精简指令集计算机)架构的代表,ARM指令集的设计哲学是通过精简而高效的指令完成复杂任务。其中&#xff0c…...

Arm SVE2向量存储指令ST3Q/ST4Q详解与应用优化

1. SVE2向量存储指令概述在Armv9架构中,SVE2(Scalable Vector Extension 2)作为第二代可扩展向量指令集,引入了多项增强的向量处理能力。其中ST3Q和ST4Q指令是专门为高效存储三路和四路128位宽向量数据而设计的谓词化存储操作。这…...

AI 挖洞新思路、深度解析两大间接提示词注入漏洞攻防思路,注入也能获得上万美金

​ 0x01 简介 在移动 AI 领域,我已经很久没有关注过提示词注入漏洞了,在前两天关注到 Gemini 的漏洞之前,我对提示词注入的印象还停留在两年前,当时搞搞越狱,觉得这东西是纯内容安全,也只能等未来对能够进…...

FPGA静态侧信道攻击防御与传感器绕过技术解析

1. FPGA安全防御机制与静态侧信道攻击概述在现代数字安全领域,现场可编程门阵列(FPGA)因其可重构性和高性能特性,已成为加密加速、信号处理等关键应用的核心组件。然而,FPGA面临的物理安全威胁与日俱增,特别是针对硬件的侧信道攻击…...