GithubHelp home page GithubHelp logo

mosamdabhi / mbw Goto Github PK

View Code? Open in Web Editor NEW
26.0 4.0 1.0 7.92 MB

This work generates 2D and 3D landmark labels from videos with only two or three uncalibrated, handheld cameras moving in the wild. NeurIPS 2022.

Home Page: https://multiview-bootstrapping-in-wild.github.io

License: BSD 3-Clause "New" or "Revised" License

Python 5.20% CSS 0.01% HTML 0.03% Shell 0.62% Jupyter Notebook 89.19% Makefile 0.01% Cython 0.06% Cuda 4.89% C++ 0.01%
auto-labeling keypoints-detector multi-view-geometry semi-supervised

mbw's Introduction

MBW: Multiview Bootstrapping in the Wild (NeurIPS 2022)

Multiview Bootstrapping in the Wild (MBW) provides a powerful way of generating labeled data in the wild at scale. Thereby, it democratizes the domain of data collection to a plethora of machine learning-driven computer vision applications via its novel self-supervision technique.

 

Requirements (if using GPU)

  • Tested in Pytorch 1.11, with CUDA 11.3

 

Setup

  1. Create a conda environment and activate it.
    conda env create -f environment_<cpu/gpu>.yml (change the flag within <> based on the available system)
    conda activate mbw
    pip install opencv-python
    
  2. Please do a clean install of the submodule robust_loss_pytorch:
    cd modules/helpers/robust_loss_pytorch
    pip install git+https://github.com/jonbarron/robust_loss_pytorch
    
  3. Please do a clean install of the submodule torch_batch_svd: (if using GPU)
    cd modules/helpers/torch-batch-svd
    export CUDA_HOME=/your/cuda/home/directory/    
    python setup.py install
    

 

Data & Pre-trained models

  1. Fetch the pre-trained flow and detector models from Zenodo using:

    zenodo_get 10.5281/zenodo.7054596
    unzip models.zip
    rm -rf models.zip && rm -rf md5sums.txt
    
  2. Download the data from DOI and unzip it in the data directory.

    zenodo_get 10.5281/zenodo.7058567
    unzip data.zip
    rm -rf data.zip && rm -rf md5sums.txt
    

    The final directory after retrieving pre-trained models and sample data should look like this:

    ${mbw}
     `-- data
         `-- Chimpanzee
             |-- annot/
             |-- images/
         
     `-- models
         |-- detector/
         |-- flow/
         |-- mvnrsfm/
    

 

Run unit tests

./scripts/unit_tests.sh

Training (Generate labels from MBW)

./scripts/train.sh

Evaluation and visualization

./scripts/eval.sh
./scripts/visualize.sh    

Demo (Jupyter notebook examples)

Please run demo.ipynb to play around and see visualizations of labels in the provided Jupyter notebook. We provide tools to visualize the 2D predictions (along with a confidence flag of Accept or Reject). The reconstructed 3D could also be visualized via an interactive plotly visualization tool.

Citation

If you use our code, dataset, or models in your research, please cite with:


@inproceedings{dabhi2022mbw,
	title={MBW: Multi-view Bootstrapping in the Wild},
	author={Dabhi, Mosam and Wang, Chaoyang and Clifford, Tim and Jeni, Laszlo and Fasel, Ian and Lucey, Simon},
	booktitle={Thirty-sixth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
	year={2022},
	ee = {https://openreview.net/forum?id=i1bFPSw42W0},
	organization={NeurIPS}
}


@inproceedings{dabhi2021mvnrsfm,
	title={High Fidelity 3D Reconstructions with Limited Physical Views},
	author={Dabhi, Mosam and Wang, Chaoyang and Saluja, Kunal and Jeni, Laszlo and Fasel, Ian and Lucey, Simon},
	booktitle={2021 International Conference on 3D Vision (3DV)},
	year={2021},
	ee = {https://ieeexplore.ieee.org/abstract/document/9665845},
	organization={IEEE}
}

mbw's People

Contributors

mosamdabhi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

alenaliu

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.