Social Distancing Using Computer Vision and Deep Learning

Praveen Rao Sureddy

Praveen Rao Sureddy

Hyderabad, Telangana

0 0
  • 0 Collaborators

This project utilizes the OpenVINO (Open Visual Inference and Neural Network Optimization) toolkit and Yolov8 object detection model to implement social distancing enforcement using computer vision and deep learning techniques. ...learn more

Project status: Published/In Market

Artificial Intelligence, Intel® Unnati

Intel Technologies
OpenVINO

Docs/PDFs [1]Code Samples [1]

Overview / Usage

In response to the COVID-19 pandemic, social distancing has become a crucial measure to prevent the spread of the virus. This project leverages the power of OpenVINO, an open-source toolkit provided by Intel, to enhance the efficiency and performance of the computer vision and deep learning models used for social distancing enforcement.

By analyzing live video feeds from surveillance cameras or recorded videos, the system detects and tracks individuals in the scene. It then measures the distances between people and identifies whether they are maintaining a safe distance or not.

Methodology / Approach

Ø Model used in our project is YOLOv8 nano model. The YOLOv8 algorithm developed by Ultralytics is a cutting-edge, state-of-the-art (SOTA) model that is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection, image segmentation, and image classification tasks.

Ø We downloaded the YOLOv8 model using ultralytics YOLO python module and we converted the YOLOv8 pytorch model file into OpenVINO IR model using a pre-defined function such as YOLO.export() or mo.convert_model() and that converted IR model is used for inferencing.

Ø We further optimized the model using NNCF Post-training Quantization API, first we created a dataset and then we run the nncf.quantize() for getting an optimized model. After that we Serialize OpenVINO IR model using the openvino.runtime.seirialize().

Ø Now we will read the model using openvino runtime core.read_model() then we compiled that model with device compatibility as CPU.

Ø We feed the input data to the converted model and fetch the output data. The output data is the bounding boxes coordinates of detected persons as label set to person only.

Ø Using those coordinates we find the centres  of the boxes and find out the Euclidean distance between those boxes. Using this distance value as threshold we find out the persons who are violating the social distance norms.

Technologies Used

Openvino toolkit

YoloV8 by Ultralytics

Documents and Presentations

Repository

https://github.com/Praveen880890/Social-Distancing-Using-Deep-Learning

Comments (0)