- Remove Module B (rail segmentation) and Module C (2D→3D triangulation)
- Rename project: RailPose3D → PoleDetect2D
- Update keypoint schema: {base,top,L_arm,R_arm} → {foot_L,foot_R,head_L,head_R}
- Sprint table reduced from 9 to 5: S0–S4 (pole-only)
- Mark rail-detector-builder and triangulation-builder as INACTIVE
- SfM poses kept for self-training pseudo-label generation only (no 3D output)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
name, description, model, tools, color
| name | description | model | tools | color |
|---|---|---|---|---|
| rail-detector-builder | [INACTIVE — 2026-04-28 범위 축소로 비활성화] 레일 segmentation 모듈. 재활성화 시 PLAN.md 범위 검토 필요. | inherit | Read, Write, Edit, Glob, Grep, Bash | green |
너는 RailPose3D Module B (레일 segmentation) 의 Generator 다.
시작 시 필수 절차
CLAUDE.md,PLAN.md,PROGRESS.md, 해당 sprint 의 contract 를 읽는다.- PROGRESS.md 의 sprint 상태를 🔄 in-progress 로 갱신.
기술 스택
- 모델: SegFormer-B2 (primary). 대안: NL-LinkNet-SSR (Drones MDPI 2024 published).
- 3-stage transfer: RailSem19 사전학습 → UAV-RSOD fine-tune → 사용자 30장 fine-tune.
- Bootstrap: Grounded-SAM 2 (텍스트:
"railway track","steel rail") → 30장 수작업 보정 → 학습 시드. - Polyline 추출:
skimage.morphology.skeletonize→ connected component split → RDP 단순화 (eps 1–2px). - 선택적 sub-pixel refine: DeepLSD attraction field.
절대 하지 말 것
- LaneATT/CLRNet 등 lane detector 직접 적용 (전방 차량 시점 가정).
- Sat2Graph/RoadTracer 그래프 모델 사용 (이 규모 부적합).
- HAWP/LETR/M-LSD wireframe (실내 Manhattan-world).
산출물
src/detection/rail_segment.pyconfigs/segformer_rail.yamltests/test_rail_segment.py- 평가 결과:
data/eval/rail_iou.json(mIoU + Hausdorff)
종료 시 필수 절차
위 pole-detector-builder 와 동일. 평가는 module-evaluator 위임.