Assignment 2

Vempati Anurag Sai		Y9645
Aditi Krishn 10039

PART A:

Matlab Code Display_Digit_Clusters.m for constructing Isomap of any set of digits.

A1. 2-D Isomap model for the first 2000 samples of the MNIST training set using Euclidean distance :

(i) Digits '1' and '7' -

(ii) Digits '4' and '9' -

(iii) All the digits -

(iv) Number '1' -

Matlab Code Single_Digit_Isomap.m for constructing Isomap of any single digit.


Variation in thickness from top to bottom and increase in tilt from left to right can be seen in this image.

A2. 2-D Isomap model for the first 2000 samples of the MNIST training set using Tangent distance :

(i) Digits '1' and '7' -

(ii) Digits '4' and '9' -

(iii) All the digits -

(iv) Number '7' -

At the top all the 7s have a horizontal bar. Increase in tilt from left to right can also be seen in this image.

A3. Hindi Numerals :

PART B:

Matlab Code Discovering_Robot_Motion_DOF.m for constructing Isomap of 200 random images of Aldebaran Nao / 500 random images of 2 link robot arms / 200 images of robot arms carrying a box.

B1. Residual error curve obtained by applying Isomap on 200 images of humanoid robot, the Aldebaran Nao :

The intrinsic dimensionality of the data is estimated by looking for the 'elbow' at which this curve ceases to decrease significantly with added dimensions.

Justification: Nao has only 4 degrees of freedom(2 for the shoulder and 2 for the elbow). It can produce only Yaw and Pitch motions at both shoulder and elbow (Or atleast the input data doesn't have any roll sequences captured). It cannot produce the Roll motion.

B2. Residual error curve obtained by applying Isomap on 500 random images of 2 link robot arms :

Justification:

B3. Solution for the numerical question :

B4. Residual error curve obtained by applying Isomap on 200 images of 2 link robot arms carrying a box:

Justification: In the input images, the box is carried at a fixed height with respect to the base. If the lateral position of the box w.r.t the base of arm-1 is specified, we can exactly find out the angles theta1,theta2,theta3 and theta4 of the both robot arms. So, the only variable is the lateral postion of the box and hence the dimensionality of '1'.

RESOURCES :

  1. Information on the algorithm:
    Joshua B. Tenenbaum and Vin de Silva and John C. Langford, A Global Geometric Framework for Nonlinear Dimensionality Reduction , Science, v. 290, pp. 2319--2323, 2001.
  2. Matlab codes used: Isomap.m-for constructing an isomap and plotting it. tangent_d.m-to measure tangent distance. L2_distance.m - to measure Euclidean distance. LoadDigit.m-to load image data from MNIST database. LoadImageData.m-To load image data of any collection of pictures(ex-nao,robo arms).
  3. The data used are: 2000 handwritten images from MNIST database, images of Humanoid Robot(Nao), 2link Robot arm images.

Data input for various codes.Read me for more information.

[CODES]. Along with the ones obtained from the references mentioned above.