1、AlexNet
(1)网络结构
网络一共有8层可学习层——5层卷积层和3层全连接层
(2)改进——对输入样本进行修改
从原始图像(256,256)中,随机的crop出 一些图像(224,224),水平翻转图像,给图像增加一些随机的光照。
(3)改进——激活函数
采用ReLU替代 Tan Sigmoid, 用于卷积层与全连接层之后
(4)改进——Dropout
在每个全连接层后面使用一个 Dropout 层,以概率 p 随机关闭激活函数
(5)改进——双GPU策略
AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信
2、VGG-16
(1)网络结构
(2)改进
网络规模进一步增大,参数数量约为1.38亿。
由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
3、残差网络
(1)残差块
(2)残差网络
4、算法评估
TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
P(精确率): TP/(TP+FP)
R(召回率): TP/(TP+FN)。召回率越高,准确度越低
P-R曲线
(1)AP计算
mAP:均值平均准确率
其中𝑁代表测试集中所有图片的个数,𝑃(𝑘)表示在能识别出𝑘个图片的时候 Precision的值,而 Δ𝑟(𝑘)则表示识别图片个数从𝑘 − 1变化到𝑘时(通过调整阈值)Recall值的变化情况。
5、YOLO网络结构
(1)概略图
(2)官方模型结构图
网络结构包含24个卷积层和2个全连接层;其中前20个卷积层用来做预训 练,后面4个是随机初始化的卷积层,和2个全连接层。
(3)YOLO网络输入
YOLO v1在PASCAL VOC数据集上进行的训练,因此输入图片为 448 × 448 × 3。实际中如为其它尺寸,需要resize或切割成 要求尺寸。
(4)YOLO模型处理
将图片分割为 𝑆 2个grid(𝑆 = 7),每 个grid cell的大小都是相等的,每个格子都可以检测是否包含目标 。YOLO v1中,每个格子只能检测一种物体(但可以不同大小)。
(5)YOLO网络输出
输出是一个7 × 7 × 30的张量。对应 7 × 7个cell
每个cell对应2个包围框(bounding box, bb),预测不同大小和宽高比, 对应检测不同目标。每个bb有5个分量, 分别是物体的中心位置(𝑥, 𝑦)和它的高 (ℎ) 和宽 (𝑤) ,以及这次预测的置信度。
在上图中,每个框代表1个预测的bb,粗细代表不同的置信度,越粗得越高。
(5)YOLO包围框
我们有 𝑠 2个框,每个框的bb个数为𝐵,分类器可以识别出𝐶种不同的物体, 那么所有整个ground truth的长度为𝑆 × 𝑆 × (𝐵 × 5 + 𝐶) 。
YOLO v1中,这个数量是30。
YOLO v2和以后版本使用了自聚类的anchor box为bb, v2版本为𝐵 = 5, v3中 𝐵 =9
四个关于位置的值,分别是𝑥, 𝑦, ℎ和𝑤,均为整数,实际预测中收敛慢
因此,需要对数据进行归一化,在0-1之间。
(6)YOLO置信度
计算公式:
Pr(𝑜𝑏𝑗)是一个grid有物体的概率,IOU是预测的bb和真实的物体位置的交并比。
(7)训练值与预测值
训练值(ground truth)
Pr 𝑜𝑏𝑗 的ground truth:三个目标中点对应格子为1,其它为0。