Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

比较对应连线

运行基准并保存为 A,再用未筛选匹配、旋转、缩放或重复纹理作为 B 比较。蓝色圆圈和实线表示采纳且正确;紫色叉号和实线表示采纳但错误。灰色点线表示描述子筛选排除,橙色虚线表示几何阶段排除。手机上图像上下排列。重置恢复默认值;分享只重现当前输入,不含保存的 A。

从特征点到描述子

共用 Shi–Tomasi 检测器,每幅图像最多选取 80 点。描述子为有效的 9×9 灰度块,可选原始值或减均值后做 L2 归一化,距离为欧氏 L2。距离比筛选需要两个近邻,并严格满足 d1 < 上限 × d2;第二距离为零则不通过。相互最近邻要求双方互为最近邻。归一化可处理未截断的亮度增益,但没有旋转或尺度不变性。这不是 ORB 或 SIFT。

几何模型与真值

可选几何验证估计平移、旋转与均匀缩放组成的相似变换,不含剪切或透视。穷举由两组对应生成的假设,要求至少三组支持,再拟合一次并按目标像素残差判断。候选不足三组或无法得到可用模型时,不采纳任何对应。关闭几何验证时,采纳通过描述子筛选的对应,模型指标未定义。

模型内点比例的分母是描述子筛选后的候选数。采纳对应中的正确比例则单独使用已知变换和固定 3 像素容差判断。真值 RMS 计算采纳对应的位置误差,模型 RMS 计算拟合残差;网格 RMS 在固定可见网格上比较估计与真实变换。分母为空显示 —。错误但一致的模型也可能残差很小,30° 预设就展示了这种情况。重复纹理不能证明对象身份。

保存的计算示例

数值由所提供的预设实际计算。图像、掩码与变换复用提取实验:双线性采样、方形均值模糊、增益、固定均匀噪声、截断。编码灰度不是物理亮度,缩小前没有抗混叠预滤波。源代码包定义了阈值、同分处理、有效掩码与网格。JSON 保存像素和全部对应候选。

Diagram 1 · Use the button to switch views
源图像与目标图像之间计算得到的对应线,区分采纳的对应和被排除的候选。
预设 最近邻 筛选后 采纳 模型内点比例 采纳中的正确比例
基准 22 11 11 100.0% 100.0%
旋转 30° 22 6 3 50.0% 0.0%
30° · 阈值 6 px 22 6 5 83.3% 0.0%
重复 · 未筛选 80 80 80 — 7.5%
重复 · 已筛选 80 1 0 — —
无纹理 0 0 0 — —

继续学习

在光流Lab中跟踪这些点在两帧之间的运动。

图像亮度 Lab — 曝光、伽马与裁剪

What to read next

特征点提取实验特征点提取实验 — 对比 Harris 与 Shi–TomasiVisual SLAM 概览视觉SLAM入门——摄像头如何学习“我在哪里”"Continue the series特征跟踪入门——如何避免帧与帧之间丢失同一特征点