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.005 ms 14 - 280 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Elite For Galaxy Mobile 81.346 ms 16 - 266 MB NPU
Unet-Segmentation ONNX float Snapdragon® X2 Elite 71.104 ms 17 - 17 MB NPU
Unet-Segmentation ONNX float Snapdragon® X Elite 132.33 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 3 Mobile 101.666 ms 3 - 455 MB NPU
Unet-Segmentation ONNX float Snapdragon® 8 Gen 1 Mobile 262.01 ms 1 - 479 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-8275 274.151 ms 9 - 23 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ QCS8550 (Proxy) 137.295 ms 0 - 56 MB NPU
Unet-Segmentation ONNX float Qualcomm® QCS8450 262.01 ms 1 - 479 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-9075 239.75 ms 9 - 22 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ IQ-X7181 132.33 ms 54 - 54 MB NPU
Unet-Segmentation ONNX float Qualcomm® Dragonwing™ Q-8750 81.346 ms 16 - 266 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 16.264 ms 3 - 182 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.606 ms 3 - 180 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X2 Elite 18.654 ms 4 - 4 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® X Elite 36.501 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 3 Mobile 26.128 ms 6 - 328 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 8 Gen 1 Mobile 48.099 ms 6 - 328 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS6490 246.461 ms 3 - 9 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-8275 37.005 ms 4 - 8 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 37.234 ms 0 - 32 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® QCS8450 48.099 ms 6 - 328 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-9075 32.156 ms 4 - 7 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ IQ-X7181 36.501 ms 29 - 29 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-6690 1041.701 ms 0 - 497 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-7790 74.51 ms 6 - 261 MB NPU
Unet-Segmentation ONNX w8a8 Qualcomm® Dragonwing™ Q-8750 21.606 ms 3 - 180 MB NPU
Unet-Segmentation ONNX w8a8 Snapdragon® 7 Gen 4 Mobile 74.51 ms 6 - 261 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 54.526 ms 0 - 276 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Elite For Galaxy Mobile 75.423 ms 0 - 262 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X2 Elite 68.019 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® X Elite 125.744 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 3 Mobile 102.472 ms 9 - 461 MB NPU
Unet-Segmentation QNN_DLC float Snapdragon® 8 Gen 1 Mobile 237.965 ms 4 - 468 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-8275 265.804 ms 9 - 28 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ QCS8550 (Proxy) 129.143 ms 10 - 47 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8775P 233.605 ms 1 - 255 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8650P 233.605 ms 1 - 255 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8255P 233.605 ms 1 - 255 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® QCS8450 237.965 ms 4 - 468 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-9075 232.275 ms 9 - 27 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ IQ-X7181 125.744 ms 9 - 9 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® Dragonwing™ Q-8750 75.423 ms 0 - 262 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA7255P 944.38 ms 0 - 254 MB NPU
Unet-Segmentation QNN_DLC float Qualcomm® SA8295P 253.721 ms 0 - 254 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 15.328 ms 2 - 188 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.492 ms 2 - 181 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X2 Elite 18.29 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® X Elite 34.725 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 3 Mobile 25.242 ms 2 - 312 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 8 Gen 1 Mobile 44.42 ms 2 - 310 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS6490 243.355 ms 2 - 8 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-8275 35.888 ms 2 - 9 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 33.184 ms 3 - 239 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® QCS8450 44.42 ms 2 - 310 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-9075 31.257 ms 1 - 7 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ IQ-X7181 34.725 ms 2 - 2 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-6690 1015.46 ms 2 - 475 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-7790 70.699 ms 2 - 250 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® Dragonwing™ Q-8750 21.492 ms 2 - 181 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA7255P 119.629 ms 0 - 169 MB NPU
Unet-Segmentation QNN_DLC w8a8 Qualcomm® SA8295P 62.119 ms 0 - 173 MB NPU
Unet-Segmentation QNN_DLC w8a8 Snapdragon® 7 Gen 4 Mobile 70.699 ms 2 - 250 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 54.465 ms 6 - 282 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Elite For Galaxy Mobile 76.042 ms 5 - 266 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 3 Mobile 102.833 ms 6 - 511 MB NPU
Unet-Segmentation TFLITE float Snapdragon® 8 Gen 1 Mobile 237.527 ms 7 - 516 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-8275 265.595 ms 0 - 81 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ QCS8550 (Proxy) 126.85 ms 7 - 443 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8775P 233.636 ms 7 - 260 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8650P 233.636 ms 7 - 260 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8255P 233.636 ms 7 - 260 MB NPU
Unet-Segmentation TFLITE float Qualcomm® QCS8450 237.527 ms 7 - 516 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ IQ-9075 232.413 ms 0 - 80 MB NPU
Unet-Segmentation TFLITE float Qualcomm® Dragonwing™ Q-8750 76.042 ms 5 - 266 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA7255P 944.688 ms 7 - 260 MB NPU
Unet-Segmentation TFLITE float Qualcomm® SA8295P 253.777 ms 0 - 252 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite Gen 5 For Galaxy Mobile 15.345 ms 0 - 188 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Elite For Galaxy Mobile 21.406 ms 1 - 178 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 3 Mobile 25.044 ms 1 - 308 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 8 Gen 1 Mobile 48.362 ms 2 - 311 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS6490 243.405 ms 0 - 42 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-8275 36.112 ms 2 - 39 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ QCS8550 (Proxy) 30.913 ms 2 - 4 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8775P 30.635 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8650P 30.635 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8255P 30.635 ms 2 - 172 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® QCS8450 48.362 ms 2 - 311 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ IQ-9075 31.101 ms 2 - 39 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-6690 1048.638 ms 0 - 472 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-7790 71.248 ms 1 - 244 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® Dragonwing™ Q-8750 21.406 ms 1 - 178 MB NPU
Unet-Segmentation TFLITE w8a8 Qualcomm® SA8295P 62.151 ms 2 - 171 MB NPU
Unet-Segmentation TFLITE w8a8 Snapdragon® 7 Gen 4 Mobile 71.248 ms 1 - 244 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