Giter VIP home page Giter VIP logo

vinet's Introduction

non-official PyTorch implementation of VINet[1]

(Whole project are still under construction.)

Installation

It's recommand to use docker image to run this project. Docker image installation guide

Training

Log into container

sudo docker exec -it vinet bash
cd /notebooks/vinet

Execute main.py by

python3 main.py

Note

Network detail structure

[1] Clark, Ronald, et al. "VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem." AAAI. 2017.

vinet's People

Contributors

htlife 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vinet's Issues

Out of memory

I always met an error "out of memory",so I resized the images,but it didn't work.I ran it on RTX3060,and the
batch_size is 1,how can I solve it?

Where is 'Se3' defined?

Really appreciate for your great work.
I'm trying to run your implemenation by modifying in my own computer (not dockers),
but following error occurs:

VINet/utils/se3qua.py", line 85, in accu
M_SE3 = Se3.exp(new_se3r6)
NameError: name 'Se3' is not defined

It seems that Se3 related libraries are not separately imported. Where is it defined?
I think 'sophus' lib imports that, then that means 'SE3', not 'Se3' ?

Sincerly,
Jinwoo Jeon

Do you have IMU data in KITTI?

I'm sorry to ask you something that is not related to VINet, but I hope I can ask you about IMU data. Because My attention is the fuse of IMU and visual. But I can't download the IMU data from the KITTI. So here I ask you if you have KITTI ’s IMU data.

Google colab VINet

How to run the VINet code in Google Colab? I am facing problems in installing the sophus.py file so that I can run this in Jupyter Notebooks. Also, where do I provide the sensor data ( visual and inertial) collected from hololens in the VINet code. Please help me out

.

.

Problem during installation via docker

Hi!

During installation process i've met a problem.
Trying this
sudo nvidia-docker run --shm-size 8G --restart=always -d --name vinet -e PASSWORD='vinet' -p 192.168.0.1:8888:8888 -p 192.168.0.1:6006:6006 -p 192.168.0.1:52022:22 -v /home/daddywesker/dockerData:/notebooks/data:z jjkka132/vinet:latest /bin/sh -c "while true; do sleep 10; done"

getting:
8e8fa3686a5ce9f7efec819ed1511a86f0ba238a0a2f78575b6cb76a03ce331e
docker: Error response from daemon: driver failed programming external connectivity on endpoint vinet (541de2c471e5b0b45b7a92eb985483560bc95cc69ddd39536aefeee05493301f): Error starting userland proxy: listen tcp 192.168.0.1:8888: bind: cannot assign requested address.

Well, i've tried to avoid this by just cloning repository, installing all dependencies for project and launch "main.py". But i need saved model AND euroc_modify (tried to load euroc dataset but it doesnt have some files which your code requesting)

Can you help me with any of this?

conversion between SE(3) and se(3) (R6) is wrong somewher

The learning result did not converge and was strange, so I proceeded with data validation (about GT) and found something a bit strange.
The conversion between SE(3) and se(3) is wrong somewhere.

In the figure below, I compared original GT and reconstructed GT (SE(3) -> relative SE(3) -> R6 -> concate to SE(3)):
After arranging GT as [time, x,y,z, ww,wx,wy,wz] in custom data, I converted it to relative R6 using 'convertSampledTrajToR6.py' (some edit corrected by here), and then reconstructed using the code in 'main.py'. (concate part)
Did others have any problems?

image

Training did not converge

Recently, I tried to implement VINet[1] and open source it to GitHub HTLife/VINet

I already complete whole network structure, but the network can't converge properly in training.
How could I fix this problem?

Possible problems & solutions:

  1. The dataset is too challenging:
    I'm using the EuRoC MAV dataset, which is more challenging than the KITTI VO Dataset used by the DeepVO, Vinet(because the KITTI vehicle image does not shake up and down). NN cannot learn camera movement correctly.

  2. Loss function:
    L1 loss is been used and identical to the design in [1]. (I'm not very confident about whether I understand the loss design in [1] currently.) Related code

  3. Other hyperparameter problems


Chinese translation

VINet 實作,訓練無法收斂,我的網路設計是否有誤?
最近嘗試復現了VINet[1]並將其開源至GitHub HTLife/VINet

目前己經完整整體架構,但在訓練上一直無法正確收斂,想詢問問題出在哪?
推測可能的問題:

  1. 資料集太有挑戰性:資料集目前用的是EuRoC MAV dataset,比起DeepVO、VINet等論文使用的KITTI VO Dataset更有挑戰性(因為KITTI車載影像不太會有上下方向晃動),網路無法正確學習到相機移動

  2. Loss function:在HTLife/VINet main.py 中(https://github.com/HTLife/VINet/blob/master/main.py#L210),目前以L1Loss作為計算方式,加總[1]中提到的兩種loss,這裡我的理解可能不夠充份而實作錯誤。

  3. 其它超參數問題

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.