CN101645169A - 基于量子以及量子微粒群算法的机器人视觉匹配方法 - Google Patents
基于量子以及量子微粒群算法的机器人视觉匹配方法 Download PDFInfo
- Publication number
- CN101645169A CN101645169A CN200910092275A CN200910092275A CN101645169A CN 101645169 A CN101645169 A CN 101645169A CN 200910092275 A CN200910092275 A CN 200910092275A CN 200910092275 A CN200910092275 A CN 200910092275A CN 101645169 A CN101645169 A CN 101645169A
- Authority
- CN
- China
- Prior art keywords
- quantum
- algorithm
- value
- rotation
- promptly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及一种基于量子以及量子微粒群算法的机器人视觉匹配方法,包括基于QA算法进行图像匹配,以及基于QAPSO算法进行图像匹配;基于QA算法进行图像匹配包括:一:数据初始化;二:量子适应值计算;三:根据适应值进行量子旋转;四:更新记录迭代信息;五:n=n+1,从步骤二开始迭代;六:n=N,算法结束,输出最优结果六个步骤;基于QAPSO算法进行图像匹配,包括一:数据初始化;二:量子适应值计算;三:根据适应值进行PSO寻优;四:根据PSO判断进行量子旋转;五:更新记录迭代信息;六:n=n+1,从步骤二开始迭代。
Description
一、技术领域
本发明涉及一种机器人视觉匹配方法,包括基于量子算法(QuantumAlgorithm,以下简称QA)以及该算法与微粒群算法融合后的的基于量子微粒群优化(Quantum Algorithm with Particle Swarm Optimization,以下简称QAPSO)的机器人视觉匹配方法,属于计算机视觉信息处理领域。
二、背景技术
机器人视觉是通过光学的装置和非接触的传感器自动地接收和处理一个真实物体的图像,以获得所需信息或用于控制机器人运动的装置。在现代工业自动化生产中,涉及到各种各样的检验、生产监视及零件识别应用,例如零配件批量加工的尺寸检查,自动装配的完整性检查,电子装配线的元件自动定位,IC上的字符识别等。通常人眼无法连续、稳定地完成这些带有高度重复性和智能性的工作,其它物理量传感器也难有用武之地。于是,利用光电成像系统采集被控目标的图像,而后经计算机或专用的图像处理模块进行数字化处理,根据图像的像素分布、亮度和颜色等信息,来进行尺寸、形状、颜色等的判别在工业生产中占有越来越重要的地位。这样,就把计算机的快速性、可重复性,与人眼视觉的高度智能化和抽象能力相结合,由此产生了机器视觉的概念。
机器视觉中最重要的环节就是图像匹配环节,一个良好的匹配环节要求精度高、速度快,这在机器视觉领域中也是至关重要的衡量因素。研究表明,图像匹配的速度主要取决于匹配算法的搜索策略。一个好的搜索策略不需要遍历图像上的每一个像素点便可以精确的找到最优匹配位置。可以说,在保证匹配精度的情况下搜索的像素点越少,算法的效率也就越高。
微粒群优化(Particle Swarm Optimization,PSO)算法是由J.Kennedy和R.C.Eberhart等于1995年开发的一种演化计算技术,来源于对一个简化社会模型的模拟。PSO算法最初是为了图形化的模拟鸟群优美而不可预测的运动。而通过对动物社会行为的观察,发现在群体中对信息的社会共享提供一个演化的优势,并以此作为开发算法的基础。
PSO算法是基于群体的,根据对环境的适应度将群体中的个体移动到好的区域。然而它不对个体使用演化算子,而是将每个个体看作是D维搜索空间中的一个没有体积的微粒(点),在搜索空间中以一定的速度飞行,这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整。第i个微粒表示为Xi=(Xi1,Xi2,...,XiD),它经历过的最好位置(有最好的适应值)记为Pi=(Pi1,Pi2,...,PiD),也称为Pbest。在群体所有微粒经历过的最好位置的索引号用符号g表示,即Pg,也称为gbest。微粒i的速度用Vi=(Vi1,Vi2,...,ViD)表示。对每一代,它的第d维(1≤d≤D)根据如下方程进行变化:
Vid=ωVid+C1rand×(Pid-Xid)+CzRand×(Pgd-Xid) (1a)
Xid=Xid+Vid (1b)
其中ω为惯性权重(inertia weight),C1和C2为加速常数(accelerationconstants),rand和Rand为两个在[0,1]范围里变化的随机值。此外,微粒的速度Vi被一个最大速度Vmax所限制。如果当前对微粒的加速导致它的在某维的速度Vid超过该维的最大速度Vmax,d,则该维的速度被限制为该维最大速度Vmax,d。
对公式(1a),第一部分为微粒先前行为的惯性,第二部分为“认知(cognition)”部分,表示微粒本身的思考;第三部分为“社会(social)”部分,表示微粒间的信息共享与相互合作。
“认知”部分可以由Thorndike的效应法则(law of effect)所解释,即一个得到加强的随机行为在将来更有可能出现。这里的行为即“认知”,并假设获得正确的知识是得到加强的,这样的一个模型假定微粒被激励着去减小误差。
“社会”部分可以由Bandura的替代强化(vicarious reinforcement)所解释。根据该理论的预期,当观察者观察到一个模型在加强某一行为时,将增加它实行该行为的几率。即微粒本身的认知将被其它微粒所模仿。
PSO算法使用如下心理学假设:在寻求一致的认知过程中,个体往往记住自身的信念,并同时考虑同事们的信念。当其察觉同事的信念较好的时候,将进行适应性地调整。该算法已成功应用于很多最优化问题的求解。
量子算法是近年来刚刚兴起的一种智能算发,利用微观粒子的状态表示的信息就称为量子信息。信息一旦量子化,描述“原子水平上的物质结构及其属性”的量子力学特性便成为描述信息行为的物理基础,在此基础上研究的算法即称为量子算法。相对于经典信息的基本存储单元比特(bit),量子信息的基本存储单元称为量子比特(qubit)。一个量子比特的状态是一个二维复数空间的向量,它的两个极化状态|0>和|1>对应于经典状态的0和1。
量子比特的重要特性在于一个量子比特可以连续地、随机地存在于状态|0>和|1>的任意叠加态上,直到它被某次测量退化为止,即“量子坍塌”,是被测量的量子比特状态以某一概率区间值退化到状态|0>或|1>上。一个量子比特可以表示为|ψ>=α|0>+β|1>。其中α和β为任意复数,并且满足归一化条件αα*+ββ*=1。可以证明,在量子坍塌的过程中,量子以概率|α|2趋近于0,以概率|β|2趋近于1。例如,一个量子比特处在以下状态: 当测量这个量子比特时,测量的瞬间其50%的概率可以得到结果为0,50%的概率结果为1。
在量子算法(Quantum algorithm,QA)中,每一位量子被表示为{α,β},并且在实际的操作中量子根据以上所述规律进行坍塌,坍塌的结果是经典比特中的0或者1。在量子算法的迭代过程中,每一位量子位的α和β值通过量子旋转进行更新,以促进种群朝着当前得到的最优个体的方向演化。具体操作如下:
其中,U为量子旋转向量,(αiβi)为染色体中的第i个量子比特,θi为旋转角,i为当前进化代数。向量旋转如附图1所示。
三、发明内容
本发明的目的在于提供一种基于量子以及量子微粒群算法的机器人视觉匹配方法,以解决现有技术中的问题。
本发明一种基于量子算法的机器人视觉匹配方法,即基于量子(QA)算法处理图像匹配。
在用纯量子算法处理图像匹配时,将模板图像抽象为左上角的像素坐标点,于是每一个匹配位置可用一个坐标(x,y)来表示。在经典比特表示中,x和y的二进制表示分别由一系列的0和1组成,然而在量子算法中,坐标值应该用量子形式表示,即x表示为 即将x看成二进制数,则x的每一位分别由量子状态αxi和βxi组成。n为x的总位数。同理,y亦用此种量子坐标形式表示。
步骤一:数据初始化
设整个匹配过程总共使用N个量子,则对于每一个量子n(n=1,2,3...N),产生随机数生成其量子状态αni和βni,根据量子归一化原则,可随机产生任意两状态中的任意一个,如αni,利用公式 产生对应的βni;每一个像素点需要两个量子来表示,即一个量子只能表示一个横坐标或纵坐标;
对于产生的N个量子分别进行量子坍塌,即通过生成随机数,并根据该量子生成0的概率|α|2以及生成1的概率|β|2与产生的随机数比较从而使量子坍塌成经典比特形式,因为只有经典的0/1形式的比特才可以参与到迭代运算之中。对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示。
步骤二:量子适应值计算
计算每一个量子的适应值,目的是根据适应值在下一轮迭代中产生更优良的量子状态值。该发明适应值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定。常见的相关度匹配方法有两种:
1、平方差(SD)算法:
2、绝对差(AD)算法:
F(u,v)=∑x,y|f(u+x,v+y)-t(x,y)| (4)
对于同一幅图像,截取同一个模板,绘制相关度函数图像,如附图2以及附图3所示。其中图2代表平方差算法相关度图像,图3代表绝对差算法相关度图像。由附图可以看出,SD算法各局部最优值之间相差太小(大概为0.1左右),而AD算法最优值明显比其他值低的多,更有利于智能算发寻找到,故选择AD标准衡量每代量子的适应度。
步骤三:根据适应值进行量子旋转
根据当前代的每一个量子坍塌成的像素点的相关度值Pni(n=1,2...N;i为当前代数)以及公式2进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子。其中θi根据当前代数的适应度大小动态调整:
θi=M(αi,βi)×Δθ (5)
其中M(αi,βi)表示Δθ的正负,即旋转方向。M(αi,βi)只能取值0或1,其值的确定根据如下原则:若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
旋转步长Δθ的值的大小直接影响收敛的速度,过大易陷入局部最优解,过小则易使搜索过程止步不前,研究表明,比每次旋转步长的大小一般控制在0.001π~0.05π之间为宜。此处所用Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值。可见,若当前各值和最优值相差较多,则n值较大,造成Δθ趋近于θmax,向量旋转角较大,更快趋近于最优值,若迭代代数较多时,各粒子聚集在最优值附近,相关度值较接近,则导致n较小,进而令Δθ较小,量子旋转角度较小,可以更加精确的搜寻全局最优解。
步骤四:更新记录迭代信息
此步骤主要用于记录迭代的过程以便于最终的观察。需要更新记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i。
步骤五:n=n+1,从步骤二开始迭代至步骤四。
纯QA算法由于量子坍塌时依概率收敛,会产生很多随机粒子,扩大了解的搜索空间。这样的扩大可以使得最终的结果更容易找到全局最优解,但所需迭代次数也较多,大概为180代左右,见附图4。因此在设置迭代次数n时要注意不要设置过小,否则不易找到最优解。
步骤六:n=N,算法结束,输出最优结果。
为保证算法收敛到最优解,应使N>200。
本发明一种基于量子微粒群算法的机器人视觉匹配方法,即基于QAPSO算法处理图像匹配,由于单纯的QA算法需要迭代次数较多,在时效性要求较高场合并不适用,故需结合其他智能算法加以优化,以使其迭代次数减少,较快收敛。PSO算法是一种收敛比较快的算法,单纯PSO处理图像匹配的步骤简单描述如下:
步骤一:初始化微粒
为达到微粒遍布图像整个空间的效果,可以采用间隔相等的矩阵的形式初始化微粒。
步骤二:计算各微粒的适应度值
该步骤的计算与QA算法第二步相同,也可选择AD算法作为计算准则。步骤三:记录下各微粒的自身最优值Pid与整个迭代过程的全局最优值Pgd,以及各个微粒当代的速度以及位置。
步骤四:若n<N,根据公式(1a)以及(1b)计算下一代微粒的位置以及速度,并按照位置在原图像上放置微粒。
步骤五:从步骤二开始迭代,直至n=N。
步骤六:记录最终位置,输出结果。
单纯PSO处理图像匹配的迭代曲线如附图5所示。可见在80代左右PSO算法即可以收敛,然而最终结果的值没有单纯QA算法值优良。
将QA算法与PSO算法结合而产生QAPSO算法,该算法即含有QA算法的优点,即精度高,也含有PSO算法的优点,速度快。该混合智能算法步骤如下:
在用纯量子算法处理图像匹配时,将模板图像抽象为左上角的像素坐标点,于是每一个匹配位置可用一个坐标(x,y)来表示。在经典比特表示中,x和y的二进制表示分别由一系列的0和1组成,然而在量子算法中,坐标值应该用量子形式表示,即x表示为 即将x看成二进制数,则x的每一位分别由量子状态αxi和βxi组成。n为x的总位数。同理,y亦用此种量子坐标形式表示。
步骤一:数据初始化
设整个匹配过程总共使用N个量子,则对于每一个量子n(n=1,2,3...N),产生随机数生成其量子状态αni和βni,根据量子归一化原则,可随机产生任意两状态中的任意一个,如αni,利用公式 产生对应的βni;每一个像素点需要两个量子来表示,即一个量子只能表示一个横坐标或纵坐标;
对于产生的N个量子分别进行量子坍塌,即通过生成随机数,并根据该量子生成0的概率|α|2以及生成1的概率|β|2与产生的随机数比较从而使量子坍塌成经典比特形式,因为只有经典的0/1形式的比特才可以参与到迭代运算之中。对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示。
步骤二:量子适应值计算
计算每一个量子的适应值,目的是根据适应值在下一轮迭代中产生更优良的量子状态值。该发明适应值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定。常见的相关度匹配方法有两种:
3、平方差(SD)算法:
4、绝对差(AD)算法:
F(u,v)=∑x,y|f(u+x,v+y)-t(x,y)| (4)
对于同一幅图像,截取同一个模板,绘制相关度函数图像,如附图2以及附图3所示。其中图2代表平方差算法相关度图像,图3代表绝对差算法相关度图像。由附图可以看出,SD算法各局部最优值之间相差太小(大概为0.1左右),而AD算法最优值明显比其他值低的多,更有利于智能算发寻找到,故选择AD标准衡量每代量子的适应度。
步骤三:根据适应值进行PSO寻优
根据公式(1a)和(1b)对于当前的微粒进行迭代计算,产生新一代的微粒。与纯PSO算法不同的是并不马上利用新产生的微粒进行下一代的计算。
产生了新的微粒之后,计算新微粒各自的适应度,并分别与所对应的当前代微粒适应度值进行比较。记录下所有在经历PSO计算后适应度变得更好的微粒索引号。
步骤四:根据PSO判断进行量子旋转
遍历每一个量子,若其坍塌成的粒子的索引号被记录,则对该量子产生旋转变异;若索引号未被记录,则不进行量子旋转。其旋转的方向以及大小与纯QA算法的步骤三相同。
根据当前代的每一个量子坍塌成的像素点的相关度值Pni(n=1,2...N;i为当前代数)以及公式2进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子。其中θi根据当前代数的适应度大小动态调整:
θi=M(αi,βi)×Δθ (5)
其中M(αi,βi)表示Δθ的正负,即旋转方向。M(αi,βi)只能取值0或1,其值的确定根据如下原则:若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
旋转步长Δθ的值的大小直接影响收敛的速度,过大易陷入局部最优解,过小则易使搜索过程止步不前,研究表明,比每次旋转步长的大小一般控制在0.001π~0.05π之间为宜。此处所用Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值。可见,若当前各值和最优值相差较多,则n值较大,造成Δθ趋近于θmax,向量旋转角较大,更快趋近于最优值,若迭代代数较多时,各粒子聚集在最优值附近,相关度值较接近,则导致n较小,进而令Δθ较小,量子旋转角度较小,可以更加精确的搜寻全局最优解。
进行PSO判断的意义就在于不让本身处于较优位置的粒子产生旋转,导致较优粒子迭代结果却为适应度降低的可能,表面上看每一代需要多进行一部PSO的判断,但实际上节省了纯量子计算中无效迭代所消耗的时间。
步骤五:更新记录迭代信息
此步骤主要用于记录迭代的过程以便于最终的观察。需要记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i。
步骤六:n=n+1,从步骤二开始迭代至步骤五。
QAPSO算法的迭代曲线图见附图6。对比附图4、5、6,可以发现QAPSO算法比纯QA算法迭代速度快,比纯PSO算法精度高,是一种较优良的智能搜索算法。
步骤七:n=N,算法结束,输出最优结果。
为保证算法收敛到最优解,应使N>200。本发明所用实验图像以及模板如图7和图8所示,最终匹配结果如图9所示。
四、附图说明
图1量子向量旋转示意图
图2平方差(SD)算法相关度函数图
图3绝对差(AD)算法相关度函数图
图4单纯QA算法迭代曲线
图5单纯PSO算法迭代曲线
图6QAPSO算法迭代曲线
图7待匹配地形图
图8模板图像
图9最终匹配结果
图10QAPSO算法流程图
五、具体实施方式
下面通过一个具体图像匹配实例来验证本发明所提出的基于QA算法以及基于QAPAO算法的机器人视觉匹配方法的性能,所采用的是机器人视觉系统所采集的一幅待匹配地形图像和一幅需要机器人寻找的目标图像,其中目标图像见附图7,待匹配图像见附图8。在采集图像的过程中已考虑到距离远近产生的图像大小差别,并将采集图像预先进行缩放,以使结果可以直接进行匹配。实验环境为1.83Ghz主频,2G内存,MATLAB 7.0版本,QAPSO算法的具体实现步骤如下:
(一)、量子算法:
步骤一:数据初始化
设整个匹配过程总共使用72个量子,可坍塌成为36个坐标,则对于每一个量子n(n=1,2,3...72),产生随机数生成其量子状态αni和βni,根据量子归一化原则,随即产生αni,利用公式 产生对应的βni。每一个像素点需要两个量子来表示,用αni表示横坐标,βni表示纵坐标,其中i表示代数。
对于产生的72个量子分别进行量子坍塌,即对于量子i,生成随机数rand,若|α1i|2>rand,则量子i的初始值坍塌成0,否则为1。只有经典的0/1形式的比特才可以参与到之后的迭代运算之中。对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示。
步骤二:量子适应度值计算
计算每一个量子的适应度值,目的是根据适应度值在下一轮迭代中产生更优良的量子状态值。该发明适应度值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定。相关度用绝对差(AD)算法计算,详见公式4。记录当前代寻找到的最优值以及每一个微粒截至到当前代为止自身寻找到的最优值。
步骤三:根据适应值进行量子旋转
根据当前代的每一个量子坍塌成的像素点的相关度值Pni(n=1,2...72;i为当前代数)以及公式2进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子。其中θi根据当前代数的适应度大小动态调整:
θi=M(αi,βi)×Δ9 (5)
若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值。
步骤四:更新记录迭代信息
此步骤主要用于记录迭代的过程以便于最终的观察。需要记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i。
步骤五:n=n+1,从步骤二开始迭代。
纯QA算法由于量子坍塌时依概率收敛,会产生很多随机粒子,扩大了解的搜索空间。这样的扩大可以使得最终的结果更容易找到全局最优解,但所需迭代次数也较多,大概为180代左右,见附图4。因此在设置迭代次数n时要注意不要设置过小,否则不易找到最优解。
步骤六:n=N,算法结束,输出最优结果。
(二)、量子微粒群算法:
步骤一:数据初始化
设整个匹配过程总共使用72个量子,可坍塌成为36个坐标,则对于每一个量子n(n=1,2,3...72),产生随机数生成其量子状态αni和βni,根据量子归一化原则,随即产生αni,利用公式 产生对应的βni。每一个像素点需要两个量子来表示,用αni表示横坐标,βni表示纵坐标,其中i表示代数。
对于产生的72个量子分别进行量子坍塌,即对于量子i,生成随机数rand,若|α1i|2>rand,则量子i的初始值坍塌成0,否则为1。只有经典的0/1形式的比特才可以参与到之后的迭代运算之中。对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示。
步骤二:量子适应度值计算
计算每一个量子的适应度值,目的是根据适应度值在下一轮迭代中产生更优良的量子状态值。该发明适应度值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定。相关度用绝对差(AD)算法计算,详见公式4。记录当前代寻找到的最优值以及每一个微粒截至到当前代为止自身寻找到的最优值。
步骤三:根据适应度值进行PSO寻优
根据公式(1a)和(1b)对于当前的微粒进行迭代计算,产生新一代的微粒。与纯PSO算法不同的是并不马上利用新产生的微粒进行下一代的计算。
产生了新的微粒之后,计算新微粒各自的适应度,并分别与所对应的当前代微粒适应度值进行比较。记录下所有在经历PSO计算后适应度变得更好的微粒索引号。
步骤四:根据PSO判断进行量子旋转
遍历每一个量子,若其坍塌成的粒子的索引号被记录,则对该量子产生旋转变异;若索引号未被记录,则不进行量子旋转。具体旋转方法为:
根据当前代的每一个需要旋转的量子坍塌成的像素点的相关度值Pni(n=1,2...N;i为当前代数)以及公式2进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子。其中θi根据公式5动态调整:
若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值。可见,若当前各值和最优值相差较多,则n值较大,造成Δθ趋近于θmax,向量旋转角较大,更快趋近于最优值,若迭代代数较多时,各粒子聚集在最优值附近,相关度值较接近,则导致n较小,进而令Δθ较小,量子旋转角度较小,可以更加精确的搜寻全局最优解。
进行PSO判断的意义就在于不让本身处于较优位置的粒子产生旋转,导致较优粒子迭代结果却为适应度降低的可能,表面上看每一代需要多进行一部PSO的判断,但实际上节省了纯量子计算中无效迭代所消耗的时间。步骤五:更新记录迭代信息
此步骤主要用于记录迭代的过程以便于最终的观察。需要记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i。
步骤六:n=n+1,从步骤二开始迭代。
QAPSO算法的迭代曲线图见附图6。对比附图4、5、6,可以发现QAPSO混合智能算法比纯QA算法迭代速度快,比纯PSO算法精度高,是一种较优良的智能搜索算法。
步骤七:迭代直至n=N,算法结束,输出最优结果。
图4、图6以及图9分别为实验运行后所得迭代曲线以及匹配结果。其中图4为QA算法匹配迭代曲线,图6为QAPSO算法匹配迭代曲线。在迭代次数设定为200代的情况下,纯PSO算法所用时间平均为12s,纯QA算法所用时间为11s,QAPSO混合智能算法所用时间为14s。然而考虑到实际的QAPSO运算中并不需要200代,只需要80代左右,所以实际匹配时间应该少于7s;纯QA算法实际需要迭代180代左右,故所用匹配时间为10s左右;纯PSO算法迭代80次亦可收敛,所用匹配时间为6s左右,然而最终收敛精度远不如QAPSO算法,显现在结果上即是可能找到匹配位置附近的结果,但不能精确匹配到所需位置,虽然匹配位置和实际位置差距很小,人眼不易看出差别,但在精度要求很高的场合不能满足要求。
图6所给出的进化过程较为平稳地趋于一个较优值,最后达到稳态收敛,这为以后的精匹配打好了基础。可见,本方法的快速和精准性可以较好的满足实际运用的要求。
该方法是解决机器人视觉匹配问题的有效途径,可广泛应用于生物、医学、工业生产、检测识别等涉及图像信息处理的领域。
Claims (4)
1、一种基于量子算法的机器人视觉匹配方法,即基于QA算法处理图像匹配,特征在于:在用纯量子算法处理图像匹配时,将模板图像抽象为左上角的像素坐标点,于是每一个匹配位置可用一个坐标(x,y)来表示;在经典比特表示中,x和y的二进制表示分别由一系列的0和1组成,然而在量子算法中,坐标值应该用量子形式表示,即x表示为 即将x看成二进制数,则x的每一位分别由量子状态αxi和βxi组成。n为x的总位数;同理,y亦用此种量子坐标形式表示;
步骤一:数据初始化
设整个匹配过程总共使用N个量子,则对于每一个量子n(n=1,2,3...N),产生随机数生成其量子状态αni和βni,根据量子归一化原则,可随机产生任意两状态中的任意一个,如αni,利用公式 产生对应的βni;每一个像素点需要两个量子来表示,即一个量子只能表示一个横坐标或纵坐标;
对于产生的N个量子分别进行量子坍塌,即通过生成随机数,并根据该量子生成0的概率|α|2以及生成1的概率|β|2与产生的随机数比较从而使量子坍塌成经典比特形式,对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示;
步骤二:量子适应值计算
该发明适应值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定:
F(u,v)=∑x,y|f(u+x,v+y)-t(x,y)| (4)
步骤三:根据适应值进行量子旋转
根据当前代的每一个量子坍塌成的像素点的相关度值Pni(n=1,2...N;i为当前代数)以及公式:
进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子;其中θi根据当前代数的适应度大小动态调整:
θi=M(αi,βi)×Δθ (5)
其中M(αi,βi)表示Δθ的正负,即旋转方向,M(αi,βi)只能取值0或1;每次旋转步长Δθ的大小一般控制在0.001π~0.05π之间;此处所用Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值;
步骤四:更新记录迭代信息
需要更新记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i;
步骤五:n=n+1,从步骤二开始迭代至步骤四;
步骤六:n=N,算法结束,输出最优结果,为保证算法收敛到最优解,应使N>200。
2、根据权利要求1所述的基于量子算法的机器人视觉匹配方法,其特征在于:所述步骤三中的旋转方向,其值的确定根据如下原则:若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
3、一种基于量子微粒群算法的机器人视觉匹配方法,即基于QAPSO算法处理图像匹配,将QA算法与PSO算法结合而产生QAPSO方法,该方法即含有QA算法的优点,即精度高,也含有PSO算法的优点,速度快;特征在于:该方法步骤如下:
在用纯量子算法处理图像匹配时,将模板图像抽象为左上角的像素坐标点,于是每一个匹配位置可用一个坐标(x,y)来表示;在经典比特表示中,x和y的二进制表示分别由一系列的0和1组成,然而在量子算法中,坐标值应该用量子形式表示,即x表示为 即将x看成二进制数,则x的每一位分别由量子状态αxi和βxi组成,n为x的总位数;同理,y亦用此种量子坐标形式表示;
步骤一:数据初始化
设整个匹配过程总共使用N个量子,则对于每一个量子n(n=1,2,3...N),产生随机数生成其量子状态αni和βni,根据量子归一化原则,可随机产生任意两状态中的任意一个,如αni,利用公式 产生对应的βni;每一个像素点需要两个量子来表示,即一个量子只能表示一个横坐标或纵坐标;
对于产生的N个量子分别进行量子坍塌,即通过生成随机数,并根据该量子生成0的概率|α|2以及生成1的概率|β|2与产生的随机数比较从而使量子坍塌成经典比特形式,对于所有量子进行量子坍塌运算后,将所得到的二进制数字转化为十进制数字,其所表示的像素点即代表模板左上角在原图像上的像素位置,所有匹配过程的索引号均用此点坐标表示;
步骤二:量子适应值计算
该发明适应值的选取为:根据每一个量子坍塌成的坐标处模板图像与原图像的匹配相关度标定:
F(u,v)=∑x,y|f(u+x,v+y)-t(x,y)| (4)
步骤三:根据适应值进行PSO寻优
根据公式(1a)和(1b)
Vid=ωVid+C1rand×(Pid-Xid)+C2Rand×(Pgd-Xid) (1a)
Xid=Xid+Vid (1b)
对于当前的微粒进行迭代计算,产生新一代的微粒;其中ω为惯性权重,C1和C2为加速常数,rand和Rand为两个在[0,1]范围里变化的随机值;与纯PSO算法不同的是并不马上利用新产生的微粒进行下一代的计算;
产生了新的微粒之后,计算新微粒各自的适应度,并分别与所对应的当前代微粒适应度值进行比较;记录下所有在经历PSO计算后适应度变得更好的微粒索引号;
步骤四:根据PSO判断进行量子旋转
遍历每一个量子,若其坍塌成的粒子的索引号被记录,则对该量子产生旋转变异;若索引号未被记录,则不进行量子旋转;=
根据当前代的每一个量子坍塌成的像素点的相关度值Pni(n=1,2...N;i为当前代数)以及公式:
进行量子旋转,旋转产生的新量子作为下一轮迭代所用量子;其中θi根据当前代数的适应度大小动态调整:
θi=M(αi,βi)×Δθ (5)
其中M(αi,βi)表示Δθ的正负,即旋转方向,M(αi,βi)只能取值0或1;每次旋转步长Δθ的大小一般控制在0.001π~0.05π之间;此处所用Δθ根据Pni动态调整,令Δθ=θmin+n×(θmax-θmin),其中θmin=0.001π,θmax=0.05π,而 Pmax、Pmin、Pavg分别表示当代适应度值的最大值、最小值以及平均值;
步骤五:更新记录迭代信息
需要更新记录的信息包括:当前代数n;当前代各粒子的自身最优值,即该粒子在n代之中所找到的最优值;迭代n次所找到的全局最优值Pg;新产生的量子状态α(n+1)i和β(n+1)i;
步骤六:n=n+1,从步骤二开始迭代至步骤五;
步骤七:n=N,算法结束,输出最优结果,为保证算法收敛到最优解,应使N>100。
4、根据权利要求3所述的基于量子微粒群算法的机器人视觉匹配方法,其特征在于:所述步骤四中的旋转方向,其值的确定根据如下原则:若本代取到局部最优值的量子所坍塌成的粒子为1,而待旋转量子坍塌成的粒子取值为0,则M(αi,βi)=1,即需要该量子从0向1旋转;反之,若量子从1向0旋转则M(αi,βi)=0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100922751A CN101645169B (zh) | 2009-09-09 | 2009-09-09 | 基于量子以及量子微粒群算法的机器人视觉匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100922751A CN101645169B (zh) | 2009-09-09 | 2009-09-09 | 基于量子以及量子微粒群算法的机器人视觉匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101645169A true CN101645169A (zh) | 2010-02-10 |
CN101645169B CN101645169B (zh) | 2012-05-30 |
Family
ID=41657046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100922751A Expired - Fee Related CN101645169B (zh) | 2009-09-09 | 2009-09-09 | 基于量子以及量子微粒群算法的机器人视觉匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101645169B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073311A (zh) * | 2010-12-17 | 2011-05-25 | 浙江大学 | 基于离散量子微粒群算法的机器零件加工流水线调度方法 |
CN102495886A (zh) * | 2011-11-28 | 2012-06-13 | 河南理工大学 | 基于量子算法的指纹数据库搜索方法 |
CN106705975A (zh) * | 2017-01-11 | 2017-05-24 | 江苏科技大学 | 一种基于万有引力搜索的水面无人艇航路规划方法 |
CN108983770A (zh) * | 2018-07-02 | 2018-12-11 | 四川大学 | 数据处理方法、装置、电子设备及存储介质 |
CN114172770A (zh) * | 2021-11-26 | 2022-03-11 | 哈尔滨工程大学 | 量子根树机制演化极限学习机的调制信号识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101294954B (zh) * | 2007-04-25 | 2012-05-23 | 中国科学院自动化研究所 | 一种基于信息势的图像配准方法 |
CN101414365B (zh) * | 2008-11-20 | 2011-11-09 | 山东大学威海分校 | 一种基于粒子群的矢量码书量化器 |
-
2009
- 2009-09-09 CN CN2009100922751A patent/CN101645169B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073311A (zh) * | 2010-12-17 | 2011-05-25 | 浙江大学 | 基于离散量子微粒群算法的机器零件加工流水线调度方法 |
CN102073311B (zh) * | 2010-12-17 | 2012-09-26 | 浙江大学 | 基于离散量子微粒群算法的机器零件加工流水线调度方法 |
CN102495886A (zh) * | 2011-11-28 | 2012-06-13 | 河南理工大学 | 基于量子算法的指纹数据库搜索方法 |
CN106705975A (zh) * | 2017-01-11 | 2017-05-24 | 江苏科技大学 | 一种基于万有引力搜索的水面无人艇航路规划方法 |
CN108983770A (zh) * | 2018-07-02 | 2018-12-11 | 四川大学 | 数据处理方法、装置、电子设备及存储介质 |
CN108983770B (zh) * | 2018-07-02 | 2019-07-05 | 四川大学 | 数据处理方法、装置、电子设备及存储介质 |
CN114172770A (zh) * | 2021-11-26 | 2022-03-11 | 哈尔滨工程大学 | 量子根树机制演化极限学习机的调制信号识别方法 |
CN114172770B (zh) * | 2021-11-26 | 2023-05-02 | 哈尔滨工程大学 | 量子根树机制演化极限学习机的调制信号识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101645169B (zh) | 2012-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Das et al. | Learning-based proxy collision detection for robot motion planning applications | |
US11887363B2 (en) | Training a deep neural network model to generate rich object-centric embeddings of robotic vision data | |
Jayaraman et al. | End-to-end policy learning for active visual categorization | |
CN101645169B (zh) | 基于量子以及量子微粒群算法的机器人视觉匹配方法 | |
Chen et al. | Convolutional multi-grasp detection using grasp path for RGBD images | |
Zhuang et al. | Instance segmentation based 6D pose estimation of industrial objects using point clouds for robotic bin-picking | |
Xu et al. | Ring++: Roto-translation-invariant gram for global localization on a sparse scan map | |
Zhi et al. | Diffco: Autodifferentiable proxy collision detection with multiclass labels for safety-aware trajectory optimization | |
Chen et al. | Bio-inspired homogeneous multi-scale place recognition | |
US20220270198A1 (en) | Electronic apparatus and control method thereof | |
CN110543727A (zh) | 一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨识方法 | |
Nie et al. | MMFN: Multimodal information fusion networks for 3D model classification and retrieval | |
CN112017226A (zh) | 面向工业零件6d位姿估计的方法及计算机可读存储介质 | |
Chen et al. | GPU-accelerated incremental Euclidean distance transform for online motion planning of mobile robots | |
Peng et al. | Enhanced Autonomous Navigation of Robots by Deep Reinforcement Learning Algorithm with Multistep Method. | |
Karkus et al. | Differentiable mapping networks: Learning structured map representations for sparse visual localization | |
Qin et al. | A path planning algorithm based on deep reinforcement learning for mobile robots in unknown environment | |
Ferrarini et al. | Highly-efficient binary neural networks for visual place recognition | |
US12001218B2 (en) | Mobile robot device for correcting position by fusing image sensor and plurality of geomagnetic sensors, and control method | |
Yan et al. | Whale optimization algorithm based on lateral inhibition for image matching and vision-guided AUV docking | |
CN115204384A (zh) | 用于机器学习的广义激活函数 | |
Muravyev et al. | PRISM-TopoMap: Online Topological Mapping with Place Recognition and Scan Matching | |
Shi et al. | A correct-and-certify approach to self-supervise object pose estimators via ensemble self-training | |
Cao et al. | Improved YOLOv3 model based on ResNeXt for target detection | |
Bao et al. | RIA-CSM2: A Real-Time Impact-Aware Correlative Scan Matching Algorithm Using Heterogeneous Multi-Core SoC for Low-Cost Wheeled Robots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20120909 |