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.37, ONNX Runtime 1.23.0 | Download |
| ONNX | w8a8 | Universal | QAIRT 2.37, ONNX Runtime 1.23.0 | Download |
| QNN_DLC | float | Universal | QAIRT 2.42 | Download |
| QNN_DLC | w8a8 | Universal | QAIRT 2.42 | Download |
| TFLITE | float | Universal | QAIRT 2.42, TFLite 2.17.0 | Download |
| TFLITE | w8a8 | Universal | QAIRT 2.42, TFLite 2.17.0 | 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® X Elite | 33.983 ms | 31 - 31 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® 8 Gen 3 Mobile | 24.542 ms | 31 - 300 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS8550 (Proxy) | 34.536 ms | 24 - 55 MB | NPU |
| FFNet-78S | ONNX | float | Qualcomm® QCS9075 | 59.887 ms | 24 - 51 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 26.338 ms | 6 - 160 MB | NPU |
| FFNet-78S | ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 13.372 ms | 13 - 212 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® X Elite | 12.19 ms | 22 - 22 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Gen 3 Mobile | 7.941 ms | 7 - 239 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS6490 | 488.488 ms | 162 - 231 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS8550 (Proxy) | 11.597 ms | 0 - 24 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCS9075 | 14.86 ms | 6 - 9 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Qualcomm® QCM6690 | 536.419 ms | 167 - 177 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 6.021 ms | 2 - 160 MB | NPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 7 Gen 4 Mobile | 532.054 ms | 172 - 182 MB | CPU |
| FFNet-78S | ONNX | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 4.503 ms | 2 - 168 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® X Elite | 44.274 ms | 24 - 24 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Gen 3 Mobile | 29.913 ms | 24 - 333 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8275 (Proxy) | 188.209 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8550 (Proxy) | 42.829 ms | 24 - 26 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8775P | 60.916 ms | 24 - 235 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS9075 | 73.536 ms | 24 - 52 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® QCS8450 (Proxy) | 84.656 ms | 2 - 294 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA7255P | 188.209 ms | 24 - 234 MB | NPU |
| FFNet-78S | QNN_DLC | float | Qualcomm® SA8295P | 66.245 ms | 24 - 230 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Elite For Galaxy Mobile | 21.872 ms | 23 - 259 MB | NPU |
| FFNet-78S | QNN_DLC | float | Snapdragon® 8 Elite Gen 5 Mobile | 15.403 ms | 24 - 275 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® X Elite | 17.601 ms | 6 - 6 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Gen 3 Mobile | 11.715 ms | 6 - 289 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS6490 | 72.702 ms | 6 - 14 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8275 (Proxy) | 39.342 ms | 6 - 217 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8550 (Proxy) | 16.762 ms | 6 - 8 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8775P | 17.256 ms | 6 - 218 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS9075 | 19.692 ms | 6 - 14 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCM6690 | 163.978 ms | 6 - 254 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® QCS8450 (Proxy) | 23.855 ms | 6 - 286 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA7255P | 39.342 ms | 6 - 217 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Qualcomm® SA8295P | 23.444 ms | 6 - 220 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 8.024 ms | 6 - 232 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 7 Gen 4 Mobile | 22.55 ms | 6 - 236 MB | NPU |
| FFNet-78S | QNN_DLC | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 5.878 ms | 6 - 256 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Gen 3 Mobile | 29.599 ms | 2 - 394 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8275 (Proxy) | 188.5 ms | 3 - 248 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8550 (Proxy) | 42.497 ms | 2 - 62 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8775P | 283.205 ms | 3 - 249 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS9075 | 73.289 ms | 0 - 82 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® QCS8450 (Proxy) | 85.796 ms | 3 - 377 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA7255P | 188.5 ms | 3 - 248 MB | NPU |
| FFNet-78S | TFLITE | float | Qualcomm® SA8295P | 66.125 ms | 2 - 244 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Elite For Galaxy Mobile | 21.778 ms | 1 - 265 MB | NPU |
| FFNet-78S | TFLITE | float | Snapdragon® 8 Elite Gen 5 Mobile | 15.421 ms | 2 - 288 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Gen 3 Mobile | 6.474 ms | 1 - 284 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS6490 | 57.237 ms | 1 - 36 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8275 (Proxy) | 26.423 ms | 1 - 210 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8550 (Proxy) | 9.08 ms | 1 - 3 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8775P | 9.716 ms | 1 - 212 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS9075 | 10.947 ms | 1 - 36 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCM6690 | 139.439 ms | 1 - 246 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® QCS8450 (Proxy) | 18.38 ms | 1 - 282 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA7255P | 26.423 ms | 1 - 210 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Qualcomm® SA8295P | 14.967 ms | 0 - 213 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Elite For Galaxy Mobile | 4.984 ms | 1 - 227 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 7 Gen 4 Mobile | 14.654 ms | 0 - 229 MB | NPU |
| FFNet-78S | TFLITE | w8a8 | Snapdragon® 8 Elite Gen 5 Mobile | 3.61 ms | 0 - 247 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.
