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® 8 Elite Gen 5 For Galaxy Mobile 59.148 ms 13 - 278 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Elite For Galaxy Mobile 80.892 ms 13 - 265 MB NPU
Unet-Segmentation ONNX float Snapdragon® X2 Elite 70.422 ms 16 - 16 MB NPU
Unet-Segmentation ONNX float Snapdragon® X Elite 132.385 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 3 Mobile 103.059 ms 1 - 454 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 1 Mobile 248.513 ms 23 - 502 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-8275 273.937 ms 9 - 23 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 136.919 ms 0 - 834 MB NPU
Unet-Segmentation ONNX float Qualcomm® QCS8450 248.513 ms 23 - 502 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-9075 239.713 ms 9 - 22 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-X7181 132.385 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ Q-8750 80.892 ms 13 - 265 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 16.233 ms 3 - 184 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.501 ms 3 - 181 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X2 Elite 18.683 ms 4 - 4 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X Elite 36.364 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 3 Mobile 26.094 ms 6 - 328 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 1 Mobile 45.888 ms 6 - 327 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS6490 245.318 ms 3 - 9 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-8275 36.956 ms 4 - 8 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 36.79 ms 0 - 32 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® QCS8450 45.888 ms 6 - 327 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-9075 32.17 ms 4 - 7 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-X7181 36.364 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-6690 1058.11 ms 0 - 491 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-7790 74.136 ms 6 - 261 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-8750 21.501 ms 3 - 181 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 7 Gen 4 Mobile 74.136 ms 6 - 261 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 54.579 ms 9 - 286 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite For Galaxy Mobile 77.202 ms 9 - 271 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X2 Elite 68.069 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X Elite 125.53 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 3 Mobile 101.459 ms 9 - 461 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 1 Mobile 251.871 ms 4 - 467 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-8275 265.855 ms 9 - 28 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 137.804 ms 10 - 774 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8650P 240.377 ms 1 - 325 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8255P 240.377 ms 1 - 325 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® QCS8450 251.871 ms 4 - 467 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 232.206 ms 9 - 27 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 125.53 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ Q-8750 77.202 ms 9 - 271 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8295P 253.727 ms 0 - 253 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 15.348 ms 2 - 191 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.361 ms 2 - 180 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X2 Elite 18.357 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X Elite 34.742 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 3 Mobile 25.165 ms 1 - 309 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 1 Mobile 45.186 ms 2 - 310 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS6490 243.052 ms 2 - 8 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-8275 36.194 ms 2 - 9 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 33.259 ms 3 - 4 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® QCS8450 45.186 ms 2 - 310 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-9075 31.176 ms 2 - 8 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-X7181 34.742 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-6690 1034.792 ms 2 - 474 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-7790 70.693 ms 2 - 250 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-8750 21.361 ms 2 - 180 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8295P 62.132 ms 0 - 172 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 7 Gen 4 Mobile 70.693 ms 2 - 250 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 54.419 ms 6 - 283 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite For Galaxy Mobile 76.045 ms 6 - 267 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 3 Mobile 103.781 ms 6 - 510 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 1 Mobile 234.835 ms 7 - 516 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-8275 265.478 ms 0 - 81 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 129.623 ms 7 - 443 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8650P 240.507 ms 7 - 331 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8255P 240.507 ms 7 - 331 MB NPU
Unet-Segmentation TFLITE float Qualcomm® QCS8450 234.835 ms 7 - 516 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-9075 232.501 ms 0 - 80 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ Q-8750 76.045 ms 6 - 267 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8295P 253.744 ms 7 - 259 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 15.374 ms 0 - 185 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.542 ms 1 - 178 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 3 Mobile 25.278 ms 2 - 309 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 1 Mobile 46.83 ms 2 - 310 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS6490 243.379 ms 0 - 42 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-8275 36.189 ms 2 - 39 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 30.774 ms 2 - 4 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8775P 30.636 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8650P 30.636 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8255P 30.636 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® QCS8450 46.83 ms 2 - 310 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-9075 31.027 ms 0 - 37 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-6690 1047.852 ms 0 - 473 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-7790 70.619 ms 0 - 246 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-8750 21.542 ms 1 - 178 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8295P 62.146 ms 2 - 171 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 7 Gen 4 Mobile 70.619 ms 0 - 246 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