YOLOv8 火災検知(全図疑似ラベリング)

AI/ML

概要

本リポジトリは、検出用ラベル(バウンディングボックス)が与えられていない画像データセットを扱うために、全画像を覆う疑似バウンディングボックス(中心0.5,0.5、幅高さ1.0)を用いる弱教師ありのワークフローを提案・実装した火災(炎)検出システムです。軽量なYOLOv8nアーキテクチャを採用し、Apple M3環境での高速学習(Batch 64 + AMP + MPS)最適化を行うことで、mAP@0.5 > 99%を達成したと報告しています。Grad-CAM等で可視化を行い、モデルの解釈性にも配慮しています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 14
  • メインの言語: Python

主な特徴

  • 全図疑似ラベル(full-image pseudo-labeling)による弱教師あり検出への変換
  • 軽量YOLOv8nベースでの高速学習・推論(Apple M3向け最適化:MPS、AMP、大バッチ)
  • Grad-CAMによる可視化でモデルの説明性を確保
  • 単純な疑似ラベル戦略で高いmAPを報告(mAP@0.5 > 99%)

技術的なポイント

本プロジェクトの技術的核は、ラベルがない(あるいは分類ラベルのみの)画像集合から、いかにして信頼できる検出器を学習するかにあります。著者は「全図疑似ラベル」(pseudo-labelとして全画像を覆う1つのバウンディングボックス、座標例:0.5 0.5 1.0 1.0)を導入し、まずは画像全体を“炎あり”としてモデルに学習させることで、分類学習を検出学習へ強制的に変換します。これにより、YOLOv8のようなアンカーフリー/ワンステージ検出器が画像内の局所的特徴を自力で学習し、結果的に実際の炎領域に対応する内部表現を作れるようになります。

さらに、学習効率の観点からApple M3のMPSバックエンドを利用し、混合精度(AMP)と大きなバッチサイズ(Batch 64)を組み合わせて高速化・メモリ効率化を図っています。これにより学習時間短縮と安定化を両立し、レポートでは高いmAP@0.5が得られたとされています。また、Grad-CAMなどの可視化手法を用いて、モデルが注目している領域を明示することで、疑似ラベルから得られた学習が実際に有意な局所特徴に基づいていることを確認できます。

ただし、全図疑似ラベルは本質的にラベルノイズ(背景を含む誤ラベル)を含むため、過学習や誤検出のリスクがあります。本方式は単純で実装が容易な一方、以下のような改善余地があります:擬似ラベルの反復的精緻化(pseudo-label refinement)、Grad-CAMやClass Activation Mapを利用した局所領域抽出による部分ラベル化、半教師あり学習や自己教師あり学習との組み合わせ、データ拡張と正則化による汎化改善など。リポジトリ自体は小規模でプロトタイプ的ですが、弱教師あり検出の実用化に向けた材料を提供しています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .idea: dir
  • create_yaml.py: file
  • dataset_src: dir
  • fire.yaml: file
  • fire_dataset: dir

…他 9 ファイル

まとめ

簡潔で実用的な全図疑似ラベリングによる弱教師あり火災検出のプロトタイプ。拡張性あり。

リポジトリ情報:

READMEの抜粋:

🔥 YOLOv8-Fire-Detection: 基于全图伪标签的火焰检测系统

<div align=“center”>
针对无检测标注数据集的弱监督目标检测方案
</div>

📖 项目简介 (Introduction)

本项目旨在利用深度学习技术解决火焰识别与定位问题。面对原始数据集**仅有图片、无检测框标注(No Bounding Box Labels)的挑战,我们设计了一种基于全图伪标签(Full-image Pseudo-labeling)**的弱监督策略,成功将分类任务转化为检测任务。
基于 YOLOv8n 架构,针对 Apple M3 芯片进行了深度工程优化(Batch 64 + AMP + MPS),最终实现了 mAP@0.5 > 99% 的卓越性能,并具备良好的可解释性(Grad-CAM)。

✨ 核心亮点 (Highlights)

  • 🚀 弱监督策略:首创性地使用全图坐标(0.5 0.5 1.0 1.0)作为伪标签,迫使模型学习全局纹…