另外还有一些特征提法,比如SIFT,尺度不变特征。我先解释一下什么是尺度,我们看待一个东西,从远到近,越远它尺度越大,就说明这个东西相对我们越模糊,能观测到的特征点就少。随着靠近,看到的越多就能越发现一些特点。有些特点是不管远近都能辨识出来的,就认为是尺度不变的特征。
还有一种跟灰度有关的方法叫HOG方向梯度直方图,它也是利用灰度的原理,把整个图形分成很多块,描述里面灰度变化最小的或者最大的。一般选用最小的方向。好处是它计算起来的成本比较靠谱的,比如这张图上,人穿黑色的衣服,所以在黑色衣服上它的灰度变化最小一定是垂直的。到了旁边白色背景可能就是水平的。利用它这个HOG的梯度图的方向,很容易把这个人从背景中间区分出来。
聊了很多的Feature Design的方法,并不存在最优的。在图像分割和对象检测这个领域也有一些其他算法,例如非常有意思的分水岭算法,顾名思义是利用图像的灰度特性把图像整个灰度的曲线显示出来。假设往里面灌水,随着水越来越多,肯定会有两个相邻的山谷联通,在那里建一道坝,这些坝在图上来看就是紫色的曲线,这样就可以把对象里灰度不同的部分给分割出来。
ASM,中文名叫可变模板匹配,或者叫主观形状模型。对象检测的常用算法主观形状模型以人脸为标准,提取人脸上68个点,对这些点进行变换,然后去匹配目标。刚才聊了一些传统方法,随着近几年硬件性能的提升以及大数据的广泛的应用,让本来已经沉寂许久的深度学习算法变成了可行。深度学习这个名字是比较抽象,其实可以理解为深度比较高的神经网络,多重神经网络。这样会比较贴切。简单介绍一下神经网络,左边和右边两张图就是神经网络。一般谈及神经网络的,是不说输入层的,所以左边是两层神经网络,右边是三层。
四、图像处理的爆发——深度学习方法下面有两个深度学习的网络,所谓的深度学习实际就是深度神经网络,叫深度神经网络大家更容易理解。左边那个是一个两层的神经网络,这里要解释一下,我们一般说神经网络的层数是不算输入层的。
输入层就是你输入信号的地方,将中间过程的结果进行汇总,若做分类它会把它进行归类的一层。这其中学过统计或者相关的同学都会用的逻辑回归很有意思传统的机器学习算法和深度学习算法很有关系。底下写了一行字(英文),这两者其实都是很特殊的单层神经网络,所以深度学习并不是遥不可及的,它的由来是很有逻辑性的,是从深度算法中间慢慢剥离出来的。说完简单的神经网络再来谈谈复杂的。在实际使用的时候,不一定是简单的一两层,很有可能是多层的。比如这个图上面至少有三层,实际上我们使用的神经网络是很复杂的。不是像上面这张图那么简单。除了刚才看到的哪些三角形或者金字塔形的神经网络,神经网络是有非常多种的,比如感知器,FF,RBF,使用的场景都不太一样。所以神经网络研究者往往会根据场景选不同的网络,对网络进行一些比较,有的时候也可以解决相似的问题。深度学习研究的方向跟传统学习的区别,可能在网络上会更加的铸磨,包括怎么调整中间多加一层,少加一层,在这个方向做一些测试。
在图像识别领域应用比较广的神经网络是CNN,即卷积神经网络。这个图上是一个非常标准的,或者说非常初级的CNN的网络,包括比如像卷积层,卷积层一般是用来做图像的特征学习的。最后会有一个全链接层,把所有前一层的数据进行全链接。自动做分类。这个想法其实来源于传统的机器学习,最后会有一个层去做分类。