Skip to content

Ultralytics Model Conversion Tutorial

Introduction

This guide provides a step-by-step process for exporting, converting, encrypting, and deploying a quantized ONNX model for **Sony IMX500-based AI Cameras** using **Ultralytics YOLO11** and **Arducam SDK tools**.

Table of Contents


1. Quantized Model Acquisition

Reference: Sony IMX500 Export for Ultralytics YOLO11 - Ultralytics YOLO Documentation

To export a quantized ONNX model compatible with the Sony IMX500 devices:

⚙️ Recommendation:
Set the model input resolution to below 320×320 to maintain maximum compatibility.

The export process will generate:

  • A quantized ONNX model for validation.
  • A folder named *_imx_model containing:
  • packerOut.zip — the packaged quantized model.
  • labels.txt — a list of all labels associated with the model, for use in post-processing.

arducam_wiki_ai_model_converter_for_ultralytics_picture_1


2. Model Conversion and Packaging

Follow these steps to convert and package your quantized ONNX model for deployment on the IMX500 device:

  1. Visit ai.arducam.com and log in with your Arducam account.
  2. Click Start Converting to open the model conversion interface.
    arducam_wiki_ai_model_converter_for_ultralytics_picture_2
  3. Upload your quantized ONNX model.
  4. Click Convert Model to begin the conversion and packaging process.
    arducam_wiki_ai_model_converter_for_ultralytics_picture_3
  5. (Optional) To encrypt your model (bind it to a device via its Device ID), see Section 3.
  6. When complete, click Download Converted Model to retrieve the packaged output. arducam_wiki_ai_model_converter_for_ultralytics_picture_4

3. Encrypted Model Conversion and Packaging


3.1 Obtain the IMX500 Sensor Device ID

Refer to the following guide to obtain your IMX500 Sensor Device ID (take B0566 as an example):
👉 Arducam IMX500 USB3 UVC Camera Quick Start Guide

Run B0566, and observe the terminal output — it will display the Sensor Device ID of your IMX500 module (exclude any hyphens "-").

arducam_wiki_ai_model_converter_for_ultralytics_picture_5


3.2 Encryption and Packaging Steps

  1. Visit ai.arducam.com and log in to your account.
  2. Click Start Converting to access the model conversion page.
    arducam_wiki_ai_model_converter_for_ultralytics_picture_6
  3. Upload your quantized ONNX model.
  4. Select the Enterprise tab.
  5. Enter the Sensor Device ID of your device into the Device ID input field.
  6. Click Convert Model to start the encryption and packaging process.
    arducam_wiki_ai_model_converter_for_ultralytics_picture_7
  7. After completion, click Download Converted Model to download the final encrypted .zip package. arducam_wiki_ai_model_converter_for_ultralytics_picture_8

4. Model Deployment

Once the model has been converted and packaged:

  1. Extract the .zip archive to retrieve the .fpk model file.
  2. Set up the development environment following this guide:
    👉 Arducam IMX500 USB3 UVC Camera Quick Start Guide
  3. In the ArducamIMX500SDK project directory, run the following commands (replace <model_path> with your actual .fpk file path):
cd examples
python app.py -m <model_path>
 -lf ..\firmware\arducam_imx500\loader.fpk -mf ..\firmware\arducam_imx500\firmware.fpk

✅ Successful Deployment:
If an image is displayed correctly, the model has been successfully deployed on the IMX500 hardware.


5. Post-Processing Development

To develop custom post-processing for your deployed model, refer to the following documentation:

👉 Arducam IMX500 SDK - Postprocess

Other pre-trained post-processing modules located in the same directory can serve as reference implementations.

💡 You can customize output parsing and visualization according to your model’s inference results and application scenario.