## Description

1. (60 marks) Shape Analysis on Simulated Shapes (in 2D).

Get the dataset of shapes from “ellipses2D.mat” that contains 2D elliptical shapes represented

as pointsets.

Implement an algorithm (covered in class lectures) for computing the shape mean and the principal modes of shape variation.

Implement the following functionality as part of the shape-analysis algorithm:

(a) (8 marks = 4 + 4) Two pieces of code to align two pointsets of equal cardinality via similarity

transformations.

The first piece of code (say, Code1) assumes that the pointset representations are standardized to pre-shape space, and thus solve for rotation only.

The second piece of code (say, Code2) formulates the alignment problem as done by

[Cootes et al. 1995 CVIU] where they solve for the scale, translation, and rotation jointly.

(b) (8 marks = 4 + 4) Two pieces of code to find the optimal shape mean, within every iteration.

The first piece of code (say, Code11) using function calls to Code1 only and the second

piece of code (say, Code22) using function calls to Code2 only.

(c) (4 marks) Code to find all the modes of shape variation, given the shape mean and the

aligned pointsets.

Report the following:

(d) (0 marks) Show a plot of the initial pointsets, as given in the dataset. Randomize the color

for each pointset, to show all 2D pointsets in one graph.

(e) (12 marks = 6 + 6) Show plots of computed shape mean, together with all the aligned

pointsets. Show two sets of results, one relying on Code11 and another relying on Code22.

(f) (12 marks = 6 + 6) Show plots of the variances (eigenvalues; sorted) along each of the top

3 principal modes of shape variation. Show two sets of results, one relying on Code11 and

another relying on Code22.

(g) (16 marks = 8 + 8) Show plots of the computed shape mean, all aligned pointsets, as well

as two other pointsets depicting the top 3 principal modes of shape variation around the

mean (± 2–3 standard deviations around the mean). Show two sets of results, one relying

on Code11 and another relying on Code22.

1

2. (60 marks) Shape Analysis on Human Hand Shapes (in 2D).

Get the dataset of shapes from “hands2D.mat” that contains 2D hand-outline shapes represented

as pointsets.

Repeat all the analysis in the first question.

3. [40 marks] Consider a problem of clustering a group of shapes of 3-dimensional objects, where

the shapes are represented as pointsets of cardinality N. You know that the number of clusters

is K. You have to use standard Procrustes distance to measure dissimilarity between shapes.

You are told that the shape dataset has some outliers and you want your clustering to be less

sensitive to the presence of outliers in the dataset.

• (6 marks) Define mathematically the standard Procrustes distance between shapes, as described in class.

• (12 marks) For the specified task, design an objective function to assign a cost to each clustering.

• (22 marks: 14 + 4 + 4) Describe an implementable algorithm for the clustering, including the

initialization for all unknown variables, and the stopping criterion. [Without the correct algorithm,

the initialization strategy and the stopping criterion don’t fetch any points.]

2