* Improve prompt to have better discernment and logic based on detected objects
* Be more specific about the time of day
* Add re-inforcers for LLM to be accurate and not complete a narrative
* refactor get_video_properties and use json output from ffprobe
* add zmq topic
* publish valid segment data in recording maintainer
* check for valid video data
- restart separate record ffmpeg process if no video data has been received in 120s
- refactor datetime import
* listen to correct topic in embeddings maintainer
* refactor to move get_latest_segment_datetime logic to recordings maintainer
* debug logging
* cleanup
* Update ROCm to 7.0.1
* Update ONNXRuntime
* Add back in
* Get basic detection working
* Use env vars
* Handle complex migraphx models
* Enable model caching
* Remove unused
* Add tip to docs
* [Init] Initial commit for Synaptics SL1680 NPU
* add a rough detector which is testing with yolov8 tflite model.
* [Feat] Add dependencies installation in docker build
- Add runtime library and wheels installation in main/Dockerfile
- Add model.synap(default model, transfer from mobilenet_224full80) in docker/synap1680
* [Update] Remove dependencies installation from main Dockerfile
- remove deps installation from Dockerfile
- add dependencies installation and split wheels, deps stage in synap1680 Dockerfile
* Refactor synap detector to more closely match other implementations
* [Update] Add model path configuration check
* [Update] update ModelType to ssd
* [Update] Remove unuse script
- install_deps.sh has already been executing in deps download stage
- Dockerfile.toolchain is for testing to extract runtime libraries from Synaptics toolchain
* [Update] update Synaptics SL1680 setup description
* [Update] remove install_synap1680
- The deps download and installation is existed in synap1680
* [Fix] update document content
* [Update] Update detector from synap1680 to synaptics
This update is in order to make the synaptics SL-series NPU detector more general.
- Fix detector `os` module not import bug
- Update detector type `synap1680` to `synaptics`
- Update document description `SL1680` to `Synaptics` only
- Update docker build content `synap1680` to `synaptics`
* [Fix] Update configuration document
* Update docs/docs/configuration/object_detectors.md
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* [Update] Update document content and detector default layout
- Update object_detectors document
- Update detector's default layout
- Update default model name
* [Update] Update object detector document content
* [Fix] Fix InputTensorEnum not defined error
- import InputTensorEnum from detector_config
* [Update] Update detector script coding format
* [Update] Update synaptics detector coding format
* [Update] Add synaptics ci workflow
* [Update] update synaptics runtime libs download path
- Fork Synaptics astra sdk repo and put the runtime lib package on it
- Frigate team can update this download path later
---------
Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
* Implement stationary car classifier to base stationary state on visual changes and not just bounding box stability
* Cleanup
* Fix mypy
* Move to new file and add config to disable if needed
* Cleanup
* Undo
This supports systemd credentials, see https://systemd.io/CREDENTIALS/.
Default to `/run/secrets` (the Docker Secrets dir) for backwards
compatibility.
* pull count of detection events by label into prometheus metrics
* format changes with ruff
* remove unneeded f-string
* fix imports format
---------
Co-authored-by: iesad <iesad>
* 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
* 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
* 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
* 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
* 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