任鳳娟, 滕奇志, 王正勇, 何小海, 周 磊
(四川大學(xué)電子信息學(xué)院, 成都 610065)
量子圖像處理作為量子信息科學(xué)的一個重要分支,旨在結(jié)合量子計算的并行性[1]和糾纏性[2],實現(xiàn)量子加速,提高計算能力,減少計算資源,完成信息的安全傳輸,最終解決一些在經(jīng)典計算機(jī)上無法解決的問題.量子圖像處理技術(shù)的發(fā)展將為醫(yī)學(xué)[3-4],軍事及環(huán)境保護(hù)等方面做出巨大貢獻(xiàn).
過去的十年中,在量子圖像處理技術(shù)領(lǐng)域的研究得到了一定的發(fā)展,如量子圖像表達(dá)式的制備[5-7],量子圖像的幾何變換[8],量子圖像加密[9]等.量子圖像分割作為量子圖像處理領(lǐng)域的一種重要處理方法,有時為了有效地識別和分析目標(biāo)區(qū)域[10],往往需要將目標(biāo)區(qū)域從整體區(qū)域中分割出來.而量子圖像分割的主要方法之一便是閾值分割,閾值分割主要使用閾值將灰度圖像轉(zhuǎn)換為二值圖像以實現(xiàn)分割.
2016年5月,IBM對外提供了開源的5比特量子云平臺[11],用戶可以在這個平臺上使用真實的量子計算機(jī)進(jìn)行量子操作,也可以使用IBM云平臺連接至IBM的量子計算機(jī)進(jìn)行體驗.2017年12月,IBM再次宣布推出其首個具有20個量子比特的IBM Q Network客戶端.近年來,基于IBM 量子計算機(jī)的研究已經(jīng)越來越多,例如:自動糾錯[12],計算漢明距離[13]和區(qū)分高度糾纏的Z-狀態(tài)[14]等.然而,大多數(shù)基于IBM量子計算機(jī)的研究僅用于實現(xiàn)量子計算和量子物理算法,卻很少用于量子圖像處理技術(shù)的實現(xiàn).量子圖像處理的應(yīng)用研究也處于起步階段,大多數(shù)量子圖像的研究僅涉及理論方面,或者在經(jīng)典計算機(jī)上仿真實現(xiàn),卻很少在量子計算機(jī)上進(jìn)行處理.
基于上述問題,本文提出了一種基于IBM量子實驗平臺(IBM quantum experiment platform, IBM Q)的量子圖像處理方案.該方案主要包括4步:(1) 將經(jīng)典圖像轉(zhuǎn)化為量子圖像并由提出的改進(jìn)型強(qiáng)化量子圖像表達(dá)式(an improved enhanced quantum representation,IEQR)存儲量子圖像信息;(2) 構(gòu)建量子圖像分割電路,并根據(jù)IEQR表達(dá)式初始化量子電路;(3) 利用IBM 量子實驗室提供的開源量子計算工具包Qiskit,以Python語言為框架,將設(shè)計的量子圖像處理電路編譯成量子編程語言QASM,分別在IBM Q和經(jīng)典計算機(jī)仿真兩種平臺下,實現(xiàn)了量子計算機(jī)下的量子圖像分割處理;(4) 根據(jù)坍塌后的IEQR表達(dá)式,將分割后的量子圖像轉(zhuǎn)換為經(jīng)典圖像用于顯示.
IEQR表達(dá)式是對新型強(qiáng)化量子圖像表達(dá)式[7](novel enhanced quantum representation,NEQR)的改進(jìn),NEQR通過顏色信息和位置信息的糾纏來存儲圖像.在很多情況下,量子圖像處理電路不僅包括顏色信息和位置信息,往往還包括很多其他信息位,例如量子圖像分割所需的閾值信息,輔助信息等.所以在針對量子圖像處理時,NEQR模型不能很好的對所有量子位信息進(jìn)行跟蹤和描述.本文對NEQR進(jìn)行了改進(jìn),使改進(jìn)后的IEQR表達(dá)式不僅能存儲顏色和位置信息,還能夠存儲量子圖像處理電路所需的其他信息,可以實現(xiàn)對量子電路的所有量子信息位的跟蹤查看.
對于一幅灰度級為2m的2n×2n大小的圖像,它的NEQR表達(dá)式|I>為
|I>=|C>m?|P>2n=
(1)
其中,“?”是量子計算中的直積符號[15],是一種實現(xiàn)量子邏輯門操作的重要運算方式; |C>m是顏色信息位;|P>2n是位置信息位,下標(biāo)數(shù)字代表需要多少個量子比特位來存儲該信息位.f(x,y)代表圖像(x,y)處的灰度值.但是針對量子圖像分割電路,除了圖像的顏色信息和位置信息,還有閾值信息|T>m,以及三種輔助信息:|Ae_q>2m、|C_q>1和|q>4,因此改進(jìn)后的IEQR表達(dá)式|I0>為
|I0>=|Ae_q>2m?|T>m?|C>m?
|P>2n?|C_q>1?|q>4=
|Ae_q2mTmCmP2nC_q1q4>
(2)
其中,|Ae_q>2m是旋轉(zhuǎn)二值信息位,用以設(shè)定分割后二值圖像的兩個灰度值,因此需要2m個量子比特位;|T>m是閾值信息,即設(shè)定的一個灰度值,因此需要m個量子比特位;|C_q>1是控制輔助位,它的值表明了圖像灰度值與閾值的大小關(guān)系,只需要一個量子比特位;|q>4是輔助位,用于輔助構(gòu)成電路,為冗余信息位.所以針對一幅灰度級為2m的2n×2n大小的圖像分割,我們共需要4m+2n+5個量子比特位.
在IBM Q平臺處理量子圖像的第一步便是將經(jīng)典圖像轉(zhuǎn)換為量子圖像.由于IBM Q平臺上量子計算機(jī)的量子比特位數(shù)量的限制,目前還無法對大尺寸的多灰度級圖像進(jìn)行處理,因此只能將傳統(tǒng)的8比特圖像的灰度級將為4來進(jìn)行后續(xù)分割處理,這樣就只需要兩個量子比特位來存儲灰度信息,很大程度上減少了量子比特位的消耗.降低灰度級的映射關(guān)系如下.
(3)
為了更好的闡述IEQR表達(dá)式,圖1給出了一幅2×2大小的圖像,下文的所有操作也將基于圖1所示圖像進(jìn)行舉例說明.
圖1 一幅2×2大小樣例圖像Fig.1 A 2×2 example image
圖1中的“XAxis”和 “YAxis”分別表示了圖像的x和y坐標(biāo)位置,灰度值在圖像上標(biāo)出.本文不考慮如何選取閾值,直接將閾值設(shè)定為|10>,其他閾值設(shè)定會在仿真實驗分析處給出介紹;分割后的二值圖像的兩個值分別為|11>與|00>,所以旋轉(zhuǎn)二值信息位|Ae_q>2m的值為|1 100>.所以圖1 的IEQR表達(dá)式為
|85>?|01>+|170>?|10>+|255>?
|11>)?|C_q>?|q>=
|10>|10>+|11>|11>)|0>|0000>=
|110010101000000>+|110010111100000>)
(4)
圖2所示為量子閾值分割電路[16]的整體結(jié)構(gòu)圖,每個量子位的名稱和初始化值都在圖的左側(cè)標(biāo)出.該電路主要是由量子圖像信息的輸入、灰度值與閾值的比較,顏色信息與相應(yīng)旋轉(zhuǎn)二值信息位的交換三部分構(gòu)成.
在第一部分,量子圖像信息的輸入時,由于量子系統(tǒng)的初始狀態(tài)都是|0>,所以需要根據(jù)IEQR表達(dá)式對電路的各個量子位進(jìn)行初始化.對于閾值信息和輔助信息等一些確定的量子位,本文使用一種通用的初始化方法,如果IEQR序列的狀態(tài)為|1>,就直接將NOT門應(yīng)用到相應(yīng)的狀態(tài)位,如果狀態(tài)為|0>,則不做任何處理.但是對于顏色和位置信息,往往不采用通用的初始化方法.量子圖像的位置和灰度信息是通過兩個糾纏的量子序列的疊加態(tài)來存儲整幅圖像,根據(jù)文獻(xiàn)[5]所述,需要找出灰度信息與位置信息之間的關(guān)系,然后利用H門(Hadamard)、NOT門和控制非門(Control-NOT,C-NOT)門的組合來初始化.圖1的顏色和位置信息初始化如圖3所示.q[2]和q[3]表示顏色信息,q[0]和q[1]表示位置信息.通過位置信息上的H變換,得到完全覆蓋圖像所有位置的疊加狀態(tài), 然后運用C-NOT門操作可以實現(xiàn)顏色序列和位置序列的糾纏,如圖3(b)所示.
圖2 量子閾值分割電路結(jié)構(gòu)圖Fig.2 Quantum threshold segmentation circuit structure
(a)顏色和位置初始化電路
(b) 坍塌結(jié)果圖
Fig.3 Color and position information circuit initialization
灰度值與閾值的比較則通過量子比特串比較器[17](quantum bit string comparator, QBSC)來實現(xiàn),圖4(b)是QBSC電路圖,它是由兩個UCMP構(gòu)成的. |a>和|b>作為UCMP的輸入, |x>和|y>作為UCMP的輸出:當(dāng)a>b時,x=1,y=0; 當(dāng)a和|T>的低量子位作為輸入,第二個UCMP以|C>和|T>的高量子位作為輸入,然后再通過一些輔助量子門操作將比較結(jié)果傳遞給控制輔助位|C_q>.若|C_q>=|1>則C≥T;若|C_q>=|0>則C (a) 一量子位比較電路UCMP (b) 基于UCMP的兩量子位比較電路圖4 基于UCMP的量子比特串比較器電路Fig.4 Quantum bit string comparator circuit based on UCMP 當(dāng)顏色與閾值比較過后,圖像的IEQR表達(dá)式將由|I0>變?yōu)閨I1>,|I1>表示如下. |110010010100010>+|110010101010001>+ |110010111110011>) (5) 從中|I1>也可以看出|C_q>的狀態(tài)發(fā)生了變化.當(dāng)|C_q>=|1>時,即C≥T時,顏色信息|C>m將與旋轉(zhuǎn)二值信息|Ae_q>2m的高m位發(fā)生交換,當(dāng)|C_q>=|0>時,即C (a) Cswap等效電路 (b) 基于Cswap等效電路的交換電路圖5 顏色值與旋轉(zhuǎn)二值信息交換電路Fig.5 Color information and rotation information exchange circuit 當(dāng)顏色值與旋轉(zhuǎn)二值信息|Ae_q>2m交換過后,即完成了量子圖像的分割,圖像的IEQR表達(dá)式將由|I1>變?yōu)閨I2>,|I2>是經(jīng)過量子閾值分割后的通過量子測量獲得的坍塌量子序列,它的IEQR表示如式(6)所示,從式(6)中可以看出顏色值與旋轉(zhuǎn)二值信息的相應(yīng)量子位已經(jīng)發(fā)生了交換. |110110000100010>+|100010111010001>+ |110010111110011>) (6) IEQR將量子圖像的顏色信息、位置信息和一系列其他信息均存儲在量子序列的疊加狀態(tài)中.通過對量子位的測量操作,量子序列會發(fā)生坍塌,以概率幅度的形式輸出,最后將位置信息及其對應(yīng)的顏色信息從坍塌的量子序列中提取出來.在量子圖像閾值分割之后, 顏色信息只會是|Ae_q>2m中預(yù)先設(shè)定的值:|11>或|00>.提取出的顏色和位置信息仍然是量子序列,為了在經(jīng)典計算機(jī)上顯示分割后的量子圖像,需要將量子序列轉(zhuǎn)換為經(jīng)典數(shù)字圖像狀態(tài).應(yīng)用式(7)對顏色信息進(jìn)行轉(zhuǎn)換,位置信息量子序列的轉(zhuǎn)換直接將二進(jìn)制轉(zhuǎn)換為十進(jìn)制對應(yīng)坐標(biāo).例如,坍塌后量子序列是|100010111010001>,則其顏色信息是|11>,通過式(7)映射為255,其位置信息是|10>,其對應(yīng)于x坐標(biāo)位置為1且y坐標(biāo)為0.因此,在一個空白圖像中,像素坐標(biāo)(1,0)的灰度值可以設(shè)置為255.以此類推,繪制整個圖像. (7) 圖1所示2×2的圖像經(jīng)過閾值為|10>的量子電路分割后的量子圖像轉(zhuǎn)換為經(jīng)典圖像后如圖6所示.每個像素塊中的“color”表示灰度值,“Pos”表示像素塊的位置坐標(biāo). 圖6 分割后輸出圖像Fig.6 Output image after segmentation IBM量子實驗室為研究人員提供了兩種運行量子算法的工具:IBM Q Experience和經(jīng)典計算機(jī)模擬器.IBM Q Experience是一個將量子計算機(jī)放在云上的平臺, 研究人員可以使用IBM Q Experience在真實量子芯片上執(zhí)行自己的量子算法,通過編寫量子編程語言QASM或操作門電路來實現(xiàn)自己的算法.經(jīng)典計算機(jī)模擬器是在經(jīng)典計算機(jī)上利用IBM量子實驗室提供的開源量子計算工具包qiskit,以python語言為前端接口來編寫實現(xiàn)自己的量子算法,并在經(jīng)典計算機(jī)上仿真實現(xiàn)量子算法. 基于第3節(jié)的量子圖像閾值分割電路,本文分別在IBM Q Experience和經(jīng)典計算機(jī)模擬器中進(jìn)行了不同次數(shù)的迭代實驗.圖7給出了在兩種運行環(huán)境下128次迭代測量的結(jié)果.從圖7可看出,坍塌后的量子序列保持一致,顏色信息(每個量子序列中的第7位和第8位)僅呈現(xiàn)出|00>與|11>兩種狀態(tài).而坍塌后量子序列的概率幅度不一樣,這也驗證了量子系統(tǒng)的隨機(jī)性與“測不準(zhǔn)”原理. (a)IBM Q Experience (b) 經(jīng)典計算機(jī)仿真 Fig.7 The results were measured 128 times on differernt platforms 另外,我們統(tǒng)計了在不同運行環(huán)境下不同迭代次數(shù)的運行時間,如表1所示.表1的第一行是迭代次數(shù),第二行和第三行是在相應(yīng)迭代次數(shù)下在不同運行環(huán)境中操作的時間. 使用經(jīng)典計算機(jī)模擬時,Python語言的時間函數(shù)可以準(zhǔn)確計算實現(xiàn)分割所需的時間. 但是,對于IBM Q Experience,只有基本的邏輯門操作,并且不存在其他輔助函數(shù)功能,因此我們只能手動測量運行時間,為了提高數(shù)據(jù)的可靠性,本文在一個迭代次數(shù)下手動測量10次并記錄10次測量的一個時間范圍. 表1 在不同環(huán)境下的運行時間 從表1可以看出,IBM Q Experience的運行時間明顯少于經(jīng)典計算機(jī)模擬的運行時間. 經(jīng)典計算機(jī)上的運行時間隨著迭代次數(shù)的增加呈指數(shù)級增長,當(dāng)?shù)螖?shù)為1 024次時,總花費為6 702.91 s,相當(dāng)于約2 h;而量子算法在IBM Q Experience上運行時,運行時間非常短,花費的時間在2~4 s的范圍內(nèi). IBM Q Experience允許最大迭代次數(shù)為8 192次. 本文也在8 192次迭代下也運行分割算法,時間花費仍只需要3~4 s.實驗結(jié)果證明了量子計算機(jī)計算能力的優(yōu)越性. 根據(jù)第4節(jié)中的內(nèi)容,本文對坍塌后量子序列進(jìn)行后處理以實現(xiàn)量子序列的可視化.圖8顯示了兩組2×2大小量子圖像經(jīng)過不同閾值的量子圖像分割運算后的結(jié)果. 同時,我們還對4×4大小圖像在IBM量子實驗平臺上實現(xiàn)了量子閾值分割操作.分割結(jié)果如圖9所示.當(dāng)?shù)螖?shù)為32次時, 4×4大小量子圖像閾值分割在經(jīng)典計算機(jī)模擬中花費了963.81 s時間,相對于表1所示2×2大小量子圖像在32次迭代情況下所花費的208 s時間,說明了在經(jīng)典計算機(jī)實現(xiàn)量子算法的模擬過程,隨著量子位數(shù)的增加,時間花費也將大量增加. 理論上,隨著量子算法的量子比特數(shù)量的增加,經(jīng)典計算機(jī)仿真所需內(nèi)存和時間花費將呈指數(shù)增長.因此在經(jīng)典的計算機(jī)模擬環(huán)境下,限制大規(guī)模量子圖像處理存在兩個主要問題:一個是內(nèi)存,另一個是時間花費.雖然經(jīng)典計算機(jī)下的仿真實驗受到諸多因素的限制,不能輕易完成量子圖像算法的研究工作.但本文將低量子比特量子圖像算法在IBM Q平臺上得到充分論證,為量子圖像研究的進(jìn)一步發(fā)展提供了新的方向.目前,IBM量子實驗室已提供高達(dá)30位的量子云模擬器.與經(jīng)典計算機(jī)環(huán)境下的仿真過程相比,它具有更短的時間和更快的速度.然而,由于商業(yè)化的局限性和許多其他因素,無法在云模擬器上模擬更大規(guī)模量子圖像處理算法. 基于NEQR量子圖像表達(dá)式,提出了IEQR量子圖像表達(dá)式.通過可編程量子計算機(jī)和量子編程語言實現(xiàn)了從經(jīng)典數(shù)字圖像到量子圖像的轉(zhuǎn)換,在IBM Q平臺上實現(xiàn)了2×2和4×4大小量子圖像在不同閾值下的圖像分割,證明了在IBM Q平臺上處理量子圖像算法的可行性,也驗證了閾值分割電路的正確性.最后用概率圖的形式證明了在IBM Q Experience和經(jīng)典計算機(jī)模擬器兩種實驗平臺下結(jié)果的一致性,同時給出了兩種平臺下不同迭代次數(shù)的運行時間,驗證了量子計算機(jī)計算能力的優(yōu)越性.本文在IBM Q上實現(xiàn)了量子圖像的閾值分割,為IBM量子實驗平臺中更多的量子圖像處理奠定了基礎(chǔ).未來的工作將集中在如何使用量子糾纏理論來加速量子圖像處理的過程以及如何在量子圖像中實現(xiàn)多目標(biāo)檢索功能.4 分割后量子圖像的顯示
5 IBM Q仿真實驗及分析
5.1 坍塌后的量子序列
5.2 運行時間比較
5.3 量子閾值分割結(jié)果圖
6 結(jié) 論