1.4 智能图像处理基础
上文介绍的应用都是使用传统方法来实现图像处理的。传统方法涉及的核心问题有
● 选取合适的特征:要高度概括图像特点,体现不同图像间的差异。
● 合适的量化方式:将特征量化为合理的数值。
● 距离计算:选用合适的距离计算方式计算距离。
传统方法的特点是,需要提取图像的特征,并手动对特征进行分析、处理。在对特征进行分析、处理的过程中,距离的计算是非常关键的。为实现图像的分类、识别等,人们提出了很多距离计算方式。
在图像处理早期阶段,传统处理方式解决了非常多的问题。为了更高效地处理图像,人们引入了机器学习。机器学习方法的首要工作仍是进行特征的提取和量化,但机器学习提供了更多对特征值进行处理的方式,让我们能够根据需要对特征进行不同维度的分析、处理,从而得到对图像的分析处理结果。
简单来说,在传统方法中,我们常使用特征的距离来实现对图像的分析处理(如图像识别等)。在使用机器学习处理图像时,机器学习提供了更多关于如何使用特征来完成图像处理工作的成熟方案。我们可以直接采用已知的具体成熟方案来完成对特征的分析、处理工作,从而实现对图像的识别、分类等。
也就是说,在传统方式中,我们需要自己提取特征,然后选取一种有效的特征处理方式,如通过计算距离并对比结果等完成对特征的处理工作。而在机器学习中,我们要做的工作只是提取特征,在提取完特征后,直接把特征交给机器学习算法来处理即可。
机器学习提供了强大且多样的特征处理方案。本书将介绍使用OpenCV通过K近邻算法、支持向量机、K均值聚类等方式实现手写数字识别等工作。
机器学习让我们只需关注特征提取,无须关注如何处理特征,与传统图像处理方式相比,工作量减少了一半。但是,特征提取其实是一件非常困难的事,主要体现在如下两方面。
1.如何选取特征
图像的特征有很多,多到我们无法想象。因为从根本上讲,任何像素之间的排列组合都能作为特征。那么哪些特征有用,哪些特征没用呢?
有些特征是能够一眼捕捉的,在这种情况下直接拿来用就好了。但是,有些特征可能并不直观,属于图像隐含的高层次特征,无法直接被观察到,在这种情况下就无法直接提取出这些特征。
因此选取有效的特征一直是图像处理过程中面临的一个非常复杂的问题。即使在机器学习阶段,特征的选取仍是一个重要的研究方向。人们在这方面取得了很多突破,并提出了非常多的有效特征提取方式,如SIFT、HOG、SURF等。但是,通过这些方式提取的特征具有很强的针对性,在不同的场景下,如何选取有效特征成为一个难题。
2.如何处理特征
在找到合适的特征后,如何处理特征是一个非常棘手的问题。即使使用机器学习也面临从众多算法中选择合适的算法来处理特征的问题。即使获取了有效特征、选用了合适的算法,特征值的计算量也是巨大的。因此,即使机器学习能够自动处理特征,同样需要对特征进行有效的预处理,以减少计算量。这有点复杂,针对特征值的预处理,好像又让我们回到了传统图像处理方式上,仍需要对特征进行复杂的处理工作。
这两个问题一直困扰着图像处理工作者,他们不断寻找突破点,在这种情况下,他们提出使用深度学习来处理图像。
在深度学习中,不需要直接提取特征,而是通过卷积操作等提取图像的高层次特征,这些特征往往能够更清晰地表述图像的高层语义,甚至有可能包含我们不能直接理解或观察到的特征。在深度学习中,我们重点关注卷积操作,通过变换卷积操作提取不同特征。通过卷积操作,可以提取到图像的高层次特征,利用这些特征可以更好地进行图像分析与处理。例如,识别图像内的猫时,直接提取特征提取的可能是线条、边角等基础特征。而在深度学习中,通过卷积可以提取猫所特有的形态、外观、姿势等高层次特征,甚至可能包含不能被观察到的、尚未被掌握的,甚至不能理解的更高层次、更抽象的特征。
卷积运算在深度学习中发挥着非常关键的作用,下文将专门对卷积神经网络的基本方法和逻辑进行介绍。
不同图像处理方式的比较如表1-2所示。
表1-2 不同图像处理方式的比较
如果把不需要手动设计的部分表示为“黑盒”,那么可以使用图1-23来表示各个阶段。
图1-23 不同图像处理方式示意图
当然,上文简化了图像处理的发展历程,重点说明了传统方式、机器学习方式、深度学习方式的区别。实际发展过程是一个不断试错的过程,是曲折的、反复的。