目标检测
目标检测问题
目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。
基本思想
滑动窗口
问题1:滑动次数太多,计算太慢
问题2:目标大小不同,每一个滑动位置需要用很多框
改进:一步法(YOLO)
一步法
基本思想:将分类问题扩展为回归+分类问题
YOLO
网络结构
网络结构包含24个卷积层和2个全连接层;其中前20个卷积层用来做预训练,后面4个是随机初始化的卷积层,和2个全连接层。
YOLO网络输入
YOLO v1在PASCAL VOC数据集上进行的训练,因此输入图片为448 × 448 × 3。 实际中如为其它尺寸,需要resize或切割成要求尺寸。
YOLO模型处理
将图片分割为 𝑆2个grid(𝑆 = 7),每个grid cell的大小都是相等的;
每个格子都可以检测是否包含目标;
YOLO v1中,每个格子只能检测一种物体(但可以不同大小)。
YOLO网络输出
输出是一个7 × 7 × 30的张量。对应7 × 7个cell;
每个cell对应2个包围框(bounding box, bb),预测不同大小和宽高比,对应检测不同目标。每个bb有5个分量,分别是物体的中心位置(𝑥, 𝑦)和它的高(ℎ) 和宽 (𝑤) ,以及这次预测的置信度。
YOLO包围框
我们有 𝑠2个框,每个框的bb个数为𝐵,分类器可以识别出𝐶种不同的物体,那么所有整个ground truth的长度为𝑆 × 𝑆 × (𝐵 × 5 + 𝐶)
YOLO置信度
是一个grid有物体的概率
是预测的bb和真实的物体位置的交并比
YOLO损失函数
语义分割
语义分割问题
找到同一画面中的不同类型目标区域
语义分割 vs 实例分割 vs 目标检测
实例分割:同一类型目标要分出来具体实例(谁是谁)
目标检测:标出来外包围矩形
深度学习图像分割算法
语义分割目标
对图中每个像素进行分类,得到对应标签
基本思想:滑动窗口
FCN网络结构
网络结构分为两个部分:全卷积部分和反卷积部分。全卷积部分借用了一些经典的CNN网络,并把最后的全连接层换成卷积,用于提取特征,形成热点图;反卷积部分则是将小尺寸的热点图上采样得到原尺寸的语义分割图像。
卷积部分
FCN中第6、 7、 8层都是通过1 × 1卷积得到的, 第6层的输出通道是4096, 第7层的输出通道是4096 , 第8层的输出是1000(类) ,即1000个特征图(称为heatmap)
反卷积部分
为跳级结构
评价指标
像素准确率
平均准确率
平均交并比