谷泓杰 孙钢
(国网浙江省电力有限公司电力科学研究院 浙江省杭州市 310007)
图像识别就是对图像信息进行描述以及分类的技术,发展该技术的目的是让计算机代替人眼对图像进行识别,并且检索出图像中的各种信息,利用计算机来辅助人们工作。经过多年的发展,图像识别技术逐渐呈现出细化特征,衍生出多种子学科,比如说动态图像识别、人脸识别以及数字识别等,在交通、安防等领域发挥出重要的作用,具有巨大的发展潜力。
想要弄清楚在模板匹配的基础上如何进行图像识别系统的设计,我们先要了解模板匹配的基本概念。在图像识别这一概念刚刚形成之时,科研人员最先进行研究的图像识别方法就是模板匹配。该技术是从生物仿生学领域演化而来,模拟人的研究以及大脑检索以及识别图片的方式,是一种最基础的图像识别方法。该技术研究的重点是针对一幅静止的图像,研究特定的识别物在该图像上的方位,通过这种方式判断待识别图像中的各种信息,从工作原理上来看,该技术就是对不同的图像以特定的参数(特征)为基础所进行的匹配动作[1]。这种图像识别技术的优势在于工作原理简单,不同借助复杂的算法就可以进行图像识别工作,但是其缺点也十分明显,一方面是处理的速度慢,特别是在处理大量图像数据的时候会出现宕机问题,另一方面就是灵活性差,如果原图像出现了大小变化或者图像的旋转,则无法进行有效识别,在实际使用时具有很大的局限性。
在进行图像识别工作的时候,由于各种图像采集设备的参数以及工作环境不同,其采集到的图像质量存在着很大的差异,在这种客观条件的制约下,想要保证图像识别的准确率,就要先要对图像进行预处理工作。具体来说,就是通过图像识别系统中的识别模块,将待处理的图片进行分检,这项工作的主要目的是对待识别图像进行优化,对图像中的无用信息进行清除,以此来提高图像中有用信息的可探测性。通常情况下,图像预处理的方式有图像数字化、改变图像大小以及灰度等方式。
这其中图像的灰度化是经常使用的一种预处理方式,使用最大值法或者是加权平均法,给图像的R、G、B 三个分量合理分配权数,通过特定的代码I=imread(‘*.bmp’);J=rgb2gray(I)对图像进行处理,提高图像中某些特征的可探测性。除了这种方式之外,还可以通过滤波对待识别图像进行预处理,主要的方式是对图像进行锐化或者是平滑处理,通过这种方式来图片的背景图像以及系统噪声对图像质量的影响,让图像中目标物的边缘变得更易被识别[2]。随着技术的不断革新,滤波技术以及逐步走向成熟,目前已出现了多种滤波方法,比如匹配滤波、限幅滤波等,让图像的预处理工作变得更加高效。
前文已经提到过模板匹配的工作流程,尽管这种方式的原理十分简单,但是在实际应用中,会因为各种因素,比如说图像的大小发生变化或者位置发生了改变等,而匹配不到想要识别的图像。就目前的技术手段而言,想要克服这一问题,可以从两个方面入手。第一个办法是优化图像匹配特征的选择方式,第二个办法是优化需要使用的图像匹配算法。前者可以针对图像的不同层次来进行选择,从最基础的底层像素灰度值到图像内容描述特性、物理特性这些高层次的特性,按照不同的层级来进行识别。而后者的主要原理是在获得了图像信息之后,使用归一化的方式,根据识别的具体需求来选择不同的特征,而除了归一化计算方式,还可以使用欧氏距离计算法来识别图像中的特征[3]。
图像处理系统的主要工作内容是进行图像与图像之间的交换,通过图像交换来完成图像加工以及改善图像效果的目的,为后续的识别工作打下良好的基础。从系统结构上来看,图像处理系统主要包括图像增强、采集、复原、编码、分割以及压缩等模块[4]。
而从图像处理模式上看,该系统可以分为数字处理和模拟处理两种方式。前者是使用计算机对数字图像进行处理,其优势在于处理精度非常高,而且可以处理的内容种类十分丰富,具有很强的综合性,能够包含多种技术。但这种处理模式的缺点在于待处理数据的规模比较大,效率不高,而且对计算机的处理能力有着一定的要求。而后一种方式是多种图像处理方式的集合,包括照相、电视以及光学处理等,这种处理方式的优势在于对设备以及处理技术的要求比较低,而且处理的速度很快,通常情况下可以实现图像的实时处理,但这种图像处理方式的缺点也比较明显,一方面是无法保证处理的精度,另一方面是对于周围环境的抗干扰能力比较差。此外,该处理方式不具备非线性处理能力,因此在计算机处理能力越来越强的大背景下,模拟处理方式逐渐被数字处理方式所取代。
图像识别也被称之为图像再认,从性质上来看是模式识别与图像处理两个学科结合过程中衍生出来的一门新技术。其基本原理是将待识别图像与事先准备好的模板图像进行比对,通过对两种图像的对比来判断待识别图像中是否存在模板图像,若存在则表明模板图像在待识别图像中的具体位置。在实际应用过程中,使用图像识别对图像中的某些固定特征进行提取的时候,为了提高识别的速度,可以使用模板匹配模型。
图1:图像识别系统结构示意图
图2:图像识别系统总框架示意图
随着图像识别技术的不断进化,这种技术在多个领域中发挥了重要的作用。比如说文字识别、指纹识别、虹膜识别以及车辆导航等。这些都是与群众生活息息相关的领域,让群众的生活变得更加便利。这里需要注意的是,模式识别与图像识别尽管在工作方式以及工作目标上存在一定的相似性,但是二者还是具有很大的差别。模式识别常用的方法包括神经网络分类、向量机以及决策理论,这些内容在图像识别系统中都得到了运用,同时图像识别系统还具备一些特殊的识别方式。
该系统基于图像识别技术,能够有效提取、处理图像信息。在科学技术高速发展的客观因素影响下,人们对于图像深层次信息的需求逐渐增加,而且在拍摄装置以及图像处理装置不断革新的背景下,大部分图像都可以通过数字化的方式展现出来[5]。当计算机在网络上捕捉到某些图像,可以通过后台处理程序,将该图像转化为数字化图像。就目前图像识别技术的发展程度而言,无论是数字化的图像还是普通图像,该系统都要清除掉这些图像中存在差异的物理信息,寻找图像中的信息并且对其进行分类,将带有相同特征的图像分为一类。该系统的目标是代替人类的视觉系统对事物进行分辨以及归类,实现图像识别工作的自动化。从系统结构上来看,该系统主要由五个环节构成(如图1)。
该系统在实际运行过程中,主要分为以下几个步骤:第一,工作人员使用图像拍摄装置,将实物拍摄成图片,再通过扫描设备将图片的信息输入到计算机软件当中。第二,系统内部的图像处理软件会根据需求过滤掉图像中的无用信息,然后将其中有价值的信息提取出来,借助软件内嵌的算法,获得识别模式。第三,得到了图像识别模式之后,对图像信息进行分类以及识别工作。在这一环节,该系统还会对图像的整体结构进行解析,通过这种方式提高图像识别的精度。第四,要划分模式识别的范围,各个不同阶段识别结果之间存在线性关联,一旦某一个阶段识别结果误差较大,将会对后续的识别工作产生严重的影响,因此要努力提升每一个阶段识别结果的精确度。
想要构建基于模板匹配的图像识别系统,先要选择一个合适的平台。当前该领域主要使用的就是MATLAB 平台,这是一款由没有MathWorks 公司推出的交互软件,该软件具有运算效率高,功能丰富等特点。此外,该软件还支持图像可视化编程。而经过多年的优化与发展,该软件实现了与C 语言以及FORTRAN 的混合编程,借助软件中内嵌的大量工具包,让其编程更具可视化效果。
MATLAB 软件的编程环境比较简单,主要由word 窗口、命令窗口以及M-文件编辑器组成。编程人员只需要在提示符处键入(>>)并输入代码,就能立刻查看到操作结果。此外,利用MATLAB 软件中的M-文件编辑器,能够让编程人员在保存代码之后,通过命令窗口或者其他函数来直接调用已保存代码,十分方便。
在确定了工作平台之后,工作人员要着手进行的就是识别模块的设计工作。由于数字化图像中所涵盖的信息十分复杂,其使用的范围也非常广,因此想要测验模板匹配技术所用到的算法在图像识别工作中的效用,就要在MATLAB 软件中创建一个系统,通过该系统来完成对于模板图像以及匹配图像所进行的读取工作,通过这种方式来检查该系统读取与匹配功能(如图2)[6]。
传统软件的用户界面一个突出的问题就是可读性差,人机交互都是通过命令行来完成。这种交互方式不仅十分枯燥,而且入门的门槛很高。针对这一情况,软件工程师们对于软件的界面进行了大幅度优化,同时对于交互方式也进行了大胆的变革,由命令行交互模式转变为图形界面交互方式,这样人们就可以通过“鼠标+键盘”的组合来完成与软件的交互工作。这种图形界面被称之为GUI,在GUI 界面中,即便是非专业人士,也可以借助各种可视化的菜单以及按钮来完成各种复杂的操作,提升了软件的工作效率。
在MATLAB 软件中,用户接口的开发平台别称为GUIDE,它的主要功能是创建了众多用建设GUI 对象的功能,正是由于这些功能的存在,让创建GUI 以及化简GUI 的过程变得非常方便,通过GUIDE,研发人员可以对GUI 进行编程,同时完成针对GUI 界面的布局工作[7]。
想要运行GUIDE,可以通过三种方式来完成。第一,在命令行中键入>>guide。第二,使用鼠标点击MATLAB 开发窗口中的“GUIDE”按钮。第三,在MATLAB 操作窗口内寻找【Start】选项,并且在出现的菜单中选择【MATLAB】里面的“GUI Builder”选项。通过这三种方式,可以激活GUIDE 对话框。
在GUIDE 窗口中,如果想要创建一个新GUI,可以选择软件自带的4 中不同样板。第一种是“完全空白样板”也就是“Blank GUI”,其中不含任何编辑器以及坐标轴图形。第二种是“GUI with Axes and Menu”,这种GUI 样板中包含菜单栏以及少量带有坐标轴图形的GUI 编辑器。第三种是“GUI with Uicontrols”,在该样板中,存在一个带有uicontrol 对象的编辑器。第四种是“Modal Question Dialog”样板,该样板属于对话框编辑器。如无特殊需求,研发人员都会使用空白样板。
在实际操作过程中,可以在打开GUI 的状态下,以浏览的方式检索储存于计算机中的GUI 文件,也可以在“GUIDE Quick Start”操作框中选择列表中的GUI 文件来进行操作。
从结构上来看,GUI 界面主要由3 个部分构成。即工具栏、选择区以及布局区。在实际运行该程序的时候,工作人员要先在GUI的布局区建立一个Panel 窗口,然后在Panel 窗口中插入4 个Radio Button,将四个按钮分别命名为“打开模板”“打开待识别图像”“开始匹配”以及“退出”。在命名完成之后,在“打开模板”以及“打开待识别图像”两个单选按钮Callback 函数中输入特定的代码,让该窗口具有自动识别图像的功能。在实际运行过程当中,该体系能够自动载入模板图像以及匹配图像,然后根据其内部嵌入的算法,定位图像匹配的具区域,并且用矩形对该区域进行标注,进而完成图像识别工作。
为了验证这种识别方式的工作效率,研发人员使用该系统进行了100 次测验,其中有95 张图像被成功识别,准确率达到了95%。同时,实验人员对于整个识别过程也进行了跟踪观察,并得到出如下结论:基于模板匹配技的图像识别系统,具有算法简单,易于操作的特点,如果待识别图像的变化不大,那么这种识别技术的准确率很高,但是该技术也存在三个明显的缺陷。第一,该技术的效率不高,识别图像的速度与图像大小存在负相关的关系,图像的像素越高,模板匹配以及识别的速度就越慢。第二,模板大小的确定没有一个统一的标准,如果模板的轮廓与匹配目标轮廓紧贴,那么目标大小的变化就会对模板产生很大的影响,导致匹配目标的丢失。此外,如果待识别图像的背景元素过多,那么模板在进行匹配的时候就不会产生反应,导致匹配失败。经过反复的实验与观察,工作人员发现当匹配目标的大小占模板大小的30%~50%时,能够达到最佳的识别效果[8]。第三,该技术在识别图像的时候会进行大量计算,而且不具备旋转不变性,一旦待识别图像发生了旋转,则系统无法对其进行有效识别。
图像识别技术在人们的日常生活中已经得到了广泛应用,而基于模板匹配技术所搭建的图像识别系统发挥了重要的作用。这种识别系统具有算法简单、操作方便等特点,同时也存在着运算量大、不具备旋转不变性等缺陷,具有很大的优化空间,应该给予足够重视。