If you are taking this course for credit, the project will count for

**50%**of your final grade. Therefore, I advise you to start early on it. The grade will be primarily based on:

- A short (1-2) page report about your work.
- If your project is practical, please also submit the code (implementation).

**The simplest option is to take ONE of the BONUS questions from any of the practical sessions**.

If you are more ambitious, please feel free to select another more advanced projects below If you are planning to do a project, please contact me to let me know what topic you have selected. If you have your own topic in mind, please let me know.

### Group Size:

The maximum allowed group size is**2**. Of course, you are free to work alone if you prefer. Please note that for groups with 2 people, I will give the same grade to both members, so it's up to you to distribute the work evenly.

## Some Project Ideas

Name | Description |

Variational Shape Approximation | Analyze and implement the method described in the paper Variational Shape Approximation by Cohen-Steiner et al. This method tries to approximate a given shape with a small number of geometric proxies (usually ellipses). This allows to represent a shape very compacty without significant loss of quality. |

Symmetry Detection | Most of natural 2d and 3d shapes contain some kind of symmetry (reflectional, rotational, etc.). Thus, given a shape it is natural to try to discover the symmetries that it contains. There is a large number of methods that have proposed for detecting symmetries from 3d meshes. You can start by reading a recent state-of-the-art report: Symmetry in 3D Geometry: Extraction and Applications which describes the different methods for detecting symmetries. Then, you should implement and test one of the methods. For example, the methods in A Planar-Reflective Symmetry Transform for 3D Shapes or Partial and Approximate Symmetry Detection for 3D Geometry. |

Shortest paths on surfaces | A common operation in shape analysis consists of computing shortest paths between points on the 3d surface. In differential geometry, these shortest paths are called geodesics and computing them is closely related to finding shortest paths in graphs (e.g. using Dijkstra's algorithm). However, things get a bit more complex since shortest paths can cut through graphs. In this project, you should read the standard paper: Fast exact and approximate geodesics on meshes by Surazhsky et al. Then, you should implement one of the methods described in that paper (either Fast Marching or Exact geodesics) and test it on some shapes. |

Poisson Shape Reconstruction | One of the most commonly used methods for shape reconstruction from point clouds, that we also mentioned in class is Poisson Surface Reconstruction. The goal of this project is to read the paper in detail and implement it yourself (note that although publicly available code is available, I expect you to write yours independently). |

Non-rigid shape Deformation | Once you have a shape you may often want to deform it beyond rotation, translation, etc. Your goal will be to look at existing literature on non-rigid shape deformation and implement one of the methods. You can start by considering the following papers: As-Rigid-As-Possible Surface Modeling by Sorkine et al., Harmonic Coordinates for Character Articulation by Joshi et al., On linear variational surface deformation methods by Botsch et al., and Complex Barycentric Coordinates with Applications to Planar Shape Deformation. |

Non-rigid shape Matching | In class we will go in some detail into the problem of rigid shape alignment of rigid shape matching. Many shapes in real world, including humans are non-rigid. Thus, it is interesting to try to find non-rigid deformation or alignment that brings the shapes together. In this project your goal is to explore recent methods in non-rigid shape matching, starting with the A Survey on Shape Correspondence by Van Kaick et al. You can also look at the work Mobius Voting for Surface Correspondence by Lipman et al., work by Bronstein et al. and Heat-Kernel based techniques by Guibas et al. Then you should implement and test one of the methods. |

Updated 04/10/2012 by Maks Ovsjanikov.