The IMX500 GUI Tool is a user-friendly graphical interface designed to interact with the IMX500 Intelligent Vision Sensor. It allows users to deploy a custom network and visualize the output of the chosen model superposed to the camera preview.
Before getting started, ensure you have the following prerequisites installed on your system:
- Node.js
Node.js is required to run this application. Download and install the latest version from nodejs.org. To verify your Node.js installation, run the following command in your terminal:
node --version
- UV
UV is the Python environment and package manager used for the project. Follow the installation instructions provided in the UV documentation to set it up. Verify your uv installation by running:
uv --version
Navigate to the project directory and build the project by running:
make setup
To start the GUI Tool, run:
uv run main.py
After starting the GUI Tool, we recommend to open the GUI Tool from a PC on the same network as your Raspberry Pi. Open a web browser on your PC and enter the URL http://<your-raspberrypi-IP-address>:3001
.
TIP: To find your Raspberry Pi's IP address, run the command
hostname -I | awk '{print $1}'
in the terminal on the Raspberry Pi.
Alternatively, you can access the GUI Tool from http://127.0.0.1:3001
by forwarding port 3001
to localhost:3001
.
The easiest way to get started is to download the models available in theIMX500 Raspberry Pi Model Zoo. Download them into your model list by clicking on the DONWLOAD ZOO
button in the custom network tab. Choose one of your added networks and in the left sidebar and click on Camera preview
to see the model in action through the camera preview interface!
- Click on the
ADD
button located at the top right corner of the interface. - Provide the necessary details to add a custom network.
- Upload the network file, and the (optional)
labels.txt
file.
Feature | Available |
---|---|
Camera preview (VGA Image) | ✔️ |
Camera preview (input tensor) | ✔️ |
Capture images & Dataset collection | ✔️ |
AI task visualization: Classification | ✔️ |
AI task visualization: Object Detection | ✔️ |
AI task visualization: Pose Estimation | ✔️ |
AI task visualization: Segmentation | ✔️ |
AI task visualization: Anomaly Detection | ✔️ |
Input Tensor Cropping | ✔️ |
IMX500 Raspberry Pi Model Zoo | ✔️ |
Custom models (KERAS, ONNX & Converting & Packaging) | ✔️ |
-
Start the application components: Before starting the different components make sure to create a
.env
-file in the root of this repository and provide the following variables.SERVER_HOST=0.0.0.0 SERVER_PORT=3001 LOG_LEVEL=info REACT_APP_BACKEND_HOST=http://0.0.0.0:3001
Afterwards you are ready to start the following components:
- Frontend (in one terminal)
make frontend
- Backend (in another terminal)
make backend
- Client (in a third terminal)
make client
-
Check code quality:
make lint
-
Clean up the environment:
make clean
Please read the Site Policy of GitHub and understand the usage conditions.