5.4基本卷积神经网络
AlexNet
网络结构:
网络说明:
- 网络一共有8层可学习层——5层卷积层和3层全连接层
- 改进
- 池化层均采用最大池化
- 选用ReLU作为非线性环节激活函数
- 网络规模扩大,参数数量接近6000万
- 出现“多个卷积层+一个池化层”的结构
- 普遍规律
- 随网络深入,宽、高衰减,通道数增加
VGG-16
网络结构:
网络说明:
- 改进
- 网络规模进一步增大,参数数量约为1.38亿
- 由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
- 普遍规律
- 随网络深入,高和宽衰减,通道数增多。
残差网络
非残差网络的缺陷:
残差网络的优势:
残差网络构建
- 普通网络的基准模型受VGG网络的启发
- 卷积层主要有3×3的过滤器,并遵循两个简单的设计规则:①对输出特征图的尺寸相同的各层,都有相同数量的过滤器; ②如果特征图的大小减半,那么过滤器的数量就增加一倍,以保证每一层的时间复杂度相同。
- ResNet模型比VGG网络更少的过滤器和更低的复杂性。ResNet具有34层的权重层,有36亿FLOPs,只是VGG-19(19.6亿FLOPs)的18%。
5.5常用数据集
MNIST:MNIST 数据集主要由一些手 写数字的图片和相应的标签组成,图片一共有 10 类,分别对应从 0~9
Fashion-MNIST:
- FashionMNIST 是一个替代 MNIST 手写数字集 的图像数据集。它是由 Zalando旗下的研究部门提供,涵盖了来自 10 种类别的共 7 万个不同商品的正面图片。
- FashionMNIST 的大小、格式和训练集/测试集划分与原始的MNIST 完全一致。60000/10000 的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。
CIFAR 10:
- CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每
个类有6000个图像。有50000个训练图像和10000个测试图像 - 数据集分为五个训练批次和一个测试批次,每个批次有10000
个图像。测试批次包含来自每个类别的恰好1000个随机选择的
图像
PASCAL VOC:
- PASCAL的全称是Pattern Analysis, Statistical Modelling and
Computational Learning - VOC的全称是Visual Object Classes
- 目标分类(识别)、检测、分割最常用的数据集之一
- 第一届PASCAL VOC举办于2005年,2012年终止。常用的是PASCAL 2012
MS COCO:
- PASCAL的全称是Microsoft Common Objects in Context,起源
于微软于2014年出资标注的Microsoft COCO数据集 - 数据集以scene understanding为目标,主要从复杂的日常场景中
截取 - 包含目标分类(识别)、检测、分割、语义标注等数据集
- ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检
测等领域的一个最权威、最重要的标杆
ImageNet数据集与ILSVRC:
- 始于2009年,李飞飞与Google的合作:“ImageNet: A Large-Scale Hierarchical Image Database”
- 总图像数据:14,197,122
- 总类别数:21841
- 带有标记框的图像数:1,034,908
6. 深度学习视觉应用
6.1目标检测要做什么
目标检测
定义:
目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。
物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图
片的任何地方,并且物体还可以是多个类别。
分类问题与目标检测
数据集输出表达:
目标检测技术发展
YOLO家族发展:
YOLO V7性能:
6.2目标检测基本思想
滑动窗口
原理示意:
问题:
-
滑动次数太多,计算太慢。假设图片为𝑤宽,ℎ高,识别一幅图片需要𝑇时间,则需要:𝑤 ∗ ℎ ∗ 𝑇的总时间。例如:图片大小448 × 448,识别一个目标需要0.05s,则:总时间= 448 ∗ 448 ∗ 0.05 ≈ 10000𝑠,约3小时!
-
目标大小不同,每一个滑动位置需要用很多框图片宽度和高度都不相同,比例也不相同,因此需要取很多框。例如:标准框10050大小,取5050,5025,20050,200*100等不同大小,在面积和宽高比变化,假设面积变化3类(0.5,1,2), 宽高比3类(0.5,1,2),则共有9种。总时间是原来的9倍:总时间= 10000 × 9 = 90000𝑠,约1天3小时!
改进:
- 一般图片中,大多数位置都不存在目标。
- 可以确定那些更有可能出现目标的位置,再有针对性的用CNN进行检测——两步法(Region Proposal)
- 两步法依然很费时!
- 进一步减少出现目标的位置,而且将目标分类检测和定位问题合在一个网络里——一步法(YOLO)
一步法基本思想:
- 只检测一类
- 扩展为回归+分类问题
6.3YOLO网络结构
网络结构:
模型处理:
网络输入:
YOLO v1在PASCAL VOC数据集上进行的训练,因此输入图片为448 × 448 × 3。实际中如为其它尺寸,需要resize或切割成要求尺寸。
𝟕 × 𝟕网格划分:
- 将图片分割为 s 2 s^2 s2 个grid(𝑆 = 7),每个grid cell的大小都是相等的。
- 每个格子都可以检测是否包含目标
- YOLO v1中,每个格子只能检测一种物体(但可以不同大小)。
网络输出:
- 输出是一个7 × 7 × 30的张量。对应7 × 7个cell
- 每个cell对应2个包围框(bounding box, bb),预测不同大小和宽高比,对应检测不同目标。每个bb有5个分量,分别是物体的中心位置(𝑥, 𝑦)和它的高(ℎ) 和宽 (𝑤) ,以及这次预测的置信度。
总结
本周的神经网络和深度学习课上,我学习了关于残差网络的构建,并对YOLO网络有了一定了解,收获很多。