先把火柴的头忽略掉
把一把火柴撒在桌上,再梳成一片平行排列。暂时忽略火柴头,朝左和朝右便没有区别。附近细长物体共享一根轴,却不区分头尾,这种秩序叫向列有序。
直接平均箭头会出问题:一半向左、一半向右,明明排得很齐,箭头平均却为零。向列序张量专门记录这根轴,以及大家排得有多齐。在二维平面上,每个位置用两个数就能存下它。
局部最常见的轴向叫指向矢。在真实图像里,通常要取一小片区域,汇总几根细棒的方向。区域太小,噪声大;区域太大,急转弯又会被抹平。先定观察尺度,才能讨论方向场。
拿一支铅笔,沿中心走一圈
先看一幅像彗星的取向图,把铅笔顺着局部细棒放好,沿中心逆时针走一圈。一路让铅笔缓缓转动,贴着周围的取向;遇到绘图角度的边界,也不要突然把它拨回去。
回到起点时,铅笔转了半圈。虽然头尾对调,它仍沿着原来那根轴,这就是正半整数缺陷。负半整数缺陷则沿相反方向转半圈,周围常见三个伸出的方向。
拓扑荷就是把一路累计的旋转角除以整圈。这里固定逆时针绕行,坐标也采用通常的右手平面。屏幕纵坐标常常向下,物理角度却按向上计量,两种约定混用会算反正负号。若把坐标和细棒一起一致地镜像,拓扑荷保持不变。
完整例题
不用猜形状,也能数出半圈
沿一个小方格逆时针走四条边,假设每条边的取向都平滑地转过 45 度。加起来是 180 度,除以整圈,就是正二分之一。回到原点时,轴向已经接上。
计算每条边的转角时,应在等价表示里选绝对值小于 90 度的那个。如果相邻采样点之间实际转得更急,就分不清该往哪边转;要加密采样,或换一条围住核心、又分辨清楚的路径。核心内排列会变乱,单一取向本来就可能失去意义。
先找绕数,再把位置连成轨迹
检测器绕每个网格累加转角,从半圈的绕数找出候选缺陷。它读取的是保存下来的取向场,而不是生成示意纹理时预先指定的位置。解析纹理的荷已知,正好能用来独立检验检测器。
追踪还要多走一步:把这一帧的正缺陷,与下一帧附近的正缺陷配对,并规定一次最多能移动多远。两个缺陷挨得太近、合并或消失,轨迹便可能有歧义。这时应保留“无法确定”的信息。
平直、无孔的周期平面上,总拓扑荷为零,缺陷通常成正负对生成或消失。如果检测总荷不为零,先检查网格、接缝和有序度阈值。有边界的区域另有关系:边界上取向绕了多少,决定内部总荷。