Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
MathGaron committed Dec 12, 2017
0 parents commit 5ae0e28
Show file tree
Hide file tree
Showing 75 changed files with 5,871 additions and 0 deletions.
93 changes: 93 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
tests/*
.idea/*
*nogit*

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject
14 changes: 14 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
License for Non-Commercial Use

If this software is redistributed, this license must be included. The term
software includes any source files, documentation, executables, models,
and data.

This software is available for general use by academic or non-profit, or
government-sponsored researchers. It may also be used for evaluation
purposes elsewhere. This license does not grant the right to use this
software or any derivation of it in a for-profit enterprise. For commercial
use, please contact the Tech Transfer Office at Université Laval.

This software comes with no warranty or guarantee of any kind. By using
this software, the user accepts full liability.
86 changes: 86 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# deeptracking

Torch + python implementation of [Deep 6-DOF Tracking](https://arxiv.org/abs/1703.09771)

Note that a docker file is available

The code to parse a ply file is not provided, this framework needs an implementation of [plyparser.py](https://github.com/lvsn/deeptracking/blob/develop/deeptracking/utils/plyparser.py)


TODO: update with the more recent pytorch framework...

The datasets and 3D models from the paper can be found [Here](http://vision.gel.ulaval.ca/~jflalonde/projects/deepTracking/index.html).


## Generating data
### Generating synthetic data
Run:
```bash
python generate_synthetic_data.py config_file.json
```

#### dependencies
- cv2
- tqdm
- pyOpenGL
- glfw
- numpngw

#### configuration
see this [example file](https://github.com/lvsn/deeptracking/blob/develop/configs/generate_synthetic_example.json)

### Generating real data
Run:
```bash
python generate_real_data.py config_file.json
```

#### dependencies
- cv2
- tqdm
- pyOpenGL
- glfw
- numpngw

#### configuration
see this [example file](https://github.com/lvsn/deeptracking/blob/develop/configs/generate_real_example.json)

## Train
Run:
```bash
python train.py config_file.json
```

#### dependencies
- Hugh Perkins's [pytorch](https://github.com/hughperkins/pytorch)
- scipy, skimage, numpy
- tqdm
- numpngw
- slackclient (could be removed)

#### configuration
see this [example file](https://github.com/lvsn/deeptracking/blob/develop/configs/train_example.json)

## Test
#### Sensor
Will run the tracker with a sensor (kinect 2)
```bash
python test_sensor.py config_file.json
```

#### Sequence
Will run the tracker on a sequence (folder) and save the error in a file
```bash
python test_sequence.py config_file.json
```

#### dependencies
- cv2
- Hugh Perkins's [pytorch](https://github.com/hughperkins/pytorch)
- pyOpenGL
- glfw
- numpngw
- [pyfreenect2](https://github.com/MathGaron/py3freenect2) (for Kinect2 sensor)

#### configuration
see this [example file](https://github.com/lvsn/deeptracking/blob/develop/configs/test_example.json)
Loading

0 comments on commit 5ae0e28

Please sign in to comment.