클릭 기반 선로 중심선 추출

사용자의 단일 클릭(Point Prompt)으로 선로 객체를 분할하고, 기하학적 중심선과 점유 영역을 자동 추출하는 기능. 업데이트: 2026-03-17


핵심 요약

구분내용
📖 정의이미지 내 선로를 클릭하면 SAM 2.1이 마스크를 생성하고, 중심축(Centerline)과 점유 영역(Polygon)을 자동으로 계산하는 기능
💡 핵심Point Prompt → Mask 생성 → Geometry Analysis → 중심선·폴리곤 출력
🎯 대상현장 운영자·기획자 (뷰어 사용자), 선로 데이터 확보가 필요한 파이프라인
⚠️ 주의클릭 지점이 선로 위에 정확히 위치해야 정밀한 마스크 생성 가능

목차

  1. 기능 개요
  2. 동작 원리
  3. 활용 방법
  4. 출력 데이터 구조
  5. 한계 및 주의사항

기능 개요

항목내용
기능명drawCenterLine (클릭 기반 선로 중심선 생성)
활용 모델SAM 2.1 (facebook/sam2.1-hiera-base-plus)
주요 입력사용자의 화면 클릭 좌표 (X, Y)
최종 출력centerline_xy (중심선 좌표 리스트) + rail_area_polygon_xy (선로 점유 영역)
목적선로 기준선 확보 → 자동 지장물 탐지(3.2.3)의 공간 필터링에 활용

이 기능은 단독으로 사용되기도 하지만, 주로 자동 지장물 탐지의 사전 단계로 동작한다. 선로 중심선이 확보되면 탐지된 지장물과의 이격 거리 계산 및 공간 필터링이 가능해진다.


동작 원리

flowchart TD
    A[사용자: 이미지 내 선로 클릭] --> B[Point Prompt 생성]
    B --> C[SAM 2.1: 클릭 지점 기준 Mask 생성]
    C --> D[Geometry Analysis: 마스크에서 중심축 계산]
    D --> E[Polygon Mapping: 선로 경계면 다각형화]
    E --> F[centerline_xy + rail_area_polygon_xy 출력]
    F --> G[자동 지장물 탐지에 기준 데이터 전달]

단계별 처리

단계처리 내용출력
1. Point Prompt클릭 좌표를 SAM 2.1에 전달클릭 지점 중심의 객체 마스크
2. Mask 생성SAM 2.1이 선로 픽셀 영역을 분할Binary Mask (픽셀 단위)
3. Geometry Analysis마스크 골격(Skeleton)에서 최적 중심축 계산중심선 좌표 리스트
4. Polygon Mapping마스크 외곽선을 다각형으로 근사선로 점유 영역 폴리곤

활용 방법

뷰어에서 중심선 생성

1. 브라우저에서 http://127.0.0.1:3000 접속
2. 분석할 이미지 선택
3. 이미지 내 선로 위를 마우스로 클릭
4. SAM 2.1이 자동으로 마스크 + 중심선 생성
5. 생성된 중심선이 파란색 선으로 오버레이 표시
6. 필요 시 다른 선로를 추가 클릭하여 여러 선로 동시 추출 가능

중심선 데이터 활용 흐름

활용 목적내용
지장물 이격 거리 계산탐지된 장애물과 중심선 사이의 픽셀·실제 거리 계산
공간 필터링중심선에서 너무 먼 탐지 결과를 자동 제거 (오탐 방지)
선로 점유 영역 분석시간 경과에 따른 선로 침하·변형 모니터링
GIS 연동Polygon 좌표를 지리 정보 시스템에 등록

출력 데이터 구조

JSON 출력 예시

{
  "image": "section_A_001.jpg",
  "rail_analysis": {
    "centerline_xy": [
      [120, 540], [200, 538], [300, 535], [400, 533]
    ],
    "rail_area_polygon_xy": [
      [115, 525], [120, 555], [400, 545], [405, 520]
    ],
    "mask_confidence": 0.92
  }
}
필드타입설명
centerline_xylist[list[int]]선로 중심선 좌표 목록 (픽셀 기준)
rail_area_polygon_xylist[list[int]]선로 점유 영역 다각형 좌표
mask_confidencefloatSAM 2.1 마스크 신뢰도 (0~1)

한계 및 주의사항

상황원인대응
클릭이 선로 경계에 걸림Point Prompt가 모호한 영역에 위치선로 중앙부를 클릭하도록 재시도
여러 선로가 하나의 마스크로 합쳐짐두 선로가 너무 가까이 붙어 있음각 선로를 개별 클릭으로 분리 처리
분기점에서 중심선이 끊어짐마스크가 Y자 형태로 복잡해짐분기점 이전/이후를 별도로 클릭
저해상도 이미지에서 마스크 부정확선로 픽셀 수 부족FHD 이상 이미지 사용 (→ 3.2.2)

문서 탐색


참고 자료

출처내용
3.2.1 시스템 개요GroundingDINO + SAM 2.1 전체 아키텍처
3.2.3 파이프라인 실행 가이드자동 지장물 탐지 실행 방법
SAM 2 공식 문서Meta SAM 2.1 Point Prompt 상세