相似图像差异度的统计表示方法

(整期优先)网络出版时间:2019-10-20
/ 2

相似图像差异度的统计表示方法

李清辰

(成都市站东小学,四川成都610000)

摘要:为了在大量相似图像中,选取与原始图像最接近的或者实际所需的图像,并量化其与原始图像的差异度,提出了一种具体的差异度量化方法。基于希尔伯特(Hlbert)的代数不变性和图论理论,在几何矩和中心矩的基础上构造出15个独立且真实的仿射不变量。在本文中,利用MATLAB和C/C++两种机器语言对简单的速度模型进行差异度比较,对计算出的差异度进行归一化处理后得到基本一致的结果,该试验表明,文中所提出的仿射不变量能够很好地辨别出在人眼难以察觉的图像差异,并能具体量化该差异度。

关键词:C/C++;MATLAB;仿射不变量;速度图像

1引言

随着互联网的高速发展以及在实际生产生活中的大量应用,人类已经进入了信息化时代。一方面互联网的应用为人们的生活提供了诸多便利,但是,另一方面随着信息化时代的到来,面对这些正指数级增长的信息量,如何高效的选择有效信息量是一个很严峻的挑战。在巨大的信息量中,图像信息占据了一个很大的份额,因此快速而有效的获取图像信息,选取恰当的方法进行图像识别成为了当前关注的一个热点问题。

近年来,图像识别的方法越来越多,主要有三种基本方法——蛮力法、图像标准化和不变量方法。蛮力法要求对所有可能的参数空间进行搜索,造成了过大的时间复杂度;图像标准化相对而言是一个有效的方法,但是在处理过程中,所需求解的反问题可能是病态的,这给实际工作带来了大量的困难;相比较而言,不变量方法是目前应用最广泛的方法[1]。

实际应用中,三维场景的图像和平面场景图像均是从三维环境中获取得到的。通常情况下,三维目标及其结构用在平面上的投射表示,但是投射变换并非是一种线性变换,它的雅克比行列式是一个关于空间坐标的函数,并且不能保持目标重心,导致了几乎不可能构造出投射不变量[2](VanGool等人利用李群理论证明了无法从有限的矩集合中构造投影不变量)。值得庆幸的,在特定条件下(拍摄目标大小远小于相机与其之间的距离),仿射变换可以近似替代投影变换,而且仿射不变量可以通过有限矩来构成并应用于实践中。50多年前,Hu[3]第一次给出了仿射变换,可惜的是Hu错误的使用了仿射不变量基本定理,导致Hu的仿射不变量对于通常的仿射变换并不具有不变性,只在J=1或者仿射变换度数r=0的情况下有效,30年之后Reiss[4]、Flusser和Suk[5][6]分别独立发现并更正了这一错误,同时给出了新的仿射不变量和简单应用。他们的推导均源于希尔伯特[7](Hlbert)的代数不变性定理。之后,Manistvalov用稍微不同的方法给出了同样的结果。

仿射不变量可以通过图论、张量代数和恰当的偏微分方程(这里指的是Cayley-Aronhold方程)等方式给出,本文采用的是Flusser和Suk[1]提出的图论方法,该方法构造简单,含义清晰。在实际模拟时,为确保结果的正确性,本文采用了MATLAB和VS2015两种编译器,分别用MATLAB语言和C/C++语言编写程序用于试算。结果表明,两种程序都可以正确的区分相似的目标。

2原理介绍

2.1仿射不变量构造

仿射不变量是近年来图形图像学发展的重要学术成果之一,目前广泛应用于图像检索与识别,模式匹配等领域,是近年来这些领域用来分辨相近图像的重要方法之一。

仿射不变量主要由p、q阶几何矩或中心矩组合构成。p、q阶几何矩或中心矩可以写为:

这样得到的大量仿射不变量并不全是实际应用所需要的,因为其中绝大多数都是非独立的,这些非独立的仿射不变量不仅不会增强对图像的识别能力,反而会造成误识率和计算复杂度的增加,所以必须消除非独立的仿射不变量。

在本文中,直接采用Flusser和Suk给出的权重的15个独立的仿射不变量,即I1、I2、I3、I4、I6、I7、I8、I9、I19、I47、I48、I49、I50、I64、I65。关于这些不变量的详细表达式,请查阅参考文献[1]。

对于得到的仿射不变量,首先用2-范数进行归一化处理,方便后面数据的处理,保证程序运行时收敛加快,其次对处理后的结果取绝对值,然后求取相对误差,

3模拟实验

利用MATLAB软件,绘制出如图2所示的4张“加牙”(图中用虚圈表示)的速度模型图像。除“牙尖”位置((a)-(d)的牙尖坐标依次是(50,100)、(60,100)、(70,100)、(80,100))有区别之外,图像其它区域一致。

图1原始图像及比较图像。(a)牙尖坐标(50,100);(b)牙尖坐标(60,100);(c)牙尖坐标(70,100);(d)牙尖坐标(80,100)。

我们选取图2(a)作为原始图像,图2(b)~图2(d)为比较图像。直观上我们可以猜想:(b)-(d)的图像“牙尖”位置距离(a)越来越远,相应的图像差异度也就越来越大。但是如何将差异度具体量化,就需要用机器语言进行识别。下面给出机器识别结果,即表1所示结果。

从表1中可以看出,MATLAB和C/C++两种运算的结果是相一致的,归一化后的绝对误差在可以接受的范围之内。横向看,图2a-d与图2a的差异度依次为0.0000、0.0020、0.0041、0.0059(MATLAB),即每一张图片与原始图a的差异度随着牙尖位置的右移越来越大(C/C++也存在一样的结果),验证了我们之前的猜想是正确的。纵向看,两者的计算结果有一定的差异,这是MATLAB自带的灰度图转换函数和笔者自己编写的转换函数在RGB二值化的部分选取的函数有一定的差异造成,但是计算结果整体是可以接受的。

表1机器识别结果

差异度

a

b

c

d

MATLAB

0

0.0020

0.0041

0.0059

C/C++

0

0.0024

0.0045

0.0073

4结论

基于Flusser和Suk提出的仿射不变量,通过对简单速度模型试验发现在人眼难以正确区别相似图像之间差异度的情况下,借助机器语言能够很好的给出不同相似图片与原始图片之间的差异和具体的差异度。

参考文献

[1]SukT,FlusserJ.Affinemomentinvariantsgeneratedbygraphmethod.PatternRecognition2001,44:2047–2056.

[2]VanGoolEPL,MoonsT,OosterlinckA.VisionandLie,sApproschtoInvariance.

ImageandVisionComputing,1995,13(4):573-582.

[3]M-KHu.Visualpatternrecognitionbymomentinvariants.IRETransactionsonInformationTheory1962,8(2):179–187.

[4]T.H.Reiss,Therevisedfundamentaltheoremofmomentinvariants,IEEETransactionsonPatternAnalysisandMachineIntelligence1991,13(8):830–834.

[5]J.Flusser,T.Suk,Patternrecognitionbyaffinemomentinvariants,PatternRecognition1993,26(1):167–174.

[6]J.Flusser,T.Suk,Patternrecognitionbymeansofaffinemomentinvariants,ResearchReport1726,InstituteofInformationTheoryandAutomation,1991.

[7]D.Hilbert,TheoryofAlgebraicInvariants,CambridgeUniversityPress,Cambridge,1993.