-
摘要: 面向机载LiDAR数据的道路提取算法的常用数据结构存在局限: 2D格网及TIN表达多次回波数据时存在的信息损失会影响提取结果的完整性且提取结果为2D形式; 点云的空间结构及拓扑信息难以利用, 由此导致算法设计的困难.为此, 提出了一种基于灰度体元模型的3D道路提取算法.算法首先将LiDAR数据规则化为灰度体元模型(灰度为体元内LiDAR点的平均强度值的量化表示); 然后选取道路种子体元进而搜寻并标记种子及其3D连通区域为道路体元; 最后利用数学形态学优化提取结果.基于ISPRS提供的包含不同复杂程度的城区路网LiDAR数据测试"邻域尺度"和"灰度差阈值"参数的敏感性及提出的算法的精度.实验结果表明: 56邻域为最佳邻域尺度、2为最佳灰度差阈值; 道路提取的平均质量、完整度及正确率分别为70%、86.77%及81.13%;对相对平坦的单层路网及起伏较大的复杂路网均可成功提取.Abstract: 2D grid, TIN and point cloud, which are the commonly used methods to represent LiDAR data for road extraction, have defects, for example, it is difficult for 2D grid and TIN to represent multiple return LiDAR data and thus influences the integrity of grid and TIN-based road extraction results and their extraction results are 2D, it is difficult for point cloud to use its topological and adjacent information and thus leads to the difficulty in the design of point-based road extraction algorithm. To overcome these restrictions, a grayscale voxel model (GVM) based 3D road extraction algorithm is presented. LiDAR data are regularized into GVM in which the grayscale of a voxel corresponds to the quantized mean intensity of the LIDAR points within the voxel. Road seed voxels are selected and then seeds and their 3D connected regions are labeled as road voxels. The extracted road result is optimized using mathematical morphology. ISPRS urban LiDAR datasets, which are representative of road networks of different complexities, are used to analyze the sensitivity of "adjacency size" and "intensity difference threshold" parameters and assess the accuracy of the proposed algorithm quantitatively. The experiment results indicate that: 1) 56-adjacency is the optimal adjacency size and 2 is the optimal intensity difference threshold; 2) The average quality, completeness and correctness of road extraction were 70%, 86.77% and 81.13%, respectively; 3) Roads in the relatively flat single layer road network and the undulating complex road network can both be successfully extracted.
-
Key words:
- LiDAR /
- road extraction /
- grayscale voxel model /
- intensity /
- 3D
-
线性卷积是科学工程上的重要工具, 在图像处理中发挥了重要作用, 例如基于均值滤波器和高斯滤波器实现图像平滑[1], 基于拉普拉斯算子实现图像锐化[1], 基于索伯梯度算子实现图像边缘检测, 使用基于对称式扩充卷积的残差网络进行图像去噪[2]. 对于
$ M\times M $ 图像和$ N\times N $ 滤波器, 其卷积操作的时间复杂度是${\rm{O}}({M}^{2}{N}^{2})$ . 虽然经典计算能求出线性卷积结果, 但是在处理海量高分辨率图像时, 求解线性卷积会消耗大量计算资源. 量子计算为解决该问题提供了一种新的解决方案.量子力学的量子叠加和量子纠缠特性使得量子计算在处理某些特定问题上具有显著的速度优势, 例如大数因子分解算法(Shor算法)[3], 数据库搜索算法(Grover算法)[4], 线性方程求解算法(HHL算法)[5], 粗糙集核属性求解算法[6], 映射量子模型[7], 孪生支持向量机[8]和量子主成分分析[9-10]. 目前关于量子线性卷积的研究集中在量子一维卷积(Quantum one-dimensional convolution, QOC)和量子二维卷积(Quantum two-dimensional convolution, QTC). Lomont[11]证明, 如果使用振幅编码将两个一维序列制备成两个量子态, 那么在允许使用线性算子(酉算子和测量算子)和辅助量子比特的情况下, 基于量子力学不能计算它们的量子循环卷积
$ \left|c\right\rangle\otimes \left|g\right\rangle $ , 其中$ \left| c \right\rangle $ 表示卷积结果,$ \left| g \right\rangle $ 表示垃圾项. 闫茜茜等[12]提出量子一维窄卷积, 首先使用振幅编码信息, 利用量子态张量积性质获取振幅的乘积, 接着使用置换矩阵实现振幅的置换, 然后使用哈达玛门(Hadamard, H)量子门进行加法计算, 最终获得量子态$ \left|c\right\rangle\otimes \left|0\right\rangle + \left|g\right\rangle\otimes {\left|0\right\rangle}^{\perp } $ ,$ \left| c \right\rangle $ 是卷积结果.随后闫茜茜等[13]又提出量子二维窄卷积, 其实现过程同量子一维窄卷积相似. 另外, 量子图像滤波[14-17]和量子图像边缘检测[18-29]等算法使用量子算术计算线性卷积. 虽然上面三种方案都可以实现量子线性卷积, 但各有不足. 闫茜茜等提出的量子一维和二维线性卷积方法不适用于求解量子线性宽卷积和量子线性等宽卷积, 量子图像滤波和量子图像边缘检测中的量子二维线性卷积算法需要消耗大量的量子比特资源.本文研究内容包括量子线性卷积的实现和应用两方面. 首先提出单通道, 单位步长, 零补充情况的量子一维宽卷积(Quantum one-dimensional wide convolution, QOWC), 量子一维等宽卷积(Quantum one-dimensional equal-width convolution, QOEC), 量子一维窄卷积(Quantum one-dimensional narrow convolution, QONC), 量子二维宽卷积(Quantum two-dimensional wide convolution, QTWC), 量子二维等宽卷积(Quantum two-dimensional equal-width convolution, QTEC), 量子二维窄卷积(Quantum two-dimensional narrow convolution, QTNC). 然后实现多通道, 非单位步长, 非零补充情况的QOWC, 同样适用于QOEC, QONC, QTWC, QTEC, QTNC. 最后基于量子二维线性卷积实现量子图像平滑(Quantum image smoothing, QISM), 量子图像锐化(Quantum image sharpening, QISH)和量子图像边缘检测(Quantum image edge detection, QIED)算法, 并在Qiskit上进行仿真实验. 理论分析证明了在时间和资源消耗方面量子线性卷积相比于经典线性卷积呈指数下降.
本文后续部分组织结构如下. 第1节介绍线性卷积和量子计算的相关知识. 第2节实现QOWC, QOEC, QONC, QTWC, QTEC, QTNC. 第3节实现QTC在QISM, QISH和QIED上的应用. 第4节总结和展望. 附录A给出置换电路的优化方法. 附录B给出量子态制备方法.
1. 预备知识及符号说明
1.1 线性卷积
为避免因读者研究背景不同导致的对相关术语理解存在部分歧义的问题, 本文将在此节中对相关学术名词及符号做合理规范, 读者的阅读请务必参考此规范开展. 根据维度
$ d $ , 补充$ p $ , 步长$ s $ , 通道数$ c $ 参数的不同, 线性卷积存在多种变体. 本节重点介绍单通道, 零补充, 单位步长的一维, 二维线性卷积. 在单通道, 单位步长, 零补充情况下, 线性卷积根据补零的数量又可以划分成宽线性卷积(宽卷积), 等宽线性卷积(等宽卷积)和窄线性卷积(窄卷积).1.1.1 一维线性卷积
令输入序列
$\boldsymbol{X}=\left[{x}_{0}, {x}_{1}, \cdots, {x}_{M-1}\right]$ , 卷积核$\boldsymbol{Y}= [{y}_{0}, {y}_{1}, \cdots, {y}_{N-1}]$ ,$ M > N $ . 当$ M < N $ , 则将$ \boldsymbol{Y} $ 作为输入序列,$ \boldsymbol{X} $ 作为卷积核.一维宽卷积结果是
${\boldsymbol{Z}}_{\rm{w}}=\left[{z}_{0}, {z}_{1}, \cdots, {z}_{M + N-2}\right]$ , 满足$ z\left(i\right)=\sum _{j=0}^{M-1}{x}_{j}{y}_{i-j} ,$ $ i=0, 1, \cdots ,M + N-2 .$ 展开成矩阵形式可以写成${\boldsymbol{U}}_{\rm{w}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{w}}^{\rm{T}}$ ,$$ \left[ \begin{matrix} {{y}_{0}} & 0 & \cdots & 0 \\ {{y}_{1}} & {{y}_{0}} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ {{y}_{M-1}} & {{y}_{M-2}} & \cdots & {{y}_{0}} \\ \vdots & \vdots & \ddots & {{y}_{0}} \\ 0 & 0 & 0 & {{y}_{N-1}} \\ \end{matrix} \right]\left[ \begin{matrix} {{x}_{0}} \\ {{x}_{1}} \\ \vdots \\ {{x}_{M-1}} \\ \end{matrix} \right]=\left[ \begin{matrix} {{z}_{0}} \\ {{z}_{1}} \\ \vdots \\ {{z}_{M-1}} \\ \vdots \\ {{z}_{M + N-2}} \\ \end{matrix} \right] $$ (1) 其中
${\boldsymbol{U}}_{\rm{w}}\in {\mathbf{R}}^{(M + N-1)\times M}$ .一维等宽卷积结果是
${\boldsymbol{Z}}_{\rm{e}}=[{z}_{0},{z}_{1},\cdots, {z}_{M-1}]$ , 满足$ z\left(i\right)=\sum _{j=0}^{M-1}{x}_{j}{y}_{-j + i + (N-1)/2} $ ,$i=0, 1, \cdots , M-1$ . 展开成矩阵形式可以写成${\boldsymbol{U}}_{\rm{e}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{e}}^{\rm{T}}$ .一维窄卷积结果是
${\boldsymbol{Z}}_{\rm{n}}=[{z}_{0},{z}_{1},\cdots ,{z}_{M-N}]$ ,满足$z\left(i\right)=\sum _{j=0}^{M-1}{x}_{j}{y}_{-j + i + N-1},$ $ i=0, 1, \cdots ,M-N .$ 展开成矩阵形式可以写成${\boldsymbol{U}}_{\rm{n}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{n}}^{\rm{T}}.$ 1.1.2 二维线性卷积
二维卷积是一维卷积的扩展, 可以看成是在行和列上分别做一维卷积. 在不影响上下文理解的情况下, 我们使用与一维卷积相同的变量表示物理含义. 令输入序列
$ \boldsymbol{X}={\left[{x}_{{i}_{1},{i}_{2}}\right]}_{M\times M} $ , 卷积核$\boldsymbol{Y}= {\left[{y}_{{j}_{1},{j}_{2}}\right]}_{N\times N}$ ,$ M > N $ . 当$ M < N $ 时, 将$ \boldsymbol{Y} $ 作为输入序列,$ \boldsymbol{X} $ 作为卷积核即可.二维宽卷积结果
${\boldsymbol{Z}}_{\rm{w}}={\left[{z}_{{k}_{1},{k}_{2}}\right]}_{\left(M + N-1\right)\times (M + N-1)}$ 满足$ {z}_{{k}_{1},{k}_{2}}=\sum _{{i}_{1}=0}^{M-1}\sum _{{i}_{2}=0}^{M-1}{x}_{{i}_{1},{i}_{2}}{y}_{{k}_{1}-{i}_{1},{k}_{2}-{i}_{2}} $ , 展开成矩阵形式是${\boldsymbol{U}}_{\rm{w}}{\boldsymbol{X}}={{\boldsymbol{Z}}_{\rm{w}}}$ ,${\boldsymbol{X}}$ 和${{\boldsymbol{Z}}_{\rm{w}}}$ 分别是$ \boldsymbol{X} $ 和${\boldsymbol{Z}}_{\rm{w}}$ 的行向量化(矩阵按行展开成向量形式), 即$$ \begin{split} &\left[\begin{array}{cccc}{y}_{\mathrm{0,0}}& 0& \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0& 0& \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0& 0& \cdots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0& 0& \cdots & {y}_{N-1,N-1}\end{array}\right]\left[\begin{array}{c}{x}_{\mathrm{0,0}}\\ {x}_{\mathrm{0,1}}\\ \vdots \\ {x}_{M-1,M-1}\end{array}\right]=\\ &\qquad\left[\begin{array}{c}{z}_{\mathrm{0,0}}\\ \vdots \\ {z}_{0,M + N-2}\\ \vdots \\ {z}_{M + N-\mathrm{2,0}}\\ \vdots \\ {z}_{M + N-2,M + N-2}\end{array}\right]\\[-50pt]\end{split} $$ (2) 二维等宽卷积结果是
${\boldsymbol{Z}}_{\rm{e}}={\left[{z}_{{k}_{1},{k}_{2}}\right]}_{M\times M}$ 满足${z}_{{k}_{1},{k}_{2}}=\sum _{{i}_{1}=0}^{M-1}\sum _{{i}_{2}=0}^{M-1}{x}_{{i}_{1},{i}_{2}}{y}_{{k}_{1}-{i}_{1} + (N-1)/2,{k}_{2}-{i}_{2} + (N-1)/2} ,$ 展开成矩阵形式是${\boldsymbol{U}}_{\rm{e}}{\boldsymbol{X}}={{\boldsymbol{Z}}_{\rm{e}}}$ .二维窄卷积结果是
${\boldsymbol{Z}}_{\rm{n}}={[{z}_{{k}_{1},{k}_{2}}]}_{(M-N + 1)\times (M-N + 1)}$ 满足${z}_{{k}_{1},{k}_{2}}=\sum _{{i}_{1}=0}^{M-1}\sum _{{i}_{2}=0}^{M-1}{x}_{{i}_{1},{i}_{2}}{y}_{{k}_{1}-{i}_{1} + N-1,{k}_{2}-{i}_{2} + N-1},$ 展开成矩阵形式是${\boldsymbol{U}}_{\rm{n}}{\boldsymbol{X}}={{\boldsymbol{Z}}_{\rm{n}}}.$ 1.2 量子计算
量子计算模型有很多, 例如量子电路模型, 量子绝热计算, 量子图灵机, 拓扑量子计算等[30], 这些量子计算模型是等价的. 本文采用量子电路模型, 其模型易理解且接受范围最广. 量子比特用于存储信息, 它除了可以表示
$ \left| 0 \right\rangle $ ,$ \left| 1 \right\rangle $ , 还可以是$ \left| 0 \right\rangle $ 和$ \left| 1 \right\rangle $ 的叠加态. 常用的基础门有单量子比特门X, Y, Z, H, S, T和双量子比特门受控非门(Controlled-not gate, CNOT). 这些基础门之间存在等价性关系, 例如XZX = −Z. 任意一种酉操作能以任意精度分解成一系列基础门. 利用这些等价关系和分解方法可以简化复杂的量子电路[31]. 量子测量是不可逆的过程, 它会引发量子态坍缩, 通过量子态层析, 量子过程层析, 量子压缩感知等技术可以重构出量子态和量子操作的相关信息[31-32]. 本文使用时间复杂度和空间复杂度来衡量量子电路的性能. 下面给出几种后续行文必需的量子操作:引理 1. (量子随机存取存储器(Quantum random access memory, QRAM)[33-36]) 量子随机存取存储器可以以相干量子叠加形式执行内存访问. 如果量子计算机需要访问一个叠加的存储单元, 地址寄存器
$ a $ 必须包含一个地址的叠加$ \sum _{j}{\psi }_{j}{\left|j\right\rangle}_{a}\left| 0 \right\rangle $ , 量子随机存取存储器将在${\rm{O}}\left(\mathrm{log}(MN)\right)$ 时间内, 返回数据寄存器$ d $ 中与地址寄存器相关的数据的叠加$ \sum _{j}{\psi }_{j}{\left|j\right\rangle}_{a}{\left|{D}_{j}\right\rangle}_{d} $ .引理 2. (量子振幅放大(Quantum amplitude amplification, QAA)[37]) 设
$ U $ 是酉操作,$ a $ 是期望量子态的振幅. 令$ a > 0 $ ,$ m=\left\lfloor {\pi /4{\theta }_{a}} \right\rfloor $ , 其中$ {\theta }_{a} $ 满足$ {\mathrm{sin}}^{2}\left({\theta }_{a}\right)=a $ ,$ 0 < {\theta }_{a}\le \pi /2 $ . 如果在量子系统中执行酉操作$ {Q}^{m}U\left| 0 \right\rangle $ 并测量它, 那么测量结果是期望量子态的概率至少是$ \mathrm{m}\mathrm{a}\mathrm{x}(1-a,a) $ .引理 3. (实数量子模拟数字转换器(Real quantum analog-to-digital conversion, Real QADC)[38]) 设
${{\tilde{r}}_{j}} $ 是一串$ m $ 比特数字$ {{\tilde{r}}_{j}}^{\left(1\right)}, \cdots ,{{\tilde{r}}_{j}}^{\left(m\right)} $ , 写成$ \sum _{k=1}^{m}{{\tilde{r}}_{j}}^{\left(k\right)}{2}^{-k} $ , 它近似于$ {c}_{j} $ 的实数部分. 一个$ m $ 比特实数量子模拟数字转换器可以将模拟量子态$\sum _{j=1}^{N}{c}_{j}|j\rangle{|0\rangle}^{\otimes m}$ 转化成数字量子态$\frac{1}{\sqrt{N}}\sum _{j=1}^{N}| j \rangle| {{{\tilde{r}}}_{j}} \rangle$ . 该转换器需要使用${\rm{O}}(1/\varepsilon )$ 受控$ {U}_{A} $ 操作和${\rm{O}}(({\mathrm{log}}^{2}N)/\varepsilon )$ 个单、双量子比特门, 并以$1-{\rm{O}}(poly(\varepsilon ))$ 的保真度输出结果, 其中$ \varepsilon $ 表示输出精度.2. 量子线性卷积算法
本节研究单通道, 单位步长, 零补充情况下的量子一维和二维线性卷积, 包括宽卷积, 等宽卷积和窄卷积. 第2.1节实现了量子一维宽线性卷积, 分析了它的时间复杂度和空间复杂度, 并将其扩展到量子一维等宽卷积, 量子一维窄卷积. 第2.2节实现了量子二维宽线性卷积, 分析了它的时间复杂度和空间复杂度, 并将其扩展到量子二维等宽卷积, 量子二维窄卷积. 我们在第2.3节讨论了多通道, 非单位步长, 非零补充的情况.
2.1 量子一维线性卷积
如式(1)所示, 一维宽卷积计算过程可以写成矩阵形式
${\boldsymbol{U}}_{\rm{w}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{w}}^{\rm{T}}$ , 其中${\boldsymbol{U}}_{\rm{w}}\in {\mathbf{R}}^{\left(M + N-1\right)\times M}$ 是一般矩阵. 为了能使量子计算加速求解计算过程, 需要对输入序列和卷积核变换. 在行向量${\boldsymbol{X}}$ 的前端补$ N-1 $ 个零, 后端补$N-1 + {L}_{{\rm{t}}}-{{{L}}}_{{\rm{w}}}$ 个零构造出行向量${\boldsymbol{X}}_{\rm{w}}$ :$$ \begin{array}{c}{\boldsymbol{X}}_{\rm{w}}=\left[\underbrace{0,\cdots, 0}_{N-1},\underbrace{{{x}_{0}},{{x}_{1}},\cdots, {{x}_{M-1}}}_{M},\underbrace{0,\cdots, 0}_{N-1},\underbrace{0,\cdots, 0}_{{{L}_{{\rm{t}}}}-{{L}_{{\rm{w}}}}}\right]\end{array} $$ (3) 其中
${L}_{{\rm{w}}}=M + 2N-2$ ,${L_{\rm{t}}} = {2^{\left\lceil {\log {L_{\rm{w}}}} \right\rceil }}$ . 令$$ \begin{array}{c}{\boldsymbol{R}}_{{\text{0}}}=\left[{y}_{N-1},{y}_{N-2},{y}_{N-3},\cdots ,0 ,0\right] \end{array} $$ (4) 把
$ {\boldsymbol{R}}_{{\text{0}}} $ 作为首行向量构造出一个$ {L}_{{\rm{t}}}\times {L}_{{\rm{t}}} $ 的循环矩阵$ {\widehat{\boldsymbol{U}}}_{\rm{w}} $ :$$ \begin{matrix} \left[ \begin{matrix} \overbrace{{{y}_{N-1}}\cdots {{y}_{1}}}^{N-1} & \overbrace{{{y}_{0}}0\cdots \ 0}^{M} & \overbrace{0\cdots 0}^{N-1} & \overbrace{0\ \cdots 0}^{{{L}_{{\rm{t}}}}-{{L}_{{\rm{w}}}}} \\ \vdots & \vdots & \vdots & \vdots \\ 0\cdots {{y}_{N-1}} & {{y}_{N-2}}{{y}_{N-3}}\cdots 0 & 0\cdots 0 & 0\cdots 0 \\ 0\cdots 0 & {{y}_{N-1}}{{y}_{N-2}}\cdots 0 & 0\cdots 0 & 0\cdots 0 \\ 0\cdots 0 & 0{{y}_{N-1}}\cdots 0 & 0\cdots 0 & 0\cdots 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0\cdots 0 & 0\ 0\cdots {{y}_{N-1}} & {{y}_{N-2}}\cdots {{y}_{0}} & 0\cdots 0 \\ 0\cdots 0 & 0\ 0\cdots 0 & {{y}_{N-1}}\cdots {{y}_{1}} & {{y}_{0}}\cdots 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0\cdots 0 & 0\ 0\cdots 0 & 0\cdots 0 & {{y}_{N-1}}\cdots 0 \\ \vdots & \vdots & \vdots & \vdots \\ {{y}_{N-2}}\cdots {{y}_{2}} & {{y}_{1}}0\cdots 0 & 0\cdots 0 & 0\cdots {{y}_{N-1}} \\ \end{matrix} \right] \\ \end{matrix} $$ (5) 根据循环矩阵的性质, 矩阵
$ {\widehat{\boldsymbol{U}}}_{\rm{w}} $ 可以简写成:$$\begin{split} {\widehat{\boldsymbol{U}}}_{\rm{w}}=\;&{y}_{N-1}*\boldsymbol{I} + {y}_{N-2}*{\boldsymbol{P}}^{{L}_{{\rm{t}}}-1} + \cdots + {y}_{0}*{\boldsymbol{P}}^{{L}_{{\rm{t}}}-N + 1}=\\ &{y}_{N-1}*\boldsymbol{I} + {y}_{N-2}*{\boldsymbol{P}}^{\dagger} + \cdots + {y}_{0}*{\left({\boldsymbol{P}}^{\dagger}\right)}^{N-1}=\\ &\sum \limits_{i=0}^{N-1}{y}_{N-1-i}{\left({\boldsymbol{P}}^{\dagger}\right)}^{i}\\[-15pt] \end{split}$$ (6) 当
$ i > N $ 时,$ {y}_{N-1-i}=0 $ ,$\boldsymbol{P}\in {\mathbf{R}}^{{L}_{{\rm{t}}}\times {L}_{{\rm{t}}}}$ 是一个置换矩阵, 矩阵形式是:$$ \begin{array}{c}{\boldsymbol{P }}=\left[\begin{array}{ccccc}0& 0& \cdots & 0& 1\\ 1& 0& \cdots & 0& 0\\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0& 0& \cdots & 1& 0\end{array}\right] \end{array} $$ (7) $ {\boldsymbol{P}}^{\dagger} $ 是它的共轭转置矩阵. 那么一维宽卷积计算过程可以改写成${\widehat{\boldsymbol{U}}}_{\rm{w}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{w}}^{\rm{T}}$ , 其中$$ {{\boldsymbol{Z}}_{\rm{w}}}=\left[ \underbrace{{{z}_{0}},{{z}_{1}},\cdots, {{z}_{M+N-2}}}_{M+N-1},\underbrace{0,\cdots, 0}_{{{L}_{{\rm{t}}}}-M-N+1} \right] $$ (8) 行向量
${\boldsymbol{Z}}_{\rm{w}}$ 的前$ M + N-1 $ 个元素是所求的宽卷积结果, 后${L}_{{\rm{t}}}-M-N + 1$ 个元素都是0, 本文中称之为垃圾元素. 将修改后的输入序列${\boldsymbol{X}}_{\rm{w}}$ 与首行向量$ {\boldsymbol{R}}_{{{0}}} $ 存储到量子随机存取存储器中.循环矩阵
${\widehat{\boldsymbol{U}}}_{\rm{w}}$ 可以写成置换矩阵的线性组合(见式(6)), 基于该性质, 我们使用线性酉组合方法(Linear combination of unitaries, LCU)[39]来求解${\widehat{\boldsymbol{U}}}_{\rm{w}}{\boldsymbol{X}}_{\rm{w}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{w}}^{\rm{T}}$ . 图1(a)给出了量子电路实现过程, 需要注意的是, 图中上面的量子比特是低位, 下面的量子比特表示高位. 量子算法具体描述如下: 首先初始化两个量子寄存器$Q{R}_{1}\;\otimes\; Q{R}_{0}= {\left|0\right.\rangle}^{\otimes \left\lceil\mathrm{log}N\right\rceil}\otimes {\left|0\right\rangle}^{\otimes \mathrm{log}{L}_{{\rm{t}}}}$ . 接着, 令$ {\xi }_{1}=\sum _{i=0}^{N-1}\left|{y}_{N-1-i}\right| $ ,$\left\| {{\boldsymbol{X}}}_{\rm{w}} \right\|=\sum _{j=0}^{{L}_{{\rm{t}}}-1}{X}_{{\rm{w}},j}^{2}$ , 两个酉操作$ {\cal{O}}_{0} $ 和$ {\cal{O}}_{1} $ 分别表示通过量子随机存取存储器将经典数据$ {\boldsymbol{X}}_{\rm{w}} $ 和$ \boldsymbol{Y} $ 映射到量子态中:$$\begin{split} &{\cal{O}}_{0}:{\left|0\right\rangle}^{\otimes \mathrm{log}{L}_{{\rm{t}}}}\mapsto \left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle=\frac{1}{\sqrt{\left\| {{{\boldsymbol{X}}_{\rm{w}}}} \right\|}}\sum \limits_{j=0}^{{L}_{{\rm{t}}}-1}{{\boldsymbol{X}}}_{{\rm{w}},j}\left|j\right\rangle \\ &{\cal{O}}_{1}:{\left|0\right\rangle}^{\otimes \left\lceil\mathrm{log}N\right\rceil}\mapsto \left|{\stackrel{~}{{\boldsymbol{R}}}}_{0}\right\rangle=\frac{1}{\sqrt{{\xi }_{1}}}\sum \limits_{i=0}^{N-1}\sqrt{\left|{y}_{N-1-i}\right|}\left|i\right\rangle \end{split}$$ (9) 在
$ Q{R}_{1}\otimes Q{R}_{0} $ 上分别执行酉操作$ {\cal{O}}_{1}\otimes {\cal{O}}_{0} $ :$$ \frac{1}{\sqrt{{\xi }_{1}}}\sum \limits_{i=0}^{N-1}\sqrt{\left|{y}_{N-1-i}\right|}\left|i\right\rangle\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle $$ (10) 设
${{\rm{e}}}^{\iota {\theta }_{i}}={y}_{N-1-i}/\left|{y}_{N-1-i}\right|$ 表示${\boldsymbol{R}}_{{\text{0}}}$ 中每个元素的符号位信息, 在$ Q{R}_{1} $ 上执行受控相位操作($ CP $ ):$$ \frac{1}{\sqrt{{\xi }_{1}}}\sum \limits_{i=0}^{{L}_{{\rm{t}}}-1}{e}^{\iota {\theta }_{i}}\sqrt{\left|{y}_{N-1-i}\right|}\left|i\right\rangle\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle $$ (11) 执行受控置换操作
$ {\left({P}^{\dagger}\right)}^{i} $ , 其量子电路详见附录A:$$ \frac{1}{\sqrt{{\xi }_{1}}}\sum \limits_{i=0}^{{L}_{{\rm{t}}}-1}{{\rm{e}}}^{\iota {\theta }_{i}}\sqrt{\left|{y}_{N-1-i}\right|}\left|i\right\rangle{\left({P}^{\dagger}\right)}^{i}\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle $$ (12) 最后执行逆操作
$ {\cal{O}}_{1}^{\dagger} $ :$$\begin{split} &\frac{1}{{\xi }_{1}}\left|0\right\rangle\sum \limits_{i=0}^{{L}_{{\rm{t}}}-1}{{\rm{e}}}^{\iota {\theta }_{i}}\left|{y}_{N-1-i}\right|{P}^{{L}_{{\rm{t}}}-i}\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle + \left|\perp \right\rangle=\\ &\qquad\frac{1}{{\xi }_{1}}\left|0\right\rangle{{\boldsymbol{U}}}_{{\rm{w}}}\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle + \left|\perp \right\rangle=\\ &\qquad\frac{1}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}\left|0\right\rangle{{\boldsymbol{Z}}}_{{\rm{w}}} + \left|\perp \right\rangle\begin{array}{c}\end{array} \end{split}$$ (13) 其中子空间
$ \left| \perp \right\rangle $ 正交于子空间$\dfrac{1}{{\xi }_{1}}\left|0\right\rangle\sum _{i=0}^{{L}_{{\rm{t}}}-1}{{\boldsymbol{U}}}_{{\rm{w}}}\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle$ , 满足$\left({\left| 0 \right\rangle \left\langle 0 \right|}\otimes {\boldsymbol{I}}\right)\left|\perp \right\rangle=0$ .使用测量算子
$\left({\left|0\right\rangle}^{\otimes \left\lceil\mathrm{log}N\right\rceil}{\left.\langle0\right|}^{\otimes \left\lceil\mathrm{log}N\right\rceil}\right)\otimes {\boldsymbol{I}}$ 对量子系统进行测量, 当量子寄存器$ Q{R}_{1} $ 测量结果是$ {\left|0\right\rangle}^{\otimes \left\lceil\mathrm{log}N\right\rceil} $ 时, 那么量子寄存器$ Q{R}_{0} $ 存储的量子态是${{\boldsymbol{Z}}}_{{\rm{w}}}/{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|$ , 它与期望的卷积结果${{\boldsymbol{Z}}}_{{\rm{w}}}$ 成正比例关系. 由式(13)可得量子寄存器$ Q{R}_{1} $ 中测量得到$ {\left|0\right\rangle}^{\left\lceil\mathrm{log}N\right\rceil} $ 的概率是${\left\| {{\boldsymbol{U}}}_{{\rm{w}}}\left|{{\boldsymbol{X}}}_{{\rm{w}}}\right\rangle \right\|}^{2}/{\xi }_{1}^{2}$ , 可以看出概率依赖于卷积核元素和输入序列元素, 与卷积核元素绝对值的和成反比, 与输入序列的范数成正比. 为提高量子寄存器$ Q{R}_{1} $ 是0的结果, 可使用振幅放大算法(QAA).基于量子一维宽卷积的实现框架, 有两种不同的方法可以实现量子一维等宽卷积和量子一维窄卷积. 第一种方法是在量子一维宽卷积的量子电路上再增加若干个置换操作, 对于量子一维等宽卷积而言, 额外增加
$ \left\lfloor {N} \right\rfloor $ 个$ {P}^{\dagger} $ 操作(图1(b)所示), 对于量子一维窄卷积而言, 额外增加$ N-1 $ 个$ {P}^{\dagger} $ 操作(图1(c)所示). 第二种方法是仿照量子一维宽卷积算法, 对于量子一维等宽卷积, 重新制备${\boldsymbol{X}}_{\rm{e}}$ 和${\widehat{\boldsymbol{U}}}_{\rm{e}}$ , 对于量子一维窄卷积, 重新制备${\boldsymbol{X}}_{\rm{n}}$ 和${\widehat{\boldsymbol{U}}}_{\rm{n}}$ , 使用它们替代${\boldsymbol{X}}_{\rm{w}}$ 和${\widehat{\boldsymbol{U}}}_{\rm{w}}$ . 方法一是基于量子一维宽卷积, 会保留一些垃圾元素, 而方法二不会保留垃圾元素.通常输入序列的尺寸
$ M $ 和卷积核的尺寸$ N $ 满足$ M\gg N $ . 量子一维线性卷积算法的空间复杂度是${\rm{O}}\left(\mathrm{log}M\right)$ . 由于酉操作$ {\cal{O}}_{0} $ 和$ {\cal{O}}_{1} $ 的时间复杂度分别是${\rm{O}}\left(\mathrm{log}M\right)$ 和${\rm{O}}\left(\mathrm{log}N\right)$ , 受控相位$ CP $ 操作的时间复杂度是${\rm{O}}\left(\mathrm{log}N\right)$ , 受控置换操作的时间复杂度是${\rm{O}}\left({\mathrm{log}}^{2}M\right)$ , 逆操作$ {\cal{O}}_{1}^{\dagger} $ 的时间复杂度是${\rm{O}}\left(\mathrm{log}N\right)$ , 故量子一维线性卷积算法的时间复杂度是${\rm{O}}\left({\mathrm{log}}^{2}M\right)$ .相对于经典卷积时间复杂度
${\rm{O}}\left(M\right)$ , 量子一维线性卷积算法实现了指数加速. 文献[12]从卷积定义角度出发, 首先以卷积核长度向输入序列截取对应长度进行内积计算, 之后保持输入序列不变, 卷积核进行一步移位操作, 直到短向量最后一个元素与输入序列最后一个元素对齐并计算其内积, 最终得到量子一维窄卷积结果. 它的时间复杂度是${\rm{ O}}\left({\mathrm{log}}^{2}M\right)$ , 但算法无法扩展到量子一维宽卷积和等宽卷积. 而本文从线性代数的角度出发, 首先给出了量子一维宽卷积算法, 并且可以很容易地将其推广到量子一维等宽卷积和量子一维窄卷积上.2.2 量子二维线性卷积
如式(2)所示, 二维宽卷积可以写成矩阵形式
${\boldsymbol{U}}_{\rm{w}}{\boldsymbol{X}}={{\boldsymbol{Z}}}_{\rm{w}}$ , 其中${\boldsymbol{U}}_{\rm{w}}$ 是一般矩阵, 为了使量子计算能够求解该线性方程组, 我们需要重新调整该数据结构形式. 在矩阵${\boldsymbol{X}}$ 四周进行补0操作得到矩阵$ \widehat{\boldsymbol{X}} $ , 然后将其向量化$$ \begin{array}{c}{\widehat{\boldsymbol{X}}}={\left[0,\cdots, {x}_{\mathrm{0,0}},{x}_{\mathrm{0,1}},\cdots, {x}_{M-1,M-1},\cdots ,0\right]}^{\mathrm{T}} \end{array} $$ (14) 令
$$ \begin{array}{c}{\boldsymbol{R}}_{{{0}}}=\left[{y}_{N-1,N-1},\cdots, {y}_{\mathrm{0,0}},0,\cdots, 0,\cdots, 0\right] \end{array} $$ (15) 其中前
$ {N}^{2} $ 个元素来自于卷积核${\boldsymbol{Y}}$ 行向量化, 把$ {\boldsymbol{R}}_{{{0}}} $ 作为首行向量, 构造循环矩阵$$ \left[\begin{array}{cccccccc}{y}_{N-1,N-1}& \cdots & {y}_{\mathrm{0,0}}& 0& \cdots & 0& \cdots & 0\\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ 0& \cdots & {y}_{N-1,N-1}& {y}_{N-1,N-2}& \cdots & 0& \cdots & 0\\ 0& \cdots & 0& {y}_{N-1,N-1}& \cdots & 0& \cdots & 0\\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ 0& \cdots & 0& 0& \cdots & {y}_{N-1,N-1}& \cdots & 0\\ \vdots & \ddots & \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ {y}_{N-1,N-2}& \cdots & 0& 0& \cdots & 0& \cdots & {y}_{N-1,N-1}\end{array}\right]\begin{array}{c}\end{array} $$ (16) 其中,
${\widehat{\boldsymbol{X}}}\in {\mathbf{R}}^{{L}_{{\rm{t}}}^{2}}$ ,${\widehat{\boldsymbol{U}}}_{\rm{w}}\in {\mathbf{R}}^{{L}_{{\rm{t}}}^{2}\times {L}_{{\rm{t}}}^{2}}$ ,${L}_{{\rm{t}}}={2}^{\left\lceil\mathrm{log}(M + 2N-2)\right\rceil}$ . 于是二维宽卷积可以重新写成线性方程${\widehat{\boldsymbol{U}}}_{\rm{w}}{\widehat{\boldsymbol{X}}}= {{\widehat{\boldsymbol{Z}}}}_{\rm{w}}$ , 其中$$ \begin{split} {{\widehat{\boldsymbol{Z}}}}_{\rm{w}}=\;&[{z}_{\mathrm{0,0}},\cdots, {z}_{N-1,N-1},{z}_{N-1,N-2},\cdots,\\ & {z}_{M + N-2,M+N-2},\cdots, {z}_{{L}_{t},{L}_{t}}]^{\mathrm{T}}\end{split} $$ (17) 将
$ {\widehat{\boldsymbol{X}}} $ ,$ {\boldsymbol{R}}_{{{0}}} $ 相关信息存储到量子随机存取存储器.$ {\widehat{\boldsymbol{U}}}_{\rm{w}}{\widehat{\boldsymbol{X}}}={{\widehat{\boldsymbol{Z}}}}_{\rm{w}} $ 求解过程与量子一维线性卷积中的方法相似, 实现电路也是与图1(a)相似. 不同之处主要在于, 一方面, 图中酉操作$ {\cal{O}}_{0} $ 和$ {\cal{O}}_{1} $ 重新定义为$$\begin{split} &{\cal{O}}_{0}:{\left|0\right\rangle}^{\otimes 2\mathrm{log}{L}_{{\rm{t}}}}\mapsto \frac{1}{\sum\limits _{i}{\left|{{\widehat{X}}}_{i}\right|}^{2}}\sum \limits_{i=0}^{{L}_{t}^{2}-1}{{\widehat{X}}}_{i}\left|i\right\rangle\\ &{\cal{O}}_{1}:{\left|0\right\rangle}^{\otimes 2\lceil \mathrm{log}N\rceil }\mapsto \frac{1}{\sum\limits _{j}\left|{R}_{0,j}\right|}\sum \limits_{j=0}^{2\left\lceil\mathrm{log}N\right\rceil-1}\sqrt{{R}_{0,j}}\left|j\right\rangle \end{split}$$ (18) 其中
$ {{\widehat{X}}}_{i} $ 表示$ {\widehat{\boldsymbol{X}}} $ 的第$ i $ 个元素,$ {R}_{0,j} $ 表示向量$ {\boldsymbol{R}}_{{{0}}} $ 中第$ j $ 个元素. 另一方面, 图中受控相位操作和置换操作根据卷积核和输入序列的结构需要做出对应的调整.使用测量算子
$\left({\left|0\right\rangle}^{\otimes 2\left\lceil\mathrm{log}N\right\rceil}\left\langle 0 \right|^{\otimes 2\left\lceil\mathrm{log}N\right\rceil}\right)\otimes {\boldsymbol{I}}$ 对量子寄存器进行测量, 当$ Q{R}_{1} $ 测量结果是$ {\left|0\right\rangle}^{2\left\lceil\mathrm{log}N\right\rceil} $ 时,$ Q{R}_{0} $ 存储的量子态与我们想要获取的卷积结果${\boldsymbol{Z}}_{\rm{w}}$ 成正比. 为提高$ Q{R}_{1} $ 获取结果是0的概率, 可使用振幅放大算法(QAA).量子二维宽卷积的实现方法可以直接扩展到量子二维等宽卷积和量子二维窄卷积的量子实现上, 有两种不同的实现方法.第一种方法是重新制备
${{\widehat{\boldsymbol{X}}}}_{\rm{e}}$ 和${\widehat{\boldsymbol{U}}}_{\rm{e}}$ (${{\widehat{\boldsymbol X}}}_{\rm n}$ 和${\widehat{\boldsymbol{U}}}_{\rm{n}}$ )以替代${{\widehat{\boldsymbol{X}}}}_{\rm{w}}$ 和${\widehat{\boldsymbol{U}}}_{\rm{w}}$ . 第二种方法是基于量子二维宽卷积的量子电路, 分别在水平方向向左平移$ \left\lfloor {N} \right\rfloor $ ($ N-1 $ )次, 垂直方向向上平移$ \left\lfloor {N} \right\rfloor $ ($ N- 1 $ )次, 这种平移操作可以使用$ {P}^{\dagger} $ 操作来实现.通常输入序列的尺寸
$ M $ 和卷积核的尺寸$ N $ 满足$ M\gg N $ . 量子二维线性卷积的空间复杂度是${\rm{O}}\left(2\mathrm{log}M\right)$ , 时间复杂度是${\rm{O}}\left(4{\mathrm{log}}^{2}M\right)$ . 相对于经典二维线性卷积时间复杂度${\rm{O}}\left({M}^{2}\right)$ , 量子二维线性卷积展现了其指数加速的优势. 文献[13]给出了量子二维窄卷积算法, 输入序列的量子态与卷积核的量子态进行张量积计算, 使用两种置换操作共同完成量子卷积振幅置换, 对置换后的卷积核量子态的量子比特执行H门操作, 输入序列量子态的量子比特执行单位矩阵操作, 对卷积核量子态进行测量. 该算法的空间复杂度和时间复杂度与本文相同, 但其思考角度与本文不同, 且其实现不适用于量子二维宽卷积和量子二维等宽卷积.2.3 量子卷积算法讨论及扩展
上文介绍了单通道, 单位步长, 零填充情况下的量子一维宽卷积, 等宽卷积, 窄卷积, 量子二维宽卷积, 等宽卷积, 窄卷积的量子实现. 下面我们重点讨论量子一维宽卷积算法的实现和扩展, 其他几种量子卷积实现和扩展与它相似.
在没有对输入序列进行填充的情况下, 一维宽线性卷积可以写成线性方程
${\boldsymbol{U}}_{\rm{w}}{\boldsymbol{X}}^{\rm{T}}={\boldsymbol{Z}}_{\rm{w}}^{\rm{T}}$ 形式(见式(1)), 其中${\boldsymbol{U}}_{\rm{w}}\in {\mathbf{R}}^{(M + N-1)\times M}$ .有三种量子算法可以求解这样的线性方程. 第一种方法是使用类HHL算法[5,40], 首先将矩阵${\boldsymbol{U}}_{\rm{w}}$ 变成厄米矩阵$\widetilde {{{\boldsymbol{U}}_{\rm{w}}}}$ :$$ \begin{array}{c}\left[\begin{array}{cc}0& {\boldsymbol{U}}_{\rm{w}}\\ {\boldsymbol{U}}_{\rm{w}}^{\dagger}& 0\end{array}\right]\end{array} $$ (19) 然后对该厄米矩阵进行有效哈密顿模拟
${\mathrm{e}}^{-{\rm{i}}\widetilde {{U_{\rm{w}}}}t}$ , 最后使用类HHL算法的量子电路实现. 这种方法要求哈密顿量可以有效模拟, 且需要使用到量子相位估计算法. 第二种方法是使用交换测试(swap test)[41], 将矩阵$ {\boldsymbol{U}}_{\rm{w}} $ 的每一行与列向量$ {\boldsymbol{X}}^{\rm{T}} $ 做内积计算, 由于内积结果隐藏在概率中, 所以需要进行大量的量子测量. 文献[42]中给出了一种使用swap test的量子矩阵乘法算法, 但它同样需要用到量子相位估计算法. 第三种方法是基于线性酉组合方法(LCU). 虽然三种方法都可以实现量子计算求解, 但是前两种方法时间复杂度高且均以高昂的量子比特资源为代价. 因此本文使用第三种方法. 此外, 线性酉组合方法的实现有多种, 但是相对于其他LCU方法, 本文使用的LCU方法[39]构造简单, 易于实现, 且时间复杂度低, 所需量子比特数少.本文提出的量子一维宽线性卷积适用于扩展到多通道, 非单位步长, 非零补充的情况. 以三通道为例, 量子电路实现如图2(a)所示, 在量子一维宽卷积的量子电路的基础上, 额外再添加一个两量子比特的量子寄存器
$ Q{R}_{2} $ , 此时$ Q{R}_{0} $ 用于存储输入序列信息,$ Q{R}_{1} $ 用于存储卷积核信息,$ Q{R}_{2} $ 用于存储通道信息. 实现步骤如下, 首先应用两个H门在$ Q{R}_{2} $ , 接着根据通道信息在图像上使用不同的卷积核, 最后再在$ Q{R}_{2} $ 使用两个H门, 实现卷积结果融合. 以步长为2为例, 量子电路见图2(b)在量子一维宽卷积的量子电路基础上, 再增加一个置换矩阵:$$ \begin{array}{c}\left[\begin{array}{ccccccc}1& 0& 0& 0& \cdots & 0& 0\\ 0& 0& 1& 0& \cdots & 0& 0\\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0& 0& 0& 0& \cdots & 1& 0\\ 0& 1& 0& 0& \cdots & 0& 0\\ 0& 0& 0& 1& \cdots & 0& 0\\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0& 0& 0& 0& \cdots & 0& 1\end{array}\right] \end{array} $$ (20) 图A1(d)给出了
${\boldsymbol{\varGamma }}_{{{1}}}\in {\mathbf{R}}^{8\times 8}$ 时的量子电路. 以补充值是1为例, 此时式(3)改写成$$ {{\boldsymbol{X}}_{\rm{w}}} = \left[ {\underbrace {1, \cdots ,1}_{N - 1},\underbrace {{x_0},{x_1} ,\cdots, {x_{M - 1}}}_M,\underbrace {1 ,\cdots ,1}_{N - 1},\underbrace {0 ,\cdots, 0}_{{L_{\rm{t}}} - {L_{\rm{w}}}}} \right] $$ (21) 3. 量子卷积在图像处理中的应用
本节研究量子二维线性卷积在量子图像中的应用, 例如量子图像平滑, 量子图像锐化和量子图像边缘检测, 旨在验证量子卷积算法本身的正确性及基于量子卷积实现量子图像处理算法的可行性. 首先分别给出它们的量子算法, 然后在Qiskit[43]上使用QasmSimulator进行模拟, 最后将它们和已有的量子图像处理算法比较. 仿真平台的参数是操作系统Ubuntu 20.04.2 LTS 64位, 处理器CPU I9-10900X 10核20进程3.70 GHz, 内存是62.5 GB, Qiskit版本是0.26.2.
3.1 量子图像平滑
图像平滑常见操作有模糊处理和降噪处理, 通常用于图像预处理任务中. 模糊处理可在大目标之前去除图像中的一些琐碎细节, 连接直线或曲线的缝隙. 通过线性滤波和非线性滤波模糊处理, 可以降低噪声. 本节研究量子图像平滑, 其基本流程是首先编码量子图像和卷积核(见附录B), 接着使用量子二维线性卷积实现量子图像平滑.
以图3为例, 图3(a)是含有泊松噪声的实验图像
$ {{{I}}}_{{\rm{p}}} $ , 图3 (c)是含有高斯噪声(均值为0, 方差为0.01)的实验图像$ {{{I}}}_{{\rm{g}}} $ , 它们的尺寸是$ 60\times 60 $ . 图3 (b)是均值滤波器, 图3 (d)是高斯滤波器, 它们的尺寸是$ 3\times 3 $ . 量子图像平滑算法对应的量子电路图如图4 (a)所示, 最上面的10个量子比特($ Q{R}_{0} $ )用于存储量子图像信息, 最下面的4个量子比特($ Q{R}_{1} $ )用于存储卷积核信息, 最后一个是经典寄存器($ CR $ ), 它有四个比特用于存储量子测量后坍缩的经典信息. 需要特别指出, 不同于前面描述的量子卷积的量子电路, 由于本节使用的两个平滑滤波器的元素都是正数, 因此在量子电路设计过程中, 受控相位操作被省略. 我们使用Qiskit的QasmSimulator模拟量子图像平滑算法, 其中参数$ shots $ 设置为1 024, 实现代码见①, ②. 模拟结果输出状态向量(状态向量的前1024个元素表示平滑滤波后的图像)以及量子寄存器$ Q{R}_{1} $ 是全0的概率.图4(b)表明了均值滤波时输出0的概率是0.935, 图4(c)显示了量子模拟器输出的均值滤波后的图像, 图4(d)显示了经典计算机使用SciPy③输出的均值滤波后的图像. 两者在视觉上没有差异且抑制了泊松噪声. 同样地, 图4(e)表明了高斯滤波器时输出0的概率是0.905, 图4(f)显示了量子模拟器输出的高斯滤波后的图像, 图4(g)显示了经典计算机使用SciPy输出的高斯滤波后的图像, 两者在视觉上没有差异且能抑制了高斯噪声. 相比于均方误差(Mean-square error, MSE)和峰值信噪比(Peak signal-to-noise ratio, PSNR), 结构相似性(Structural similarity, SSIM)的评价性能有明显提高[44],所以本文使用SSIM评估两幅图像的相似性. 均值滤波后的两幅图像的SSIM是0.9998567, 高斯滤波后的两幅图像的SSIM是0.9999233, 这表明两幅图像相同, 同时, 验证了量子图像平滑算法和量子卷积算法的可行性和正确性.
3.2 量子图像锐化
图像锐化可以补偿图像的轮廓, 增强图像的边缘及灰度跳变的部分, 使图像变得清晰. 本节研究量子图像锐化, 其基本步骤是首先对图像和卷积核编码, 接着使用量子二维卷积算法对图像滤波, 需要注意的是, 与平滑滤波算子全是正数元素不同, 锐化滤波算子存在负数元素, 需要使用受控相位操作给负数元素项增加相对相位, 可以得到量子态:
$$ \begin{split}\left|{\psi }_{0}\right\rangle=\;&\frac{1}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}\left|0\right\rangle{{\boldsymbol{Z}}}_{{\rm{w}}} + \left|\perp \right\rangle =\\ &\frac{1}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}\left|0\right\rangle\sum \limits_{i,j}{{\boldsymbol{z}}}_{{\rm{w}},i,j}\left|ij\right\rangle + \left|\perp \right\rangle \end{split} $$ (22) 其中
${{\boldsymbol{Z}}}_{{\rm{w}}}=\sum _{\left(i,j\right)}{z}_{{\rm{w}},i,j} \left| ij \right\rangle$ 是卷积滤波后的结果. 然后使用Real QADC方法将卷积结果从振幅提取到基态中, 可以得到量子态:$$ \left|{\psi }_{1}\right\rangle=\frac{1}{{L}_{{\rm{t}}}}\left|0\right\rangle\sum _{i,j}\left|ij\right\rangle\left|\frac{{z}_{{\rm{w}},i,j}}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}\right\rangle + \left|\perp \right\rangle $$ (23) 最后添加额外辅助量子比特, 使用量子比较器[45]分别比较
$\dfrac{{z}_{{\rm{w}},i,j}}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ 与0,$\dfrac{{z}_{{\rm{w}},i,j}}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ 与$\dfrac{255}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ , 如果$\dfrac{{z}_{{\rm{w}},i,j}}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ 小于0, 则将其置为0; 如果$\dfrac{{z}_{{\rm{w}},i,j}}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ 大于$\dfrac{255}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ , 则将其置为$\dfrac{255}{{\xi }_{1}\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}$ .以图5为例, 图5(a)是实验图像, 尺寸是
$ 60\times 60 $ , 图5(b)是锐化算子, 尺寸是$ 3\times 3 $ . 经典计算机模拟量子计算时, 它的内存资源消耗和运行时间随量子电路深度、电路宽度变化呈指数增长. 受现有量子实验设备以及仿真平台环境的约束, 我们只能使用Qiskit仿真实现步骤1, 至于步骤2、3将在步骤一的基础上按照逻辑进行经典运算, 实现代码见④. 量子图像锐化算法步骤一对应的量子电路图如图6(a)所示, 未优化分解之前量子电路的电路宽度是20, 电路深度是23. 值得注意的是, 受控相位操作中, 除了量子态(下标是1, 3, 5, 7)的相对相位翻转, 还有其他量子态(下标是2, 4, 6, 8)的相对相位也偏转成负值. 相对相位对量子算法的结果影响很大, 因此需要额外的受控相位门将量子态(下标是2, 4, 6, 8)的相对相位恢复成正相位. 我们使用Qiskit的QasmSimulator模拟量子图像锐化算法, 其中参数$ shots $ 设置为1024. 模拟结果输出状态向量(状态向量的前1024个元素表示锐化后的图像)以及量子寄存器$ Q{R}_{1} $ 是全0的概率. 图6(b)表明输出0的概率是0.026, 图6(c)显示了量子模拟器输出的锐化后图像, 图6(d)显示了经典计算机使用SciPy输出的锐化后图像. 两者在视觉上没有差异, 且两幅图像的SSIM是1.0, 这表明两幅图像相同, 同时, 验证了量子图像锐化算法和量子卷积算法的可行性和正确性.3.3 量子图像边缘检测
边缘检测是图像处理和计算机视觉中的基本问题, 边缘检测的目的是标识数字图像中亮度变化明显的点. 图像边缘检测可大幅度地减少数据量, 剔除不相关的信息, 保留图像重要的结构属性. 本节研究量子图像边缘检测, 使用水平和垂直方向的Sobel算子, 最终获得的梯度图像是
${{Z_{xy}}}= \sqrt {Z_x^2 + Z_y^2}$ 量子图像边缘检测的实现过程如下:步骤 1. 准备6个量子寄存器, 最左边表示第1个量子寄存器, 最右边表示第6个量子寄存器,
$ {q}_{1} $ 表示存储卷积核所需量子比特数,$ {q}_{2} $ 表示存储图像所需量子比特数:$$ \left|\psi \right\rangle=\left|0\right\rangle\left|0\right\rangle{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}}{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}} $$ (24) 步骤 2. 对第2个量子寄存器执行H门操作:
$$ \begin{split} \left|\psi \right\rangle=\;&\frac{1}{\sqrt{2}}\Big[\left|0\right\rangle\left|0\right\rangle{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}}{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}} +\\ &\left|0\right\rangle\left|1\right\rangle{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}}{\left|0\right\rangle}^{\otimes {q}_{1}}{\left|0\right\rangle}^{\otimes {q}_{2}}\Big] \end{split} $$ (25) 步骤 3. 当第2个量子寄存器是
$ \left| 0 \right\rangle $ 时, 对第3个和第4个量子寄存器执行量子卷积操作, 卷积核是水平方向Sobel算子(Sobelx), 在第5和6个量子寄存器执行同样的量子卷积操作; 当第2个量子寄存器是$ \left| 1 \right\rangle $ 时, 对第3个和第4个量子寄存器执行量子卷积操作, 卷积核是垂直方向Sobel算子(Sobely), 在第5和6个量子寄存器上执行同样的量子卷积操作:$$\begin{split} \left|\psi \right\rangle=\;&\frac{1}{\sqrt{2}}\left\{\left|0\right\rangle\left|0\right\rangle\left[\frac{1}{{\xi }_{x}^{2}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\left|0\right\rangle\sum \limits_{{x}_{1}}{Z}_{{x}_{1}}\left|{x}_{1}\right\rangle\left|0\right\rangle\times\right.\right.\\ &\left.\sum \limits_{{x}_{2}}{Z}_{{x}_{2}}\left|{x}_{2}\right\rangle + \left|G\right\rangle\right]+\left|0\right\rangle\left|1\right\rangle\left[\frac{1}{{\xi }_{y}^{2}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\left|0\right\rangle\times\right.\\ &\left.\left. \sum \limits_{{y}_{1}}{Z}_{y1}\left|{y}_{1}\right\rangle\left|0\right\rangle\sum \limits_{{y}_{2}}{Z}_{{y}_{2}}\left|{y}_{2}\right\rangle + \left|G\right\rangle\right]\right\}\\[-15pt]\end{split} $$ (26) 步骤 4. 第2个量子寄存器执行H门操作:
$$\begin{split} \left|\psi \right\rangle=\;&\frac{1}{2}\Bigg\{\left|0\right\rangle\left|0\right\rangle\Bigg[\frac{1}{{\xi }_{x}^{2}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\sum\limits_{{x}_{1}}\sum \limits_{{x}_{2}}{Z}_{{x}_{1}}{Z}_{{x}_{2}}\times\\ &\left|0\right\rangle\left|{x}_{1}\right\rangle\left|0\right\rangle\left|{x}_{2}\right\rangle + \frac{1}{{\xi }_{y}^{2}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\sum\limits_{{y}_{1}}\sum \limits_{{y}_{2}}{Z}_{{y}_{1}}{Z}_{{y}_{2}}\times\\ &\left|0\right\rangle\left|{y}_{1}\right\rangle\left|0\right\rangle\left|{y}_{2}\right\rangle\Bigg] + \left|G\right\rangle\Bigg\}\\[-15pt]\end{split} $$ (27) 步骤 5. 把第6个量子寄存器中量子比特作为控制比特, 第4个量子寄存器中的量子比特作为目标比特, 执行
$ {q}_{2} $ 个受控非门操作:$$\begin{split} \left|\psi \right\rangle =\;& \frac{1}{2{\xi }^{2}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle \\ &\left[\sum\limits_{\rho }\left({Z}_{x,\rho }^{2} + {Z}_{y,\rho }^{2}\right)\left|\rho \right\rangle\right] + \left|G\right\rangle \end{split}$$ (28) 其中,
$ x = {x}_{1} = {x}_{2} ,$ $ y = {y}_{1}={y}_{2} ,$ $ \xi = {\xi }_{x} = {\xi }_{y} ,$ $\rho = x = y = 0, \cdots ,{L}_{{\rm{t}}} - 1,$ 该量子态对应的状态向量的前${L}_{{\rm{t}}}$ 个元素就是$ {Z}_{xy}^{2} $ .步骤 6. 使用Real QADC方法将振幅添加到基态中:
$$\begin{split} \left|\psi \right\rangle=\;&\frac{1}{2{\xi }^{2}{L}_{{\rm{t}}}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\sum\limits_{\rho }|{Z}_{x,\rho }^{2} +\\ &{Z}_{y,\rho }^{2}\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|\rho \right\rangle + \left|G\right\rangle\end{split} $$ (29) 步骤 7. 使用量子比较器[45]比较第1个量子寄存器与预设的阈值thre, 如果大于阈值则第1个量子寄存器设置为1, 否则第1个量子寄存器置为0:
$$\begin{split} |\psi \rangle=\;&\frac{1}{2{\xi }^{2}{L}_{{\rm{t}}}{\left\| {{\boldsymbol{X}}}_{{\rm{w}}} \right\|}^{2}}\left[\sum \limits_{{Z}_{x,\rho }^{2} + {Z}_{y,\rho }^{2} > thre}|1\rangle|0\rangle|0\rangle|0\rangle|0\rangle|\rho \rangle+\right.\\ &\left.\sum\limits_{{Z}_{x,\rho }^{2} + {Z}_{y,\rho }^{2}\le thre}\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|0\right\rangle\left|\rho \right\rangle\right] + \left|G\right\rangle\\[-18pt]\end{split} $$ (30) 以图7为例, 图7(a)是实验图像, 尺寸是
$ 12\times 12 $ , 图7(b)是水平方向的Sobel算子, 尺寸是$ 3\times 3 $ , 图7(c)是垂直方向的Sobel算子, 尺寸是$ 3\times 3 $ . 受仿真平台环境约束, 我们只使用Qiskit仿真实现步骤1至5, 步骤6、7将在此基础上按逻辑进行经典运算, 实现代码见⑤. 图8(a)给出了量子图像边缘检测步骤1到5的量子电路图, 使用QasmSimulator对它进行模拟, 参数$ shots $ 设置为1024. 模拟结果输出状态向量(状态向量的前256个元素是边缘检测后的图像)以及量子寄存器$ Q{R}_{1} $ 是0的概率. 图8(b)显示了输出是0的概率, 图8(c)显示量子模拟器输出的图像, 图8(d)显示了经典计算机使用SciPy输出的图像. 两者在视觉上没有差异且两幅图像的SSIM是1.0, 这说明两幅图像相同, 同时, 验证了量子卷积算法的正确性和量子图像边缘检测算法的可行性.量子图像边缘检测的效果受许多因素影响, 例如算子, 方向, 阈值等. 本节提出的基于水平垂直两个方向Sobel算子的量子图像检测算法可以很容易扩展到四个方向Sobel算子.
3.4 量子图像处理的讨论
基于量子卷积操作的量子图像处理算法已被广泛研究, 主要涉及量子图像滤波, 量子图像特征提取, 量子图像边缘检测. 这些算法实现量子卷积操作的思路大致如下, 首先获取邻域像素值, 接着根据滤波器的元素, 使用量子算术实现卷积计算. 其中邻域像素值获取方法可以细分为三类. 假设卷积核算子的尺寸为
$ 3\times 3 $ , 图像尺寸是$ M\times M $ ,$ M = {2}^{m} $ , 图像灰度值范围是$ \left[0,{2}^{q}-1\right] $ ,$ q = 1 $ 表示二值图像,$ q = 8 $ 表示灰度图像,$ q = 24 $ 表示彩色图像. 第一类方法是制备9份完全相同的量子图像, 将循环操作分别作用于8份量子图像, 坐标信息相同的量子态构成邻域像素. 第二类方法是制备1份量子图像和用于存储像素值的8个量子寄存器, 依次使用循环操作和复制操作来获取相邻像素值. 第三类方法是制备1份量子图像和用于存储量子图像的8个量子寄存器, 依次使用量子比较器和复制操作获取相邻像素值. 如表1所示, 这些算法的空间复杂度和时间复杂度都比较高. 此外, 第二类算法存在错误, 量子图像的位置信息和像素值信息是纠缠的, 移位后再复制的像素值都是相同的, 通过理论推导或Qiskit仿真可以验证. 文献[27]中给出的量子图像检测算法只适用于二值图像,因此这里不做比较.表 1 已被提出的量子图像滤波和量子图像特征边缘检测算法. 假设卷积核算子的尺寸为3 × 3,图像尺寸是$M \times M$ ,$M = {2^m}$ , q表示图像的灰度值范围Table 1 Quantum image filtering and quantum image feature edge detection algorithms have been proposed. Suppose the size of the convolution kernel operator is 3 × 3, and the image size is$M \times M$ ,$M = {2^m}$ , q represents the range of gray values图像处理 图像编码 卷积核算子 邻域获取 空间复杂度 时间复杂度 论文 图像滤波(平滑,锐化) NEQR 任意卷积核 第一种 18m + 9q O(9m2 + 9q2) [14] NEQR Gaussian核 第一种 20m+10q + 1 O(m222m + q222m) [15] NEQR 任意卷积核 第一种 18m + 9q O(9m2 + 9q2) [16] 量子图像边缘检测 NEQR Sobel 第二种 4m+18q O(m2 + q2) [18] NEQR Kirsch 第一种 18m + 9q O(m2 + 2q+3) [19] NEQR Zero-cross 第二种 2m + 9q O(m2 + q2) [20] GQIR Sobel 第一种 18m + 9q O(m2 + 2q+5 + q2) [21] NEQR Prewitt 第一种 18m + 9q O(m2 + 2q+3) [22] NEQR Sobel 第二种 2m + 9q O(m2 + 2q+4) [23] NEQR Sobel 第二种 2m + 9q O(10m2 + 4q2) [24] NEQR Sobel 第一种 18m + 9q O(qm2 + 9q3) [25] FRQ Sobel 第二种 2m + 9q O(10m2 + q2) [26] FRQI Sobel 第二种 4m + 10 O(10m2 + q2) [28] NEQR Canny 第三种 18m + 9q O(48m2 + 4q2) [29] 量子图像平滑算法需要
$ 2m + 4 $ 个量子比特, 时间复杂度是${\rm{ O}}\left(4{m}^{2}\right)$ ; 量子图像锐化算法需要$ 2m + 2\mathrm{log}\left(1/\varepsilon \right) + 5 $ 个量子比特, 时间复杂度是${\rm{O}}\left(4{m}^{2}/\varepsilon + 16\mathrm{log}\left(1/\varepsilon \right)-3\right)$ ,$ \varepsilon $ 是计算精度; 量子图像边缘检测需要$ 4m + 2\mathrm{log}\left(1/\varepsilon \right) + 7 $ 个量子比特, 时间复杂度是${\rm{O}}\left(16{m}^{2}/\varepsilon + 16\mathrm{log}\left(1/\varepsilon \right)-3\right)$ . 本文提出的量子图像滤波(平滑和锐化)算法, 量子图像边缘检测算法相比于其对应的经典算法, 在存储能力和计算效率上都实现了指数加速; 对比表1中量子算法, 在时间复杂度方面处于相同数量级, 在消耗的量子比特数方面占有明显优势, 使得它更有希望在目前的量子计算机上实现. 但是基于本文提出的量子二维卷积操作的量子图像处理算法不适用于非线性量子图像滤波情况[46-50].4. 总结及未来工作
本文提出了单通道, 单位步长和零补充情况下的QOWC, QOEC, QONC, QTWC, QTEC, QTNC. 当通道, 步长, 补充值等参数发生变化时, 其对应的算法实现只需轻微调整. 理论分析证明量子线性卷积的空间复杂度
$ {\rm{O}}\left(\mathrm{log}M\right) $ 和时间复杂度$ {\rm{O}}\left({\mathrm{log}}^{2}M\right) $ 较经典线性卷积有指数级下降. 另外, 本文基于量子线性卷积和振幅编码方式提出了QISM, QISH, QIED三种量子图像处理算法. 理论分析证明了提出的量子图像处理算法相比于经典算法, 在存储能力和计算效率上都实现了指数加速, 相比于其他编码方式的量子图像处理算法, 在消耗的量子比特数方面占有明显优势.研究过程中我们发现两种情况, 一是量子图像锐化的获取概率较低, 为0.026, 二是最高获取概率0.367对应的量子态也能重构出锐化效果的量子图像. 因此, 未来思考如何提高获取概率以及探究最高概率对应量子态能重构出锐化效果量子图像的背后原因. 另外, 量子卷积操作是量子神经网络的重要步骤, 如量子卷积网络和量子生成对抗网络[51], 这些都是未来值得深入研究的方向.
附录A. 置换矩阵的量子电路及优化
任意置换矩阵的量子电路可使用量子可逆逻辑方法获得[52-53]. 置换矩阵
$ \boldsymbol{P} $ 的量子电路如图A1(a)所示,$ {\boldsymbol{P}}^{\dagger} $ 的量子电路如图A1(b)所示,${\boldsymbol{\varGamma }}_{{{1}}}\in {\mathbf{R}}^{8\times 8}$ 的量子电路如图A1(d)所示, 置换矩阵$ \boldsymbol{Q8} $ (文献[12, 13]使用它置换振幅)的正确量子电路应该是如图A1(c)所示. 量子电路图中, 低位量子比特在上面, 高位量子比特在下面.由文献[54]可以推导出下面的结论:推论 1. 假设输入量子态是
$ \left|a\right\rangle=\left|{a}_{n-1}{a}_{n-2}\cdots {a}_{1}{a}_{0}\right\rangle $ , 执行$ b={b}_{n-1}{b}_{n-2}\cdots {b}_{0} $ 次置换操作${{\boldsymbol{P}}}^{\dagger}\in {\mathbf{R}}^{{2}^{n}\times {2}^{n}}$ 后, 那么输出的量子态$\left|\widehat{a}\right\rangle={\left({{\boldsymbol{P}}}^{\dagger}\right)}^{b}\left|a\right\rangle=\sum _{k=0}^{n-1}\left({a}_{k}-{b}_{k}\right){2}^{k}{\rm{mod}}{2}^{k + 1}$ . 当$ b $ 可以写成指数形式$ b={2}^{m} $ ,$ m=0, 1, 2, \cdots ,n-1 $ 时,$\left|\widehat{a}\right\rangle=\left({a}_{h}-1\right){\rm{mod}}{2}^{n-m} + {a}_{l}$ , 其中$ {a}_{h} $ 和$ {a}_{l} $ 满足$a= {a}_{h}* {2}^{m} + {a}_{l}$ .证明. 当b不可以写成指数形式时,
$$\begin{split} \left(a-b\right){\rm{mod}}{2}^{2n}=\; &\left[\sum \limits_{k=0}^{2n-1}\left({a}_{k} - {b}_{k}\right)\times {2}^{k}\right]{\rm{mod}}{2}^{2n} =\\ &\left[\underset{k=0}{\mathop{\overset{2n - 1}{\mathop{\vee }}\,}}\,\left({a}_{k} - {b}_{k}\right)\times {2}^{k}\right]\bigwedge \left({2}^{2n}-1\right) = \\ &\underset{k = 0}{\mathop{\overset{2n-1}{\mathop{\vee }}\,}}\,\left[\left({a}_{k} - {b}_{k}\right)\times {2}^{k}\bigwedge \left({2}^{2n}-1\right)\right] =\\ &\underset{k=0}{\mathop{\overset{2n-1}{\mathop{\vee }}\,}}\,\left[\left({a}_{k}-{b}_{k}\right)\times {2}^{k}\bigwedge \left({2}^{k + 1} - 1\right)\right] =\\ &\sum\limits_{k = 0}^{2n - 1}\left[\left({a}_{k}-{b}_{k}\right)\times {2}^{k}{\rm{mod}}{2}^{k + 1}\right]\\[-10pt]\end{split} \tag{A1}$$ 其中
$ \bigvee $ 表示或运算,$ \bigwedge $ 表示与运算. 当b可以写成指数形式时,$$\begin{split} &\left(a-b\right){\rm{mod}}{2}^{2n}=\\ &\qquad\left[\left({a}_{h}-1\right)\times {2}^{m} + {a}_{l}\right]{\rm{mod}}{2}^{2n}=\\ &\qquad\left[\left({a}_{h}-1\right)\times {2}^{m}\bigvee {a}_{l}\right]\bigwedge \left({2}^{2n}-1\right)=\\ &\qquad\left[\left({a}_{h}-1\right)\times {2}^{m}\bigwedge \left({2}^{2n}-1\right)\right]\bigvee \left[{a}_{l}\bigwedge \left({2}^{2n}-1\right)\right]=\\ &\qquad\left[\left({a}_{h}-1\right)\bigwedge \left({2}^{2n-m}-1\right)\right]\bigvee \left[{a}_{l}\bigwedge \left({2}^{2n}-1\right)\right]=\\ &\qquad\left({a}_{h}-1\right){\rm{mod}}{2}^{2n-m} + {a}_{l}\\[-5pt]\end{split} \tag{A2}$$ □
推论1可用于简化量子电路, 降低电路深度, 例如
${\boldsymbol{P}}^{\dagger}\in {\mathbf{R}}^{64\times 64}$ 时,$ {\left({\boldsymbol{P}}^{\dagger}\right)}^{64} $ 对应的量子电路可以简化成图A1(e),$ {\left({\boldsymbol{P}}^{\dagger}\right)}^{130} $ 对应的量子电路可以简化成图A1(f), 它们将用于Qiskit仿真实验中, 可以简化量子电路, 缩短模拟仿真时间.附录B. 量子态制备和量子图像编码
根据已知的经典信息制备相应的量子态, 是量子算法设计过程中重要的步骤. 一方面, 量子态制备过程有时会统治整个量子算法的时间复杂度, 另一方面, 量子态制备方法决定了后续采取什么样的量子操作. 量子态的一般形式可以写成
$\left|\psi \right\rangle=\mathrm{cos}\dfrac{\theta }{2}\left|0\right\rangle + {{\rm{e}}}^{i\varphi }\mathrm{sin}\dfrac{\theta }{2}\left| 1 \right\rangle$ , 经典信息可以存储在基态$ \left| 0 \right\rangle $ ,$ \left| 1 \right\rangle $ , 相对相位$\varphi$ , 还有振幅$\mathrm{cos}\dfrac{\theta }{2}$ 、$\mathrm{sin}\dfrac{\theta }{2}$ 中. 根据存储位置的不同, 量子态制备方法分为三类, 基态编码(Basic code, BC)[33,55-56], 相位编码(Phase code, PC)[57]和振幅编码(Amplitude code, AC)[26, 57-60]. 对于相同类型的量子态制备方法, 不同的研究领域里使用的定义存在差异.在量子图像处理研究领域, 量子图像编码方法有基态编码, 如新型数字图像增强量子表示(A novel enhanced quantum representation of digital images, NEQR)[55], 广义量子图像表示(The generalized quantum image representation, GQIR)[61]), 振幅编码, 如灵活表示的量子图像 (A flexible representation of quantum images, FRQI)[58], 量子概率图像编码(Quantum probability image encoding, QPIE)[27],
$ {\rm{n}} $ -qubit 正常任意叠加态(n-qubit normal arbitrary superposition state, NASS)[57]. 其中NEQR, FRQI, NASS最为常用, 三种方法各有优劣[62]. 假设图像的尺寸是$ M\times M $ , 灰度值的范围是$ \left[{\mathrm{0,2}}^{q}-1\right] $ . NEQR时间复杂度$( {\rm{O}}(2q{M}^{2}\mathrm{log}M + 1) )$ 低, 酉操作方便, 但空间复杂度$({\rm{O}}(2\mathrm{log} M + q))$ 高; FRQI的时间复杂度$( {\rm{O}}(2{M}^{2}\mathrm{log}M))$ 和空间复杂度$( {\rm{O}}(2\mathrm{log}M + 1) )$ 都低, 但是酉操作不方便; NASS的空间复杂度$( {\rm{O}}(2\mathrm{log}M) )$ 低, 但是它的时间复杂度$({\rm{O}}(2{M}^{2} {\mathrm{log}}^{2}M))$ 高. 为了充分利用三者的优劣, 有时我们会将三种编码变法进行转换, 文献[63]中首先使用QDAC[38]方法将NEQR转化成FRQI, 然后在FRQI基础上实现频域滤波.QRAM在量子机器学习中常被使用[10]. 此处我们考虑使用QRAM方法来降低量子图像编码的时间复杂度. 首先将图像通过QRAM存储制备成量子态
$\dfrac{1}{{M}^{2}}\sum _{i}\left|i\right\rangle|{\psi }_{i}\rangle$ ,$ \left| i \right\rangle $ 表示位置信息,$|{\psi }_{i}\rangle$ 表示像素值信息, 时间复杂度是$ {\rm{O}}\left(2\mathrm{log}M\right) $ , 然后使用QADC方法[38]制备量子态$\dfrac{1}{\sqrt{\sum _{i}{\psi }_{i}^{2}}}\sum _{i}{\psi }_{i}\left|i\right\rangle$ , 时间复杂度是$ {\rm{O}}\left(2\mathrm{log}M\right) $ , 故总的时间复杂度是$ {\rm{O}}\left(4\mathrm{log}M\right) $ .
-
表 1 各不同邻域尺度及$T_{i}$下的道路提取算法总误差
Table 1 Total errors of the proposed algorithm with different adjacent sizes and $T_{i}$
CSite2/CSite3提取结果总误差(%) $T_{i}$ 6邻域 18邻域 26邻域 56邻域 64邻域 1 46.30/40.64 32.26/31.87 25.89/24.15 20.47/17.94 17.98/12.44 2 39.57/32.32 28.34/25.02 19.07/18.87 12.81/8.29 18.73/15.65 3 34.25/30.06 26.16/19.21 20.83/10.33 15.58/13.84 23.16/20.45 4 37.29/33.12 30.21/20.04 24.56/12.87 26.74/16.51 29.86/25.31 表 2 提出的算法的精度
Table 2 The accuracy of the proposed algorithm
数据 $R_{com}$(%) $R_{cor}$(%) $R_{q}$(%) CSite2 84.83 80.76 70.57 CSite3 88.71 81.50 73.84 表 3 Terrasolid道路提取精度
Table 3 The road extraction accuracy of Terrasolid
数据 $R_{com}$ (%) $R_{cor}$ (%) $R_{q}$ (%) CSite2 88.2 64.1 59.1 CSite3 93.8 56.9 54.8 -
[1] Matikainen L, Karila K, Hyyppa J, Litkey P, Puttonen E, Ahokas E. Object-based analysis of multispectral airborne laser scanner data for land cover classification and map updating. ISPRS Journal of Photogrammetry and Remote Sensing, 2017, 128: 298-313 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=79984fbea9862f0a930a7c93acf19b17 [2] Morsy S, Shaker A, El-Rabbany A. Multispectral LiDAR data for land cover classification of urban areas. Sensors. 2017, 17(5): 958 [3] Hui Z, Hu Y, Jin S, Yao Z Y. Road centerline extraction from airborne LiDAR point cloud based on hierarchical fusion and optimization. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 118: 22-36 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=28233cc10b86445d7235b3bc0428331f [4] 原战辉.基于机载LiDAR点云数据提取城区道路研究[硕士论文].西南交通大学, 中国, 2018Yuan Zhan-Hui. Research on Urban Road Extraction Based on Airborne LIDAR Point Cloud Data[Master thesis]. Southwest Jiaotong University, China, 2018 [5] 王濮, 邢艳秋, 王成, 习晓环, 骆社周.机载LiDAR数据提取山区道路方法研究.遥感技术与应用, 2017, 32(5): 851-857 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=ygjsyyy201705009Wang Pu, Xing Yan-Qiu, Wang Cheng, Xi Xiao-Huan, Luo She-Zhou. Road extraction using airborne LiDAR data in mountainous areas. Remote Sensing Technology and Application, 2017, 32(5): 851-857 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=ygjsyyy201705009 [6] Huo L, Silva C A, Klauberg C, Mohan M, Zhao L J, Tang P, Hudak A T. Supervised spatial classification of multispectral LiDAR data in urban areas. Plos One, 2018, 13(10): e0206185 [7] Sturari M, Frontoni E, Pierdicca R, Mancini A, Malinverni E S, Tassetti A N, Zingaretti P. Integrating elevation data and multispectral high-resolution images for an improved hybrid land use/land cover mapping. European Journal of Remote Sensing, 2017, 50(1): 1-17 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=10.1080/22797254.2017.1274572 [8] 惠振阳.从机载LiDAR点云中提取城市道路网的关键技术研究[博士论文].中国地质大学, 中国, 2017Hui Zhen-Yang. Research on Some Key Techniques of Extracting City Road Networks from Airborne LiDAR Point Cloud[P.D. dissertation]. China University of Geosciences, China, 2017 [9] 胡澄宇.基于机载LiDAR的林间道路提取方法研究[硕士论文].西南交通大学, 中国, 2016Hu Cheng-Yu. Study on Forest Road Extraction Based on Airborne LiDAR Point Cloud[Master thesis]. Southwest Jiaotong Universtiy, China, 2016 [10] Ferraz A, Mallet C, Chehata N. Large-scale road detection in forested mountainous areas using airborne topographic lidar data. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 112: 23-36 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=11bfc8f0d414d2222458453ce1f23ffc [11] Peng J, Gao G. A method for main road extraction from airborne LiDAR data in urban area. In: Proceedings of the 2011 International Conference on Electronics, Communications and Control. Ningbo, China: IEEE, 2011. 2425-2428 [12] 彭检贵, 马洪超, 高广, 赵亮亮.利用机载LiDAR点云数据提取城区道路.测绘通报, 2012, (9): 16-19 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=chtb201209006Peng Jian-Gui, Ma Hong-Chao, Gao Guang, Zhao Liang-Liang. Road extraction from airborne LiDAR point clouds data in urban area. Bulletin of Surveying and Mapping, 2012, (9): 16-19 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=chtb201209006 [13] Choi Y W, Jang Y W, Lee H J, Cho G S. Three-dimensional LiDAR data classifying to extract road point in urban area. IEEE Geoscience and Remote Sensing Letters, 2008, 5(4): 725-729 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=f35ba8c1e5d91528123fb1c82861424d [14] Matkan A A, Hajeb M, Sadeghian S. Road extraction from lidar data using support vector machine classification. Photogrammetric Engineering and Remote Sensing, 2014, 80(5): 409-422 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=e335ac4ed68da753c40785af701acdf7 [15] Hu X, Li Y, Shan J, Zhang J, Zhang Y. Road centerline extraction in complex urban scenes from LiDAR data based on multiple features. IEEE Transactions on Geoscience and Remote Sensing, 2014, 52(11): 7448-7456 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=422ac8541c7f6cfce39cf34a7a09236d [16] 龚亮, 张永生, 李正国, 包全福.基于强度信息聚类的机载LiDAR点云道路提取.测绘通报, 2011, (9): 15-17 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=chtb201109005Gong Liang, Zhang Yong-Sheng, Li Zheng-Guo, Bao Quan-Fu. Automated road extraction from LiDAR data based on clustering of intensity. Bulletin of Surveying and Mapping, 2011, (9): 15-17 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=chtb201109005 [17] 袁鹏飞, 黄荣刚, 胡平波, 杨必胜.基于多光谱LiDAR数据的道路中心线提取.地球信息科学学报, 2018, 20(4): 452-461 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=0120181103802104Yuan Peng-Fei, Huang Rong-Gang, Hu Ping-Bo, Yang Bi-Sheng. Road extraction method based on multi-spectral LiDAR data. Journal of Geo-information Science, 2018, 20(4): 452-461 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=0120181103802104 [18] Mario S, Linh T, Belén R, Debra L. Automatic extraction of road features in urban environments using dense ALS data. International Journal of Applied Earth Observation and Geoinformation, 2018, 64: 226-236 [19] Ferraz A, Mallet C, Chehata N. Large-scale road detection in forested mountainous areas using airborne topographic lidar data. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 112: 23-36 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=11bfc8f0d414d2222458453ce1f23ffc [20] Zhao R, Pang M, Wang J. Classifying airborne LiDAR point clouds via deep features learned by a multi-scale convolutional neural network. International Journal of Geographical Information Science, 2018, 32(5): 1-20 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=10.1080/13658816.2018.1431840 [21] Niemeyer J, Rottensteiner F, Soergel U, Heipke C. Hierarchical higher order crf for the classification of airborne lidar point clouds in urban areas. International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2016, XLI-B3: 655-662 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=Doaj000004727273 [22] Yang Z, Jiang W, Xu B, Zhu Q, Jiang S, Huang W. A convolutional neural network-based 3D semantic labeling method for ALS point clouds. Remote Sensing, 2017, 9(9): 936-953 [23] 陈飞.基于机载LiDAR点云的道路提取方法研究[硕士论文].西南交通大学, 中国, 2013Chen Fei. A Study of Methods for Road Extraction from Airborne LIDAR Data[Master thesis]. Southwest Jiaotong Universtiy, China, 2013 [24] 徐玉军.基于机载激光雷达点云数据的分层道路提取算法研究[硕士论文].吉林大学, 中国, 2013Xu Yu-Jun. Research on Hierarchical Road Extraction Algorithm Based on Airborne LiDAR Point Cloud[Master thesis]. Jilin University, China, 2013 [25] 黄先锋, 李娜, 张帆, 万文辉.利用LiDAR点云强度的十字剖分线法道路提取.武汉大学学报(信息科学版), 2015, 40(12): 1563-1569Huang Xian-Feng, Li Na, Zhang Fan, Wan Wen-Hui. Automatic power lines extraction method from airborne LiDAR point cloud. Geomatics and Information Science of Wuhan University, 2015, 40(12): 1563-1569 [26] 丁小华.基于LiDAR数据的城市道路提取方法研究[硕士论文].中国地质大学, 中国, 2013Ding Xiao-Hua. Building Extraction Based on the LiDAR Point Cloud Data and Image Fusion[Master thesis]. China University of Geosciences, China, 2013 [27] Hagstrom S T. Voxel-based LIDAR Analysis And Applications[Ph.D. dissertation], Rochester Institute of Technology, America, 2014 [28] Rutzinger M, Rottensteiner F, Pfeifer N. A comparison of evaluation techniques for building extraction from airborne laser scanning. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2009, 2(1): 11-20 [29] Zhang T Y, Suen C Y. A fast parallel algorithm for thinning digital patterns. Communications of the ACM, 1984, 27(3): 236-239 期刊类型引用(2)
1. 潘东,杨欣,施天成,方圆,王绪利,窦猛汉. 基于量子长短期记忆网络的光伏功率预测模型. 电力建设. 2025(01): 122-133 . 百度学术
2. 胡业林,钱文月,马向阳,宋晓. 基于谐波诊断技术和CNN-LSTM的电机故障诊断. 电工技术. 2023(15): 57-62 . 百度学术
其他类型引用(5)
-