1.深度学习视觉应用
1.1算法评估
一些算法评估相关的概念
TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
P(精确率): TP/(TP+FP)
R(召回率): TP/(TP+FN)。召回率越高,准确度越低
True positives : 图片被识别且识别正确;False positives:图片被识别但识别错误; False negatives: 图片没有被识别且识别错误;True negatives:图片没被识别但识别正确;
mAP:均值平均准确率
其中𝑁代表测试集中所有图片的个数,𝑃(𝑘)表示在能识别出𝑘个图片的时候Precision的值,而 Δ𝑟(𝑘)则表示识别图片个数从𝑘 − 1变化到𝑘时(通过调整阈值)Recall值的变化情况。
1.2目标检测与YOLO
目标检测问题:给定的图片中精确找到物体所在位置,并标注出物体的类别。物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。
发展历程:R-CNN=>SPP NET=>Fast R-CNN=>Faster R-CNN=>YOLO
1.2.1目标检测问题
区别于分类问题获取图中是什么的问题,目标检测是要获取图中是什么在什么位置。
基本滑动窗口:在图片上生成一个检测窗口,按顺序扫过图片全部位置,对于每个位置都检测是否存在目标,缺点是滑动次数太多,计算太慢,假设图片大小448 × 448,识别一个目标需要0.05s那么一共需要将近3小时,一般图片中,大多数位置都不存在目标。
1.2.2YOLO网络结构
网络结构包含24个卷积层和2个全连接层;其中前20个卷积层用来做预训练,后面4个是随机初始化的卷积层,和2个全连接层。
𝟕 × 𝟕网格划分:将图片分割为 𝑆2个grid(𝑆 = 7),每个grid cell的大小都是相等的。每个格子都可以检测是否包含目标。YOLO v1中,每个格子只能检测一种物体(但可以不同大小)。输出是一个7 × 7 × 30的张量。对应7 × 7个cell每个cell对应2个包围框(boundingbox, bb),预测不同大小和宽高比,对应检测不同目标。每个bb有5个分量,分别是物体的中心位置(𝑥, 𝑦)和它的高(ℎ) 和宽 (𝑤) ,以及这次预测的置信度。
置信度公式:
其中Pr(𝑜𝑏𝑗)是一个grid有物体的概率,IOU是预测的bb和真实的物体位置的交并比。
损失函数:
2.语义分割与FCN
语义分割问题:找到同一画面中的不同类型目标区域。
发展过程:
2.1基本思想
对图中每一个像素进行分类,得到对应标签,采取滑动窗口方式检测。
FCN网络结构:
网络结构分为两个部分:全卷积部分和反卷积部分。全卷积部分借用了一些经典的CNN网络,并把最后的全连接层换成卷积,用于提取特征,形成热点图;反卷积部分则是将小尺寸的热点图上采样得到原尺寸的语义分割图像。