system: [SYSTEM]

user: 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特异度。灵敏度的定义为通过分割算法正确地分类前景的像素的数量与图像中的前景像素的总数量的比率。特异性的定义是通过分割算法正确分类为背景的像素数量与图像中背景像素的总数量的比率。 Sensitivity = TP TP + FN (21) Specificity = TN TN + FP (22) 上面公式中，“TP”是被算法正确分类的前景的个数。“FN”是算法将原图前景错误输出成背景的个数。“TN”是被算法正确分类的背景的个数。“FP”是算法将原图前景错误输出成背景的个数。理想目标为量子算法输出的边缘图像的灵敏度和特异度均达到100%，即输出图像和目标图像的GT图片完全吻合。“TP”可通过比较GT图和结果图的相同白色像素数量获得；“FN”可通过比较GT图白色像素和结果图的黑色像素的重合数获得；“TN”可通过比较GT图和结果图的相同黑色像素数量获得；“FN”可通过比较GT图黑色像素和结果图的白色像素的重合数获得，具体见图5结果评估矩阵。 图5. 结果评估矩阵 5.2. 测试结果 基于上述量子算法，我们测试七组图片，它们来自BSDS500数据集，一组为windows画图工具绘制的亮度渐变图，并对上述算法得到的边缘图像与数据集自带的GT图像比较，进行灵敏度和特异度测试。图6~13展示了来自BSDS500的待处理图像，图像的GT图，九种基于不同技术的量子算法输出的边缘图像和经典Canny算法的边缘图像。其中图组11中的原图添加了均值为0，方差为0.2的高斯噪声。表1给出这些算法(包括量子算法和经典算法)的统计结果，包括八组图像的平均灵敏度和特异度。见图6~13。 图6. 亮度渐变图像的边缘检测 Table 1 Test results of nine quantum edge detection algorithms and Canny edge detection algorithm 特征 sobel算子 prewitt算子 roberts算子 log算子 拉普拉斯算子 Image sensitivity % specificity % Sensitivity % specificity % sensitivity % specificity % sensitivity % specificity % sensitivity % specificity % 渐变 30.96 69.04 7.53 92.47 30.27 69.73 13.51 86.49 8.31 91.69 人脸 40.66 87.68 47.39 82.35 21.33 87.18 34.24 89.5 30.23 90.21 人物 34.09 88.7 37.54 86.69 28.43 86.02 20.05 90.69 22.84 89.26 动物 47.79 86.13 46.63 86.4 30.8 89.15 18.84 91.16 22.74 90.12 植物 38.27 89.38 27.47 94.11 25.75 95.15 20.64 94.12 23.77 91.77 风景 42.86 84.62 33.32 90.02 29.93 82.47 30.11 83.22 32.41 90.47 飞机 45.12 97.81 46.09 97.52 45.92 98.25 37.13 97.64 39.79 97.7 噪声 23.26 95.5 16.63 98.23 NA NA 8.11 96.45 NA NA 平均 37.88 87.36 32.83 90.97 30.35 86.85 22.83 91.16 25.73 91.60 特征 旋度算子 上下左右像素灰度差 像素灰度梯度 像素灰度梯度二阶差分 经典Canny算法 Image sensitivity % Specificity % Sensitivity % Specificity % sensitivity % specificity % sensitivity % specificity % sensitivity % specificity % 渐变 12.41 87.59 9.38 90.63 30.73 69.27 13.66 86.34 5.26 94.74 人脸 25.58 89.15 30.55 90.7 76.82 68.30 14.6 90.77 20.53 93.78 人物 23.38 86.4 37.04 83.52 36.48 86.63 24.51 84.04 18.27 92.14 动物 27.45 89.86 40.32 88.13 48.38 85.9 23.79 92.62 21.87 94.82 植物 15.83 92.94 45.21 88.25 38.43 96.09 21.65 93.05 15.76 95.4 风景 15.31 93.9 26.2 88.4 45.94 86.99 30.76 89.43 21.95 94.19 飞机 35.27 97.22 53.83 97.52 68.2 97.5 45.36 96.4 33.66 99.36 噪声 NA NA 22.79 97.96 26.11 98.11 12.11 94.06 17 98.59 平均 22.89 91.01 33.17 90.64 46.39 86.10 23.31 90.84 19.29 95.38 表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%。 图7. 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%以上。 图9. BSDS500蝴蝶图像的边缘检测 图10. BSDS500植物图像的边缘检测 图11. BSDS500金字塔图像的边缘检测 图12. BSDS500飞机图像的边缘检测 在噪声图像中，使用了Roberts算子、拉普拉斯算子和旋度算子的量子算法无法提取目标边缘，传统算法的结果为17.00%，而Sobel算子和像素梯度和梯度差的量子算法均取得大于22%的灵敏度。但是，在视觉效果上量子算法的除噪能力没有Canny算法强。至于特异度方面，传统算法的平均特异度为95.38%，而在灵敏度测试中表现较好的用Sobel算子为特征向量的量子算法和用像素梯度为特征向量的量子算法的平均特异度只有87.36%和86.10%，均低于90%，而其他特征向量的量子算法的平均特异度都大于90%，小于91.61%。低特异度这跟量子算法输出的边缘宽度较大有关。BSDS500数据局自带的Ground Truth图片的边缘宽度均为1像素，而量子算法得到部分边缘有数个像素宽。值得注意的是像素差的量子算法，在灵敏度测试和特异度测试中均取得较好的结果。 图13. 含噪声的BSDS500图像的边缘检测