Skip to content

Commit 30cb5e2

Browse files
authored
Update proj1.html
1 parent 2ee1c0d commit 30cb5e2

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

project-1/proj1.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ <h2>NCC & Preprocessing</h2>
3030
for 2 vectors <strong>x</strong> and <strong>y</strong>. After normalizing each image with the L<sup>2</sup> norm, the dot product will ensure that the score will be the highest when the features of both images are the most similar. Since grayscale images are represented by 2d arrays, we can first flatten the 2 images we want to compare, before using them as the input vectors. A caveat of this method is that is both images should have the same size. However, we can approximate the crop dimensions for just the blue and red plates, and find the best displacements with respect to the green plate. The final step would require us to find the intersection of 3 rectangles, which is illusrated below:
3131
</p>
3232
<div align="center">
33-
<img src="images/proj1.png" alt="Description of image 2">
33+
<img src="images/proj1.png" alt="Description of image 2" width="50%">
3434
</div>
3535
<hr>
3636

@@ -39,9 +39,9 @@ <h2>Naive Search</h2>
3939
<p>
4040
To find the best shift, the simplest way is to compute the NCC for every possible shift within the full image. However, not only is this ineffcient, the best shift would also just be (0, 0) for any image, since the crop would just be a copy of the original crop. To solve this issue, we need to limit how much the height can shift when aligning. Define <i>W</i> and <i>H</i> to be the width and height of the full image respectively, assume, for approximations, that each plate takes up exactly a third of the full image.<br>
4141
<br>
42-
Considering only the top/blue plate, we can start by setting upper limit for the top edge to be <i>(0 + H/3) / 2 = H/6</i>, and the bottom edge to be <i>(2H / 3 + 1) / 2 = 5H / 6</i>. This means the top edge should be at least be shifted down by <i>H/6 - 0 = H/6</i>, and the bottom edge by <i>5H / 6 - H/3 = H/2</i>. Therefore, a good place to start is a displacement of <i>(0, (H/6 + H/2) / 2) = (0, H/3)</i> with a search range of <i>H/6</i>. For the bottom/red plate, the equivalent displacement is just <i>(0, -H/3)</i> with the same search range.<br>
42+
Considering only the top/blue plate, we can start by setting upper limit for the top edge to be <i>(0 + H/3) / 2 = H/6</i>, and the bottom edge to be <i>(2H / 3 + 1) / 2 = 5H / 6</i>. This means the top edge should be at least be shifted down by <i>H/6 - 0 = H/6</i>, and the bottom edge by <i>5H / 6 - H/3 = H/2</i>. Therefore, a good place to start is a displacement of <i>(0, (H/6 + H/2) / 2) = (0, H/3)</i> with a search range of [<i>-H/6</i>, <i>H/6</i>]. For the bottom/red plate, the equivalent displacement is just <i>(0, -H/3)</i> with the same search range.<br>
4343
<br>
44-
Using a starting crop of {<i>(W/16, H/16), (W - W/16, H/3 - H/16)</i>} for the blue plate and a starting crop of {<i>(W/16, H/16 + 2H / 3), (W - W/16, H - H/16)</i>} for the blue plate, we can obtain the following best shifts:
44+
Using a starting crop of {<i>(W/16, H/16), (W - W/16, H/3 - H/16)</i>} for the blue plate and a starting crop of {<i>(W/16, 2H / 3 + H/16), (W - W/16, H - H/16)</i>} for the blue plate, we can obtain the following best shifts:
4545
</p>
4646

4747
<div class="two-up" style="display:flex;" role="group" aria-label="Image comparison">
@@ -75,7 +75,7 @@ <h2>Naive Search</h2>
7575
<!-- Section 4 -->
7676
<h2>Image Pyramid</h2>
7777
<p>
78-
This is some body text for subheading 4. Summarize outcomes or provide references.
78+
Unfortunately, because each crop has a dimension of <i>(7W / 8)</i> &times; <i>(5H / 24)</i>, the total number of NCC computations for each alignment is <i>((W - 7W / 8) + 1)</i> &times; <i>((H/3 - 5H / 24) + 1)</i> = <i>(W / 8 + 1)</i> &times; <i>(H / 8 + 1)</i> = <i>O(HW / 64)</i>. Since 1 dot product, 2 elementwise divisions, and 2 matrix norms must be computed, we have <i>HW + 2HW + 4HW = 7HW</i> operations for each NCC computation. Therefore, to align an image of dimensions <i>W</i> &times; <i>H</i>, we have a time complexity of <i>O(7(HW)<sup>2</sup> / 64)</i>.
7979
</p>
8080
<div align="center">
8181
<img src="image4.jpg" alt="Description of image 4" width="400">

0 commit comments

Comments
 (0)