Cameras and AI
Adding a Camera
Cameras are added where they are first needed: inside a camera condition. Three connection methods are supported.
| Camera Source | Input |
|---|---|
| CSI/USB | Select from the cameras connected directly to the controller. This covers Raspberry Pi camera modules and USB webcams. |
| ONVIF | Search the network and select the camera. If it is not found, enter its IP address. |
| RTSP | The stream address, plus a username and password if the camera requires them. The rtsp:// prefix can be omitted. |
Camera settings: regions of interest vs. detection zones
Camera settings open from the gear icon on the camera panel. They are available while stopped; while running, the same spot shows the fullscreen button.
| Camera Name | Used everywhere the camera is referenced. Name it after the installation location. |
| Camera Source | Connection method and address. |
| Orientation | Rotation by 90, 180, or 270 degrees, horizontal/vertical flips, and combinations. Use it when the camera is mounted at an angle. |
| Region of Interest (ROI) | Named areas defined on the frame, drawn as rectangles or polygons. |
A region of interest crops the frame given to the AI before analysis. Analysis becomes faster and accuracy improves significantly for small subjects. A detection zone filters the results, so that only detections inside it are counted.
Use a region of interest to feed one part of a machine to a classifier; use a detection zone to count only what passes through a doorway.
Choosing Analyses
An analysis is one AI model watching one camera. Analyses belong to the camera, not to a rule, so multiple rules can share one analysis and the computation runs once.
| Analysis | Provides | Preparation |
|---|---|---|
| Object Detection | Which of 80 everyday objects are in view, and where. | None |
| Face Recognition | Whether the face is a registered person, or unknown. | Enroll faces |
| License Plate Recognition | The plate number and whether it is on the registered list. | Register plates |
| Fire Detection | Whether fire or smoke is visible. | None |
| QR / Barcode | The contents of a code. | None |
| OCR (Text Recognition) | Text read from the frame, in one of 11 languages. | None |
| Custom Classification | Which of your own classes the scene matches. | Train |
| Custom Anomaly | How far the scene deviates from normal. | Train |
Aside from Custom Classification and Custom Anomaly Detection, which require training, the other six analyses run as soon as they are added. Requiring preparation does not mean the analysis will not run; it means it cannot identify what it sees. Face Recognition detects faces before anyone is enrolled and reports every one as unknown; License Plate Recognition reads numbers but marks every plate unregistered. Enrollment is what enables identifying who, or which vehicle.
Custom Classification and Custom Anomaly are different: before training they have no reference to judge against, so they cannot evaluate at all. These two require collecting samples first, and including face and plate enrollment, four analyses require teaching.
Training Faces, Plates, and Custom Classes
Four analyses require you to register or train their targets. All of this registration and training can be performed while the system is running.
Faces
- Open Enroll from a face condition row or the analysis settings.
- Click Add a name and enter the person's name.
- Have the person face the camera and click Enroll. Repeat five or more times, varying the angle and expression slightly. Both eyes must be visible in every shot. Side profiles are not enrolled.
If a person is recognized as someone else, raise the face Threshold and enroll additional photos of both people. In environments where recognition grants access, enable Anti-Spoofing in the analysis settings; it rejects faces presented on photos or phone screens.
License Plates
Open Register from a plate condition row and enter the number.
The alias is optional. An alias serves as a display label and can also be used as a
condition's target value, so a condition can match "delivery van" without anyone
remembering the number. Bulk add accepts a pasted list, one per
line, as the plate alone or in plate,alias format.
Set Region in the analysis settings to the installation country. With the wrong region, reading accuracy remains poor regardless of the confidence setting.
Custom Classification
- Open Train from the condition row or the analysis settings.
- Create at least two classes and name them. Two is the minimum; a classifier with one class has nothing to decide between.
- Select a class, set up the scene, and capture. Repeat for each class.
- Click Train and wait for completion.
Samples added after the last training are marked as untrained, so you can verify whether the current model reflects the collected data.
Custom Anomaly Detection
Anomaly detection learns only the normal state and reports deviations from it. Fault samples are never registered, which makes it applicable to problems that have not occurred yet. Open Add normals, capture the scene repeatedly while it is in a normal state, and click Train.
Interpreting the score chart after training
Training produces a Normal score distribution. Read it left to right: farther right is closer to a fault, and anything right of the red line is judged faulty. Training holds back about 20 percent of the registered samples to set that line, which is why the displayed count is smaller than the number registered.
| Distribution | Action |
|---|---|
| Dots grouped tightly left of the line | Training succeeded. No action needed. |
| Some dots past the line | Normal units in that condition may be judged faulty. Register more normals and train again. |
| Dots widely spread | Samples were captured under mixed lighting or angles. Register more under consistent conditions. |
Anomaly detection assumes a fixed camera angle, distance, and lighting. This holds on an inspection station but not on a corridor camera, where it produces continuous false alarms.
Tuning Accuracy and Performance
Analyses share the controller's computing resources. Three settings determine how those resources are allocated.
| Setting | Guidance |
|---|---|
| Mode | Fast is recommended for a Raspberry Pi, Accurate for a PC or Jetson. Available values depend on the analysis: Object Detection, Face Recognition, and Fire Detection offer Fast, Balanced, and Accurate; License Plate and Custom Anomaly offer Fast and Accurate; QR/Barcode, OCR, and Custom Classification use a single model and show no Mode field. Fire Detection displays all three values but runs a single model, so the result is identical regardless of the selection. |
| Detection FPS | How many times per second the AI analyzes. The default is 5, and 1 for the computation-heavy anomaly detection. Display between analyses is interpolated, so low values do not look choppy. |
| GPU Acceleration | Available for Object Detection, Face Recognition, and OCR. On integrated or older GPUs it can be slower than the CPU, so verify performance before leaving it on. |
Confidence and thresholds balance misses against false positives. Raise them when the rule reacts to absent targets; lower them when present targets are missed.
Detection zones: counting only part of the frame
Object conditions cover the whole frame by default. In the condition panel, draw a Detection Zone as a rectangle or polygon, and only detections inside it are counted.
A detected object is a box, so "inside" needs a definition. That is the Zone Trigger Point.
| Criterion | Use case |
|---|---|
| Bottom Center (Ground Point) | People and vehicles on the ground. Draw the zone on the floor. This is the default and fits most cases. |
| Box Center | Ceiling cameras, or targets that do not touch the ground. |
| Overlap Ratio | Counting entry once the box overlaps the zone by a set percentage. |
With Overlap Ratio at 100 percent, the entire box must be inside the zone. Very low values of 1 to 5 percent fire on an outstretched arm or a distant object partially overlapping the zone, which is rarely the intended behavior.