3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From...

108
3D from Photographs: Structure From Motion Dr Francesco Banterle [email protected]

Transcript of 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From...

Page 1: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

3D from Photographs: Structure From Motion

Dr Francesco Banterle [email protected]

Page 2: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Note: in these slides the optical center is placed back to simplify drawing and understanding.

Page 3: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

3D model

3D from PhotographsAutomatic

Matching of Images

Camera Calibration

Dense Matching

Photographs

Surface Reconstruction

Page 4: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

3D model

3D from PhotographsAutomatic

Matching of Images

Camera Calibration

Dense Matching

Photographs

Surface Reconstruction

Page 5: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Camera Pose Calibration

Page 6: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Camera Pose Calibration• We have seen methods for estimating the intrinsic

matrix K, and the extrinsic matrix G = [R | t] using a calibration pattern:

• DLT

• Zhang’s algorithm

• How do we get the camera’s pose, G, without patterns?

Page 7: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Camera Pose Calibration

• Let’s assume that:

• We have K for each photograph.

• We have matches between images.

Page 8: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example

Page 9: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera ExampleM

m1

m2

C1

C2

Camera 1

Camera 2

Page 10: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example: Epipolar Geometry

M

m1

m2

C1

C2

Camera 1

Camera 2

C1C2 is called baseline

Page 11: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example• Let’s assume that we have K1 and K2.

• Let’s assume that G1 is set in the origin and aligned with the reference frame. This means:

Note that we only need to estimate R and t !

G1 = [I|0] ! P1 = K1 ·G1

P2 = K2 · [R|t]

Page 12: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example

• To simplify, let’s remove K matrices:

• To points as well:

P 01 = K�1

1 · P1 = [I|0]P 02 = K�1

2 · P2 = [R|t]

m1 = K�11 ·m1

m2 = K�12 ·m2

Page 13: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example

• To simplify, let’s remove K matrices:

• To points as well:

P 01 = K�1

1 · P1 = [I|0]P 02 = K�1

2 · P2 = [R|t]

Normalized coordinates

m1 = K�11 ·m1

m2 = K�12 ·m2

Page 14: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

A Two-Camera Example• Given the Longuet-Higgins equation, we know that:

• E (a 3×3 matrix) is called the essential matrix and it is defined as:

E = [t]⇥ ·R [t]⇥ =

2

40 �t3 t2t3 0 �t1�t2 t1 0

3

5

m>2 · E · m1 = 0

Page 15: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

• If we do not have K1 and K2 and apply the Longuet-Higgins equation, we obtain:

• where F (a 3×3 matrix) is called the fundamental matrix. This matrix is linked to E as:

The Fundamental Matrix

F = K�>2 · E ·K�1

1 E = K>2 · F ·K1

<latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit><latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit><latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit>

$<latexit sha1_base64="KThm7hMzkajF0dkF81AiBW1e9Ro=">AAAB93icbVBNS8NAEN3Ur1o/GvXoZbEInkoignorevFYwdhCG8pmu2mXbnbD7kSpob/EiwcVr/4Vb/4bt20O2vpg4PHeDDPzolRwA5737ZRWVtfWN8qbla3tnd2qu7d/b1SmKQuoEkq3I2KY4JIFwEGwdqoZSSLBWtHoeuq3Hpg2XMk7GKcsTMhA8phTAlbqudWuYDFoPhgC0Vo99tyaV/dmwMvEL0gNFWj23K9uX9EsYRKoIMZ0fC+FMCcaOBVsUulmhqWEjsiAdSyVJGEmzGeHT/CxVfo4VtqWBDxTf0/kJDFmnES2MyEwNIveVPzP62QQX4Q5l2kGTNL5ojgTGBSepoD7XDMKYmwJoZrbWzEdEk0o2KwqNgR/8eVlEpzWL+ve7VmtcVWkUUaH6AidIB+dowa6QU0UIIoy9Ixe0Zvz5Lw4787HvLXkFDMH6A+czx/SVpNk</latexit><latexit sha1_base64="KThm7hMzkajF0dkF81AiBW1e9Ro=">AAAB93icbVBNS8NAEN3Ur1o/GvXoZbEInkoignorevFYwdhCG8pmu2mXbnbD7kSpob/EiwcVr/4Vb/4bt20O2vpg4PHeDDPzolRwA5737ZRWVtfWN8qbla3tnd2qu7d/b1SmKQuoEkq3I2KY4JIFwEGwdqoZSSLBWtHoeuq3Hpg2XMk7GKcsTMhA8phTAlbqudWuYDFoPhgC0Vo99tyaV/dmwMvEL0gNFWj23K9uX9EsYRKoIMZ0fC+FMCcaOBVsUulmhqWEjsiAdSyVJGEmzGeHT/CxVfo4VtqWBDxTf0/kJDFmnES2MyEwNIveVPzP62QQX4Q5l2kGTNL5ojgTGBSepoD7XDMKYmwJoZrbWzEdEk0o2KwqNgR/8eVlEpzWL+ve7VmtcVWkUUaH6AidIB+dowa6QU0UIIoy9Ixe0Zvz5Lw4787HvLXkFDMH6A+czx/SVpNk</latexit><latexit sha1_base64="KThm7hMzkajF0dkF81AiBW1e9Ro=">AAAB93icbVBNS8NAEN3Ur1o/GvXoZbEInkoignorevFYwdhCG8pmu2mXbnbD7kSpob/EiwcVr/4Vb/4bt20O2vpg4PHeDDPzolRwA5737ZRWVtfWN8qbla3tnd2qu7d/b1SmKQuoEkq3I2KY4JIFwEGwdqoZSSLBWtHoeuq3Hpg2XMk7GKcsTMhA8phTAlbqudWuYDFoPhgC0Vo99tyaV/dmwMvEL0gNFWj23K9uX9EsYRKoIMZ0fC+FMCcaOBVsUulmhqWEjsiAdSyVJGEmzGeHT/CxVfo4VtqWBDxTf0/kJDFmnES2MyEwNIveVPzP62QQX4Q5l2kGTNL5ojgTGBSepoD7XDMKYmwJoZrbWzEdEk0o2KwqNgR/8eVlEpzWL+ve7VmtcVWkUUaH6AidIB+dowa6QU0UIIoy9Ixe0Zvz5Lw4787HvLXkFDMH6A+czx/SVpNk</latexit>

m>2 · F ·m1 = 0

<latexit sha1_base64="nVwmfvKdT5MuK4SdfZSl0uZeBcc=">AAACGHicbVBNS8NAEN3Ur1q/qh69LBbBU0mKoB6EoiAeK1hbaGLZbDft0k027E6EEvo3vPhXvHhQ8dqb/8ZNm0NtfbDs470ZZub5seAabPvHKqysrq1vFDdLW9s7u3vl/YNHLRNFWZNKIVXbJ5oJHrEmcBCsHStGQl+wlj+8yfzWM1Oay+gBRjHzQtKPeMApASN1y7YbEhj4QRqOu7UnF2SMXdqTgG/zf8538BW2u+WKXbWnwMvEyUkF5Wh0yxO3J2kSsgioIFp3HDsGLyUKOBVsXHITzWJCh6TPOoZGJGTaS6eXjfGJUXo4kMq8CPBUne9ISaj1KPRNZbanXvQy8T+vk0Bw4aU8ihNgEZ0NChKBQeIsJtzjilEQI0MIVdzsiumAKELBhFkyITiLJy+TZq16WbXvzyr16zyNIjpCx+gUOegc1dEdaqAmougFvaEP9Gm9Wu/Wl/U9Ky1Yec8h+gNr8gthnJ9x</latexit><latexit sha1_base64="nVwmfvKdT5MuK4SdfZSl0uZeBcc=">AAACGHicbVBNS8NAEN3Ur1q/qh69LBbBU0mKoB6EoiAeK1hbaGLZbDft0k027E6EEvo3vPhXvHhQ8dqb/8ZNm0NtfbDs470ZZub5seAabPvHKqysrq1vFDdLW9s7u3vl/YNHLRNFWZNKIVXbJ5oJHrEmcBCsHStGQl+wlj+8yfzWM1Oay+gBRjHzQtKPeMApASN1y7YbEhj4QRqOu7UnF2SMXdqTgG/zf8538BW2u+WKXbWnwMvEyUkF5Wh0yxO3J2kSsgioIFp3HDsGLyUKOBVsXHITzWJCh6TPOoZGJGTaS6eXjfGJUXo4kMq8CPBUne9ISaj1KPRNZbanXvQy8T+vk0Bw4aU8ihNgEZ0NChKBQeIsJtzjilEQI0MIVdzsiumAKELBhFkyITiLJy+TZq16WbXvzyr16zyNIjpCx+gUOegc1dEdaqAmougFvaEP9Gm9Wu/Wl/U9Ky1Yec8h+gNr8gthnJ9x</latexit><latexit sha1_base64="nVwmfvKdT5MuK4SdfZSl0uZeBcc=">AAACGHicbVBNS8NAEN3Ur1q/qh69LBbBU0mKoB6EoiAeK1hbaGLZbDft0k027E6EEvo3vPhXvHhQ8dqb/8ZNm0NtfbDs470ZZub5seAabPvHKqysrq1vFDdLW9s7u3vl/YNHLRNFWZNKIVXbJ5oJHrEmcBCsHStGQl+wlj+8yfzWM1Oay+gBRjHzQtKPeMApASN1y7YbEhj4QRqOu7UnF2SMXdqTgG/zf8538BW2u+WKXbWnwMvEyUkF5Wh0yxO3J2kSsgioIFp3HDsGLyUKOBVsXHITzWJCh6TPOoZGJGTaS6eXjfGJUXo4kMq8CPBUne9ISaj1KPRNZbanXvQy8T+vk0Bw4aU8ihNgEZ0NChKBQeIsJtzjilEQI0MIVdzsiumAKELBhFkyITiLJy+TZq16WbXvzyr16zyNIjpCx+gUOegc1dEdaqAmougFvaEP9Gm9Wu/Wl/U9Ky1Yec8h+gNr8gthnJ9x</latexit>

Page 16: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

• F connects the two cameras “geometry” together.

• If we have a point m1 of I1 and we multiply it by F, we obtain a line equation in where its match, m2, lies in I2:

The Fundamental Matrix

l = F ·m1 $ (l1x+ l2y + l3) = 0<latexit sha1_base64="7fjjx60iUWDPR/7BxvUq2wD4Rg4=">AAACL3icbVBNS8NAFNz4bf2KevSyWARFKIkK6kEQBfVYwVqhKWGz3bSLm2zYfVFL6E/y4k/Ri4KKV/+FmzaCVgcWhpk3vH0TJIJrcJwXa2R0bHxicmq6NDM7N79gLy5dapkqympUCqmuAqKZ4DGrAQfBrhLFSBQIVg+uj3O/fsOU5jK+gG7CmhFpxzzklICRfPvUiwh0gjATPXyAT7BHWxLwtxj1fBd7goWgeLsDRCl5i9eF795tCn+rizex8Lc3TNDx7bJTcfrAf4lbkDIqUPXtR68laRqxGKggWjdcJ4FmRhRwKliv5KWaJYRekzZrGBqTiOlm1j+4h9eM0sKhVObFgPvqz0RGIq27UWAm80v0sJeL/3mNFMK9ZsbjJAUW08GiMBUYJM7bwy2uGAXRNYRQxc1fMe0QRSiYjkumBHf45L+ktlXZrzjnO+XDo6KNKbSCVtE6ctEuOkRnqIpqiKJ79IRe0Zv1YD1b79bHYHTEKjLL6Beszy8hCKdO</latexit><latexit sha1_base64="7fjjx60iUWDPR/7BxvUq2wD4Rg4=">AAACL3icbVBNS8NAFNz4bf2KevSyWARFKIkK6kEQBfVYwVqhKWGz3bSLm2zYfVFL6E/y4k/Ri4KKV/+FmzaCVgcWhpk3vH0TJIJrcJwXa2R0bHxicmq6NDM7N79gLy5dapkqympUCqmuAqKZ4DGrAQfBrhLFSBQIVg+uj3O/fsOU5jK+gG7CmhFpxzzklICRfPvUiwh0gjATPXyAT7BHWxLwtxj1fBd7goWgeLsDRCl5i9eF795tCn+rizex8Lc3TNDx7bJTcfrAf4lbkDIqUPXtR68laRqxGKggWjdcJ4FmRhRwKliv5KWaJYRekzZrGBqTiOlm1j+4h9eM0sKhVObFgPvqz0RGIq27UWAm80v0sJeL/3mNFMK9ZsbjJAUW08GiMBUYJM7bwy2uGAXRNYRQxc1fMe0QRSiYjkumBHf45L+ktlXZrzjnO+XDo6KNKbSCVtE6ctEuOkRnqIpqiKJ79IRe0Zv1YD1b79bHYHTEKjLL6Beszy8hCKdO</latexit><latexit sha1_base64="7fjjx60iUWDPR/7BxvUq2wD4Rg4=">AAACL3icbVBNS8NAFNz4bf2KevSyWARFKIkK6kEQBfVYwVqhKWGz3bSLm2zYfVFL6E/y4k/Ri4KKV/+FmzaCVgcWhpk3vH0TJIJrcJwXa2R0bHxicmq6NDM7N79gLy5dapkqympUCqmuAqKZ4DGrAQfBrhLFSBQIVg+uj3O/fsOU5jK+gG7CmhFpxzzklICRfPvUiwh0gjATPXyAT7BHWxLwtxj1fBd7goWgeLsDRCl5i9eF795tCn+rizex8Lc3TNDx7bJTcfrAf4lbkDIqUPXtR68laRqxGKggWjdcJ4FmRhRwKliv5KWaJYRekzZrGBqTiOlm1j+4h9eM0sKhVObFgPvqz0RGIq27UWAm80v0sJeL/3mNFMK9ZsbjJAUW08GiMBUYJM7bwy2uGAXRNYRQxc1fMe0QRSiYjkumBHf45L+ktlXZrzjnO+XDo6KNKbSCVtE6ctEuOkRnqIpqiKJ79IRe0Zv1YD1b79bHYHTEKjLL6Beszy8hCKdO</latexit>

Page 17: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Fundamental Matrix

I2I1

m2

m1

F ·m1 = 0<latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit><latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit><latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit>

Page 18: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

• Note that:

• Therefore, If we have a point m2 of I2 and we multiply it by F T, we obtain a line equation in where its match, m1, lies in I1:

The Fundamental Matrix

m>2 · F ·m1 = 0

m>1 · F> ·m2 = 0

<latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit><latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit><latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit>

l = F> ·m2 $ (l1x+ l2y + l3) = 0<latexit sha1_base64="3xH5LConlrgZZHGPqVwnrj3nEzk=">AAACNHicbVDLSsNAFJ3Ud31VXboZLEKlUJIqqAtBFMSFCwWrhaaGyWTSDk4yYeZGLaE/5cb/cKULFypu/QanNYKvAwOHc+7lzjl+IrgG2360CiOjY+MTk1PF6ZnZufnSwuKZlqmirEGlkKrpE80Ej1kDOAjWTBQjkS/YuX+5P/DPr5jSXMan0EtYOyKdmIecEjCSVzpyIwJdP8xEH+/ggwsXZIJdGkjAX07U9+rYFSwExTtdIErJa1wRnnNTFV69h6tYeOtrZtv2SmW7Zg+B/xInJ2WU49gr3buBpGnEYqCCaN1y7ATaGVHAqWD9optqlhB6STqsZWhMIqbb2TB1H68aJcChVObFgIfq942MRFr3It9MDpLo395A/M9rpRButTMeJymwmH4eClOBQeJBhTjgilEQPUMIVdz8FdMuUYSCKbpoSnB+R/5LGvXads0+2Sjv7uVtTKJltIIqyEGbaBcdomPUQBTdogf0jF6sO+vJerXePkcLVr6zhH7Aev8Aif+pjg==</latexit><latexit sha1_base64="3xH5LConlrgZZHGPqVwnrj3nEzk=">AAACNHicbVDLSsNAFJ3Ud31VXboZLEKlUJIqqAtBFMSFCwWrhaaGyWTSDk4yYeZGLaE/5cb/cKULFypu/QanNYKvAwOHc+7lzjl+IrgG2360CiOjY+MTk1PF6ZnZufnSwuKZlqmirEGlkKrpE80Ej1kDOAjWTBQjkS/YuX+5P/DPr5jSXMan0EtYOyKdmIecEjCSVzpyIwJdP8xEH+/ggwsXZIJdGkjAX07U9+rYFSwExTtdIErJa1wRnnNTFV69h6tYeOtrZtv2SmW7Zg+B/xInJ2WU49gr3buBpGnEYqCCaN1y7ATaGVHAqWD9optqlhB6STqsZWhMIqbb2TB1H68aJcChVObFgIfq942MRFr3It9MDpLo395A/M9rpRButTMeJymwmH4eClOBQeJBhTjgilEQPUMIVdz8FdMuUYSCKbpoSnB+R/5LGvXads0+2Sjv7uVtTKJltIIqyEGbaBcdomPUQBTdogf0jF6sO+vJerXePkcLVr6zhH7Aev8Aif+pjg==</latexit><latexit sha1_base64="3xH5LConlrgZZHGPqVwnrj3nEzk=">AAACNHicbVDLSsNAFJ3Ud31VXboZLEKlUJIqqAtBFMSFCwWrhaaGyWTSDk4yYeZGLaE/5cb/cKULFypu/QanNYKvAwOHc+7lzjl+IrgG2360CiOjY+MTk1PF6ZnZufnSwuKZlqmirEGlkKrpE80Ej1kDOAjWTBQjkS/YuX+5P/DPr5jSXMan0EtYOyKdmIecEjCSVzpyIwJdP8xEH+/ggwsXZIJdGkjAX07U9+rYFSwExTtdIErJa1wRnnNTFV69h6tYeOtrZtv2SmW7Zg+B/xInJ2WU49gr3buBpGnEYqCCaN1y7ATaGVHAqWD9optqlhB6STqsZWhMIqbb2TB1H68aJcChVObFgIfq942MRFr3It9MDpLo395A/M9rpRButTMeJymwmH4eClOBQeJBhTjgilEQPUMIVdz8FdMuUYSCKbpoSnB+R/5LGvXads0+2Sjv7uVtTKJltIIqyEGbaBcdomPUQBTdogf0jF6sO+vJerXePkcLVr6zhH7Aev8Aif+pjg==</latexit>

Page 19: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Fundamental Matrix

I2I1

m2

m1

F> ·m2 = 0<latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit><latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit><latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit>

Page 20: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Essential Matrix: 8-points algorithm

• From:

• We can define a linear system as:

• Given enough matches we can solve the system using the SVD. How many do we need? 8 is the minimum, as usual the more the better!

• This method is called 8-points algorithm, and it can be applied for computing F as well (we use pixel coordinates instead of normalized coordinates).

A · b = 0

A =

2

664

(p11)

> ⌦ (p12)

>

(p21)

> ⌦ (p22)

>

. . .(pn

1 )> ⌦ (pn

2 )>

3

775 b = vec(E)

m>2 · E · m1 = 0

A =

2

64(m1

1)> ⌦ (m1

2)>

...(mn

1 )> ⌦ (mn

2 )>

3

75 b = vec(E)

Page 21: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Essential Matrix• The Kronecker product is defined as

• where A is m×n matrix, and B is a r×s matrix.

A⌦B =

2

6664

a1,1 ·B . . . a1,n ·Ba2,1 ·B . . . a2,n ·B

... . . ....

am,1 ·B . . . am,n ·B

3

7775

Page 22: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Essential Matrix: Practice

• Typically, we compute E indirectly by computing F and then converting it into E :

• Why?

• The main reason is that we avoid to multiply K times all coordinates of points:

• computational efficiency.

• reducing accumulation of numerical errors.

E = K>2 · F ·K1

<latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit><latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit><latexit sha1_base64="+NNPcjatjbkg5pujiKL5LtdcjHU=">AAACBXicbVBNSwMxEM36WevXqkcRgkXwVHaLoB6EoihCLxWsLXTrkk3TNjS7WZJZoSw9efGvePGg4tX/4M1/Y9ruQVsfDPN4b4ZkXhALrsFxvq25+YXFpeXcSn51bX1j097avtMyUZTVqBRSNQKimeARqwEHwRqxYiQMBKsH/YuRX39gSnMZ3cIgZq2QdCPe4ZSAkXx77xKf4YpfuvdAxtijbQn4atIqvuvbBafojIFniZuRAspQ9e0vry1pErIIqCBaN10nhlZKFHAq2DDvJZrFhPZJlzUNjUjIdCsdnzHEB0Zp445UpiLAY/X3RkpCrQdhYCZDAj097Y3E/7xmAp2TVsqjOAEW0clDnURgkHiUCW5zxSiIgSGEKm7+immPKELBJJc3IbjTJ8+SWql4WnRujgrl8yyNHNpF++gQuegYldE1qqIaougRPaNX9GY9WS/Wu/UxGZ2zsp0d9AfW5w+Qi5bY</latexit>

Page 23: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Essential Matrix: Practice

• If we solve the linear system using pixel coordinates, we may have numerical instabilities because pixel coordinates vary in [1, w] and in [1, h] (where h and w are, respectively, the height and width of the image).

• For reducing instabilities, we need to bound values in the range .

• Given the input n points mi, we compute:

u =1

n

nX

i=1

ui v =1

n

nX

i=1

vi mi =

2

4ui

vi1

3

5

s =1

np2

nX

i=1

p(vi � u)2 + (ui � v)2

[�p2,p2]

<latexit sha1_base64="tVqBtoomFSPBWvMEUqf4amPNCjM=">AAAB/XicbZDNSsNAFIUn9a/Wv6i4cjNYBBdakiKou6IblxWMLaShTKbTduhkEmduhBIKvoobFypufQ93vo3TNoK2Hhj4OPde7p0TJoJrcJwvq7CwuLS8Ulwtra1vbG7Z2zt3Ok4VZR6NRayaIdFMcMk84CBYM1GMRKFgjXBwNa43HpjSPJa3MExYEJGe5F1OCRirbe/5Jy19ryCrjo7xDwVtu+xUnInwPLg5lFGuetv+bHVimkZMAhVEa991EggyooBTwUalVqpZQuiA9JhvUJKI6SCbnD/Ch8bp4G6szJOAJ+7viYxEWg+j0HRGBPp6tjY2/6v5KXTPg4zLJAUm6XRRNxUYYjzOAne4YhTE0AChiptbMe0TRSiYxEomBHf2y/PgVSsXFefmtFy7zNMoon10gI6Qi85QDV2jOvIQRRl6Qi/o1Xq0nq03633aWrDymV30R9bHNxi6lSE=</latexit><latexit sha1_base64="tVqBtoomFSPBWvMEUqf4amPNCjM=">AAAB/XicbZDNSsNAFIUn9a/Wv6i4cjNYBBdakiKou6IblxWMLaShTKbTduhkEmduhBIKvoobFypufQ93vo3TNoK2Hhj4OPde7p0TJoJrcJwvq7CwuLS8Ulwtra1vbG7Z2zt3Ok4VZR6NRayaIdFMcMk84CBYM1GMRKFgjXBwNa43HpjSPJa3MExYEJGe5F1OCRirbe/5Jy19ryCrjo7xDwVtu+xUnInwPLg5lFGuetv+bHVimkZMAhVEa991EggyooBTwUalVqpZQuiA9JhvUJKI6SCbnD/Ch8bp4G6szJOAJ+7viYxEWg+j0HRGBPp6tjY2/6v5KXTPg4zLJAUm6XRRNxUYYjzOAne4YhTE0AChiptbMe0TRSiYxEomBHf2y/PgVSsXFefmtFy7zNMoon10gI6Qi85QDV2jOvIQRRl6Qi/o1Xq0nq03633aWrDymV30R9bHNxi6lSE=</latexit><latexit sha1_base64="tVqBtoomFSPBWvMEUqf4amPNCjM=">AAAB/XicbZDNSsNAFIUn9a/Wv6i4cjNYBBdakiKou6IblxWMLaShTKbTduhkEmduhBIKvoobFypufQ93vo3TNoK2Hhj4OPde7p0TJoJrcJwvq7CwuLS8Ulwtra1vbG7Z2zt3Ok4VZR6NRayaIdFMcMk84CBYM1GMRKFgjXBwNa43HpjSPJa3MExYEJGe5F1OCRirbe/5Jy19ryCrjo7xDwVtu+xUnInwPLg5lFGuetv+bHVimkZMAhVEa991EggyooBTwUalVqpZQuiA9JhvUJKI6SCbnD/Ch8bp4G6szJOAJ+7viYxEWg+j0HRGBPp6tjY2/6v5KXTPg4zLJAUm6XRRNxUYYjzOAne4YhTE0AChiptbMe0TRSiYxEomBHf2y/PgVSsXFefmtFy7zNMoon10gI6Qi85QDV2jOvIQRRl6Qi/o1Xq0nq03633aWrDymV30R9bHNxi6lSE=</latexit>

Page 24: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The Essential Matrix: Practice

• Finally, we shift and scale all n points using the following:

• We can now solve the linear system without numerical instabilities (or reducing them).

• Note that this operation, shift and scale, needs to be done for estimating a homography as well.

ui =ui � u

s

vi =vi � v

s

Page 25: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Non-Linear Optimization• As seen before, we need to refine E using a geometric

error, note that we compute E indirectly so we minimize F:

• where d𝜋 is the distance point-line ( is a line), and n is the number of matched points.

• Again we can solve it with the Nelder-Mead method (fminsearch in MATLAB).

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

Page 26: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Non-Linear Optimization• As seen before, we need to refine E using a geometric

error, note that we compute E indirectly so we minimize F:

• where d𝜋 is the distance point-line ( is a line), and n is the number of matched points.

• Again we can solve it with the Nelder-Mead method (fminsearch in MATLAB).

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

This is a lineargmin

E

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

Page 27: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Non-Linear Optimization• As seen before, we need to refine E using a geometric

error, note that we compute E indirectly so we minimize F:

• where d𝜋 is the distance point-line ( is a line), and n is the number of matched points.

• Again we can solve it with the Nelder-Mead method (fminsearch in MATLAB).

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

This is a line This is a lineargmin

E

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

Page 28: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Non-Linear Optimization: First Term of the Energy

I1

mi1

i

I2

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

F ·m1 = 0<latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit><latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit><latexit sha1_base64="df+ueZ9iy5T6iYr61cKNZLzHLvo=">AAACAnicbVBNS8NAEN3Ur1q/ot70slgETyURQT0IRUE8VjC20ISw2WzapbvZsLsRSih48a948aDi1V/hzX/jts1BWx8MPN6bYWZelDGqtON8W5WFxaXllepqbW19Y3PL3t65VyKXmHhYMCE7EVKE0ZR4mmpGOpkkiEeMtKPB1dhvPxCpqEjv9DAjAUe9lCYUI22k0N6D19DHsdDQ50j3o6Tgo9CFFxA6oV13Gs4EcJ64JamDEq3Q/vJjgXNOUo0ZUqrrOpkOCiQ1xYyMan6uSIbwAPVI19AUcaKCYvLDCB4aJYaJkKZSDSfq74kCcaWGPDKd40PVrDcW//O6uU7OgoKmWa5JiqeLkpxBLeA4EBhTSbBmQ0MQltTcCnEfSYS1ia1mQnBnX54n3nHjvOHcntSbl2UaVbAPDsARcMEpaIIb0AIewOARPINX8GY9WS/Wu/Uxba1Y5cwu+APr8weTNpW+</latexit>

mi2

Page 29: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Non-Linear Optimization: Second Term of the Energy

argminE

nX

i=1

d⇡(F ·mi1,m

i2)

2 + d⇡(F> ·mi

2,mi1)

2

I1

mi2

mi1

F> ·m2 = 0<latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit><latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit><latexit sha1_base64="91/9qS3UFAB1EJUhF7qN1KD5cJ8=">AAACBXicbVBNS8NAEN3Ur1q/oh5FWCyCp5IWQT0IRUE8VrC20MSw2W7apZts2J0IJfTkxb/ixYOKV/+DN/+Nm7YHbX0w8Hhvhpl5QSK4Bsf5tgoLi0vLK8XV0tr6xuaWvb1zp2WqKGtSKaRqB0QzwWPWBA6CtRPFSBQI1goGl7nfemBKcxnfwjBhXkR6MQ85JWAk396/undBJtilXQnYjQj0gzCLRn4Nn2PHt8tOxRkDz5PqlJTRFA3f/nK7kqYRi4EKonWn6iTgZUQBp4KNSm6qWULogPRYx9CYREx72fiNET40SheHUpmKAY/V3xMZibQeRoHpzO/Us14u/ud1UghPvYzHSQosppNFYSowSJxngrtcMQpiaAihiptbMe0TRSiY5EomhOrsy/OkWaucVZyb43L9YppGEe2hA3SEqugE1dE1aqAmougRPaNX9GY9WS/Wu/UxaS1Y05ld9AfW5w/m05eq</latexit>

i

I2

Page 30: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Now we have E, and so what?

Page 31: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization• Once we have estimated E, we would like estimate

R and t to get the pose of the camera:

• As you may notice we have:

• [t]× = S is an anti-symmetric matrix.

• R is orthogonal matrix.

E = [t]⇥ ·R

Page 32: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization• Given a m×n matrix A, its SVD decomposition is defined

as:

• where:

• U is an m×m orthogonal matrix.

• Σ is a diagonal m×n matrix.

• V* is the conjugate transpose of an orthogonal matrix.

SVD(A) = U · ⌃ · V ⇤

Page 33: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization• Theorem: A 3×3 matrix is an essential matrix if and only

if two singular values are equal and the third is zero.

• This means that:

• Note that:

SVD(E) = U · diag(1, 1, 0) · V >

diag(1, 1, 0) = W · Z

W =

2

40 �1 01 0 00 0 1

3

5 Z =

2

40 1 0�1 0 00 0 0

3

5

Page 34: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization

• Lemma: Given R a rotation matrix, and U and V two orthogonal matrices, we have that:

• Note that is still a rotation matrix!

R0 = det(U · V >) · U ·R ·R>

R0 = det(U · V >) · U ·R ·R>

Page 35: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization

• Given that:

• We can have four possible factorizations of E such that E = S . R:

SVD(E) = U · diag(1, 1, 0) · V >

S = U · (±Z) · U>

R = U ·W · V > or R = U ·W> · V >

S = U · (±Z) · U>

R = U ·W · V > or R = U ·W> · V >

Page 36: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1 C2 C1 C2

Page 37: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1 C2 C1 C2

Both cameras see the point. It is

in front of them

Page 38: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1 C2 C1 C2

Both cameras don’t see the point. It is behind them

Both cameras see the point. It is

in front of them

Page 39: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1

C2 C1

C2

Page 40: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1

C2 C1

C2

Left camera doesn’t see the point.

It is behind them

Page 41: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

E Factorization: The Four Cases

C1

C2 C1

C2

Left camera doesn’t see the point.

It is behind them

Left camera doesn’t see the point.

It is behind them

Page 42: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Which is the correct configuration?

Page 43: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

C1 C2

Page 44: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Why?

Page 45: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

The red point is seen by both cameras!

Page 46: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

How do we find it?

Page 47: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

We need to compute all cases. Then, we determine the case in

which the majority of 3D points are in front of both cameras!

Page 48: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation

Page 49: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation

• Input: n matched 2D feature points in the two images and their P matrices (P1, and P2).

• Output: n 3D points.

Page 50: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Pure Translational Motion Case

X

Z M

m1 m2

f

b

M =

2

664

xyz1

3

775

mi =

2

4ui

vi1

3

5

Page 51: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation

• We first fix the frame of reference to one of the two cameras. Then, we know that:

• So, we can obtain:

(fz = �u1

xfz = � u2

x�b

z =b · f

u2 � u1

Page 52: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Pure Rotational Motion Case

X

Z M

m1 m2

M =

2

664

xyz1

3

775

mi =

2

4ui

vi1

3

5

There is no displacement —> The same lines for intersection —> no 3D

Page 53: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: The General Case

M

m1

m2

C1

C2

Camera 1

Camera 2

Page 54: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Similar to DLT but different!

Page 55: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method

P =

2

4p>1

p>2

p>3

3

5

8<

:u = p>

1 ·Mp>

3 ·M

v = p>2 ·M

p>3 ·M

Page 56: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method

P =

2

4p>1

p>2

p>3

3

5

8<

:u = p>

1 ·Mp>

3 ·M

v = p>2 ·M

p>3 ·M

known!

Page 57: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method

P =

2

4p>1

p>2

p>3

3

5

8<

:u = p>

1 ·Mp>

3 ·M

v = p>2 ·M

p>3 ·M

known! unknown!

Page 58: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

• This leads to:

• Given that:

Triangulation: Eigen Method

((p1 � u · p1)> ·M = 0

(p2 � v · p1)> ·M = 0

Pi =

2

4(pi

1)>

(pi2)

>

(pi3)

>

3

5 mi =

2

4ui

vi1

3

5

Page 59: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method• We obtain:

• For l cameras, this leads to:

2

664

(p11 � u1 · p1

3)>

(p12 � v1 · p1

3)>

(p21 � u2 · p2

3)>

(p22 � v2 · p2

3)>

3

775 ·M = 0

2

666664

(p11 � u1 · p1

3)>

(p12 � u1 · p1

3)>

...(pl

1 � u1 · pl3)

>

(pl2 � u1 · pl

3)>

3

777775·M = 0

Page 60: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method• Again, we solve this linear system using SVD; i.e., the kernel of V:

• Again, we minimized an algebraic error without a geometric meaning!

• Again, we use this initial solution for a non-linear method that minimizes a geometric error. Here for each 3D points M, we minimize:

• where l is the number of cameras. [uj, vj, 1] is corner in the l-th camera (i.e., it is “the photograph” of M).

argminM

lX

j=1

✓uj �

(pj1)

> ·M(pj

3)> ·M

◆2

+

✓vj �

(pj2)

> ·M(pj

3)> ·M

◆2

<latexit sha1_base64="tgbyoZl2uYjfu4GCSF3+3G0c254=">AAAC5HicrVJNaxsxENVuv1L3y22OvYiYgkOp2XULbQ+FkFxyCaQQNwHLXrSydiNHH4s0GzDL3nvJIS255kf11v+SQ7W2W1KnuXVA8HjzNG80o7SQwkEU/QzCO3fv3X+w9rD16PGTp8/az198caa0jA+YkcYepdRxKTQfgADJjwrLqUolP0xPdpr84Sm3Thh9ALOCjxTNtcgEo+CppH1FqM2JEjqpiKJwnGbVXl0TV6qkmn6K67HELZKKPJfdVplM8RtMMktZ1f2tLurxNIk3xwRMQdjEAL5WZ0X29hbZwsFujvuv/5id3mrW/19mraTdiXrRPPBNEC9BBy1jP2n/IBPDSsU1MEmdG8ZRAaOKWhBMcl+6dLyg7ITmfOihpoq7UTXfUo1feWaCM2P90YDn7PUbFVXOzVTqlU23bjXXkP/KDUvIPowqoYsSuGYLo6yUGAxuVo4nwnIGcuYBZVb4XjE7pn6w4D9GM4R49ck3waDf+9iLPr/rbG0vp7GGXqIN1EUxeo+20C7aRwPEgjT4GpwH38I8PAu/hxcLaRgs76yjvyK8/AVs9epM</latexit><latexit sha1_base64="tgbyoZl2uYjfu4GCSF3+3G0c254=">AAAC5HicrVJNaxsxENVuv1L3y22OvYiYgkOp2XULbQ+FkFxyCaQQNwHLXrSydiNHH4s0GzDL3nvJIS255kf11v+SQ7W2W1KnuXVA8HjzNG80o7SQwkEU/QzCO3fv3X+w9rD16PGTp8/az198caa0jA+YkcYepdRxKTQfgADJjwrLqUolP0xPdpr84Sm3Thh9ALOCjxTNtcgEo+CppH1FqM2JEjqpiKJwnGbVXl0TV6qkmn6K67HELZKKPJfdVplM8RtMMktZ1f2tLurxNIk3xwRMQdjEAL5WZ0X29hbZwsFujvuv/5id3mrW/19mraTdiXrRPPBNEC9BBy1jP2n/IBPDSsU1MEmdG8ZRAaOKWhBMcl+6dLyg7ITmfOihpoq7UTXfUo1feWaCM2P90YDn7PUbFVXOzVTqlU23bjXXkP/KDUvIPowqoYsSuGYLo6yUGAxuVo4nwnIGcuYBZVb4XjE7pn6w4D9GM4R49ck3waDf+9iLPr/rbG0vp7GGXqIN1EUxeo+20C7aRwPEgjT4GpwH38I8PAu/hxcLaRgs76yjvyK8/AVs9epM</latexit><latexit sha1_base64="tgbyoZl2uYjfu4GCSF3+3G0c254=">AAAC5HicrVJNaxsxENVuv1L3y22OvYiYgkOp2XULbQ+FkFxyCaQQNwHLXrSydiNHH4s0GzDL3nvJIS255kf11v+SQ7W2W1KnuXVA8HjzNG80o7SQwkEU/QzCO3fv3X+w9rD16PGTp8/az198caa0jA+YkcYepdRxKTQfgADJjwrLqUolP0xPdpr84Sm3Thh9ALOCjxTNtcgEo+CppH1FqM2JEjqpiKJwnGbVXl0TV6qkmn6K67HELZKKPJfdVplM8RtMMktZ1f2tLurxNIk3xwRMQdjEAL5WZ0X29hbZwsFujvuv/5id3mrW/19mraTdiXrRPPBNEC9BBy1jP2n/IBPDSsU1MEmdG8ZRAaOKWhBMcl+6dLyg7ITmfOihpoq7UTXfUo1feWaCM2P90YDn7PUbFVXOzVTqlU23bjXXkP/KDUvIPowqoYsSuGYLo6yUGAxuVo4nwnIGcuYBZVb4XjE7pn6w4D9GM4R49ck3waDf+9iLPr/rbG0vp7GGXqIN1EUxeo+20C7aRwPEgjT4GpwH38I8PAu/hxcLaRgs76yjvyK8/AVs9epM</latexit>

Page 61: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method Example

C1

C2

Camera 1

Camera 2

Projected M(triangulated)Corner mi

M (triangulated)

Page 62: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method Example

C1

C2

Camera 1

Camera 2

M (real)

Projected M(triangulated)Corner mi

M (triangulated)

Page 63: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Triangulation: Eigen Method Example

C1

C2

Camera 1

Camera 2

NOTE: with the Geometric minimization, we force the green point to be the same as the red one.

M (real)

Projected M(triangulated)Corner mi

M (triangulated)

Page 64: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from

Motion

Page 65: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion

• Input: n matched points (corners computed with the Harris algorithm) between two images, and K1 and K2 for the two cameras.

• Output: n 3D points, and G1 and G2 (i.e., for each camera).

Page 66: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion

• The algorithm is:

• Estimation of E.

• Factorization of E to obtain G.

• Triangulation of the n matched points using P1 and P2.

Page 67: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

So far we have only used only a two cameras!

Page 68: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

• We compute G for different views using the previous algorithm.

• We use a reference view for computing the different G matrices. For example, we can use the first image.

Structure from Motion: Multi-View

Page 69: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

P1

P2P3

Structure from Motion: Multi-View Example

Page 70: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

P1

P2 ReferenceP3

Structure from Motion: Multi-View Example

Page 71: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Multi-View Example

P1

P2P3 Reference

We compute G12

Page 72: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

P1

P2P3 Reference

We compute G13

Structure from Motion: Multi-View Example

Page 73: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Hang on, was it a good reference the one before?

Page 74: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Hang on, what can possibly go wrong?

Page 75: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

We are accumulating error, and we will drift

from the solution!

Page 76: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Bundle Adjustment

• To avoid error accumulation, we minimize in a non-linear way at the same time both poses estimation and 3D points generation:

• where l is the number of cameras, and n is the number of points.

P = K · [R|t]<latexit sha1_base64="OCW9Ob3Efg7x1KXDx4xLktLUPUo=">AAACAXicbVBNS8NAEN3Ur1q/qp7Ey2IRPJVUBPUgFL0IXqpYW0hC2Ww27dLNJuxOhBKLF/+KFw8qXv0X3vw3btoetPXBwOO9GWbm+YngGmz72yrMzS8sLhWXSyura+sb5c2tOx2nirImjUWs2j7RTHDJmsBBsHaiGIl8wVp+/yL3W/dMaR7LWxgkzItIV/KQUwJG6pR3GvgMX2GXBjE4Nw9uRKDnhxkMvU65YlftEfAsqU1IBU3Q6JS/3CCmacQkUEG0dmp2Al5GFHAq2LDkppolhPZJlzmGShIx7WWjF4Z43ygBDmNlSgIeqb8nMhJpPYh805mfqKe9XPzPc1IIT7yMyyQFJul4UZgKDDHO88ABV4yCGBhCqOLmVkx7RBEKJrWSCaE2/fIsaR5WT6v29VGlfj5Jo4h20R46QDV0jOroEjVQE1H0iJ7RK3qznqwX6936GLcWrMnMNvoD6/MHhuyWdg==</latexit><latexit sha1_base64="OCW9Ob3Efg7x1KXDx4xLktLUPUo=">AAACAXicbVBNS8NAEN3Ur1q/qp7Ey2IRPJVUBPUgFL0IXqpYW0hC2Ww27dLNJuxOhBKLF/+KFw8qXv0X3vw3btoetPXBwOO9GWbm+YngGmz72yrMzS8sLhWXSyura+sb5c2tOx2nirImjUWs2j7RTHDJmsBBsHaiGIl8wVp+/yL3W/dMaR7LWxgkzItIV/KQUwJG6pR3GvgMX2GXBjE4Nw9uRKDnhxkMvU65YlftEfAsqU1IBU3Q6JS/3CCmacQkUEG0dmp2Al5GFHAq2LDkppolhPZJlzmGShIx7WWjF4Z43ygBDmNlSgIeqb8nMhJpPYh805mfqKe9XPzPc1IIT7yMyyQFJul4UZgKDDHO88ABV4yCGBhCqOLmVkx7RBEKJrWSCaE2/fIsaR5WT6v29VGlfj5Jo4h20R46QDV0jOroEjVQE1H0iJ7RK3qznqwX6936GLcWrMnMNvoD6/MHhuyWdg==</latexit><latexit sha1_base64="OCW9Ob3Efg7x1KXDx4xLktLUPUo=">AAACAXicbVBNS8NAEN3Ur1q/qp7Ey2IRPJVUBPUgFL0IXqpYW0hC2Ww27dLNJuxOhBKLF/+KFw8qXv0X3vw3btoetPXBwOO9GWbm+YngGmz72yrMzS8sLhWXSyura+sb5c2tOx2nirImjUWs2j7RTHDJmsBBsHaiGIl8wVp+/yL3W/dMaR7LWxgkzItIV/KQUwJG6pR3GvgMX2GXBjE4Nw9uRKDnhxkMvU65YlftEfAsqU1IBU3Q6JS/3CCmacQkUEG0dmp2Al5GFHAq2LDkppolhPZJlzmGShIx7WWjF4Z43ygBDmNlSgIeqb8nMhJpPYh805mfqKe9XPzPc1IIT7yMyyQFJul4UZgKDDHO88ABV4yCGBhCqOLmVkx7RBEKJrWSCaE2/fIsaR5WT6v29VGlfj5Jo4h20R46QDV0jOroEjVQE1H0iJ7RK3qznqwX6936GLcWrMnMNvoD6/MHhuyWdg==</latexit>

arg minRi,ti,Mi

lX

j=1

nX

i=1

✓uij �

(pj1)

> ·Mi

(pj3)

> ·Mi

◆2

+

✓vij �

(pj2)

> ·Mi

(pj3)

> ·Mi

◆2

<latexit sha1_base64="iv8ND/8gWYWdlskkT7a0HK7d4R0=">AAADFXicrVLLbtNAFB2bVwmvtF2yGREhpaJEdkBqu0CqYMMGqSBCK8WxNZ6M3UnnYc1cV4osf0U3/AobFoDYIrHjbxgnBrUpsOJKI51zX+fOnUkLwS0EwQ/Pv3L12vUbazc7t27fuXuvu77xzurSUDaiWmhzlBLLBFdsBBwEOyoMIzIV7DA9edHED0+ZsVyrtzAv2ESSXPGMUwLOlax72xExeSS5Sqo3Md/GkSRwnGYV1OfZK8fqTmRLmVSzZ2EdC9wy3jDlWMrzXPQ7ZTKLOX6Mo8wQWvV/NSjqeJaEW3EEuojoVMPF1iuJT/6auNQxW/Hw0W/J039IDv+nZCfp9oJBsDB8GYQt6KHWDpLu92iqaSmZAiqIteMwKGBSEQOcCuZal5YVhJ6QnI0dVEQyO6kWz1rjh84zxZk27ijAC+/5iopIa+cydZnNvHY11jj/FBuXkO1OKq6KEpiiS6GsFBg0bv4InnLDKIi5A4Qa7mbF9Ji45YL7Sc0SwtUrXwaj4WBvELx+2tt/3m5jDd1HD1AfhWgH7aOX6ACNEPXOvA/eJ++z/97/6H/xvy5Tfa+t2UQXzP/2E0lZ/Dk=</latexit><latexit sha1_base64="iv8ND/8gWYWdlskkT7a0HK7d4R0=">AAADFXicrVLLbtNAFB2bVwmvtF2yGREhpaJEdkBqu0CqYMMGqSBCK8WxNZ6M3UnnYc1cV4osf0U3/AobFoDYIrHjbxgnBrUpsOJKI51zX+fOnUkLwS0EwQ/Pv3L12vUbazc7t27fuXuvu77xzurSUDaiWmhzlBLLBFdsBBwEOyoMIzIV7DA9edHED0+ZsVyrtzAv2ESSXPGMUwLOlax72xExeSS5Sqo3Md/GkSRwnGYV1OfZK8fqTmRLmVSzZ2EdC9wy3jDlWMrzXPQ7ZTKLOX6Mo8wQWvV/NSjqeJaEW3EEuojoVMPF1iuJT/6auNQxW/Hw0W/J039IDv+nZCfp9oJBsDB8GYQt6KHWDpLu92iqaSmZAiqIteMwKGBSEQOcCuZal5YVhJ6QnI0dVEQyO6kWz1rjh84zxZk27ijAC+/5iopIa+cydZnNvHY11jj/FBuXkO1OKq6KEpiiS6GsFBg0bv4InnLDKIi5A4Qa7mbF9Ji45YL7Sc0SwtUrXwaj4WBvELx+2tt/3m5jDd1HD1AfhWgH7aOX6ACNEPXOvA/eJ++z/97/6H/xvy5Tfa+t2UQXzP/2E0lZ/Dk=</latexit><latexit sha1_base64="iv8ND/8gWYWdlskkT7a0HK7d4R0=">AAADFXicrVLLbtNAFB2bVwmvtF2yGREhpaJEdkBqu0CqYMMGqSBCK8WxNZ6M3UnnYc1cV4osf0U3/AobFoDYIrHjbxgnBrUpsOJKI51zX+fOnUkLwS0EwQ/Pv3L12vUbazc7t27fuXuvu77xzurSUDaiWmhzlBLLBFdsBBwEOyoMIzIV7DA9edHED0+ZsVyrtzAv2ESSXPGMUwLOlax72xExeSS5Sqo3Md/GkSRwnGYV1OfZK8fqTmRLmVSzZ2EdC9wy3jDlWMrzXPQ7ZTKLOX6Mo8wQWvV/NSjqeJaEW3EEuojoVMPF1iuJT/6auNQxW/Hw0W/J039IDv+nZCfp9oJBsDB8GYQt6KHWDpLu92iqaSmZAiqIteMwKGBSEQOcCuZal5YVhJ6QnI0dVEQyO6kWz1rjh84zxZk27ijAC+/5iopIa+cydZnNvHY11jj/FBuXkO1OKq6KEpiiS6GsFBg0bv4InnLDKIi5A4Qa7mbF9Ji45YL7Sc0SwtUrXwaj4WBvELx+2tt/3m5jDd1HD1AfhWgH7aOX6ACNEPXOvA/eJ++z/97/6H/xvy5Tfa+t2UQXzP/2E0lZ/Dk=</latexit>

Page 77: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Bundle Adjustment

• Typically, the method is difficult to minimize as a whole thing. This is because there are many parameters to minimize.

• A two-step approach:

• First, minimize (or viceversa) all extrinsic parameters (G) without modifying the 3D points.

• Then, minimize (or viceversa) 3D points coordinates without modifying G.

Page 78: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Example

Page 79: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Example

Page 80: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Example

Page 81: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure From Motion: Multi-View

• To obtain something of interesting:

• we need to feed into the system hundreds of images.

• we need to manage thousands of features (corners)!

• Even the two-step approach would struggle a bit.

Page 82: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Multi-View

• To make the problem computational tractable, we can notice this:

12 4

3 5

6 8

7 9

A B C D

1,2,3,4,5,6,7,8, and 9 are points A,B,C, and D are cameras the point is seen in a camera

Page 83: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Multi-View

• The idea is to divide the scene into clusters.

• For each cluster we compute SfM.

• We combine all 3D reconstructions and camera poses together.

Page 84: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Multi-View

12 4

3 5

6 8

7 9

A B C D

Cluster A Cluster B

Page 85: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Conclusions

• Advantages:

• It requires only photographs/videos: cheap and fast.

• We can recover color information from photographs!

• Disadvantages:

• The output model may be skewed; it is hard to keep two things going at the same time (3D points and cameras’ poses).

• We do not have the scale of the 3D scene; we need some reference measures.

Page 86: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Scale

• This scale factor is due to the fact we do not know the real scale.

• if we took a photograph of:

• a large object far away from the camera.

• a small object near the camera. •

Page 87: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

Structure from Motion: Scale ExampleDLT: Direct Linear Transform

Case 1 Case 2

Page 88: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

One more thing…

Page 89: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

We have some wrong matches!

Page 90: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC• Random sample consensus (RANSAC) is an

iterative method for estimating the parameters of a model in a robust way.

• The main idea is to get a subset of the set of samples and to estimate the model with this subset:

• We estimate the model using the best subset of samples!

Page 91: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC

• Input: a set of n samples S, and a model 𝜋.

• Output: parameters, P, for the model 𝜋., and the subset of S that was used to compute P.

Page 92: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC• e = +∞ and Sb = ∅

• For each iteration:

• Si ⊂ S where Si is random.

• Estimate Pi for 𝜋 using Si

• Compute the error ei for Pi

• if ei < e then

• e = ei and Sb = Si

Page 93: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example𝜋: a straight line

Si and Sb

Page 94: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 0 e = +∞

𝜋: a straight line

Si and Sb

Page 95: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 1 e = +∞

𝜋: a straight line

Si and Sb

Page 96: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 1 e = +∞

𝜋: a straight line

Si and Sb

Page 97: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 1 e = +∞

ei = 10

𝜋: a straight line

Si and Sb

Page 98: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 2 e = 10

𝜋: a straight line

Si and Sb

Page 99: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 2 e = 10

𝜋: a straight line

Si and Sb

Page 100: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 2 e = 10

𝜋: a straight line

Si and Sb

Page 101: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 2 e = 10

ei = 1𝜋: a straight line

Si and Sb

Page 102: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Example

Iteration 2 e = 1

𝜋: a straight line

Si and Sb

Page 103: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

and we continue for n iterations…

Page 104: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

how many?

Page 105: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Iterations

• n has to be large; i.e., we need to have at least one subset containing only inliers Sinliers:

• We are interested for P = 1.

P (|Si| = c) = 1�✓1�

✓1� |Soutliers|

|S|

◆c◆n

Si ✓ Sinliers

Page 106: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC• When do we need to use it?

• Estimation of the fundamental/essential matrix.

• Estimation of a homography in the general case.

• When we do not need it for:

• DLT and Zhang’s algorithm:

• corners are extracted in an accurate way using a calibration pattern!

Page 107: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

RANSAC: Fundamental Matrix Estimation• The algorithm is modified a bit:

• We count the inliers of each set given a threshold:

• terr takes into account this constraint:

• If we have a set with more inliers of the previous one it is accepted.

• We compute the F using only the inliers!

m>2 · F ·m1 = 0

m>1 · F> ·m2 = 0

<latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit><latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit><latexit sha1_base64="Zl/LEIAhHeXLtIBq6dAY2KMtuQ8=">AAACU3icbVHPS8MwGE3r1DmdTj16CQ7B02iHoB6EoSAeJzg3WGtJs3QLS5uSfBVG2R+pB8G/xIsHs62H/fCDkJf3vUe+vISp4Boc59uyt0rbO7vlvcr+QfXwqHZ88qplpijrUCmk6oVEM8ET1gEOgvVSxUgcCtYNxw+zfvedKc1l8gKTlPkxGSY84pSAoYLa2IsJjMIoj6dB880DmWLs0YEE/FjsSwIX32HseF5lmVs1LU4bzqZxOkGt7jSceeFN4BagjopqB7VPbyBpFrMEqCBa910nBT8nCjgVbFrxMs1SQsdkyPoGJiRm2s/noUzxhWEGOJLKrATwnF125CTWehKHRjmbU6/3ZuR/vX4G0Y2f8yTNgCV0cVGUCQwSzxLGA64YBTExgFDFzayYjogiFMw/VEwI7vqTN0Gn2bhtOM9X9dZ9kUYZnaFzdIlcdI1a6Am1UQdR9IF+LGRZ1pf1a9t2aSG1rcJzilbKrv4BS8axBg==</latexit>

Page 108: 3D from Photographs: Structure From Motion · 2020-04-28 · 3D from Photographs: Structure From Motion Dr Francesco Banterle francesco.banterle@isti.cnr.it. Note: in these slides

that’s all folks!