Implementing Technology Architecture for Social Distancing

09/06/2020

COVID-19 has impacted in our lives in many different ways; we quickly realised that the virus was not only a health matter but also an economic problem impacting and changing how we do business.

In a short period of time shop owners (and customers too) were required to creatively remodel their services, finding new ways to be able of continue providing services and sell products.

Even now, as we report no more active cases and move into level 1, businesses still have new regulations in place or at the ready. Some of the most prevalent are social distancing and customer data tracking.

The most common ways of meeting these regulations seem to be a manually written form at the entrance of a shop in which the customer must write down her or his information (Tracking), and a person from the business counts how many customers have entered into the premise making sure the number is low enough to maintain the expected social distance between customers. It is these scenarios where technology could easily shift it from a manual process to an automated process. This would ensure we avoid human errors and opens the game for more options and implementations with the resultant information. Let’s analyse a hypothetical implementation for one of these scenarios: Social distancing.

Perhaps the most important goal, as we mentioned, is to make sure the number of customers inside the shop is expected to ensure the minimal distance between people is met. Considering this as the goal and understanding that the person at the door is manually counting the customer flow, we should be able to automate this process applying cutting-edge technology.

Firstly, we need to have the ability to count people as any human could do it. Additionally, we should be able to display an alert (real time) and this number can advise us and any customer to take proper actions; wait on a queue to get into the shop; properly handle the shopping activity flow etc.

Differentiating between a person and any other form is a trivial activity for the human brain, but for computers this could be an intense activity. Terms like artificial intelligence or machine learning will pop up into our minds and, with this, very expensive machinery and heavy processes. Although this could be reasonable for a particular system, today we can encapsulate this into very small and cheap micro controllers.

Arduino with TensorFlow Lite detecting activities on the shop front door

The above architectural diagram presents us a very quick implementation of this concept. Devices such as Arduino Nano and frameworks like TensorFlow Lite are able to run together. The first one brings all the options of a microcontroller, including Bluetooth, WiFi, camera video manipulation and many others. The second one puts the power of TensorFlow into the device without requiring any additional connection or data transfer to deliver a powerful implementation.

With this in mind, the previous diagram becomes easily understandable in terms of implementation. A closed system using a microcontroller that runs TensorFlow Lite is able to detect customer flow, counting the number that enter the shop and those that finish their shopping and exit. Because these types of microcontrollers can expose the information through their connectors (or any other of the previously named capabilities), we can send this counting, real time, to other processes that display this information in a noticeable way.

But, this type of solution is not restricted to closed systems or reduced surfaces. At the start of this article we mentioned that once we implemented this system, the generated data could be useful beyond a single shop or place.

Expanding the system from closed to open and integrated

Each silo system could be integrated, keeping individual anonymity, into a bigger macro system. Remember that we could use the microcontroller to send information through the internet to a particular remote endpoint (API REST or any that can be used as reliable data transport protocol) which collects the information from other individual system, agglutinates the data and presents it in different way. As in the second diagram, this information takes the form of a heat map visualised in a public web site, giving information about how crowded a particular area could be: A more “macro view” of social distance.

To summarize, we can say that not every system, even those that include cutting-edge technologies such as artificial intelligence, would require big processing centres. Today we can achieve similar results with devices that can fit in the palm of your hand. Additionally, the relatively lower price on these devices make them easy candidates for physically distributed architecture with few central data gathering processors.

If you’re interested in finding out more about how Cucumber could help you understand a challenge or opportunity like this and how to design a system and implement the technology to support it, please get in touch.

Written by Matias Iacono

Previous
Previous

Michael Ren - YiA Internship 2022

Next
Next

Google Tag Manager 101 Part 12 - Non-Interaction Events