4711 Commits

Author SHA1 Message Date
Josh Hawkins
251b029d6e LPR improvements (#20129)
* continue to use paddleocr v3 text detection model for large

v5 was not finding text on multi-line plates at all in testing

* implement clustering of plate variants per event

should reduce OCR inconsistencies and improve plate recognition stability by using string similarity to cluster similar variants (10 per event id) and choosing the highest confidence representative as the final plate

* pass camera

* prune number of variants based on detect fps

* implement replacement rules for cleaning up and normalizing plates

* docs

* docs
2025-09-18 15:12:17 -06:00
Nicolas Mowen
68f806bb61 Cleanup onnx detector (#20128)
* Cleanup onnx detector

* Fix

* Fix classification cropping

* Deprioritize openvino

* Send model type

* Use model type to decide if model can use full optimization

* Clenanup

* Cleanup
2025-09-18 15:12:09 -06:00
Nicolas Mowen
c05e260ae9 Update ROCm to not hang when running on complex RNN models (#20118)
* Update ROCm to not hang when running on complex RNN models

* Formatting
2025-09-17 19:26:32 -05:00
Nicolas Mowen
1efff67e32 Fix ov for LPR (#20117)
* Check complex model

* Reset state for complex models

* Send arg

* Fix

* Cleanup
2025-09-17 15:21:57 -06:00
Nicolas Mowen
26178444f3 Fixes (#20102)
* Catch bird classification resize error

* Improve openvino width detection

* Use auto by default

* Set type
2025-09-16 16:06:51 -06:00
Josh Hawkins
4914029a50 Add average_estimated_speed to mqtt docs (#20101) 2025-09-16 11:03:36 -06:00
Josh Hawkins
975c8485f9 Catch exception when regex in LPR format field is invalid (#20099) 2025-09-16 07:41:25 -05:00
GuoQing Liu
bafdab9d67 feat: add robots.txt (#20093) 2025-09-16 06:14:27 -06:00
Nicolas Mowen
5f34a18905 Dynamically adjust to configured attribute map for lpr (#20079) 2025-09-15 08:49:07 -05:00
Tim Wesley
6cd1d1f205 memryx: fix model download bug when using multiple detectors (#20030)
* Add locking for model download files

* ruff format

---------

Co-authored-by: Abinila Siva <abinila.siva@memryx.com>
2025-09-15 08:48:55 -05:00
Nicolas Mowen
03fe054078 OpenVINO Hardware Improvements (#20071)
* Use OpenVINO directly to detect if devices are available

* Cleanup

* Update OpenVINO

* Cleanup

* Don't try to use OpenVINO when CPU is set as device

* Catch case where input tensor can't be pre-defined

* Cleanup
2025-09-15 08:35:49 -05:00
Josh Hawkins
2d4a0cc584 false_positive endpoint needs to await send_to_plus call (#20069) 2025-09-14 11:31:07 -05:00
Nicolas Mowen
ff0430964c Correctly calculate input data type for OV (#20066)
* Correctly calculate input data type for OV

* Formatting
2025-09-14 07:15:41 -06:00
GuoQing Liu
b08db4913f feat: add github mirror download endpoint (#20007)
* feat: add github mirror download endpoint

* fix: fix face_embedding endpoint line

* fix: fix github raw endpoint

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>

---------

Co-authored-by: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com>
2025-09-14 06:51:56 -06:00
arthur simas
c74e86dff2 fix(web): handle undefined screen.orientation (#20064) 2025-09-14 06:51:39 -06:00
Nicolas Mowen
81d7c47129 Optimize OpenVINO and ONNX Model Runners (#20063)
* Use re-usable inference request to reduce CPU usage

* Share tensor

* Don't count performance

* Create openvino runner class

* Break apart onnx runner

* Add specific note about inability to use CUDA graphs for some models

* Adjust rknn to use RKNNRunner

* Use optimized runner

* Add support for non-complex models for CudaExecutionProvider

* Use core mask for rknn

* Correctly handle cuda input

* Cleanup

* Sort imports
2025-09-14 06:22:22 -06:00
Josh Hawkins
41ed013cc4 Check cameras param and continue to split for query (#20048) 2025-09-12 09:58:47 -06:00
Nicolas Mowen
751678c845 Fix cuda graph fallback (#20039) 2025-09-12 06:41:26 -05:00
Josh Hawkins
ed1e3a7c9a Enhance user roles to limit camera access (#20024)
* update config for roles and add validator

* ensure admin and viewer are never overridden

* add class method to user to retrieve all allowed cameras

* enforce config roles in auth api endpoints

* add camera access api dependency functions

* protect review endpoints

* protect preview endpoints

* rename param name for better fastapi injection matching

* remove unneeded

* protect export endpoints

* protect event endpoints

* protect media endpoints

* update auth hook for allowed cameras

* update default app view

* ensure anonymous user always returns all cameras

* limit cameras in explore

* cameras is already a list

* limit cameras in review/history

* limit cameras in live view

* limit cameras in camera groups

* only show face library and classification in sidebar for admin

* remove check in delete reviews

since admin role is required, no need to check camera access. fixes failing test

* pass request with camera access for tests

* more async

* camera access tests

* fix proxy auth tests

* allowed cameras for review tests

* combine event tests and refactor for camera access

* fix post validation for roles

* don't limit roles in create user dialog

* fix triggers endpoints

no need to run require camera access dep since the required role is admin

* fix type

* create and edit role dialogs

* delete role dialog

* fix role change dialog

* update settings view for roles

* i18n changes

* minor spacing tweaks

* docs

* use badges and camera name label component

* clarify docs

* display all cameras badge for admin and viewer

* i18n fix

* use validator to prevent reserved and empty roles from being assigned

* split users and roles into separate tabs in settings

* tweak docs

* clarify docs

* change icon

* don't memoize roles

always recalculate on component render
2025-09-12 05:19:29 -06:00
Nicolas Mowen
ba650af6f2 Correctly cast to enum when loading plus config (#20031) 2025-09-11 16:39:34 -06:00
Nicolas Mowen
fad28a764c Use CUDA graphs for object detection on Nvidia GPUs (#20027)
* Use CUDA graphs to improve efficiency of object detection

* Cleanup comments and typing
2025-09-11 10:20:25 -06:00
Nicolas Mowen
7c7ff49b90 Improve d-fine model export docs (#20020) 2025-09-11 06:17:08 -05:00
Nicolas Mowen
15729e0f19 Provide model type in header for ZMQ detector (#20000)
* Provide model type in header

* Formatting
2025-09-09 17:53:36 -05:00
Nicolas Mowen
037c4d1cc0 Don't block UI while pulling the stream live info (#19998) 2025-09-09 17:53:26 -05:00
laviddichterman
1613499218 Update object_detectors.md to document configuring image size in YOLO 9 (#19951)
* Update object_detectors.md for v16

* add configurability to IMG_SIZE for YOLOv9 export
* remove TensorRT detector as it's no longer supported in v16

* Revert removing NVIDIA TensorRT detector docs

Added documentation for NVidia TensorRT Detector, including model generation, configuration parameters, and example usage.

* Dumb copy/paste

* Enhance YOLOv9 export instructions in documentation

Updated YOLOv9 export command to include IMG_SIZE parameter and clarified model size options.
2025-09-09 14:27:30 -06:00
Nicolas Mowen
205fdf3ae3 Fixes (#19984)
* Always handle RKNN as NHWC in Frigate+ model loading

* Correct Intel stats

* Update inference time docs

* Update version

* Adjust inference speeds
2025-09-09 06:17:56 -06:00
Nicolas Mowen
f46f8a2160 More inference speed updates (#19974) 2025-09-08 10:39:33 -06:00
Josh Hawkins
880902cdd7 Add specific notes for frigate+ models in object detector docs (#19971) 2025-09-08 09:29:03 -05:00
Nicolas Mowen
c5ed95ec52 More inference speed updates (#19947)
* More inference speed updates

* Update hardware.md

* Update hardware.md

* Update index.md

* More inference speeds

* Update home-assistant.md

* Update object_detectors.md

* Update first_model.md
2025-09-08 07:43:04 -05:00
Josh Hawkins
751de141d5 Fix model selection type in Frigate+ settings pane (#19952)
* model type does not need to match config model type

As long as a model is supported by a detector, it should be available in the list

* fix missing semicolon

the web linter was complaining
2025-09-07 19:19:40 -06:00
Nicolas Mowen
0eb441fe50 Update inference times for yolov9 (#19946) 2025-09-07 14:59:48 -05:00
Josh Hawkins
7566aecb0b Add note about Apple Silicon support in 0.17 (#19944) 2025-09-07 14:12:49 -05:00
Blake Blackshear
60714a733e update docs for Frigate+ yolov9 (#19938)
* update docs for Frigate+ yolov9

* footnote memryx suport

* tweaks
2025-09-07 06:01:10 -05:00
Josh Hawkins
d7f7cd7be1 best thumbnail endpoint should pass correct extension param (#19930) 2025-09-05 06:33:57 -05:00
GuoQing Liu
6591210050 docs: fix reolink camera table display (#19926) 2025-09-05 06:01:26 -05:00
Craig
fd6e7afea9 Fix markdown table in camera_specific.md (#19919) 2025-09-05 06:00:51 -05:00
Josh Hawkins
b781f06f9c Constrain width of export preview dialog (#19908)
Matches the other export preview dialog in Review
2025-09-04 08:08:07 -05:00
Nicolas Mowen
7e7b3288a8 Update live FAQ for camera distortion (#19907)
* Add item to FAQ about stream distortion

* Update updating docs

* Update link
2025-09-04 07:44:33 -05:00
Blake Blackshear
a8b7e5dd24 Merge remote-tracking branch 'origin/master' into dev 2025-09-04 06:33:22 -05:00
Nicolas Mowen
6505ae5fb5 Optimize cuda execution to run in single stream (#19896) 2025-09-03 08:53:30 -05:00
Nicolas Mowen
fe3eb24dfe Update Reolink support docs (#19887) 2025-09-02 15:21:18 -05:00
Nicolas Mowen
e664cb2285 Set lower bound on retry interval (#19883) v0.16.1 2025-09-02 11:24:25 -05:00
Josh Hawkins
62047c80d5 Poll for camera status on tracking end instead of waiting (#19879) 2025-09-02 06:17:01 -06:00
Josh Hawkins
198e53bd42 Fix stream stats display (#19874)
* Fix stats calculations and labels

* fix linter from complaining

* fix mse calc

* label
2025-09-01 19:23:44 -05:00
Josh Hawkins
f7ed8b4cab Autotracking improvements (#19873)
* Use asyncio lock when checking camera status

get_camera_status() can be called during normal autotracking movement and from routine camera_maintenance(). Some cameras cause one of the status calls to hang, which then subsequently hangs autotracking. A lock serializes access and prevents the hang.

* use while loop in camera_maintenance for status check

some cameras seem to take a little bit to update their status, don't assume the first call shows the motor has stopped
2025-09-01 19:18:50 -05:00
Josh Hawkins
bd255362d6 Ensure proxy group claim uses the configured separator character (#19869)
* Ensure group claim uses the configured separator character

* refactor to helper function

* tests

* clean up
2025-09-01 15:30:30 -06:00
Josh Hawkins
55160f9235 fix more merge conflicts 2025-09-01 13:51:29 -05:00
Sergejs Romancevičs
8e7f0cfd51 Translated using Weblate (Russian)
Currently translated at 100.0% (118 of 118 strings)

Translation: Frigate NVR/views-system
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
2025-09-01 13:42:09 -05:00
Artyom Rybakov
9fd07bde48 Translated using Weblate (Russian)
Currently translated at 100.0% (118 of 118 strings)

Translation: Frigate NVR/views-system
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-system/ru/
2025-09-01 13:42:09 -05:00
Sergejs Romancevičs
efe707510e Translated using Weblate (Russian)
Currently translated at 100.0% (427 of 427 strings)

Translation: Frigate NVR/views-settings
Translate-URL: https://hosted.weblate.org/projects/frigate-nvr/views-settings/ru/
2025-09-01 13:42:09 -05:00