目标检测学习总结

本次学习围绕目标检测展开,系统涵盖了目标检测的核心定义、关键问题、数据集、Ground Truth 表示、评估指标及主流算法等内容,为深入理解和应用目标检测技术奠定了坚实基础,以下是具体总结。

一、目标检测核心认知

(一)定义

目标检测旨在识别图片中物体的类别,并确定物体的存在位置,是计算机视觉领域的重要任务,需同时完成 "what"(物体类别)和 "where"(物体位置)两大核心目标,属于典型的多任务问题。

(二)核心挑战

在实际应用中,目标检测面临三大关键问题,这些问题直接影响检测精度和效率:

  1. 目标种类与数量繁多:现实场景中物体类别丰富,且同一图像中可能存在大量不同类别、不同数量的目标,增加了识别和定位的复杂度。
  2. 目标尺度不均:同一物体在图像中可能呈现不同大小(如近处的汽车和远处的汽车),不同物体的尺度差异更大,对模型的尺度适应性提出高要求。
  3. 外部环境干扰:遮挡(如物体间相互遮挡)、噪声(如图像模糊、光照变化产生的噪声)等因素,会导致目标特征不完整,影响检测准确性。

二、目标检测数据集

数据集是目标检测模型训练和评估的基础,本次学习重点介绍了两个国际主流数据集:VOC 数据集和 COCO 数据集,二者在规模、类别数量等方面存在显著差异,适用场景各有侧重。

数据集 背景 核心参数 特点
VOC 数据集 源于世界级计算机视觉挑战赛 PASCAL VOC 挑战赛 包含 4 大类、20 小类;VOC 2007 有 9963 张图片、24640 个目标;VOC 2012 有 23080 张图片、54900 个目标 类别数量较少,数据规模相对适中,是早期目标检测模型(如 R-CNN 系列)常用的基准数据集
COCO 数据集 由微软 2014 年出资标注 包含 20 万个图像、80 个类别、超过 50 万个目标标注,平均每个图像有 7.2 个目标 类别更丰富,数据规模大,目标密度高,更贴近真实复杂场景,目前广泛用于主流目标检测模型的训练与评估

三、Ground Truth 表示

Ground Truth(真值)是衡量模型预测结果准确性的标准,主要包含物体类别和边界框坐标信息。不同数据集采用不同的边界框坐标格式,核心差异在于坐标定义方式和是否归一化,具体如下:

格式 来源 坐标表示 归一化情况 说明
YOLO(TXT)格式 YOLO 系列算法 (x, y, w, h),分别代表目标中心点的 x 坐标、y 坐标,以及目标的宽和高 x、y、w、h 均相对于图像尺寸归一化,取值范围在 [0,1] 之间,便于模型处理不同尺寸的图像
VOC(XML)格式 VOC 数据集 (Xmin, Ymin, Xmax, Ymax),分别代表目标边界框左上角的 x、y 坐标和右下角的 x、y 坐标 直接使用图像像素坐标,需结合图像实际尺寸进行计算
COCO(JSON)格式 COCO 数据集 (Xmin, Ymin, W, H),分别代表目标边界框左上角的 x、y 坐标,以及目标的宽和高 坐标和宽高均为图像像素值,未归一化,需根据图像分辨率转换后使用

四、目标检测评估指标

评估指标是衡量目标检测模型性能的关键,本次学习重点讲解了 IoU、TP/FP/TN/FN、Precision/Recall、P-R 曲线、AP 及 mean AP 等指标,各指标从不同维度反映模型性能:

(一)IoU(Intersection over Union)

  1. 定义:IoU 是目标检测中衡量边界框准确性的核心指标,计算模型预测边界框与 Ground Truth 边界框的交集面积与并集面积的比值,公式为:\(IoU = \frac{Intersection}{Union}\)。
  2. 作用:IoU 值越大,表明预测框与真实框的重合度越高,检测位置越准确。通常设定 IoU 阈值(如 0.5)来判断预测结果是否有效。
  3. 预处理:由于模型生成的预测结果数量庞大,首先会过滤掉类别置信度较低的预测框,再通过 IoU 进一步筛选有效结果。

(二)TP/FP/TN/FN(正负样本判定)

TP、FP、TN、FN 根据样本真实类别和模型预测类别划分,是计算 Precision 和 Recall 的基础,具体定义如下:

评估指标 解释 在目标检测中的含义
TP(真正样本) 真实类别为正样本,模型预测为正样本 预测框与 Ground Truth 的 IoU 大于设定阈值,且类别预测正确
FP(假正样本) 真实类别为负样本,模型预测为正样本 预测框与所有 Ground Truth 的 IoU 小于设定阈值,或类别预测错误
TN(真负样本) 真实类别为负样本,模型预测为负样本 图像中无目标,模型未检测出目标(实际应用中较少关注)
FN(假负样本) 真实类别为正样本,模型预测为负样本 图像中存在目标,但模型未检测出(即漏检)

(三)Precision(精确率 / 查准率)与 Recall(召回率 / 查全率)

  1. Precision:衡量模型预测为正样本的结果中,真实为正样本的比例,反映模型 "查得准" 的能力,公式为:\(Precision = \frac{TP}{TP + FP}\)。
  2. Recall:衡量真实为正样本的目标中,被模型成功检测出的比例,反映模型 "查得全" 的能力,公式为:\(Recall = \frac{TP}{TP + FN}\)。
  3. 权衡关系:Precision 和 Recall 通常存在权衡 ------ 提高 Precision 可能导致 Recall 降低(如严格筛选预测框,减少 FP 但可能漏检 FN),反之亦然。

(四)P-R 曲线与 AP(Average Precision)

  1. P-R 曲线:以 Recall 为横轴、Precision 为纵轴绘制的曲线,曲线越靠近右上角,表明模型在 Precision 和 Recall 上的综合性能越好。
  2. AP 计算 :AP 是 P-R 曲线下的面积,衡量模型在单个类别上的综合性能,常用计算方法包括 11 点法和近似面积法:
    • 11 点法:选取 Recall 值为 [0, 0.1, 0.2, ..., 1.0] 的 11 个点,对应每个 Recall 点取该 Recall 及更高 Recall 对应的最大 Precision,再计算这 11 个 Precision 的平均值,即为该类别的 AP。
    • 近似面积法:将 P-R 曲线按 Recall 值均匀划分,计算每个区间的 Precision 平均值,再乘以区间宽度,累加后得到 AP,该方法比 11 点法更精确。

(五)mean AP(mAP)

mean AP 是所有类别的 AP 的算术平均值,衡量模型在多个类别上的整体性能,是目标检测任务中最常用的综合评估指标。此外,需区分 "mean" 与 "average":

  • mean:指算术平均数,直接对多个 AP 值求平均(如 mAP)。
  • average:包含更多度量规则,需根据具体场景设计均衡策略(如 Average P)。

五、目标检测算法

目标检测算法主要分为传统方法和深度学习方法,目前深度学习方法因性能优势成为主流,根据检测流程可进一步分为 two stage 和 one stage 算法。

(一)传统方法:滑动窗口法

  1. 原理:通过人工设计固定尺寸的窗口,在图像上滑动遍历,对每个窗口区域进行分类和判断,确定是否包含目标及目标类别。
  2. 缺点
    • 需人工设计窗口尺寸,无法适应不同尺度的目标;
    • 滑动过程产生大量冗余操作,计算效率低;
    • 定位精度差,难以准确匹配目标边界。

(二)深度学习方法

1. 核心概念:anchor box
  • 定义:anchor box(锚框)是预先在图像上设定的具有不同比例(aspect ratio)和尺度(scale)的边界框,用于匹配不同形状和大小的目标。
  • 参数
    • scale:表示目标的面积大小,对应不同尺寸的锚框(如小锚框匹配小目标,大锚框匹配大目标);
    • aspect ratio:表示目标的形状(长宽比),如 1:1(正方形)、1:2(长方形)等;
    • 位置:由特征图(feature map)上的像素点对应到原图的位置决定。
2. 算法分类:anchor-base 与 anchor-free
  • anchor-base(基于锚框)
    • 思路:自顶向下,类似传统滑动窗口法,先通过锚框穷举大量候选区域,再根据类别置信度和 IoU 筛选有效候选框,进行位置回归和类别预测。
    • 代表算法:R-CNN 系列、SSD 系列等。
  • anchor-free(无锚框)
    • 思路:自底向上,无需预设锚框,直接从图像特征中预测目标的关键点或边界框,自动生成目标候选区域,减少锚框设计的复杂性。
    • 优势:避免锚框预设带来的冗余和适配问题,在小目标检测等场景中表现更优。
3. 检测流程:two stage 与 one stage
  • two stage(两阶段算法)

    • 流程 :分为两个阶段,第一阶段生成目标候选区域(proposal),第二阶段对候选区域进行类别预测和位置回归:
      1. 输入图像,通过 CNN 提取特征图;
      2. 生成候选区域(如 R-CNN 中的选择性搜索,Faster R-CNN 中的 RPN 网络);
      3. 对候选区域进行 ROI Pooling(感兴趣区域池化),统一特征尺寸;
      4. 通过全连接层(fc)完成类别预测和位置回归;
      5. 采用 NMS(非极大值抑制)筛选最终结果。
    • 特点:检测精度高,但流程复杂,计算速度较慢。
    • 代表算法
      • 经典发展线:R-CNN → SPP-Net → Fast R-CNN → Faster R-CNN;
      • 其他优化算法:Cascade R-CNN(级联检测,提升小目标精度)、Guided Anchoring(引导锚框生成,优化锚框匹配)。
  • one stage(单阶段算法)

    • 流程 :无需候选区域生成阶段,直接通过 CNN 对图像进行全局处理,同时完成类别预测和位置回归:
      1. 输入图像,通过 CNN 提取特征图;
      2. 基于特征图直接预测每个位置的目标类别概率和边界框坐标;
      3. 采用 NMS 筛选最终结果。
    • 特点:流程简单,计算速度快,适合实时检测场景,但精度通常略低于 two stage 算法。
    • 代表算法
      • YOLO 系列:YOLO v1-v5(速度快,兼顾精度,广泛应用于实时检测);
      • SSD 系列:SSD、DSSD、FSSD(多尺度特征融合,提升多尺度目标检测能力);
      • 其他:RefineDet(结合 two stage 和 one stage 优势,平衡精度与速度)。
4. 关键步骤:非极大值抑制(NMS)
  • 作用:解决同一目标被多个候选框重复检测的问题,筛选出最准确的边界框。
  • 流程
    1. 设定类别置信度阈值(常用 0.5),过滤掉低置信度的候选框;
    2. 按候选框的置信度从高到低排序;
    3. 选取置信度最高的候选框 A,加入输出列表,同时从候选框列表中删除 A;
    4. 计算候选框列表中剩余框与 A 的 IoU,删除 IoU 大于设定阈值(如 0.5)的候选框(认为是同一目标的重复检测);
    5. 重复步骤 3-4,直到候选框列表为空,输出最终检测结果。

六、学习收获与展望

通过本次学习,系统掌握了目标检测的基础理论和核心技术,明确了数据集、评估指标、算法设计的关键要点,理解了不同算法的优缺点及适用场景。未来学习中,可进一步深入以下方向:

  1. 算法优化:研究小目标检测、遮挡目标检测的改进方法,如特征融合、注意力机制的应用;
  2. 实践应用:基于 VOC、COCO 数据集,动手实现 YOLO、Faster R-CNN 等算法,熟悉模型训练、调参流程;
  3. 前沿技术:关注 anchor-free 算法、Transformer-based 目标检测(如 DETR)等前沿方向,了解领域最新进展。

目标检测作为计算机视觉的核心任务,在自动驾驶、安防监控、医疗影像等领域具有广泛应用前景,后续需结合理论与实践,不断提升技术应用能力。

相关推荐
Juchecar5 小时前
给AI装上“手脚”:大模型如何自动执行复杂任务?
人工智能
长鸳词羡5 小时前
LoRA微调
人工智能·深度学习·机器学习
jerryinwuhan5 小时前
Transformer ViT 架构(转载)
人工智能·深度学习·transformer
码农阿豪5 小时前
【征文计划】码上分享:基于 Rokid CXR-M SDK 构建「AI远程协作助手」实战全记录
人工智能·kotlin·sdk·rokid
mahuan1688885 小时前
ITVDesk
人工智能
聚梦小课堂5 小时前
用于大语言模型后训练阶段的新方法GVPO(Group Variance Policy Optimization)
人工智能·语言模型·后训练
说私域5 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的互联网运营体系化研究
人工智能·小程序
谢栋_6 小时前
基于 GitLab CI/CD 与 Google Gemini 的 AI Code Review 自动化方案
人工智能·ci/cd·gitlab