• Stars
    star
    313
  • Rank 133,714 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A pytorch implementation of "D4LCN: Learning Depth-Guided Convolutions for Monocular 3D Object Detection" CVPR 2020

D4LCN: Learning Depth-Guided Convolutions for Monocular 3D Object Detection (CVPR 2020)

Mingyu Ding, Yuqi Huo, Hongwei Yi, Zhe Wang, Jianping Shi, Zhiwu Lu, Ping Luo

image

Introduction

Our framework is implemented and tested with Ubuntu 16.04, CUDA 8.0/9.0, Python 3, Pytorch 0.4/1.0/1.1, NVIDIA Tesla V100/TITANX GPU.

If you find our work useful in your research please consider citing our paper:

@inproceedings{ding2020learning,
  title={Learning Depth-Guided Convolutions for Monocular 3D Object Detection},
  author={Ding, Mingyu and Huo, Yuqi and Yi, Hongwei and Wang, Zhe and Shi, Jianping and Lu, Zhiwu and Luo, Ping},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={11672--11681},
  year={2020}
}

Requirements

  • Cuda & Cudnn & Python & Pytorch

    This project is tested with CUDA 8.0/9.0, Python 3, Pytorch 0.4/1.0/1.1, NVIDIA Tesla V100/TITANX GPU. And almost all the packages we use are covered by Anaconda.

    Please install proper CUDA and CUDNN version, and then install Anaconda3 and Pytorch.

  • My settings

    source ~/anaconda3/bin/activate (python 3.6.5)
      (base)  pip list
      torch                              1.1.0
      torchfile                          0.1.0
      torchvision                        0.3.0
      numpy                              1.14.3
      numpydoc                           0.8.0
      numba                              0.38.0
      visdom                             0.1.8.9
      opencv-python                      4.1.0.25
      easydict                           1.9
      Shapely                            1.6.4.post2

Data preparation

Download and unzip the full KITTI detection dataset to the folder /path/to/kitti/. Then place a softlink (or the actual data) in data/kitti/. There are two widely used training/validation set splits for the KITTI dataset. Here we only show the setting of split1, you can set split2 accordingly.

cd D4LCN
ln -s /path/to/kitti data/kitti
ln -s /path/to/kitti/testing data/kitti_split1/testing

Our method uses DORN (or other monocular depth models) to extract depth maps for all images. You can download and unzip the depth maps extracted by DORN here and put them (or softlink) to the folder data/kitti/depth_2/. (You can also change the path in the scripts setup_depth.py)

Then use the following scripts to extract the data splits, which use softlinks to the above directory for efficient storage.

python data/kitti_split1/setup_split.py
python data/kitti_split1/setup_depth.py

Next, build the KITTI devkit eval for split1.

sh data/kitti_split1/devkit/cpp/build.sh

Lastly, build the nms modules

cd lib/nms
make

Training

We use visdom for visualization and graphs. Optionally, start the server by command line

sh visdom.sh

The port can be customized in config files. The training monitor can be viewed at http://localhost:9891.

You can change the batch_size according to the number of GPUs, default: 4 GPUs with batch_size = 8.

If you want to utilize the resnet backbone pre-trained on the COCO dataset, it can be downloaded from git or Google Drive, default: ImageNet pretrained pytorch model. You can also set use_corner and corner_in_3d to False for quick training.

See the configurations in scripts/config/depth_guided_config and scripts/train.py for details.

sh train.sh

Testing

We provide the weights, model and config file on the val1 data split available to download.

Testing requires paths to the configuration file and model weights, exposed variables near the top scripts/test.py. To test a configuration and model, simply update the variables and run the test file as below.

sh test.sh

Acknowledgements

We thank Garrick Brazil for his great works and repos.

Contact

For questions regarding D4LCN, feel free to post here or directly contact the authors ([email protected]).

More Repositories

1

davit

[ECCV 2022]Code for paper "DaViT: Dual Attention Vision Transformer"
Python
323
star
2

weibo_analysis

The python crawler which automatically crawls the original microblogs and pictures of the specified user, analyzes the microblogs, and displays them in the form of html charts.
HTML
145
star
3

HR-NAS

HR-NAS: Searching Efficient High-Resolution Neural Architectures with Lightweight Transformers (CVPR21 Oral)
Python
138
star
4

DAPN

A pytorch implementation of "Domain-Adaptive Few-Shot Learning"
Python
136
star
5

Pytorch-Topology-Aware-Delineation

A pytorch implementation of "Beyond the Pixel-Wise Loss for Topology-Aware Delineation"
Python
46
star
6

VRDP

[NeurIPS 2021] Dynamic Visual Reasoning by Learning Differentiable Physics Models from Video and Language
Python
45
star
7

NCP

Learning Versatile Neural Architectures by Propagating Network Codes
Python
38
star
8

DependencyViT

Visual Dependency Transformers: Dependency Tree Emerges from Reversed Attention (CVPR 2023)
32
star
9

CamNet

A pytorch implementation of "CamNet: Coarse-to-Fine Retrieval for Camera Re-Localization, ICCV 2019"
Python
29
star
10

CV_paper

26
star
11

Pytorch-Instance-Lane-Segmentation

A pytorch implementation of "Towards End-to-End Lane Detection: an Instance Segmentation Approach"
Python
22
star
12

ECL

Embodied Concept Learner: Self-supervised Learning of Concepts and Mapping through Instruction Following (CoRL 2022)
11
star
13

DIPL

Domain-Invariant Projection Learning for Zero-Shot Recognition
MATLAB
7
star
14

Pytorch-Image-Retrieval

A pytorch implementation of "Deep Learning of Binary Hash Codes for Fast Image Retrieval, CVPRW 2015"
Python
6
star
15

thinning_Zhan-Suen

a fast parallel algorithm for thinning digital patterns implemented in python
Python
6
star
16

Doubly-Robust-Self-Training

Python
6
star
17

caffe2pytorch2caffe

lane_segmentation, convert caffemodel to pytorch and reverse
Python
2
star
18

ECCV_youtube-vos_workshop_5st

Python
1
star
19

weight_predict

ζ–°η”Ÿε„Ώδ½“ι‡ι’„ζ΅‹
Python
1
star
20

ECCV_autonue_workshop_2rd

Python
1
star