发明内容
本发明的目的就是提供一种闭环的图像比较方法,用以在对象位姿存在较大变化的情况下,不获取准确的检测对象的位姿和形变模型等数据即可实现快速精确的图像比较。
在处理大位姿误差情况下的图像比较问题时,传统的图像比较***和方法通常需要使用比较图像产生装置、基准图像产生装置和(或)基于对像三维信息的基准图像选择装置,这些装置通常需要获取对象位姿和形变模型。传统的图像比较方法存在以下缺陷:
1,需要获取精确的对象位姿数据,
2,需要建立描述图像形变与位姿误差映射关系的数学模型,即形变模型,
3,图像比较的结果容易受对象位姿数据和形变模型的误差影响,
4,比较图像或基准图像产生过程的时间开销大,且容易带来数值误差。
本发明所提出的一种闭环的图像比较方法通过一种闭环的图像比较***实施,该***包括:
图像采集装置,用于采集需要进行比较的图像;
基准图像存储装置,用于存储至少一个基准图像;
图像比较装置,包含计算装置,用于读取基准图像和比较图像,并根据基准图像和比较图像之间的差异性度量执行图像比较;
基准图像排序/选择执行装置,用于执行对基准图像的排序,并从基准图像存储装置中选择基准图像提供给图像比较装置;
学习/预估装置,用于根据过去的比较结果样本估计或隐含估计未来位姿误差的概率,在此基础上,若误报事件发生,则至少执行操作A-C之一:
A,将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策,基准图像排序/选择执行装置在此决策下对基准图像队列实施排序,
B,根据比较结果样本数据,人工判定是否需要追加基准图像,若人工判定操作得出需要追加基准图像的结论,则执行操作A,
C,根据比较结果样本数据,人工判定是否不需要追加基准图像,包含人工无法判定的情况在内,若人工判定操作未得出不需要追加基准图像的结论,则执行操作A。
上述步骤A-C的选择建立在实施者对以下因素的综合考虑:操作员培训成本、开发成本、图像比较准确度和操作员的操作习惯等等。操作B和操作C对操作员的背景知识有更高的要求。在具体的计算机程序中,也可以将此选择的权利以软件菜单的方法授权给操作员,这样的话,操作员可以选择一个最合适的操作方式满足自己的需求。
上述***在逻辑意义上包含上述装置,这些装置在物理构成上可以归属于同一个计算机或同一个数字信号处理电路或者同一个集成电路芯片,这种物理构成上的重叠不影响上述装置在逻辑意义上的独立性和存在性。因为同一个物理意义上的装置在不同的时刻有可能充当逻辑意义上的不同装置的角色。例如,同一个微处理器先后执行基准图像排序和距离比较两种操作的计算,这也改变不了图像比较装置和学习/预估装置的逻辑意义上的独立性和存在性。若操作中涉及到从一个装置传输数据到另外一个装置,而这些装置在物理构成上为相同装置,则将该传输操作理解为空操作或者数据存储操作。
上述图像采集装置的物理构成通常是数字摄像机,或者摄像机与图像采集卡的组合,所述图像采集装置通过数字通信方式传送到计算机或者具有图像处理能力的数字逻辑电路,其中数字通信方式是计算机总线或者计算机网络中的一种;
上述摄像机通常使用CMOS图像传感器、CCD图像传感器或者热成像图像传感器,所述摄像机的镜头使用液态或固态的光学透镜或透镜组。
所述基准图像存储装置,通常是磁性介质、光介质或者半导体介质存储器中的一种,并且是掉电易失性和掉电非易失性存储器中的一种;
所述图像存储器通常通过计算机总线与处理器进行连接,或者通过计算机网络连接。
所述闭环的图像比较方法包括以下步骤:
a,采集比较图像;
b,按照基准图像次序,依次选择基准图像;
c,依次执行所选基准图像与比较图像的基于差异性度量的图像比较;
d,根据过去的比较结果样本估计或隐含估计未来位姿误差的概率,在此基础上,若误报事件发生,则执行以下步骤之一:
e,追加基准图像后对基准图像进行排序,
f,根据比较结果样本数据,人工判定是否需要追加基准图像,若人工判定操作得出需要追加基准图像的结论,则执行步骤e,
g,根据比较结果样本数据,人工判定是否不需要追加基准图像,包含人工无法判定的情况在内,若人工判定操作未得出不需要追加基准图像的结论,则执行步骤e。
上述比较方法通常在一个计算机***或者一个具备数字信号处理功能的逻辑电路上实现。步骤的次序表示后一个步骤需要使用前一个步骤的部分或者全部处理结果,后一个步骤的至少一部分操作在前一个步骤的至少一部分操作完成之后实施,而不排斥后一个步骤的一部分操作在前一个步骤的一部分操作完成之前完成。
本发明涉及的闭环的图像比较方法无须使用比较图像产生装置和基准图像产生装置,这避免了获取准确的检测对象位姿和成像***形变模型的要求,且省略了比较图像产生或基准图像产生的时间开销。具有以下优点:
1,无须获取对象位姿数据,
2,无须建立描述图像形变与位姿误差映射关系的数学模型,
3,无须使用比较图像产生装置和基准图像产生装置,避免了比较图像或基准图像产生过程的时间开销和数值误差,
4,本发明所涉及基准图像追加操作,可以动态完善基准图像库,从而提高图像比较准确度,
5,本发明所涉及的闭环的图像比较方法和闭环比较***将大位姿误差条件下的图像比较问题简化为小位姿误差条件下的图像比较问题,
6,本发明所涉及基准图像排序方法可以减少基准图像数量增加带来的效率损失。
总之,使用本发明在对象位姿较大变化的情况下,不获取准确的对象位姿和形变模型等数据即可实现快速精确的图像比较。
具体实施方式
以下结合附图及较佳实施例,对依据本发明提出的图像比较方法详细说明如下。
为了描述简单,下面的实施例中均以使用一个比较图像对对象进行比较为例进行说明。若需要使用一组(多个)比较图像对对象外进行比较,只需要在具体的实施中将一组比较图像理解为一个新的比较图像的多个区域,而将一组基准图像理解为一个新的基准图像的多个区域,新的比较区域为该组基准图像各比较区域的并集。使用多个图像通常可以对对象实施更全面的比较,如使用多个摄像机进行多角度比较。
下面的实施例中如涉及到一次排序和二次排序的操作的叙述,参考以下约定:
一次排序是指,上一轮图像比较(一个比较图像和基准图像队列中的多个基准图像比较,称1∶N比较)之后,还没有获取新一轮比较(1∶N)的比较图像之前实施的对基准图像队列的排序。
二次排序是指,当前一轮图像比较(1∶N)操作中,比较图像采集完成之后对基准图像队列实施的排序;
所有实施例中,基准图像编号指排序编号,为自然数,数字1表示最先使用的基准图像,数字越小,越先使用。
第一实施例
图1给出了第一实施例的方框图,图3给出了第一实施例的流程图。
参考数字105表示图像采集装置,用于采集需要进行比较的图像;102表示基准图像存储装置,用于存储至少一个基准图像;104表示基准图像排序/选择执行装置,用于执行对基准图像的排序和选择;107表示学习/预估装置,用于学习过去的比较结果样本,预估(或者在排序操作中隐含估计)下一个比较图像对应的误差的概率分布,若发生误报事件,将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策;106表示图像比较装置,用于执行根据基准图像和比较图像之间的基于差异性度量的图像比较。
表一,比较结果的样本空间(一)
比较结果的样本空间 |
人工判定为异类 |
人工判定为同类 |
无基准图命中 |
S1 |
S3(误报事件) |
有基准图命中 |
S4(不可能事件) |
S2(命中事件) |
根据数学惯例,称比较结果的样本空间{S1,S2,S3,S4}的子集为比较结果事件,其中{S3}为误报事件。本实施例中有基准图像命中后不进行人工判定,因此{S4}为不可能事件。学习/预估装置在{S3}事件发生时追加基准图像到基准图存储装置和决策基准图像的排序。
下面结合图1所示方框图和图3流程图详细解释本实施例的整体操作:首先执行图3参考数字301所示初始化操作,内容如下:
1,通过拍摄至少一个基准对像的图像作为基准图像存储在基准图像存储装置102内,
2,设置基准图像存储装置102中基准图像的最大允许数量,
3,在图像比较装置106中初始化设置用于后续图像比较的比较区域和比较阈值。
初始化完成后,图像采集装置105在检测指令到达时采集比较图像,并传输给图像比较装置106。基准图像选择/排序执行装置104按照基准图像队列的次序依次从基准图像存储装置102中读取基准图像并传输给图像比较装置106。
图像比较装置106在获得一个比较图像和一个基准图像后,实施一次如图3中所示的基于差异性度量的图像比较305(一个比较图像和一个基准图像的比较,称1∶1比较)。
本实施例中,基于差异性度量的图像比较305操作(1∶1比较)中隐含了一种差异性度量的定义,操作流程如图3所示:
读取比较阈值,并记为Th,把基准图像的比较区域分割为区域集合{Ai},并在基准图像中设置与Ai一一对应的搜索区域Bi;
然后,将A1作为模板,Bi作为目标图像进行模板匹配,计算最小图像区域距离Di,Di等于图像像素灰度值样本的欧氏距离的最小值;
在对{Ai}所有元素执行最小距离计算后,计算出图像距离D=∑ki·Di,其中ki是预先指定的加权系数;
若D<Th,则基准图像被命中,反之,则基准图像未被命中。至此,完成了对一个比较图像和一个基准图像的距离比较305(1∶1比较)。上述操作中引入了图像模板匹配操作,目的是得到能更加客观地评价对象与基准对象的差异的图像样本距离,减小位姿误差的影响。
基于差异性度量的图像比较305操作(1∶1比较)中,也可以使用图像相似度作为差异性度量的定义实施比较,例如定义图像区域相似度Pi=exp(-Di),类似地,图像相似度P=∑li·Pi,其中li为预先设定的加权系数。若P>Th′,则基准图像被命中,反之,则基准图像未被命中,其中Th′是预设的相似度阈值。
继续操作,如果比较操作305(1∶1比较)结果为未命中,当前基准图像并非基准图像队列中最后一个基准图像,则基准图像选择/排序执行装置104按照基准图像队列的次序依次从基准图像存储装置102中读取下一张基准图像并传输给图像比较装置106,基准图像使用新获得的基准图像与比较图像实施再一次的比较操作305(1∶1比较),然后循环上述操作;如果当前基准图像是基准图像队列中最后一个基准图像,也就是说当前比较图像已经和基准图像存储装置102中所有的基准图像实施过比较操作305(1∶1比较),此时,表一所述{S1,S3}事件发生。
事件{S1,S3}发生时,若人工判定比较对象和基准对象为异类,也就是事件{S1}发生,则***等待新的检测指令,然后进入新一轮的图像比较。若人工判定比较对象和基准对象为同类,也就是事件{S3}发生,则图1所示学习/预估装置107开始执行图3所示操作309,将比较图像作为追加的基准图像储到基准图存储装置102,此时若基准图像数量超过最初始化操作301设置的最大允许数量,则基准图像队列中队尾基准图像。然后,在基准图像选择/排序执行装置104中实施排序:设置新追加的基准图像到队首,其余基准图像的相对位置不变。操作309中隐含估计未来位姿误差的概率。
如果比较操作305(1∶1比较)结果为命中,即事件{S2}发生,该轮图像比较最终判定比较图像和基准图像为同类。至此,完成了一轮图像比较过程(1∶N比较),然后待新的检测指令到来后***进入下一轮图像比较周期。
在上述***和方法中,上一周期的比较结果通过学习/预测装置反馈给基准图像队列,基准图像队列又继续直接影响比较结果,实现了闭环的图像比较(1∶N)过程。这个闭环消除了三维信息缺失的条件下基准图像选择的盲目性。
第二实施例
图1给出了第二实施例的方框图,图4给出了第二实施例的流程图。
参考数字105表示图像采集装置,用于采集需要进行比较的图像;102表示基准图像存储装置,用于存储至少一个基准图像;104表示基准图像排序/选择执行装置,用于执行对基准图像的排序和选择;107表示学习/预估装置,用于学习过去的比较结果样本,预估(或者在排序操作中隐含估计)下一个比较图像对应的误差的概率分布,若误报事件发生,将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策,此外,107表示学习/预估装置还用于在发生命中事件后对基准图像的排序进行决策;106表示图像比较装置,用于执行根据基准图像和比较图像之间的基于差异性度量的图像比较。
学习/预估装置在表一所述{S3}事件发生时追加基准图像到基准图存储装置和决策基准图像的排序,在表一所述{S2}事件发生时决策基准图像的排序。
下面结合图1所示方框图和图4流程图详细解释本实施例的整体操作:
本实施例和实施例一的大部份操作相同。不同的是,事件{S2}发生时,图1所示学习/预估装置107开始执行图4所示基准图像排序操作406,将当前基准图像k在基准图像选择/排序执行装置104中的基准图像队列中的位置提前(例如,当k≠1时,交换基准图像k与基准图像k-1的编号),也就是说,将命中的基准图像在未来检测周期中的使用次序提前。此操作隐含了对位姿误差概率的预估。该轮图像比较最终判定比较图像和基准图像为同类。至此,完成了一轮图像比较过程(1∶N比较),然后待新的检测指令到来后***进入下一轮图像比较周期。
与实施例一比较,***将上一轮1∶N的图像比较中命中的基准图像在未来的1∶N图像比较中的次序提前,这更进一步减小了上述的基准图像选择的盲目性。
第三实施例
图6给出了第三实施例的方框图,图7给出了第三实施例的流程图。
参考数字105表示图像采集装置,用于采集需要进行比较的图像;102表示基准图像存储装置,用于存储至少一个基准图像;601表示基准图像显著特征存储装置,用于存储从每个基准图像中提取的至少一个显著特征;602表示显著特征提取/比较装置,用于从比较图像中提取显著特征(操作701),并与从基准图像显著特征中获得的基准图像显著特征进行比较,根据比较结果决策基准图像选择/排序装置104执行基准图像队列的二次排序;104表示基准图像排序/选择执行装置,用于执行对基准图像的排序和选择;107表示学习/预估装置,用于学习过去的比较结果样本,预估(或者在排序操作中隐含估计)下一个比较图像对应的误差的概率分布,若误报事件发生,将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策,此外,107表示学习/预估装置还用于在发生命中事件后对基准图像的排序进行决策;106表示图像比较装置,用于执行基准图像和比较图像之间的基于差异性度量的图像比较。
学习/预估装置在表一所述{S3}事件发生时追加基准图像到基准图存储装置和决策基准图像的一次排序,在表一所述{S2}事件发生时决策基准图像的一次排序。
下面结合图6所示方框图和图7流程图详细解释本实施例的整体操作:
首先执行图6中参考数字301所示初始化操作,内容同实施例一的初始化操作301。
初始化完成后,图像采集装置105在检测指令到达时采集比较图像,并传输给图像比较装置106和显著特征提取/比较装置602。
显著特征提取/比较装置602通过执行显著特征提取操作701获得当前图像的显著特征。然后实施操作702:显著特征提取/比较装置602根据比较图像的显著特征对基准图像队列产生二次排序决策,在此决策下基准图像选择/排序执行装置104执行二次排序。
下面详细描述显著特征提取/比较操作602与二次排序操作702:显著特征是指在执行图像比较(1∶1比较)操作305更少运算的前提下能提取得图像中与检测对象外观有关的特征。之所以称之为显著是因为提取该特征需要的运算量较小。
下面以图像中指定区域一个亮斑的存在性作为图像的显著特征,进一步说明有关操作。
指定区域亮斑的存在性,可以直接计算该指定区域的平均灰度并进行判定,当平均灰度超过指定阈值时,判定亮斑存在,否则亮斑不存在。
按照这种规则,提取并记录所有基准图像的亮斑的存在性信息,也就是显著特征。并分类为两个子队列。子队列内部的先后次序和原有的基准图像队列的次序保持一致。
分析比较图像的显著特征,也就是亮斑的存在性。将显著特征与比较图像一致的子队列排在前面,将不一致排在后面。至此产生了一个二次排序后的新基准图像队列。例如,如果比较图像中指定区域存在亮斑,则将存在亮斑的子队列排在前面,将不存在亮斑的自队列排在后面,从而产生一个二次排序后的新基准图像队列。
表二,一个基于亮斑存在性显著特征的二次排序的示例
存在亮斑 |
1 |
3 |
4 |
6 |
不存在亮斑 |
2 |
5 |
7 |
8 |
如表二所述,原有基准图像队列从队首到队尾的图像编号依次为1,2,3,...,8。如果比较图像中的指定区域存在亮斑,则实施二次排列之后的次序是1,3,4,6,2,5,7,8;如果比较图像中的指定区域不存在亮斑,则实施二次排列之后的次序是2,5,7,8,1,3,4,6。至此完成二次排序操作。
基准图像选择/排序执行装置104按照最新的基准图像队列的次序依次从基准图像存储装置102中读取基准图像并传输给图像比较装置106。
图像比较装置106在获得比较图像和基准图像后,实施一次如图3中所示的基于差异性度量的图像比较305(1∶1比较)。基于差异性度量的图像比较305(1∶1比较)内容如实施例一,不再重复。
基于差异性度量的图像比较305完成后的余下操作同实施例二,这里不再重复。
在上述***和方法中,上一周期的比较结果通过学习/预测装置反馈给基准图像队列,基准图像队列又继续直接影响比较结果,实现了闭环的图像比较过程。
与第一和第二实施例比较,本实施例增加了使用显著特征使用装置603进行二次排序的操作,这种操作的目的是辅助性提高整个比较周期的执行效率。
第四实施例
图8给出了第四实施例的方框图。
参考数字105表示图像采集装置,用于采集需要进行比较的图像;102表示基准图像存储装置,用于存储至少一个基准图像;104表示基准图像排序/选择执行装置,用于执行对基准图像的排序和选择;107表示学习/预估装置,用于学习过去的比较结果样本,预估(或者在排序操作中隐含估计)下一个比较图像对应的误差的概率分布,若误报事件发生,人工判定图像比较参数是否过于严格,若图像比较参数过于严格,则在此基础上修改基于差异性度量的图像比较所用的参数,否则将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策,此外,107表示学习/预估装置还用于在发生命中事件后对基准图像的排序进行决策;806图像比较参数修改装置,用于执行距离比较305(1∶1比较)时所使用的比较参数,如比较阈值和比较区域;106表示图像比较装置,用于执行根据基准图像和比较图像之间的距离比较。
表三比较结果的样本空间(二)
上表中{S3}={S31,S32}。学习/预估装置107在表三所述{S32}事件发生时追加基准图像到基准图存储装置和决策基准图像的排序,在表三所述{S2}事件发生时决策基准图像的排序,在表三所述{S31}事件发生时决策比较参数修改。
下面结合图8所示方框图和图9流程图详细解释本实施例的整体操作:
本实施例的操作过程与实施例2基本相同,不同的是表一和表三所述误报事件{S3}发生时的操作。当{S3}事件发生时,学习/预估装置107在人工参与下实施操作908,人工判定比较参数是否过于严格。
若人工判定比较参数设置过于严格,即{S31}误报事件发生,这种情况下,图像比较参数修改装置806执行修改图像比较参数的操作909,也就是图像比较装置106中存储的图像比较参数,也就是基于差异性度量的图像比较305(1∶1的操作)中使用的比较参数。例如增大比较操作305种所涉及的阈值Th或者缩小比较区域。
若人工判定比较参数设置没有过于严格,即{S32}事件发生。则图1所示学习/预估装置107开始执行图3所示操作309追加基准图操作,将追加的基准图存储到基准图存储装置102,并按照初始化操作301所设置的基准图追加位置改变基准图像选择/排序执行装置104中的基准图像次序设置。
至此,完成了一轮图像比较过程(1∶N比较,一个比较图像和多个基准图像的比较),然后待新的检测指令到来后***进入下一轮图像比较周期。
在上述***和方法中,上一周期的比较结果通过学习/预测装置反馈给基准图像队列,基准图像队列又继续直接影响比较结果,实现了闭环的图像比较(1∶N)过程。这个闭环消除了三维信息缺失的条件下基准图像选择的盲目性。与第一实施例相比较,本实施例增加了用增加了使用比较参数修改装置806在学习/预估装置109中的决策下修改比较参数的操作909,这种操作方法的目的是辅助性减少误报事件。
第五实施例
图10给出了第五实施例的方框图。
参考数字105表示图像采集装置,用于采集需要进行比较的图像;102表示基准图像存储装置,用于存储至少一个基准图像;601表示基准图像显著特征存储装置,用于存储从每个基准图像中提取的至少一个显著特征;602表示显著特征提取/比较装置,用于从比较图像中提取显著特征,并与从基准图像显著特征中获得的基准图像显著特征进行比较,根据比较结果决策基准图像选择/排序装置104执行基准图像队列的二次排序;104表示基准图像排序/选择执行装置,用于执行对基准图像的排序和选择;107表示学习/预估装置,用于学习过去的比较结果样本,预估(或者在排序操作中隐含估计)下一个比较图像对应的误差的概率分布,若误报事件发生,人工判定图像比较参数是否过于严格,若图像比较参数过于严格,则在此基础上修改基于差异性度量的图像比较所用的参数,否则将最新比较图像追加为基准图像并存储到基准图像存储装置,然后对基准图像的排序进行决策,此外,107表示学习/预估装置还用于在发生命中事件后对基准图像的排序进行决策;806图像比较参数修改装置,用于执行距离比较305(1∶1比较)时所使用的比较参数,如比较阈值和比较区域;106表示图像比较装置,用于执行根据基准图像和比较图像之间的距离比较305。
学习/预估装置107在表三所述{S32}事件发生时追加基准图像到基准图存储装置和决策基准图像的排序,在表三所述{S2}事件发生时决策基准图像的排序,在表三所述{S31}事件发生时决策参数修改。
下面结合图10所示方框图和图11流程图详细解释本实施例的整体操作:
首先执行如实施例一所述的初始化操作301,然后待检测指令到来后进入一轮图像比较(1∶N)操作过程。在每一轮图像比较(1∶N)操作中二次排序完成之前的操作过程和实施例三相同,二次排序完成之前的操作过程与实施例四相同。
与第四实施例相比较,本实施例增加了使用显著特征使用装置603进行二次排序的操作,这种操作的目的是辅助性提高整个比较周期的执行效率。
与第三实施例相比较,本实施例增加了使用比较参数修改装置706在学习/预估装置109中的决策下修改比较参数的操作,这种操作方法的目的是辅助性减少误报事件。
上述五个实施例只是符合本发明所涉及的闭环的图像比较方法中的典型例,并非穷举了本发明所涉及的图像比较方法的所有的具体实施。任何其他具备本发明所涉及的闭环的图像比较方法特征的具体实施都在本发明覆盖范围之内。