typed op• 数据种类:points → signal
• 调用:fullseye.apply(img, "tb_iss_keypoints", a=0.5, b=0.5)(2-D 的模型是一张图 + 两个标量旋钮 a,b∈[0,1])

*图为在 128×128 合成输入上实际运行的输出。左为输入,右为输出。点云以俯视散点显示(亮度 = z),一维序列为折线,体数据为沿 z 的最大值投影,视频为中间帧,复数图像为幅值;无法成像的返回值直接显示数值。*
扫描旋钮 a(0.1 / 0.5 / 0.9,另一旋钮取默认):
▸ tb_iss_keypoints: 旋钮 a 扫描 (文档网站)
扫描旋钮 b(0.1 / 0.5 / 0.9,另一旋钮取默认):
▸ tb_iss_keypoints: 旋钮 b 扫描 (文档网站)
阶段(前置算子 → 本算子,从左到右):
▸ tb_iss_keypoints: 处理阶段 (文档网站)
换别的图像(合成场景 / 照片 / 硬币。上排为输入,下排为对应输出。旋钮取默认):
▸ tb_iss_keypoints: 其他输入图像 (文档网站)
ISS(Intrinsic Shape Signatures,相当于 3D 版 Harris)关键点检测。以局部协方差的最小特征值 λ3 作为 saliency,仅将特征值 distinct(方向 well-defined)的点作为候选,再用 NMS 稀疏地选取。旋转不变。返回值 = 点的索引数组。
参数:
• points (N,3)。radius: saliency 用的邻域球半径(与点云相同单位)。
• nms_radius: 非极大值抑制的距离。为 None 时取 0.6*radius。
• gamma21、gamma32: 特征值比 λ2/λ1、λ3/λ2 的上限(默认 0.99)。只有两者都
低于此值的点才是候选(排除比值接近 1 = 各向同性、朝向无法确定的点)。
• max_kp: 返回的上限。min_neighbors: 邻域少于此值的点不作为候选(默认 8)。
步骤: 在各点收集 radius 内的邻域,求以关注点为原点的 2 阶矩矩阵 (qᵀq)/n 的特征值 λ1≥λ2≥λ3(λ1 在 1e-12 以下则排除)。以 λ3 作为 saliency 降序扫描,丢弃距已采用点小于 nms_radius 的点的贪心 NMS。返回值是 int64 的点索引数组(saliency 降序)。没有候选时长度为 0。
注意: 邻域以关注点为中心(而非质心)。平面上的点,其关注点也在同一平面上,因此 λ3 理论上为 0,舍入残渣(λ3/λ1 ≤ 1e-9)不作为候选。这是对所有点做邻域搜索的 Python 循环,因此超过数万点的点云应先用 voxel_grid_downsample 抽稀后再使用。直接作为 shot_descriptor 的关键点输入,register_shot 以 saliency 半径 0.6*radius、NMS 半径 0.3*radius 调用(radius 为 register_shot 的支撑半径)。
桥接到 2-D 进化注册表的 3d op iss_keypoints。实现相同,只有调用约定改为 op(v, a, b)。a 调节 gamma21(默认 0.99),b 调节 gamma32(默认 0.99)。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
下面的程序已确认可以运行(与图相同的输入)。在 Studio 帮助中,此块会变成按钮,可当场加载并运行。
img_to_points 0.50 0.50 tb_iss_keypoints 0.50 0.50
下面的示例调用的是底层账本算子 iss_keypoints。此桥接算子只是把同一实现适配为 fn(v, a, b) 约定,行为完全相同(只是调用形式不同)。
• feature_register — py -3.11 examples_3d/feature_register.py
signal 作为输入)identity · tb_create_funct_1d_array · tb_smooth_funct_1d_gauss · tb_smooth_funct_1d_mean · tb_derivate_funct_1d · tb_integrate_funct_1d · tb_zero_crossings_funct_1d · tb_abs_funct_1d
typed)tb_points_to_voxel · tb_estimate_point_normals · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample · tb_mls_smooth
*Provenance: ops.py — 2D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.