# leoshine/Spherical_Regression

PyTorch implementation of cvpr2019 paper "Spherical Regression: Learning Viewpoints, Surface Normals and 3D Rotations on n-Spheres".
Latest commit a224ece Apr 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
S3.3D_Rotation Apr 15, 2019
pylibs Apr 11, 2019
code_logic.md Apr 15, 2019
requirements.txt Apr 11, 2019

# Spherical_Regression

This code contains 3 parts:

• Viewpoint Estimation: S1.Viewpoint [*]
• Surface Normal Estimation: S2.Surface_Normal [*]
• 3D rotation estimation : S3.3D_Rotation

[*] To be cleaned up and released soon

You can find paper here.

## What is Spherical regression?

Many computer vision problems can be converted into a $n$-sphere problem. $n$-spheres are naturally closed geometric manifolds defined in the $\mathbb{R}^{(n+1)}$ space. Examples are a) viewpoint estimation, b) surface normal estimation, and c) 3D rotation estimation. This work proposes a general regression framework that can be applied on all these $n$-sphere problems.

## Why use our $S_{exp}$ regression?

Variance of the average gradient norm $||\frac{\partial \mathcal L}{\partial \boldsymbol{O}}||$. Spherical exponentiation $\mathcal{S}_{exp}$ yields lower variance on mini-batch over entire train progress and thus leads to a better performance.

• (I) Direct regression with smooth-L1 loss. It may cause the output to no longer follow unit $\ell_2$ norm.
• (II) Regression with $\ell_2$ normalization $\mathcal{S}_{flat}$.
• (III) Regression with $\mathcal{S}_{exp}$ (this paper).

## Dataset:

ModelNet10-SO3

#### Example of uniformly sampled on SO3 (20 Views).

• In lmdb format, and to be read by pylibs/lmdb_util/imagedata_lmdb.py

#### Visualize the dataset.

# Example
python pylibs/lmdb_util/imagedata_lmdb.py  path/to/ModelNet10-SO3/test_20V.Rawjpg.lmdb


### TODO

• Upload the caffe imagenet pretrain weights: "pylibs/pytorch_util/libtrain/init_torch.py", there's caffe_models.

## Citation

@INPROCEEDINGS{LiaoCVPR19,
author = {Shuai Liao and Efstratios Gavves and Cees G. M. Snoek},
title = {Spherical Regression: Learning Viewpoints, Surface Normals and 3D Rotations on n-Spheres},
booktitle = {Proceedings of the {IEEE} Conference on Computer Vision and Pattern Recognition},
month = {June},
year = {2019},