本发明属于量子图像处理领域,涉及一种量子图像卷积方法。
背景技术:
量子图像处理领域是量子计算与图像处理的交叉学科,此领域起步较晚。是一个非常年轻有活力的领域,2003年,beach等和venegas-andraca等定义了量子图像处理(quantumimageprocessing),之后开始受到大量学者的关注。量子图像处理领域发展前期主要致力于图像在量子计算机中存储(图像的量子表示模型)及恢复(将量子图像转化为经典图像)的研究,初步解决了量子图像处理的一个关键问题,即如何将图像储存在量子系统中并将其读出,量子图像处理算法的研究则远远不够。
技术实现要素:
有鉴于此,本发明的目的在于提供一种在量子计算机上计算一个任意模板和一幅图像的卷积的方法。
为达到上述目的,本发明提供如下技术方案:
一种量子图像卷积方法,该方法包含如下步骤:
s1:将原始图像的像素点采用坐标变换的形式和周期性边界条件,改变原始图像的像素点的横坐或纵坐标,得到该像素点在邻域内像素点的信息;
s2:将邻域内像素点与模板上相应位置的权重相乘获得对应的权重积,然后把所有的权重积相加,得到一个像素点的卷积;
s3:对图像的每一个像素点重复执行步骤s1-s2,获得任意模板和图像的卷积结果。
进一步,步骤s1具体为:
s11:获取原始图像任意点的邻域信息,将图像尺寸为2n×2n,灰度值范围为[0,2q]的原始图像表示为:
其中,
s12:进行量子位移操作,获得该像素点在邻域内像素点的信息,
p(|i>)=|i′>=|(i+c)mod22n>,i∈{0,1,...,22n-1}
其中,i是位置yx的十进制表示,i′为移位操作后的位置信息,i′=i+cmod22n,c为移动的步数,c∈{1,...,22n-1};
s13:假定模板上的权重均为1,将相邻像素点的灰度值相加。
进一步,步骤s3中,将图像的每一个像素点全部耦合在一起组成一个计算前的量子态,
其中,|fw(y,x)>为某个邻域像素点的灰度值,w则为相应模板位置上的权重值,|f(y,x)>为存放最终的和的量子位。
本发明的有益效果在于:
1、利用量子加法器和量子乘法器实现了在量子计算机上计算任意模板和一幅图像的卷积。
2、由于量子比特存储信息的高效性,此方法和经典算法相比有很大的优越性。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明方法的流程图;
图2(a)为一幅2×2大小的图像,2(b)为将其横坐标加1后得出左侧邻域像素点信息的图像;
图3为将量子态
图4为多位量子加法器线路图;
图5为量子乘法器的线路图;
图6为右移操作;
图7为量子图像卷积线路图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
图1为本发明方法的流程图,以下部分也是对此技术路线中的各个内容进行的详细描述。
(1)获得任意像素点的邻域信息
本实施例所选择的图像表示模型如式(1)所示,对于图像尺寸为2n×2n,灰度值范围为[0,2q]的图像,可表示为:
其中,
图2(b)展示了将图2(a)的横坐标加1以制备其左侧邻域像素点信息的图像,此过程使用了量子移位操作p,量子移位操作的作用效果如式(3)所示。
p(|i>)=|i′>=|(i+c)mod22n>,i∈{0,1,...,22n-1}(3)
其中i是位置yx的十进制表示,i′=i+cmod22n,c∈{1,...,22n-1}。本发明采用了周期性边界条件,经过横坐标加1移位后图像的数学表达式为:
假设模板上的权重都是1,然后让相邻像素点灰度值相加。如图3所示,将
式(5)中输入加法器的量子叠加态共有16项,即
可以看出,除了4个包含相同位置信息的项|00>|00>、|01>|01>、|10>|10>和|11>|11>,对其余12项前面的灰度值进行相加是没有意义的,而需要的只是和图像具有相同像素点数目的4项,因此本实施例忽略其余的12项,和原始的表达方式不同的是,现在的一幅图像需要两个重叠的坐标来识别位置。如果将此结果和另外一个邻域像素点相加,将再多出两个比特的位置信息,如果位置信息用2n位量子比特表示,那么每次这种形式的运算都会导致结果中多出2n位的量子比特。因此本发明需要在最后提取信息的时候多添加几位受控量子比特,而使得中间的算法步骤并不受影响。为了方便起见,在下面的结果表示中,本实施例省略重叠的位置信息而只写出一个坐标信息。
要进行卷积运算需要让像素点灰度值和模板值进行相乘然后相加,考虑上面例子中的输入状态
(2)求一个像素的卷积
有了邻域信息之后,本实施例将邻域内像素点和模板上相应位置的权重相乘,量子乘法器的量子线路图如图5所示,图5中向下的箭头为右移操作,右移操作的量子线路图如图6所示。然后把9个相乘后的积相加,就可以计算出任意模板和一幅图像中一个像素的卷积结果。
(3)求一幅图像的卷积
以上步骤(1)、(2)是制备出一个邻域像素点的方法,同理可以制备出所有所需要的邻域像素点,然后和模板中相应位置上的权重值一样,全部耦合在一起组成一个计算前的量子态。其一般形式为:
其中,|fw(y,x)>为某个邻域像素点的灰度值,w则为相应模板位置上的权重值,省略号表示需要把模板覆盖的邻域内所有9个像素点以这种形式表示出来,|f(y,x)>为存放最终的和的量子位,初始为零然后每一个邻域和相应权重的乘积都要与|f(y,x)>相加,结果仍存储在|f(y,x)>中,即为卷积的结果。
图7为卷积实现的量子线路图,其中的*号和&为简化的量子乘法器和量子加法器,即一个像素点和模板值做乘积然后加和到最终结果上。图中每条线代表由多个量子比特存储的一个数值,其相互之间耦合在一起,共同构成一个系统。斜杠上方的字母代表该线条的量子比特位数。例如每个像素点为8比特数,则|fw>由8个量子比特组成,而坐标需要2n个量子比特,因为|f>存储最终结果,其量子比特数取决于模板的类型。图中第一个乘法器实现|fw>和w相乘,结果存放在加法器中的辅助量子比特|e>中,第二个加法器实现|f>和|e>的相加,结果仍存放在|f>中。若要完全执行该算法,仅仅多次执行此步骤即可完成。最终结果形式为:
和初始状态不同的是|f(y,x)>中存储的是卷积的结果。考虑到卷积结果计算出来之后,邻域和模板信息已经不再需要,可以舍去这些量子位而只保留所需要的结果
最后说明的是,以上优选实施例仅用以说明发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。