[Project] [Arxiv]
ALIGNet is a network trained to register pairs of shapes using a learned data-driven prior, and doesn't need ground-truth warp fields for supervision.
If I asked you to deform the blue "H" to the the orange "H", you will be able to perform the deformation even where the "H" has a missing piece due to your prior knowledge about the letter H
ALIGNet learns a data-driven prior which guides the alignment both in the missing and complete regions of the shape. Some results:
where the pink region is a visualization of the missing piece in the target shape. The estimated alignments are oblivious to missing pieces in the partial shape.
The code was written by Rana Hanocka with support from Noa Fish and Zhenhua Wang.
This repo is still under active development
- Linux (tested on Ubuntu 16.04, 14.04 and Linux Mint)
- NVIDIA GPU + CUDA (tested on cuda8 and cuda7.5) should also work on CPU
- Clone this repo:
git clone https://github.com/ranahanocka/ALIGNet.git
cd ALIGNet
sudo ls
chmod +x install.sh
./install.sh
- download the data
chmod +x download_data.sh
./download_data.sh
- run training
th main.lua -data /path/to/data
If you find this code useful, please consider citing our paper
@article{hanocka2018alignet,
author = {Hanocka, Rana and Fish, Noa and Wang, Zhenhua and Giryes, Raja and Fleishman, Shachar and Cohen-Or, Daniel},
title = {ALIGNet: Partial-Shape Agnostic Alignment via Unsupervised Learning},
journal = {ACM Trans. Graph.},
year = {2018}}
Contributions to this repository are very welcome. Open an issue if you: have problems running the code, want to suggest improvements, or want to submit a pull request.
The code design and multithreading data loading capabilities used in this code were adopted from imagenet-multiGPU.torch.