1. 引言
在科学技术快速发展的今日,图像处理技术在科研、军事、工业生产、卫生、教育等与人类生活息息相关的领域得到广泛的应用。人脸识别、自动驾驶、各种无人服务,这些新兴技术都体现了机器视觉系统正确认知客观世界的重要性。1980年,MIT的Marr和Hildreth整合并提出了基本的边缘检测理论 [1]。1986年,Canny在IEEE的期刊发表了著名的A computational approach to edge detection,带来了流行至今的经典Canny边缘检测算法 [2],包含了高斯滤波、非极大抑制、双阈值检测等步骤,在一般情况下的图像有不错的准确度。1987年JUN S. HUANG和DONG H. TSENG提出了基于相似度检验的边缘检测统计理论 [3]。2003年,Zhao,Wang和Yu将细胞神经网络CNN和吉布斯图像类比,并应用在基因算法来检测图像边缘 [4]。2010年后,Hongpeng TIAN使用了Julong DENG提出的灰度理论来进行边缘检测 [5]。Jan J. Koenderink则重新审视了前人工作,改进了边缘检测理论并带来了Three Pixels Representation方案 [6]。
量子力学是现代物理的重要基础,为微观系统提供了完整的理论和数学框架。基于量子力学理论,系统的状态由波函数描述,状态的演化遵守薛定谔方程,系统的演化依赖系统能量的哈密顿量算符。这一理论框架近年来被推广到量子信息和量子计算领域。经典比特推广到包含量子相干性的量子比特,通过量子力学的理论框架来处理经典信息和图像分析和学习等问题。
本世纪初开始,出现许多应用量子力学方法在图像处理的研究。Eldar和Oppenheim尝试在信号处理中使用量子方法,利用量子测量等概念进行信号估计和检测 [7]。Aytekin提出了一种应用量子力学方法,通过求解图像信息的薛定谔方程,给出图像波函数的分割部分 [8]。Fu和Lou等人提出医学图像边缘检测的量子算法 [9] [10]。Youssry、El-Rafei和Elramly比较了量子算法和经典算法的图像处理,并给出灵敏度与特异度测试 [11]。Mastriani引入了量子布洛赫球的概念量子化经典信息,并用于图像边缘检测 [12] [13] [14]。2019年,Yuan和Salvador等人利用NEQR模型和量子并行算法,设计了一个量子比较器来实现边缘检测的量子算法。该算法包括了图像平滑、寻找高光梯度和边缘跟踪三步骤 [15]。这些研究显示出量子算法在图像边缘检测方面具有超过经典算法的优越性。
本文先介绍图像边缘检测中的量子算法的基本理论框架。在第二节,介绍量子信息的布洛赫球表示和经典量子信息的对应,以及在图像边缘检测的基本理论框架。然后,在第三节,我们给出图像边缘检测的哈密顿量的构造,以及图像边缘检测的特征向量算法,并从无噪声下的单体对象推广到含噪声的复杂对象。在第四节,我们给出图像边缘检测的量子算法,并在第五节给出图像边缘检测的测试结果,及其各种算法的比较分析。我们给出基于特征向量技术的量子算法在灵敏度和特异度测试优于经典Canny边缘检测算法。最后,我们给出总结与展望。
2. 经典信息与量子信息对应
2.1. 布洛赫球和量子比特
经典的信息用二值函数(0, 1)表示(比特)。基于量子力学框架,二值函数表示的经典信息可以推广为0和1的叠加态表示,即量子比特(qubit),
量子比特表示为
(1)
满足
(2)
或者
(3)
状态
可以由向量
表示,而状态
可以由向量
表示。因此,系统的一般状态可以由向量
表示。通过(1)或者(3),可以将经典比特推广到量子比特,并用布洛赫球面来表示,见图1。状态
位于布洛赫球面的北极,状态
处于布洛赫球面的南极。叠加态
可以由前面两个互相正交的基底以复数叠加构成。布洛赫球面提供了一种可视化单个量子比特状态的有效方法,经常用作有关量子计算和量子信息的测试,能更加直观地表示量子二态问题。经典比特位于布洛赫球面上的0和1两个点。而量子比特可以看成是把经典信息推广到复的布洛赫球面上。在执行测量操作前,图像像素均处在和的叠加态上,即可以位于球面上任意一点。
2.2. 经典边缘检测与量子力学概念的类比
图像边缘检测可以看成是通过一个二态封闭量子系统。待处理图像中的每个像素都在量子比特的布洛赫球面上的一个位置。我们希望检测后得到的边缘图每个像素占据南极和北极两个量子态之一。在边缘检测中属于前景的像素应该演变为相同的最终稳定状态,而属背景类的像素应该以更高的概率结束占据另一个稳定状态。背景类对应基态
,而前景类对应激发态
。因此,未经过量子算法测量的原像素处于基态和激发态的叠加态。
因此,像素隶属于背景的概率是
,而属于前景的概率是
。为了确定像素的类,每个态都必须依据薛定谔方程来演化至末态。因为将系统引至稳定态的哈密顿量是由一组基于图像的特征矩阵构成,所以系统的哈密顿量必须依赖于该特征向量。阈值操作等同于测量操作,使完成了演化后的量子态发生坍缩,使得像素坍缩到前景类或者背景类 [11]。在图2,我们给出了经典--量子类比。

Figure 1. Bloch sphere of classical bits and qubits
图1. 经典比特和量子比特的布洛赫球面

Figure 2. The analogy between edge detection and quantum mechanics of a single project
图2. 单体对象的边缘检测和量子力学间的类比
2.3. 薛定谔方程的解
每个像素对应的初态都通过薛定谔方程演化到末态。在任意时刻t,薛定谔方程的一般解可以表示为
(4)
其中是初态,U是幺正算符,它表示量子态演化,也称为演化算符。一般来说,对于不同形式的哈密顿量,演化算符有三种可能的表达形式 [11] [19]:
(1) 哈密顿量不依赖时间,演化算符可以表示为
(5)
为了方便,可以令
,即表示初态时刻为零,这样,t时刻的量子态表示为
(6)
(2) 哈密顿量与时间有关,不同时间的算符H是可交换的,即
(7)
这时,演化算符表示为
(8)
同样令
,t时刻的量子态表示为
(9)
(3) 哈密顿量与时间有关,但不同时间的算符H是不可交换的,即
(10)
在这种情况下,不可能得到封闭形式的解,仅有数值解和无穷级数解。
3. 量子力学的构造
量子算法成功的关键是构造适当的哈密顿算符。哈密顿算符是决定状态如何随时间演变的因素,因此它将由
矩阵表示,其中n是状态空间的维度。哈密顿算符通常是厄米算子,以确保其特征值是实的。在图像边缘检测中,哈密顿量将表示为2 × 2厄米矩阵。
为了不出现无穷级数解或数值解,哈密顿量应该满足前一小节中的情况(1)或(2)。我们构造哈密顿量的矩阵形式,使得它具有相同的时间依赖性。即
(11)
其中
是2×2矩阵,原则上g是t的任意函数,这样,有
(12)
通过求解薛定谔方程执行测量的某个时刻操作。为了解决这个问题,对哈密顿量附加一些条件:系统的末态得出的概率必须收敛到特定值,以确保系统演化时间够长时,获得的够准确的所需的概率。选择恰当的函数g使得等式(6)中的积分在
收敛。令g函数为
(13)
这样满足了积分收敛的条件
(14)
这样,在给定二态量子力学系统的初始和最终状态,这形式的哈密顿量,可以使得初态正确演化为所需的末态。如果假设初始状态为
并且将像素分类为背景像素,则最终状态应为
。基于哈密顿量的这种构造,哈密顿量可以表示为 [16],
(15)
另一方面,如果初态为
且像素分类为前景像素,那么末态应为
,这时哈密顿量表示为
(16)
这表明对于该特定的初始状态,哈密顿量的矩阵部分在背景和前景像素情况下都相同。两种情况之间的差异是常量。
也就是说,哈密顿量的具体形式依赖于像素提取的特征,并给出态的正确演化。这样,对于图像边缘检测,哈密顿量可以推广为
(17)
其中
是像素点的特征
的函数,也是哈密顿量中唯一未知量。函数f可以取不同的形式,取决于提取的特征向量,如下
,
,
(18)
具体来讲,将待处理像素和其最临近的四个像素的差作为像素特征向量,以整个图像像素灰度矩阵为
,图3中
为待处理像素,

Figure 3. Pixel arrangement and four-direction gray difference extraction
图3. 像素排列及四方向灰度差提取
特征向量
由四部分组成,分别是:向上灰度差,
。向右灰度差,
。向左灰度差,
向下灰度差,
。
特征向量函数
表示为,
(19)
其中系数
是需要训练的特征参数。也可以用图2模仿 [9] 的方法来考察
的特征。
我们使用监督学习方法来估计
的系数
。使用的样本可以来自有限大小的图像窗口,选择的是随机矩形窗口。此窗口的大小需小于原图像的10%,并且应包含图像前景和背景。我们选取的窗口大小为原图的1/16。
训练成功的判据为算法输出窗口与训练窗口的Ground Truth (下称GT)图像的相同像素数量(前景像素加背景像素)达到最大值,即,
(20)
当
训练误差值取最小值时,
的系数
训练成功。
4. 核心算法
输入图像中的每个像素都可被当作一个量子态。第一步:将像素初始化为状态
的特定状态。选择任意初始状态不会影响结果。由于哈密顿量是某个像素的特征的函数,因此要对每个像素进行运算。第二步是构建哈密顿量:从理论上讲,每个系统都可以拥有特定的哈密顿算符。然而,我们决定对图像或类似图像中的所有像素使用单一形式的算符。哈密顿量的形式是从基于图像的特征估计构造的,所选图像窗口的监督学习训练得到特征向量的参数。特征可以是像素的灰度差,或者可以是从围绕像素的邻域导出的特征向量(Sobel等各类算子卷积)。训练结果要求总误差值达到最小。第三步:把运算算符代入薛定谔方程中求解。解决方案应该导致概率收敛到特定值,以便达到稳定状态,避免了时间相关的测量。第四步:使用阈值处理执行测量操作。指定阈值T。如果像素为前景
的概率大于阈值T,则像素的类将是前景,否则将其分类为背景。对输入图像中的每个像素重复该过程。核心阈值T的选取方法并未唯一。本文的处理方法是利用步骤二提取的训练窗口,在训练结束后的窗口边界寻找数值极大值,在将此极大值归一化为阈值T。算法的流程图见图4。特征向量选取见(19)式及之前的说明。

Figure 4. Basic flow chart of quantum algorithm
图4. 量子算法基本流程图
5. 测试结果与分析
5.1. 实验准备
本文最终使用了九种像素的特征向量:Sobel算子卷积矩阵、Prewitt算子卷积矩阵,Roberts算子卷积矩阵,Log算子卷积矩阵,Laplace算子卷积矩阵,灰度矩阵旋度,灰度值上下左右四个方向的梯度,灰度值梯度的模矩阵,像素梯度的二阶差分矩阵。标准对照选用经典Canny边缘检测算法,并附带了数据集自带的原图和Ground Truth图片。
本实验全部算法使用MATLAB编写,版本为MATLABR2018b。实验用计算机弘基Swift SF314-51;处理器为Intel(R)Core(TM)i5-7200U CPU;系统为windows10,64位操作系统;内存8 GB;二核四线程。实验中的处理图像大部分来自加州大学伯克利分校的公开数据集BSDS500 [17] [18],其他来自Windows画图工具。
衡量标准采用sensitivity灵敏度和specificity特异度。灵敏度的定义为通过分割算法正确地分类前景的像素的数量与图像中的前景像素的总数量的比率。特异性的定义是通过分割算法正确分类为背景的像素数量与图像中背景像素的总数量的比率。
(21)
(22)
上面公式中,“TP”是被算法正确分类的前景的个数。“FN”是算法将原图前景错误输出成背景的个数。“TN”是被算法正确分类的背景的个数。“FP”是算法将原图前景错误输出成背景的个数。理想目标为量子算法输出的边缘图像的灵敏度和特异度均达到100%,即输出图像和目标图像的GT图片完全吻合。“TP”可通过比较GT图和结果图的相同白色像素数量获得;“FN”可通过比较GT图白色像素和结果图的黑色像素的重合数获得;“TN”可通过比较GT图和结果图的相同黑色像素数量获得;“FN”可通过比较GT图黑色像素和结果图的白色像素的重合数获得,具体见图5结果评估矩阵。

Figure 5. Confusion matrix for performance evaluation
图5. 结果评估矩阵
5.2. 测试结果
基于上述量子算法,我们测试七组图片,它们来自BSDS500数据集,一组为windows画图工具绘制的亮度渐变图,并对上述算法得到的边缘图像与数据集自带的GT图像比较,进行灵敏度和特异度测试。图6~13展示了来自BSDS500的待处理图像,图像的GT图,九种基于不同技术的量子算法输出的边缘图像和经典Canny算法的边缘图像。其中图组11中的原图添加了均值为0,方差为0.2的高斯噪声。表1给出这些算法(包括量子算法和经典算法)的统计结果,包括八组图像的平均灵敏度和特异度。见图6~13。

Figure 6. Edge Detection of an image with a gradient
图6. 亮度渐变图像的边缘检测

Table 1. Test results of nine quantum edge detection algorithms and Canny edge detection algorithms
表1. 九种量子边缘检测算法算法和Canny边缘检测算法的测试结果
5.3. 分析
在亮度渐变图(图6)中,传统的Canny算法只能检测到强度变化较大的边缘,获得了5.26%的灵敏度,而使用Sobel算子、Roberts算子和像素梯度的量子算法的灵敏度均在30%以上。
在人脸图中(图7),传统算法的灵敏度为20.53%,而Prewitt算子和Roberts算子的量子算法的灵敏度为40%以上,像素梯度的灵敏度为达到了76.82%。人物图中(图8),传统Canny算法灵敏度为18.27%,而Prewitt算子、像素灰度差、像素灰度梯度的量子算法的灵敏度都大于36%。
在蝴蝶图中(图9),传统算法的灵敏度为21.87%,而Sobel算子、Prewitt算子和像素梯度的量子算法取得了46%以上的灵敏度。在植物图中(图10),传统算法的结果为15.76%,Sobel算子和梯度算子的量子算法的结果在38%左右,梯度差的量子算法取得的灵敏度为45.21%。

Figure 7. Edge Detection of a face image from BSDS500
图7. BSDS500人脸图像的边缘检测

Figure 8. Edge Detection of a people image from BSDS500
图8. BSDS500人物图像的边缘检测
在金字塔风景图中(图11),传统算法的灵敏度为21.95%,Sobel算子和像素梯度的量子算法的结果均大于42%。
在飞机图片(图12)的结果显示,传统算法的灵敏度为33.66%,Sobel算子、Prewitt算子、Roberts算子的量子算法灵敏度落在45.10%~46.10%,梯度差量子算法的灵敏度为53.83%,像素梯度的算法结果为68.20%。
在天鹅图像(图13)中,我们添加了噪声,用来评价噪声存在时的算法性能。由于边缘检测算法更加注重对主体的边缘提取,所以更加优先考察结果中的灵敏度sensitivity。总体来说,大多数结果都优于传统的经典算法。在渐变图中,传统的Canny算法只能检测到强度变化较大的边缘,获得了5.26%的灵敏度,而使用Sobel算子、Roberts算子和像素梯度的量子算法的灵敏度均在30%以上。

Figure 9. Edge Detection of a butterfly image from BSDS500
图9. BSDS500蝴蝶图像的边缘检测

Figure 10. Edge Detection of a plant image from BSDS500
图10. BSDS500植物图像的边缘检测

Figure 11. Edge Detection of a pyramid image from BSDS500
图11. BSDS500金字塔图像的边缘检测

Figure 12. Edge Detection of a plane image from BSDS500
图12. BSDS500飞机图像的边缘检测
在噪声图像中,使用了Roberts算子、拉普拉斯算子和旋度算子的量子算法无法提取目标边缘,传统算法的结果为17.00%,而Sobel算子和像素梯度和梯度差的量子算法均取得大于22%的灵敏度。但是,在视觉效果上量子算法的除噪能力没有Canny算法强。至于特异度方面,传统算法的平均特异度为95.38%,而在灵敏度测试中表现较好的用Sobel算子为特征向量的量子算法和用像素梯度为特征向量的量子算法的平均特异度只有87.36%和86.10%,均低于90%,而其他特征向量的量子算法的平均特异度都大于90%,小于91.61%。低特异度这跟量子算法输出的边缘宽度较大有关。BSDS500数据局自带的Ground Truth图片的边缘宽度均为1像素,而量子算法得到部分边缘有数个像素宽。值得注意的是像素差的量子算法,在灵敏度测试和特异度测试中均取得较好的结果。

Figure 13. Edge Detection of a swam image with noise from BSDS500
图13. 含噪声的BSDS500图像的边缘检测
6. 总结与展望
传统的逐像素方法的缺点是不能明确地包含对象信息。本文给出的量子算法甚至在存在噪声的图像中实现更优的灵敏度结果,体现了强大的普适性。基于这些方法构造哈密顿量有许多优点。我们选择时间依赖的哈密顿量,避免了数值求解薛定谔方程。这使我们能够通过演化算符给出薛定谔方程的闭合解,从而在运行时提供了显著的计算速度增益。另一个优点是在算法中给出的普适的哈密顿量形式,可以很容易地适用于不同的图像边缘检测问题。这使量子算法具有很大的潜力。
值得指出的是,量子算法在特异度即确定背景的表现不如传统算法。对于图像中的所有像素,简单的阈值处理能产生较高精度。在像素级阈值处理或自适应阈值处理的复杂高级技术中可用于改善结果。对于噪声图像,导致误差的错误分类的像素也只与灰度这种特征有关,对象内部的较暗部分在加上噪声后无法被识别为前景类。该问题期望通过形态学手段来构造特征向量来解决。也可以考虑引入与像素相关联的量子系统之间的耦合。可见,量子力学的理论框架为研究耦合系统的图像处理提供了有效的量子算法。
在特征向量的选用上,像素梯度为特征向量的普遍最优解,但是在个别情况,该特征向量会引起算法特异度偏低。此时,可以将特征向量修改为像素差。旋度算子、拉普拉斯算子和Roberts算子一定程度会破坏目标信息的完整性,以至于无法检测噪声图像的目标边缘。而Sobel算子和Prewitt算子被广泛应用在各种编程语言中。使用这两种算子来构造哈密顿量的量子算法会比较方便,在减少代码行数的同时也能获得较好的结果。
量子算法在未来能通过优化哈密顿量的设计,引入更多的拟合手段,例如使用机器学习常用的非线性拟合公式,可望进一步提高结果。在实际应用上,量子算法可以在医学方面处理患者的X光图、CT图等,去除体内随机影响,更加精准地判断病灶。我们相信在不久的未来,量子算法在边缘检测和图像分割乃至信号处理领域上会大显身手。
致谢
感谢广东省科技计划项目,项目编号:2020B1212060030。
NOTES
*通讯作者。