1.一种基于局部自适应阈值的量子图像分割方法,包括以下步骤:
第一步:制备NEQR量子图像:因为目前无法直接获得量子图像,所以我们需要把经典图n n像转化成NEQR图像。(2n+q)个量子比特被需要用来存储一幅尺寸为2 ×2 的经典图像。此外,需要额外的4q量子比特存储4邻域像素窗口的灰度值,并且还需要另外q个量子比特来复制原始图像的灰度值。量子表达式如下所示:第二步:循环移位:根据邻域窗口,我们需要对原始图像I进行循环移位来制备量子图像集,这样我们就可以对图像中所有邻域进行同时处理。首先,我们把原始图像的位置分别向上,下,左,右四个方向平移一个单元。每个方向的循环移位都可以得到一幅新的NEQR图像,因此,我们总共有5幅NEQR图像。这5幅NEQR图像中每个相同位置的像素刚好是原始图像中的4邻域窗口像素。
由于NEQR图像的灰度值是叠加态,因此当我们对原始图像中的某个像素的邻域窗口进行操作时,就可以同时对所有像素的邻域窗口进行操作。此外,由于排序后我们还需要用到原始图像,但在排序过程中已经将五幅图像混在一起了,因此,我们需要使用CNOT门把原始图像复制到额外的3个量子比特内,以便后面进行二值化操作。量子表达式如下所示:第三步:计算阈值:为了方便对邻域窗口像素进行排序,我们根据QC构造出QCS。当QC的输出y=0时,我们使用CSWAP门将a和b交换位置,这可以让较大数值作为下一个比较器的输入以便找出邻域窗口中最大的数。利用QCS把图像中四邻域窗口像素进行排序,找到它们的中位数。我们将四邻域窗口的中心像素与其他的像素依次进行比较,每次比较后都把大的数作为下一个比较器的一个输入,最后找到最大的数C1。通过这样的方式,经过三轮比较我们就可以找到三个大的数C1C2C3。此时,C3就是我们要找的中位数。
第四步:调整阈值此外,为了对阈值进行调整,我们需要利用QS把找到的中位数减去一个常数C,这样就可以得到阈值T。
第五步:量子二值化电路我们利用QC将原始图像与阈值进行比较,然后根据比较结果,将大于等于阈值的像素的灰度值转变成1,其他的变成0.我们使用reset操作将cq‑1...c1进行置零操作。当QC输出结果y=0时,且c0=0时,我们使用CNOT门和Toffoli门将c0置1.当QC输出结果y=1时,且c0=1时,我们使用CNOT门和Toffoli门将c0置0.最终,我们就可以得到一幅二值图。
第六步:分析复杂度:在量子信息处理中,电路的复杂性取决于所使用的基本门的数量。单量子比特和双量子比特门是基础量子逻辑门,并且可以对任意量子比特做出操作。因此本文以单量子比特和双量子比特门的数量(量子代价)来计算电路的复杂度。一个NOT门,一个reset门或一个CNOT门的量子代价为1.一个Toffoli门可以由5个双量子比特门组成,n n因此他的量子代价为5.以一个大小为2×2的数字图像为例,我们将分4步讨论电路的复杂度。
在第一步中,我们需要将经典图像制备成NEQR图像,这一阶段的计算复杂度不超过O
2n
(qn2 ),因为每个像素将一个接一个地进行操作。但是我们的算法是对量子图像进行处理,而不是经典图像,因此通常情况下载量子图像处理算法的研究中是不考虑这一步的复杂度的,因此这个步骤的复杂度我们认为是0.
2
在第二步中,我们需要使用CT操作对图像进行循环移位,CT的复杂度为O(n)。此外,我们还使用q个CNOT门来复制原始图像的灰度值,其量子代价为q。所以这一步的复杂性是O2
(n+q)。
在第三步中,我们使用9个QCS和1个QS来计算阈值T。QCS由1个QC和q个CSWAP门组成。一个QC需要3q‑2个托福利门、q‑1个CNOT门和2(q‑1)个复位门。所以一个QC的量子成本是18q‑
13。此外,CSWAP门的量子成本为3,并且需要q个CSWAP门。所以一个QCS的量子成本是21q‑
13。一个QS需要4q‑7个Toffoli门,4q‑4个CNOT门和3q‑4个reset门。因此,一个QS的量子代价为27q‑43。从上述分析中可以看出,这一步骤的复杂性为O(q)。
在第四步中,为了设置常数Z,我们还需要q个reset门和q个NOT门,因此量子代价为2q,复杂度为O(q)。
在第五步中,我们对图像执行一个量子二值化(QB)操作。该操作电路需要2个Toffoli门、2个CNOT门和q‑1个reset门。所以这一步的量子代价是q+11,复杂度是O(q)。
2 n n
因此,完整算法的复杂度为O(n+q)。在经典计算机上,对于大小为2×2的图像,需要
2n
对每个像素单独进行图像分割。因此,经典的分割算法的复杂度不小于O(2 )。因此,我们的方案实现了一个指数级加速。