File size: 5,214 Bytes
45f5a12
 
 
 
 
 
 
 
 
 
 
8671cc5
45f5a12
 
 
8671cc5
e48fd7f
45f5a12
8671cc5
45f5a12
8671cc5
 
5719e8d
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
e48fd7f
45f5a12
8671cc5
45f5a12
 
8671cc5
45f5a12
e48fd7f
8671cc5
 
 
45f5a12
8671cc5
45f5a12
e48fd7f
45f5a12
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
 
f324b8f
 
45f5a12
8671cc5
 
 
90503fc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
88
89
90
91
92
93
---
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.57.1/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.25.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/fomm/releases/v0.57.1/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.57.1/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.57.1/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.25 ms | 0 - 27 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 7.354 ms | 1 - 26 MB | NPU
| detector | ONNX | float | Qualcomm® QCS8550 (Proxy) | 4.394 ms | 0 - 32 MB | NPU
| detector | ONNX | float | Qualcomm® QCS8450 | 7.354 ms | 1 - 26 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.743 ms | 1 - 21 MB | NPU
| detector | ONNX | float | Qualcomm® QCS9075 | 5.804 ms | 1 - 46 MB | NPU
| detector | ONNX | float | Snapdragon® 8 Elite Mobile | 2.914 ms | 0 - 22 MB | NPU
| detector | ONNX | float | Qualcomm® QCS8750 | 2.914 ms | 0 - 22 MB | NPU
| detector | TFLITE | float | Qualcomm® SA8775P | 11.63 ms | 1 - 19 MB | GPU
| detector | TFLITE | float | Qualcomm® SA8650P | 11.63 ms | 1 - 19 MB | GPU
| detector | TFLITE | float | Qualcomm® SA8255P | 11.63 ms | 1 - 19 MB | GPU
| generator | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.359 ms | 18 - 199 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 37.095 ms | 16 - 194 MB | NPU
| generator | ONNX | float | Qualcomm® QCS8550 (Proxy) | 21.762 ms | 18 - 21 MB | NPU
| generator | ONNX | float | Qualcomm® QCS8450 | 37.095 ms | 16 - 194 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 10.96 ms | 16 - 182 MB | NPU
| generator | ONNX | float | Qualcomm® QCS9075 | 34.927 ms | 18 - 63 MB | NPU
| generator | ONNX | float | Snapdragon® 8 Elite Mobile | 13.285 ms | 16 - 178 MB | NPU
| generator | ONNX | float | Qualcomm® QCS8750 | 13.285 ms | 16 - 178 MB | NPU
| generator | TFLITE | float | Qualcomm® SA8775P | 819.964 ms | 21 - 37 MB | CPU
| generator | TFLITE | float | Qualcomm® SA8650P | 819.964 ms | 21 - 37 MB | CPU
| generator | TFLITE | float | Qualcomm® SA8255P | 819.964 ms | 21 - 37 MB | CPU

## 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).