深度学习与视觉应用
VGC16
改进
- 网络规模进一步增大,参数数量约为1.38亿
- 由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
普遍规律 - 随网络深入,高和宽衰减,通道数增多。
改进
- 网络规模进一步增大,参数数量约为1.38亿
- 由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
普遍规律 - 随网络深入,高和宽衰减,通道数增多。
评价指标
算法评估相关概念
- TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
- FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
- FN: 被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
- TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
- P(精确率):𝑇𝑃/(𝑇𝑃 + 𝐹𝑃),标识“挑剔”的程度
- R(召回率):𝑇𝑃/(𝑇𝑃 + 𝐹𝑁)。召回率越高,准确度越低
- 精度(Accuracy):(𝑇𝑃 + 𝑇𝑁)/(𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁)
P-R的关系曲线图,表示了召回率和准确率之间的关系
目标检测与YOLO
目标检测问题
目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。
YOLO家族发展
基本的滑动窗口
原理示意图
存在的问题
- 滑动次数太多,计算太慢
- 目标大小不同,每一个滑动位置需要用很多框
滑动窗口的改进
- 可以确定那些更有可能出现目标的位置,再有针对性的用CNN进行检测
- 进一步减少出现目标的位置,而且将目标分类检测和定位问题合在一个网络里——一步法(YOLO)
YOLO网络结构
- 网络输入:输入图片为448 × 448 × 3。 实际中如为其它尺寸,需要resize或切割成要求尺寸。
- 模型处理:将图片分割为 𝑆2个grid(𝑆 = 7),每个grid cell的大小都是相等的,每个格子都可以检测是否包含目标
- 网络输出:输出是一个7 × 7 × 30的张量,每个cell对应2个包围框(bounding
box, bb),预测不同大小和宽高比,对应检测不同目标。每个bb有5个分量,分别是物体的中心位置(𝑥, 𝑦)和它的高(ℎ) 和宽 (𝑤) ,以及这次预测的置信度。
包围框与置信度
YOLO的包围框
𝑠2个框,每个框的bb个数为𝐵,分类器可以识别出𝐶种不同的物体,那么所有整个ground truth的长度为𝑆 × 𝑆 × (𝐵 × 5 + 𝐶)
细节处理
- 归一化:四个关于位置的值,分别是𝑥, 𝑦, ℎ和𝑤,均为整数,实际预测中收敛慢因此,需要对数据进行归一化,在0-1之间。
- 置信度: C = Pr ( o b j ) ∗ I O U t r u t h p r e d C=\Pr(obj)*IOU_{truth}^{pred} C=Pr(obj)∗IOUtruthpred
- 训练值:Pr 𝑜𝑏𝑗 的ground truth:三个目标中点对应格子为1,其它为0
损失函数
语义分割
概念及基本思想
语义分割:找到同一画面中的不同类型目标区域
语义分割问题和其他问题的区别
- 实例分割:同一类型目标要分出来具体实例(谁是谁)
- 目标检测:标出来外包围矩形
基本思想:滑动窗口
FCN网络结构
网络结构分为两个部分:全卷积部分和反卷积部分。全卷积部分借用了一些经典的CNN网络,并把最后的全连接层换成卷积,用于提取特征,形成热点图;反卷积部分则是将小尺寸的热点图上采样得到原尺寸的语义分割图像。
反池化与卷积
- 𝟏 × 𝟏卷积
- 转置卷积
- 上池化(unpooling)
FCN具体实现
FCN网络结构:卷积部分
FCN中第6、 7、 8层都是通过1 × 1卷积得到的, 第6层的输出通道是4096, 第7层的输出通道是4096 , 第8层的输出是1000(类) ,即1000个特征图(称为heatmap)