Giter Site home page Giter Site logo

visodopcnn's Introduction

Monocular Odometry using Optical flow and Deep Neural Networks

This project focuses on training and testing end to end Monocular visual odometry models using deep learning techniques. Visual odometry is a key component in robotics and autonomous systems, enabling the estimation of a camera or robot's motion and position based on visual input.

Overview

  • The code uses deep convolutional neural networks (CNNs) and GPUs for optical flow estimation.
  • The code leverages PTLFLow library to utilize the flow models
  • Several models, such as Pcnn, Pcnn1, and Pcnn2, are available for testing and training.
  • Training data is typically sourced from datasets like KITTI odometry and MPI-Sintel.
  • The code includes both training and testing modes to help develop and evaluate visual odometry models.

Requirements

  • Python 3.x
  • PyTorch
  • PIL (Python Imaging Library)
  • tqdm
  • Matplotlib
  • NumPy
  • PTLflow library

Getting Started

  1. Clone the repository.

  2. Ensure you have the required libraries installed.

    pip install -r requirements.txt
    

Download KITTI datahere

Download the KITTI images and only the right camera color images (image_02 folder) are required

the downloaded images will be placed at dataset/sequences/images_2/00/, dataset/images_2/01, ...

the images offered by KITTI is already rectified

Download the ground truth pose from KITTI Visual Odometry

you need to enter your email to request the pose data here

and place the ground truth pose at dataset/poses/

Downloand ptlflow fromhere

and export the path so that the flow models cna be accessed directly

```bash
export PYTHON_PACKAGE_PATH="/path/to/ptlflow/ptlflow"

The models can be run directly on Kitti dataset using optical flow models as ptllflow models

```bash
python flow_train.py --model Pcnn --mode train --datapath /path/to/your/dataset --bsize 8 --lr 0.0001 --train_iter 200  --checkpoint_path /path/to/checkpoints --save_res /path/to/results

python flow_train.py --model Pcnn --mode test --datapath /path/to/your/dataset --seq 00 --checkpoint_load /path/to/checkpoint/model.pth --save_res /path/to/results

BibTex

@misc{morimitsu2021ptlflow, author = {Henrique Morimitsu}, title = {PyTorch Lightning Optical Flow}, year = {2021}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {\url{https://github.com/hmorimitsu/ptlflow}} }

visodopcnn's People

Contributors

gowthaminti avatar

Watchers

 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.