Inspiration

All kinds of public spaces have rules and regulations related to COVID-19; typically, these deal with social distancing and mask-wearing rules. But how do we know if people are following these rules?

What it does

COVIDCam uses machine learning to measure distances between people on a video feed and can also identify whether they are wearing masks. Violations are logged so that users can get an idea of how effectively their protocols are being followed.

How we built it

  • Person detection: Darknet's YOLOv3
  • Distance calculation: OpenCV camera calibration and mapping pixels
  • Mask detection: Face detection and facial landmark recognition using TensorFlow

Challenges we ran into

Videos are two-dimensional; we live in a 3D world. Thus, measuring distances from a video can be difficult as we have to deal with depth along with length and height. We tried many different approaches to measure depth while minimizing computational power required -- everything from creating depth maps using NVIDIA Jetson DepthNet to calibrating using a sphere and comparing head distortion to the sphere. In the end, we settled on using a combination of OpenCV's checkerboard camera calibration method and some fancy math involving pixels.

Accomplishments that we're proud of

Completing our first computer vision project in just 36 hours!

What we learned

A lot -- from programming to geometry to time management.

What's next for COVIDCam

Involving GPU in our program to improve performance.

Discord Information

xykmz#4934, nicosigma26#0233, sebastiantia#9997, lil t#9891

Built With

Share this project:

Updates