mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-02 05:14:51 +03:00
Settings UI tweaks (#22722)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
* set edgetpu for multi-instance * improve error messages when mixing/matching detectors * allow custom add button text via uiSchema * clarify language in docs for configuring detectors via the UI
This commit is contained in:
parent
f1983b25ca
commit
adc8c2a6e8
@ -91,7 +91,7 @@ See [common Edge TPU troubleshooting steps](/troubleshooting/edgetpu) if the Edg
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **EdgeTPU** detector type with device set to `usb`.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add**, then set device to `usb`.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -111,7 +111,7 @@ detectors:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple Edge TPU detectors, specifying `usb:0` and `usb:1` as the device for each.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add** to add multiple detectors, specifying `usb:0` and `usb:1` as the device for each.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -136,7 +136,7 @@ _warning: may have [compatibility issues](https://github.com/blakeblackshear/fri
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **EdgeTPU** detector type with the device field left empty.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add**, then leave the device field empty.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -156,7 +156,7 @@ detectors:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **EdgeTPU** detector type with device set to `pci`.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add**, then set device to `pci`.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -176,7 +176,7 @@ detectors:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple Edge TPU detectors, specifying `pci:0` and `pci:1` as the device for each.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add** to add multiple detectors, specifying `pci:0` and `pci:1` as the device for each.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -199,7 +199,7 @@ detectors:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple Edge TPU detectors with different device types (e.g., `usb` and `pci`).
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add** to add multiple detectors with different device types (e.g., `usb` and `pci`).
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -246,7 +246,7 @@ After placing the downloaded files for the tflite model and labels in your confi
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **EdgeTPU** detector type with device set to `usb`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **EdgeTPU** from the detector type dropdown and click **Add**, then set device to `usb`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ----------------------------------------------------------------- |
|
| ---------------------------------------- | ----------------------------------------------------------------- |
|
||||||
@ -303,7 +303,7 @@ Use this configuration for YOLO-based models. When no custom model path or URL i
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **Hailo-8/Hailo-8L** detector type with device set to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **Hailo-8/Hailo-8L** from the detector type dropdown and click **Add**, then set device to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ----------------------- |
|
| ---------------------------------------- | ----------------------- |
|
||||||
@ -359,7 +359,7 @@ For SSD-based models, provide either a model path or URL to your compiled SSD mo
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **Hailo-8/Hailo-8L** detector type with device set to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **Hailo-8/Hailo-8L** from the detector type dropdown and click **Add**, then set device to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| --------------------------------------- | ------ |
|
| --------------------------------------- | ------ |
|
||||||
@ -404,7 +404,7 @@ The Hailo detector supports all YOLO models compiled for Hailo hardware that inc
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **Hailo-8/Hailo-8L** detector type with device set to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings to match your custom model dimensions and format.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **Hailo-8/Hailo-8L** from the detector type dropdown and click **Add**, then set device to `PCIe`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure the model settings to match your custom model dimensions and format.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -459,7 +459,7 @@ When using many cameras one detector may not be enough to keep up. Multiple dete
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple **OpenVINO** detectors, each targeting `GPU` or `NPU`.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add** to add multiple detectors, each targeting `GPU` or `NPU`.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -502,7 +502,7 @@ Use the model configuration shown below when using the OpenVINO detector with th
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **OpenVINO** detector type with device set to `GPU` (or `NPU`). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add**, then set device to `GPU` (or `NPU`). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------ |
|
| ---------------------------------------- | ------------------------------------------ |
|
||||||
@ -552,7 +552,7 @@ After placing the downloaded onnx model in your config folder, use the following
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **OpenVINO** detector type with device set to `GPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add**, then set device to `GPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------------- |
|
| ---------------------------------------- | ------------------------------------------------- |
|
||||||
@ -614,7 +614,7 @@ After placing the downloaded onnx model in your config folder, use the following
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **OpenVINO** detector type with device set to `GPU` (or `NPU`). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add**, then set device to `GPU` (or `NPU`). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | -------------------------------------------------------- |
|
| ---------------------------------------- | -------------------------------------------------------- |
|
||||||
@ -670,7 +670,7 @@ After placing the downloaded onnx model in your `config/model_cache` folder, use
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **OpenVINO** detector type with device set to `GPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add**, then set device to `GPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| --------------------------------------- | --------------------------------- |
|
| --------------------------------------- | --------------------------------- |
|
||||||
@ -722,7 +722,7 @@ After placing the downloaded onnx model in your config/model_cache folder, use t
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **OpenVINO** detector type with device set to `CPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **OpenVINO** from the detector type dropdown and click **Add**, then set device to `CPU`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ---------------------------------- |
|
| ---------------------------------------- | ---------------------------------- |
|
||||||
@ -776,7 +776,7 @@ Using the detector config below will connect to the client:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ZMQ IPC** detector type with the endpoint set to `tcp://host.docker.internal:5555`.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ZMQ IPC** from the detector type dropdown and click **Add**, then set the endpoint to `tcp://host.docker.internal:5555`.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -810,7 +810,7 @@ When Frigate is started with the following config it will connect to the detecto
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ZMQ IPC** detector type with the endpoint set to `tcp://host.docker.internal:5555`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ZMQ IPC** from the detector type dropdown and click **Add**, then set the endpoint to `tcp://host.docker.internal:5555`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | -------------------------------------------------------- |
|
| ---------------------------------------- | -------------------------------------------------------- |
|
||||||
@ -971,7 +971,7 @@ When using many cameras one detector may not be enough to keep up. Multiple dete
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple **ONNX** detectors.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add** to add multiple detectors.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1019,7 +1019,7 @@ After placing the downloaded onnx model in your config folder, use the following
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ONNX** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------------- |
|
| ---------------------------------------- | ------------------------------------------------- |
|
||||||
@ -1078,7 +1078,7 @@ After placing the downloaded onnx model in your config folder, use the following
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ONNX** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | -------------------------------------------------------- |
|
| ---------------------------------------- | -------------------------------------------------------- |
|
||||||
@ -1127,7 +1127,7 @@ After placing the downloaded onnx model in your config folder, use the following
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ONNX** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | -------------------------------------------------------- |
|
| ---------------------------------------- | -------------------------------------------------------- |
|
||||||
@ -1176,7 +1176,7 @@ After placing the downloaded onnx model in your `config/model_cache` folder, use
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ONNX** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| --------------------------------------- | --------------------------------- |
|
| --------------------------------------- | --------------------------------- |
|
||||||
@ -1221,7 +1221,7 @@ After placing the downloaded onnx model in your `config/model_cache` folder, use
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **ONNX** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **ONNX** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------- |
|
| ---------------------------------------- | ------------------------------------------- |
|
||||||
@ -1275,7 +1275,7 @@ A TensorFlow Lite model is provided in the container at `/cpu_model.tflite` and
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **CPU** detector type. Configure the number of threads and add additional CPU detectors as needed (one per camera is recommended).
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **CPU** from the detector type dropdown and click **Add**. Configure the number of threads and click **Add** again to add additional CPU detectors as needed (one per camera is recommended).
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1311,7 +1311,7 @@ To integrate CodeProject.AI into Frigate, configure the detector as follows:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **DeepStack** detector type. Set the API URL to point to your CodeProject.AI server (e.g., `http://<your_codeproject_ai_server_ip>:<port>/v1/vision/detection`).
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **DeepStack** from the detector type dropdown and click **Add**. Set the API URL to point to your CodeProject.AI server (e.g., `http://<your_codeproject_ai_server_ip>:<port>/v1/vision/detection`).
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1350,7 +1350,7 @@ To configure the MemryX detector, use the following example configuration:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **MemryX** detector type with device set to `PCIe:0`.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add**, then set device to `PCIe:0`.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1370,7 +1370,7 @@ detectors:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple **MemryX** detectors, specifying `PCIe:0`, `PCIe:1`, `PCIe:2`, etc. as the device for each.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add** to add multiple detectors, specifying `PCIe:0`, `PCIe:1`, `PCIe:2`, etc. as the device for each.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1414,7 +1414,7 @@ Below is the recommended configuration for using the **YOLO-NAS** (small) model
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **MemryX** detector type with device set to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add**, then set device to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------------- |
|
| ---------------------------------------- | ------------------------------------------------- |
|
||||||
@ -1462,7 +1462,7 @@ Below is the recommended configuration for using the **YOLOv9** (small) model wi
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **MemryX** detector type with device set to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add**, then set device to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------------- |
|
| ---------------------------------------- | ------------------------------------------------- |
|
||||||
@ -1509,7 +1509,7 @@ Below is the recommended configuration for using the **YOLOX** (small) model wit
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **MemryX** detector type with device set to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add**, then set device to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ----------------------- |
|
| ---------------------------------------- | ----------------------- |
|
||||||
@ -1556,7 +1556,7 @@ Below is the recommended configuration for using the **SSDLite MobileNet v2** mo
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **MemryX** detector type with device set to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **MemryX** from the detector type dropdown and click **Add**, then set device to `PCIe:0`. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ----------------------- |
|
| ---------------------------------------- | ----------------------- |
|
||||||
@ -1695,7 +1695,7 @@ Use the config below to work with generated TRT models:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **TensorRT** detector type with the device set to `0` (the default GPU index). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **TensorRT** from the detector type dropdown and click **Add**, then set the device to `0` (the default GPU index). Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ------------------------------------------------------------ |
|
| ---------------------------------------- | ------------------------------------------------------------ |
|
||||||
@ -1752,14 +1752,14 @@ Use the model configuration shown below when using the synaptics detector with t
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **Synaptics** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **Synaptics** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ---------------------------- |
|
| ---------------------------------------- | ---------------------------- |
|
||||||
| **Custom object detector model path** | `/synaptics/mobilenet.synap` |
|
| **Custom object detector model path** | `/synaptics/mobilenet.synap` |
|
||||||
| **Object detection model input width** | `224` |
|
| **Object detection model input width** | `224` |
|
||||||
| **Object detection model input height** | `224` |
|
| **Object detection model input height** | `224` |
|
||||||
| **Tensor format** | `nhwc` |
|
| **Model Input Tensor Shape** | `nhwc` |
|
||||||
| **Label map for custom object detector** | `/labelmap/coco-80.txt` |
|
| **Label map for custom object detector** | `/labelmap/coco-80.txt` |
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
@ -1774,7 +1774,7 @@ model: # required
|
|||||||
path: /synaptics/mobilenet.synap # required
|
path: /synaptics/mobilenet.synap # required
|
||||||
width: 224 # required
|
width: 224 # required
|
||||||
height: 224 # required
|
height: 224 # required
|
||||||
tensor_format: nhwc # default value (optional. If you change the model, it is required)
|
input_tensor: nhwc # default value (optional. If you change the model, it is required)
|
||||||
labelmap_path: /labelmap/coco-80.txt # required
|
labelmap_path: /labelmap/coco-80.txt # required
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1800,7 +1800,7 @@ When using many cameras one detector may not be enough to keep up. Multiple dete
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and add multiple **RKNN** detectors, each with `num_cores` set to `0` for automatic selection.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **RKNN** from the detector type dropdown and click **Add** to add multiple detectors, each with `num_cores` set to `0` for automatic selection.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -1842,7 +1842,7 @@ This `config.yml` shows all relevant options to configure the detector and expla
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **RKNN** detector type. Set `num_cores` to `0` for automatic selection (increase for better performance on multicore NPUs, e.g., set to `3` on rk3588).
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **RKNN** from the detector type dropdown and click **Add**. Set `num_cores` to `0` for automatic selection (increase for better performance on multicore NPUs, e.g., set to `3` on rk3588).
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -2059,7 +2059,7 @@ Once completed, configure the detector as follows:
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **DeGirum** detector type. Set the location to your AI server (e.g., service name, container name, or `host:port`), the zoo to `degirum/public`, and provide your authentication token if needed.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **DeGirum** from the detector type dropdown and click **Add**. Set the location to your AI server (e.g., service name, container name, or `host:port`), the zoo to `degirum/public`, and provide your authentication token if needed.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -2102,7 +2102,7 @@ It is also possible to eliminate the need for an AI server and run the hardware
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **DeGirum** detector type. Set the location to `@local`, the zoo to `degirum/public`, and provide your authentication token.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **DeGirum** from the detector type dropdown and click **Add**. Set the location to `@local`, the zoo to `degirum/public`, and provide your authentication token.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -2139,7 +2139,7 @@ If you do not possess whatever hardware you want to run, there's also the option
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **DeGirum** detector type. Set the location to `@cloud`, the zoo to `degirum/public`, and provide your authentication token.
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **DeGirum** from the detector type dropdown and click **Add**. Set the location to `@cloud`, the zoo to `degirum/public`, and provide your authentication token.
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem value="yaml">
|
<TabItem value="yaml">
|
||||||
@ -2189,7 +2189,7 @@ Use the model configuration shown below when using the axengine detector with th
|
|||||||
<ConfigTabs>
|
<ConfigTabs>
|
||||||
<TabItem value="ui">
|
<TabItem value="ui">
|
||||||
|
|
||||||
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select the **AXEngine NPU** detector type. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
Navigate to <NavPath path="Settings > System > Detector hardware" /> and select **AXEngine NPU** from the detector type dropdown and click **Add**. Then navigate to <NavPath path="Settings > System > Detection model" /> and configure:
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| ---------------------------------------- | ----------------------- |
|
| ---------------------------------------- | ----------------------- |
|
||||||
|
|||||||
@ -1409,7 +1409,8 @@
|
|||||||
"keyDuplicate": "Detector name already exists.",
|
"keyDuplicate": "Detector name already exists.",
|
||||||
"noSchema": "No detector schemas are available.",
|
"noSchema": "No detector schemas are available.",
|
||||||
"none": "No detector instances configured.",
|
"none": "No detector instances configured.",
|
||||||
"add": "Add detector"
|
"add": "Add detector",
|
||||||
|
"addCustomKey": "Add custom key"
|
||||||
},
|
},
|
||||||
"record": {
|
"record": {
|
||||||
"title": "Recording Settings"
|
"title": "Recording Settings"
|
||||||
@ -1637,6 +1638,10 @@
|
|||||||
},
|
},
|
||||||
"snapshots": {
|
"snapshots": {
|
||||||
"detectDisabled": "Object detection is disabled. Snapshots are generated from tracked objects and will not be created."
|
"detectDisabled": "Object detection is disabled. Snapshots are generated from tracked objects and will not be created."
|
||||||
|
},
|
||||||
|
"detectors": {
|
||||||
|
"mixedTypes": "All detectors must use the same type. Remove existing detectors to use a different type.",
|
||||||
|
"mixedTypesSuggestion": "All detectors must use the same type. Remove existing detectors or select {{type}}."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@ const detectors: SectionConfigOverrides = {
|
|||||||
uiSchema: {
|
uiSchema: {
|
||||||
"ui:field": "DetectorHardwareField",
|
"ui:field": "DetectorHardwareField",
|
||||||
"ui:options": {
|
"ui:options": {
|
||||||
multiInstanceTypes: ["cpu", "onnx", "openvino"],
|
multiInstanceTypes: ["cpu", "onnx", "openvino", "edgetpu"],
|
||||||
typeOrder: ["onnx", "openvino", "edgetpu"],
|
typeOrder: ["onnx", "openvino", "edgetpu"],
|
||||||
hiddenByType: {},
|
hiddenByType: {},
|
||||||
hiddenFields: detectorHiddenFields,
|
hiddenFields: detectorHiddenFields,
|
||||||
|
|||||||
@ -60,7 +60,9 @@ export function AddPropertyButton({
|
|||||||
className="gap-2"
|
className="gap-2"
|
||||||
>
|
>
|
||||||
<LuPlus className="h-4 w-4" />
|
<LuPlus className="h-4 w-4" />
|
||||||
{t("button.add", { ns: "common", defaultValue: "Add" })}
|
{typeof uiSchema?.["ui:options"]?.addButtonText === "string"
|
||||||
|
? uiSchema["ui:options"].addButtonText
|
||||||
|
: t("button.add", { ns: "common", defaultValue: "Add" })}
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -374,6 +374,18 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
[detectors],
|
[detectors],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const getExistingType = useCallback(
|
||||||
|
(excludeKey?: string): string | undefined => {
|
||||||
|
for (const [key, value] of Object.entries(detectors)) {
|
||||||
|
if (excludeKey && key === excludeKey) continue;
|
||||||
|
const type = getInstanceType(value);
|
||||||
|
if (type) return type;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
},
|
||||||
|
[detectors],
|
||||||
|
);
|
||||||
|
|
||||||
const handleAdd = useCallback(() => {
|
const handleAdd = useCallback(() => {
|
||||||
if (!addType) {
|
if (!addType) {
|
||||||
setAddError(
|
setAddError(
|
||||||
@ -400,6 +412,28 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const existingType = getExistingType();
|
||||||
|
if (existingType && existingType !== addType) {
|
||||||
|
const canAddExisting =
|
||||||
|
multiInstanceSet.has(existingType) ||
|
||||||
|
!resolveDuplicateType(existingType);
|
||||||
|
setAddError(
|
||||||
|
canAddExisting
|
||||||
|
? t("configMessages.detectors.mixedTypesSuggestion", {
|
||||||
|
ns: "views/settings",
|
||||||
|
defaultValue:
|
||||||
|
"All detectors must use the same type. Remove existing detectors or select {{type}}.",
|
||||||
|
type: getTypeLabel(existingType),
|
||||||
|
})
|
||||||
|
: t("configMessages.detectors.mixedTypes", {
|
||||||
|
ns: "views/settings",
|
||||||
|
defaultValue:
|
||||||
|
"All detectors must use the same type. Remove existing detectors to use a different type.",
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const baseKey = addType;
|
const baseKey = addType;
|
||||||
let nextKey = baseKey;
|
let nextKey = baseKey;
|
||||||
let index = 2;
|
let index = 2;
|
||||||
@ -427,8 +461,10 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
configNamespace,
|
configNamespace,
|
||||||
detectors,
|
detectors,
|
||||||
getDetectorDefaults,
|
getDetectorDefaults,
|
||||||
|
getExistingType,
|
||||||
getTypeLabel,
|
getTypeLabel,
|
||||||
isSingleInstanceType,
|
isSingleInstanceType,
|
||||||
|
multiInstanceSet,
|
||||||
resolveDuplicateType,
|
resolveDuplicateType,
|
||||||
updateDetectors,
|
updateDetectors,
|
||||||
]);
|
]);
|
||||||
@ -523,6 +559,29 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const existingType = getExistingType(key);
|
||||||
|
if (existingType && existingType !== nextType) {
|
||||||
|
const canAddExisting =
|
||||||
|
multiInstanceSet.has(existingType) ||
|
||||||
|
!resolveDuplicateType(existingType, key);
|
||||||
|
setTypeErrors((prev) => ({
|
||||||
|
...prev,
|
||||||
|
[key]: canAddExisting
|
||||||
|
? t("configMessages.detectors.mixedTypesSuggestion", {
|
||||||
|
ns: "views/settings",
|
||||||
|
defaultValue:
|
||||||
|
"All detectors must use the same type. Remove existing detectors or select {{type}}.",
|
||||||
|
type: getTypeLabel(existingType),
|
||||||
|
})
|
||||||
|
: t("configMessages.detectors.mixedTypes", {
|
||||||
|
ns: "views/settings",
|
||||||
|
defaultValue:
|
||||||
|
"All detectors must use the same type. Remove existing detectors to use a different type.",
|
||||||
|
}),
|
||||||
|
}));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setTypeErrors((prev) => {
|
setTypeErrors((prev) => {
|
||||||
const { [key]: _, ...rest } = prev;
|
const { [key]: _, ...rest } = prev;
|
||||||
return rest;
|
return rest;
|
||||||
@ -538,8 +597,10 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
[
|
[
|
||||||
detectors,
|
detectors,
|
||||||
getDetectorDefaults,
|
getDetectorDefaults,
|
||||||
|
getExistingType,
|
||||||
getTypeLabel,
|
getTypeLabel,
|
||||||
isSingleInstanceType,
|
isSingleInstanceType,
|
||||||
|
multiInstanceSet,
|
||||||
resolveDuplicateType,
|
resolveDuplicateType,
|
||||||
t,
|
t,
|
||||||
updateDetectors,
|
updateDetectors,
|
||||||
@ -556,6 +617,10 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
const nestedOverrides = {
|
const nestedOverrides = {
|
||||||
"ui:options": {
|
"ui:options": {
|
||||||
disableNestedCard: true,
|
disableNestedCard: true,
|
||||||
|
addButtonText: t("configForm.detectors.addCustomKey", {
|
||||||
|
ns: "views/settings",
|
||||||
|
defaultValue: "Add custom key",
|
||||||
|
}),
|
||||||
},
|
},
|
||||||
} as UiSchema;
|
} as UiSchema;
|
||||||
|
|
||||||
@ -567,7 +632,7 @@ export function DetectorHardwareField(props: FieldProps) {
|
|||||||
);
|
);
|
||||||
return mergeUiSchema(withTypeHiddenAndOptions, nestedOverrides);
|
return mergeUiSchema(withTypeHiddenAndOptions, nestedOverrides);
|
||||||
},
|
},
|
||||||
[globalHiddenFields, hiddenByType, uiSchema?.additionalProperties],
|
[globalHiddenFields, hiddenByType, t, uiSchema?.additionalProperties],
|
||||||
);
|
);
|
||||||
|
|
||||||
const renderInstanceForm = useCallback(
|
const renderInstanceForm = useCallback(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user