目标检测是同时识别图像中物体类别和定位其位置(通过边界框坐标)的多任务技术。
核心挑战:
目标种类与数量多,需覆盖广泛类别。
目标尺度差异大(如小目标与大目标)。
环境干扰(如遮挡、噪声)。
常用数据集
VOC数据集:
20个类别(分为4大类)。
包含9,963张图像和24,640个标注目标(VOC 2007)。
标注格式:XML文件,记录绝对坐标(Xmin/Ymin/Xmax/Ymax)。
COCO数据集:
80个类别,20万张图像,超50万个标注目标。
标注格式:JSON文件,记录目标左上角坐标及宽高(非归一化)。
平均每张图像包含7.2个目标。
YOLO数据集:
标注格式:TXT文件,记录归一化的中心点坐标和宽高。
评估指标
IoU(交并比):
计算预测框与真实框的重叠面积占比,用于判定检测结果是否为真阳性(TP)或假阳性(FP)。
分类指标:
TP/FP/TN/FN:基于IoU阈值划分检测结果类别。
查准率(Precision) = TP / (TP + FP)。
查全率(Recall) = TP / (TP + FN)。
AP(平均精度):
11点法:在召回率区间0,1内等距取11个点,计算对应Precision的均值。
mAP(均值AP):所有类别AP的算术平均,用于综合评估模型性能。
传统方法与深度学习方法对比
传统方法(如滑动窗口法):
依赖人工设计窗口尺寸,计算冗余度高,定位精度低。
深度学习方法:
Anchor-based方法(如Faster R-CNN、YOLO系列):
基于预设锚框(比例和尺度)预测目标位置和类别。
Anchor-free方法(如CenterNet、FCOS):
直接生成目标框,无需预设锚框。
Two-stage算法(如R-CNN系列、Cascade R-CNN):
流程:首先生成候选区域,再分类与回归。
One-stage算法(如YOLO、SSD、RetinaNet):
端到端直接预测目标,速度更快。
后处理技术:非极大值抑制(NMS)
作用:过滤重复检测框,保留置信度最高的结果。
步骤:
按置信度从高到低排序候选框。
选取最高置信度框加入输出列表,删除与其IoU超过阈值的候选框。
重复上述步骤,直到候选框为空。