Zernets

Ethan Rooke

May 8, 2019

This Talk

http://corvid.ae/talks/20190508

Collaborators

  • Stephen Baek
  • Zhiyu Sun

The Source

What are Convolutional neural networks?

At a very high level:

  • Feature extraction
  • Pattern recognition

Mnist

Image Net

Yolo

Sometimes

How?

Convolution Layer

How we find features

Each Layer has multiple features

And then we stack layers

Convolution (again)

This time with symbols

This Operation

(f\star g)(x) = \int f(x)g(x-t)\,dt

Manifolds

Why isn’t this trivial?

No Grid

Holonomy is annoying

Bulges are a thing

Here comes the math

And wikipedia images

The objects

Our “image” f : \mathcal{M} \to \mathbb{R}

Our “filter” g : T_x\mathcal{M} \to \mathbb{R}

Moving the filter

We let \gamma be a path from x to x_0

g_\gamma = g \circ \Gamma_\gamma

Lifting the image

\exp_x^{-1} : T_x\mathcal{M} \to \mathcal{M}

f_x = f \circ \exp_x^{-1}

Possibly convolution?

(f\star g)(x) = \max_{\gamma}\left(\int_{T_x\mathcal{M}}f_x(v)g_\gamma(v)\,dA \right)

Can you compute this?

Enter Zernike Polynomials

{Z}_n^{m}(r,\theta) = {R}_n^{m}(r) \cos(m \theta) {Z}_n^{-m}(r,\theta) = {R}_n^{m}(r) \sin(m \theta)

R_n^{m}(r) = \begin{cases} {\sum}_{k=0}^{\frac{n-m}{2}} {\frac{(-1)^{k}(n-k)!}{k!(\frac{n+m}{2}-k))!(\frac{n-m}{2}-k)!}r^{n-2k}}, & \text{if } n-m \text{ even}\\ \\ 0, & \text{otherwise} \end{cases}

All that matters

f(r,\theta) = \sum_{i=1}^\infty\alpha_i Z_i(r,\theta)

f(r,\theta + \Delta\theta) = \sum_{i=1}^{\infty}\tilde{ \alpha }_i Z_i(r\theta)

Where

\begin{bmatrix} \tilde{\alpha}_{n}^{m} \\ \tilde{\alpha}_{n}^{-m} \end{bmatrix} = \begin{bmatrix} cos(m\Delta\theta) & sin(m\Delta\theta)\\ -sin(m\Delta\theta) & cos(m\Delta\theta) \end{bmatrix} \begin{bmatrix} \alpha_{n}^{m} \\ \alpha_{n}^{-m} \end{bmatrix}

Now what?

Decompose our functions f_x and g into Zernike bases

f_x(r,\theta) = \sum \alpha_iZ_i(r,\theta) \quad g(r,\theta) = \sum \beta_iZ_i(r,\theta)

Then our possible convolution can be rewritten (f\star g)(x) = \max_{\Delta\theta}\left(\iint_{r,\theta}f_x(r,\theta)g(r,\theta+\Delta\theta)r\,dr\,d\theta \right)

Then our possible convolution can be rewritten (f\star g)(x) = \max_{\Delta\theta}\left(\iint_{r,\theta}f_x(r,\theta)g(r,\theta+\Delta\theta)r\,dr\,d\theta \right)

(f\star g)(x) = \max_{\Delta\theta}\left(\sum_{i,j}^\infty \alpha_i\tilde{\beta_j}(\Delta\theta)\right)

Final Steps

Thank you