Giter Site home page Giter Site logo

collector-m / apro3d-net Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quan-dao/apro3d-net

0.0 0.0 0.0 4.71 MB

APRO3D-Net: Attention-based Proposals Refinement for 3D Object Detection

License: Apache License 2.0

Python 83.07% C++ 6.05% Cuda 10.28% C 0.41% Shell 0.19%

apro3d-net's Introduction

APRO3D-Net: Attention-based Proposals Refinement for 3D Object Detection

This implementation of APRO3D-Net is based on OpenPCDet. Our paper can be found here.

The overall architecture of APRO3D-Net. The voxelized point cloud is fed to a 3D backbone for feature extraction. The backbone’s output is then converted to a BEV representation on which an RPN is applied to generate ROI. Several ROI Feature Encoders (RFE) transform feature maps produced by backbone into ROI features by: first pooling from inputted feature maps, then encoding pooled points position, finally refining previous ROI feature using pooled features and their position encoding via Attention Module. Refined ROI feature is mapped to confidence and refinement vector by two MLP-based detection heads. Here, blue cuboids and green parallelogram respectively denote feature maps computed by 3D and 2D convolution.

Performance on KITTI val set

AP@R11 AP@R40 Download
Car Pedestrian Cyclist Car Pedestrian Cyclist
APRO3D-Net (kitti) 83.51 57.45 72.97 84.84 57.00 73.35 kitti-model

Performance on NuScenes val set

Car Ped Bus Barrier Traf. Cone Truck Trailer Motor Cons. Veh. Bicycle mAP Download
APRO3D-Net (nuscenes) 77.75 74.02 64.86 52.61 46.34 43.99 34.90 39.36 13.44 23.00 47.03 nuscenes-model

Installation

To use this repo, please follow OpenPCDet's intruction for preparing datasets and installation.

Demo

Demo requires open3d

pip install open3d

KITTI Dataset

To visualize prediction for KITTI Dataset,

  • Download the trained model
  • Execute the following command in the tools directory
python visualize_kitti.py --cfg_file cfgs/kitti_models/swh_kitti.yaml \
       --ckpt_file <path_to_directory_containing_ckpt>/roi100_checkpoint_epoch_91.pth --log_file_dir .

Example results

NuScenes Dataset

To visualize prediction for NuScenes Dataset

  • Download the prediction file generated for mini split or test split
  • If the test split is chosen, remember of generate NuScenes database with test split enabled by setting the following fields in nuscenes_dataset.yaml
VERSION: 'v1.0-test'
DATA_SPLIT: {
    'train': train,
    'test': test
}
INFO_PATH: {
    'train': [nuscenes_infos_10sweeps_train.pkl],
    'test': [nuscenes_infos_10sweeps_test.pkl],
}
  • Execute the following command in the tools directory
python visualize_nuscenes.py --split mini \
        --result_file <path_to_directory_containing_prediction>/results_nusc_swh_second_rfe_mini.json \
        --scene_idx 0 --render_cam_back --render_point_cloud

Example results

Test

To test pretrained model, execute the following command in the tools directory

python test.py --cfg_file ${CONFIG_FILE} --ckpt ${CKPT}

# e.g., 
python test.py --cfg_file tools/cfgs/kitti_models/swh_kitti.yaml \
        --ckpt <path_to_directory_containing_ckpt>/roi100_checkpoint_epoch_91.pth

apro3d-net's People

Contributors

sshaoshuai avatar jihanyang avatar gus-guo avatar acivgin1 avatar djiajunustc avatar quan-dao avatar martinhahner avatar chreisinger avatar starrah avatar xiazhongyv avatar shijianjian avatar ltphy avatar lea-v avatar dk-liang avatar xaviersantos avatar lookquad avatar nopileos2 avatar lynnpepin avatar dingry avatar codyreading avatar ouyangjunyuan avatar artificialcleverness avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.