검출 파이프라인 실행 가이드

시스템을 실행하고 철도 지물을 자동 검출하는 전체 과정을 단계별로 설명한다. AI 내부 처리 흐름부터 뷰어 조작법, 결과 해석, 정확도 향상 팁까지 다룬다.

핵심 요약

항목내용
실행 URLhttp://127.0.0.1:3000
전체 자동 검출[Auto Label Obstacles] 버튼 1회 클릭
처리 시간FHD 1장 기준 약 2~5초 (GPU 사양에 따라 상이)
출력 결과지물별 Mask(색칠 영역) + Label(이름표) + 신뢰도 점수
결과 저장JSON 또는 이미지 오버레이 형태로 내보내기 가능

1. 파이프라인 내부 흐름

전체 처리 단계

flowchart TD
    A[이미지 입력] --> B[GroundingDINO: 위치 탐색 → 바운딩 박스]
    B --> C[SAM 2.1: 정밀 경계 추출 → Mask]
    C --> D[합산 신뢰도 계산]
    D --> E{임계값 통과?}
    E -->|Yes| F[화면에 Mask + Label 표시]
    E -->|No| G[미표시 — 오탐 방지]
    F --> H[공간 필터링: 위치 이상 자동 기각]
    H --> I[최종 결과 확정]

신뢰도 계산 방식

요소설명
GroundingDINO score지물 이름과 이미지 영역이 얼마나 일치하는가 (0~1)
SAM score추출된 경계가 얼마나 선명하고 일관적인가 (0~1)
합산 점수두 점수를 곱셈 또는 가중 평균으로 산출
임계값기본 0.3 — 설정에서 조정 가능

2. 검출 실행 방법

방법 A: 전체 자동 검출 (권장)

10종 지물을 한꺼번에 탐지한다.

1. 브라우저에서 http://127.0.0.1:3000 접속
2. 왼쪽 이미지 리스트에서 분석할 이미지 클릭
3. 화면 우측 상단의 [Auto Label Obstacles] 버튼 클릭
4. AI가 10종 지물을 순서대로 검색하여 화면에 표시

방법 B: 특정 지물만 검출

특정 지물에 집중하거나 커스텀 프롬프트를 사용할 때.

1. 설정(Settings) 메뉴에서 detector_mode → grounding_dino_sam 선택
2. 검색창에 찾고 싶은 지물의 프롬프트 입력
   예) "railway contact wire catenary"
3. [검색] 버튼 클릭

프롬프트는 영어로 입력해야 정확도가 높다. 한국어 프롬프트는 성능이 저하된다.

방법 C: 수동 보정 (AI 결과 수정)

AI가 놓친 지물을 사람이 직접 추가하거나 잘못된 경계를 수정한다.

1. AI 검출 완료 후 빠진 지물 영역을 마우스로 클릭
2. 클릭 지점을 힌트로 SAM이 즉시 경계를 재추출
3. 지물 이름(Label)을 드롭다운에서 선택
4. 저장

3. 결과 해석

검출이 완료되면 이미지 위에 다음 정보가 오버레이된다.

결과 요소설명예시
Mask (색칠 영역)지물의 실제 형태를 따라 반투명 색으로 표시레일 → 파란색 영역
Label (이름표)지물 종류명 표시rail, catenary_pole
Confidence (신뢰도)0~1 사이 점수. 0.7 이상이면 신뢰 가능0.85

신뢰도별 검수 방침

신뢰도 범위권장 처리
0.7 이상자동 확정 — 사람 검수 생략 가능
0.4 ~ 0.7사람이 한 번 확인 후 확정
0.4 미만결과 삭제 또는 수동 보정

4. 정확도 향상 팁

프롬프트 상세화

상황기본 프롬프트개선 프롬프트
전주 오탐 많음polecatenary pole railway overhead line
애자 미탐insulatorporcelain insulator railway electrical line
자갈과 침목 혼동ballastrailway ballast gravel crushed stone track bed

타일링 설정 활용

4K 이상 이미지나 소형 지물(애자, 드로퍼 등)이 많을 때 타일링 모드를 켠다.

설정 → tile_size: 640 (기본값)
설정 → overlap_ratio: 0.2 (타일 경계에서 지물이 잘리지 않도록)

공간 필터링 조정

지물이 나타나야 하는 화면 영역을 지정하면 엉뚱한 위치의 오탐을 걸러낼 수 있다.

지물예상 위치설정 예시
전차선 부품이미지 상단 50%y_max: 0.5
궤도 시설물이미지 하단 70%y_min: 0.3
교량화면 전체필터 없음

5. 한계 및 주의사항

탐지 성능이 저하되는 상황

상황원인대응
전선이 촘촘하게 겹침contact_wire / messenger_wire 경계가 모호타일링 + 프롬프트 개선
작은 지물 (먼 거리 애자)이미지에서 차지하는 픽셀 수 부족50m 이하 고도로 재촬영
터널 내부 저조도AI가 지물 윤곽을 인식하지 못함조명 드론 또는 적외선 카메라
역광 · 강한 그림자지물과 배경의 경계가 흐릿해짐이미지 밝기/대비 전처리 후 입력

결과 왜곡 유형

유형설명대응
영역 확장지물 본체 + 그림자·인접 구조물이 한 덩어리로 탐지수동 경계 조정 또는 임계값 상향
오명칭전주(catenary_pole)와 교각(bridge_pier) 혼동공간 필터링으로 위치 구역 지정
분할 탐지긴 레일이 여러 조각으로 나뉘어 탐지타일 overlap_ratio 증가 (0.3~0.4)

AI의 결과물은 반드시 샘플 검수 과정을 거친다. 신뢰도 0.7 이상이어도 중요 구간은 사람이 확인하는 것을 권장한다.


6. 결과 내보내기

뷰어 우측 상단 [Export] → 형식 선택:
  - JSON: 좌표 + 클래스 + 신뢰도 (DB 연동용)
  - PNG: 원본 이미지 위에 Mask 오버레이 (보고서용)
  - CSV: 지물별 통계 요약 (Excel 연동용)

JSON 출력 구조 예시

{
  "image": "section_A_001.jpg",
  "detections": [
    {
      "class": "rail",
      "confidence": 0.91,
      "bbox": [120, 450, 1800, 520],
      "mask_area_px": 42300
    },
    {
      "class": "catenary_pole",
      "confidence": 0.84,
      "bbox": [600, 80, 680, 400],
      "mask_area_px": 8200
    }
  ]
}

문서 탐색


참고 자료

출처내용
3.1.3 철도 파이프라인 설계개발자용 SAM+YOLO 배치 파이프라인 상세
3.2.1 시스템 개요GroundingDINO + SAM 원리 및 10종 지물 정의
GroundingDINO 논문텍스트 기반 객체 탐지 모델 원논문
SAM 2 공식 문서Meta SAM 2.1 세그멘테이션 모델
SAHI 타일링고해상도 이미지 타일링 추론 라이브러리