건설 중장비 작업영역 인식 (Sim2Real, cold-start 1%) | Ridgeline Synthetic
실데이터 1%만 보유한 cold-start 환경에서 도메인 정밀 분석으로 mIoU +3.96%, Dump IoU +11.14pp 달성. Wasserstein 거리 기반 클래스별 domain gap 진단 + Soil-selective FDA로 해소.
건설 중장비 작업영역 인식 (Sim2Real)
한 줄 요약: 실데이터 1%만 보유한 상황(cold-start)에서, 도메인 정밀 분석을 통해 합성 데이터를 설계하여 안전 핵심 클래스(Human)와 희소 클래스(Dump) 인식 성능을 동시에 끌어올린 사례.

이 사례의 메인 메시지 — 무작위 생성이 아니라 “무엇이 부족한지” 진단부터 시작하는 6단계 사이클.
| 항목 | 값 |
|---|---|
| 도메인 | 굴착기 작업영역 semantic segmentation |
| 실데이터 | AIHub 건설기계 무인 운행 데이터 (1% subset = 약 1,000장) |
| 모델 | ResidualUNetLarge (자체) · 추가 검증 SegFormer-B2 |
| 합성 데이터 생성 | NVIDIA Isaac Sim + 자체 OGSB(Operation-Guided Style Bridging) 파이프라인 |
| 최종 성과 | val_cross_sequence mIoU +3.96%, rare class Dump IoU +11.14pp, safety class Human Recall +6.27pp (vs real-only baseline) · Pareto PASS |
1. 문제 정의
건설 중장비 운용 환경에서 perception 모델을 학습시키려면 다음 세 조건이 동시에 충족되어야 합니다:
- 충분한 실데이터 — 라벨링 비용이 높고 현장 접근이 제한됨
- 안전 핵심 클래스 인식 — Human (작업자) 미검출은 안전 사고로 직결
- 희소 작업 클래스 인식 — Dump(흙더미)·Obstacle 같은 task-relevant 클래스
본 사례는 실데이터의 1%만 보유한 cold-start 환경을 가정하고, 합성 데이터로 부족분을 보강하는 것이 목표였습니다. 다만 단순 무작위 합성으로는 다음 한계가 확인되었습니다:
- 합성 Soil(지면)이 너무 균일한 텍스처로 렌더링됨 → 실환경 Soil의 분산을 표현 못 함
- 그 결과 모델이 “낮은 분산 = Soil, 높은 분산 = Dump”라는 잘못된 휴리스틱을 학습 → 실 Soil 영역의 자연스러운 분산을 Dump로 오인식 (false positive 폭증)

Sim Soil은 픽셀 표준편차 ~20으로 너무 균일하고, 실환경 Soil은 ~34로 분산이 큽니다. 이 차이가 “균일=Soil, 분산=Dump” 오학습의 원인입니다. (측정값 기반 개념 시각화)
2. 도메인 정밀 분석 (이 단계가 본 프로젝트의 핵심)
무작위 합성 데이터 생성으로 가기 전, 다음 분석을 직접 수행했습니다:
2.1 클래스 의미 체계 설계
도메인에 맞게 6 클래스로 정의: Soil / Self(굴착기 자체) / Human / Dump / Obstacle / Background. 각 클래스의 안전·작업 우선순위에 따라 분석·평가 가중치 설정.
2.2 Hard scenario 정의
실환경에서 모델이 실패하기 쉬운 시나리오를 명시적으로 정의:
- small / distant Human
- Human + Obstacle 동시 출현
- Human + Self-occlusion (굴착기 arm에 의한 가림)
이 시나리오들은 별도의 val_cross_sequence_hard 평가셋으로 추적해 평균 성능 뒤에 숨지 못하게 했습니다.
2.3 Sequence-disjoint validation protocol
공식 validation split이 train과 같은 영상 시퀀스를 공유하면 data leakage로 성능이 과대평가됩니다. 이를 차단하기 위해 train과 영상 시퀀스가 겹치지 않는 cross-sequence validation split을 설계하여 main metric으로 사용. 공식 split은 보조 지표로만.
2.4 클래스별 domain gap 정량 진단 (Wasserstein analysis)
Soil vs Dump 픽셀 분포를 Sim·Real에서 측정하고 Wasserstein distance(W₁)로 비교:
| 비교 | W₁ | 의미 |
|---|---|---|
| Sim_Soil ↔ Real_Soil | 0.0768 | Soil 도메인 갭 (큼) |
| Sim_Dump ↔ Real_Dump | 0.1506 | Dump 도메인 갭 (매우 큼) |
픽셀 표준편차:
- Sim Soil Std: (20, 20, 18) — 너무 균일
- Real Soil Std: (34, 34, 35) — 분산 큼
→ 근본 원인 확정: Isaac Sim Soil의 텍스처 분산이 underrepresented되어 있어, 모델이 “균일=Soil, 분산=Dump”라는 잘못된 휴리스틱을 학습하게 됨.

Soil 갭은 Soil-selective FDA로 0.0768 → 0.0322 (−58%) 교정. Dump 갭은 미해소 — 정직한 한계이자 후속 과제.
3. 해결책 — Soil-selective FDA
위 진단 위에서 Soil 클래스에 한정한 style transfer를 설계했습니다.
- 합성 이미지의 Soil 마스크 영역에만 실 Soil 텍스처 코퍼스에서 추출한 저주파 성분(FDA, Fourier Domain Adaptation)을 이식
- 전경 픽셀(Human·Dump·Self)은 원본 보존 (5px dilated alpha blend)
- 일반 배경에도 전체 FDA(β=0.05) 적용
이 접근의 핵심은 “모든 영역에 균일한 style transfer”가 아니라 클래스별로 어디에 무엇이 부족한지 진단한 결과를 그대로 반영했다는 점입니다.
적용 전/후 실제 렌더링 프레임 비교 이미지는 R&D 데이터에서 추출 예정 (founder).
4. 결과
4.1 Real 1% + Soil-selective OGSB v3 (val_cross_sequence)
| Metric | Real-only baseline | + OGSB v3 | Δ |
|---|---|---|---|
| mIoU | 0.7404 | 0.7800 | +0.0396 |
| Human IoU | 0.4287 | 0.5151 | +0.0864 |
| Human Recall | 0.5477 | 0.6104 | +0.0627 |
| Dump IoU | 0.5480 | 0.6594 | +0.1114 |
| Dump Precision | — | 0.7650 | (false positive 대폭 감소) |
✅ Pareto PASS — 모든 조건 통과: 안전 핵심 Human 개선 + 희소 Dump 개선 + 전체 mIoU 유지.

Real 1% cold-start, val_cross_sequence. mIoU +3.96%p · Human IoU +8.64pp · Human Recall +6.27pp · Dump IoU +11.14pp.
4.2 Wasserstein 갭 해소 확인
| 비교 | 적용 전 | 적용 후 | 변화 |
|---|---|---|---|
| Soil 갭 (W₁) | 0.0768 | 0.0322 | −58% ✅ |
| Soil Std | (20, 20, 18) | (34, 34, 33) | Real Std (34, 34, 35) 수준으로 교정 |
진단 단계에서 식별한 문제가 정확히 해소됨을 정량적으로 확인.
4.3 Backbone-agnostic 검증
다른 backbone(SegFormer-B2)에서도 동일 효과:
| Backbone | mIoU | Human IoU | Dump IoU | Pareto |
|---|---|---|---|---|
| SegFormer-B2 Real 1% | 0.8372 | 0.5564 | 0.8335 | ✅ |
| SegFormer-B2 + OGSB v3 | 0.8458 | 0.6065 | 0.8373 | ✅ |
→ 본 방법이 특정 모델 구조에 의존하지 않음을 입증.
5. 한계 (정직히)
- Real 5%, 10% 환경에서는 Pareto FAIL: 실데이터가 충분히 많아지면 합성 Dump의 domain gap이 오히려 noise로 작용. 본 방법은 극심한 cold-start(<5%)에서 가장 효과적.
- Dump 영역 domain gap은 미해소: W₁ 0.1506 → 0.1565 (변화 없음). Soil 갭만 해소됨. 향후 Dump-selective style transfer가 후속 과제.
- 합성 데이터 단독으로는 실데이터를 100% 대체하지 못함. 실데이터 일부와 혼합 학습이 항상 전제됩니다.
6. 의뢰자 환경에 적용할 때
본 사례에서 입증된 분석 사이클을 의뢰자 도메인에 그대로 적용합니다:
- 클래스 의미 체계 정의 — 의뢰자 환경의 안전·작업 우선순위 반영
- Hard scenario 식별 — 모델이 실패할 시나리오를 미리 명시
- Sequence-disjoint validation 설계 — data leakage 차단
- 클래스별 domain gap 진단 — Wasserstein·픽셀 통계 기반
- 진단에 맞춘 합성 데이터 설계 — 어느 클래스의 어느 시각 특성을 보강할지 결정
- 결과 검증 — 진단 단계에서 식별된 갭이 해소됐는지 정량 확인
7. 출처 & 재현 가능성
- 데이터: AIHub 건설기계 무인 운행 데이터 (굴착기 작업영역)
- 실험 코드 위치:
Y:\PhysicalAI\(별도 R&D 리포지토리, 인용 권리 확보) - 평가 기준: val_cross_sequence (sequence-disjoint), 4-split 모두 측정 (val_official 포함)
- 시드: 42 (4종 seed 고정)
- 하드웨어: NVIDIA RTX 5090, mixed precision (bfloat16)
Figure 매핑
| Figure | 위치 | 상태 |
|---|---|---|
| Figure 1 | /figures/figure_01_diagnosis_cycle.png | ✅ 게재 — 진단 사이클 (메인 메시지) |
| Figure 2 | /figures/figure_02_soil_variance.png | ✅ 게재 — Soil 분산 (Std 20 vs 34, 측정값 재현) |
| Figure 3 | /figures/figure_03_wasserstein_gap.png | ✅ 게재 — W1 거리 진단 |
| Figure 4 | (대기) | ⏳ FDA 적용 전/후 실제 프레임 — R&D 데이터에서 추출 (founder) |
| Figure 5 | /figures/figure_05_pareto_result.png | ✅ 게재 — Pareto 결과 |
이미지 배치 (founder): 4개 PNG(
figure_01·02·03·05)를website/public/figures/폴더에 넣으면 위 경로로 자동 게재됩니다. (네트워크 드라이브 binary 제약으로 Han이 직접 배치 불가)