目标检测基础知识大全!快进来收藏啦!
来源:投稿 作者:LSC
编辑:学姐
「目标检测问题是识别图片中有哪些物体并且找到物体的存在位置。」
1.特点
目标种类与数量繁多问题
目标尺度不均问题
遮挡、噪声等外部环境干扰
2.数据集
2.1 VOCS数据集
PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。

4大类,20小类
VOC2007: 9936图片/24640目标
VOC2012: 23080图片/54900目标
2.2 COCO数据集
起源于微软2014年出资标注的「MS COCO」数据库,全称是Microsoft Common Objects in Context

包含20万个图像
80个类别
超过50万个目标标注
平均每个图像的目标数为7.2
3.评价指标
3.1 GroundTruth

目标检测的ground truth是指: 类别+真实边界框坐标(x,y,w,h)
假设上图尺寸为1000*800px

3.2 IOU(交并比,Intersection over Union)

生成的预测框会很多,首先过滤掉低类别置信度的检测结果,再使用IoU作为边界框正确性的度量指标。

3.3 基本指标

预测结果中的正样本就是有画框的地方,负样本就是没有框的地方(一般是背景)。
3.4 AP与mAp


Precision 准确率/查准率
Recall 召回率/查全率
AP(Average Precision) 用11点法、近似面积法求得
mean AP: 每个类别所得到AP的均值
「mean与average」

mean 算数平均
average 包含其他的度量标准
Average P: P值需要设计度量规则让它均衡
mean AP: AP够均衡了,直接mean即可
「AP计算方法: 11点法」

R = [0, 0.1, 0.2, 0.3.....,0.7, 0.8, 0.9, 1]
P = [1, 0.666, 0.4285, 0.4285, ....., 0, 0, 0]

3.5 案例演示

(1)根据IoU划分TP&FP
(2)按置信度的从大到小,计算P值和R值
(3)绘制P-R曲线,进行AP计算
多个与GT重叠的候选框均符合条件时,选取IoU最高的为TP,其余均为FP。

AP 计算方法: 面积法
12年后开始使用面积法
AP可以解释为P-R曲线的近似AUC(面积)
修正PR曲线为单调递减,进行AP计算


4. 脑图,上述总结

5. 算法发展总览
时间线梳理

6. 传统目标检测流程
6.1

区域选择: 通常采用滑动窗口方法
特征提取: 采用SIFT、HOG等
分类器: 采用SVM、Adaboost等机器学习算法
6.2传统区域选择

「滑动窗口法」
是一种暴力搜索,随机设计一个窗口,让它在图片上滑动,随机搜索区域。
特点: 任务相对独立,需要人工设计尺寸,大量冗余操作,定位不准确。
「CNN更有效」

特点: 权值共享、减少滑动窗口的冗余,定位不准

6.3 传统特征提取
「特征提取」

颜色特征: 颜色分布直方图
形状特征: SIFT、HoG
纹理特征: 反复出现的局部模式
边缘特征: canny、sobel
7 基于深度学习的检测算法
7.1 基于anchor划分
anchor base和anchor free

什么是anchor
anchor-base是自顶向下的
anchor-free是自底向上的

anchor-free算法是free掉的是anchor的预设过程

anchor box用ratio + scale描述:
feature Map的点来决定位置
scale来表示目标的大小
aspect ratio来表示目标的形状
7.2一阶段和两阶段
two stage算法流程

one stage算法流程

常见的two-stage算法
经典发展线: RCNN->SPP Net->Fast R-CNN->Faster R-CNN
其他: Cascade R-CNN、 Guided Anchoring
「常见one-stage算法」
YOLO系列: YOLO v1-v5
SSD系列: SSD、DSSS、 FSSD
其他经典: RefineDet
https://github.com/hoya012/deep_learning_object_detection
7.3 NMS
非极大值抑制(Non-maximum suppression, NMS)

设定目标框的置信度阈值,常用的阈值是0.5左右
根据置信度降序排列候选框列表
选取置信度最高的框A添到输出列表,将其从候选框列表中删除
候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框
重复上述过程,直到候选框列表为空,返回输出列表
8.anchor-base算法结构
8.1算法结构图

8.2主干网络(backbone)
用于进行特征提取,生成特征图供后面的网络使用
常见: VGG、ResNet、darknet

网络越来越深:
(1)网络越深非线性表达能力越强
(2)网络越深,越深层次的特征对于图像最初的变化越不敏感,鲁棒性越好,参数多,网络越“聪明”,泛化能力强
8.3感受野
「(1)定义:」
卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

(2)理论感受野的计算

k: kernel size
p: padding size
s: stride size
n: feature map size为n*n
r: 感受野的size为r*r
J: feature map上前进1步相当于输入图像上前进个多少像素
「(3)实际感受野的表现」

8.4 Neck部分
放在backbone和head之间的,为了更好的利用backbone提取的特征。
FPN(Feature Pyramid Network, 特征金字塔网络)


8.5 Head部分
检测头
利用特征图进行最终目标检测的结构
8.6 脑图总结

关注【学姐带你玩AI】公众号
后台回复“CVPR”免费领取学姐整理的目标检测论文合集!
另有CV其他细分方向!同学们可以按规则领取o( ̄▽ ̄)o