---
url: /detection.md
---

# Detection & AI

Detection runs on your own hardware and picks up movement, people and vehicles, faces, license plates, and sounds. The results become events you can browse, get notified about, and search.

## How detection works

Detection is layered:

1. **Motion** runs continuously and cheaply. It just notices that something changed.
2. When a trigger fires, the heavier **AI** wakes up. It runs object detection (people, vehicles, animals), then looks closer at what it found: faces on the people it sees, license plates on the vehicles, and a semantic fingerprint for search. Motion is the usual trigger. A detected sound wakes the AI too, and so can another sensor, for example a door contact.

While an event is active, the heavier analysis (objects, faces, plates, and search) switches to the camera's high-resolution stream for sharper crops, then drops back to the lighter stream once the scene goes quiet.

```mermaid
flowchart LR
  cam[Camera frame] --> motion{Motion?}
  cam -. parallel .-> audio[Audio]
  sensor[Sensor trigger<br/>e.g. door contact] --> obj
  motion -- no --> idle[Heavy AI stays idle<br/>unless another trigger fires]
  motion -- yes --> obj[Object detection<br/>person · vehicle · animal]
  audio -- sound --> obj
  obj -- person --> face[Faces]
  obj -- vehicle --> plate[License plates]
  obj --> clip[CLIP]
  obj --> ev[(Event)]
  face --> ev
  plate --> ev
  audio --> ev
```

## What you can detect

* **[Motion](/detection/motion)** — movement in the frame.
* **[Objects](/detection/ai-backends)** — people, vehicles, and animals.
* **[Faces](/detection/faces)** — recognize known people and group unknown ones.
* **[License plates](/detection/license-plates)** — read plate numbers.
* **[Audio](/detection/audio)** — sounds like glass breaking, alarms, or a dog barking.
* **[Semantic search](/detection/semantic-search)** — find moments by describing them in words.
* **[Find an object](/detection/find-object)** — click a person or vehicle and get the moments that show it.
* **[AI descriptions](/detection/genai-descriptions)** — a written summary of what happened.
* **[Episodes](/detection/episodes)** — related sightings across cameras told as one story.

## Plugins do the work

Detection is provided by [plugins](/plugins/) you enable per camera: a **motion engine** and an **AI backend** that matches your hardware. You choose and tune them in a camera's [settings](/cameras/settings), see [Set up sensors](/sensors/setup).

Each detection becomes part of an **event**. See [Events & detections](/detection/events-and-detections) for how those are structured, and [Recording (NVR)](/recording/) for browsing them.

The detection models themselves learn from frames the community labels and contributes. See [Model training](/detection/training).
