Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
指南

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

了解图像处理中边缘检测的工作原理、Sobel 和 Canny 算法如何寻找物体边界,以及计算机视觉模型如何进一步拓展应用。

Abirami VinaAbirami Vina11 分钟阅读
图像处理中的边缘检测

人类在观察图像时,会自然地识别物体边缘、追踪物体的曲线,并注意其表面纹理。然而,计算机是从单个像素层面开始理解图像的。

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

具体来说,图像处理利用像素数据突出关键特征并消除干扰。边缘检测是一种常见的图像处理技术,它会识别亮度或颜色急剧变化的位置,以勾勒物体轮廓、标记边界并建立结构。

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

原始图像及不同边缘检测方法的输出结果

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

本文将介绍边缘检测的定义、工作原理及其实际应用。

边缘检测的概念#

边缘检测着重寻找图像中亮度或颜色从一个点到下一个点发生明显变化的位置。如果变化很小,该区域看起来就很平滑;如果变化很剧烈,通常就表示两个不同区域之间的边界。

像素值发生变化的原因有以下几种:

  • 表面法线不连续:当两个表面以一定角度相交时,例如墙角或箱子的边缘,朝向的急剧变化会在图像中形成清晰的边界。
  • 深度不连续:当物体与摄像机的距离不同时,就会出现这种情况,形成可见的分隔,帮助系统区分这些物体。
  • 表面颜色或纹理变化:当某个区域的颜色或纹理与相邻区域不同时,就会产生可见的分隔。
  • 光照变化:光照变化会造成这种现象,包括表面上的阴影或高光;即使表面本身平滑或连续,也会因此出现可见的分隔。

图像中不同类型的边缘不连续

图 2. 图像中不同类型的边缘不连续。(来源)

边缘检测是如何工作的#

边缘检测通常从将彩色图像转换为灰度图像开始,这样每个点只表示亮度。这样一来,算法就能更专注于明暗差异,而不是颜色。

接下来,特殊滤波器会扫描图像,寻找亮度突然变化的位置。这些滤波器会计算亮度变化的陡峭程度,也就是梯度。梯度越大,表示相邻点之间的差异越明显,而这往往意味着存在边缘。

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

边缘检测与图像处理的发展#

在深入了解边缘检测之前,我们先来看看它的发展历程。

图像处理最初采用简单的规则方法,例如阈值处理和滤波,以清理和改善图像。在模拟时代,人们通过光学滤镜、放大镜或化学处理来处理照片或胶片,从而呈现更多细节。

对比度调整、降噪、图像强度调整和基础边缘检测等技术,有助于使输入图像更加清晰,并突出形状和纹理。在 20 世纪 60 年代和 70 年代,从模拟处理转向数字处理,为天文学、医学影像和卫星监测等领域的现代分析铺平了道路。

到了 20 世纪 80 年代和 90 年代,更快的计算机让人们能够处理特征提取、形状检测和基础目标识别等更复杂的任务。Sobel 算子和 Canny 边缘检测器等算法提升了边缘检测的精度,而模式识别的应用范围也不断扩大,从工业自动化到通过光学字符识别读取印刷文本,涵盖诸多领域。

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

如今,技术不断稳步进步,推动了计算机视觉的发展。视觉 AI(也称计算机视觉)是 AI 的一个分支,致力于教会机器解读和理解视觉信息。

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

如今,成像系统的功能早已不只是增强图像或检测边缘。它们能够识别物体、跟踪运动,并理解整个场景的上下文。

实现这一目标的一项关键技术是卷积。卷积运算是指用小型滤波器(也称为卷积核)扫描图像,找出边缘、角点和纹理等重要模式。这些模式构成了计算机视觉模型识别和理解物体的基础。

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

边缘检测侧重于寻找边缘像素的强度变化,以标记物体边缘;实例分割则在此基础上检测边缘、对物体分类,并将每个物体分割为独立区域。

使用 Ultralytics YOLO11 进行实例分割一览

图 3. 使用 Ultralytics YOLO11 进行实例分割一览。(来源)

边缘检测算法与方法#

尽管计算机视觉不断发展,图像处理仍是许多应用中的重要组成部分。这是因为计算机视觉通常建立在基础图像预处理步骤之上。

在检测物体或理解场景之前,系统通常会先清理图像、降低噪声并查找边缘,让关键细节更加突出。这些步骤能提高高级模型的准确性和效率。

接下来,我们来了解一些最常见的边缘检测图像处理算法,以及它们的工作原理。

Sobel 边缘检测#

Sobel 边缘检测是一种用于寻找图像中物体轮廓的关键方法。它不会一次分析所有细节,而是专注于亮度从一个像素到相邻像素急剧变化的区域。

这些突变通常标示出一个物体结束、另一个物体开始的位置,或物体与背景的交界处。Sobel 会分离这些边缘,将复杂图像转换为更清晰的轮廓,便于其他系统处理运动跟踪、形状检测或物体识别等任务。

你可以把 Sobel 边缘检测看作一种梯度检测器,用于测量图像中强度的变化。它的核心原理是卷积运算:将称为卷积核的小矩阵在图像上滑动,并计算相邻像素值的加权和。

这些卷积核经过专门设计,能够突出水平方向和垂直方向的亮度变化。深度学习模型的卷积核是从数据中学习得到的,而 Sobel 使用固定卷积核,无需训练即可高效突出边缘。

下面详细介绍 Sobel 边缘检测方法的工作原理:

  • 使用两个 3×3 滤波器:该方法使用两个小型 3×3 网格,称为滤波器。你可以把它们想象成在图像上滑动的模板,分别沿水平方向(x 方向)和垂直方向(y 方向)移动。一个网格用于检测水平边缘,另一个用于检测垂直边缘。
  • 计算梯度:每个滤波器都会测量亮度沿其方向变化的速度。变化越大,就越可能存在边缘。
  • 合并结果:系统会合并水平和垂直方向的结果,以确定每个像素处边缘的整体强度和方向。
  • 检测边缘:梯度幅值较大的像素会被标记为强边缘。
  • 勾勒边界:这些边缘有助于确定物体形状,并分隔图像中的不同区域。

Sobel 边缘检测突出显示输入图像的主要轮廓

图 4. Sobel 边缘检测可以突出显示输入图像的主要轮廓,并生成边缘图。(来源)

Canny 边缘检测#

Canny 边缘检测是另一种常用的图像边缘查找方法,以生成清晰、精确的轮廓而闻名。与基础边缘检测技术不同,它会遵循一系列经过精心设计的步骤来滤除噪声、锐化边界,并聚焦于最重要的边缘。

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

  • 平滑图像:首先使用高斯滤波器模糊图像。这种平滑技术可减少噪声和细小细节,避免它们被误认为边缘。
  • 检测亮度变化:随后,算法会扫描亮度的剧烈变化,并通过梯度计算来测量这些变化的强度和方向。
  • 细化边缘:每条检测到的线只保留最强的点,并去除较弱的点,从而得到清晰、干净的边缘。
  • 对边缘分类:根据亮度变化的阈值,将每个像素标记为强边缘、弱边缘或非边缘。
  • 最终清理:保留与强边缘相连的弱边缘,舍弃其他弱边缘,最终只留下清晰、连通的边界。

原始图像以及使用 Canny 边缘检测器处理后的输出

图 5. 原始图像以及使用 Canny 边缘检测器处理后的对应输出图像。(来源)

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

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

到目前为止,我们介绍了两种边缘检测方法:Sobel 和 Canny。两者的目标都是寻找边缘,但解决问题的方式不同。

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

基于高斯的方法(如 Canny 或高斯拉普拉斯)会增加一个步骤来解决这个问题:先模糊图像。这种平滑处理通常使用高斯滤波器,可以减少可能产生伪边缘的细微变化。平滑之后,这些方法仍会寻找亮度的剧烈变化,但对于有噪声或质量较低的图像,结果会更加清晰、准确。

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

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

边缘检测的实际应用#

了解边缘检测的工作原理后,接下来看看它在现实场景中的应用。

使用边缘检测识别裂缝#

检查桥梁和高层建筑等大型混凝土结构,往往既困难又危险。这些结构可能绵延很长或高耸入云,导致传统检查方式耗时、昂贵且风险高。此类检查通常还需要搭建脚手架、使用绳索作业、人工近距离测量或拍照。

2019 年,研究人员探索了一种更安全、更快捷的方法:使用配备高分辨率摄像头的无人机拍摄混凝土表面的详细输入图像,然后运用各种边缘检测技术处理图像,自动识别裂缝。

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

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

X 射线和 MRI 图像通常含有称为噪声的视觉干扰,这会让细节更难看清。医生在尝试识别肿瘤边缘、勾勒器官轮廓或监测细微变化时,就会面临这一挑战。

最近的一项医学成像研究测试了 Sobel、Canny、Prewitt 和拉普拉斯等常见边缘检测方法处理噪声图像的能力。研究人员在图像中加入不同类型和程度的噪声,并检查各方法勾勒重要特征的准确程度。

即使噪声很强,Canny 通常也能生成最清晰的边缘,但它并非在所有情况下都表现最佳。有些方法更适合特定的噪声模式,因此不存在一种放之四海而皆准的完美方案。

随着噪声增加,Canny 比 Sobel 提供更清晰的边缘

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

这凸显了计算机视觉等技术的重要性。通过结合高级算法和视觉 AI 模型,此类解决方案能够超越基础边缘检测,即使在严峻条件下也能提供更准确、可靠的结果。

边缘检测的优点#

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

  • 更高效的数据压缩:边缘检测可以只用关键特征表示图像,在保留重要信息的同时缩小文件体积,从而提高存储和传输效率。
  • 更精准的目标定位:通过准确识别目标边界,边缘检测能提升系统定位和跟踪目标的能力,有助于机器人视觉 AI和自动驾驶汽车等应用。
  • 多尺度特征检测:边缘检测技术可以分析不同尺度的图像,同时捕捉细节和较大的形状。这种灵活性适用于从纹理分析到场景理解等各种任务。

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

边缘检测在图像处理中有诸多好处,但也面临一些挑战。以下是需要考虑的一些主要局限性:

  • 复杂纹理带来的问题:对于纹理复杂或重复的图像,边缘检测往往会产生许多伪边缘或无关边缘,增加后续分析的难度并降低可靠性。
  • 容易受光照影响:亮度变化、阴影和反光可能导致边缘检测器将光照变化误判为物体边界,从而产生不一致的结果。
  • 无法识别物体:边缘虽然能标示物体的起止位置,却无法说明物体是什么。你还需要进行额外处理,为检测到的边缘赋予含义或标签。

何时可以使用计算机视觉进行边缘检测#

边缘检测的灵感来自眼睛和大脑协同工作、帮助我们理解世界的方式。在人类视觉中,视觉皮层中的特定神经元对边缘、线条和边界非常敏感。

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

计算机视觉旨在模仿这种能力,并更进一步。Ultralytics YOLO11 等模型不只是进行基础的边缘突出显示和图像增强,还能检测物体、精确勾勒轮廓,并实时跟踪运动。这种更深入的理解能力让它们在仅靠边缘检测无法胜任的场景中不可或缺。

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

以下是 Ultralytics YOLO11 支持的一些关键计算机视觉任务,这些任务以边缘检测为基础并进一步拓展了它的能力:

  • 目标检测:通过在图像或视频中的每个物体周围绘制边界框,识别并定位多个物体,清晰呈现画面中有哪些物体及其位置。
  • 实例分割:将物体分解到像素级别,即使物体相互重叠或形状不规则,也能生成清晰、精确的轮廓。
  • 图像分类:根据视觉特征为物体或整张图像分配标签,便于整理和解读大型数据集。
  • 姿态估计:旨在确定物体或人物的位置、方向或姿态,有助于监测运动或检测随时间发生的结构变化。
  • 目标跟踪:在视频帧中持续追踪移动的物体,确保识别结果一致,以便进行准确的长期观察。

使用计算机视觉检测基础设施中的边缘#

计算机视觉改善传统上依赖边缘检测的应用,一个典型例子是基础设施和工业资产的裂纹检测。Ultralytics YOLO11 等计算机视觉模型可以使用 Crack-Seg 等数据集进行训练,从而准确识别道路、桥梁和管道上的裂纹。同样的技术也可用于飞机维护、建筑检查和制造业质量控制,帮助加快检查流程并提升安全性。

使用 Ultralytics YOLO11 进行裂缝分割的示例

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

要点#

边缘检测经历了长足发展,从早期的简单方法演进到如今能够在复杂图像中发现细微边界的高级技术。它有助于凸显重要细节和关键区域,并为深入分析做好图像准备,因此成为图像处理的核心组成部分。

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

加入我们的社区,浏览我们的 GitHub 仓库,了解更多 AI 相关信息。如果你打算启动自己的视觉 AI 项目,可以查看我们的许可选项。访问我们的解决方案页面,进一步了解医疗健康领域的 AI和零售领域的视觉 AI等应用。

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来