Skip to content

Commit ab64bb3

Browse files
committed
finish proj1 text
1 parent c6ede55 commit ab64bb3

17 files changed

Lines changed: 60 additions & 1 deletion

1/index.html

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,68 @@
2020

2121
Applying this technique to our image, we get the following output:
2222

23-
<img src="media/cathedral_1_l2.jpg" alt="Cathedral" width="500">
23+
<img src="media/cathedral_1_L2.jpg" alt="Cathedral" width="500">
2424

2525
Another way to do this is to use the Normalized Cross Correlation (NCC) loss. The output looks as follows:
2626

2727
<img src="media/cathedral_1_ncc.jpg" alt="Cathedral" width="500">
2828

29+
30+
The problem here is that although this works on a smaller image like this ~(300 x 300 pixels), trying to brute force search this on every pixel will take too much time. Thus, we want to implement a pyramid based search to find the best alignment.
31+
32+
A pyramid based search starts with a much lower resolution version of the image (downsampled) and finds the best offset for this smaller version.
33+
Then, we look at a larger version of it, finds an offset (based on the offset of the smaller version) and repeats this process until we reach the original resolution.
34+
35+
In this particular case, the pyramid search results in the same output without any significant speed up. However, consider a different image such as this image of 3 generations:
36+
37+
<img src="media/3_generations.tif" alt="3 Generations" width="500">
38+
39+
This image is 9629 x 3714 pixels. If we were to use the brute force approach, we would have to search tens of millions of possible aligments, taking minutes if not hours. On the other hand, the pyramid search only takes a few seconds under the right conditions.
40+
41+
Here is the output of the pyramid search, as well as the output of pyramid search for various images:
42+
43+
<img src="media/3_generations_pyramid.jpg" alt="3 Generations Pyramid" width="500">
44+
45+
<p>Here are the results of the pyramid search algorithm applied to various other images:</p>
46+
47+
<img src="media/monastery_aligned_pyramid.jpg" alt="Monastery" width="500">
48+
<p><em>Monastery</em></p>
49+
50+
<img src="media/tobolsk_aligned_pyramid.jpg" alt="Tobolsk" width="500">
51+
<p><em>Tobolsk</em></p>
52+
53+
<img src="media/cathedral_aligned_pyramid.jpg" alt="Cathedral" width="500">
54+
<p><em>Cathedral</em></p>
55+
56+
<img src="media/emir_aligned_pyramid.jpg" alt="Emir" width="500">
57+
<p><em>Emir</em></p>
58+
59+
<img src="media/italil_aligned_pyramid.jpg" alt="Italil" width="500">
60+
<p><em>Italil</em></p>
61+
62+
<img src="media/church_aligned_pyramid.jpg" alt="Church" width="500">
63+
<p><em>Church</em></p>
64+
65+
<img src="media/three_generations_aligned_pyramid.jpg" alt="Three Generations" width="500">
66+
<p><em>Three Generations</em></p>
67+
68+
<img src="media/lugano_aligned_pyramid.jpg" alt="Lugano" width="500">
69+
<p><em>Lugano</em></p>
70+
71+
<img src="media/melons_aligned_pyramid.jpg" alt="Melons" width="500">
72+
<p><em>Melons</em></p>
73+
74+
<img src="media/lastochikino_aligned_pyramid.jpg" alt="Lastochikino" width="500">
75+
<p><em>Lastochikino</em></p>
76+
77+
<img src="media/icon_aligned_pyramid.jpg" alt="Icon" width="500">
78+
<p><em>Icon</em></p>
79+
80+
<img src="media/siren_aligned_pyramid.jpg" alt="Siren" width="500">
81+
<p><em>Siren</em></p>
82+
83+
<img src="media/self_portrait_aligned_pyramid.jpg" alt="Self Portrait" width="500">
84+
<p><em>Self Portrait</em></p>
85+
86+
<img src="media/harvesters_aligned_pyramid.jpg" alt="Harvesters" width="500">
87+
<p><em>Harvesters</em></p>
25.4 KB
Loading
25.5 KB
Loading

1/media/church_aligned_pyramid.jpg

760 KB
Loading

1/media/emir_aligned_pyramid.jpg

1.02 MB
Loading
1.12 MB
Loading

1/media/icon_aligned_pyramid.jpg

1.36 MB
Loading

1/media/italil_aligned_pyramid.jpg

973 KB
Loading
847 KB
Loading

1/media/lugano_aligned_pyramid.jpg

990 KB
Loading

0 commit comments

Comments
 (0)