Unet-Segmentation: Optimized for Qualcomm Devices

UNet is a machine learning model that produces a segmentation mask for an image. The most basic use case will label each pixel in the image as being in the foreground or the background. More advanced usage will assign a class label to each pixel. This version of the model was trained on the data from Kaggle's Carvana Image Masking Challenge (see https://www.kaggle.com/c/carvana-image-masking-challenge) and is used for vehicle segmentation.

This is based on the implementation of Unet-Segmentation 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

Due to licensing restrictions, we cannot distribute pre-exported model assets for this model. 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

See our repository for Unet-Segmentation on GitHub for usage instructions.

Model Details

Model Type: Model_use_case.semantic_segmentation

Model Stats:

  • Input resolution: 640x1280
  • Model checkpoint: unet_carvana_scale1.0_epoch2
  • Model size (float): 118 MB
  • Model size (w8a8): 29.8 MB
  • Number of output classes: 2 (foreground / background)
  • Number of parameters: 31.0M

Performance Summary

Model Runtime Precision Chipset Inference Time (ms) Peak Memory Range (MB) Primary Compute Unit
Unet-Segmentation ONNX float Snapdragon® X2 Elite 74.629 ms 17 - 17 MB NPU
Unet-Segmentation ONNX float Snapdragon® X Elite 141.99 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 3 Mobile 116.625 ms 1 - 523 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 1 Mobile 309.327 ms 1 - 549 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-8275 286.15 ms 9 - 22 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 152.561 ms 0 - 913 MB NPU
Unet-Segmentation ONNX float Qualcomm® QCS8450 309.327 ms 1 - 549 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-9075 249.811 ms 9 - 21 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-X7181 141.99 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ Q-8750 91.325 ms 14 - 332 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Elite Mobile 91.325 ms 14 - 332 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Elite Gen 5 Mobile 65.975 ms 15 - 345 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X2 Elite 18.766 ms 5 - 5 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X Elite 37.742 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 3 Mobile 29.879 ms 6 - 339 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 1 Mobile 65.929 ms 6 - 342 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS6490 299.866 ms 3 - 8 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-8275 40.832 ms 4 - 7 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 38.105 ms 0 - 32 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® QCS8450 65.929 ms 6 - 342 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-9075 36.811 ms 4 - 7 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-X7181 37.742 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-6690 1209.561 ms 0 - 540 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-7790 84.447 ms 6 - 282 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-8750 24.495 ms 3 - 189 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite Mobile 24.495 ms 3 - 189 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite Gen 5 Mobile 16.658 ms 3 - 192 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 7 Gen 4 Mobile 84.447 ms 6 - 282 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X2 Elite 72.005 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X Elite 132.84 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 3 Mobile 102.656 ms 9 - 527 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 1 Mobile 274.747 ms 9 - 545 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-8275 274.084 ms 9 - 27 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-8275 953.506 ms 0 - 324 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 138.003 ms 9 - 12 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8775P 240.415 ms 0 - 324 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8650P 240.415 ms 0 - 324 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8255P 240.415 ms 0 - 324 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® QCS8450 274.747 ms 9 - 545 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 244.241 ms 9 - 27 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 132.84 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ Q-8750 82.7 ms 9 - 341 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA7255P 953.506 ms 0 - 324 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8295P 274.455 ms 0 - 322 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite Mobile 82.7 ms 9 - 341 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite Gen 5 Mobile 61.547 ms 9 - 355 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X2 Elite 18.921 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X Elite 35.778 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 3 Mobile 26.343 ms 2 - 319 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 1 Mobile 59.235 ms 2 - 317 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS6490 289.039 ms 4 - 10 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-8275 37.053 ms 2 - 9 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-8275 121.484 ms 1 - 180 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 34.999 ms 2 - 4 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8775P 32.182 ms 1 - 181 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8650P 32.182 ms 1 - 181 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8255P 32.182 ms 1 - 181 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® QCS8450 59.235 ms 2 - 317 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-9075 32.975 ms 1 - 6 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-X7181 35.778 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-6690 1153.577 ms 2 - 522 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-7790 78.874 ms 2 - 267 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-8750 21.738 ms 2 - 188 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA7255P 121.484 ms 1 - 180 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8295P 63.744 ms 0 - 180 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite Mobile 21.738 ms 2 - 188 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite Gen 5 Mobile 15.995 ms 2 - 200 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 7 Gen 4 Mobile 78.874 ms 2 - 267 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 3 Mobile 104.23 ms 5 - 577 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 1 Mobile 307.578 ms 8 - 588 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-8275 273.785 ms 0 - 81 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-8275 953.183 ms 0 - 324 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 144.387 ms 6 - 218 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8775P 240.453 ms 7 - 330 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8650P 240.453 ms 7 - 330 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8255P 240.453 ms 7 - 330 MB NPU
Unet-Segmentation TFLITE float Qualcomm® QCS8450 307.578 ms 8 - 588 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-9075 239.24 ms 0 - 80 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ Q-8750 81.884 ms 5 - 337 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA7255P 953.183 ms 0 - 324 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8295P 274.489 ms 7 - 328 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite Mobile 81.884 ms 5 - 337 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite Gen 5 Mobile 61.313 ms 6 - 354 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 3 Mobile 26.501 ms 0 - 314 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 1 Mobile 57.707 ms 2 - 317 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS6490 288.731 ms 2 - 42 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-8275 37.33 ms 2 - 39 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-8275 121.577 ms 2 - 180 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 32.772 ms 2 - 399 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8775P 32.232 ms 2 - 181 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8650P 32.232 ms 2 - 181 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8255P 32.232 ms 2 - 181 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® QCS8450 57.707 ms 2 - 317 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-9075 32.89 ms 1 - 37 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-6690 1213.089 ms 0 - 520 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-7790 78.86 ms 2 - 271 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-8750 21.678 ms 0 - 185 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA7255P 121.577 ms 2 - 180 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8295P 63.765 ms 2 - 180 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite Mobile 21.678 ms 0 - 185 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite Gen 5 Mobile 16.077 ms 1 - 199 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 7 Gen 4 Mobile 78.86 ms 2 - 271 MB NPU

License

  • The license for the original implementation of Unet-Segmentation can be found here.

References

Community

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for qualcomm/Unet-Segmentation