FFNet-78S: Optimized for Qualcomm Devices
FFNet-78S 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-78S 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.42, ONNX Runtime 1.25.0 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.42, 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-78S 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-78S on GitHub for usage instructions.
Model Details
Model Type: Model_use_case.semantic_segmentation
Model Stats:
- Model checkpoint: ffnet78S_dBBB_cityscapes_state_dict_quarts
- Input resolution: 2048x1024
- Number of output classes: 19
- Number of parameters: 27.5M
- Model size (float): 105 MB
- Model size (w8a8): 26.7 MB
Performance Summary
| Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
|---|---|---|---|---|---|---|
| FFNet-78S | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 17.942 ms | 29 - 258 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® X2 Elite | 18.143 ms | 188 - 188 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® X Elite | 38.156 ms | 157 - 157 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 27.076 ms | 29 - 332 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS8550 (Proxy) | 38.132 ms | 4 - 80 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 19.935 ms | 6 - 215 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS9075 | 59.514 ms | 24 - 93 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS8750 | 19.935 ms | 6 - 215 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS7181 | 38.156 ms | 157 - 157 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 7.294 ms | 6 - 227 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® X2 Elite | 7.881 ms | 206 - 206 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® X Elite | 14.751 ms | 175 - 175 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 11.686 ms | 7 - 299 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS6490 | 493.914 ms | 162 - 227 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 15.498 ms | 0 - 32 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 534.674 ms | 147 - 158 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCM6690 | 534.392 ms | 132 - 142 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 8.785 ms | 1 - 213 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS9075 | 14.523 ms | 6 - 51 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS7790 | 534.674 ms | 147 - 158 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS8750 | 8.785 ms | 1 - 213 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS7181 | 14.751 ms | 175 - 175 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 15.487 ms | 24 - 274 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® X2 Elite | 18.085 ms | 24 - 24 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® X Elite | 44.623 ms | 24 - 24 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 29.286 ms | 23 - 319 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8275 | 187.964 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 42.569 ms | 24 - 26 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8775P | 60.877 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8650P | 60.877 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8255P | 60.877 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 86.157 ms | 3 - 284 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8295P | 66.503 ms | 24 - 229 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 21.849 ms | 10 - 237 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA7255P | 187.964 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS9075 | 73.415 ms | 24 - 52 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8750 | 21.849 ms | 10 - 237 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS7181 | 44.623 ms | 24 - 24 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.877 ms | 6 - 249 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® X2 Elite | 6.996 ms | 6 - 6 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® X Elite | 17.8 ms | 6 - 6 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 11.601 ms | 6 - 293 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 72.639 ms | 6 - 14 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8275 | 39.064 ms | 6 - 225 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 16.717 ms | 6 - 183 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8775P | 17.178 ms | 6 - 226 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8650P | 17.178 ms | 6 - 226 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8255P | 17.178 ms | 6 - 226 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA7255P | 39.064 ms | 6 - 225 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 22.422 ms | 6 - 242 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8295P | 23.335 ms | 6 - 227 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 163.688 ms | 6 - 254 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 8.053 ms | 6 - 239 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 19.731 ms | 6 - 14 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 23.828 ms | 6 - 291 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS7790 | 22.422 ms | 6 - 242 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8750 | 8.053 ms | 6 - 239 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS7181 | 17.8 ms | 6 - 6 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 15.437 ms | 2 - 285 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 29.522 ms | 2 - 376 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8275 | 188.04 ms | 3 - 245 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 42.824 ms | 3 - 5 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8775P | 60.995 ms | 3 - 245 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8650P | 60.995 ms | 3 - 245 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8255P | 60.995 ms | 3 - 245 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 86.527 ms | 2 - 361 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8295P | 66.479 ms | 3 - 240 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 21.839 ms | 1 - 261 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA7255P | 188.04 ms | 3 - 245 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS9075 | 73.752 ms | 0 - 82 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8750 | 21.839 ms | 1 - 261 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 3.576 ms | 0 - 240 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 6.439 ms | 1 - 287 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS6490 | 57.168 ms | 1 - 36 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8275 | 26.224 ms | 1 - 218 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 9.072 ms | 1 - 3 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8775P | 9.743 ms | 1 - 219 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8650P | 9.743 ms | 1 - 219 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8255P | 9.743 ms | 1 - 219 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA7255P | 26.224 ms | 1 - 218 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 14.576 ms | 1 - 234 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8295P | 14.889 ms | 1 - 222 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCM6690 | 141.187 ms | 1 - 246 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 5.046 ms | 1 - 233 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS9075 | 11.171 ms | 0 - 36 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 18.378 ms | 1 - 289 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS7790 | 14.576 ms | 1 - 234 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8750 | 5.046 ms | 1 - 233 MB | NPU |
License
- The license for the original implementation of FFNet-78S 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.
