SLAM Phylogeny

SLAM Phylogeny

Frontier-LLM semantic curation (v2)

References는 frontier LLM이 직접 판정한다

이 사이트의 Matched Handbook references는 더 이상 score 기반의 단계별 매칭이 아닙니다. 1,320개 각 reference에 대해 frontier 모델 (Claude Opus 4.7) 이 SLAM Handbook 본문에서 추출된 citation context와 204개 4-depth taxonomy leaf 전체, 그리고 decision policy를 한 번에 보고 Phylum > Class > Order > Genus까지의 path를 직접 판정합니다.

같은 feature 논문이라도 모델이 "Visual SLAM 장에서 인용됐는지, Place Recognition 절에서 인용됐는지, Learning 장에서 인용됐는지"를 reasoning한 뒤 1-3개의 leaf에 multi-membership을 부여합니다.

Current Pipeline

이전 4-stage script chain (build -> enrich -> context_match -> assign_genus)을 단일 LLM 호출로 대체했습니다.

pip install "anthropic>=0.40.0"
export ANTHROPIC_API_KEY="sk-ant-..."

python run_semantic_assignment.py \
    --inventory SLAM_HANDBOOK_REFERENCES_INVENTORY.md \
    --leaves SLAM_4DEPTH_TAXONOMY_LEAVES.md \
    --output slam_handbook_references_semantic.json \
    --model claude-opus-4-7 \
    --concurrency 8

핵심 동작:

  1. parse_inventory()가 inventory.md에서 1,320개 reference의 id, title, year, current label as hint, top-5 citation contexts를 구조화.
  2. system prompt에 204개 leaf 전체 + decision policy + primary-label heuristics를 넣고 cache_control: ephemeral 처리. 두 번째 호출부터 input 비용 약 10x 절감.
  3. user message로 reference 1개씩 보내고 strict JSON 응답 받음.
  4. 응답의 모든 path를 leaf set과 대조. hallucination 발생 시 잘못된 path를 알려주고 1회 retry.
  5. 결과는 JSONL로 즉시 flush. 중단 후 재실행하면 끝난 ID는 자동 skip.

출력은 단일 label이 아니라 matched_paths[]와 함께 저장됩니다.

{
  "id": 800,
  "title": "DTAM: Dense Tracking and Mapping in Real-Time",
  "primary_path": ["SLAM", "Map Representations", "Dense Geometric Maps",
                   "Dense Reconstruction", "Real-Time Dense Reconstruction"],
  "matched_paths": [
    {"path": [...], "role": "primary",   "confidence": 0.95, "reason": "..."},
    {"path": [...], "role": "secondary", "confidence": 0.88, "reason": "..."}
  ],
  "uncertainty": ""
}

Decision Principle

System prompt에 다음 heuristics가 명시되어 모델이 일관된 기준으로 판정하게 합니다.

논문이 기여하는 것Primary phylum
Sensor-specific full systemSensor & Odometry Modalities
New residual / association / registration / loop moduleMeasurement Front-End
New solver / inference / robust objective / differentiable optBack-End Optimization & Inference
New world representationMap Representations
Manifold / Lie / observability / factor-graph theoryState, Geometry & Probabilistic Modeling
Benchmark / metric / runtime / deploymentRobustness, Evaluation & Operations
Learning이 핵심 algorithmic noveltyLearning, Semantics & Spatial AI
Foundational textbook / historical / era pieceProblem & System Context

다음 problem family는 prompt에서 명시적으로 주의시킵니다:

Examples

Handbook contextSemantic assignment
8.3 LiDAR Place RecognitionMeasurement Front-End > Place Recognition and Loop Closure > Place Recognition > LiDAR Place Recognition
11.3 Observability of Aided Inertial NavigationState, Geometry & Probabilistic Modeling > Observability and Uncertainty > Inertial Observability > Bias Observability
14.3 3D Gaussian SplattingMap Representations > Neural and Differentiable Maps > Gaussian Maps > 3D Gaussian Splatting
16.4 3D Scene GraphsMap Representations > Semantic and Structured Maps > Hierarchical Spatial Maps > 3D Scene Graphs
18.6 Gaussian Belief PropagationLearning, Semantics & Spatial AI > Computational Structure > Distributed and Hardware-Aware Computation > Gaussian Belief Propagation

Outputs

파일설명
data/slam_handbook_references_semantic.jsonfull semantic curation JSON (v2)
data/slam_handbook_references_semantic.csv사이트가 쓰는 semantic curation CSV
data/slam_handbook_references_with_contexts.jsonreference + citation contexts 입력
scripts/run_semantic_assignment.pyv2 frontier-LLM curation pipeline
사이트 UI는 matched_paths[]를 읽어 primary와 secondary membership을 함께 표시합니다. 검색 시에도 primary leaf와 secondary leaf가 동시에 펼쳐져, 논문 하나가 여러 SLAM 역할에 참여하는 구조를 볼 수 있습니다.