Skip to content

snehitvaddi/YOLOv3-Cloud-Based-Fire-Detection

Repository files navigation

YoloV3 Fire Detection model

A Project on Fire detection using YOLOv3 model. This repo consists of code used for training and detecting Fire using custom YoloV3 model. I trained my custom detector on existing yolov3 weights trained to detect 80 classes.
The Dataset is collected from google images using Download All Images chrome extension. Tool for Dataset labelling Label Img.
Find some readily labelled datasets are available here @Google's Open Image Dataset v5.

Note:

I have made Fire-Implementation.ipynb private for personal reasons, contact me @v.snehith999@gmail.com for complete directory ✌

🧾 Colab Notebook 📂 Dataset with Labels 🔑 Trained Model Weights ✍ LabelImg
Open In Colab Dataset with Labels Download Weights Label Img

📥 Web-Interface using Streamlit


Streamlit library makes it easy to create and share beautiful, custom web apps for machine learning and data science applications.
  • For executing Streamlit application, install streamlit using pip install streamlit --user.
  • Open Command Prompt, and execute streamlit run UI.py.
  • A Streamlit server gets started and opens up web UI in the default browser.

🧬 Sample outputs from Custom YOLOv3 model

Input Output

📈 Training Performance Chart

Here is the chart to describe how my performed during entire training process. It shows average loss vs. iterations. For a model to be 'accurate' you would aim for a loss under 2.


📂 Files Required :

  • Darknet repository
  • Labeled Custom Dataset
  • Custom .cfg file
  • obj.data and obj.names files
  • train.txt file (test.txt is optional here as well)

I referenced this tutorial from an YouTube Video by TheAIGuy channel. You can follow a step-by-step walkthrough of video and the code here: https://www.youtube.com/watch?v=10joRJt39Ns

You can download the yolov3 pretrained weights by clicking here and yolov3-tiny here


⚡ Colab Hack: ⭐

If you are a student like me, and unable to pay such amount, here is a jugad for you. 😉

👉Step 1: In colab notebook, type CTRL + SHIFT + I (Inspect element)
👉Step 2: Go to the console tab and paste the code given in the image below.

function ClickConnect(){
console.log("Working");
document.querySelector("colab-toolbar-button#connect").click()
}
setInterval(ClickConnect,60000)


🧠 Further Ideas

  • Integrate the model with IOT and leverage Cloud services for real-time monitoring and alerting system.

References:

Streamlit Yolo Deployment - https://srishti.hashnode.dev/object-detection-app-using-yolov3-opencv-and-streamlit-1
YoloV3 Custom Model taining - https://www.youtube.com/channel/UCrydcKaojc44XnuXrfhlV8Q

💡 Need Help.

I'm facing bugs with uploading images through Streamlit and Displaying them using OpenCV. Any kind of suggestions will be appriciable.

About

Custom Object detection using YOLOv3 on the cloud. It is trained to detect Fire in a given frame. It can be largely used for Wildfires, fire accidents, etc.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published