了解图像处理中的边缘检测

阿比拉米-维纳

5 分钟阅读

2025 年 8 月 25 日

图像处理中的边缘检测。学习 Sobel、Canny 和其他边缘检测算法,以准确检测边缘并实现稳健的边缘识别。

作为人类,我们在观察图像时会自然而然地识别出物体的边缘,追踪其曲线,并注意到物体表面的纹理。然而,对于计算机来说,理解是从单个像素开始的。

像素是数字图像的最小单位,在一个点上存储颜色和亮度。通过跟踪这些像素值在整个图像中的变化,计算机可以检测出揭示关键细节的模式。

特别是,图像处理使用像素数据来强调基本特征并去除干扰。边缘检测是一种常见的图像处理技术,它能识别亮度或颜色发生急剧变化的点,从而勾勒出物体轮廓、标记边界并增加结构。

这样,计算机就能分离形状、测量尺寸并解释场景各部分之间的联系。边缘检测通常是高级图像分析的第一步。

图 1.显示原始图像和不同边缘检测方法输出结果的示例。(资料来源)

在本文中,我们将了解什么是边缘检测、边缘检测的工作原理及其在现实世界中的应用。让我们开始吧!

边缘检测概念

边缘检测主要是寻找图像中亮度或颜色从一点到另一点发生明显变化的地方。如果变化较小,则该区域看起来比较平滑。如果变化剧烈,则往往标志着两个不同区域的边界。

以下是发生这些像素变化的一些原因:

  • 表面法线不连续:当两个表面以一定角度相交时,如墙角或盒子边缘,这种方向上的急剧变化会在图像中产生明显的边界。
  • 深度不连续:它们出现在物体与摄像机距离不同的地方,产生明显的分隔,有助于系统分辨物体。
  • 表面颜色或纹理变化
  • 照明变化:它产生于光照变化,包括表面上的阴影或高光,即使表面本身是光滑或连续的,也会产生明显的分隔。
图 2.图像中不同类型的边缘不连续性。(资料来源)

边缘检测识别如何工作

边缘检测通常先将彩色图像转换成灰度图像,这样每个点就只显示亮度。这样,算法就更容易关注明暗差异,而不是颜色。

接下来,特殊的滤镜可以扫描图像,找到亮度突然变化的地方。这些滤镜会计算亮度变化的陡度,即梯度。梯度越大,说明附近点之间的差异越大,这通常是边缘的信号。

然后,算法会不断细化图像,去除小细节,只保留最重要的线条和形状。最终得到轮廓清晰的输出图像,可用于进一步分析。

边缘检测和图像处理的发展

在详细了解边缘检测之前,我们先来讨论一下它是如何逐渐发展起来的。

图像处理始于简单、基于规则的方法,如阈值处理和滤波,用于清理和改进图片。在模拟时代,这意味着使用光学滤镜、放大镜或化学处理来处理照片或胶片,以突出细节。 

对比度调整、降噪、调整图像强度和基本边缘检测等技术有助于使输入图像更加清晰,并突出形状和纹理。二十世纪六七十年代,从模拟处理到数字处理的转变为天文学、医学成像和卫星监测等领域的现代分析开辟了道路。

到了 20 世纪 80 和 90 年代,速度更快的计算机使得处理更复杂的任务(如特征提取、形状检测和基本物体识别)成为可能。索贝尔算子和坎尼等算法提供了更精确的边缘检测,而模式识别则应用于从工业自动化到通过光学字符识别阅读印刷文本等各个方面。

21 世纪的边缘检测和计算机视觉

如今,技术的不断进步促进了计算机视觉的发展。视觉人工智能或计算机视觉是人工智能的一个分支,主要研究如何教会机器解释和理解视觉信息。 

传统的图像处理,如双阈值处理(通过保留强边缘和去除弱边缘使图像更清晰)和边缘检测,遵循固定的规则,只能处理特定的任务,而计算机视觉使用数据驱动的模型,可以从实例中学习并适应新的情况。 

如今,成像系统的功能远不止增强图像或检测边缘。它们可以识别物体、跟踪运动并了解整个场景的背景。 

其中一项关键技术就是卷积。卷积操作是一个由小型滤波器(也称作内核)扫描图像以发现边缘、角落和纹理等重要模式的过程。这些模式成为计算机视觉模型用来识别和理解物体的基石。

例如,Ultralytics YOLO11等计算机视觉模型使用这些基于卷积的特征来执行实例分割等高级任务。这与边缘检测密切相关,因为实例分割需要准确勾勒出图像中每个物体的边界。 

边缘检测的重点是发现边缘像素的强度变化以标记对象边缘,而实例分割则是在此基础上检测边缘、进行分类,并将每个对象分离到各自的区域中。

图 3.使用 YOLO11 和实例分割的情况。(资料来源)

边缘检测算法和方法

随着计算机视觉技术的发展,图像处理仍然是许多应用的重要组成部分。这是因为计算机视觉通常建立在基本的图像预处理步骤之上。 

在检测物体或了解场景之前,系统通常会清理图像、减少噪点、寻找边缘,以突出关键细节。这些步骤可使高级模型更加准确和高效。

接下来,让我们来探讨一些用于检测边缘的最常用图像处理算法及其工作原理。 

Sobel 边缘检测

索贝尔边缘检测是一种用于查找图像中物体轮廓的重要方法。它不是一次性分析每个细节,而是重点分析从一个像素到下一个相邻像素亮度变化剧烈的区域。 

这些突然的变化通常标志着一个物体的结束点和另一个物体的开始点,或者一个物体与背景的交汇点。通过分离这些边缘,索贝尔可以将复杂的图像转化为更清晰的轮廓,便于其他系统进行处理,以完成跟踪运动、检测形状或识别物体等任务。

你可以把索贝尔边缘检测看作是一种梯度检测器,它可以测量图像上的强度变化。其核心是通过卷积操作:在图像上滑动称为 "核 "的小矩阵,并计算相邻像素值的加权和。 

这些内核旨在强调沿水平和垂直方向的亮度变化。与从数据中学习内核的深度学习模型不同,索贝尔使用固定的内核,无需训练即可高效地突出边缘。

下面我们来看看索贝尔边缘检测方法是如何工作的:

  • 使用两个 3×3 滤波器:这种方法使用两个微小的 3×3 网格,称为滤镜。把它们想象成在水平方向(X 方向)和垂直方向(Y 方向)上滑动的模板。一个网格用于查找水平边缘,另一个用于查找垂直边缘。

  • 计算梯度:每个滤镜都能发现亮度变化的速度和梯度方向。变化大意味着可能存在边缘。

  • 合并结果:结合水平和垂直结果,确定每个像素的整体边缘强度和方向。

  • 检测边缘梯度幅度大的像素被标记为强边缘。

  • 勾勒边界:这些边缘有助于确定物体的形状,并将图像中的不同区域分隔开来。
图 4 边缘检测Sobel 边缘检测可以突出输入图像的主要轮廓并生成边缘图。(资料来源) 

狡猾的边缘检测

Canny 边缘检测是另一种在图像中查找边缘的常用方法。它以生成干净、精确的轮廓而著称。与基本的边缘检测技术不同,它采用一系列精心设计的步骤来过滤噪音、锐化边界并聚焦于最重要的边缘。 

下面简要介绍一下 Canny 边缘检测器的工作原理:

  • 平滑图像:首先使用高斯滤波器对图像进行模糊处理,这种平滑技术可减少噪音和可能被误认为边缘的小细节。
  • 检测亮度变化:然后,算法会扫描亮度的急剧变化,利用梯度计算来测量这些变化的强度和方向。

  • 减薄边缘只保留每条检测线上最强的点,而去除较弱的点,从而得到清晰、干净的边缘。

  • 边缘分类:根据亮度变化的阈值,将每个像素标记为强边缘、弱边缘或非边缘。

  • 最后清理:保留与强边相连的弱边,舍弃所有其他边,只留下清晰、相连的边界。
图 5.使用 Canny 边缘检测器后的原始图像和相应的输出图像。(资料来源)

由于 Canny 边缘检测在过滤噪声的同时还能提供精确的结果,因此被广泛应用于精度要求较高的领域。例如,它被用于医疗成像、卫星测绘、文档扫描和机器人视觉等行业。

基于梯度的边缘检测与基于高斯的边缘检测

到目前为止,我们已经了解了索贝尔(Sobel)和坎尼(Canny)这两种边缘检测方法。虽然两者的目的都是找到边缘,但它们处理问题的方法却不尽相同。

基于梯度的方法(如 Sobel、Prewitt 和 Scharr)通过寻找亮度的急剧变化(即梯度)来检测边缘。它们扫描图像,并在变化最强烈的地方标记出来。这些方法简单、快速,在图像清晰时效果很好。不过,它们对噪声很敏感--亮度的微小变化可能会被误认为是边缘。

基于高斯的方法(如 Canny 或高斯拉普拉斯)在处理这一问题时增加了一个额外的步骤:首先对图像进行模糊处理。这种通常使用高斯滤波器进行的平滑处理可以减少可能产生虚假边缘的微小变化。经过平滑处理后,这些方法仍然可以寻找到锐利的亮度变化,但对于有噪声或低质量的图像来说,结果会更清晰、更准确。

图 6.基于梯度的边缘检测与基于高斯的边缘检测。图片由作者提供。

边缘检测的实际应用

在更好地了解边缘检测的工作原理后,让我们来探讨一下它在现实世界中是如何应用的。

利用边缘检测识别裂缝

检查桥梁和高层建筑等大型混凝土结构通常是一项具有挑战性和危险性的任务。这些结构可能跨度很长或海拔很高,使得传统的检查工作变得缓慢、昂贵和危险。这些检测通常还需要脚手架、绳索、人工近距离测量或摄影。

2019 年,研究人员探索了一种有趣的方法,即使用配备高分辨率相机的无人机来捕捉混凝土表面的详细输入图像,从而测试了一种更安全、更快速的方法。然后使用各种边缘检测技术对这些图像进行处理,以自动识别裂缝。

研究表明,这种方法大大减少了人类直接进入危险区域的需要,加快了检查速度。不过,其准确性仍取决于照明条件、图像清晰度和无人机稳定运行等因素。在某些情况下,仍需要人工审查以消除误报。

在医学成像中应用边缘检测

X 射线和核磁共振成像通常会产生视觉干扰,也就是所谓的噪点,这会使精细的细节变得难以辨认。当医生试图发现肿瘤边缘、追踪器官轮廓或监测随时间发生的微妙变化时,这就成为了一项挑战。

最近的一项医学影像研究测试了常见的边缘检测方法(如 Sobel、Canny、Prewitt 和 Laplacian)处理噪声图像的能力。研究人员在图像中添加了不同类型和程度的噪声,并检查了每种方法能在多大程度上准确勾勒出重要特征。

Canny 通常能产生最干净的边缘,即使在噪点较多的情况下也是如此,但它并不是在所有情况下都是最好的。有些方法在某些噪声模式下效果更好,因此没有一个完美的解决方案。

图 7随着噪声的增加,Canny(d-f)比 Sobel(g-i)能提供更清晰的边缘。(资料来源)

这就凸显了计算机视觉等技术如此重要的原因。通过结合先进的算法和视觉人工智能模型,此类解决方案可以超越基本的边缘检测,即使在具有挑战性的条件下也能提供更准确、更可靠的结果。

边缘检测的优点

以下是使用边缘检测和图像处理的一些好处: 

  • 更好的数据压缩:边缘检测可仅使用关键特征来表示图像,从而在保留基本信息的同时减小文件大小。这使得存储和传输更加高效。

  • 更精确的物体定位:通过准确识别物体边界,边缘检测提高了系统定位和跟踪物体的能力,使机器人和自动驾驶汽车中的视觉人工智能等应用受益匪浅。

  • 多尺度特征检测:边缘检测技术可以分析不同尺度的图像,捕捉小细节和大形状。这种灵活性适用于从纹理分析到场景理解等各种任务。

使用图像处理进行边缘检测的局限性

图像处理中的边缘检测有很多好处,但也存在一些挑战。以下是一些需要考虑的关键限制:

  • 复杂纹理的问题:在具有复杂或重复图案的图像中,边缘检测往往会产生许多错误或不相关的边缘,从而使进一步的分析变得复杂并降低可靠性。

  • 对光照敏感:亮度、阴影和反射的变化会使边缘检测器将光照变化误解为物体边界,从而导致结果不一致。

  • 无法识别物体:虽然边缘能突出显示物体的起点和终点,但不能显示物体是什么。要为检测到的边缘赋予意义或标签,还需要额外的处理。

计算机视觉何时可用于边缘检测

边缘检测的灵感来自于我们的眼睛和大脑是如何协同工作来感知世界的。在人类视觉中,视觉皮层中的专门神经元对边缘、线条和边界高度敏感。 

这些视觉线索能帮助我们快速确定一个物体在哪里结束,另一个物体在哪里开始。这就是为什么即使是一幅简单的线描图也能让人一眼认出--我们的大脑在很大程度上依赖边缘来识别形状和物体。

计算机视觉旨在模仿这种能力,并在此基础上更进一步。Ultralytics YOLO11 等模型超越了基本的边缘突出和图像增强。它们可以检测物体,精确地勾勒出物体轮廓,并实时跟踪运动轨迹。这种更深层次的理解能力使它们在仅有边缘检测功能还不够的场景中发挥着至关重要的作用。

使用 Ultralytics YOLO11 更准确地检测边缘

以下是 YOLO11 支持的一些关键计算机视觉任务,这些任务以边缘检测为基础,并超出了边缘检测的范围:

  • 物体检测:它通过在每个物体周围绘制边框来识别和定位图像或视频中的多个物体,从而清楚地显示出每个物体的存在和位置。

  • 实例分割:这包括将对象细分到像素级别,即使对象重叠或形状不规则,也能生成干净精确的轮廓。

  • 姿势估计:其目的是确定物体或人的位置、方向或姿势,这有助于监控运动或检测结构随时间的变化。

  • 物体跟踪:这项任务是跟踪物体在视频帧中的移动,确保识别的一致性,以便进行准确的长期观察。

  • 图像分类:它根据物体或整个图像的视觉特征为其分配标签,使组织和解释大型数据集变得更容易

利用计算机视觉检测基础设施的边缘

基础设施和工业资产的裂缝检测就是计算机视觉增强传统上依赖边缘检测的应用的一个很好的例子。像 YOLO11 这样的计算机视觉模型经过训练后,可以准确识别道路、桥梁和管道上的裂缝。同样的技术还可应用于飞机维护、建筑检测和制造质量控制,帮助加快检测速度并提高安全性。

图 8.使用 YOLO11 进行裂缝分割的示例。(资料来源)

主要收获

从早期的简单方法到如今能在复杂图像中发现细微边界的先进技术,边缘检测技术已经取得了长足的进步。它有助于突出重要细节,突出关键区域,并为图像的深入分析做好准备,使其成为图像处理的核心部分。

在计算机视觉中,边缘检测在定义形状、分离物体和提取有用信息方面发挥着重要作用。它被广泛应用于医疗成像、工业检测、自动驾驶和安全等领域,以提供准确可靠的视觉理解。

加入我们的社区,探索我们的GitHub 存储库,了解有关人工智能的更多信息。如果您想启动自己的视觉人工智能项目,请查看我们的 许可选项。访问我们的解决方案页面,了解更多有关人工智能在医疗保健零售业中的应用。

让我们共同打造人工智能的未来

开始您的未来机器学习之旅

免费开始
链接复制到剪贴板