核心要点

  • 定义边缘:灰度剧烈变化处

  • 解释梯度、Sobel、Canny 流程

  • 说明边缘在分割、检测中的作用

  • 知道深度网络可学习边缘特征

简要回答

边缘本质:物体边界、纹理、阴影线处像素强度不连续;

一阶微分

  • Sobel/Prewitt:3×3 卷积近似 $G_x, G_y$,幅值 $=sqrt{G_x^2+G_y^2}$
  • 对噪声敏感,常先高斯平滑

二阶微分

  • Laplacian:零交叉点定位边缘,对噪声更敏感

Canny 算法(1986 金标准)

  1. 高斯去噪
  2. 计算梯度幅值与方向
  3. 非极大值抑制(细化边缘)
  4. 双阈值 + 滞后连接(强边缘保留、弱边缘视连通性)

应用

  • 轮廓提取、形状分析
  • 传统检测 pipeline(Hough 变换)
  • 医学影像结构增强
  • CNN 浅层卷积核可视化常类似 Gabor/边缘

局限:纹理也会产生边缘

标准回答

边缘本质:物体边界、纹理、阴影线处像素强度不连续。

一阶微分

  • Sobel/Prewitt:3×3 卷积近似 $G_x, G_y$,幅值 $=sqrt{G_x^2+G_y^2}$
  • 对噪声敏感,常先高斯平滑

二阶微分

  • Laplacian:零交叉点定位边缘,对噪声更敏感

Canny 算法(1986 金标准)

  1. 高斯去噪
  2. 计算梯度幅值与方向
  3. 非极大值抑制(细化边缘)
  4. 双阈值 + 滞后连接(强边缘保留、弱边缘视连通性)

应用

  • 轮廓提取、形状分析
  • 传统检测 pipeline(Hough 变换)
  • 医学影像结构增强
  • CNN 浅层卷积核可视化常类似 Gabor/边缘

局限:纹理也会产生边缘;光照阴影假边缘;深度学习端到端常隐式学习更好表示。

实践用 OpenCV Canny()。详见 图像处理基础

常见误区

⚠️ 常见踩坑

不说非极大抑制与双阈值;认为边缘=物体轮廓(纹理边缘干扰);忽略先平滑。

追问

追问 1Canny 高低阈值怎么设?

双阈值用于滞后连接:高于高阈值的是强边缘必留,低于低阈值的丢弃,介于两者之间的只有与强边缘连通才保留。经验上高低比取 2:1 或 3:1,可基于梯度幅值中位数自适应(如 OpenCV 的 Otsu 或 median-based 设定)。阈值过低会引入纹理噪声,过高会断裂真实边缘。

追问 2边缘检测在深度学习还有用吗?

仍有用。端到端 CNN 的浅层卷积核会自学出类边缘/Gabor 滤波器,多数高层任务无需显式边缘。但在标注稀缺、需可解释或几何精度的场景(文档矫正、Hough 直线/圆检测、医学结构勾画、相机标定棋盘格)经典边缘算子依然高效可靠,也常作为预处理或弱监督信号。

追问 3Sobel 和 LoG 区别?

Sobel 是一阶导,求梯度幅值,边缘出现在响应的极大值处,有方向信息、对噪声相对鲁棒。LoG 是先高斯平滑再二阶导(拉普拉斯),边缘定位在零交叉点,定位更精确但对噪声更敏感,且无方向。实践中 Sobel 多用于梯度/Canny 前置,LoG/DoG 多用于 blob 与尺度空间检测。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。