/dsntnn

PyTorch implementation of DSNT

Primary LanguagePythonApache License 2.0Apache-2.0

⚠️ I have helped integrate DSNT into Kornia (from v0.1.4). New users are advised to use that implementation instead of this one. Existing users should note that the "normalised" coordinate system differs between the two implementations (see anibali#15).

PyTorch DSNT

This repository contains the official implementation of the differentiable spatial to numerical (DSNT) layer and related operations.

$ pip install dsntnn

Usage

Please refer to the basic usage guide.

Scripts

Running examples

$ python3 setup.py examples

HTML reports will be saved in the examples/ directory. Please note that the dsntnn package must be installed with pip install for the examples to run correctly.

Building documentation

$ mkdocs build

Running tests

Note: The dsntnn package must be installed before running tests.

$ pytest                                 # Run tests.
$ pytest --cov=dsntnn --cov-report=html  # Run tests and generate a code coverage report.

Other implementations

  • Tensorflow: ashwhall/dsnt
    • Be aware that this particular implementation represents coordinates in the (0, 1) range, as opposed to the (-1, 1) range used here and in the paper.

If you write your own implementation of DSNT, please let me know so that I can add it to the list. I would also greatly appreciate it if you could add the following notice to your implementation's README:

Code in this project implements ideas presented in the research paper "Numerical Coordinate Regression with Convolutional Neural Networks" by Nibali et al. If you use it in your own research project, please be sure to cite the original paper appropriately.

License and citation

(C) 2017 Aiden Nibali

This project is open source under the terms of the Apache License 2.0.

If you use any part of this work in a research project, please cite the following paper:

@article{nibali2018numerical,
  title={Numerical Coordinate Regression with Convolutional Neural Networks},
  author={Nibali, Aiden and He, Zhen and Morgan, Stuart and Prendergast, Luke},
  journal={arXiv preprint arXiv:1801.07372},
  year={2018}
}