alwaysAI Reference Applications

NVIDIA Apps

App Description
CUDA Applications This alwaysAI application set use a CUDA (Compute Unified Device Architecture) interface which allows CNN models to execute on NVIDIA GPUs found on Jetson devices. CUDA APIs give applications executing on the CPU direct access to NVIDIA’s GPU’s virtual instruction set and parallel computational elements.
NVIDIA Real-Time Object Detector This alwaysAI app performs object detection in real-time on NVIDIA Jetson devices.
NVIDIA Semantic Segmentation This alwaysAI app performs semantic segmentation on a video clip of a driving scene on NVIDIA Jetson devices.

Camera Apps

App Description
Eyecloud-Starter-App Basic application to get you started working with Eyecloud Cameras.
Multiple Camera Streams This alwaysAI application demonstrates how to incorporate video streams from multiple cameras into a single app.

Example Apps

App Description
Twilio Computer Vision App A simple computer vision app that can detect a chair, and which sends a text message letting the user know when a chair has been detected.
Capacity Detector This application is meant to detect people from a live or recorded videostream and determine if they are entering or exiting a location. That info is then can be sent via a POST call to a URL endpoint for processing.
Classifier based Image Sorter This app can use an image classifier to detect any number of target labels, then sort those images into 1 of 2 folders.
Contraband Detector App This app uses object detection and employs a correlation tracker to monitor a frame for items deemed 'contraband'. For working or learning at home, these items may be headphones, cell phones, books, etc. We use two object detection models in order to maximize the number of objects we can detect given a set of freely available detection models. You can add or remove models and alter labels to suit your needs!
Crosswalk Object Detection This app performs object detection on a video of a crosswalk in simulated real-time. The app will automatically perform inference on the CUDA GPU on Jetson devices.
Darts Play darts with alwaysAI and the Intel RealSense depth camera!
Distance Detector This app will display the distance between two hands in inches. This app uses a web camera as the video stream and uses reference object metrics to approximate distance between two objects in an image.
Face-Swapper Swaps the faces of people in a video stream when more than one person is in the frame.
facial_landmarks_with_dlib Not found
Gesture Controlled Home Interaction App This app is designed to let you use your own custom gesture model to activate voice-activated technology, such as Alexa, Google Home, or Siri, using computer vision. After training your own gesture-detection model, using hand signals of your choice, you can use these signals to play audio files that give commands to smart tech. You'll need an alwaysAI account and to have alwayAI installed:
hacky-hour-0806202 Source code for the August 6 2020 Hacky Hour! Demonstrates how a computer vision application can be used in manufacturing to confirm that a worker has chosen the correct component for assembly of a product. The cv application finds the roi associated with an illuminated LED on a tray shelve. It then checks to see if the workers hand has picked up the correct component using a hand detection model and overlapping rectangles algorithm between roi and hand detection bounding box. The bounding box of hand detector turns green when the correct component is chosen and remains red until that occurs.
Interactive Image Capture App This alwaysAI app builds off of the app found here to provide a cusomized data collection server that allows the user to take snap shots or record videos and store them for later use.
Jumping Jacks Counter This app counts jumping jacks for a single person on a real-time video stream or a video file. The app defaults to the TensorRT engine on NVIDIA Jetson devices, and the DNN engine elsewhere.
License Plate Tracker App This app uses object detection and employs a correlation tracker to monitor a frame for license plates and vehicles. Please note that the model used in this app does not detect the content or read the characters from a license plate. Pair this app with an OCR library to do so.
License Plate OCR App This app uses object detection and employs a correlation tracker to monitor a frame for license plates and vehicles and then uses an OCR library to read the license plates. This app will work on development machines, such as MacOS and Windows, but not on ARM 64 architectures due to the dependency on PyTorch.
Classifier based Image Sorter This app can use any number of image classifiers to detect any number of target labels, then sort those images into 1 of 2 folders if the target label is detected.
Multiple Object Detectors Sample App This app utilizes two object detection models, with the option of adding additional detection models. This may be helpful for including models that comprise very different libraries. In this example, one model detects numerous objects of small to medium size, and the other has a more limited library but detects some larger objects, such as airplanes, trains, and sofas. As there is some overlap between models, for instance they both detect people, you can compare the prediction confidences. Additionally, the output for each model appears in a separate video frame.
Object Detection Server/Client Server app sets up an alwaysAI model to run on an device where images can be sent and infereneced. The server returns the marked-up image to the client.
Object Detection & Classifier Sample App This app enables two alwaysAI models to be used simultaneously: one to detect facial objects, and a second to classify the detected faces in terms of age ranges.
Package Detection System App This app is designed to let you use your own custom package detection model to detect when packages arrive and when they are removed You'll need an alwaysAI account and to have alwayAI installed:
Pedestrian Segmentation This app expands on the semantic_segmentation_cityscape starter app to build an app that segments pedestrians and bicyclists in each frame of a video, and performs actions based on the results. The full tutorial can be found on the alwaysAI blog.
People Counter App This app expands on the alwaysAI face counter starter app to both count the number of non-unique people (same person will be counted multiple times if they exit and re-enter the frame) detecdted and to display basic time metrics on those appearances.
Classify Poses with Pose Estimation and Support Vector Machines (SVM) This repo contains an alwaysAI app and Jupyter Notebook to classify poses using Pose Estimation from alwaysAI and machine learning tools from Scikit-Learn. This tutorial will walk through training an SVM to classify a few common yoga poses.
Posture Corrector with Pose Estimation Example App This app uses pose estimation to help users correct their posture by alerting them with a sound when they are slouching, leaning, or tilting their head down, as well as a printed message with specific suggestions for correcting posture. A scale variable is used to adjust the keypoints measurements for different individuals, accounting for greater or smaller natural distances between keypoints used to detect poor posture.
Virtual Green Screen with Edge Smoothing Example App This app expands on an app that uses semantic segmentation to segment out a person from background noise in a video stream and replace the background with an image or blur it out. This app demonstrates how to subsequently smooth segmentation boundaries. This app also demonstrates how to separate your app configuration information into a separate JSON file. For more details on this aspect of the app, please see the original blog: https://medium.com/@jalakoo_83320/using-a-computer-vision-classifier-to-sort-images-333d5090c0b4
Snapshot Security Camera App This app expands on the realtime_object_detector starter app to build a simple security camera app that takes a picture of each new person who enters the frame. The full tutorial can be found on the
Spatial AI Webinar Apps Spatial AI is the blending of machine learning inferencing with geometric data from sensors, enabling robots, drones or autonomous vehicles to better understand the world around them.
Temperature Tracker App This app demonstrates how to use a temperature tracking utility class for the Raspberry Pi.
TensorRT Applications This alwaysAI applications set uses TensorRT binaries to do the local infernecing on a NVIDIA Jetson device, these binaries can be found in the alwaysAI model catalog. The model will start with TRT and end with the Jetson device name it should be run on, for example nano. These binaries are the most efficient way to do infernecing on NVIDIA Jetson device. Currently alwaysAI support TensorRT binaries for Jetson Nano, TX2 and Xavier XM.
Simple Video Recorder This alwaysAI app records and saves video from a USB webcam or CSI ribbon camera.
Video Streamer This alwaysAI app performs realtime object detection and streams video and text data to a Flask-SocketIO server that can be located on another device.
Video Streamer Using Multiple Containers This alwaysAI app performs realtime object detection and streams video and text data to a Flask-SocketIO server running in another container managed by Docker Compose.
Virtual Green Screen Example App This app uses semantic segmentation to segment out a person from background noise in a video stream and replace the background with an image or blur it out. This app builds off of a methodology for segmenting out areas of interested, which can be found here. This app also demonstrates how to separate your app configuration information into a separate JSON file. For more details on this aspect of the app, please see the original blog.
YMCA APP In this example we'll be using a simple set of cases to determine if someone is doing a Y, M, C, or A in our image then displaying the letter on the screen if they do creating a fun virtual experience.