← imai 홈
immersivecast · 결함검출 파이프라인 · 실제 검출 데모

실제 검출 데모 — 점검영상이 결함 리포트가 되기까지

AI Hub 실 공개데이터에 우리 파이프라인을 그대로 돌린 실제 검출 장면. 지표가 아니라 눈으로 확인하는 제품 동작.

01절차 — 점검영상 → 결함 리포트

운용자가 점검영상(드론·CCTV크롤러·스캔)을 넣으면 자동으로 결함을 찾고, 오탐을 걸러, 리포트를 냅니다.

1점검영상 입력드론 비행분·CCTV 크롤링 구간 (배치 단위, 실시간 상시 아님)
2dense-seg 검출결함을 픽셀 단위로 표시 (어디에 무엇이)
3VLM 2차 게이트이음부·그림자 오탐 기각 + 설명
4결함 리포트위치·종류·심각도 + 엔지니어 리뷰

02실제 검출 — 교량 (드론 외관점검)

정답(GT)dense-seg(ours)YOLO(baseline)
교량 실검출 #1 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
교량 실검출 #1 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
교량 실검출 #2 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
교량 실검출 #2 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
교량 실검출 #3 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
교량 실검출 #3 — 좌→우: 원본 · 정답(초록) · dense-seg(빨강) · YOLO(파랑)
보이는 것: 초록(정답) 균열을 빨강(dense-seg)이 촘촘히 따라가는데, 파랑(YOLO)은 대부분 놓칩니다. 지표(mAP50 1.8×·boundary-F1 +0.19)가 실제로 이런 차이입니다 — 얇은 균열을 얼마나 잡느냐.

03실제 검출 — 하수관로 (CCTV 크롤러)

하수관로 실검출 #1 — 원본 · 정답 · dense-seg · YOLO
하수관로 실검출 #1 — 원본 · 정답 · dense-seg · YOLO
하수관로 실검출 #2 — 원본 · 정답 · dense-seg · YOLO
하수관로 실검출 #2 — 원본 · 정답 · dense-seg · YOLO
하수관로 실검출 #3 — 원본 · 정답 · dense-seg · YOLO
하수관로 실검출 #3 — 원본 · 정답 · dense-seg · YOLO
정직한 어려움: 하수관로는 관 이음부(구조적 seam)가 원주 균열과 외형이 거의 같아 검출기가 둘 다에 반응합니다. 그래서 아래 VLM 2차가 필수입니다.

04범용 결함 4클래스 — 균열 검출기 → 시설물 결함검출기

같은 파이프라인을 4클래스(균열·박리·백태누수·철근노출)로 확장. 인프라 점검은 균열만이 아니라 다결함 — 시장 확장.

균열박리·박락백태·누수철근노출
범용 결함 검출 #1 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
범용 결함 검출 #1 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
범용 결함 검출 #2 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
범용 결함 검출 #2 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
범용 결함 검출 #3 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
범용 결함 검출 #3 — 원본 · 정답 · 검출 (균열·박리·백태누수·철근)
클래스별 성능(held-out 1110장): 백태·누수 mAP50 0.47 · 박리·박락 0.45 · 철근노출 0.24 · 균열 0.06. 면적형 결함(박리·백태)이 특히 강함 — 균열보다 검출 쉬움. 인프라 점검 결함의 대부분을 커버.
정직: 균열(0.06)은 여기서도 약함(hairline·저해상 한계, 앞의 dense-seg 전환이 답). 유형분류는 검출은 되나 VLM zero-shot 세분류는 약함(별도 과제).

05결함 정량·심각도 — 엔지니어가 쓰는 점검 산출물

검출로 끝이 아니라, 균열마다 길이·폭·심각도를 측정해 실제 점검 리포트로. (길이=스켈레톤, 폭=거리변환 중심선, 심각도=폭 기준)

점검 산출물 #1 — 균열마다 L(길이px)·W(최대폭px)·심각도(색: 빨강 굵음·주황 보통)
점검 산출물 #1 — 균열마다 L(길이px)·W(최대폭px)·심각도(색: 빨강 굵음·주황 보통)
점검 산출물 #2 — 균열마다 L(길이px)·W(최대폭px)·심각도(색: 빨강 굵음·주황 보통)
점검 산출물 #2 — 균열마다 L(길이px)·W(최대폭px)·심각도(색: 빨강 굵음·주황 보통)
산출물: 균열마다 위치·길이·최대폭·심각도(굵음/보통/얇음). 심각도별 색으로 우선순위가 한눈에 — 엔지니어가 "어느 균열부터 볼지" 바로 판단.
정직: 현재 폭·길이는 픽셀 단위(스케일 미보정). 절대 mm 심각도(콘크리트 표준 <0.3/0.3~1.0/>1.0mm)는 촬영 거리·해상도로 mm/px 보정 시 자동 산출(--mm_per_px). 드론/CCTV는 스케일 알려진 경우 많음.

06악조건 강건성 — 데이터엔진 (야간·저시정)

실데이터 부족한 악조건을 합성 도메인랜덤화로 채워 강건화. 정상학습 모델이 악조건서 무너지는 걸 데이터엔진 악조건증강이 회복.

악조건(야간·haze) 검출 #1 — 열화원본 · 정답 · 정상학습모델 · 데이터엔진 악조건모델
악조건(야간·haze) 검출 #1 — 열화원본 · 정답 · 정상학습모델 · 데이터엔진 악조건모델
악조건(야간·haze) 검출 #2 — 열화원본 · 정답 · 정상학습모델 · 데이터엔진 악조건모델
악조건(야간·haze) 검출 #2 — 열화원본 · 정답 · 정상학습모델 · 데이터엔진 악조건모델
학습정상 boundary-F1@4px악조건 boundary-F1@4pxclean 오탐
정상학습0.7560.465 (−39%)0.01
데이터엔진 악조건증강0.7450.682 (회복)0.93
증명: 정상학습 모델은 악조건서 −39% 붕괴, 데이터엔진 악조건증강이 0.68로 회복(정상도 유지) — "실데이터 없는 악조건을 합성으로 채워 강건화" 실증. 시각 차이는 주로 마스크 완성도(둘 다 주요 균열은 잡음).
정직한 배포: 악조건증강 모델은 clean 표면에도 과민(오탐 0.93). 그러나 점검은 배치(주/야 비행 조건 앎)라 조건-적응 라우팅이 답 — 주간=정상모델(오탐 0.01), 야간=악조건모델. 단일 만능모델 아님.

07VLM 2차 오탐게이트 — 실제 판정

Cosmos-Reason VLM이 검출 후보를 맥락으로 재판정: 진짜 결함은 남기고, 구조적 이음부는 기각.

실제 균열
VLM 판정: CRACK ✓ 유지
진짜 결함 → 리포트에 포함
관 이음부(seam)
VLM 판정: NOT_CRACK ✓ 기각
구조적 이음부 = 결함 아님 → 오탐 제거
배포: 안전점검은 미검출이 오탐보다 위험 → 고-recall로 다 잡고 VLM+엔지니어가 걸러냄. 이음부처럼 모호한 건 operating point로 조절.

08정량 근거

이 시각 장면들의 정량 검증은 전체 리포트에서: