화재·연기 탐지와 단안 깊이 추정을 결합해 위험도와 경고 레벨을 산출하는 Edge AI 시스템
| 항목 | 내용 |
|---|---|
| 기간 | 2024.01 - 2024.06 |
| 형태 | 건국대학교 졸업 프로젝트 |
| 담당 | End-to-End AI Pipeline, Edge Optimization, Demo UI |
| 핵심 기술 | YOLOv9, Lite-Mono, TensorRT, Jetson Orin, Gradio |
| 소스 코드 | kngyeol/pjt-fire-detect-drone |
| 공개 범위 | 공개용 설명·다이어그램과 선별된 추론·평가 아티팩트 수록 |
FireDrone은 드론 탑재 카메라 영상을 대상으로 화재와 연기를 탐지하고, 단안 깊이 추정을 함께 사용해 상대적인 위험도와 경고 단계를 계산하도록 설계한 시스템입니다.
단순 탐지 결과에서 멈추지 않고 다음 판단을 하나의 파이프라인으로 연결했습니다.
- YOLOv9으로 화재·연기 바운딩 박스와 신뢰도 추출
- Lite-Mono로 입력 영상의 단안 깊이 맵 생성
- 객체 면적과 깊이 값을 이용한 프로젝트 정의 위험도 계산
- 위험도와 탐지 개수에 따른 경고 레벨 0~3 출력
프로젝트 모델이 MSFFD 합성 데이터 기반 검증 이미지에 출력한 실제 화재·연기 탐지 결과입니다. 대표 포스터도 이 추론 아티팩트만 사용했으며 생성형 드론이나 별도 생성 이미지는 사용하지 않았습니다.
YOLOv9 탐지와 Lite-Mono 깊이 추정을 같은 입력에 병렬로 실행하고, 바운딩 박스 중심의 깊이 값과 객체 면적을 결합해 후속 판단에 사용합니다. Gradio와 CLI는 같은 추론 흐름을 호출합니다.
프로젝트에서 사용한 위험도는 다음 휴리스틱으로 정의했습니다.
severity = (bounding_box_area / image_area) × depth_value × 100
이는 실제 화재의 물리적 세기나 절대 거리를 보증하는 계측값이 아니라, 한 화면 안에서 객체의 크기와 단안 깊이 추정 결과를 함께 반영하기 위한 프로젝트용 지표입니다.
공개 소스 저장소의 검증 표를 기준으로 정리한 결과입니다.
| 구성 | mAP50 | 실행 환경·측정값 |
|---|---|---|
| YOLOv9-c best | 0.867 | RTX 4090, 4.6ms |
| Structured-pruned | 0.854 | 정확도 손실을 관리하며 경량화 |
| YOLOv9-c on Orin (PyTorch) | 0.864 | Jetson Orin, 약 212.9ms |
- 검증 데이터: MSFFD 759 validation images, fire/smoke 2 classes
- best model class mAP50: fire
0.881, smoke0.854
장치별 시간은 공개 저장소에 기록된 탐지 모델 기준 수치입니다. YOLO 탐지, 깊이 추정과 위험도 계산을 모두 포함한 end-to-end 지연으로 표현하지 않습니다.
각 행은 서로 다른 detector 구성의 기록입니다. Structured Pruning 결과와 Orin 결과는 별도 실험이며, 위 Orin 행은 TensorRT가 아닌 PyTorch detector 측정값입니다.
- 화재·연기 데이터 구성과 YOLOv9-c 학습·평가
- YOLO 탐지와 Lite-Mono 단안 깊이 추정의 결합
- 객체 면적과 깊이 값을 이용한 위험도 및 경고 레벨 로직 구현
- Structured Pruning, ONNX와 TensorRT 기반 엣지 최적화
- Jetson Orin 실행 경로와 Gradio·CLI 데모 구성
공개 소스 저장소는 2026년에 포트폴리오용으로 정리한 스냅샷이므로, 2024년 당시의 개발 이력을 그대로 재현하는 저장소는 아닙니다.
| 영역 | 기술 |
|---|---|
| Detection | YOLOv9-c, PyTorch |
| Depth | Lite-Mono-8m |
| Optimization | Structured Pruning, ONNX, TensorRT |
| Edge | NVIDIA Jetson Orin |
| Interface | Gradio, CLI |
| Dataset | MSFFD Synthetic Fire-Smoke |
실행 코드와 재현 방법은 별도의 Fire & Smoke Detection Drone 공개 소스 저장소에서 확인할 수 있습니다. 이 소개 저장소에는 소스 코드, 모델 가중치, TensorRT 엔진과 원본 데이터셋을 복제하지 않습니다.
MSFFD 데이터셋 기반 이미지는 원 데이터셋의 CC BY 4.0 조건을 따릅니다. 자세한 출처와 공개 기준은 NOTICE.md를 참고해 주세요.


