철도 데이터셋 구축

철도 AI 모델의 성능은 데이터셋 품질에 의해 결정된다. 국내외 공개 데이터셋을 최대한 활용하고, 현장 특수성을 반영한 커스텀 데이터셋으로 보완하는 전략이 핵심이다.

핵심 요약

항목내용
국내 주요 출처AI Hub (철도 선로, 전차선 애자 데이터셋)
해외 주요 출처RailFOD23, RailSem19, RailVista, Rail-5k
권장 라벨링 도구CVAT, Label Studio, Roboflow (수동) / SAM, YOLO (자동)
최소 권장 데이터량클래스당 500장 이상 (소형 객체는 2,000장 이상 권장)
증강 필수 항목모자이크, Mixup, 수평 뒤집기, 밝기·대비 변환

문서 탐색


AI Hub 국내 철도 데이터셋

AI Hub(aihub.or.kr)에서 무료로 다운로드 가능한 국내 최대 규모 철도 데이터셋이다.

1) 철도 선로 상태 인식 데이터

총 151,814세트의 레일 및 주변 시설물 이미지로 구성된 대규모 데이터셋이다.

  • 이미지 수: 151,814장 (훈련 121,451 / 검증 15,181 / 테스트 15,182)
  • 클래스 수: 15개
  • 베이스라인 성능: YOLOv5 기반 mAP 87.41%
  • 어노테이션 형식: YOLO, COCO JSON, VOC XML 동시 제공
  • 촬영 조건: 주간·야간, 맑음·흐림·강우, 계절별 다양

세부 클래스 목록

번호클래스명설명
1rail레일 본체
2rail_joint레일 이음매
3sleeper_wood목침목
4sleeper_concrete콘크리트 침목
5fastener_normal정상 체결장치
6fastener_defect결함 체결장치
7ballast자갈 도상
8switch_rail분기기 레일
9guard_rail가드 레일
10expansion_joint신축 이음매
11foreign_object지장물 (일반)
12vegetation초목·잡초
13crack레일 균열
14corrosion부식
15missing_part부품 누락

2) 전차선 애자 상태 인식 데이터

고속·일반 철도 전차선 시스템의 애자 및 주변 장치를 대상으로 한 데이터셋이다.

  • 이미지 수: 133,845세트
  • 시설물 종류: 14종
  • 촬영 방식: 드론, 고소작업차, 지상 고정 카메라 혼합
  • 주요 이상 유형: 오손, 파손, 변위, 누락

전차선 시설물 클래스

번호클래스명설명
1insulator_disc현수 애자 (디스크형)
2insulator_pin핀 애자
3insulator_strain인류 애자
4catenary_wire조가선
5contact_wire전차선 (접촉선)
6dropper드로퍼
7clamp클램프
8bracket브래킷
9mast전주
10section_insulator섹션 절연체
11earth_wire접지선
12surge_arrester피뢰기
13junction_box접속함
14tension_device장력 조정 장치

해외 공개 데이터셋

데이터셋규모클래스 수특징링크
RailFOD2333,288장12 (지장물 특화)드론 + 지상 혼합, 다국가 노선GitHub
RailSem198,500장19시맨틱 세그멘테이션 포함, 유럽 노선Web
RailVista15,000장8고해상도 파노라마, 선로 전방 시점Kaggle
Rail-5k5,000장5균열·부식 특화, 실험실 수준 고해상도IEEE DataPort
Roboflow Railway가변가변커뮤니티 공유 다수, 바로 사용 가능Roboflow Universe

RailFOD23은 2023년 기준 가장 규모가 크고 다양한 철도 지장물 데이터셋이다. 드론 시점 이미지 비율이 높아 본 프로젝트에 가장 적합하다.


클래스 설계 예시

프로젝트 목적에 따라 대분류-세부클래스 체계를 설계해야 한다.

대분류세부 클래스탐지 우선순위
레일rail_normal, rail_crack, rail_break, rail_corrode최상 (안전 critical)
체결장치fastener_ok, fastener_loose, fastener_missing
침목sleeper_wood, sleeper_concrete, sleeper_crack
전차선catenary_wire, contact_wire, wire_sag, wire_break최상
애자insulator_ok, insulator_dirty, insulator_broken
신호기signal_green, signal_red, signal_missing최상
지장물person, vehicle, rock, debris, vegetation최상 (안전 critical)
분기기switch_normal, switch_defect, switch_missing
표지speed_sign, warning_sign, km_post

커스텀 데이터셋 구축 파이프라인

flowchart TD
    A[드론 촬영] --> B[이미지 전처리<br/>노이즈 제거, 해상도 표준화, 색상 보정]
    B --> C{라벨링 방식}
    C -->|수동| D[CVAT / Label Studio / Roboflow]
    C -->|자동| E[SAM 자동 라벨링 + 사람 검수]
    D --> F[품질 검수<br/>교차 검수, IoU 일관성 확인]
    E --> F
    F --> G[형식 변환<br/>YOLO .txt / COCO .json / VOC .xml]
    G --> H[데이터 증강<br/>Albumentations / Ultralytics 내장]
    H --> I[훈련/검증/테스트 분할<br/>8:1:1 권장]
    I --> J[모델 학습]

라벨링 도구 비교

도구방식장점단점추천 용도
CVAT수동오픈소스, 팀 협업, 다양한 출력 형식설치 복잡대규모 팀 프로젝트
Label Studio수동설치 간단, ML 연동 지원UI 속도 느림소규모~중간
Roboflow수동웹 기반, 증강·변환 내장무료 제한 있음빠른 프로토타입
LabelImg수동가장 단순, 로컬 전용기능 제한개인 실험용
SAM 자동 라벨링자동수작업 불필요, 대량 처리 가능GPU 필요, 사람 검수 필수1차 라벨 자동 생성
YOLO pseudo-label자동초고속(~2ms/장), 반복 학습 가능SAM 라벨 품질에 의존2차+ 반복 자동 라벨링

자동 라벨링의 상세 구현(SAM→YOLO 반복 학습)은 3.1.3 철도 파이프라인 설계에서 다룬다.


데이터 수집 주의사항

촬영 각도 및 해상도

  • 권장 드론 고도: 15~30m (레일 폭 기준 충분한 해상도 확보)
  • GSD (Ground Sampling Distance): 1cm/px 이하 권장
  • 촬영 각도: 수직(Nadir) 80%, 사선(Oblique) 20% 혼합
  • 오버랩: 전방 80%, 측방 70% 이상 유지

계절·날씨 다양성

조건중요도비고
맑은 날 주간필수기본 기준 데이터
흐린 날높음전체 데이터의 20% 이상 포함
강우 중중간방수 드론 필요
야간 (조명 있음)높음적외선 카메라 또는 조명 드론
적설 상태중간겨울철 특이 케이스
역광 · 강한 그림자높음탐지 성능 저하 주요 원인

철도 특수 환경 대응

주의사항:
1. 열차풍 (열차 통과 시 강한 기류 발생)
   - 드론 이격 거리: 궤도 중심에서 최소 10m 이상
   - 고속철도 통과 전후 30초 비행 금지

2. 전자기파 간섭 (전차선 전자기파 영향)
   - 컨트롤러 2.4GHz 대역 간섭 가능
   - 868MHz 또는 900MHz 대역 대체 권장
   - 드론 내부 차폐 설계 필요

3. GPS 불가 구간 (터널, 지하 구간)
   - LiDAR SLAM 또는 VIO(Visual-Inertial Odometry) 활용
   - 사전 3D 맵 구축 후 자율 비행 적용

4. 진동 및 고속 이동
   - 열차 탑재 카메라는 방진 마운트 필수
   - 전자식 손떨림 보정(EIS) 필수 적용

문서 탐색


참고 자료