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。选择旋转预设后再次运行,A、B 的源图像与目标图像会以相同显示比例排列。蓝色圆圈表示检测点,橙色十字表示已知变换投影得到的参考位置。在相同图像设置下比较 Harris 与 Shi–Tomasi。重置恢复默认值;分享链接仅重现当前输入,不包含保存的 A 结果。

检测器计算什么

两种检测器都使用局部梯度矩阵 M。Harris 的分数为 det(M) − 0.04 trace(M)²,Shi–Tomasi 使用较小的特征值。窗口宽度为 3、5 或 7 像素,通过相对阈值、局部最大值、最小点间距和点数上限筛选结果。阈值随图像最高分数变化,因此在不发生截断时调暗图像未必减少点数。这些是单尺度检测器而非描述子:只选择位置,不确定对应点,也不计算相机运动。

图像变换

160×120 像素的图像包含几何图形、重复纹理、低纹理渐变或直线边缘。坐标向右、向下增大,正旋转为绕图像中心顺时针旋转。处理顺序为双线性重采样、方形均值模糊、灰度增益、固定种子的均匀噪声,最后截断到 [0,1]。模糊参数是半径,噪声参数是幅度。这些编码灰度值不是物理亮度。缩小前没有抗混叠预滤波。浅色区域不参与目标点检测,以免变换边界及滤波器支撑区域产生被计数的角点。

如何理解覆盖率

源图像的检测点经变换后落入目标有效检测区域,才属于可比较参考点。覆盖率统计其中有目标检测点位于 3 个目标像素范围内的比例。分母为空时结果未定义(—)。多个参考点可以使用同一个检测点,因此这只是有方向的邻近覆盖率,不是匹配正确率,也不是标准的对称重复检测指标。重复纹理即使未识别出正确对象,也可能呈现较高数值。下载的 JSON 包含实际像素、掩码、点坐标及变换矩阵。

保存的计算示例

以下数值由所提供的模型计算,使用默认 Shi–Tomasi 设置,只改变列出的预设。低纹理示例保持比率未定义,不会虚构为成功率零。

Diagram 1 · Use the button to switch views
计算得到的源图像和旋转后的目标图像;圆圈表示检测点,十字表示投影参考位置。
预设 源点数 目标点数 覆盖/可比较 覆盖率
基准 22 22 22 / 22 100.0%
旋转 30° 22 21 16 / 20 80.0%
低纹理 0 0 0 / 0 —

继续学习

在特征点匹配实验中,将描述子、筛选和几何一致性与已知对应关系进行比较。

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

What to read next

特征点检测原理特征检测入门Visual SLAM 概览视觉SLAM入门——摄像头如何学习“我在哪里”"Review the background图像亮度 Lab — 曝光、伽马与裁剪