wikillm

Concept · 2 papers · updated 2026-10-24

Local reference frame

A coordinate frame attached to a point of a surface, built from the geometry near that point, so that local data can be expressed the same way under any pose. Two designs are covered: a scatter-matrix frame with a sign rule that gives unique axes and one-correspondence pose, and a normal-based frame that places grasp candidates on point clouds. All results are author-reported.

3d-visionpoint-cloudlocal-descriptorobject-recognitionrobotic-graspinglocal-reference-frame

Markdown6 min read

AI-compiled overview, updated 2026-10-24, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

A local reference frame (LRF) is a right-handed set of three axes attached to one point p on a surface. The axes are computed from the surface geometry near p. Neighbour points are then written in this frame before they are described, so the description does not depend on how the object is posed 1304.3192 §4.1. The first card states the hard requirements: a frame must survive noise, changes in mesh resolution, occlusion and clutter 1304.3192 §1.

A frame also gives a pose. If a scene point and a model point have frames F_s and F_m, one correspondence gives a rotation R = F_s^T F_m and a translation t = p_s − p_m R 1304.3192 eq. 19 1304.3192 eq. 20. Recognition then needs one correct correspondence per pose hypothesis, not three 1304.3192 §6.3.

A frame can also place a tool. The grasp-detection card builds a frame at a sampled surface point and places a two-finger hand in it, so the frame sets where the gripper goes rather than how two clouds match 1706.09911 §4.

This page rests on two cards, and both report results only from the full pipeline they belong to, not from the frame alone.

Variants

Scatter-matrix frame with sign disambiguation (RoPS)

The frame is the eigen-decomposition of a weighted scatter matrix of the triangles inside a sphere of radius r around p 1304.3192 §3.1 1304.3192 eq. 4. Each triangle has an area weight, normalised over the patch, and a squared distance weight that falls to zero at radius r 1304.3192 eq. 5 1304.3192 eq. 6.

Eigenvectors are only defined up to sign, so the first and third axes are flipped to match the majority of the scatter. The sign comes from a weighted first-order sum along each axis 1304.3192 eq. 8 1304.3192 eq. 9 1304.3192 eq. 10. The second axis is the cross product of the third and first, which makes the frame right-handed 1304.3192 §3.2. The axes are ordered by decreasing eigenvalue 1304.3192 eq. 7. Card: Rotational Projection Statistics for 3D Local Surface Description and Object Recognition.

Author-reported repeatability, measured on a tuning set of six models at half resolution with 0.1 mr noise: 83.5% of pairs have an LRF error below 10°. The second-best method in the comparison, Petrelli and Di Stefano, reaches 43.2% 1304.3192 §3.3 1304.3192 fig. 3. The paper also swaps this frame into spin image, NormHist, LSP and THRIFT for its comparisons, so those results test descriptor and frame together 1304.3192 §7.1.

Normal-based frame for grasp placement (GPD)

The frame is built from the surface normals in a small ball around a sampled point p. Its third axis is the surface normal, which is flipped to point outward 1706.09911 §4. The paper calls it a Darboux-style frame. The card does not state the ball radius 1706.09911 §4, and the normal estimation radius is not stated either 1706.09911 §3. Card: Grasp Pose Detection in Point Clouds.

The frame sets where the hand goes. The sampler slides a two-finger hand along its approach direction and then rotates it about another frame axis over a grid of offsets and rotations. The paper uses 10 offsets and 8 rotations 1706.09911 §4. It reports at least three times as many true positives for its grid than for a version that rotates about the other frame axis, on two BigBird objects 1706.09911 fig. 4 1706.09911 §4.1. The frame is not evaluated as a pose estimator: the card gives no repeatability or pose-error numbers for it.

The paper's text and its official code disagree on the frame axes. The text says the smallest-eigenvalue direction is the normal axis, but the code takes the largest one, and the card notes that the text reading gives a surface-tangent axis, not a normal 1706.09911 §4.

When to use which

The table gives the constraints the cards address. All numbers are author-reported.

SituationUseWhy
Goal is pose from matched features, and the surface is mostly non-symmetric so the eigenvalues are well separatedScatter-matrix frame with sign ruleThe sign rule makes the axes unique when eigenvalues differ 1304.3192 §3.2 1304.3192 §3.3. Pairs under 10° error: 83.5% on the tuning set 1304.3192 §3.3
You want pose from one correspondence per hypothesisScatter-matrix frameThe paper's pipeline uses one correspondence per pose and relies on frame reliability 1304.3192 §6.3 1304.3192 §7.4. Repeatability was measured only on the tuning set 1304.3192 §3.3
Input is a mesh-free depth point cloud and the goal is grasp candidatesNormal-based frameThe frame needs only normals near p, and the pipeline works on the cloud directly 1706.09911 §1 1706.09911 §4. Dense-clutter grasp success was 93% over 288 attempts on a Baxter robot, author-reported 1706.09911 tab. 3
Input is a point cloud with no mesh, and you need a repeatable frame for matchingBuild a mesh first, and expect this step to affect resultsThe scatter-matrix frame uses the triangles inside the sphere 1304.3192 §3.1. For the Queen's set, scenes were triangulated and models were meshed by marching cubes 1304.3192 §7.3. The card gives no result for raw point clouds
Surfaces are near-symmetric and cover much of the sceneExpect points to be droppedThe pipeline removes scene points whose eigenvalue ratio is close to one 1304.3192 §6.2. The threshold is not stated 1304.3192 §6.2
Feature scale varies across the dataFixed radius, the defaultThe paper uses 15 mr 1304.3192 tab. 2 and does not select keypoint scale 1304.3192 §4.2.4. The adaptive-scale variant from Mian et al. is marginally worse in the paper's tests 1304.3192 §7.2
Latency mattersBudget per-point costThe paper reports 42.6 s per object for keypoints and frames, in MATLAB on 2013 hardware, and says these times are not portable 1304.3192 §7.3

Implementation sketch

The cards give no complete code for the frame, so implement from the equations. The RoPS frame below is the common core for matching. Each step cites the equation or section that defines it. The numbered choices in the notes are left open by the paper.

Pseudocode
# Area weight, normalised over the patch  [arxiv:1304.3192 eq. 5]
area_w = triangle_area(tris) / sum(triangle_area(tris))
# Squared distance weight, zero at radius r  [arxiv:1304.3192 eq. 6]
dist_w = (r - norm(p - centroid(tris))) ** 2
# Weighted scatter matrix about p  [arxiv:1304.3192 eq. 4]
C = sum(area_w * dist_w * triangle_scatter(tris, p))
# Axes sorted by decreasing eigenvalue  [arxiv:1304.3192 eq. 7]
vals, vecs = eig_descending(C)
x, z = vecs[0], vecs[2]
# Flip x so the weighted first moment along it is positive  [arxiv:1304.3192 eq. 8, eq. 9]
h = sum(area_w * dist_w * first_moment(tris, p, x))
x = x * sign(h)
# Flip z with the same test  [arxiv:1304.3192 eq. 10]
h = sum(area_w * dist_w * first_moment(tris, p, z))
z = z * sign(h)
# Right-handed frame: y from z and x  [arxiv:1304.3192 §3.2]
y = cross(z, x)
return stack(x, y, z)

Notes on what the papers leave open:

  • The first moment in eq. 9 is written with a factor 1/6 over the three vertices. Any positive scale gives the same sign, but h = 0 is undefined 1304.3192 §3.2.
  • The eigenvalue-ratio threshold that flags symmetric surfaces is not stated 1304.3192 §6.2. Eigenvalue ties make the axes ambiguous 1304.3192 §3.3.
  • The radius r is given in mesh-resolution units (mr). The paper does not give a numeric definition of mr 1304.3192 §4.2.4.
  • For the normal-based frame, the ball radius and the meaning of "outward" are not stated in the card 1706.09911 §4. Pick the axis convention explicitly and test it, given the disagreement noted above 1706.09911 §4.

Contradictions

  • The two designs use different inputs (triangles in a sphere for RoPS, normals in a ball for GPD) and are evaluated on different tasks, so their numbers are not comparable 1304.3192 §7.1 1706.09911 §8.6.
  • Within the grasp-detection paper, the text and the official code disagree about which eigen-axis is the normal. The card records this and does not resolve it 1706.09911 §4.
  • The scatter-matrix card's only comparison is against a single baseline on the paper's own tuning set 1304.3192 §3.3.

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.