本发明涉及一种量子领域的在ibm量子实验平台实现的量子图像阈值分割方法,属于量子图像处理技术领域。
背景技术:
量子信息学作为量子物理和信息科学的交叉学科,经过几十年突飞猛进的发展,在量子通信、量子计算以及可编程量子计算机等方面都已经获得前所未有的突破性成果。量子图像处理作为量子信息中一个重要的研究领域,旨在结合量子计算并行、纠缠等特性实现量子加速、提高计算能力、减少计算资源和完成信息安全传递等,最终解决在经典计算机下无法解决的诸多问题。
量子图像处理领域的研究重点在于将经典领域的图像处理任务与操作扩展到量子计算框架上,是量子计算领域中新兴的研究方向,量子图像处理领域的研究还处于初期阶段,大部分所做研究只涉及到理论方面,以及用经典算法模拟量子逻辑门操作来实现一些量子图像处理操作,并未用真实的量子计算机平台进行仿真实现;量子图像分割是一种应用于量子图像处理的比较重要的分割量子图像的方式,为了有效的识别、分析目标,时常需要将目标区域单独划分出来,进一步对目标图像的特征进行提取、分析和测量,因此,量子图像分割是进行量子图像分析、理解和描述的前提条件,是量子图像处理中的一种重要技术。
量子图像的颜色变化、几何变换、量子图像安全技术等许多量子图像处理算法都已建立了理论研究,部分量子图像处理算法还以经典方法得以模拟实现,却很少能在真实量子计算机上得到验证,因此迫切需要研发真实量子计算机来验证量子算法的正确可行性。2015年5月,ibm开发出四量子位原型电路,成为未来10年量子计算机基础。2016年,世界首个拥有五位量子比特的可编程量子计算机被公布在ibm量子实验室的云系统上,并把其提供出来作为量子计算云服务供研究者使用。2017年11月,ibm发布20位量子比特的新型量子计算机,同时表示50位量子比特的原型机已经被成功开发出来。目前世界上提供比较全面的开源可编程量子计算机只有少数几家研究机构,ibm量子实验室首当其冲,为研究学者提供了三种不同环境下运行量子算法的模式:真实的量子计算机、量子云服务器和经典计算机。
技术实现要素:
本发明的目的是提供一种在ibm量子实验平台实现量子图像分割的方法。
本发明通过以下技术方法来实现上述目的:
1、一种在ibm量子实验平台实现的量子图像阈值分割方法,其特征在于:包括以下步骤:
(1)将输入图像的灰度信息和位置信息转化为二进制序列,并与相应的辅助信息和阈值信息共同构成图像信息的改进neqr表达式;
(2)创建量子电路,根据改进neqr表达式所存储的二进制序列初始化量子电路,使改进neqr表达式所存储的二进制序列转换为量子序列;
(3)利用量子比较器实现量子图像灰度信息与阈值信息的大小比较,并将比较结果通过控制辅助位呈现出来;
(4)通过控制辅助位的状态,利用等效cswap门实现相应灰度信息与辅助交换信息的交换;
(5)测量量子图像阈值分割后的量子序列态;
(6)将以python语言为框架设计的量子图像阈值分割电路编译成量子编程语言qasm上传至ibm的量子实验平台上运行;
(7)根据坍塌后的量子序列输出图像的灰度信息和位置信息;
(8)重复步骤(1)~(7)直至输入图像的所有像素点均已实现量子图像阈值分割。
上述方法的基本原理如下:
在量子灰度图像的表示中,neqr表达式通过量子序列的基本态来编译图像的颜色信息,而像素位置则采用二维位置信息(y轴与x轴)表示,通过两个纠缠的量子序列来分别存储图像的位置和灰度信息,并使用这两个序列的叠加态来存储整幅图像。对于一幅2n×2n大小灰度范围为[0,2m-1]的图像,其neqr表达式只需m+2n个量子位。由于ibm量子计算机比特位限制,不能直接处理8比特图像,所以将8比特图像的灰度级降为4个灰度级,然后转换为二进制量子比特序列存储在改进neqr表达式中;由于输入图像每个位置上的像素值是确定的,所以需要根据每个像素位置上的改进neqr表达式通过not门操作来初始化量子电路的初始态。量子阈值分割电路的实现是以python语言为框架,将设计的量子分割电路编译成量子编程语言qasm,然后上传至ibm量子云平台或真实的量子计算机下运行,然后通过量子测量得到量子阈值分割后的改进neqr表达式,从中提取出灰度信息和位置信息,并将灰度信息二进制转化为十进制,映射到256个灰度级进行显示。
具体地,所述步骤(1)中,将输入8比特图像降为4个灰度级再转化为二进制序列;改进neqr表达式|ae_q2mtmcmp2nc_q1q4>依次存储量子辅助旋转信息|ae_q2m>,量子阈值信息|tm>,灰度信息|cm>,位置信息|p2n>,控制辅助信息|c_q1>以及辅助信息|q4>;
所述步骤(2)中,定义量子电路的基本结构,主要包括量子电路的名称以及量子寄存器与经典寄存器的大小与名称;并根据改进neqr表达式初始化量子电路的输入状态:改进neqr表达式中某位为|1>,则对此位进行not门初始化;
所述步骤(3)中,利用量子比较器比较阈值信息|tm>与灰度信息|cm>的大小,若灰度信息小于阈值信息,则将控制辅助信息|c_q1>置|0>,反之置|1>;
所述步骤(4)中,若控制辅助信息为|0>,则将灰度信息|cm>与量子辅助旋转信息|ae_q2m>中的低两位交换;若控制辅助信息为|1>,则将灰度信息|cm>与量子辅助旋转信息|ae_q2m>中的高两位交换;用三个toffoli门等效cwap门实现信息的交换;
所述步骤(7)中,坍塌后的量子序列仍以改进neqr表达式存储,从输出的改进neqr表达式中分离出灰度信息|cm>与位置信息|p2n>,并将灰度信息转化为十进制再映射到256个灰度级进行显示。
本发明的有益效果在于:
本发明在量子计算基本原理的研究基础上,利用了可编程量子计算机及其对应的量子编程语言openqasm,将量子计算的并行性、叠加性、纠缠性等特性同量子图像的表示、阈值分割以及量子测量等过程进行了充分融合,在ibm量子实验平台实现了量子图像阈值分割,验证了量子阈值分割电路的正确性,并为量子图像的特征提取、分析和测量提供了前提条件。
附图说明
图1是输入图像;
图2是根据改进neqr表达式初始化后的输入电路;
图3是两量子位比较器电路;
图4是cswap门等效电路;
图5是灰度信息与辅助旋转信息交换电;
图6-1是测量次数为16次的坍塌结果;
图6-2是测量次数为32次的坍塌结果;
图6-3是测量次数为64次的坍塌结果;
图6-4是测量次数为128次的坍塌结果;
图7是输出图像
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明:
实施例:
为了使本发明所述在ibm量子实验平台实现量子图像阈值分割更加便于理解和接近于真实操作,下面以一幅灰度级为256的2×2大小图像为例进行在ibm量子实验平台实现量子图像阈值分割方法的整体说明,其中包括本发明的核心分割方法:
(1)图1是灰度级为256的2×2大小灰度图像(m=2,n=1),该图像(0,0)、(0,1)、(1,0)、(1,1)位置的像素值分别为(0,85,170,255),将其灰度级降为4后对应像素值为(0,1,2,3),转化为量子二进制序列分别为(|00>,|01>,|10>,|11>),设定阈值为|10>(映射为256个灰度级,阈值为170),所以改进neqr表达式为:
(2)创建量子电路,分别需要15个量子寄存器和经典寄存器,根据改进的neqr表达式初始化量子电路,初始化后的量子电路,如图2所示。
(3)图3是量子比较电路,虚线框内是一位量子比较器,图3所示量子比较电路通过两个比较器的级联和4个辅助量子比特位以及控制辅助位实现了两量子位的比较,所以灰度信息与阈值信息的大小比较结果将由控制辅助位呈现,若控制辅助信息|c_q1>为|0>,表示灰度值小于阈值,若控制辅助信息|c_q1>为|1>,表示灰度值大于阈值。经过量子比较电路后的改进neqr表达式为:
(4)图4是cwap门等效电路,控制旋转门可由三个toffoli门等效构成。图5是灰度信息与辅助旋转信息交换电路,当控制位输出为|1>,将使灰度信息与辅助旋转位的高位交换,辅助控制位输出为|0>时,将使灰度信息与辅助旋转位的低位交换,从而实现量子图像的阈值分割。经过分割电路后的改进neqr表达式为:
(5)将以python语言为框架设计的量子图像阈值分割电路,利用ibm提供的开源qiskit量子计算工具包将其编译成量子编程语言qasm并上传至ibm的云服务器上或真实的量子计算机上运行。
(6)步骤(2)中对输入电路的初始化时,对图像两个位置位进行h门变换制备图像信息,得到拥有4个状态叠加态系统,该叠加态可以完全覆盖图像大小为2×2的所有位置信息,所以在进行阈值分割后,可以通过对每个量子位的测量操作,量子灰度图像系统将会发生坍塌,最终以概率振幅的形式输出每个像素的改进neqr表达式。图6-1、图6-2、图6-3与图6-4分别表示在测量次数为16次、32次、64次与128次的情况下所得的坍塌结果。
(7)在以概率幅的方式得到经典信息后,还需要对整个量子灰度图像系统添加一个后置操作,用以实现反馈的概率信息图像化,最后以图像的信息展示出来。如量子态|100010111010001>,将灰度信息位上的|11>映射到256个灰度级便是255,位置信息位上为|10>,即对于像素点x坐标位1,y坐标为0,由此可以在一个空白的图像上将坐标为(1,0)的像素点的灰度值设置为255。所以最终得到的输出图像如图7所示。
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。