Skip to content

kngyeol/Project-FireDrone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Project: FireDrone

FireDrone minimal promotional poster composed from an actual inference result

화재·연기 탐지와 단안 깊이 추정을 결합해 위험도와 경고 레벨을 산출하는 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은 드론 탑재 카메라 영상을 대상으로 화재와 연기를 탐지하고, 단안 깊이 추정을 함께 사용해 상대적인 위험도와 경고 단계를 계산하도록 설계한 시스템입니다.

단순 탐지 결과에서 멈추지 않고 다음 판단을 하나의 파이프라인으로 연결했습니다.

  1. YOLOv9으로 화재·연기 바운딩 박스와 신뢰도 추출
  2. Lite-Mono로 입력 영상의 단안 깊이 맵 생성
  3. 객체 면적과 깊이 값을 이용한 프로젝트 정의 위험도 계산
  4. 위험도와 탐지 개수에 따른 경고 레벨 0~3 출력

실제 추론 결과

Fire and smoke detection results

프로젝트 모델이 MSFFD 합성 데이터 기반 검증 이미지에 출력한 실제 화재·연기 탐지 결과입니다. 대표 포스터도 이 추론 아티팩트만 사용했으며 생성형 드론이나 별도 생성 이미지는 사용하지 않았습니다.

시스템 구조

FireDrone inference architecture

YOLOv9 탐지와 Lite-Mono 깊이 추정을 같은 입력에 병렬로 실행하고, 바운딩 박스 중심의 깊이 값과 객체 면적을 결합해 후속 판단에 사용합니다. Gradio와 CLI는 같은 추론 흐름을 호출합니다.

위험도 판단

프로젝트에서 사용한 위험도는 다음 휴리스틱으로 정의했습니다.

severity = (bounding_box_area / image_area) × depth_value × 100

이는 실제 화재의 물리적 세기나 절대 거리를 보증하는 계측값이 아니라, 한 화면 안에서 객체의 크기와 단안 깊이 추정 결과를 함께 반영하기 위한 프로젝트용 지표입니다.

모델 검증과 엣지 최적화

FireDrone edge optimization

공개 소스 저장소의 검증 표를 기준으로 정리한 결과입니다.

구성 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, smoke 0.854

장치별 시간은 공개 저장소에 기록된 탐지 모델 기준 수치입니다. YOLO 탐지, 깊이 추정과 위험도 계산을 모두 포함한 end-to-end 지연으로 표현하지 않습니다.

각 행은 서로 다른 detector 구성의 기록입니다. Structured Pruning 결과와 Orin 결과는 별도 실험이며, 위 Orin 행은 TensorRT가 아닌 PyTorch detector 측정값입니다.

Normalized fire and smoke confusion matrix

담당 작업

  • 화재·연기 데이터 구성과 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를 참고해 주세요.

About

Fire and smoke edge AI project introduction

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors