Skip to content

About

YOLOv8을 활용한 도로 재난 상황 탐지

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

도로 재난 실시간 탐지 프로젝트

목차


소개

현대 사회에서 도로 안전은 국가 사회의 중요한 가제입니다. 반복되는 교통사고로 인해 규정적인 노력과 가치 평가의 보호가 필요합니다.

본 프로젝트는 도로 교통정보수집카메라가 수집한 영상을 기반으로 YOLOv8 기본 객체 검색 모델을 활용해 도로상의 재난을 실시간으로 탐지하고, 반응할 수 있는 프로젝트입니다.

YOLOv8 모델은 동영상을 최대 60fps로 처리할 수 있으며, 고정도와 저평소 및 다양한 형태의 객체를 고정적으로 검색할 수 있어 현재 것들 가장 효과적인 기술 중 하나입니다.


데이터셋 소개 및 배열

  • 데이터 조합 공간: Roboflow에서 목표 검색을 위한 영상/사진 데이터 구축
  • 데이터 유형: YAML 구조의 config 파일, txt에 담긴 라벨, 사진은 복수적 사진 + 유튜브 경우 재난 영상 + 개인 찍은 것 포함
  • 라벨 종류: 홍수, 화제, 교통사고, 싱크홀 4가지

데이터 전처리 과정

  • 하드 사평치와 같은 단순 검색에서 힘들게 들어오는 이미지 범위 추가
  • 도적적으로 라벨된 CCTV/개인/게임 경로의 영상
  • 라벨마다 class, bbox와 함께 모델이 가장 필요한 객체 정보 파일으로 구성

시뮬리언션용 영상 데이터

  • 도로상의 현재와 재난 상황을 구도하기 위해 실제 CCTV, 자체 찍은 영상, 유튜브 영상 같은 데이터 추가
  • 상황을 유지하는 범위 만 캐프처 같이 가공 통합, 캐어, 폼 같은 차징 과정 진행

주요 기능

  • 도로의 현재 상황을 실시간 검색 및 예측
  • 유튜브와 실제 CCTV 등 각종 데이터에 대한 단순 기반 테스트 수행
  • 결과의 이미지가 포함된 다양한 예측/실현/실패 디스크립션

프로젝트 구조

road-disaster-detection/
├── data/                       # 원본 및 전처리된 이미지/라벨 데이터
│   ├── images/
│   ├── labels/
│   └── dataset.yaml            # YOLO 학습용 데이터 구성 파일
│
├── videos/                     # 테스트용 영상 (CCTV, 유튜브, 직접 촬영 등)
│
├── runs/                       # 학습 결과 저장 폴더 (YOLOv8 학습 결과 포함)
│
├── models/                     # 훈련된 모델 가중치 (.pt 파일)
│
├── scripts/                    # 주요 파이썬 스크립트
│   ├── train.py                # 학습 실행 스크립트
│   ├── detect.py               # 탐지 실행 스크립트 (YOLOv8 기반)
│   └── preprocess.py           # 데이터 전처리 스크립트
│
├── config/                     # 하이퍼파라미터, 임계값 설정 파일
│   └── optuna_config.yaml      # Optuna 관련 설정
│
├── results/                    # 탐지 결과 이미지 및 영상 저장 폴더
│
├── requirements.txt            # 의존 라이브러리 목록
├── README.md                   # 프로젝트 설명 파일
└── .gitignore

모델 설계 및 기술 스택

  • YOLOv8 + PyTorch (Ultralytics) 기본
  • 도로 CCTV/유튜브 등 개인적 데이터 추가
  • GPU 마일이 보통 4GB 이상, RAM 8GB 이상 권장

하이퍼파라미터 차징화

  • Optuna 버전의 Bayesian Optimization을 통해 다양한 트랙지 검색
  • 해당 파라미터: LR(1e-4 ~ 1e-1), batch(8 ~ 32), mosaic(0 ~ 1), epoch=50 (fixed)

임계값 조정 전략

  • Recall이 더 중요한 값이라고 감독 하여 조정
  • class 단위로 다른 confidence threshold 적용

성능 평가

  • Precision: 0.8825
  • Recall: 0.8272
  • mAP50: 0.8835

실제 CCTV 영상 테스트 방법

  • 지속적인 class 확인 위해 15fps 것만 검색 가능
  • 같은 class가 5회 이상 연속 검색될 경우에만 사고 발생으로 감정

테스트 결과

  • 불 예측에 성공한 사례
    image

  • 아무일도 일어나지 않은 평온한 상태에서 잘못된 판단을 하는지 확인하는 사례 image

  • 사고 예측에 실패한 사례 image


결단 및 향후 개제

  • 동영상에서 건치가 고의적으로 보이는 경우 거짓수 만사 이상적
  • 시계열 데이터 배우기 등의 최적화가 필요
  • 가장 중요한 필요가지 3가지:
    1. 모델 가설 및 개정
    2. 데이터 도적적 건설
    3. 실시간 응답성 가능

About

YOLOv8을 활용한 도로 재난 상황 탐지

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages