Object Detection이란?
Object Detection(객체 탐지)은 이미지나 영상에서 무엇이 어디에 있는지를 동시에 찾아내는 컴퓨터 비전 기술입니다. 단순히 이미지에 고양이가 있는지 판별하는 분류(Classification)와 달리, 객체의 위치까지 직사각형(바운딩 박스)으로 표시하고 해당 클래스와 확신도를 함께 출력합니다. 철도 드론 점검 분야에서는 균열, 침목 손상, 이물질 등을 자동으로 탐지하는 핵심 기술로 활용됩니다.
| 항목 | 내용 |
|---|---|
| 정의 | 이미지 내 객체의 위치(바운딩 박스)와 종류(클래스)를 동시에 예측하는 기술 |
| 입력 | RGB 이미지 또는 영상 프레임 (드론 촬영 시 일반적으로 4K~8K 해상도) |
| 출력 | 바운딩 박스 좌표 (x, y, w, h) + 클래스 레이블 + 신뢰도 점수 |
| 핵심 개념 | 바운딩 박스, 앵커, IoU, NMS, mAP, 신뢰도 점수 |
| 대표 모델 | YOLO 계열, Faster R-CNN, DETR, RT-DETR, YOLO11 |
문서 탐색
| 이전 | 다음 |
|---|---|
| — | 1.2 환경 구축 |
핵심 개념
바운딩 박스 (Bounding Box)
객체를 감싸는 최소 직사각형 영역입니다. 좌표 표현 방식은 두 가지가 있습니다.
- xyxy 형식: 좌상단 (x1, y1) + 우하단 (x2, y2) 좌표
- xywh 형식: 중심점 (cx, cy) + 너비(w) + 높이(h) → YOLO 라벨 형식에서 사용
클래스 (Class)
탐지된 객체의 종류를 나타내는 레이블입니다. 철도 점검 맥락에서는 crack, bolt_missing, rail_defect, foreign_object 등으로 정의합니다.
Confidence Score (신뢰도 점수)
모델이 해당 바운딩 박스 안에 특정 클래스의 객체가 있다고 확신하는 정도입니다. 01 사이의 값으로, 일반적으로 0.250.5 이상인 박스만 최종 결과로 출력합니다.
IoU (Intersection over Union)
두 바운딩 박스가 얼마나 겹치는지를 0~1로 나타내는 지표입니다. 예측 박스와 정답 박스의 겹치는 면적을 전체 합집합 면적으로 나눠서 계산합니다.
IoU = 겹치는 면적 / (예측 박스 면적 + 정답 박스 면적 - 겹치는 면적)
IoU가 0.5 이상이면 해당 탐지를 정답(True Positive)으로 간주하는 것이 일반적입니다.
NMS (Non-Maximum Suppression)
같은 객체에 대해 여러 바운딩 박스가 중복으로 생성될 때, 가장 확신도가 높은 박스만 남기고 나머지를 제거하는 후처리 과정입니다.
- 신뢰도 점수로 박스를 내림차순 정렬
- 가장 높은 점수의 박스를 선택
- 선택된 박스와 IoU가 임계값(보통 0.45) 이상인 나머지 박스를 제거
- 남은 박스에서 1~3번 반복
mAP (mean Average Precision)
Object Detection 모델 성능을 종합적으로 평가하는 지표입니다.
- AP (Average Precision): 하나의 클래스에 대한 정밀도-재현율 곡선의 넓이
- mAP: 모든 클래스에 대한 AP의 평균
- mAP@0.5: IoU 임계값을 0.5로 설정했을 때의 mAP
- mAP@0.5:0.95: IoU 임계값을 0.5~0.95 범위에서 0.05 간격으로 평균한 엄격한 지표
One-Stage vs Two-Stage Detector 비교
| 구분 | One-Stage | Two-Stage |
|---|---|---|
| 대표 모델 | YOLO, SSD, RetinaNet | R-CNN, Fast R-CNN, Faster R-CNN |
| 처리 방식 | 이미지에서 바로 박스와 클래스 예측 | 1단계: 후보 영역 추출 → 2단계: 분류 |
| 속도 | 빠름 (실시간 가능, | 느림 (5~10 FPS) |
| 정확도 | 보통~높음 | 높음 (특히 소형 객체) |
| 메모리 | 낮음 | 높음 |
| 드론 적합성 | 높음 (실시간 처리 용이) | 낮음 (배터리·처리 한계) |
| 구현 복잡도 | 낮음 | 높음 |
모델 계보
| 연도 | 모델 | 유형 | 핵심 혁신 |
|---|---|---|---|
| 2014 | R-CNN | Two-Stage | CNN 특징 추출 + SVM 분류, 객체탐지에 딥러닝 도입 |
| 2015 | Fast R-CNN | Two-Stage | RoI Pooling으로 속도 개선, end-to-end 학습 |
| 2015 | Faster R-CNN | Two-Stage | RPN(Region Proposal Network)으로 완전 end-to-end |
| 2016 | YOLO v1 | One-Stage | 격자 기반 단일 패스 예측, 실시간 탐지 최초 구현 |
| 2016 | SSD | One-Stage | 다중 스케일 특징맵 활용, 소형 객체 개선 |
| 2018 | YOLOv3 | One-Stage | Darknet-53, 3개 스케일 예측, 소형 객체 성능 향상 |
| 2020 | YOLOv5 | One-Stage | PyTorch 완전 이식, ultralytics 생태계 시작 |
| 2020 | DETR | Transformer | Transformer 기반 최초 OD, NMS 불필요 |
| 2022 | YOLOv8 | One-Stage | Anchor-free, C2f 블록, 통합 프레임워크 |
| 2023 | RT-DETR | Transformer | 실시간 Transformer, YOLO 수준 속도 달성 |
| 2024 | YOLO11 | One-Stage | 효율적 C3k2 블록, mAP↑ + 파라미터↓ |
| 2026 | YOLO26 | One-Stage | 멀티모달 지원, Open-Vocabulary, NMS-Free 통합 |
드론 촬영 이미지의 특수성
드론으로 철도를 촬영한 이미지는 일반 지상 카메라 이미지와 여러 면에서 다릅니다. 이 차이를 이해해야 적합한 모델과 전처리 방법을 선택할 수 있습니다.
| 특성 | 일반 이미지 | 드론 촬영 이미지 |
|---|---|---|
| 촬영 고도 | 지상 (0~2m) | 10~150m |
| 시점 | 수평 또는 약간 위에서 | 수직 하향 또는 경사 하향 |
| 객체 크기 | 전체 화면의 10~80% | 전체 화면의 0.1~5% (소형 객체) |
| 배경 복잡도 | 다양 | 자갈, 레일, 침목 등 반복 패턴 |
| 왜곡 | 원근감 왜곡 | 직교 투영에 가까움 (고고도) |
| 해상도 | 1080p~4K | 4K~8K (철도 점검용) |
| 모션 블러 | 낮음 | 드론 진동·이동으로 발생 가능 |
소형 객체 문제
드론 이미지에서 균열(crack)이나 볼트 누락 같은 객체는 전체 이미지의 32×32픽셀 이하로 매우 작습니다. 표준 640×640 입력 해상도에서는 탐지율이 크게 떨어지므로 다음 전략이 필요합니다.
- 고해상도 입력:
imgsz=1280또는 그 이상 사용 - 슬라이딩 윈도우: 큰 이미지를 겹치는 타일로 잘라 각각 추론 후 병합 (SAHI 라이브러리)
- FPN (Feature Pyramid Network): 다중 스케일 특징맵 활용
VisDrone 데이터셋 주요 통계
VisDrone은 드론 기반 객체 탐지의 대표 벤치마크 데이터셋입니다. 철도 점검 데이터셋 구축 시 참고 기준이 됩니다.
| 항목 | 수치 |
|---|---|
| 총 이미지 수 | 10,209장 |
| 총 어노테이션 수 | 약 54만 개 |
| 클래스 수 | 10개 (pedestrian, car, van 등) |
| 평균 객체 크기 | 화면 대비 약 0.3~2% |
| 촬영 고도 범위 | 10~140m |
| 최고 탐지 mAP@0.5 (2024) | 약 62% |
2025-2026 최신 트렌드
| 트렌드 | 설명 | 철도 점검 관련성 |
|---|---|---|
| NMS-Free 탐지 | DETR 계열에서 NMS 후처리 없이 End-to-end 학습, RT-DETR이 실시간 달성 | 처리 속도 향상으로 온보드 처리 가능성 증가 |
| Vision Transformer | Swin Transformer, ViT 기반 모델이 소형 객체에서 CNN 능가 시작 | 미세 균열 탐지 정확도 향상 기대 |
| 엣지 최적화 | TensorRT, ONNX, CoreML 등으로 드론 탑재 GPU(Jetson Orin)에서 실시간 추론 | 드론 자율 점검 시스템 구현 |
| Open-Vocabulary OD | 텍스트 프롬프트로 학습 없이 새 클래스 탐지 (CLIP + OD 결합) | 새로운 결함 유형을 즉시 탐지 가능 |
| 멀티모달 융합 | RGB + 열화상 + LiDAR 데이터 동시 처리 | 야간 점검, 내부 결함 탐지 가능성 |
| Foundation Model | SAM(Segment Anything), Grounding DINO 등 범용 모델 | 소량 데이터로 신규 결함 클래스 탐지 |
문서 탐색
| 이전 | 다음 |
|---|---|
| — | 1.2 환경 구축 |