| | --- |
| | library_name: pytorch |
| | license: other |
| | tags: |
| | - android |
| | pipeline_tag: other |
| |
|
| | --- |
| | |
| |  |
| |
|
| | # BEVFusion: Optimized for Qualcomm Devices |
| |
|
| | BeVFusion is a machine learning model for generating a birds eye view represenation from the sensors(cameras) mounted on a vehicle. |
| |
|
| | This is based on the implementation of BEVFusion found [here](https://github.com/mit-han-lab/bevfusion). |
| | This repository contains pre-exported model files optimized for Qualcomm® devices. You can use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/bevfusion_det) library to export with custom configurations. More details on model performance across various devices, can be found [here](#performance-summary). |
| |
|
| | Qualcomm AI Hub Models uses [Qualcomm AI Hub Workbench](https://workbench.aihub.qualcomm.com) to compile, profile, and evaluate this model. [Sign up](https://myaccount.qualcomm.com/signup) 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 | |
| | |---|---|---|---|---| |
| | | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | QAIRT 2.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-precompiled_qnn_onnx-float-qualcomm_snapdragon_x_elite.zip) |
| | | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | QAIRT 2.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-precompiled_qnn_onnx-float-qualcomm_snapdragon_8gen3.zip) |
| | | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | QAIRT 2.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-precompiled_qnn_onnx-float-qualcomm_snapdragon_8_elite_for_galaxy.zip) |
| | | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | QAIRT 2.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-precompiled_qnn_onnx-float-qualcomm_snapdragon_8_elite_gen5.zip) |
| | | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | QAIRT 2.37, ONNX Runtime 1.23.0 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-precompiled_qnn_onnx-float-qualcomm_qcs9075.zip) |
| | | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | QAIRT 2.42 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-qnn_context_binary-float-qualcomm_snapdragon_x_elite.zip) |
| | | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | QAIRT 2.42 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-qnn_context_binary-float-qualcomm_snapdragon_8gen3.zip) |
| | | QNN_CONTEXT_BINARY | float | Qualcomm® SA8775P | QAIRT 2.42 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-qnn_context_binary-float-qualcomm_sa8775p.zip) |
| | | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | QAIRT 2.42 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-qnn_context_binary-float-qualcomm_snapdragon_8_elite_for_galaxy.zip) |
| | | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | QAIRT 2.42 | [Download](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/bevfusion_det/releases/v0.46.0/bevfusion_det-qnn_context_binary-float-qualcomm_snapdragon_8_elite_gen5.zip) |
| |
|
| | For more device-specific assets and performance metrics, visit **[BEVFusion on Qualcomm® AI Hub](https://aihub.qualcomm.com/models/bevfusion_det)**. |
| |
|
| |
|
| | ### Option 2: Export with Custom Configurations |
| |
|
| | Use the [Qualcomm® AI Hub Models](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/bevfusion_det) 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 [BEVFusion on GitHub](https://github.com/quic/ai-hub-models/blob/main/qai_hub_models/models/bevfusion_det) for usage instructions. |
| |
|
| | ## Model Details |
| |
|
| | **Model Type:** Model_use_case.driver_assistance |
| | |
| | **Model Stats:** |
| | - Model checkpoint: camera-only-det.pth |
| | - Input resolution: 1 x 6 x 3 x 256 x 704 |
| | - Number of parameters: 44M |
| | - Model size: 171 MB |
| | |
| | ## Performance Summary |
| | | Model | Runtime | Precision | Chipset | Inference Time (ms) | Peak Memory Range (MB) | Primary Compute Unit |
| | |---|---|---|---|---|---|--- |
| | | BEVFusionDecoder | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | 13.201 ms | 24 - 24 MB | NPU |
| | | BEVFusionDecoder | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | 9.916 ms | 17 - 25 MB | NPU |
| | | BEVFusionDecoder | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | 24.227 ms | 21 - 24 MB | NPU |
| | | BEVFusionDecoder | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 7.889 ms | 12 - 19 MB | NPU |
| | | BEVFusionDecoder | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 6.201 ms | 17 - 28 MB | NPU |
| | | BEVFusionDecoder | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | 13.08 ms | 5 - 5 MB | NPU |
| | | BEVFusionDecoder | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | 9.848 ms | 5 - 12 MB | NPU |
| | | BEVFusionDecoder | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | 7.597 ms | 5 - 14 MB | NPU |
| | | BEVFusionDecoder | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | 5.729 ms | 5 - 15 MB | NPU |
| | | BEVFusionEncoder1 | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | 816.0 ms | 97 - 97 MB | NPU |
| | | BEVFusionEncoder1 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | 618.339 ms | 33 - 45 MB | NPU |
| | | BEVFusionEncoder1 | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | 835.545 ms | 12 - 28 MB | NPU |
| | | BEVFusionEncoder1 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 508.583 ms | 21 - 33 MB | NPU |
| | | BEVFusionEncoder1 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 432.064 ms | 50 - 61 MB | NPU |
| | | BEVFusionEncoder1 | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | 683.073 ms | 12 - 12 MB | NPU |
| | | BEVFusionEncoder1 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | 521.79 ms | 13 - 20 MB | NPU |
| | | BEVFusionEncoder1 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | 420.381 ms | 0 - 10 MB | NPU |
| | | BEVFusionEncoder1 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | 350.55 ms | 12 - 21 MB | NPU |
| | | BEVFusionEncoder2 | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | 3251.893 ms | 1058 - 1058 MB | NPU |
| | | BEVFusionEncoder2 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | 2619.194 ms | 516 - 524 MB | NPU |
| | | BEVFusionEncoder2 | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | 3309.274 ms | 476 - 478 MB | NPU |
| | | BEVFusionEncoder2 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 2390.471 ms | 546 - 558 MB | NPU |
| | | BEVFusionEncoder2 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 2189.505 ms | 509 - 520 MB | NPU |
| | | BEVFusionEncoder2 | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | 3419.442 ms | 17 - 17 MB | NPU |
| | | BEVFusionEncoder2 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | 2697.193 ms | 17 - 25 MB | NPU |
| | | BEVFusionEncoder2 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | 2439.831 ms | 3 - 16 MB | NPU |
| | | BEVFusionEncoder2 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | 2186.323 ms | 0 - 10 MB | NPU |
| | | BEVFusionEncoder3 | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | 513.549 ms | 610 - 610 MB | NPU |
| | | BEVFusionEncoder3 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | 457.232 ms | 578 - 590 MB | NPU |
| | | BEVFusionEncoder3 | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | 538.716 ms | 608 - 1220 MB | NPU |
| | | BEVFusionEncoder3 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 374.412 ms | 596 - 609 MB | NPU |
| | | BEVFusionEncoder3 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 335.284 ms | 509 - 520 MB | NPU |
| | | BEVFusionEncoder3 | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | 700.145 ms | 610 - 610 MB | NPU |
| | | BEVFusionEncoder3 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | 591.369 ms | 609 - 621 MB | NPU |
| | | BEVFusionEncoder3 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | 499.751 ms | 609 - 623 MB | NPU |
| | | BEVFusionEncoder3 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | 369.428 ms | 609 - 620 MB | NPU |
| | | BEVFusionEncoder4 | PRECOMPILED_QNN_ONNX | float | Snapdragon® X Elite | 12.081 ms | 19 - 19 MB | NPU |
| | | BEVFusionEncoder4 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Gen 3 Mobile | 9.452 ms | 32 - 39 MB | NPU |
| | | BEVFusionEncoder4 | PRECOMPILED_QNN_ONNX | float | Qualcomm® QCS9075 | 15.331 ms | 18 - 39 MB | NPU |
| | | BEVFusionEncoder4 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite For Galaxy Mobile | 8.075 ms | 12 - 19 MB | NPU |
| | | BEVFusionEncoder4 | PRECOMPILED_QNN_ONNX | float | Snapdragon® 8 Elite Gen 5 Mobile | 7.115 ms | 30 - 40 MB | NPU |
| | | BEVFusionEncoder4 | QNN_CONTEXT_BINARY | float | Snapdragon® X Elite | 11.877 ms | 19 - 19 MB | NPU |
| | | BEVFusionEncoder4 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Gen 3 Mobile | 9.138 ms | 18 - 25 MB | NPU |
| | | BEVFusionEncoder4 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite For Galaxy Mobile | 7.783 ms | 18 - 27 MB | NPU |
| | | BEVFusionEncoder4 | QNN_CONTEXT_BINARY | float | Snapdragon® 8 Elite Gen 5 Mobile | 6.77 ms | 18 - 28 MB | NPU |
| | |
| | ## License |
| | * The license for the original implementation of BEVFusion can be found |
| | [here](https://github.com/w-hc/torch_audioset/blob/master/LICENSE). |
| | |
| | ## References |
| | * [BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird's-Eye View Representation](https://arxiv.org/abs/2205.13542) |
| | * [Source Model Implementation](https://github.com/mit-han-lab/bevfusion) |
| | |
| | ## Community |
| | * Join [our AI Hub Slack community](https://aihub.qualcomm.com/community/slack) to collaborate, post questions and learn more about on-device AI. |
| | * For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com). |
| | |