Skip to content

Instantly share code, notes, and snippets.

@finddavesteele
Last active March 19, 2025 21:35
Show Gist options
  • Select an option

  • Save finddavesteele/fc92281fd03765a5ed5af008aa39a7e5 to your computer and use it in GitHub Desktop.

Select an option

Save finddavesteele/fc92281fd03765a5ed5af008aa39a7e5 to your computer and use it in GitHub Desktop.
Brinq Smart Camera Software Demo for Synaptics SL1680

Brinq Smart Camera Software Demo for Synaptics SL1680

Table of Contents

About the Synaptics SL1680 and Brinq Smart Camera Software

The Synaptics SL1680 processor is powerful compute platform for creating smart vision applications at the edge. It features a Quad-core Arm® Cortex®-A73 @ 2.1GHz CPU an Imagination™ PowerVR™ Series9XE GE9920 GPU, a powerful NPU and multi-stream VPU encode and decode capabilities. Installing the Brinq Smart Camera demo software transforms the SL1680 into a full-fledged smart camera system with web dashboard and analytics for boundary crossing, people counting, tracking, reidentification, motionless and loitering behaviour.

This is demo software and is limited in its features and capabilities. Additional analytics for people, vehicles, packages and inspection are available from Arcturus along with development services for specialized analytics and support. Refer to the contact section to reach out to us. We are here to help you deliver your ML and vision projects.

Brinq Smart Camera Software features

Web dashboard views

Live view

  • Live video stream
  • Visualization of detections in real-time
  • Visualization of analytics events in real-time
  • Time stamping
  • Real-time event notifications

Playback view

  • Playback of recorded video
  • Timeline view of events
  • Playback speed adjustments
  • Smart search by event class and time range
  • Event filtering by event class and time range

Statistics view

  • Visualize analytics events
  • Select time ranges and frequency
  • Visual CPU, storage and memory systems

Smart Vision Analytics

Boundary Crossing

  • Draw polygons to define boundary zones
  • Receive notifications when a person enters or exits a zone
  • Set schedules when the analytic notification runs
  • Count people in field of view or within zones

Loitering

  • Draw polygons to define loitering zones
  • Define the duration (loitering threshold) a person can remain in zone before triggering a notification
  • Set schedules when the analytic notification runs
  • Receive notifications when a loitering person is detected

Motionless

  • Draw polygons to define motionless detection zones
  • Define the duration and motion tracking tolerances to determine a person is motionless can remain in zone before triggering a notification
  • Set schedules when the analytic notification runs
  • Receive notifications when a motionless person is detected

Abandoned Package

  • Package and vehicle analytics are not available as part of the demo software.

Tracking / Reidentification

Counting unique people within a live camera stream requires a method to identify each unique person and track them to prevent overcounting. Using an object detection model out-of-the-box will only produce a count of the number of detections in one frame, there is no frame-over-frame awareness, and no unique identity assigned to objects.

To achieve robust people counting, the Arcturus solution assigns a unique identity to each person. A motion prediction algorithm is then used to generate a prediction envelope based on each unique person's velocity and heading. If a future detection falls within the prediction envelope, then the person is reassigned the same ID. This works well for basic applications with minimal occlusions and high-quality detections; however, if a track is lost there is no way to re-associate it. To overcome this limitation, a second ML model is used to create an embedding of the contents of the detected person's bounding box -effectively, a fingerprint of their visual appearance. This embedding is stored in a database and compared using cosine similarity to reassociate a lost track. This combination of light-weight motion prediction with appearance embedding provides a robust counting method.

Arcturus is a world leader in tracking and reidentification technology (currently first place at the Multiple Object Tracking Benchmark Challenge).

Configuration and Settings

  • Video source selection (camera, stream or file)
  • Advanced settings including detection confidence threshold
  • Analytics configuration including polygon zones, schedules and advanced features

Installing Smart Camera Software Demo on Synaptics SL1680 Hardware

Refer to the Demo Installation Guide.

Getting Started

NOTE: We highly recommend this demo be run using wired Ethernet connection between SL1680 Astra development kit and PC. Using Wi-Fi may cause synchronization, latency or jitter issues.

Logging into the Web Dashboard

  • Once you have installed the software by following the installation instructions the device will boot and begin to set up the demo. After the system boots and completes installation, you can access the Brinq Smart Camera Software Demo web dashboard.

  • The Smart Camera Software can run in stand-alone mode using a local USB keyboard, mouse and HDMI monitor connected directly to the SL1680 -or- in streaming mode, where a remote PC with a Chrome browser can connect to the .local or IP address using a local network connection. Both modes are supported concurrently.

Stand-Alone vs Streaming Operating Modes

The Smart Camera Software can run in stand-alone mode using a local USB keyboard, mouse and HDMI monitor connected directly to the SL1680 -or- in streaming mode, where a remote PC with a Chrome browser can connect to the .local or IP address using a local network connection. Both modes are supported concurrently.

Stand Alone Mode

  • Stand-alone mode requries the connection of a USB keyboard/mouse and HDMI monitor directly to the SL1680 hardware. It provides a simpler method of demonstration by minimizing the dependency on an external PC. However, it uses significantly more resource as the full visualization and Chromium browser support along with webRTC player/video is provided by the SL1680, in addition to all system and ML processing.

Streaming Mode

  • Streaming Mode allows a remote PC with a Chrome browser to connect to the device over a local network by connecting to the SL1680’s IP address or .local address. Streaming mode tends to provide a better user experience with a “snappier” interface and smoother video streaming than stand alone mode as the SL1680 is not required to run the local Chromium browser. This performance will depend on external network support etc.

  • The web dashboard can be accessed using the device IP address e.g. http://ip-address-of-device -or- the device's .local address e.g. sl1680.local

NOTE: For this purpose of the demo the connection is insecure – ensure the browser connects using http.

NOTE: logging into the web dashboard for the first time will take several seconds.

Getting Familiar with the System

Once you have logged into the web dashboard there are several important features and views.
image

Default System State

To help simplify the out-of-the-box experience the demo includes the following preconfigured settings:

  • Live camera enabled
  • Boundary Crossing analytic enabled with two zones (left / green) and (right / blue).
  • Boundary Crossing zones on the live view enabled
  • People Counting (based on boundary crossing zones) enabled
  • Motionless analytic with one zone configured (full screen) enabled
  • Loitering analytic with one zone configured (full screen) disabled

All of the above settings can be modified in the configuration panel.

ProTip: Only running analytics appear in Incidents Notification section below the Brinq logo.

Pre-loaded Test Video

A preloaded test video has been provided to help evaluate functionality using a controlled video source. The test video source can be selected in the configuration panel. To select the video source

  • Open configuration panel by clicking on gear icon in top right corner of web dashboard
  • Navigate to the Video Source tab in the configuration panel
  • Deselect the Erase Zones When Video Source Is Changed field image
  • Select "Test Source" from the Active Video Source Selection drop down
  • Apply changes image

Using the Pre-loaded Test Video to Validate Functionality

The test video features two athletes running on a track (one seems to be in slightly better shape - but ignore that). The video has been edited to provide sequences that can be used to test each of the analytics together or in isolation. The video contains annotations to help with testing Boundary Crossing, Motionless and Loitering behaviour. The preconfigured default state of the demo (as described above) will help illustrate the capabilities of the demo. The demo functions as follows:

Live View Workflow

In Live view when an event is detected by a Smart Analytic the event will be reported by:

  • A bounding box visualization and label in the live video
  • An incident notification reported under the corresponding analytic

To respond to the event:

  • Click on the Analytic drop down in the Incident Notifications to view the list of new events
  • Click on an event to open the playback view and view the event in the timeline
  • Click on Acknowledge All as a to clear all events To view the playback of the event

Playback View Workflow

In Playback view there several tools available. The features are described below. image

  • Timeline - annotated with event incidents
    • Use mouse zoom controls to zoom in/out and drag left/right
    • Click on any event to playback the video
    • Boundary Crossing event annotations inherit the zone colour configured in the analytic)
  • Scrubbing Controls
    • Play/pause, forward to next/previous event, back/forward 30 seconds
  • Playback Speed Control
    • Speed up or slow down playback video
  • Bookmark
    • Add a bookmark in the timeline
  • Event List
    • Filter by events by class
    • Select time in timeline
  • Smart Search
    • Filter events by class
    • Select time range

ProTip: Click on the Right Arrow above the incident notifications to expand the Incident Notification view and display a picture-in-picture live view.

Statistics View Workflow

The Statistics view provides a method to graphically visualize events and system performance over time. It features:

  • System Vitals

    • Current CPU, Memory and Disk Storage
  • Incidents (over time range)

    • Zone / Boundary Crossing
    • Loitering
    • Motionless
    • People traffic per minute
  • System Statistics (over time range)

    • CPU Load averages, Memory and Disk Storage
  • Time range and refresh frequency are configurable through the Grafana tool bar.

image

Contact and Additional Information

Brinq Smart Camera Software Demo on Synaptics SL1680 hardware

Copyright 2024 - Arcturus Networks Inc. All Rights Reserved.

Licensing and customization available from Arcturus

Demo License and Terms

Additional Resources

The follow resources and links available to support development using the Synaptics SL1680.

Arcturus - Brinq Smart Camera Software

Grinn SL1680 Hardware and SOM

Synaptics SL1680 Processor Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment