Coder Social home page Coder Social logo

densematchingbenchmark_acfnet's Introduction

DenseMatchingBenchmark

This project aims at providing the necessary building blocks for easily creating dense matching models, e.g. Stereo Matching, Scene Flow using PyTorch 1.2 or higher.

Introduction

Our architecture is based on two wellknown detection framework: mmdetection and maskrcnn-benchmark. By integating their major features, our architecture is suitable for dense matching, and achieves robust performance!

Major features

  • Modular Design

    We decompose the matching framework into different components and one can easily construct a customized matching framework by combining different modules.

  • Support of multiple frameworks out of box

    The toolbox directly supports popular and contemporary matching frameworks, e.g. AcfNet, GANet, GwcNet, PSMNet, GC-Net etc.

  • visualization

    The toolbox provides various visualization, e.g., cost volume / distribution visualization, colorful disparity map and so on.

  • State of the art

    The toolbox stems from the codebase developed by AcfNet team who ranked 1st at KITTI 2012 and 3rd at KITTI 2015 in 2019, and we keep pushing it forward.

Highlights

  • Multi-GPU training and inference
  • Mixed precision training: trains faster with less GPU memory on NVIDIA tensor cores.
  • Batched inference: can perform inference using multiple images per batch per GPU

Installation

Please refer to INSTALL.md for installation and dataset preparation.

Get Started

Please see GETTING_STARTED.md for the basic usage of DenseMatchingBenchmark.

TODO

  • inference
  • visulization tool(for cost volume)
  • unsupervised mono-depth
  • unsupervised stereo

Experiment Results

All our reimplemented methods will provide checkpoint(including all training details, e.g., TensorBoard Record) in corresponding config file ResultOf{ModelName}

(x): means the result in original paper

Model FLOPS Parameters FPS Time(ms) SceneFlow (EPE) KITTI 2012 KITTI 2015 (D1-all)
PSMNet 938.186G 5.225M 1.67 599.2 1.112 (1.090) 2.33 (2.32)
AcfNet 1239.0G 5.559M 1.38 723.1 0.853 (0.867)
StereoNet-8x-single 78.512G 399.066K 19.17 52.2 1.533 (1.525)
DeepPruner
AnyNet 1.476G 46.987K 3.190 (~3.2)

Changelog

Update Time: 24/04/2020

  1. Integrate Optical Flow task into our architecture
  2. Inference a model is avaliable
  3. Unify the format of module's name

Contributing

We appreciate all contributions to improve DenseMatchingBenchmark. Please refer to CONTRIBUTING.md for the contributing guideline.

Acknowledgement

DenseMatchingBenchmark is an open source project that is contributed by researchers and engineers from various colledges and companies. We appreciate all the contributors who implement their methods or add new features, as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new matching algorithm.

Citation

If you use this toolbox or benchmark in your research, please cite this project.

    @article{zhang2020adaptive,
      title={Adaptive Unimodal Cost Volume Filtering for Deep Stereo Matching},
      author={Zhang, Youmin and Chen, Yimin and Bai, Xiao and Yu, Suihanjin and Yu, Kun and Li, Zhiwei and Yang, Kuiyuan},
      journal={AAAI},
      year={2020}
    }

Contact

This repo is currently maintained by Youmin Zhang(@youmi-zym) and Yimin Chen (@Minwell-dht)

License

DenseMatchingBenchmark is released under the MIT license. See LICENSE for additional details.

densematchingbenchmark_acfnet's People

Contributors

youmi-zym avatar

Watchers

 avatar

Forkers

sg47

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.