1.图片分类的问题定义
图片分类定义:给定图片做输入,输出图片中所包含的物体类别;
图1
图像分类分为两种:single label (单分类)和multi label(多分类);
左上图片:single label and single instance(个体或实例);
左下:single label and multi instance;
右上:multi label and multi instance;
右下:multi label and multi/single instance
一般的图像分类以单分类为主。
图2
2. 图像分类的性能评判准则
怎么评判图片分类的准确度呢?
Top1 Accuraccy:给定一张输入照片image,给出一种预测prediction,判断与实际的label是否一致,如果一致,就是分类预测正确;否则的话,分类预测错误;然后,统计一下预测正确和预测错误的比例,就可以得到Top1 Accuraccy;
Top5 Accuraccy:给定一张输入照片image,给出5种预测prediction,只要其中有一个prediction,与实际的label一样,就仍为分类预测正确;否则的话,仍为分类预测错误。最后,统计一下预测正确和预测错误的比例,就可以得到Top1 Accuraccy;
问题: 为什么针对单个single label,给出5种预测prediction?
因为ImageNet数据集有1000个类别,一般训练集中,一张图片只给定一个True Label;但是,从人的角度观测这张图片进行预测分类的话,一般可以有多个Label,可能一张图像分类存在歧义(比如上图2,右下图 multi label and multi/single instance )。
图3
3. 经典数据集
MNIST数据集,single label的数据集,训练集60000张,测试及10000张,类别数量10个(数字0-9),每张图像是28*28*1大小的手写体灰度图;
Fashion-MNIST: 分类效果好,不清楚是算法有效(网络训练效果好),还是MNIST这个问题很简单呢? 图像大小仍是28*28*1的灰度图;
CIFAR10/CIFAR100:彩色图 32*32*3,类别之间严格无交叉;
ImageNet数据集相对上面,数量相对较大,Million级别;李飞飞教授提供的,深度学习所需训练集的基础。
4. 经典算法
2012年,Alxnet的出现,标志着深度学习的元年。
网络轻量化:深度学习面临在手机端/移动端等,计算能力不强场景下应用,较深的网络难以在这种算力约束的情况下应用,故而网络轻量化是一个很热的话题,如MobileNet系列、ShuffleNet系列;
VGGNet:是比较经典的分类网络;
Inception系列网络:是从网络的宽度角度优化;
ResNet/DenseNet:是从网络的深度角度优化;
SENet是另辟蹊径,从其他的角度考虑优化。
注:每一篇网络的论文都推荐去读一下,它们是后续深度学习训练的基石。
5. 性能对比
ImageNet 10M(千万级别)非常大的数据集;
ILSVRC: 是基于ImageNet数据集的提出的一个挑战赛。ImageNet Large Scale Vision Recognition Challenge,大致包含几个分类: 图像分类(image classification 1000个类别,128万数据集照片)、物体检测(Object location)、物体定位(Object detection)和视频物体检测(video object detection) 等。
AlexNet:2012年的AlexNet在ImageNet上,图像分类提高了>10%的百分点;
ResNet: 2015年 的ResNet,图像分类的准确度已经超过了人类的分类水平;
图5
6. 图像分类与定位
图像分类: 输入image,给定5个预测的分类结果(class prediction);
图像分类与定位:输入image,给定5对prediction,每对包含(class, box);class 是整个图片的类别;第一,分类正确;第二,每个类别对应的box与真实标签box的IOU大于0.5;才仍为图像分类与定位正确。