Assignment 3

Fabian Prada



Experiment 1: Sequential Rotations



Description: Using Cardinal-Omoms5 as reference filter, I generated 16 images of lena-256.png with orientations 0, 22.5, 45, 67.5,...,337.5 degrees by direct rotations (i.e, each image independent of the others). Then, for each evaluation filter I did successive rotations of the image by 22.5 degrees, feeding back the result in every step (i.e, the rotation is done from the previous recontruction). For each rotation, the reconstruction was compared with the corresponding image in the set of 16 images initially generated by the reference filter. The region of comparision is a circle of radius 0.45*min(h,w). For each evaluation filter 400 rotations were considered (i.e, 25 cycles) ,and here we have the results:

Images after 400 rotations:

Original Box Hat
Seq-Rot_Reference_Iter_16.png Seq-Rot_Box.png Seq-Rot_Hat_Iter_400.png
Keys4 Condat3 Cardinal-Bspline3
Seq-Rot_Keys4_Iter_400.png Seq-Rot_Condat3_Iter_400.png Seq-Rot_Cardinal-Bspline3_Iter_400.png
Cardinal-Omoms3 Lanczos-sinc6 IMOMS5
Seq-Rot_Cardinal-Omoms3_Iter_400.png Seq-Rot_Lanczos-sinc6_Iter_400.png Seq-Rot_Imoms5_Iter_400.png
Cardinal-SOmoms5 Cardinal-Bspline5 Cardinal-Omoms5
Seq-Rot_Cardinal-SOmoms5_Iter_400.png Seq-Rot_Cardinal-Bspline5_Iter_400.png Seq-Rot_Cardinal-Omoms5_Iter_400.png


Measures:

sequentialRotationsPSNR.png


sequentialRotationsSSIM.png


Experiment 2: Sequential Translations



Description: Using Cardinal-Omoms5 as reference filter, I generated 12 images of lena-256.png corresponding to translations around a circle of 20 pixels of radius (I magnifyed this parameter to make the changes more noticeables). Then, for each evaluation filter I did successive translations of the image around the circle, feeding back the result in every step (i.e, the translation is done from the previous recontruction). For each translation, the reconstruction was compared with the corresponding image in the set of 12 images initially generated by the reference filter. The region of comparision was 0.3*min(h,w).For each evaluation filter 400 translations were considered (i.e, 33,3 cycles) ,and here we have the results:

Images after 400 translations:

Original Hat
Seq-Trans_Reference_Iter_4.png Seq-Trans_Hat_Iter_400.png
Keys4 Condat3 Cardinal-Bspline3
Seq-Trans_Keys4_Iter_400.png Seq-Trans_Condat3_Iter_400.png Seq-Trans_Cardinal-Bspline3_Iter_400.png
Cardinal-Omoms3 Lanczos-sinc6 IMOMS5
Seq-Trans_Cardinal-Omoms3_Iter_400.png Seq-Trans_Lanczos-sinc6_Iter_400.png Seq-Trans_Imoms5_Iter_400.png
Cardinal-SOmoms5 Cardinal-Bspline5 Cardinal-Omoms5
Seq-Trans_Cardinal-SOmoms5_Iter_400.png Seq-Trans_Cardinal-Bspline5_Iter_400.png Seq-Trans_Cardinal-Omoms5_Iter_400.png


Measures:

sequentialTranslationPSNR.png


sequentialTranslationSSIM.png

Experiment 3: Cummulative Rotations

Description: In order to evaluate the robustness of the filters to small angle rotations, cactus-256.png, was rotated n times by angles of 360/n degrees to return to the initial position. Each partial rotation is reconstructed from the image obtained in the previous step. Finally, the image obtained by the cummulative full rotation is compared with the initial image. Again, the region of comparision is a circle of radius 0.45*min(h,w). I performed the experiment for n=6,12,16,...,120 (see cummulativeRotations.txt). Here we have the results for n=120:

Original Box. PSNR=16.6796,SSIM=0.552193.   Hat. PSNR=20.4141,SSIM=0.750063.  
cactus-256.png Cum-Rot_Box.png Cum-Rot_Hat.png
Keys4. PSNR=23.5808,SSIM=0.895623.  Condat3. PSNR=26.0157,SSIM=0.94625.   Cardinal-Bspline3. PSNR=26.375SSIM=,0.948255.  
Cum-Rot_Keys4.png Cum-Rot_Condat3.png Cum-Rot_Cardinal-Bspline3.png
Cardinal-Omoms3. PSNR=28.6422,SSIM=0.971516.  Lanczos-sinc6. PSNR=15.0696,SSIM=0.661923.   IMOMS5. PSNR=25.4338,SSIM=0.934982. 
Cum-Rot_Cardinal-Omoms3.png Cum-Rot_Lanczos-sinc6.png Cum-Rot_Imoms5.png
Cardinal-SOmoms5. PSNR=29.9961,SSIM=0.978901.   Cardinal-Bspline5. PSNR=29.8685,SSIM=0.978282.   Cardinal-Omoms5. PSNR=30.7504,SSIM=0.982471.  
Cum-Rot_Cardinal-SOmoms5.png Cum-Rot_Cardinal-Bspline5.png Cum-Rot_Cardinal-Omoms5.png

Experiment 4: Cummulative Translations

Description: In order to evaluate the robustness of the filters to small translations, cactus-256.png, was moved around a circle of radius 20 pixels,in such a way that it returned to the initial position after n uniforms displacement (i.e, the magnitud of each displacement was about 2*pi*r/n). Each partial translation is reconstructed from the image obtained in the previous step. Finally, the image obtained by the cummulative full translation is compared with the initial image. Again, the region of comparision is a circle of radius 0.3*min(h,w). I performed the experiment for n=4,8,12,...,160 (see cummulativeTranslations.txt). Here we have the results for n=160:

Original Hat. PSNR=17.985,SSIM=0.483424.  
cactus-256.png Cum-Trans_Hat.png
Keys4. PSNR=20.6157,SSIM=0.770859.  Condat3. PSNR=24.1636,SSIM=0.914029.   Cardinal-Bspline3. PSNR=22.9358,SSIM=0.879491.  
Cum-Trans_Keys4.png Cum-Trans_Condat3.png Cum-Trans_Cardinal-Bspline3.png
Cardinal-Omoms3. PSNR=26.0465,SSIM=0.949753.   Lanczos-sinc6. PSNR=6.46471,SSIM=0.162407.   IMOMS5. PSNR=22.2955,SSIM=0.858539.  
Cum-Trans_Cardinal-Omoms3.png Cum-Trans_Lanczos-sinc6.png Cum-Trans_Imoms5.png
Cardinal-SOmoms5. PSNR=26.7788,SSIM=0.956534.   Cardinal-Bspline5. PSNR=26.6211,SSIM=0.954678.   Cardinal-Omoms5. PSNR=27.6577,SSIM=0.965124.  
Cum-Trans_Cardinal-SOmoms5.png Cum-Trans_Cardinal-Bspline5.png Cum-Trans_Cardinal-Omoms5.png

Technical Observations :

Conclusions and Observations:



Ranking:



Here I post my new ranking based in the PSNR and SSIM measures for the 4 experiments. This rank NOT measures the quality of reconstruction for a single operation (for instance just resampling, where Lanczos is by far better than Box), instead, it measures the robustness to extreme operations (lots of rotations or translations). This rank is closely related to the order of approximation of the filters and their numerical stability.


  1. Card.Omoms5
  2. Card.SOmoms5
  3. Card.Bspline5
  4. Card.Omoms3
  5. Condat3
  6. Card.Bspline3
  7. Imoms5
  8. Keys4
  9. Hat
  10. Box
  11. Lanczos-sinc6