image
image

YOLO Model: Custom Object Detection with Google Colab

Delve into YOLO object detection and gain hands-on experience on custom model training, custom dataset training, real-time detection, NMS and model assessment.

263 views
Last updated 5/2024 English

Buy only this course for S$64.35 S$19.35

Or

Add to Wishlist
image

Overview

Welcome to the YOLO Model: Custom Object Detection with Google Colab course, a part of the Computer Vision series. This course delves into the widely used application of Computer Vision known as Object Detection, which entails the computer's capability to identify and categorize objects within an image.

What the Course on YOLO Covers

Throughout this course on YOLO custom object detection, we will center our attention on You Only Look Once (YOLO), a highly efficient real-time object recognition algorithm that is integrated into Darknet, an open-source neural network framework.

This course on YOLO custom object detection is divided into two halves. In the first half, we will explore object recognition using a predefined dataset called the coco dataset, which can classify 80 classes of objects. In the second half, we will create our own custom dataset and train the YOLO model to detect objects. As an example, we will create our own coronavirus detection model.

Course Outline

The course will cover the following interesting topics:

Introduction to YOLO Object Detection System

An initial session on the theory behind the YOLO Object Detection system.

Setting Up Our Computer for Python Coding

Guidance on downloading and installing the Anaconda package to prepare our computer for Python coding.

Basic Python Programming Skills

Introduction to fundamental Python programming skills, such as Python assignment, flow-control, functions, and data structures. These sessions and examples are designed to help all participants, regardless of their Python-based programming background, to acquire the required skills for the course.

Installation of OpenCV

We will install OpenCV, the open-source Computer Vision library in Python.

Introduction to Convolutional Neural Networks (CNN)

An overview of Convolutional Neural Networks, including their functionality and the various steps involved.

Object Detection and Recognition using YOLO Pre-trained Model

Implementation of Object Detection and Recognition using the YOLO pre-trained model. This will include an overview of the YOLO model and the implementation of YOLO object detection from a single image.

Non-Maxima Suppression (NMS)

Addressing cases where YOLO returns more than one successful detection for a single object in an image by implementing a technique called Non-Maxima Suppression (NMS).

Real-time Object Detection and Object Recognition

Utilizing the YOLO model for object detection from a real-time webcam video and evaluating its performance. Furthermore, using it for object recognition from a pre-saved video file.

Training a Darknet YOLO Model

Attempting to train a Darknet YOLO model capable of detecting coronavirus from an electron microscope image or video output.

Pre-trained Dataset Model vs. Custom Dataset Trained Model

Discussion on the advantages and disadvantages of using a pre-trained dataset model versus a custom dataset trained model, as well as an overview of the free GPU offered by Google Colab and its features before diving into the implementation.

Implementing a Custom Model for Coronavirus Detection

Preparation Steps

In the upcoming session, we will initiate Phase 1 of developing our custom model. This phase involves the initial steps for implementing the custom model. Firstly, we will obtain the darknet source from GitHub and prepare it for further customization. Subsequently, we will procure the necessary weight files for testing and training. Lastly, we will modify the essential configuration files to tailor it for our custom coronavirus detector.

Data Collection and Organization

Moving on to Phase 2, we will commence gathering the requisite data for training the model. This will entail sourcing coronavirus images from the internet and organizing them into folders. Next, we will utilize an open-source annotation tool called LabelImg to label or annotate the coronavirus objects within these images. Following this, we will divide the compiled dataset, allocating 80% for training and 20% for testing. Finally, we will modify the necessary files to specify the locations of the training and testing datasets.

File Upload and Configuration

Upon completing the aforementioned tasks, we will proceed to Phase 3. Here, we will compress and upload the files to Google Drive. Subsequently, we will create a Google Colab notebook and configure the Colab runtime to utilize the fast, powerful, and complimentary GPU service offered by Google. We will then connect our Google Drive to the Colab runtime and extract the uploaded darknet zip file. Additionally, we will address any potential issues arising from file editing in non-Unix environments by converting the encoding from DOS to Unix.

Compilation and Testing

In the final phase, Phase 4, we will compile the darknet framework source code and proceed with testing the framework using a sample image. This phase will involve ensuring that the darknet framework functions appropriately and as intended.

Introduction to Google Colab and Model Training

The GPU-based runtime provided by Google Colab is temporary as it resets every 12 hours. To ensure our progress is saved, we need to periodically save our weights during training to our Google Drive, which offers permanent storage. In Phase Five, we will establish a link between a backup folder in Google Drive and the Colab runtime.

Preparing for Model Training

As we move into Phase 6, we are ready to commence training our custom coronavirus model. Throughout the process, we will monitor the loss for every iteration, or epoch, in neural network terms. Our model will securely save the weights to our Google Drive backup folder every 100th epoch.

Model Training and Evaluation

During the epochs, we will observe a continuous decrease in loss values. Eventually, the model will reach a state of convergence or flatline, indicating no further improvement in loss. At this point, we will obtain the final weight, which we will later use for predicting coronavirus-containing images. The model's capability to detect objects will be tested on both images and video files.

Model Assessment and Future Discussions

While the custom model is not yet a fully flawless production-ready coronavirus detection model, the process of building it has provided valuable experience. Following the completion of this course, we will discuss other case studies where a custom trained YOLO model can be implemented, along with the necessary adjustments for training those models.

Conclusion and Course Completion

Upon completion of the course, participants will receive a course completion certificate, adding value to their portfolio. This concludes the current topics included in this quick course on YOLO object detection. We look forward to seeing you in the classroom soon. Happy learning!

Who this course is for

Beginners or who those wants to start with Python based Object Recognition and want to develop custom object detection models.

Testimonials
  1. Excellent. A lot of content in very less time, explanation is so good. Can learn a lot in limited time from the instructor. thanks a lot for giving practical guidance as well apart from delivering a beautiful course ~ P Picasso
  2. I benefited a lot from this course. It helped me in understanding YOLOV4 implementation and application areas for this Detection algorithm. The instructor is such a talented person and makes the content very simple to understand and clarifies all the doubts of the students. Looking forward to more courses from the Instructor on medical Image semantic segmentation and related fields ~ P Sarosh
  3. Looks good. I wanna apply this skill to my current working project:) Very informative explations:) ~ S Umemoto
  4. I really recommend this course who wants to start learning object detection with YOLO. Lectures are quite simple and understandable and lecturer is helpful with your questions! ~ Berk C
  5. This is a very to the point course, if you want to know how to implement YOLO on custom object detection, it definitely is the course here ~ Swarnava M
What you'll learn
  1. Python based YOLO Object Detection using Pre-trained Dataset Models as well as Custom Trained Dataset Models.
  2. Case study of coronavirus detector using YOLO
Requirements

A decent configuration computer (preferably Windows) and an enthusiasm to dive into the world Image and Object Recognition using Python.

Course Content
26 Sections 40 Lectures 3h 58m total length