哈工大第三次作业

常用数据集
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
目标分类(识别)、检测、分割最常用的数据集之一
一共分成20类:person,bird, cat, cow, dog, horse, sheep,aeroplane, bicycle, boat, bus, car, motorbike, train,bottle, chair, dining table, potted plant, sofa, tv/monitor
MS COCO数据集
PASCAL的全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集
数据集以scene understanding为目标,主要从复杂的日常场景中截取
包含目标分类(识别)、检测、分割、语义标注等数据集
提供的标注类别有80 类,有超过33 万张图片,其中20 万张有标注,整个数据集中个体的数目超过150 万个。
 人:1类
 交通工具:8类,自行车,汽车等
 公路常见:5类,信号灯,停车标志等
 动物:10类,猫狗等
 携带物品:5类,背包,雨伞等
 运动器材:10类,飞盘,滑雪板,网球拍等。
 厨房餐具:7类,瓶子,勺子等
 水果及食品:10类
 家庭用品:7类,椅子、床,电视等
 家庭常见物品:17类,笔记本,鼠标,遥控器等
ImageNet数据集
始于2009年,李飞飞与Google的合作:
“ImageNet: A Large-Scale Hierarchical Image Database”
总类别数:21841
带有标记框的图像数:1,034,908
ISLVRC 2012子数据集
 训练集:1,281,167张图片+标签
 类别数:1,000
 验证集:50,000张图片+标签
 测试集:100,000张图片
算法评估
TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
FP: 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
TN: 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
P(精确率): TP/(TP+FP)
R(召回率): TP/(TP+FN)。召回率越高,准确度越低
置信度与准确率
可以通过改变阈值(也可以看作上下移动蓝色的虚线),来选择让系统识别能出多少个图片,当然阈值的变化会导致Precision与Recall值发生变化。
AP计算
mAP:均值平均准确率
在这里插入图片描述
其中𝑁代表测试集中所有图片的个数,𝑃(𝑘)表示在能识别出𝑘个图片的时候Precision的值,而 Δ𝑟(𝑘)则表示识别图片个数从𝑘 − 1变化到𝑘时(通过调整阈值)Recall值的变化情况。
每一个类别均可确定对应的AP
多类的检测中,取每个类AP的平均值,即为mAP
目标检测与YOLO
目标检测问题
目标检测是在给定的图片中精确找到物体所在位置,并标注出物体的类别。物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,并且物体还可以是多个类别。
YOLO是一个集大成的方法,不了解之前的方法,很难掌握YOLO的思路。关于这些方法分别为 R-CNN, SPP NET, Fast R-CNN, Faster R-CNN, 最终实现YOLO。
这里不做详细介绍。
在目标检测里,我们通常使用边界框(bounding box)来描述目标位置。边界框是一个矩形框,可以由矩形左上角的x和y轴坐标与右下角的x和y轴坐标确定。我们根据下面的图的坐标信息来定义图中狗和猫的边界框。图中的坐标原点在图像的左上角,原点往右和往下分别为x轴和y轴的正方向。
目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边缘从而更准确地预测目标的真实边界框(ground-truth bounding box)。
交并比
刚刚提到某个锚框较好地覆盖了图像中的狗。如果该目标的真实边界框已知,这里的“较好”该如何量化呢?一种直观的方法是衡量锚框和真实边界框之间的相似度。我们知道,Jaccard系数(Jaccard index)可以衡量两个集合的相似度。给定集合A和B,它们的Jaccard系数即二者交集大小除以二者并集大小:
在这里插入图片描述
在训练集中,我们将每个锚框视为一个训练样本。为了训练目标检测模型,我们需要为每个锚框标注两类标签:一是锚框所含目标的类别,简称类别;二是真实边界框相对锚框的偏移量,简称偏移量(offset)在目标检测时,我们首先生成多个锚框,然后为每个锚框预测类别以及偏移量。接着根据预测的偏移量调整锚框位置从而得到预测边界框。最后筛选需要输出的预测边界框。
目标检测数据集
在目标检测领域并没有类似MNIST或Fashion-MNIST那样的小数据集。为了快速测试模型,我们合成了一个小的数据集。
皮卡丘数据集使用MXNet提供的im2rec工具将图像转换成了二进制的RecordIO
格式,但是我们后续要使用PyTorch,所以我们先用脚本将其转换成了PNG图
片并用json文件存放对应的label信息。最终pikachu文件夹的结构如下:
在这里插入图片描述
数据集的读取
首先定义一个数据集类PikachuDetDataset,数据集每个样本包含label和image。
label是一个 m×5m×5 的向量,即m个边界框,每个边界框由[class, x_min, y_min, x_max, y_max]表示,这里的皮卡丘数据集中每个图像只有一个边界框,因此m=1。
image是一个所有元素都位于[0.0, 1.0]的浮点tensor,代表图片数据。
语义分割
计算机视觉领域还有2个与语义分割相似的重要问题,即图像分割和实例分割。我们在这里将它们与语义分割简单区分一下。
• 图像分割将图像分割成若干组成区域。这类问题的方法通常利用图像中像
素之间的相关性。它在训练时不需要有关图像像素的标签信息,在预测时
也无法保证分割出的区域具有我们希望得到的语义。
• 实例分割又叫同时检测并分割。它研究如何识别图像中各个目标实例的像素级区域。与语义分割有所不同。
• 以一张图片的两只狗为例,图像分割可能将狗分割成两个区域:一个覆盖以黑色为主的嘴巴和眼睛,而另一个覆盖以黄色为主的其余部分身体。而实例分割不仅需要区分语义,还要区分不同的目标实例。如果图像中有两只狗,实例分割需要区分像素属于这两只狗中的哪一只。
Deeplab v3是目前广泛使用的语义分割方法
风格迁移
使用卷积神经网络自动将某图像中的样式应用在另一图像之上,即风格迁移。
样式迁移常用的损失函数由3部分组成
 内容损失(content loss)使合成图像与内容图像在内容特征上接近
 样式损失(style loss)令合成图像与样式图像在样式特征上接近
 总变差损失(total variation loss)则有助于减少合成图像中的噪点。
最后,当模型训练结束时,我们输出样式迁移的模型参数,即得到最终的合成图像。
定义内容代价函数
在这里插入图片描述
什么是风格?
神经网络各隐藏层输出激活项的含义。
风格矩阵(Style matrix):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
隐藏层l的风格代价函数
在这里插入图片描述
总体风格代价函数
在这里插入图片描述
总体代价函数
在这里插入图片描述
预处理和后处理图像
预处理函数preprocess对先对更改输入图像的尺寸
然后再将PIL图片转成卷积神经网络接受的输入格式
再在RGB三个通道分别做标准化
定义损失函数
样式迁移的损失函数。它由3部分损失组成。
内容损失 样式损失总变差损失
内容损失
与线性回归中的损失函数类似,内容损失通过平方误差函数衡量合成图像与内容图像在内容特征上的差异。平方误差函数的两个输入均为extract_features函数计算所得到的内容层的输出。
样式损失
样式损失也一样通过平方误差函数衡量合成图像与样式图像在样式上的差异。为了表达样式层输出的样式,我们先通过extract_features函数计算样式层的输出。
总变差损失
有时候,我们学到的合成图像里面有大量高频噪点,即有特别亮或者特别暗的颗粒像素。一种常用的降噪方法是总变差降噪(total variation denoising)。假设 表示坐标为(i,j)的像素值,降低总变差损失
在这里插入图片描述
损失函数
样式迁移的损失函数即内容损失、样式损失和总变差损失的加权和。通过调节这些权值超参数,我们可以权衡合成图像在保留内容、迁移样式以及降噪三方面的相对重要性。
视觉应用展望
生成对抗网络
生成对抗网络(GANs, generative adversarial networks)是由Ian Goodfellow等
人在2014年的Generative Adversarial Networks一文中提出。
模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别
模型(Discriminative Model)的互相博弈学习产生相当好的输出。
原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。
一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
生成对抗网络其整体结构如下:
在这里插入图片描述
生成对抗网络(GAN)的初始原理十分容易理解,即构造两个神经网络,一个生成器,一个鉴别器,二者互相竞争训练,最后达到一种平衡(纳什平衡)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值