AIDistance is a website that allows users to see the amount of people in highly crowded areas. By analyzing security camera footage, AIDistance is able to get the precise number of people in a given location. All this information allows users to see when it is safe to visit certain locations, and allows people to naturally stagger their outings.
The 2020 Covid-19 global pandemic has revealed a lot about our safety measures as a nation. In these trying times, it is imperative that we uphold the guidelines set up by our health care professionals. However, life must go on, and to preserve the safety of our loved ones and those at risk, AI Distance proposes a solution. By monitoring active, public spaces, we ensure that no one place becomes too crowded to effectively maintain social distancing. Getting over this pandemic is a community effort, and we want to add a practical solution that can also be applied in different situations in the future.
Analyzing Security Camera Footage
AIDistance combines deep convolutional networks with a clean and efficient django UI. For the client side, designed for use on a Jetson Nano mini-computer with a Raspberry Pi-camera V2, we used the inception_v2_coco model from the tensorflow zoo library to detect humans in a real-time video feed from the Picam. Using novel algorithms applied on the model's output, we were able to extrapolate much more data than simply the basic bounding box provided by the model. Curiously, at close proximity, the model underwent performance issues, sometimes classifying a single human as two, with an arm or a leg being identified as a separate entity. We were able to efficiently solve this using several tools from NumPy to mathematically infer an erroneous overlap. We can also infer heading by keeping track of the historical movement of centerpoints of the various bounding boxes produced by the inception model. Along with various other tweaks, we were able to cut through a lot of the noise that we were receiving earlier in the project's history, such as random incorrect classifications. The data netted by rcnn.py is then fed straight to our server where it is handled and processed for users to easily access and manipulate.
The website for AI Distance is comprised of three main parts. The first part is the home page which details the goal and importance of the project, along with important information about the current world situation. The second part of the website is the Shops Nearby Page. This page allows users to see the population densities of nearby locations, and tells users if that location is safe to go to at this time. The page automatically gets data from security camera footage, or in this example, video taken from a Jetson Nano computer, and determines the amount of people in the store(This process is detailed in the first paragraph). It then displays this information in an easy to read, efficient way to the users. Finally, we also have the addLocation page which allows users to add their nearby shopping locations. For demonstration purposes, we only have video footage linked up to one location: Krogers. Obviosly, we hope to partner with businesses to include our software at their locations.
In addition, this website does have block-stack sign in. Users must sign in in order to have access to this information. However, on the public IP and for demonstration purposes, we disabled this functionality, so that everyone can see this information for the demo. Our video demo shows this sign in.
Video Explanations and Demos
https://www.youtube.com/watch?v=TkG2QDZwPHU -Server side explanation
https://www.youtube.com/watch?v=00PF7QCuBIk -Client side explanation