철도 객체 탐지 시스템 아키텍처 (Railway Detection System)
핵심 요약: SAM 2.1과 GroundingDINO 모델을 결합하여 클릭 기반의 선로 분석과 지능형 지장물 자동 탐지를 수행하는 고성능 AI 시스템
1. 시스템 개요 (System Overview)
본 시스템은 고해상도 철도 영상에서 선로의 기하학적 정보(중심선, 영역)를 추출하고, 이를 기반으로 주변 지장물을 자동으로 식별하는 2단계 기능 구조로 설계되었습니다.
graph TD A[사용자 입력] --> B{기능 선택} B -->|이미지 내 선로 클릭| C[기능 1: 선로 중심선 생성] B -->|자동 라벨링 버튼 클릭| D[기능 2: 자동 지장물 탐지] subgraph "AI Model Stack" C --> SAM2[SAM 2.1 모델] D --> GDINO[GroundingDINO 모델] GDINO --> SAM2_Refine[SAM 2.1 정밀화] end C --> E[선로 데이터 확보] E --> D D --> F[최종 탐지 결과 출력]
2. 핵심 기능 1: 클릭 기반 선로 중심선 및 영역 생성
사용자의 단일 클릭(Point Prompt)을 통해 복잡한 선로 객체를 즉시 분석하고 기준 데이터를 생성합니다.
| 항목 | 상세 내용 |
|---|---|
| 기능 정의 | 이미지 내 특정 선로 클릭 시 객체 분할 및 기하학적 중심선 추출 |
| 주요 입력 | 사용자의 화면 클릭 좌표 (X, Y) |
| 활용 모델 | SAM 2.1 (facebook/sam2.1-hiera-base-plus) |
| 핵심 로직 | 1. Point Prompt: 클릭 지점을 기준으로 객체 마스크(Mask) 생성 2. Geometry Analysis: 마스크 데이터에서 최적의 중심축(Centerline) 계산 3. Polygon Mapping: 선로의 경계면을 다각형(Polygon) 형태로 데이터화 |
| 최종 결과 | centerline_xy (중심선 좌표 리스트), rail_area_polygon_xy (선로 점유 영역) |
3. 핵심 기능 2: GroundingDINO + SAM 2.1 기반 자동 지장물 탐지
확보된 선로 정보를 바탕으로 주변 10종의 주요 철도 시설물을 자동으로 식별하고 라벨링합니다.
| 항목 | 상세 내용 |
|---|---|
| 기능 정의 | 선로 주변의 주요 철도 시설물(지장물) 자동 탐지 및 정밀 분할 |
| 대상 클래스 | 전신주, 캔틸레버, 전차선, 조가선, 애자, 레일, 침목, 자갈, 교량 거더, 교각 (총 10종) |
| 활용 모델 | GroundingDINO (위치 후보군 탐지) + SAM 2.1 (영역 정밀화) |
| 핵심 로직 | 1. Candidate Detection: GroundingDINO를 이용한 텍스트 기반 후보 객체 박스 추출 2. Mask Refinement: SAM 2.1(Box Prompt)을 통한 픽셀 단위 객체 경계 정밀화 3. Spatial Filtering: 선로 중심선과의 거리 및 선로 영역 포함 여부를 판단하여 노이즈 필터링 |
| 최종 결과 | obstacles[] (탐지된 객체의 종류, 신뢰도 점수, 위치 좌표, 선로와의 이격 거리 등) |