cd /news/computer-vision/argus-brightsign-machine-vision-it-s… · home topics computer-vision article
[ARTICLE · art-110865] src=blog.herlein.com ↗ pub= topic=computer-vision verified=true sentiment=↑ positive

Argus, BrightSign machine vision - it's not difficult!

BrightSign released Argus, its flagship audience-measurement extension for edge AI on its LS5, XT5, and XD6 players, which runs YOLOX and RetinaFace neural networks in parallel on the NPU to detect and track people and gaze in under 15ms per model at 3.5 watts. The open-source reference app streams JSON analytics over MQTT and Prometheus endpoints without sending images off-device, and BrightSign's developer advocate highlights the companion HTML5 demo that visualizes detection in real time.

read8 min views1 publishedAug 25, 2026

I’ve written before about what a BrightSign extension actually is and about why edge AI has to run locally on signage. This post is the “show, don’t tell” follow-up. If you want to see what all that theory looks like as a running, watchable thing, there’s exactly one place to start: Argus.

Argus is the BrightSign flagship reference application for audience measurement on the NPU, and it’s genuinely the best example I can point you at of “here’s what an edge AI player can actually do.” But it didn’t arrive out of nowhere. Behind it is a trail of smaller repos - each one a single building block, a single lesson learned, a single “can we even do this?” question answered before we bet on the bigger thing. I want to walk you through both: how to actually stand up Argus and watch it work, and then the history of everything that led to it. Because that history is useful. It’s the map of how you’d build your own.

Start Here: Argus #

Argus watches a camera feed and, entirely on-device, tells you how many people are in front of your screen, whether they’re actually looking at it, how long they dwell, when they enter and exit, and which direction they’re moving. Two neural networks - YOLOX for person detection, RetinaFace for face detection - running in parallel on the NPU, fused with ByteTrack so it can follow individual people across frames. Sub-15ms inference per model, all in about 3.5 watts.

Argus Panoptes - the hundred-eyed watcher. Fitting name for a computer-vision system.

Getting it running is refreshingly boring, in the best way:

  • Grab the latest Argus BSFW releaseand drop it on the root of an SD card. - Plug in a USB webcam (or point it at an RTSP stream if you want to go fancy).
  • Boot the player.
  • All on a BrightSign LS5, XT5, or XD6 player.

That’s it. From another machine on the network:

mosquitto_sub -h <PLAYER_IP> -t 'bs/argus/#' -v

And you’ll start seeing JSON like this stream by, live, every frame:

{"schema":"analytics/v7.0","people":2,"gaze":1,"fps":29,"tracks":[...]}

No cloud round-trip. No images leaving the box - it does face detection to compute gaze, not face recognition. Nobody’s identity gets stored anywhere. Just counts, durations, and attention rates coming out the other side over MQTT and a Prometheus /metrics

endpoint. I harped on this in the playback-to-perception post and I’ll keep harping on it: that architecture choice is the whole ballgame if you ever want to defend this to a privacy-conscious customer, and you will.

Actually Watching It Think

Raw MQTT messages are great for engineers, useless for convincing a skeptical stakeholder in a conference room. That’s exactly what argus-attention-demo-html is for. It’s a small HTML5/JS app that runs full-motion video on the player alongside a picture-in-picture window showing exactly what the camera AI “sees” - bounding boxes drawn live around every face, green if that person is looking at the screen, red if they’re not.

Standing it up is a make prep && make build && make publish

, which drops everything you need into an sd/

folder - copy that to a card, install the Argus BSMP alongside it, boot, and watch. This is the demo I’d put in front of anyone who says “edge AI in signage” is marketing vaporware. Point a webcam at yourself, look away, look back, and watch the box change color in real time. It’s hard to argue with your own face turning green and red on a screen.

How We Got Here: The Repo Family #

Argus didn’t get built in one shot. It’s the sum of a bunch of smaller, single-purpose repos, each one proving out a piece before we combined them. If you’re the type who learns by taking things apart - I am - this list is worth going through in order, because it’s basically a guided tour of NPU development on BrightSign hardware, from “what even is this chip” to “full production reference app.”

  • The primer. What an NPU actually is, why it matters for edge inference, and a map of every other repo in this family. If you’re starting from zero, start here.brightsign-npu-general- The first single-model building block: RetinaFace face detection plus the “is this person looking at the screen?” logic. This is the gaze half of Argus, in isolation.brightsign-npu-gaze-extensionandsimple-gaze-detection-html- Two thin demo wrappers around the gaze extension, one built as an HTML5 app and one as a BrightAuthor:connected presentation, so you can see the gaze BSMP work regardless of which authoring path you use.simple-gaze-detection-presentation- Object detection with selectable classes and confidence thresholds. Point it at a shelf, a doorway, a queue - whatever object matters to your use case.brightsign-npu-object-extension- The BrightAuthor:connected demo that shows the object extension changing playback the instant it detects the object you told it to watch for.simple-object-detection-presentation- This one I still think is underrated: gaze-triggered speech-to-text using a Whisper encoder-decoder model, running on-device. Someone looks at the screen, the mic starts listening, and you get a transcript. No cloud, no wake-word service, no third-party voice API.brightsign-npu-voice-extension- The HTML demo for the voice extension, so you can watch that gaze-triggers-listening pipeline work end to end.simple-voice-detection-html- The unglamorous one that made every other repo on this list easier to build. It’s a tiny web server that shows you the annotated frame the model is currently looking at, in a browser, so you’re not debugging computer vision blind over a serial console. Every one of the extensions above got easier to develop once this existed.bs-image-stream-server

Notice the pattern. Each repo answers one question - can we detect gaze, can we detect objects, can we trigger a mic off attention, can we actually see what the model sees while we’re building it - before Argus stitched person detection, gaze, tracking, and dual-output telemetry into one coherent production-grade application. That’s not an accident. That’s how you build anything real: small, provable pieces first, then integrate.

The Payoff: It’s Not Hard to Build These #

Here’s the thing I actually want you to take away from all of this. Every repo on that list, including Argus itself, is just an extension. Same mechanism I described in my last extension post - a squashfs filesystem, a bsext_init

script with start

/stop

/run

, old-school SysV init. Nothing exotic. If you can write a Linux daemon, you can write a BrightSign extension.

Don’t take my word for it - go do it yourself. bs-workshop-extension is a self-guided, ~3.5-hour, hands-on workshop that walks you through building a trivial “Hello BrightSign” Java extension - HTTP server, JSON uptime response - from a bare unsecured player all the way through build, package, deploy, verify, and iterate. It even ships a companion HTML app,

, so you see the extension’s output rendered on the actual screen, not just in a terminal. The workshop is deliberately trivial on purpose - the point isn’t the app, it’s that you walk the

bs-extension-workshop-html-app* entire*development loop yourself, once, so it stops being mysterious.

And that loop - build, package, deploy, curse, iterate - is exactly the same loop that produced Argus. There is no secret extra step that only BrightSign engineers know about. I promise you.

And the NPU Really Isn’t That Complicated Either #

The other myth I want to put down: that NPU development requires some rarefied deep-learning wizardry you need a PhD for. It doesn’t. Go read brightsign-npu-general again with fresh eyes - it’s a page and a half of “here’s what an NPU is, here’s why it’s fast and low-power, here’s the model zoo you pull from.” The heavy lifting - the actual neural network architectures, YOLOX, RetinaFace, Whisper - is open, published, and well-documented upstream. Your job as the developer is wiring: get frames to the model, get results out, do something useful with them. That’s the same job you’d have wiring up any other sensor. It’s not magic. It just looks like magic because most people have never seen the inside of the box.

Think about that for a minute. A chip that draws under four watts, sitting idle in millions of already-deployed signage players, capable of running person detection, face detection, and speech-to-text simultaneously - and the on-ramp to using it is a workshop you can finish in an afternoon.

Conclusion #

Argus is NOT a finished, production-grade thing. It’s a working demo that shows the power of the NPU and edge computing. Watch it work with the attention demo, subscribe to the MQTT feed, and you’ll get it in about five minutes. But if you want to actually build something like it, don’t stare at Argus and feel intimidated. Walk the trail that got us there: brightsign-npu-general

for the concepts, the single-model extensions for the individual building blocks, bs-image-stream-server

so you’re not debugging blind, and bs-workshop-extension

to prove to yourself the whole development loop isn’t scary. Every one of those repos was somebody’s “can I even do this” experiment before it became a reference architecture.

The NPU is sitting there, idle, in hardware that’s already deployed. Go point it at something. And if you build something cool with it, drop me a note on LinkedIn - I genuinely want to see it!

── more in #computer-vision 4 stories · sorted by recency
── more on @brightsign 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/argus-brightsign-mac…] indexed:0 read:8min 2026-08-25 ·