Saliency — tdlidar_saliency

Let the phone decide where the eye is drawn in a scene, then auto-aim a spotlight, mask or camera at that spot.

Category: Camera & Vision · Tier: Free · Needs: any iPhone (rear camera)

What it does

Runs Apple’s attention-based saliency on the live camera feed and reports a single box around the most eye-catching region of the image. You get the box’s centre, its width and height, and a confidence value — all normalized 0–1. Whatever the algorithm thinks a viewer would look at first, this op tracks. Great for unattended installs where you want a light or mask to “follow interest” instead of a fixed point.

OSC in

address type range rate
/tdlidar/saliency/x float box centre X, normalized 0–1 camera rate
/tdlidar/saliency/y float box centre Y, normalized 0–1 (TD flips Y) camera rate
/tdlidar/saliency/w float box width, normalized 0–1 camera rate
/tdlidar/saliency/h float box height, normalized 0–1 camera rate
/tdlidar/saliency/conf float confidence 0–1 camera rate

Outputs

out1 (CHOP) — five channels: tdlidar/saliency/x, …/y, …/w, …/h, …/conf. The node tile previews out1.

Parameters

par default what it does
OSC Port 9000 UDP port to listen on (match the app)

Quick start (beginner)

  1. In the app, enable Saliency (Camera & Vision).
  2. Point the rear camera at a busy scene and drop the Saliency op.
  3. Watch x/y drift toward the most interesting part of the frame; w/h describe the box size.
  4. Wire x/y into the translate of a small bright Circle TOP (over your camera feed) to see the attention point as a moving dot.

Advanced patterns

  • Auto-aim a spotlight/mask: map x/y (0–1) through a Range CHOP into your stage or UV coordinates and feed a radial gradient / Circle TOP used as a mask. Drive its radius from w/h so the highlight grows with the salient region.
  • Lag the centre (essential): raw saliency jitters frame-to-frame. A Lag CHOP (0.15–0.3) on x/y gives a smooth, cinematic drift instead of a twitchy dot.
  • Confidence gate: Logic CHOP on conf (e.g. ≥ 0.3) — only move the aim when the model is sure, and Hold CHOP the last position when it isn’t, so the light doesn’t wander during dropouts.
  • Crop-to-interest: feed x/y/w/h into a Crop or Transform TOP on the NDI camera stream to auto-frame the most salient area for a picture-in-picture.

Gotchas

  • All values are normalized 0–1, not pixels — scale by your resolution before using as pixel positions.
  • TD flips Y relative to the source: if the dot tracks upside-down vertically, use 1 - y in a Math CHOP.
  • The box can hop between competing regions; always Lag the centre (and ideally gate on conf) before driving anything visible.
  • Saliency reflects visual attention only — it has no idea what’s important to your show. Combine with another sensor (e.g. tdlidar_rect_detect) when you need semantic targeting.