Ridgeline Synthetic
sim2realsemantic-segmentationconstructioncold-startdomain-gap-analysis

건설 중장비 작업영역 인식 (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 모델을 학습시키려면 다음 세 조건이 동시에 충족되어야 합니다:

  1. 충분한 실데이터 — 라벨링 비용이 높고 현장 접근이 제한됨
  2. 안전 핵심 클래스 인식 — Human (작업자) 미검출은 안전 사고로 직결
  3. 희소 작업 클래스 인식 — Dump(흙더미)·Obstacle 같은 task-relevant 클래스

본 사례는 실데이터의 1%만 보유한 cold-start 환경을 가정하고, 합성 데이터로 부족분을 보강하는 것이 목표였습니다. 다만 단순 무작위 합성으로는 다음 한계가 확인되었습니다:

  • 합성 Soil(지면)이 너무 균일한 텍스처로 렌더링됨 → 실환경 Soil의 분산을 표현 못 함
  • 그 결과 모델이 “낮은 분산 = Soil, 높은 분산 = Dump”라는 잘못된 휴리스틱을 학습 → 실 Soil 영역의 자연스러운 분산을 Dump로 오인식 (false positive 폭증)

Soil 텍스처 분산 — Sim Std 20 vs Real Std 34

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_Soil0.0768Soil 도메인 갭 (큼)
Sim_Dump ↔ Real_Dump0.1506Dump 도메인 갭 (매우 큼)

픽셀 표준편차:

  • Sim Soil Std: (20, 20, 18) — 너무 균일
  • Real Soil Std: (34, 34, 35) — 분산 큼

→ 근본 원인 확정: Isaac Sim Soil의 텍스처 분산이 underrepresented되어 있어, 모델이 “균일=Soil, 분산=Dump”라는 잘못된 휴리스틱을 학습하게 됨.

클래스별 Wasserstein W1 거리 — Soil 갭 -58% 교정, 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)

MetricReal-only baseline+ OGSB v3Δ
mIoU0.74040.7800+0.0396
Human IoU0.42870.5151+0.0864
Human Recall0.54770.6104+0.0627
Dump IoU0.54800.6594+0.1114
Dump Precision0.7650(false positive 대폭 감소)

Pareto PASS — 모든 조건 통과: 안전 핵심 Human 개선 + 희소 Dump 개선 + 전체 mIoU 유지.

Pareto 결과 — 4개 지표 동시 개선

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.07680.0322−58%
Soil Std(20, 20, 18)(34, 34, 33)Real Std (34, 34, 35) 수준으로 교정

진단 단계에서 식별한 문제가 정확히 해소됨을 정량적으로 확인.

4.3 Backbone-agnostic 검증

다른 backbone(SegFormer-B2)에서도 동일 효과:

BackbonemIoUHuman IoUDump IoUPareto
SegFormer-B2 Real 1%0.83720.55640.8335
SegFormer-B2 + OGSB v30.84580.60650.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. 의뢰자 환경에 적용할 때

본 사례에서 입증된 분석 사이클을 의뢰자 도메인에 그대로 적용합니다:

  1. 클래스 의미 체계 정의 — 의뢰자 환경의 안전·작업 우선순위 반영
  2. Hard scenario 식별 — 모델이 실패할 시나리오를 미리 명시
  3. Sequence-disjoint validation 설계 — data leakage 차단
  4. 클래스별 domain gap 진단 — Wasserstein·픽셀 통계 기반
  5. 진단에 맞춘 합성 데이터 설계 — 어느 클래스의 어느 시각 특성을 보강할지 결정
  6. 결과 검증 — 진단 단계에서 식별된 갭이 해소됐는지 정량 확인

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이 직접 배치 불가)