Lanthorn is an affordable, accurate, and secure solution that analyzes videos to monitor social distancing and face mask wearing.
The purpose of this documentation is to walk you through the Lanthorn setup.
Prerequisites for this setup is:
- A device with linux operating system
- An IP Camera
- A Lanthorn account
For implementation services or enterprise use cases, please contact sales.
Disclaimer: Lanthorn is currently in beta. Requests to the processing unit are currently over HTTP but dashboard requests are over HTTPS). This will be fixed in future releases, in the meantime you may need to enable those in your browser configuration for Lanthorn to work.
Lanthorn Perception is open-sourced here Smart Social Distancing, You will need to run this project on your edge or cloud processor to generate the data required for your dashboard.
You can run Lanthorn Perception software on a variety of devices within your local network:
- NVidia’s Jetson Nano
- Coral Dev Board
- Any x86 CPU
The processor unit receives feeds from your existing IP cameras, and the perception code runs the AI algorithms and generates the analytics for the Lanthorn dashboard. No video data is stored or transferred during this stage.
The sole purpose of the Lanthorn Servers is storing account information and settings. Lanthorn’s analytics can be accessed from our online dashboard and retrieved from your processor.
The following diagram shows the network topology:
NVidia’s Jetson Nano is a low cost and low power embedded system-on-module (SoM) that focuses on running machine learning software. You can easily set up your Jetson Nano following NVidia’s official setup guide.
As we mentioned, our software can be run on any x86 device. You can follow these steps as guidance to set it up:
1. Install Ubuntu 20.04 (Latest LTS)
2. Install Git:
sudo apt-get update
sudo apt-get install git
3. Follow the instructions to install Docker
Now that your processing node is ready, it’s time to clone Smart Social Distancing’s code from their GitHub repository on it:
The repository’s README.md file contains instructions to run this software on all supported devices. As an example, here are the steps required to run it on a Jetson Nano:
The first two steps are only needed during the first-time setup. The last one launches the software and must be re-run in case it’s stopped (for instance, after a reboot).
Lastly, you’ll need the local IP address of your processing node as well as the IP addresses of all the IP cameras you want to analyze for the Lanthorn setup.
You can get the IP address of your Jetson Nano with the following commands:
With your device running and all the necessary IPs, you can now use Lanthorn. Follow these steps to access it:
The following section provides a brief description of each page in Lanthorn’s website and its functionality.
The login screen is the first thing that you’ll see. Apart from logging in, it has links to the account registration and forgot password screens. Once you register you’ll receive an email in the address that you provided to verify your email address and activate your account, and once you activate it you can log in and start using Lanthorn.
You’ll encounter this section the first time you log in to your account, as the processing unit needs to receive the information of the IP cameras whose feeds it will process.
This step requires information about the cameras and processing unit. Each camera requires the following information:
- Processor path (IP address of the processing unit that will analyze its feed)
- Camera path (IP address of the camera)
- Notification settings:
If you want e-mail notifications
Required frequency of violations to trigger a notification
You may encounter one of the following error messages when attempting to save your configuration:
“Can’t reach authentication server”
Likely caused by a problem in your internet connection or Lanthorn’s servers being down.
“Can’t reach processing unit”
Likely caused by misconfiguration in your local network. You can try pinging the processing unit from the device running the dashboard, Lanthorn should work if the ping does.
This is the welcome screen of Lanthorn. It provides you with the list of cameras set up under your account, as well as the option to edit them, add new ones or delete them.
As long as you only configure one camera, you can view its live feed with bounding boxes drawn around every person detected by the processing unit. This is not possible when more than one source is being analyzed, as the processing power needed to edit these boxes into the video isn’t available due to the extra feeds. In order to view the cameras’ feeds you’ll need to installl MPV (or any other media player of your choice that supports network play), and they won’t have bounding boxes drawn around each person.
This is where you can see analytics and statistics about your cameras. These include the highest risk time range, the camera where most violations per day are detected, a graph with the amount of detections organized by different timeframes, and a heatmap of detections for each camera.
Note that since reports and aggregate data are calculated at the end of each day, you won’t be able to see data about your cameras until at least the day after you performed the initial setup.