
Discover object detection concepts, including classification, localization, and detection, and study evaluation techniques like intersection over union and mean average position.
Search for Python and download from the official python.org site, install as administrator, add Python 3.9 to the path, complete setup, and verify the installation in the command prompt.
Create a Python virtual environment in the current project directory with python -m venv, then activate it on Windows or macOS or Linux for YOLO development.
Collect and label images for object detection, then train the YOLO wifi model in Google Colab. Build a data pipeline to deliver real-time predictions to OpenCV for practical detections.
Collect high-definition images for the 20 objects to train a custom yolo model, and organize 500–600 images in data_images from sources like Flickr, Google Images, and Pascal VOC.
Activate your virtual environment, open the data images, and manually label objects by drawing bounding boxes with labels like car, person, and horse, then save without renaming.
Extracts bounding box information from xml for multiple objects, capturing image name, width, height, and object names into a list, then applies the function to all xml files with map.
Convert labels into a pandas dataframe for yolo by flattening the data with a lambda, producing filename, image size, object name, and bounding box coordinates to prepare training.
Prepare yolo labels by converting bounding boxes to center x, center y, width, height, normalized by image size; store in train and test folders as text with object name.
Convert bounding box data into YOLO labels by ensuring numeric types, computing center coordinates, and normalizing width and height, then preview top results and prepare for train/test split.
Create train and test folders under the data images directory, storing training images and their YOLO labels (center x, width, height) for model training.
Prepare and organize training and test data for YOLO object detection by labeling images, saving annotations, and moving test images and labels into the proper folders.
Create a data.yaml file to specify train and validation locations, the number of classes, and the object names for YOLO training.
Set up Google Colab to train your YOLO model, connect Colab to Google Drive, create and organize notebooks, and manage runtime options for CPU or GPU usage.
Resume training model.
YOLOV5 also support to resume training the model .
Please use following command to train the model from checkpoint.
python train.py --data data.yaml --weights best.pt
Load the YOLO model with OpenCV's DNN module, configure the backend and target (CPU or CUDA), and prepare for loading, animating, and predicting in the next step.
Understand how YOLO outputs detections by parsing 25 prediction columns: four bounding box values (center x, center y, width, height), a confidence score, and 20 class scores.
Extract bounding boxes and confidences from selected indices after non maximum suppression, map them to class names via YAML labels, and draw bounding boxes on the image for YOLO detections.
Explore real time object detection with YOLO on a video feed, capture frames, generate predictions, and display results live while identifying people.
Open the project folder in visual studio code and activate the YOLO virtual environment, then install the streamlit library in the terminal.
This lecture introduces Streamlit basics, showing how to display text, data frames, graphs, and images in a live web app, with header, sub header, caption, and markdown formatting.
Learn to use Streamlit status elements to display text with color-coded backgrounds: green for success, yellow for warning, and red for error, and preview the changes in the browser.
Display images and videos in a Streamlit web app by loading media from the media folder, rendering images with adjustable width, and embedding videos with captions.
Apply streamlit columns to create a three-column layout, displaying images in sequence (cat, dog, owl) and organizing text and elements per column for a clean, multi-column interface.
Learn to build Streamlit layouts using tabs to display text and images, with three tabs showing a cat, a dog, and an owl from the media folder.
Master Streamlit input widgets like buttons, checkboxes, radio buttons, select boxes, sliders, text inputs, and file uploads, and see how button and checkbox values drive app interactions.
Learn how streamlit radio buttons let users choose one value from a list, with examples like India, USA, UK, and Australia. Set a default index, capture selection, and display it.
Save uploaded files to a designated uploader folder using os.path, open, and write in bytes. Create a path, write the file, and verify the upload in a Streamlit app.
Configure the home page for a YOLO object detection web app in Python by setting page title, wide layout, a home icon, and rendering the 20 detectable objects.
Create a Streamlit app that loads a YOLO model and its data.yaml, lets users upload images, and returns detections with a loading spinner and success balloons.
File type validation. Here we are creating a validation functionality for our app so that app only accepts .jpg, .png, .jpeg file formats only.
Build a Python web app that uploads images, converts them to arrays for YOLO predictions, and displays detection results like dogs and people with an interactive preview.
Explore building a real-time object detection web app using YOLO in Python, integrating WebRTC streaming, loading the YOLO model, and running predictions on live video.
Welcome to 'YOLO: Custom Object Detection & Web App in Python'
Object Detection is the most used applications of Computer Vision, where computer/machine can able to locate and classify the object in an image.
In this course we specifically using YOLO (You Only Look Once) and powerful and popular unified object detection model. YOLO uses neural networks to provide real-time object detection. This algorithm is popular because of its speed and accuracy. It has been used in various applications to detect traffic signals, people, parking meters, and animals.
This course is divided into two halves. The first half deals with object detection with custom dataset where we will locate 20 classes of objects. And in second half we will create an web app and give the Graphical User Interphase experience to the use. Not only that we will also deploy our model in Cloud platform.
Now let us see the topics in the course
Introductory theory session about YOLO Object Detection
Here in this section I will explain history of Object Detection
Object Detection Metrics like IoU (Intersection Over Union), Precision, mean Average Precision (mAP) etc.
Then we will see the mathematical concept behind YOLO
Also I will cover how YOLO improved from each version
After that, we are ready to proceed with preparing our computer for Python coding by downloading and installing the Python package and will check and see if everything is installed fine.
2. Data Preparation for YOLO model
In this section we will put every we learn in to practice. This section is completely hands-on where we will do python code and use pandas dataframes to prepare the data.
a. Thumb rules to follow in Collect Data
b. Label image for object detection: Here we will use LabelImg tool which is an open source tool to label the label.
c. Parse data from XML files and extract information like filename, size, bounding box info like (xmin, xmax, ymin, ymax)
d. Process the data from XML in pandas dataframe. And then split the image and save the respective label information information in train and test.
3. Train YOLO v5 Model
4. Develop Web App in Python
That's all about the topics which are currently included in this quick course. The code, images and weights used in this course has been uploaded and shared in a folder. I will include the link to download them in the last session or the resource section of this course. You are free to use the code in your projects with no questions asked.
Also after completing this course, you will be provided with a course completion certificate which will add value to your portfolio.