目标检测基础知识1.0
1.图像处理三大任务
- 物体识别
- 目标检测
- 图像分割
目标检测:给定一张图像,判断图像中是否存在指定类别的目标,若存在,则输出目标位置、类别及置信度。
目标检测属于多任务,一个任务是目标分类,另一个是目标位置的确定,即分类与回归。
2.基于深层神经网络的目标检测
双阶段(two-stage):第一级网络用于候选区域提取;第二级网络对提取的候选区域进行分类和精确坐标回
归,例如RCNN系列。(精确度更高)
单阶段(one-stage):掘弃了候选区域提取这一步骤,只用一级网络就完成了分类和回归两个任务,例如YOLO和SSD等。
单阶段网络的准确度为何不如双阶段网络,训练中的不均衡
- 负例过多,正例过少
- 大多数负例十分容易区分
双阶段网络如何解决训练中的不均衡
- 在RPN网络中,根据前景置信度的高度选择最有可能的候选区域,从而避免大量容易区分的负例;
- 训练过程中根据交并比进行采样,将正负样本比例设为1:3,防止过多负例出现。
3.常用数据集-Pascal voc
- 其提供的数据集里包含了20类的物体。
- PASCALVOC的主要5个任务是
- 分类:对于每一个分类,判断该分类是否在测试照片上存在(共20类);
- 检测:检测目标对象在待测试图片中的位置并给出矩形框坐标(bounding box);
- 分割:对于待测照片中的任何一个像素,判断哪一个分类包含该像素(如果20个分类没有一个包含该像素,那么该像素属于背景)
- (在给定矩形框位置的情况下)人体动作识别;
- Large Scale Recognition(由ImageNet主办)。
bounding box 有四个参数[x,y,w,h] 给出图片左上角的坐标(x,y)之后可以自动计算出图片的大小。
4.常见的评价指标(重要)
True positives (TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数;
False positives (FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;
False negatives (FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;
True negatives (TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。
Precision = TP / (TP + FP) = TP / 所有被模型预测为正样本的数据的数量
Recall = TP / (TP + FN) = TP / 所有真实类别为正样本的数据的数量
4.1PR曲线
我们希望检测的结果P越高越好,R也是越高越好,但事实上这两者在某些情况下是矛盾的,即一个变高,另外一个反而变小了。
那么我们就需要找到一种精确率和召回率之间的平衡。可以通过PR曲线来计算两个轴与曲线组成的面积得到去判断模型的好坏,这个面积称为AUC(Area under Curve)。
判断方式:AUC的面积越大代表模型越好。
5.IoU指标
衡量bounding box是否精准呢?
训练好的目标检测模型会给出大量的预测结果,但是其中大多数的预测值都会有非常低的置信度
(confidence score),因 此我们只考虑那些置信度高于某个阈值的预测结果。
将原始图片送入训练好的模型,在经过置信度阈值筛选之后,目标检测算法给出带 有边界框的预测结果。
IoU是预测框与ground truth的交集和并集的比值。 对于每个类,预测框和ground truth重叠的区域是交集,而横跨的总区域就是并集。
IoU = 交集 / 并集
6.目标检测中的PR
TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
FN: 没有检测到的GT的数量
图片中没有预测到物体的每个部分都被视为Negative。
7.数据增强及预处理方法
深层神经网络的训练过程,数据的预处理十分关键 。常用的预处理步骤包括:
- 图像归一化
- 图像增强,包括翻转、裁剪、饱合度亮度变换、噪声
- 图像的纵横比处理
常见的图像操作,一般灰度归一化,即减去均值;保持纵横比,将图像的短边缩放至同一大小 。
8.非极大值抑制Non-Maximum Suppression(NMS)
NMS算法一般是为了去掉模型预测后的多余框,其一般设有一个nms_threshold=0.5,具体的实现思路如下:
-
选取这类box中scores最大的哪一个,记为box_best,并保留它
-
计算box_best与其余的box的IOU
-
如果其IOU>0.5了(表示两个框重叠度非常高了),那么就舍弃这个box(由于可能这两个box表示同一目标,所以保留分数高的哪一个)
-
从最后剩余的boxes中,再找出最大scores的哪一个,如此循环往复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】