Android application to monitor social distancing. Project for the class Sistemi Digitali M, UNIBO.
The application lets the user take a photo, and it analyzes the position of the people in the scene, reporting risk cases.
If the minimum distance if under 1m, it will be reported in red, between 1m and 2m in yellow, over 2m in green. The numbers inside the square represent the distance between the device and the person. The numbers over the lines represent the distance in meters between two people.
To infer the distance of the people from the camera we used PyDNet, a convolutional neural network for depth estimation from a single image, scaled in meters using the feature points found by ARCore.
To recognize the people in the scene we used EfficientDet, a neural network for object detection by TensorFlow.
Here is a video showing the complete functioning of the application.
Clone the project and use Android Studio to generate an APK or to install directly on the smartphone. The necessary prerequisites are:
- ARCore supported smartphone
- Android 10.0 (SDK 29)
We included a python program (3dSceneRecostruction) to create a 3D recostruction of the images saved by the app. Open3D version 0.12.0 is required. Execute the program in the same directory where you have saved the image, the depth map and the json file:
python3 3dSceneRecostruction.py sda-20210409-181002.jsonYou can found these files in the app-specific files using Android Studio.




