File size: 4,451 Bytes
45f5a12
 
 
 
 
 
 
 
 
 
 
8671cc5
45f5a12
 
 
8671cc5
 
45f5a12
8671cc5
45f5a12
8671cc5
 
5719e8d
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
c2ff033
45f5a12
8671cc5
45f5a12
 
8671cc5
45f5a12
8671cc5
 
 
 
45f5a12
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
45f5a12
8671cc5
 
 
 
 
45f5a12
8671cc5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
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/quic/ai-hub-models/blob/main/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.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/fomm/releases/v0.46.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/quic/ai-hub-models/blob/main/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/quic/ai-hub-models/blob/main/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 (FOMMDetector) (float): 54.2 MB
- Model size (FOMMGenerator) (float): 174 MB

## Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit
|---|---|---|---|---|---|---
| FOMMDetector | ONNX | float | Snapdragon® X Elite | 4.668 ms | 28 - 28 MB | NPU
| FOMMDetector | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 3.421 ms | 0 - 104 MB | NPU
| FOMMDetector | ONNX | float | Qualcomm® QCS8550 (Proxy) | 4.575 ms | 0 - 30 MB | NPU
| FOMMDetector | ONNX | float | Qualcomm® QCS9075 | 6.01 ms | 1 - 4 MB | NPU
| FOMMDetector | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 3.023 ms | 0 - 91 MB | NPU
| FOMMDetector | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2.857 ms | 0 - 91 MB | NPU
| FOMMGenerator | ONNX | float | Snapdragon® X Elite | 22.761 ms | 88 - 88 MB | NPU
| FOMMGenerator | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 16.694 ms | 0 - 176 MB | NPU
| FOMMGenerator | ONNX | float | Qualcomm® QCS8550 (Proxy) | 23.05 ms | 18 - 21 MB | NPU
| FOMMGenerator | ONNX | float | Qualcomm® QCS9075 | 35.444 ms | 18 - 22 MB | NPU
| FOMMGenerator | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 13.959 ms | 14 - 153 MB | NPU
| FOMMGenerator | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 10.851 ms | 0 - 150 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).