File size: 4,814 Bytes
45f5a12
 
 
 
 
 
 
 
 
 
 
8671cc5
45f5a12
 
 
8671cc5
dcb66c2
45f5a12
8671cc5
45f5a12
8671cc5
 
5719e8d
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
dcb66c2
45f5a12
8671cc5
45f5a12
 
8671cc5
45f5a12
dcb66c2
8671cc5
 
 
45f5a12
8671cc5
45f5a12
dcb66c2
45f5a12
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
 
f324b8f
 
45f5a12
8671cc5
 
 
dcb66c2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45f5a12
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
library_name: pytorch
license: other
tags:
- android
pipeline_tag: image-to-video

---

![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/fomm/web-assets/model_demo.png)

# First-Order-Motion-Model: Optimized for Qualcomm Devices

FOMM is a machine learning model that animates a still image to mirror the movements from a target video.

This is based on the implementation of First-Order-Motion-Model found [here](https://github.com/AliaksandrSiarohin/first-order-model/tree/master).
This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/fomm) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary).

Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) to run these models on a hosted Qualcomm® device.

## Getting Started
There are two ways to deploy this model on your device:

### Option 1: Download Pre-Exported Models

Below are pre-exported model assets ready for deployment.

| Runtime | Precision | Chipset | SDK Versions | Download |
|---|---|---|---|---|
| ONNX | float | Universal | QAIRT 2.45, ONNX Runtime 1.27.1 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/fomm/releases/v0.59.0/fomm-onnx-float.zip)

For more device-specific assets and performance metrics, visit **[First-Order-Motion-Model on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/fomm)**.


### Option 2: Export with Custom Configurations

Use the [Qualcomm® AI Hub Models](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/fomm) Python library to compile and export the model with your own:
- Custom weights (e.g., fine-tuned checkpoints)
- Custom input shapes
- Target device and runtime configurations

This option is ideal if you need to customize the model beyond the default configuration provided here.

See our repository for [First-Order-Motion-Model on GitHub](https://github.com/qualcomm/ai-hub-models/blob/v0.59.0/src/qai_hub_models/models/fomm) for usage instructions.

## Model Details

**Model Type:** Model_use_case.video_generation

**Model Stats:**
- Model checkpoint: vox-256
- Input resolution: 256x256
- Model size (detector) (float): 54.2 MB
- Model size (generator) (float): 174 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| detector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 3.247 ms | 0 - 38 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 7.127 ms | 1 - 34 MB | NPU
| detector | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 4.387 ms | 0 - 29 MB | NPU
| detector | ONNX | float | Qualcomm® QCS8450 | 7.127 ms | 1 - 34 MB | NPU
| detector | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 5.612 ms | 1 - 4 MB | NPU
| detector | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 2.916 ms | 0 - 21 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Elite Mobile | 2.916 ms | 0 - 21 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.747 ms | 0 - 23 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.208 ms | 0 - 189 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 37.355 ms | 0 - 187 MB | NPU
| generator | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 22.053 ms | 18 - 20 MB | NPU
| generator | ONNX | float | Qualcomm® QCS8450 | 37.355 ms | 0 - 187 MB | NPU
| generator | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 34.593 ms | 16 - 19 MB | NPU
| generator | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 13.306 ms | 16 - 180 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Elite Mobile | 13.306 ms | 16 - 180 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 11.021 ms | 16 - 186 MB | NPU

## License
* The license for the original implementation of First-Order-Motion-Model can be found
  [here](https://github.com/AliaksandrSiarohin/first-order-model/blob/master/LICENSE.md).

## References
* [First Order Motion Model for Image Animation](https://arxiv.org/abs/2003.00196)
* [Source Model Implementation](https://github.com/AliaksandrSiarohin/first-order-model/tree/master)

## Community
* Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI.
* For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com).