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

目标检测项目核心笔记:从任务定义到算法流程

目标检测项目核心笔记:从任务定义到算法流程

目标检测是计算机视觉的核心任务之一,核心目标是 “识别图像中物体类别 + 定位物体位置”,需解决多任务协同、尺度不均、遮挡干扰等挑战。这份笔记系统梳理目标检测的数据集、标注格式、评估指标及主流算法,构建从理论到实战的完整知识框架。

一、目标检测任务核心认知

1. 任务定义与核心挑战

  • 核心目标:同时完成 “分类”(识别物体类别,如人、车、狗)和 “回归”(定位物体位置,用边界框表示)两大任务,输出 “类别 + 边界框坐标”。
  • 四大核心挑战
    1. 多任务协同:分类任务关注全局特征,回归任务关注局部位置,需平衡两者损失;
    2. 目标数量与种类繁多:图像中可能包含 0~N 个物体,且类别差异大(如小到猫、大到汽车);
    3. 目标尺度不均:同一类物体可能因距离镜头远近呈现不同尺寸(如远处的人 vs 近处的人);
    4. 外部环境干扰:遮挡(如物体被部分遮挡)、噪声(如模糊、光照变化)会降低检测精度。

二、目标检测常用数据集

数据集是模型训练与评估的基础,主流数据集在类别数量、标注规模上各有侧重,适配不同训练需求:

数据集类别数量图像数量目标标注数量核心特点
PASCAL VOC4 大类(如动物、交通工具)+20 小类VOC 2007:9963 张;VOC 2012:23080 张VOC 2007:24640 个;VOC 2012:54900 个经典基准数据集,标注规范,适合入门;但类别少、样本量较小,难以适配复杂场景
MS COCO80 类(涵盖日常物体、动物、场景等)约 20 万张超 50 万个样本量大、类别丰富,平均每张图含 7.2 个目标;支持目标检测、分割、关键点检测等多任务,是当前主流评测基准

三、目标检测标注格式(Ground Truth)

标注格式定义 “物体类别 + 边界框坐标” 的存储方式,不同数据集采用不同格式,核心是确保坐标能准确映射到图像像素位置:

1. 三大主流格式对比

格式坐标表示方式归一化情况适用数据集示例(假设图像尺寸 1000×800px,物体左上角 (100,600)、右下角 (250,700))
YOLO (TXT)(Cx, Cy, W, H)是(坐标范围 0~1)YOLO 系列模型中心点 Cx=175/1000=0.175,Cy=650/800=0.8125;宽 W=150/1000=0.15,高 H=100/800=0.125 → (0.175, 0.8125, 0.15, 0.125)
VOC (XML)(Xmin, Ymin, Xmax, Ymax)否(像素值)VOC 数据集、Faster R-CNN左上角 (100,600),右下角 (250,700) → (100, 600, 250, 700)
COCO (JSON)(Xmin, Ymin, W, H)否(像素值)COCO 数据集左上角 (100,600),宽 150,高 100 → (100, 600, 150, 100)

2. 坐标映射逻辑

  • 归一化意义:YOLO 格式通过将坐标除以图像宽高(Cx = 物体中心 x / 图像宽,W = 物体宽 / 图像宽),使坐标不受图像尺寸影响,适配不同分辨率图像训练;
  • 格式转换:不同格式可通过公式互转(如 VOC→YOLO:Cx=(Xmin+Xmax)/(2× 宽),Cy=(Ymin+Ymax)/(2× 高),W=(Xmax-Xmin)/ 宽,H=(Ymax-Ymin)/ 高)。

四、目标检测核心评估指标

评估指标用于量化模型检测精度,从 “边界框准确性”“分类正确性”“整体性能” 三个维度综合判断:

1. 基础指标:IoU(交并比)

  • 定义:衡量预测边界框(Pred)与真实边界框(GT)的重叠程度,公式为:\(IoU = \frac{Pred \cap GT}{Pred \cup GT}\)
  • 取值范围:0~1,IoU=1 表示完全重叠,IoU=0 表示无重叠;
  • 核心作用:判断预测框是否 “准确命中” 物体,通常设定阈值(如 0.5),IoU > 阈值则认为检测正确,否则错误。

2. 分类与定位结合指标:TP/FP/TN/FN

基于 IoU 和类别置信度,将检测结果分为四类,是后续 Precision、Recall 计算的基础:

指标定义目标检测场景解释
TP(真正例)真实为正样本(有物体),预测为正样本(检测到物体)且分类正确预测框与 GT 的 IoU > 阈值,且类别预测正确(如 GT 是 “狗”,预测也是 “狗”)
FP(假正例)真实为负样本(无物体),预测为正样本预测框与所有 GT 的 IoU <阈值(误检,如将背景误判为 “猫”),或类别预测错误
TN(真负例)真实为负样本,预测为负样本背景区域未被误检,无实际意义(目标检测更关注物体是否被正确检测,TN 通常忽略)
FN(假负例)真实为正样本,预测为负样本存在 GT 但未被检测到(漏检,如图像中有 “人” 但模型未输出对应预测框)

3. 整体性能指标:Precision、Recall、AP、mAP

(1)Precision(精确率 / 查准率)与 Recall(召回率 / 查全率)
  • Precision:预测为正样本中真正为正样本的比例,衡量 “检测结果的可靠性”(避免误检):\(Precision = \frac{TP}{TP + FP}\)
  • Recall:真实正样本中被正确预测的比例,衡量 “检测的全面性”(避免漏检):\(Recall = \frac{TP}{TP + FN}\)
  • 权衡关系:Precision 与 Recall 通常呈负相关(如提高置信度阈值会减少 FP、提升 Precision,但可能增加 FN、降低 Recall)。
(2)P-R 曲线与 AP(Average Precision)
  • P-R 曲线:以 Recall 为横轴、Precision 为纵轴,通过调整置信度阈值绘制的曲线;曲线下面积越大,模型性能越好;
  • AP 计算(11 点法):取 Recall=0,0.1,...,1.0 共 11 个点,每个点对应 “该 Recall 及以上的最大 Precision”,再求平均值:示例:若 11 个点的 Precision 分别为 [1, 0.666, 0.4285, 0.4285, 0.4285, 0, 0, 0, 0, 0, 0],则 AP=(1+0.666+0.4285×3)/11≈26.84%;
  • 物理意义:单类物体的检测精度,AP 越高,该类物体的检测效果越好。
(3)mAP(mean AP)
  • 定义:所有类别的 AP 的算术平均值,衡量模型对多类别物体的综合检测能力;
  • 注意:COCO 数据集采用 “积分法” 计算 AP(而非 11 点法),通过对 P-R 曲线进行积分得到更精确的结果,但核心逻辑一致。

五、目标检测算法分类与流程

根据是否生成 “候选区域(Proposal)”,目标检测算法分为Two-Stage(两阶段) 和One-Stage(单阶段) 两大类,各有优劣:

1. 传统方法:滑动窗口法(已淘汰)

  • 核心逻辑:用固定尺寸 / 比例的窗口在图像上滑动,对每个窗口进行分类,判断是否包含物体;
  • 缺点:需人工设计窗口尺寸,存在大量冗余计算(多数窗口为背景),定位精度低,已被深度学习方法取代。

2. 深度学习方法:Anchor-Based 与 Anchor-Free

(1)Anchor-Based(基于锚框)
  • 核心思想:预先在图像上设置大量 “锚框(Anchor Box)”(不同尺度、长宽比的矩形框),模型对每个锚框预测 “类别置信度” 和 “坐标偏移量”;
  • Anchor 定义:由scale(面积大小,如 128²、256²)和aspect ratio(长宽比,如 1:1、1:2、2:1)决定,覆盖不同尺寸和形状的物体;
  • 代表算法
    • Two-Stage:先生成候选区域(Proposal),再对候选区域分类回归,精度高但速度慢;
      • 发展线:R-CNN → SPP-Net → Fast R-CNN → Faster R-CNN(用 RPN 网络替代传统候选区域生成,大幅提升速度);
    • One-Stage:直接对锚框分类回归,无候选区域步骤,速度快但精度略低;
      • 代表:YOLO 系列(v1-v5,速度与精度平衡)、SSD 系列(多尺度检测,适配小目标)。
(2)Anchor-Free(无锚框)
  • 核心思想:无需预设锚框,直接从特征图中预测物体的 “中心点” 或 “关键点”,再回归边界框尺寸;
  • 优势:避免锚框设计的人工成本,减少冗余计算,对不规则形状物体适配性更好;
  • 代表算法:CornerNet(预测物体左上角和右下角关键点)、CenterNet(预测物体中心点和宽高)。

3. 两大算法流程对比

(1)Two-Stage 算法流程(以 Faster R-CNN 为例)
  1. 特征提取:用 CNN(如 ResNet)对输入图像提取特征图;
  2. 候选区域生成(RPN):在特征图上滑动,对预设锚框预测 “前景 / 背景概率” 和 “坐标偏移”,筛选出高质量候选区域(Proposal);
  3. ROI Pooling:将不同尺寸的候选区域统一为固定尺寸,便于后续分类回归;
  4. 分类与回归:用全连接层对候选区域预测 “物体类别” 和 “精确边界框坐标”;
  5. NMS(非极大值抑制):去除同一物体的重复预测框(保留置信度最高的框,删除 IoU > 阈值的其他框)。
(2)One-Stage 算法流程(以 YOLO 为例)
  1. 特征提取:用 CNN(如 DarkNet)提取特征图;
  2. 网格划分与锚框分配:将图像划分为 S×S 网格,每个网格分配预设锚框;
  3. 分类与回归:每个锚框直接预测 “类别置信度” 和 “坐标偏移”;
  4. NMS:过滤重复预测框,输出最终检测结果;
  • 优势:流程简化,无候选区域步骤,推理速度比 Two-Stage 快 10~100 倍,适合实时检测场景(如自动驾驶、视频监控)。

4. 关键后处理:NMS(非极大值抑制)

  • 作用:去除同一物体的重复预测框,保留最优结果;
  • 步骤
    1. 设定置信度阈值(如 0.5),过滤掉低置信度预测框;
    2. 按置信度降序排列剩余候选框;
    3. 选取置信度最高的框 A 加入输出列表,计算 A 与其他框的 IoU,删除 IoU > 阈值(如 0.5)的框;
    4. 重复步骤 3,直到候选框列表为空,输出最终检测结果。
http://www.dtcms.com/a/486544.html

相关文章:

  • 网站建设的基本步骤是中国设备网
  • 建设网站的优点跟缺点要看网现在的地址是多少
  • 前端学习总结——AI主流前沿方向篇
  • 制作网页的网站哪个好用产品市场营销策划方案
  • [Linux]学习笔记系列 -- lib/zlib DEFLATE压缩与解压缩
  • 为电力设备装上“感知神经”:AHE100无线温湿度传感器,守护安全运行的隐形卫士
  • RocketMQ如何保证消息不丢失
  • CC1-二叉树的最小深度
  • 把 Python 应用打包成 Mac 应用程序 — 完整指南
  • 阿里云监控:SLS的使用
  • C语言面试题答案版(ai生成)
  • 做网站发广告重庆建站模板
  • 吃透大数据算法-用 “任务排队” 讲透 Kahn 算法的核心
  • 外贸网站建设 全球搜天津网址
  • MeshGPT:三角形网格生成的Decoder-Only Transformer范式解析
  • vllm论文中 内部碎片原因
  • 重庆市设计公司网站wordpress 计数js版
  • linux中mount的本质是什么?自己如何实现一个伪文件系统
  • wordpress哪个编辑器好用吗长春网站优化咨询
  • 深度学习经典网络解析:ResNet
  • qingdao城乡住房建设厅网站网站建设中的策略
  • 字节数开一面
  • 页面转wordpress辛集seo网站优化电话
  • 优化推广网站seo讷河做网站公司
  • ASP的checkbox
  • 【个人成长笔记】在Ubuntu中将Linux系统的文件夹名称从中文改回英文的完整指南
  • Hosmer-Lemeshow检验:逻辑回归模型拟合优度的守护者
  • 主流机器学习算法的快速应用指南
  • 优惠码购买lisahost季付款VPS评测分享
  • Samba共享服务搭建