Skip to content

Commit 8f9b97a

Browse files
committed
Added beginning of section 9.4
1 parent 49698f1 commit 8f9b97a

4 files changed

+24
-0
lines changed

bib/main.bib

+10
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,16 @@ @InProceedings{joslyn2021hypernetwork
634634
pages = {377--392},
635635
}
636636

637+
@article{KimLipmanChen2010,
638+
title = {M\"{o}bius transformations for global intrinsic symmetry analysis},
639+
author = {Kim, Vladimir G and Lipman, Yaron and Chen, Xiaobai and Funkhouser, Thomas},
640+
year = 2010,
641+
journal = {Computer Graphics Forum},
642+
volume = 29,
643+
number = 5,
644+
pages = {1689--1700}
645+
}
646+
637647
@Article{kipf2016semi,
638648
author = {Kipf, Thomas N. and Welling, Max},
639649
journal = {arXiv preprint arXiv:1609.02907},

figures/pooling_examples.pdf

259 KB
Binary file not shown.

figures/pooling_examples.png

404 KB
Loading

rmd/09-implementation-and-numerical-experiments.rmd

+14
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,20 @@ knitr::kable(domains, align=c('l', 'c', 'c', 'c', 'c'), booktabs=TRUE, caption="
105105

106106
## Pooling with mapper on graphs and data classification
107107

108+
We perform experiments to measure the effectiveness of the MOG pooling strategy discussed in Section \@ref(mapper-and-the-cc-pooling-operation). Recall that the MOG algorithm requires two pieces of input: the 1-skeleton of a CC $\mathcal{X}$, and a scalar function on the vertices of $\mathcal{X}$. Our choice for the input scalar function is the average geodesic distance (AGD) [@KimLipmanChen2010], which is suitable for shape detection as it is invariant to reflection and rotation. For two entities $u$ and $v$ on a graph, the geodesic distance between $u$ and $v$, denoted by $d(v,u)$, is computed using Dijkstra's shortest path algorithm. The AGD is given by the following equation:
109+
\begin{equation}
110+
AGD(v)=\frac{1}{|V|}\sum_{u\in V}d(v,u).
111+
(\#eq:agd)
112+
\end{equation}
113+
114+
From Equation \@ref(eq:agd), it is immediate that the vertices near the center of the graph are likely to have low function values, while points on the periphery are likely to have high values. This observation has been utilized to study graph symmetry [@KimLipmanChen2010], and it provides a justification for selecting the AGD for the MOG pooling strategy. Figure \@ref(fig:pooling-examples) presents a few examples of applying the MOG pooling strategy using AGD on the SHREC11 dataset.
115+
116+
```{r pooling-examples, echo=FALSE, fig.align="center", fig.cap="Examples of applying the MOG algorithm on the SHREC11 dataset [@lian2011shape]. In each figure, we show the original mesh graph on the left and the mapper graph on the right. The scalar function chosen for the MOG algorithm is the average geodesic distance (AGD). We observe that the pooled mapper graph has similar overall shape to the original graphs."}
117+
knitr::include_graphics('figures/pooling_examples.png', dpi=NA)
118+
```
119+
120+
In order to demonstrate the effectiveness of our MOG pooling approach, we conduct three experiments on the SHREC11 dataset: mesh classification based on CC-pooling with input vertex and edge features (Section \@ref(mesh-classification-cc-pooling-with-input-vertex-and-edge-features)), mesh classification based on CC-pooling with input vertex features only (Section \@ref(mesh-classification-cc-pooling-with-input-vertex-features-only)), and point cloud classification based on CC-pooling with input vertex features only (Section \@ref(point-cloud-classification-cc-pooling-with-input-vertex-features-only)). The experiments in Sections \@ref(mesh-classification-cc-pooling-with-input-vertex-and-edge-features) and \@ref(mesh-classification-cc-pooling-with-input-vertex-features-only) utilize the mesh structure in the SHREC11 dataset, whereas the experiment in Section \@ref(point-cloud-classification-cc-pooling-with-input-vertex-features-only) utilizes its own point cloud version. In particular, we choose two simple CCNN architectures shown in Figure \@ref(fig:mesh-net)(d), denoted by $\mbox{CCNN}_{MOG1}$ and $\mbox{CCNN}_{MOG2}$, as opposed to the more complicated architecture of $\mbox{CCNN}_{SHREC}$ in Figure \@ref(fig:mesh-net)(b). The main difference between $\mbox{CCNN}_{MOG1}$ and $\mbox{CCNN}_{MOG2}$ is the choice of the input feature vectors as described next.
121+
108122
### Mesh classification: CC-pooling with input vertex and edge features
109123

110124
### Mesh classification: CC-pooling with input vertex features only

0 commit comments

Comments
 (0)