计算机视觉学习笔记(四)- 图像分类

图像分类和目标检测是计算机视觉中应用非常广泛且已较为成熟的领域,比如现在用手机拍照,手机可以自动检测到人脸的位置。不过因为我个人相比深度学习对三维成像更感兴趣,所以这部分就只简略的记一下,B站上可以找到鲁鹏老师后续的录播课“计算机视觉与深度学习”,详细介绍了相关内容。

图像分类和目标检测实际上就是给图像打一些标签,比如给定一些照片,照片要么是马,要么是羊,然后计算机自动分辨出哪些照片是马哪些照片是羊,再打上对应标签,这就是图像分类。这就有两种处理模型,一个是判别模型,一个生成模型。判别模型是根据已经给出标签的一些照片得到两种图像的一个界限判断出新给定的属于那种,生成模型是在判断之前先生成一张马的照片的模板,然后判断给定的照片是不是马。在二分类基础上,照片数量和分类的数量逐渐变多,以至于我们日常生活中常用的词语都能对应到一个分类,就可以开始进行图像检索了。目标检测在图像分类的基础上更进一步,这时一幅马的照片中,马可能只是其中一小块,目标检测要判断图像中是否包含马并且将它框出来。

要进行图像分类,我们首先要找到同一类物体照片的某一些特性,它们在光照、视角、远近不同的情况下仍然能保持,一个比较明显的就是它们的纹理。比如下面一张桌面和一张窗帘的照片(因为颜色在本文讨论的分类中起不到什么作用,所以直接转成了灰度图):

显然第一张的纹理是竖直方向的,第二章偏向水平方向但其它方向也有,因此沿不同方向求方向导数得到其响应,为了避免噪点先做个高斯平滑,而由于方向导数和高斯都是线性算子,这两步操作可以合并成一个卷积操作,卷积核就是高斯函数的方向导数,若从0到pi分成8份,则卷积核如下图:

分别卷积8次,每次对得到的图求平均像素值,归一化,得到的长度为8的向量如下:

可以发现图一沿X方向求得的值较大,而y方向很小。而图二相对均匀些。

代码:

因此通过这一个向量可以简单刻画图像的纹理,且随着光照、旋转这一向量的特征不变。为了刻画更多特征,可以在加入不同尺度下的方向导数以及DoG等等。另外,对于图像,不同区域有不同的纹理,这时可以将图像分为很多个小区域,再依次分析其特征。

因此要完成图像分类,可以对已标记的图像做设定的卷积操作得到对应向量,而向量维度远低于图像,且特征明显,可以直接使用支撑向量机完成分类。

计算机视觉,语义识别部分大致就是这些内容,后面开始学习三维成像部分。

资源下载: