> For the complete documentation index, see [llms.txt](https://nx.docs.scailable.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nx.docs.scailable.net/ai-manager-v6.1.3/ai-models-support/importing-models/from-edge-impulse.md).

# From Edge Impulse

## About Edge Impulse

<figure><img src="/files/zv0ojHKE07mIRN3zr2y1" alt="Edge Impulse logo"><figcaption></figcaption></figure>

*"Edge Impulse is the leading development platform for machine learning on edge devices, free for developers and trusted by enterprises."* You can find the Edge Impulse training platform [here](https://www.edgeimpulse.com).

## Preliminaries

This guide covers how to train a model on the [Edge Impulse platform](https://edgeimpulse.com) and deploy it to an edge device using the [AI Cloud](/ai-manager-v6.1.3/ai-cloud-ui/introduction.md).

Before you start, make sure you have:

* An edge device with the [AI Manager installed](/ai-manager-v6.1.3/ai-manager-plugin/install-network-optix.md).
* A camera connected as an input source in Nx Meta.
* An Edge Impulse account. Sign up at <https://studio.edgeimpulse.com/>.

{% hint style="success" %}
Due to policy changes, Edge Impulse has removed the built-in YOLOv5 block. Your existing model will still work. To train a new model, re-upload the YOLOv5 block following the instructions at <https://github.com/edgeimpulse/yolov5>. This takes about 5–10 minutes.
{% endhint %}

## Quick overview

This guide walks through four steps:

1. **Train a model on the Edge Impulse platform.** Full platform documentation is at <https://docs.edgeimpulse.com/docs/>.
2. **Import your Edge Impulse model into AI Cloud.** Sync the trained model to your model catalogue.
3. **Deploy and test the model on your edge device.** Assign the model to a device via the [AI Cloud](/ai-manager-v6.1.3/ai-cloud-ui/introduction.md).
4. **Retrain your model.** Collect new training images in the field and repeat the cycle to improve accuracy over time.

## Step 1: Model training using the Edge Impulse platform

Start by creating a new project on the Edge Impulse platform:

<figure><img src="/files/oUfEHzVhplKBto6eT5Z6" alt="Edge Impulse platform showing a new project with dataset, impulse, and model training tabs"><figcaption><p>Edge Impulse project overview — start here to build and train your model</p></figcaption></figure>

Upload and annotate your training examples, then train an object detection model. A getting started guide is available at <https://docs.edgeimpulse.com/docs/tutorials/detect-objects-using-fomo>.

Work through the data acquisition and impulse creation steps to reach the model selection screen:

<figure><img src="/files/0kMBIbh9N2Kr79xif18K" alt="Edge Impulse model selection screen showing FOMO MobileNetV2 and YOLOv5 options"><figcaption><p>Select FOMO MobileNetV2 or YOLOv5 — these are the models supported for import into AI Cloud</p></figcaption></figure>

Select **FOMO MobileNetV2 (0.1 or 0.35) or YOLOv5**. Click "Start training" and wait for training to finish.

{% hint style="warning" %}
Only **FOMO MobileNetV2** and **YOLOv5** are supported for import from Edge Impulse.
{% endhint %}

## Step 2: Coupling your Edge Impulse model with Nx

Open <https://admin.sclbl.nxvms.com/> and log in to AI Cloud. Click the **+** icon in the sidebar and choose **Link an Edge Impulse model**. The dedicated Edge Impulse wizard opens at step 1: enter your API key and project ID.

<figure><img src="/files/gNSwdvGIhbwhjLtBu3Q9" alt="Link an edge impulse model wizard showing step 1 with empty API-Key and Project ID
     fields"><figcaption><p>Step 1: enter your Edge Impulse API key and project ID to link your trained model.</p></figcaption></figure>

Your **Project ID** is shown in the project info panel, or as the last number in the URL when you open the project. Your **API key** is found in the Edge Impulse dashboard under API Keys:

<figure><img src="/files/jpdEt5ju4tNM0Gt2JDtB" alt="Edge Impulse dashboard showing the API Keys tab with the Copy button next to the API
     key"><figcaption><p>Edge Impulse API key: found on the dashboard under API Keys.</p></figcaption></figure>

Paste the API key and project ID into the form, then click **Next**.

<figure><img src="/files/JHlz1XI9HkpiOkXLpBbR" alt="Link an edge impulse model wizard with API key and project ID filled in and the Next
     button active"><figcaption><p>API key and project ID entered: click Next to continue to owner selection.</p></figcaption></figure>

The wizard continues through owner selection, catalogue assignment, and hardware support steps. These work the same as the [generic upload wizard](/ai-manager-v6.1.3/ai-cloud-ui/upload-your-model.md).

<figure><img src="/files/cErQbq3yRrytvF0OmvSQ" alt="Link an edge impulse model wizard showing the Set an owner tab with an organization
     card"><figcaption><p>Owner tab: choose the organization or channel partner that owns this model.</p></figcaption></figure>

<figure><img src="/files/jcWql0x0K7GQNSA0axaB" alt="Link an edge impulse model wizard showing the owner confirmed and collapsed to Change
     Association"><figcaption><p>Owner confirmed: click Next to continue to catalogue assignment.</p></figcaption></figure>

<figure><img src="/files/3MnAgGeYSvAIQvps5LZK" alt="Link an edge impulse model wizard showing the Catalogue tab with an empty search
     field"><figcaption><p>Catalogue tab: search for the catalogue to add this model to.</p></figcaption></figure>

<figure><img src="/files/k338vV5hQ994E6uyptU4" alt="Link an edge impulse model wizard showing the Object Detection catalogue selected"><figcaption><p>Catalogue selected: click Next to continue to hardware support.</p></figcaption></figure>

On the final step, choose any additional hardware conversions, then click **Link model**.

<figure><img src="/files/S7c4UmS1uwbjXPwpQyP7" alt="Link an edge impulse model wizard showing step 4 Additional hardware support with
     MemryX checked"><figcaption><p>Step 4: choose hardware conversions, then click Link model to import the model.</p></figcaption></figure>

<figure><img src="/files/gyBTnep4pAGGHukMXaut" alt="Model link successful notification toast"><figcaption><p>Model link successful: the Edge Impulse model has been imported.</p></figcaption></figure>

When the import completes, you are taken to the model detail page with a confirmation notice.

<figure><img src="/files/gyBTnep4pAGGHukMXaut" alt="Model detail page showing the imported Edge Impulse model name, description,
     catalogue, and owner information"><figcaption><p>Model detail page: the Edge Impulse model is now in your library and ready to deploy.</p></figcaption></figure>

You are now ready to deploy your model to your selected edge device.

## Step 3: Deploying and testing your model on your edge device

In Nx Meta, connect to your system and open the plugin page.

<figure><img src="/files/50fnFvrSXr2xvSC8CgO7" alt="Camera Settings Integrations tab showing the Manage device button hover state"><figcaption><p>Click Manage device to open the model pipeline selector</p></figcaption></figure>

Click "Manage device" and select the model you created.

<figure><img src="/files/Bsuflmp8IK06zeFZuIos" alt="Model assignment popup showing the imported Edge Impulse model in the list"><figcaption><p>Select your Edge Impulse model and click Add to pipeline</p></figcaption></figure>

Click "Add to pipeline". The model is assigned and you return to the plugin settings.

Activate the Objects tab in the camera view. Detection boxes appear on the video feed:

<figure><img src="/files/dgrtQMMNTw0xpyqnnG3r" alt="Camera feed showing bounding boxes drawn over detected objects by the Edge Impulse model"><figcaption><p>Detection boxes appear on the camera feed once the Objects tab is active</p></figcaption></figure>

Your Edge Impulse model is now running on your edge device.

## Step 4: Retraining your model

After deploying your model, you can improve it over time by collecting new training images in the field.

Set up a [postprocessor](https://github.com/scailable/sclbl-integration-sdk/tree/main/postprocessor-python-edgeimpulse-example) from the integration SDK for image uploads. You can set the postprocessor up to send images every `N` seconds or when the result is below a certain `P` value.

Let the system run with the postprocessor for a while to collect images.

Navigate back to your Edge Impulse project, label the uploaded images, retrain the model, then [re-deploy it](#step-3-deploying-and-testing-your-model-on-your-edge-device). Repeat this cycle to improve accuracy over time.
