grigorisg9gr / polynomial_nets

Official Implementation of the CVPR'20 paper 'Π-nets: Deep Polynomial Neural Networks' and its T-PAMI-21 extension.
Other
163 stars 30 forks source link
deep-learning deep-neural-networks face-verification image-classification image-generation mesh-representation-learning pi-nets polynomial-neural-networks

======================================= Π-nets: Deep Polynomial Neural Networks

.. image:: https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg :target: https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg :alt: License

.. image:: https://img.shields.io/badge/Preprint-ArXiv-blue.svg :target: https://arxiv.org/abs/2006.13026 :alt: ArXiv

.. image:: https://img.shields.io/badge/BlogPost-site-red.svg :target: https://grigorisg9gr.github.io/polynomial-nets/ :alt: Blogpost

Official implementation of several experiments in the paper "**Π-nets: Deep Polynomial Neural Networks**" <https://openaccess.thecvf.com/content_CVPR_2020/papers/Chrysos_P-nets_Deep_Polynomial_Neural_Networks_CVPR_2020_paper.pdf> (CVPR'20) and its extension <https://ieeexplore.ieee.org/document/9353253> (T-PAMI'21; also available here <https://arxiv.org/abs/2006.13026>_ ).

Each folder contains a different experiment. Please follow the instructions in the respective folder on how to run the experiments and reproduce the results. This repository <https://github.com/grigorisg9gr/polynomial_nets> contains implementations in MXNet <https://mxnet.apache.org/>, PyTorch <https://pytorch.org/> and Chainer <https://chainer.org/>.

Browsing the experiments

The folder structure is the following:

More information on Π-nets

A one-minute pitch of the paper is uploaded here <https://www.youtube.com/watch?v=5HmFSoU2cOw>_. We describe there what generation results can be obtained even without activation functions between the layers of the generator.

Π-nets do not rely on a single architecture, but enable diverse architectures to be built; the architecture is defined by the form of the resursive formula that constructs it. For instance, we visualize below two different Π-net architectures.

.. image:: figures/modelintro.png :width: 200 :alt: Different architectures enables by Π-nets.

Results

The evaluation in the paper [1]_ suggests that Π-nets can improve state-of-the-art methods. Below, we visualize results in image generation and errors in mesh representation learning.

.. image:: figures/prodpoly_generation_ffhq.png :width: 400 :alt: Generation results by Π-nets when trained on FFHQ.

The image above shows synthesizes faces. The generator is a Π-net, and more specifically a product of polynomials.

.. image:: figures/dfaust.png :width: 400 :alt: Per vertex reconstruction error on an exemplary human body mesh.

Color coded results of the per vertex reconstruction error on an exemplary human body mesh. From left to right: ground truth mesh, first order SpiralGNN, second, third and fourth order base polynomial in Π-nets. Dark colors depict a larger error; notice that the (upper and lower) limbs have larger error with first order SpiralGNN.

Citing

If you use this code, please cite [1] or (and) [2]:

BibTeX::

@inproceedings{ poly2020, title={$\Pi-$nets: Deep Polynomial Neural Networks}, author={Chrysos, Grigorios and Moschoglou, Stylianos and Bouritsas, Giorgos and Panagakis, Yannis and Deng, Jiankang and Zafeiriou, Stefanos}, booktitle={Conference on Computer Vision and Pattern Recognition (CVPR)}, pages={7325--7335}, year={2020} }

BibTeX::

@article{poly2021, author={Chrysos, Grigorios and Moschoglou, Stylianos and Bouritsas, Giorgos and Deng, Jiankang and Panagakis, Yannis and Zafeiriou, Stefanos}, journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, title={Deep Polynomial Neural Networks}, volume={44}, number={8}, pages={4021--4034}, year={2021}, doi={10.1109/TPAMI.2021.3058891}}

References

.. [1] Grigorios G. Chrysos, Stylianos Moschoglou, Giorgos Bouritsas, Yannis Panagakis, Jiankang Deng and Stefanos Zafeiriou, Π-nets: Deep Polynomial Neural Networks, Conference on Computer Vision and Pattern Recognition (CVPR), 2020.

.. [2] Grigorios G. Chrysos, Stylianos Moschoglou, Giorgos Bouritsas, Jiankang Deng, Yannis Panagakis and Stefanos Zafeiriou, Deep Polynomial Neural Networks, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021.