一、基本卷积神经网络
1、AlexNet
网络结构:
网络说明:网络一共有8层可学习层——5层卷积层和3层全连接层
改进:
1)池化层均采用最大池化
2)选用Relu作为非线性环节激活函数
3)网络规模扩大,参数数量接近6000万
4)出现“多个卷积层+一个池化层”的结构
普遍规律:随着网络深入,宽、高衰减,通道数增加
2、VGG-16
网络结构:
改进:
1)网络规模进一步增大,参数数量约为1.38亿
2)由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点
普遍规律:随着网络深入,高和宽衰减,通道数增多
3、残差网络
为什么需要残差网络?
1)非残差网络的缺陷:
2)梯度消失问题
网络结构:残差块
残差网络:
网络说明:
1)普通网络的基准模型受VGG网络的启发
2)卷积层主要有3x3的过滤器, 并遵循两个简 单的设计规则:①对输出特征图的尺寸相同的各层,都有相同数量的过滤器; ②如果特征 图的大小减半,那么过滤器的数量就增加一 倍,以保证每一层的时间复杂度相同。
3)ResNet模型比VGG网络更少的过滤器和更低的复杂性。ResNet具有34层的权重层,有36亿 FLOPs,只是VGG-19(19.6亿FLOPs)的18%。
二、常用数据集
1、MNIST
MNIST数据集主要由一些手写数字的图片和相应的标签组成,图片一共有10类,分别对应0-9
原始的MNIST数据库一共包含下面四个文件:
MNIST数据集是由0〜9手写数字图片和数字标签所组成的,由60000个训练样本和10000个测试样 本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。
Fashion-MNIST:是一个替代 MNIST 手写数字集 的图像数据集。 它是由 Zalando旗下的研究部门提供,涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。FashionMNIST 的大小、格式和训练集/测试集划分与原始的 MNIST 完全一致。60000/10000 的训练测试数据划分,28x28 的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。
2、CIFAR 10
CIFAR 10数据集:由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。数据集分为五个训练批次和一个测试批次,每个批次有10000 个图像。测试批次包含来自每个类别的恰好1000个随机选择的 图像。
以下是数据集中的类,以及来自每个类的10个随机图像:
3、PASCAL VOC
PASCAL(Pattern Analysis, Statistical Modelling and Computational Learning),VOC(Visual Object Classes):目标分类(识别)、检测、分割最常用的数据集之一。
分类:20类,分别为person,bird, cat, cow, dog, horse, sheep,aeroplane, bicycle, boat, bus, car, motorbike, train,bottle, chair, dining table, potted plant, sofa, tv/monitor。
文件格式:
20类图像实例:
4、MS COCO
MS COCO:数据集以scene understanding为目标,主要从复杂的日常场景中截取,包含目标分类(识别)、检测、分割、语义标注等数据集。提供的标注类别有80类,有超过33万张图片,其中20 万张有标注,整个数据集中个体的数目超过150万个。
MS COCO数据集示例:
5、ImageNet
ImageNet:总图像数据达到14197122,总类别数有21841,带有标记框的图像数1034908。
ISLVRC 2012子数据集:训练集:1,281,167张图片+标签;类别数:1,000;验证集:50,000张图片+标签;测试集:100,000张图片。
三、数据集与评价指标
1、算法评估相关概念
TP:被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP:被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN:被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
P(精确率):TP/(TP+FP)
R(召回率):TP/(TP+FN)召回率越高,准确度越低
P-R曲线:精确(准确率)越高,召回率越低。
置信度与准确率:调整阈值可改变准确率或召回值
2、AP计算
mAP:均值平均准确率:
其中𝑁代表测试集中所有图片的个数,𝑃(𝑘)表示在能识别出𝑘个图片的时候 Precision的值,而 Δ𝑟(𝑘)则表示识别图片个数从𝑘 − 1变化到𝑘时(通过调整阈值)Recall值的变化情况。
四、目标检测
1、目标检测问题
问题:目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。 物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。
数据集输出表达:
YOLO发展:
2、目标检测基本思想
滑动窗口是目标检测的基本思想之一,但有两个问题:
1)滑动次数太多,计算太慢
2)目标大小不同,每一个滑动位置需要用很多框
滑动窗口的改进:一般图片中,大多数位置都不存在目标,可以确定那些更有可能出现目标的位置,再有针对性的用CNN进 行检测——两步法(Region Proposal),但两步法依然很费时,进一步减少出现目标的位置,而且将目标分类检测和定位问题合在一个网络里——一步法(YOLO)。
分类问题扩展为回归+分类问题。
问题1:有一个框里有多个,有个多个框里有一个,怎么办?
多个框里有一个目标,取目标中心点所在框一个框里有多个,暂不能解决。
问题 2 :多类目标怎么办?
使用独热编码扩展类别数。
问题3:小目标怎么办?
使用单独网络拟合小目标,即设置多个bounding box。