1
00:00:00,550 --> 00:00:02,719
Welcome back to Computer Vision.
2
00:00:02,719 --> 00:00:06,530
I hope it's welcome back because if you're jumping in now
3
00:00:06,530 --> 00:00:09,168
you missed some really good jokes and some of the better lectures.
4
00:00:09,168 --> 00:00:11,630
the, this one's okay, actually.
5
00:00:11,630 --> 00:00:15,000
Anyway, today we're going to talk about extrinsic camera calibration.
6
00:00:15,000 --> 00:00:16,660
We'll define what that means in a minute.
7
00:00:16,660 --> 00:00:19,300
We took a little hiatus to talk about stereo so
8
00:00:19,300 --> 00:00:20,800
you guys could get working on your stereo, and
9
00:00:20,800 --> 00:00:27,760
stereo was our first look at multiview geometry, multiview cameras.
10
00:00:27,760 --> 00:00:31,770
And we talked about how, in order to do real depth reconstruction,
11
00:00:31,770 --> 00:00:36,140
we have to understand the geometry of what's gong on between the cameras, and
12
00:00:36,140 --> 00:00:38,650
that's what we're going to start talking about today.
13
00:00:38,650 --> 00:00:42,450
So, before the stereo thing, the stereo sections,
14
00:00:42,450 --> 00:00:46,340
we introduced a projection, perspective projection.
15
00:00:46,340 --> 00:00:49,520
And here is the model that we used.
16
00:00:49,520 --> 00:00:52,680
In particular, we had a system where we went, where we had a center of
17
00:00:52,680 --> 00:00:59,480
projection that was located at the origin of a three-dimensional camera system.
18
00:00:59,480 --> 00:01:03,590
And then we derived from simu, similar triangles the location on
19
00:01:03,590 --> 00:01:08,020
the image of the point projected down onto the image plane.
20
00:01:08,020 --> 00:01:12,030
And then in order to figure out where the point was going to land on the image,
21
00:01:12,030 --> 00:01:14,600
we just eliminated that last coordinate.
22
00:01:14,600 --> 00:01:18,570
Now we said that this was a bit of an issue because this division by Z
23
00:01:18,570 --> 00:01:20,180
was non-linear.
24
00:01:20,180 --> 00:01:22,240
And because we had to pull out the particular Z,
25
00:01:22,240 --> 00:01:24,260
it wasn't a constant Z, it was the particular Z.
26
00:01:24,260 --> 00:01:27,660
So we introduced this notion of homogeneous coordinates.
27
00:01:27,660 --> 00:01:30,500
And the homogeneous coordinates essentially added an,
28
00:01:30,500 --> 00:01:32,250
another component to the vector.
29
00:01:32,250 --> 00:01:36,130
And if it was 2D, it became a three long vector, 3D became four.
30
00:01:36,130 --> 00:01:39,680
And the idea was, that we were going to be able to convert from
31
00:01:39,680 --> 00:01:43,400
homogenous to non-homogenous when we needed it.
32
00:01:43,400 --> 00:01:44,990
But before we did that,
33
00:01:44,990 --> 00:01:48,750
all of our operations could be done through matrix multiplication.
34
00:01:48,750 --> 00:01:51,373
Which, by the way made homogenous coordinates, the whole thing,
35
00:01:51,373 --> 00:01:52,282
invariant under scale.
36
00:01:52,282 --> 00:01:55,763
I could scale a coordinate, homogenous coordinate by anything and
37
00:01:55,763 --> 00:01:58,790
when I did the, the normalization, divide by w here.
38
00:01:58,790 --> 00:02:00,410
It would go away.
39
00:02:00,410 --> 00:02:04,640
And, one of the reasons we did this is we said that perspective projection
40
00:02:04,640 --> 00:02:07,740
could now be done as a matrix multiplication.
41
00:02:07,740 --> 00:02:11,820
So, here I've written, one, one, and here, we've got 1 over f.
42
00:02:11,820 --> 00:02:16,680
And by the way, just to make life easier, I'm using the absolute value of z, so
43
00:02:16,680 --> 00:02:19,100
we don't have to worry about z being positive or negative.
44
00:02:19,100 --> 00:02:22,420
So, when I do the multiplication, I get this homogeneous coordinate.
45
00:02:22,420 --> 00:02:24,060
And when I want to normalize and
46
00:02:24,060 --> 00:02:27,940
go to unhomogeneous, I get the u v by dividing it out.
47
00:02:27,940 --> 00:02:31,250
But in all of this discussion about projection,
48
00:02:31,250 --> 00:02:34,350
we have the notion of a camera's coordinate system.
49
00:02:34,350 --> 00:02:36,030
By the way, I'm going to go like this.
50
00:02:36,030 --> 00:02:39,920
And it's not some like, weird curse in Georgia.
51
00:02:39,920 --> 00:02:42,050
It's, it's a coordinate system, one, two, three.
52
00:02:42,050 --> 00:02:44,250
Okay, so we have an origin and a coordinate system.
53
00:02:44,250 --> 00:02:47,330
And we said that we put the center of projection at the camera's
54
00:02:47,330 --> 00:02:48,040
coordinate system.
55
00:02:48,040 --> 00:02:52,460
And we have the z axis, the optic axis going down the z axis.
56
00:02:52,460 --> 00:02:55,460
So to do geometric reasoning about the world, we need to know,
57
00:02:55,460 --> 00:02:57,650
we need to be able to relate the coordinate system of the,
58
00:02:57,650 --> 00:02:59,110
I guess I'm going to have to do this.
59
00:02:59,110 --> 00:03:00,370
We have to relate the coordinate system of
60
00:03:00,370 --> 00:03:03,320
the world to the coordinate system of the camera.
61
00:03:03,320 --> 00:03:06,518
And, in fact, today, what we'll do is the coordinate system from the world to
62
00:03:06,518 --> 00:03:08,283
the camera, and then next, I don't know,
63
00:03:08,283 --> 00:03:10,902
today, I don't know when you're going to watch it, next month.
64
00:03:10,902 --> 00:03:14,628
The next lesson will be the coordinate system from the camera 3D
65
00:03:14,628 --> 00:03:14,628
coordinate system, to the image.