图像处理计算机视觉

图像分类

2017-12-19  本文已影响204人  jiandanjinxin

图像分类入门 -图像分类的概念

背景与意义

所谓图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像,从分类标签集合中找出一个分类标签,最后把分类标签分配给该输入图像。虽然看起来挺简单的,但这可是计算机视觉领域的核心问题之一,并且有着各种各样的实际应用。在后面的课程中,我们可以看到计算机视觉领域中很多看似不同的问题(比如物体检测和分割),都可以被归结为图像分类问题。

一个简单的例子

以下图为例,图像分类模型读取该图片,并生成该图片属于集合 {cat, dog, hat, mug}中各个标签的概率。需要注意的是,对于计算机来说,图像是一个由数字组成的巨大的3维数组。在这个例子中,猫的图像大小是宽248像素,高400像素,有3个颜色通道,分别是红、绿和蓝(简称RGB)。如此,该图像就包含了248X400X3=297600个数字,每个数字都是在范围0-255之间的整型,其中0表示全黑,255表示全白。我们的任务就是把这些上百万的数字变成一个简单的标签,比如“猫”。


image.png

图像分类的任务,就是对于一个给定的图像,预测它属于的那个分类标签(或者给出属于一系列不同标签的可能性)。图像是3维数组,数组元素是取值范围从0到255的整数。数组的尺寸是宽度x高度x3,其中这个3代表的是红、绿和蓝3个颜色通道。


分类的种类

图像分类包括通用图像分类、细粒度图像分类等。图1展示了通用图像分类效果,即模型可以正确识别图像上的主要物体。

图片

图1. 通用图像分类

图2展示了细粒度图像分类-花卉识别的效果,要求模型可以正确识别花的类别。 图片

图2. 细粒度图像分类展示

分类的难点

对于人来说,识别出一个像“猫”一样视觉概念是简单至极的,然而从计算机视觉算法的角度来看就值得深思了。我们在下面列举了计算机视觉算法在图像识别方面遇到的一些难点,要记住图像是以3维数组来表示的,数组中的元素是亮度值。


图片

面对以上所有变化及其组合,好的图像分类模型能够在维持分类结论稳定的同时,保持对类间差异足够敏感。


常用的图像数据集

数据是视觉识别研究中最重要的因素之一,通 常我们更多关注于模型、算法本身,事实上,数据在 视觉任务中的作用越来越明显.大数据时代的到来, 也使得研究人员开始更加重视数据.在数据足够多 的情况下,我们甚至可以使用最简单的模型、算法, 比如最近邻分类、朴素贝叶斯分类器都能得到很好 的效果.鉴于数据对算法的重要性,我们将在本节对 视觉研究中物体分类与检测方面的主流数据集进行概 述。

图片

MNIST 数据集

早期物体分类研究集中于一些较为简单的特定 任务,如OCR、形状分类等.OCR中数字手写识别 是一个得到广泛研究的课题,相关数据库中最著名 的是MNIST数据库.MNIST是一个数字手写识 别领域的标准评测数据集,数据库大小是60000,一 共包含10类阿拉伯数字,每类提供5000张图像进 行训练,1000张进行测试.MNIST的图像大小为 28×28,即784维,所有图像为手写数字,存在较大 的形变.

CIFAR 数据集

CIFAR-10和CIFAR-100数据库是Tiny images的两个子集,分别包含了10类和100类物 体类别.这两个数据库的图像尺寸都是32×32,而 且是彩色图像.CIFAR-10包含6万的图像,其中 5万用于模型训练,1万用于测试,每一类物体有 5000张图像用于训练,1000张图像用于测试. CIFAR-100与CIFAR-10组成类似,不同的是包含 了更多的类别:20个大类,大类又细分为100个小 类别,每类包含600张图像.CIFAR-10和CIFAR-100数据库尺寸较小,但是数据规模相对较大,非常 适合复杂模型特别是深度学习模型训练,因而成为 深度学习领域主流的物体识别评测数据集.

Caltech 数据集

Caltech-101是第一个规模较大的一般物体识 别标准数据库,除背景类别外,它一共包含了101类 物体,共9146张图像,每类中图像数目从40到800 不等,图像尺寸也达到300左右.Caltech-101是以 物体为中心构建的数据库,每张图像基本只包含一 个物体实例,且居于图像中间位置.物体尺寸相对图 像尺寸比例较大,且变化相对实际场景来说不大,比 较容易识别.Caltech-101每类的图像数目差别较 大,有些类别只有很少的训练图像,也约束了可以使 用的训练集大小.Caltech-256与类Caltech-101类 似,区别是物体类别从101类增加到了256类,每类 包含至少80张图像.图像类别的增加,也使得 Caltech-256上的识别任务更加困难,使其成为检 验算法性能与扩展性的新基准。

15 Scenes 数据集

15 Scenes是由Lazebnik等人在Li等人的13 Scenes数据库的基础上加入了两个新的场景构成的,一共有15个 自然场景,4485张图像,每类大概包含200~400张 图像,图像分辨率约为300×250.15 Scenes数据库 主要用于场景分类评测,由于物体分类与场景分类 在模型与算法上差别不大,该数据库也在图像分类 问题上得到广泛的使用

PASCAL VOC 数据集

PASCAL VOC从2005年到2012年每年都发布关于分类、检测、分割等任务的数据库,并在相应数据库上举行了算法竞赛,极大地推动了视觉研究的发展进步.最初2005年PASCAL VOC数据库只包含人、自行车、摩托车、汽车共4类,2006年类别数目增加到10类,2007年开始类别数目固定为20类,以后每年只增加部分样本.PACAL VOC数据库中物体类别均为日常生活中常见的物体,如交通工具、室内家具、人、动物等.PASCAL VOC数据库共包含9963张图片,图片来源包括filker等互联网站点以及其他数据库,每类大概包含96~2008张图像,均为一般尺寸的自然图像.PASCAL VOC数据库与Caltech-101相比,虽然类别数更少,但由于图像中物体变化极大,每张图像可能包含多个不同类别物体实例,且物体尺度变化很大,因而分类与检测难度都非常大.该数据库的提出,对物体分类与检测的算法提出了极大的挑战,也催生了大批优秀的理论与算法,将物体识别的研究推向了一个新的高度.

ImageNet 数据集

随着分类与检测算法的进步,很多算法在以上 提到的相关数据库上性能都接近饱和,同时随着大 数据时代的到来、硬件技术的发展,也使得在更大规 模的数据库上进行研究和评测成为必然.ImageNet是由Li主持构建的大规模图像数据库,图像类别按照WordNet构建,全库截止2013年共有1400万张图像,2.2万个类别,平均每类包含1000张图像.这是目前视觉识别领域最大的有标注的自然图像分辨率的数据集,尽管图像本身基本还是以目标为中心构建的,但是海量的数据和海量的图像类别,使得该数据库上的分类任务依然极具挑战性.除此 之外,ImageNet还构建了一个包含1000类物体 120万图像的子集,并以此作为ImageNet大尺度视 觉识别竞赛的数据平台,也逐渐成为物体分类算法 评测的标准数据集.

SUN数据集

SUN数据库的构建是希望给研究人员提供一个覆盖较大场景、位置、人物变化的数据库,库中的场景名是从WordNet中的所有场景名称中得来的.SUN数据库包含两个评测集,一个是场景识别数据集,称为SUN-397,共包含397类场景,每类至少包含100张图片,总共有108754张图像.另一个评测集为物体检测数据集,称为SUN2012,包含16873张图像。

Tiny images 数据集

Tiny images是一个图像规模更大的数据库, 共包含7900万张32×32图像,图像类别数目有 7.5万,尽管图像分辨率较低,但还是具有较高的区分度,而其绝无仅有的数据规模,使其成为大规模分 类、检索算法的研究基础.

我们也可以发现,物体类别越多,导致类间差越小,分类与检测任务越困难,图像数目、图像尺寸的大小,则直接对算法的可扩展性提出了更高的要求, 如何在有限时间内高效地处理海量数据、进行准确 的目标分类与检测成为当前研究的热点.

图像分类入门 2-图像分类的基本方法

传统的图像分类方法

一般来说,图像分类通过手工特征或特征学习方法对整个图像进行全部描述,然后使用分类器判别物体类别,因此如何提取图像的特征至关重要。在深度学习算法之前使用较多的是基于词袋(Bag of Words)模型的物体分类方法。词袋方法从自然语言处理中引入,即一句话可以用一个装了词的袋子表示其特征,袋子中的词为句子中的单词、短语或字。对于图像而言,词袋方法需要构建字典。最简单的词袋模型框架可以设计为底层特征抽取、特征编码、分类器设计三个过程。

模型简介

图像识别领域大量的研究成果都是建立在PASCAL VOC、ImageNet等公开的数据集上,很多图像识别算法通常在这些数据集上进行测试和比较。PASCAL VOC是2005年发起的一个视觉挑战赛,ImageNet是2010年发起的大规模视觉识别竞赛(ILSVRC)的数据集,本节中我们基于这些竞赛介绍图像分类模型。

词袋模型(Bag-of-Words)

词袋模型(Bag-of- Words)最初产生于自然语言 处理领域,通过建模文档中单词出现的频率来对文档进行描述与表达.简单说就是讲每篇文档都看成一个袋子(因为里面装的都是词汇,所以称为词袋,Bag of words即因此而来),然后看这个袋子里装的都是些什么词汇,将其分类。如果文档中猪、马、牛、羊、山谷、土地、拖拉机这样的词汇多些,而银行、大厦、汽车、公园这样的词汇少些,我们就倾向于判断它是一篇描绘乡村的文档,而不是描述城镇的.Csurka等人于2004年首次 将词包的概念引入计算机视觉领域,由此开始大量 的研究工作集中于词包模型的研究。在2012年之前,词袋模型是VOC竞赛 中物体分类算法的基本框架,几乎所有的参赛算法 都是基于词袋模型。通常完整建立图像识别模型一般包括底层特征提取、特征编码、空间约束、分类器设计、模型融合等几个阶段。

图片

向量中每个元素表示词典中相关元素在文档中出现的次数。不过,在构造文档向量的过程中可以看到,我们并没有表达单词在原来句子中出现的次序(这是本Bag-of-words模型的缺点之一,不过瑕不掩瑜甚至在此处无关紧要)

从上表可以看出,2012年之前历年最好的物体分类算法都采用了多种特征年采样方式上密集提取与兴趣点检测相结合,底层特征描述也采用了多种特征描述子,这样做的好处是,在底层特征提取阶段,通过提取到大量的冗余特征,最大限度的对图像进行底层描述,防止丢失过多的有用信息,这些底层描述中的冗余信息主要靠后面的特征编码和特征汇聚得到抽象和简并。事实上,近年来得到广泛关注的深度学习理论中一个重要的观点就是手工设计的底层特征描述子作为视觉信息处理的第一步,往往会过早地丢失有用的信息,直接从图像像素学习到任务相关的特征描述是比手工特征更为有效的手段。

图像分类入门 3-图像分类的基本方法

深度学习模型

深度学习模型是另一类物体分类算法,其基本思想是通过有监督或者无监督的方式学习层次化的特征表达,来对物体进行从底层到高层的描述.主流的深度学习模型包括自动编码器(Auto-encoder)、受限波尔兹曼机(Restricted Boltzmann Machine,RBM)、深度信念网络(Deep Belief Nets,DBN)、卷积神经网络(Convolutional Neural Networks,CNN)、生物启发式模型等.


图片

CNN网络示例


下面是卷积神经网络领域中比较有名的几种结构:

两类模型的联系和区别

这里我们将最为流行的词包模型与卷积神经网络模型进行对比,发现两者其实是极为相似的.在词包模型中,对底层特征进行特征编码的过程,实际上近似等价于卷积神经网络中的卷积层,而池化层所进行的操作也与词包模型中的池化操作一样.不同之处在于,词包模型实际上相当于只包含了一个卷积层和一个池化层,且模型采用无监督方式进行特征表达学习,而卷积神经网络则包含了更多层的简单、复杂细胞,可以进行更为复杂的特征变换,并且其学习过程是有监督过程的,滤波器权重可以根据数据与任务不断进行调整,从而学习到更有意义的特征表达.从这个角度来看,卷积神经网络具有更为强大的特征表达能力,因此它在图像识别任务中的出色性能就很容易解释了.

参考文献

图像识别

上一篇下一篇

猜你喜欢

热点阅读