Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: Mingqj
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 17.6 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

DepthFusion: Depth-Aware Hybrid Feature Fusion for LiDAR-Camera 3D Object Detection

[Mingqian Ji](https://github.com/Mingqj) , [Jian Yang](https://scholar.google.com/citations?user=6CIDtZQAAAAJ&hl=zh-CN) , [Shanshan Zhang](https://shanshanzhang.github.io/) ✉ Nanjing University of Science and Technology ✉ Corresponding author [![Paper](https://img.shields.io/badge/arXiv-PDF-b31b1b)](https://arxiv.org/abs/2505.07398) [![License](https://img.shields.io/badge/License-Apache--2.0-929292)](https://www.apache.org/licenses/LICENSE-2.0)

📖 About

This repository represents the official implementation of the paper titled "DepthFusion: Depth-Aware Hybrid Feature Fusion for LiDAR-Camera 3D Object Detection".

We propose a novel depth encoding strategy to guide multi-modal fusion in 3D object detection. By encoding depth, our method adaptively adjusts the modality weights at both the global and local feature levels, enabling more effective LiDAR-camera fusion across varying depth ranges.

📢 Updates

  • [2025.05.06] - Released the code and model weights for DepthFusion.
  • [2025.02.24] - Submitted DepthFusion to IEEE Transactions on Multimedia (TMM).

💾 Main Results

| Config | mAP | NDS | Backbone | Image size | Latency | FPS | Model| |:-----------------------------------------------------------------:|:----:|:----:|:--------:|:----------------:|:-------:|:----:|:----:| | DepthFusion-Light | 69.8 | 73.3 | ResNet18 | 256 $\times$ 704 | 72.4 | 13.8 | GoogleDrive | | DepthFusion-Base | 71.2 | 74.0 | ResNet50 | 320 $\times$ 800 | 114.9 | 8.7 | GoogleDrive | | DepthFusion-Large | 72.3 | 74.4 | SwinTiny | 384 $\times$ 1056 | 175.4 | 5.7 | GoogleDrive |

Get Started

🛠️ Installation and Data Preparation

step 1. Please prepare environment as that in Docker and run: shell pip install -r requirements.txt

We use the following main environment: shell torch 1.10.0+cu111 torchvision 0.10.0+rocm4.1 mmcls 0.25.0 mmcv-full 1.5.3 mmdet 2.25.1 mmdet3d 1.0.0rc4 mmsegmentation 0.25.0

step 2. Prepare DepthFusion repo by running: shell script git clone https://github.com/Mingqj/DepthFusion.git cd DepthFusion pip install -v -e .

step 3. Prepare nuScenes dataset and create the pkl for DepthFusion by running: shell python tools/create_data_bevdet.py step 4. Arrange the folder as: shell script DepthFusion └──data └── nuscenes ├── v1.0-trainval ├── sweeps ├── samples └── gts

🏋️ Train DepthFusion model

```shell

single gpu

python tools/train.py /configs/depthfusion/depthfuison-light.py # light version python tools/train.py /configs/depthfusion/depthfuison-base.py # base version python tools/train.py /configs/depthfusion/depthfuison-large.py # large version

multiple gpu

./tools/disttrain.sh /configs/depthfusion/depthfuison-light.py 8 # light version ./tools/disttrain.sh /configs/depthfusion/depthfuison-base.py 8 # base version ./tools/dist_train.sh /configs/depthfusion/depthfuison-large.py 8 # large version

```

📋 Test DepthFusion model

```shell

single gpu

python tools/test.py /configs/depthfusion/depthfuison-light.py $checkpoint --eval mAP # light version python tools/test.py /configs/depthfusion/depthfuison-base.py $checkpoint --eval mAP # base version python tools/test.py /configs/depthfusion/depthfuison-large.py $checkpoint --eval mAP # large version

multiple gpu

./tools/disttest.sh /configs/depthfusion/depthfuison-light.py $checkpoint 8 --eval mAP # light version ./tools/disttest.sh /configs/depthfusion/depthfuison-base.py $checkpoint 8 --eval mAP # base version ./tools/dist_test.sh /configs/depthfusion/depthfuison-large.py $checkpoint 8 --eval mAP # large version ```

👀 Visualize the predicted result.

```shell

light version

python tools/test.py /configs/depthfusion/depthfuison-light.py $checkpoint --format-only --eval-options jsonfileprefix=$savepath python tools/analysistools/vis.py $savepath/ptsbbox/resultsnusc.json

base version

python tools/test.py /configs/depthfusion/depthfuison-base.py $checkpoint --format-only --eval-options jsonfileprefix=$savepath python tools/analysistools/vis.py $savepath/ptsbbox/resultsnusc.json

large version

python tools/test.py /configs/depthfusion/depthfuison-large.py $checkpoint --format-only --eval-options jsonfileprefix=$savepath python tools/analysistools/vis.py $savepath/ptsbbox/resultsnusc.json ```

❛❛❞ Citation

bibtex @article{ji2025depthfusion, title={DepthFusion: Depth-Aware Hybrid Feature Fusion for LiDAR-Camera 3D Object Detection}, author={Mingqian Ji and Jian Yang and Shanshan Zhang}, journal={arXiv preprint arXiv:2505.07398}, year={2025}, }

❤️ Acknowledgement

We thank these great works and open-source codebases: MMDetection3D, BEVDet, CenterPoint, Lift-Splat-Shoot, Swin Transformer, BEVFusion, BEVDepth, nuScenes-C

Owner

  • Name: Doubleit
  • Login: Mingqj
  • Kind: user

GitHub Events

Total
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 2
  • Push event: 77
  • Create event: 2
Last Year
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 2
  • Push event: 77
  • Create event: 2

Dependencies

docker/Dockerfile docker
  • nvcr.io/nvidia/tensorrt 22.07-py3 build
docker/serve/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
requirements/build.txt pypi
requirements/docs.txt pypi
  • docutils ==0.16.0
  • m2r *
  • mistune ==0.8.4
  • myst-parser *
  • sphinx ==4.0.2
  • sphinx-copybutton *
  • sphinx_markdown_tables *
requirements/mminstall.txt pypi
  • mmcv-full >=1.4.8,<=1.6.0
  • mmdet >=2.24.0,<=3.0.0
  • mmsegmentation >=0.20.0,<=1.0.0
requirements/optional.txt pypi
  • open3d *
  • spconv *
  • waymo-open-dataset-tf-2-1-0 ==1.2.0
requirements/readthedocs.txt pypi
  • mmcv >=1.4.8
  • mmdet >=2.24.0
  • mmsegmentation >=0.20.1
  • torch *
  • torchvision *
requirements/runtime.txt pypi
  • distortion *
  • einops *
  • h5py *
  • imgaug *
  • lyft_dataset_sdk *
  • networkx >=2.2,<2.3
  • numba ==0.53.0
  • numpy *
  • nuscenes-devkit *
  • plyfile *
  • scikit-image *
  • tensorboard *
  • trimesh >=2.35.39,<2.35.40
requirements/tests.txt pypi
  • asynctest * test
  • codecov * test
  • flake8 * test
  • interrogate * test
  • isort * test
  • kwarray * test
  • pytest * test
  • pytest-cov * test
  • pytest-runner * test
  • ubelt * test
  • xdoctest >=0.10.0 test
  • yapf * test
requirements.txt pypi
setup.py pypi