Coder Social home page Coder Social logo

ank-cha / social-distancing-analyser-covid-19 Goto Github PK

View Code? Open in Web Editor NEW
407.0 26.0 199.0 62.45 MB

A social distancing analyzer AI tool to regulate social distancing protocol using video surveillance of CCTV cameras and drones. Social Distancing Analyser to prevent COVID19

License: Other

Python 100.00%
covid-19 covid19 social-distancing artificial-intelligence computer-vision stay-home python yolo

social-distancing-analyser-covid-19's Introduction

Social-Distancing-Analyser-COVID-19

An AI tool to prevent spreading of coronavirus (COVID-19) by using computer vision on video surveillance. A social distancing analyzer AI tool to regulate social distancing protocol using video surveillance of CCTV cameras and drones. Social Distancing Analyser to prevent COVID19

For education purpose only, meant as my contribution towards society

Social Distancing Analyser automatically detects the extent to which social distancing protocols are followed in the area. Deploying it on current surveillance systems and drones used by police to monitor large areas can help to prevent coronavirus by allowing automated and better tracking of activities happening in the area. It shows analytics of the area in real time. It can also be used to alert police in case of considerable violation of social distancing protocols in a particular area.

v1.0 output:

v2.0 output:

V3.0 output (code coming soon)

Features:

  • Get the areal time analytics such as:
    • Number of people in a particular area
    • Number of people in high risk
    • The extent of risk to a particular person.
  • Doesn't collect any data of a particular person
  • Stores a video output for review

Things needed to be improved :

  • Auto-calibration [For the given sample video, I've calibrated the model by simulating a 3D depth factor based on the camera position and orientation.] (Check out v2.0)
  • Faster processing

Please Note: angle factor is needed to be set between 0 to 1 for v2.0 according to the angle of camera (move towards one as angle becomes verticle)

Installation:

Credits:

@article{yolov3, title={YOLOv3: An Incremental Improvement}, author={Redmon, Joseph and Farhadi, Ali}, journal = {arXiv}, year={2018} }

copyright © 2020 Ankush Chaudhari | All rights reserved

social-distancing-analyser-covid-19's People

Contributors

ank-cha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

social-distancing-analyser-covid-19's Issues

How to do the camera calibration

@Ank-Cha

Thanks for your work.

could you please advise how to do the camera calibration in the code?

I tried your code with webcam and close object detection result is poor.

highly appreciate your advice on this.

how can be run it with GPU

Hi Ank thank you for sharing witth us your project , i have i question about GPU:
when i run you code and watch nvidia-smi in an other terminal , the code pythone use juste 41 MiB in the performance of GPU , how can be use all performance , Thanks in advance .
image

erorr with default video and code

when i run the code this error display on the screen
Traceback (most recent call last):
File "C:\Users\asus\Desktop\dj\social\social_distancing_analyser.py", line 45, in
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]
File "C:\Users\asus\Desktop\dj\social\social_distancing_analyser.py", line 45, in
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]
IndexError: invalid index to scalar variable.

Error

[ERROR:0] global /io/opencv/modules/videoio/src/cap.cpp (140) open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.3.0) /io/opencv/modules/videoio/src/cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): ./videos/videos in function 'icvExtractPattern'

Processing finished: openop_videos
Traceback (most recent call last):
File "main.py", line 250, in
writer.release()
AttributeError: 'NoneType' object has no attribute 'release'

licencing issue

You are restricting code on Github without an open-source license protecting your work. This means you have little to no power over who can do what with your code without a proper license. You are also publically shaming people who take credit for your code (despite there being a lack of a license, meaning anyone can take credit for your code legally and you can't do a thing) which can be viewed as a violation of Github's terms of use.

I recommend the GNU GPL license (https://www.gnu.org/licenses/gpl-3.0.html) to follow your restrictions, but you may want to review this license to make sure it follows with all of your terms. It is a strong copyleft license that can protect your work.
GNU GPL does allow for commercial use, so consider dual-licensing with the Commons Clause license (https://commonsclause.com/)

Lastly, to fully comply with Github's terms, I recommend not blasting others' social media on Github. You can modify your README to remove the offense, or you can leave it up there and Github can take action against you for DOXXing. It is truly up to you.

Have a fine day and take my advice into consideration!

import cv2

no module named cv2
cant find this module. Again where are dependencies to install please?

Doubt

Hey, was going through your code, really cool!
Just wanted to ask how you got the constants in your isclose function for vc_calib_hor, .. c_calib_ver in version2?

error

in my case it is giving this error ...

(base) C:\Users\Akash Kumar\Downloads\project_ML>D:/anaconda/python.exe "c:/Users/Akash Kumar/Downloads/project_ML/Social-Distancing-Analyser-COVID-19-master/Social-Distancing-Analyser-COVID-19-master/social distancing analyser 2.0.py"
Video name in videos folder: video.mp4
Processing finished: openop_video.mp4
Traceback (most recent call last):
File "c:/Users/Akash Kumar/Downloads/project_ML/Social-Distancing-Analyser-COVID-19-master/Social-Distancing-Analyser-COVID-19-master/social distancing analyser 2.0.py", line 252, in
writer.release()
AttributeError: 'NoneType' object has no attribute 'release'

Video Speed

Hi, My CPU has a NVIDIA geforce 940MX config, still the video lags when I run the code. As suggested I have even tried the same with the tiny versions, but the speed improved by 10-20 % only. Can you suggest if anywhere else it has to be tuned in your code to obtain the correct fps.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.