Social Distancing is an open-source project for automatically estimating the interpersonal distance from uncalibrated RGB cameras. The software can be freely used for any non-commercial applications to assess compliance of safe distances.
Given an image frame captured from a camera, the algorithm first detects people using an off-the-shelf body pose detector and estimates the height of the people through measuring the distance from their body joints.
In the second step, the algorithm estimates an area of one meter around all the detected people. This distance is roughly estimated proportional to a typical human body height of 160 cm and can be used to draw a circle centered in human position in the scene.
In the third step, the homography of the scene is estimated given two parameters which essentially map the rectangular bird’s view model for the scene to the trapezoidal perspective view of the scene. These two parameters need to be manually tuned to estimate best the scene perspective. According to the homography matrix, the safe circular distance for each person is converted to ellipsoids in perspective view. The people are considered to be staying in a safe distance from each other if their ellipsoids do not overlap up to a safe distance collide. Conversely, if ellipsoids of two people collide, those people are considered as being in risk and their ellipsoids will be shown in red.
The code is open and can be downloaded here
For more details please read the Technical Sheet