图像分割与边缘检测是密切相关的计算机视觉任务。以下图1展示了一个海岸线分割模型的输出示例:
图1: 分割掩码到边缘图的转换过程(数据集:LICS)
模型将每个像素分类为陆地或海洋(分割掩码)。随后,海岸线被定义为分类发生变化的像素位置(边缘图)。边缘检测可以通过提取图像分割模型输出的边界来实现。
本文将研究这种关系来评估海岸图像分割模型。现有研究普遍采用基于混淆矩阵的指标,如准确率、精确率和召回率,这些指标将预测分割掩码中的所有像素与真实掩码进行比较。
但是这种方法可能会高估最关键区域——海岸线。
因为大多数像素位于海洋中心或被陆地完全包围,这使得它们比靠近海岸线的像素更容易分类。图2清晰地展示了这一点。这些错误可能会被大量正确分类的像素所掩盖。
图2: U-Net应用于LICS[2]的预测分割掩码示例。最后一幅图展示了预测结果,括号中的数字表示与真实掩码比较的准确率。红线表示真实海岸线边缘。可以观察到,仅有靠近海岸线的像素被错误分类。
通过将分割掩码转换为边缘图,我们可以应用专注于海岸线的评估指标。但是关于边缘检测模型评估的研究相对有限,尤其是在海岸线检测问题上的应用更是匮乏,所以本文进行了一项实验。
实验结果有助于理解哪些边缘检测评估指标最适合海岸线检测问题。值得注意的是,这一结论在一般边缘检测问题中同样适用。
边缘检测概述边缘检测是计算机视觉中的基础技术,旨在识别图像中像素强度的边界或突变。这些边界或"边缘"可能代表物体轮廓、纹理过渡,或表面方向的显著变化。
需要注意的是,利用图像分割的边界只是边缘检测的一种方法。其他方法包括直接输出边缘图的深度学习模型,以及基于梯度的方法,如Sobel或Canny算子。这些方法通过计算图像中像素强度的梯度或变化率来检测边缘。
图3: 基于梯度的边缘检测算法输出示例
最佳方法的选择取决于检测过程的具体目标。在某些情况下,我们可能需要找出图像中所有显著边缘。在其他情况下,我们可能只关注特定边缘,例如识别两个不同区域之间的边界。边缘检测评估指标主要适用于后一种情况。
边缘检测评估指标边缘检测算法的输出通常称为边缘图,这是一种二值图像,其中边缘像素为正类(1),非边缘像素为负类(0)。评估指标用于比较检测到的边缘图与真实边缘图。
本文首先回顾了相关综述论文[4, 5],这些论文建议使用基于混淆矩阵的指标。但是这些指标在应用于图像分割模型时的解释与边缘检测略有不同。例如:
真正例(TPs): 预测的边缘像素与真实边缘位于相同位置的数量。
准确率: 正确标记的边缘像素的百分比。
除此之外,综述论文还提到了一些更为专门的指标,这些指标旨在捕捉边缘检测问题的独特特征。
均方根误差(RMSE)和峰值信噪比(PSNR)均方误差(MSE)是一个常用指标,已被改编用于评估边缘检测模型。基于MSE,我们可以得到RMSE和PSNR。
RMSE值越小表示性能越好,而PSNR值越大表示性能越好。由于这两个指标都基于MSE,我们可以预期它们会得出类似的结论。
结构相似性指数(SSIM)SSIM是一种广泛用于评估图像质量的指标。它试图以更接近人类视觉系统识别对称性的方式比较图像[6]。SSIM包括三个组成部分:亮度(l)比较图像的亮度,对比度(c)测量像素变化的相似性,结构(s)比较图像中模式的相似性。
在将SSIM应用于边缘检测时,需要考虑我们处理的是二值图像。例如,亮度(l)现在将比较边缘像素的平均数量。结构(s)可能是最重要的组成部分,因为我们最终比较的是图像的结构。
优点图(FOM)FOM[5]是一个相对较少使用的指标。它衡量检测到的边缘与真实边缘之间的平均距离。在海岸线检测问题中,这可以量化预测海岸线与实际海岸线的平均偏差。
由于FOM在Python中缺乏现成的实现,以下代码提供了一个FOM的实现示例:
def fom(self,ref_img,img, alpha = 1.0 / 9): """ 计算给定图像img的Pratt优点图,使用金标准图像作为理想边缘像素的参考。 """ # 计算金标准图像的距离变换 dist = distance_transform_edt(np.invert(ref_img)) fom = 1.0 / np.maximum( np.count_nonzero(img), np.count_nonzero(ref_img)) N, M = img.shape for i in range(N): for j in range(M): if img[i, j]: fom += 1.0 / ( 1.0 + dist[i, j] * dist[i, j] * alpha) fom /= np.maximum( np.count_nonzero(img), np.count_nonzero(ref_img)) return fom
这些指标在各种边缘检测问题的评估中都有应用。例如:
SSIM用于比较图像降采样前后边缘检测算法的质量[7]。
PSNR和SSIM的组合用于评估医学图像中预测的边缘[8]。
FOM应用于X射线图像分析[9]。
尽管这些应用表明这些指标可能适用于海岸线检测问题,但我们仍需进行深入的实验研究来验证其有效性。
实验设计为了深入理解这些评估指标,本文将它们应用于Sentinel-2水体边缘数据集(SWED)[3]。我们使用了包含49个测试位置的98张Sentinel-2卫星图像的测试集。每个样本包括12个光谱波段作为输入,以及一个二值分割掩码作为输出,其中每个像素被分类为陆地(0)或水体(1)。这些掩码随后被转换为边缘图以进行分析。
SWED测试集示例
光谱波段代表卫星记录的不同波长的电磁辐射。这包括常见的可见光波段(红、绿、蓝),以及人眼不可见的波长,如红外光。虽然我们考虑了所有波段,但本文重点关注近红外(NIR)波段,因为它在遥感问题中对水体提取特别重要[10]。
我们对每个图像的NIR波段应用了Canny边缘检测算法。选择Canny算法是因为其灵活性,特别是可以调整上(t1)和下(t2)滞后阈值。通过改变这些阈值,我们可以调整Canny算法对图像中边缘的敏感度。
理论上,随着阈值的增加,Canny算法应该对噪声边缘(如由海浪和陆地开发造成的)变得不那么敏感。在某个临界点,甚至显著的海岸边缘也会被排除。下图4展示了这种效果。
图4: Canny滞后阈值增加的效果示例。括号中给出了下(t2)和上(t1)阈值。
本实验使用了6个阈值水平: [50,100], [50,150], [100,200], [100,300], [200,400], [200,600],其中分别给出了t2和t1。实验的目标是评估边缘检测指标在选择最佳阈值水平方面的可靠性。这一评估通过视觉分析和趋势分析来完成。
视觉分析在应用边缘检测指标之前,我们首先进行了视觉分析。对于98张海岸线图像中的每一张,我们选择了与真实边缘图最相似的检测边缘图,即选择了最佳的阈值水平。
然后应用RMSE、PSNR、SSIM和FOM,并记录产生这些指标最佳结果的阈值。这使我们能够将指标选择的检测边缘图与专家选择的进行比较。
下图5展示了这种分析的一些典型示例。可以看到随着阈值的增加(从左到右),检测到的边缘数量逐渐减少。对于每幅图像,每个指标的最佳值以粗体标出。RMSE、PSNR和SSIM倾向于选择具有更高阈值的边缘图,而FOM倾向于选择更接近真实边缘图的结果。
图5: FOM正确识别视觉上最接近真实值的检测边缘图的示例。每行代表一个不同的示例图像。列展示了使用递增滞后阈值检测的边缘图。粗体数字表示每个指标的最佳值。
分析结果表明,FOM是选择最佳阈值的最可靠指标。它能够在92.6%的情况下选择更好的阈值,在66.3%的情况下选择最佳阈值。相比之下,RMSE、PSNR和SSIM分别只能在6.3%、6.3%和11.6%的情况下选择最佳阈值。
这些结果为FOM作为最适合的指标提供了强有力的经验证据。但是这个过程仍然存在一定的主观性。
趋势分析下图6中展示的趋势为FOM是最可靠指标提供了更客观的证据。这些图表展示了测试集中所有图像的指标平均值。
随着阈值的增加,Canny算法检测到的边缘数量减少。在这个过程中,可以观察到RMSE、PSNR和SSIM呈现单调改善的趋势。这表明这些指标可能倾向于选择边缘较少的图像,而不是最接近真实值的图像。相比之下FOM没有表现出这种单调改善的趋势。
图6: NIR光谱波段的平均RMSE、PSNR、SSIM和FOM,误差条表示标准偏差。
图6中的误差条代表每个阈值下指标值的标准偏差。我们可以观察到FOM值的相对变异性更大。这符合我们对能够识别最佳检测边缘图的指标的预期。
考虑到每幅图像中存在不同的条件,预计最佳阈值会有所不同。例如在某些图像中,由于海岸线与其他边缘的对比更加明显,可能能够使用更高的阈值。这导致在对所有图像进行评估时,某个阈值水平的变异性更高。
数学分析为了深入理解这些结果,我们对RMSE、PSNR和SSIM的公式进行了详细分析。比较边缘图是比较两幅图像的特殊情况,其中像素值只能取1或0。
这意味着MSE中的值(Ei,j − Gi,j )²对于错误标记的像素将取值为1,否则为0。
基于这一观察,可以用基于混淆矩阵的度量重新表述MSE:
进一步分析表明,随着阈值的增加,被标记为边缘的像素数量减少。这导致假阳性(FP)减少而假阴性(FN)增加。这些变化对MSE产生了相反的影响。但是我们观察到FP的减少速度通常快于FN的增加速度。这解释了为什么随着阈值的增加,MSE(因此RMSE和PSNR)呈现单调改善的趋势。
SSIM的数学分析稍微复杂一些,但也可以用类似的方式重新表述。完整的推导可以在附录中找到。尽管SSIM的关系不如MSE那么直接,但它可能以类似的方式受到混淆矩阵度量单调变化的影响。
这些单调变化解释了本文中观察到的结果。随着Canny算法的阈值水平增加,检测到的边缘数量减少,导致RMSE、PSNR和SSIM的值单调改善。换言之这些指标倾向于选择产生较少边缘的阈值水平,而不是最接近真实边缘图的阈值水平。
这种效应并不一定存在于所有边缘检测问题中。其他方法如基于深度学习的方法,可能不会表现出这种敏感性机制。
MSE和SSIM的重新表述表明,这些指标相对于基于混淆矩阵的传统指标并没有显著优势。对于一般的边缘检测问题,使用这些复杂的指标可能会增加不必要的计算复杂性,而没有提供额外的洞察。
所有这些指标的一个共同缺点是,它们对错误标记的像素给予相同的权重,无论这些像素与真实边缘的距离如何。在海岸线检测的背景下,这意味着一个离实际海岸线几米远的像素与一个几公里远的像素会被同等对待。
相比之下,FOM通过纳入像素之间的距离提供了一个更有意义的度量。在海岸线检测问题中,FOM直接量化了检测到的海岸线与实际海岸线之间的平均距离。
FOM提供了检测到的边界和真实边界之间平均距离的度量。当与混淆矩阵指标结合使用时,FOM可以在评估边缘检测或图像分割模型时提供独特且有价值的信息。
讨论与总结本文通过对RMSE、PSNR、SSIM和FOM这四种边缘检测评估指标的深入分析,揭示了它们在评估边缘检测算法性能时的优缺点。尽管研究的初始动机来自海岸线检测的具体问题,但所得出的结论对广泛的边缘检测应用都具有重要意义。
主要发现FOM的优越性: 实验结果明确表明,FOM在选择最佳边缘检测参数方面显著优于其他指标。FOM能够在92.6%的情况下选择更好的阈值,在66.3%的情况下选择最佳阈值。这一性能远远超过了RMSE、PSNR和SSIM。
RMSE、PSNR和SSIM的局限性: 这些指标表现出对低边缘密度图像的偏好,这可能导致对实际边缘检测性能的错误评估。它们倾向于选择产生较少边缘的参数设置,而不是最准确反映真实边缘的设置。
距离信息的重要性: FOM的优势主要源于其考虑了预测边缘与真实边缘之间的空间距离。这一特性在评估边缘检测算法的准确性时至关重要,尤其是在如海岸线检测等应用中,边缘的精确位置非常关键。
指标的数学基础: 对RMSE、PSNR和SSIM的数学分析揭示了它们实质上是基于混淆矩阵的度量的变体。这解释了为什么它们可能不比传统的分类评估指标(如准确率、精确率和召回率)提供更多信息。
尽管本文的实验集中在海岸线检测上,但其结论对各种边缘检测应用都有重要意义:
医学图像分析: 在诊断图像中准确定位器官或肿瘤边界至关重要。FOM可以提供更准确的评估,因为它考虑了预测边缘与真实边界的距离。
计算机视觉: 在物体识别和场景理解任务中,准确的边缘检测可以显著提高性能。使用FOM评估这些系统可以更好地反映它们在实际应用中的效果。
遥感: 除了海岸线检测,FOM可以应用于其他遥感任务,如森林边界检测、城市扩张监测等。
工业应用: 在质量控制和缺陷检测等领域,边缘检测的精度直接影响系统的可靠性。FOM提供了一种更合适的方法来评估这些系统的性能。
未来研究方向FOM的改进: 尽管FOM表现优异,但仍有改进空间。未来的研究可以探索如何更好地权衡距离误差和边缘检测的其他方面。
计算效率: 对于大规模数据集,FOM的计算可能比RMSE或PSNR更耗时。研究如何提高FOM的计算效率将有助于其在实际应用中的广泛采用。
与深度学习的结合: 随着深度学习在边缘检测中的应用越来越广泛,研究如何将FOM整合到神经网络的损失函数中可能会带来有趣的结果。
多指标评估框架: 虽然FOM在许多情况下表现优异,但综合使用多个指标可能会提供更全面的评估。开发一个能够智能结合多个指标的评估框架是一个有价值的研究方向。
总结本文通过理论分析和实证实验,明确展示了FOM在边缘检测评估中的优越性。相比之下,RMSE、PSNR和SSIM在这一任务中表现出明显的局限性。这一发现不仅对海岸线检测具有直接意义,还可广泛应用于各种需要精确边缘定位的计算机视觉任务。
研究结果强调了在选择评估指标时考虑任务特定需求的重要性。对于边缘检测这样的任务,仅仅依赖于像素级比较的指标可能无法充分反映算法的实际性能。FOM通过考虑空间距离信息,提供了一个更加合理和实用的评估标准。
本文代码:
https://github.com/conorosully/edge-detection-metrics
引用[1] C. O’Sullivan, S. Coveney, X. Monteys and S. Dev, “The Effectiveness of Edge Detection Evaluation Metrics for Automated Coastline Detection,” 2023 Photonics & Electromagnetics Research Symposium (PIERS) https://arxiv.org/abs/2405.11498
[2] O’Sullivan, C., Kashyap, A., Coveney, S., Monteys, X. and Dev, S., 2024. Enhancing coastal water body segmentation with Landsat Irish Coastal Segmentation (LICS) dataset. Remote Sensing Applications: Society and Environment, p.101276. https://arxiv.org/abs/2409.15311
[3] C. Seale, T. Redfern, P. Chatfield, C. Luo, and K. Dempsey. Coastline detection in satellite imagery: A deep learning approach on new benchmark data. Remote Sensing of Environment, 278:113044, 2022.
[4] D. Sadykova and A. P. James. Quality assessment metrics for edge detection and edge-aware filtering: A tutorial review. In 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pages 2366–2369. IEEE, 2017.
[5] N. Tariq, R. A. Hamzah, T. F. Ng, S. L. Wang, and H. Ibrahim. Quality assessment methods to evaluate the performance of edge detection algorithms for digital image: A systematic literature review. IEEE Access, 9:87763–87776, 2021.
[6] Z. Wang, A. Bovik, H. Sheikh, and E. Simoncelli. Image quality assessment: from error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4):600–612, 2004.
[7] Y. W. Kim and A. V. Krishna. A study on the effect of canny edge detection on down-scaled images. Pattern Recognition and Image Analysis, 30:372–381, 2020.
[8] R. Menaka, C. Chellamuthu, and R. Karthik. Efficient feature point detection in ct images using discrete curvelet transform. 2013.
[9] W.-C. Lin and J.-W. Wang. Edge detection in medical images with quasi-high-pass filter based on local statistics. Biomedical Signal Processing and Control, 39:294–302, 2018.
[10] J. P. Mondejar and A. F. Tongco. Near infrared band of landsat 8 as water index: a case study around cordova and lapu-lapu city, cebu, philippines. Sustainable Environment Research, 29:1–15, 2019.
https://avoid.overfit.cn/post/28d6097646cb4ef2bb6d7380431952b9
作者:Conor O'Sullivan