FFNet-40S: Optimized for Qualcomm Devices
FFNet-40S is a "fuss-free network" that segments street scene images with per-pixel classes like road, sidewalk, and pedestrian. Trained on the Cityscapes dataset.
This is based on the implementation of FFNet-40S found here. This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the Qualcomm® AI Hub Models library to export with custom configurations. More details on model performance across various devices, can be found here.
Qualcomm AI Hub Models uses Qualcomm AI Hub Workbench to compile, profile, and evaluate this model. Sign up 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 |
| ONNX | w8a8 | Universal | QAIRT 2.45, ONNX Runtime 1.25.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.45 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.45 | Download |
| TFLITE | float | Universal | QAIRT 2.45 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.45 | Download |
For more device-specific assets and performance metrics, visit FFNet-40S on Qualcomm® AI Hub.
Option 2: Export with Custom Configurations
Use the Qualcomm® AI Hub Models 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 FFNet-40S on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.semantic_segmentation
Model Stats:
- Model checkpoint: ffnet40S_dBBB_cityscapes_state_dict_quarts
- Input resolution: 2048x1024
- Number of output classes: 19
- Number of parameters: 13.9M
- Model size (float): 53.1 MB
- Model size (w8a8): 13.5 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| FFNet-40S | ONNX | float | Snapdragon® X2 Elite | 14.119 ms | 24 - 24 MB | NPU |
| FFNet-40S | ONNX | float | Snapdragon® X Elite | 31.29 ms | 24 - 24 MB | NPU |
| FFNet-40S | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 22.344 ms | 30 - 316 MB | NPU |
| FFNet-40S | ONNX | float | Snapdragon® 8 Gen 1 Mobile | 52.093 ms | 24 - 282 MB | NPU |
| FFNet-40S | ONNX | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 32.039 ms | 0 - 30 MB | NPU |
| FFNet-40S | ONNX | float | Qualcomm® QCS8450 | 52.093 ms | 24 - 282 MB | NPU |
| FFNet-40S | ONNX | float | Qualcomm® Dragonwing™ IQ-9075 | 44.299 ms | 24 - 27 MB | NPU |
| FFNet-40S | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 13.485 ms | 5 - 213 MB | NPU |
| FFNet-40S | ONNX | float | Snapdragon® 8 Elite Mobile | 17.737 ms | 8 - 192 MB | NPU |
| FFNet-40S | ONNX | float | Qualcomm® Dragonwing™ Q-8750 | 17.737 ms | 8 - 192 MB | NPU |
| FFNet-40S | ONNX | float | Qualcomm® Dragonwing™ IQ-X7181 | 31.29 ms | 24 - 24 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® X2 Elite | 6.922 ms | 7 - 7 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® X Elite | 11.714 ms | 8 - 8 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.386 ms | 7 - 253 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® 8 Gen 1 Mobile | 15.783 ms | 7 - 255 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 49.048 ms | 6 - 9 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 11.195 ms | 6 - 44 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® QCS8450 | 15.783 ms | 7 - 255 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® 8 Elite Mobile | 7.686 ms | 1 - 193 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 14.779 ms | 7 - 223 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 6.619 ms | 1 - 194 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 15.541 ms | 6 - 9 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 110.533 ms | 5 - 242 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 14.779 ms | 7 - 223 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.686 ms | 1 - 193 MB | NPU |
| FFNet-40S | ONNX | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 11.714 ms | 8 - 8 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® X2 Elite | 14.568 ms | 24 - 24 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® X Elite | 38.033 ms | 24 - 24 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 24.996 ms | 23 - 294 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® 8 Gen 1 Mobile | 63.509 ms | 24 - 290 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® QCS8275 | 135.546 ms | 24 - 219 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.634 ms | 24 - 238 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® SA8775P | 48.951 ms | 24 - 219 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® SA8650P | 48.951 ms | 24 - 219 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® SA8255P | 48.951 ms | 24 - 219 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® QCS8450 | 63.509 ms | 24 - 290 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-9075 | 49.857 ms | 24 - 52 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 12.712 ms | 16 - 257 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® SA7255P | 135.546 ms | 24 - 219 MB | NPU |
| FFNet-40S | QNN_DLC | float | Snapdragon® 8 Elite Mobile | 18.075 ms | 8 - 231 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® SA8295P | 53.704 ms | 24 - 224 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® Dragonwing™ Q-8750 | 18.075 ms | 8 - 231 MB | NPU |
| FFNet-40S | QNN_DLC | float | Qualcomm® Dragonwing™ IQ-X7181 | 38.033 ms | 24 - 24 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 6.076 ms | 6 - 6 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® X Elite | 16.016 ms | 6 - 6 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 10.514 ms | 6 - 252 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® 8 Gen 1 Mobile | 21.266 ms | 6 - 254 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 55.583 ms | 3 - 11 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® QCS8275 | 32.894 ms | 6 - 202 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 15.042 ms | 6 - 9 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® SA8775P | 15.673 ms | 6 - 203 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® SA8650P | 15.673 ms | 6 - 203 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® SA8255P | 15.673 ms | 6 - 203 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® QCS8450 | 21.266 ms | 6 - 254 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® 8 Elite Mobile | 7.064 ms | 6 - 217 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 18.839 ms | 6 - 225 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.295 ms | 6 - 233 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 18.598 ms | 8 - 16 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 126.294 ms | 6 - 238 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® SA7255P | 32.894 ms | 6 - 202 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® SA8295P | 20.04 ms | 6 - 206 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 18.839 ms | 6 - 225 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 7.064 ms | 6 - 217 MB | NPU |
| FFNet-40S | QNN_DLC | w8a8 | Qualcomm® Dragonwing™ IQ-X7181 | 16.016 ms | 6 - 6 MB | NPU |
| FFNet-40S | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 25.134 ms | 2 - 306 MB | NPU |
| FFNet-40S | TFLITE | float | Snapdragon® 8 Gen 1 Mobile | 63.419 ms | 2 - 303 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® QCS8275 | 135.654 ms | 0 - 207 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 36.383 ms | 2 - 5 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® SA8775P | 48.977 ms | 0 - 208 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® SA8650P | 48.977 ms | 0 - 208 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® SA8255P | 48.977 ms | 0 - 208 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® QCS8450 | 63.419 ms | 2 - 303 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® Dragonwing™ IQ-9075 | 49.697 ms | 0 - 56 MB | NPU |
| FFNet-40S | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 12.743 ms | 2 - 253 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® SA7255P | 135.654 ms | 0 - 207 MB | NPU |
| FFNet-40S | TFLITE | float | Snapdragon® 8 Elite Mobile | 18.121 ms | 0 - 235 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® SA8295P | 53.677 ms | 3 - 216 MB | NPU |
| FFNet-40S | TFLITE | float | Qualcomm® Dragonwing™ Q-8750 | 18.121 ms | 0 - 235 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 5.455 ms | 0 - 247 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Snapdragon® 8 Gen 1 Mobile | 12.37 ms | 0 - 247 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS6490 | 41.174 ms | 1 - 23 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® QCS8275 | 20.07 ms | 1 - 196 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ QCS8550 (Proxy) | 7.489 ms | 1 - 3 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® SA8775P | 8.268 ms | 1 - 197 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® SA8650P | 8.268 ms | 1 - 197 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® SA8255P | 8.268 ms | 1 - 197 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® QCS8450 | 12.37 ms | 0 - 247 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Snapdragon® 8 Elite Mobile | 3.991 ms | 1 - 209 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 11.468 ms | 0 - 216 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 2.973 ms | 1 - 226 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ IQ-9075 | 8.019 ms | 1 - 23 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-6690 | 101.456 ms | 1 - 232 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® SA7255P | 20.07 ms | 1 - 196 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® SA8295P | 11.687 ms | 1 - 200 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-7790 | 11.468 ms | 0 - 216 MB | NPU |
| FFNet-40S | TFLITE | w8a8 | Qualcomm® Dragonwing™ Q-8750 | 3.991 ms | 1 - 209 MB | NPU |
License
- The license for the original implementation of FFNet-40S can be found here.
References
Community
- Join our AI Hub Slack community to collaborate, post questions and learn more about on-device AI.
- For questions or feedback please reach out to us.
