Canny

来自眩晕文档
Yakeworld讨论 | 贡献2025年6月22日 (日) 08:17的版本
跳转至: 导航搜索

canny算法不能满足同时多尺度边缘提取。 不同尺度(边缘模糊程度)的边缘提取,需要不同尺度(sigma)高斯平滑。 多个不同尺度的canny 边缘合并能够改进效果。 问题的关键是尺度空间理论。 边缘的评估需要放在尺度空间进行,不同尺度空间边缘不同。

像素的尺度空间特征为三维曲线特征(尺度,梯度强度,梯度方向)。 分析和提取像素的关键尺度空间特征,是边缘检测,目标分类的重要工作。

这个问题涉及图像特征的提取。

理论上,图像的缩小和放大,会引起像素尺度空间特征的缩放,主要是尺度轴的缩放。

也就是尺度轴需要按照图像的缩放进行校准,如此像素特征具备可比性。 与众不同的像素特征,可以作为匹配的瞄点。

如此,像素分类问题转变为三维曲线的分类问题。

和方向轴垂直的曲线为边缘(方向一致) 可以在三维空间中进行像素的分类。 首先筛查出和方向轴垂直的曲线(边缘) 然后根据尺度和梯度强度进行分类。


直线的边缘像素,由于梯度方向一致,尺度和梯度强度的关系一致,在三维空间呈现束形分布 (bundle-like distribution)。 圆形的边缘像素,梯度方向发生改变,但是尺度和梯度强度的关系一致,在三维空间呈现扁平分布

设计合成图像,测试能否从像素的尺度空间特征识别和分类边缘


像素轨迹流形 (Pixel Trajectory Manifold)




numpy多为数组,在多维数组空间实现尺度空间Canny算法

建立一个核心的、四维的**“状态数组(State Array)”,其维度为 (num_sigmas, height, width, num_features)。这个数组中的每个点 (s, y, x) 都不是一个简单的标量,而是一个描述该点在特定尺度下完整状态的特征向量**。

这个特征向量可以包含:

梯度强度 (Magnitude) 梯度方向 (Orientation) 方向稳定性 (Stability) - 这需要一个巧妙的处理,我们稍后讨论 ...未来还可以加入更多特征,如拉普拉斯响应、曲率等。


在这种范式下,尺度空间Canny算法的逻辑将变为:

构建状态空间:一次性计算出这个包含所有信息的4D状态数组。 在空间中进行NMS:直接在3D的梯度强度“子空间” (s, y, x) 上执行非极大值抑制。 在空间中进行滞后阈值:直接在经过NMS筛选后的3D空间中,根据高、低阈值定义“强边”和“弱边”体素(Voxel)。 在空间中连接边缘:在3D空间中寻找与“强边”体素相连通的“弱边”体素。 投影到二维:最后,将3D空间中最终确定的边缘体素投影到一个2D平面上,形成最终的二值化图。

尺度可以用于边缘的分类。 原始图 二值化图(尺度空间Canny算法) 稳定性图 特征强度图 尺度图 原始图+尺度图半透明叠加 稳定性图+尺度图半透明叠加 二值边缘+尺度图半透明叠加 特征强度图+尺度图半透明叠加



    1. 四维向量尺度空间

建立一个核心的、四维的状态数组(State Array),其维度为 (num_sigmas, height, width, num_features)。 num_features为特征向量,最基本特征包括像素值,梯度强度 (Magnitude),梯度方向 (Orientation) 根据梯度矢量可以推导的纳入延伸特征场。 延伸特征包括方向稳定性 (Stability) ,特征尺度 (Characteristic Scale, σ_char),尺度显著性 (Scale Saliency),拉普拉斯响应 (Laplacian Response), 形状指数与曲度 (Shape Index & Curvedness)等

广义张量场 (Generalized Tensor Field)

四维状态数组不仅仅是一个向量场,而是一个包含向量、标量和高阶导数(张量)信息的广义张量场 (Generalized Tensor Field)。

统一状态空间描述符 (Unified State-Space Descriptor, USSD)

统一状态空间描述符 (USSD) 的设计哲学 核心思想:一个像素点的终极描述符,应该是在其最显著的时刻(特征尺度 σ_char),对其**所有内在属性(状态向量)**进行的一次全面、规范化的“快照”。

这个设计过程分为两个核心阶段:

阶段一:尺度轴坍塌 (Scale-Axis Collapse) - 如何从一个像素点的3D轨迹中,提取出一个单一的、最具代表性的“原始特征向量”。 阶段二:向量组装与规范化 (Vector Assembly & Normalization) - 如何将这个原始特征向量,处理成一个对光照、对比度等变化具有鲁棒性的、固定长度的最终描述符。 阶段三: 宏伟蓝图 —— 完整的USSD生成算法 广义张量场 (The Generalized Tensor Field)


    1. 尺度空间理论
      1. 梯度归一化

高斯偏导数,也就是Gx和Gy需要根据尺度空间进行归一化。尺度空间越大,梯度下降,所以梯度需要乘上空间尺度。 如此,Mag=np.sqrt((Gx*sigma)**2+(Gy*sigma)**2)=sigma*np.sqrt(Gx**2+Gy**2)。

      1. 黑洞效应

强边缘会对附近的弱边缘产生影响,大尺度空间会将其纳入到强边缘范畴。

局部观察比较,不采用梯度归一化,

    1. 基于像素尺度空间特征的图像分析框架

1.像素尺度空间特征张量公理

2. 像素尺度空间特征分析原则

张量坍塌为二维,提取特征。 能量特征图:尺度空间自身最大梯度值 尺度特征图:该尺度自身梯度值最大 湮灭尺度图:该尺度丧失梯度(小于阈值)


    1. 概念

结构是一个梯度和尺度相关的像素特征。在特定尺度空间,存在梯度的像素为结构。 结构的组合形成水墨边缘。所谓水墨边缘,是指边缘有宽度,且内部结构像素之间存在梯度。 在不同尺度观察,结构会发生改变。水墨边缘也会发生改变。



像素在尺度空间维持梯度存在的能力。

结构的最小单位是像素,结构的内在聚合力是梯度。 在特定尺度空间,有梯度的像素为结构。结构外部和内部没有梯度的像素为非结构。

结构是像素在尺度空间维持梯度存在的能力,是相对的概念。任何结构在相应的尺度空间都会丧失梯度。

结构的评估指标是湮灭尺度,指改尺度空间像素丧失梯度。


首先可以确定,在特定观察尺度,所有存活的都是水墨边缘的一部分,是否存活的判断标准是梯度差是否存在而不是归一化梯度差是否存在,是否正确?所以在观察尺度展示的能量图是哪个尺度的梯度而不是归一化的梯度。是否正确?那么问题来了,如果要采用NMS寻找水彩边缘的素描边缘,是在这个尺度空间寻找还是在整个尺度空间寻找?