图像分割、定位、检测
概念区分
语义分割
没有目标,只有像素
分类+定位
单个目标
目标检测
多目标
实例分割
多目标
语义分割 semantic segmantation
定义:给每个像素标记类别,不区分实例,只关心像素
语义分割方法:滑动窗口(效率低,重复计算特征)和全卷积网络(用卷积层一次性预测所有像素,结合下采样(downsampling)与上采样(upsampling))
上采样
上采样方法:
非池化(Unpooling ,以2×2输入扩展为4×4为例)
Nearest Neighbor:
Bed of Nails:
最大非池化(Max Unpooling 利用池化时记录的最大位置恢复尺寸)
下采样层与上采样层的对应配对:
转置卷积(Transpose Convolution):通过矩阵转置实现
分类+定位与人体姿态估计
分类+定位
将定位视为回归问题,在分类网络基础上增加全连接层输出边界框坐标(x,y,w,h),损失函数为分类损失(softmax loss)+定位损失(L2 loss),常利用ImageNet预训练模型迁移学习
人体姿态估计
人体姿态估计作为分类+定位的扩展,将姿态表示为14个关节点坐标(左右脚、膝盖、髋部等),通过网络输出关节点坐标并计算L2损失
目标检测
目标检测需要处理多对象,指出直接回归(输出数量不固定)和滑动窗口(计算量大)的问题,引入区域提议(region proposals)方法(如selectives search)快速生成可能含对象的区域
R-CNN框架
通过区域提议获取约2k个区域,warp后输入CNN提取特征,用SVM分类,并回归边界框,指出其缺陷:训练目标零散、速度慢,VGG16推理时间47s/张
Fast R-CNN
Fast R-CNN改进为整图通过CNN生成特征图,用RoI Pooling统一区域特征尺寸,多任务损失联合训练分类与定位,推理时间进一步缩短至0.32s/张(含区域提议)
Faster R-CNN
Faster R-CNN引入区域提议网络(RPN),让CNN自主生成提议,联合训练4种损失(1.RPN分类损失2.RPN回归边界框损失3.最终分类损失4.最终回归边界框损失),推理时间进一步缩短至0.2s/张
YOLO/SSD 无提议检测
YOLO/SSD为单阶段检测,将图像划分为网格,每个网格预测固定数量边界框及类别分数,输出张量尺寸固定,速度快但精度略低
实例分割
- Mask R-CNN在Faster R-CNN基础上增加Mask分支,用RoI Align替代RoI Pooling提升精度,可同时完成分类、定位、实例分割及人体姿态估计,效果优异