포스트

[MIT 머신비전 2강] 사진 속 움직임으로 내가 어디로 가는지 알기 | 광류(Optical Flow)와 확장 초점(FOE)

MIT 6.801 머신비전(Machine Vision, Berthold Horn) 2강 정리. 원근 투영을 미분한 모션 필드, 확장 초점(FOE), 밝기 항상성 방정식과 광류(Optical Flow), 광마우스 원리를 쉽게 설명합니다.

[MIT 머신비전 2강] 사진 속 움직임으로 내가 어디로 가는지 알기 | 광류(Optical Flow)와 확장 초점(FOE)

MIT OpenCourseWare 6.801 2강 원본 영상 (영어)

한 줄 요약: 앞으로 나아가면 사진 속 모든 점이 한 점(확장 초점)에서 바깥으로 퍼져 나갑니다. 그 점이 내가 향하는 방향입니다. 그리고 “밝기는 움직여도 그대로”라는 가정 하나로, 픽셀의 밝기 변화만 보고 사진이 얼마나 움직였는지 계산할 수 있습니다.

원근 투영을 시간으로 미분하면

1강의 원근 투영 \(x/f = X/Z\)를 시간에 대해 미분하면, 세상의 움직임과 사진 속 움직임 사이의 관계가 나옵니다.

\[\frac{u}{f} = {\color{#eb6834}\frac{U}{Z}} - {\color{#2a78d6}\frac{X}{Z}\frac{W}{Z}}, \qquad \frac{v}{f} = {\color{#eb6834}\frac{V}{Z}} - {\color{#2a78d6}\frac{Y}{Z}\frac{W}{Z}}\]

식에 나오는 기호는 이렇습니다.

  • \(f\): 초점거리. 바늘구멍에서 사진 면까지의 거리입니다.
  • \(X, Y, Z\): World 3D 점의 좌표. \(X\)는 가로(좌우), \(Y\)는 세로(위아래), \(Z\)는 앞뒤(카메라에서의 거리)입니다.
  • \(x, y\): 그 점이 사진에 찍힌 Image 픽셀 좌표(2D). \(x\)는 사진의 가로, \(y\)는 세로입니다.
  • \(U, V, W\): World 3D 점이 움직이는 속도.
    • \(U\): 가로 속도. 1초에 옆으로 얼마나 가는지
    • \(V\): 세로 속도. 1초에 위아래로 얼마나 가는지
    • \(W\): 앞뒤 속도. 1초에 카메라에서 얼마나 멀어지는지
    \[U = \frac{dX}{dt}, \qquad V = \frac{dY}{dt}, \qquad W = \frac{dZ}{dt}\]

    \(W\)가 음수면 카메라 쪽으로 다가온다는 뜻입니다.

  • \(u, v\): 사진 속 점이 움직이는 속도.
    • \(u\): 사진 속 가로 속도. 1초에 가로로 몇 픽셀 가는지
    • \(v\): 사진 속 세로 속도. 1초에 세로로 몇 픽셀 가는지
    \[u = \frac{dx}{dt}, \qquad v = \frac{dy}{dt}\]

항이 왜 두 개일까

사진 속 위치는 \(x = f \cdot X/Z\), 즉 분수로 정해집니다. 점이 움직이면 분자 \(X\)(옆으로 얼마나 떨어져 있나)와 분모 \(Z\)(얼마나 멀리 있나)가 바뀌고, 둘 중 어느 쪽이 바뀌어도 \(x\)가 움직입니다. 식의 두 항이 바로 이 두 가지 효과입니다. 아주 짧은 시간 \(\Delta t\) 동안 점이 옆으로 \(\Delta X = U\Delta t\), 앞뒤로 \(\Delta Z = W\Delta t\)만큼 움직인다고 하고, 두 효과를 하나씩 따로 보겠습니다.

x/f = X/Z에서 분자 X가 바뀔 때와 분모 Z가 바뀔 때 사진 속 위치 x가 움직이는 모습 카메라를 위에서 내려다본 그림입니다. 가로가 \(X\)(사진의 가로 방향), 위쪽이 \(Z\)(카메라 앞쪽)이고, 세로 방향 \(Y\)는 종이를 뚫고 나오는 방향이라 보이지 않습니다(\(Y\)도 똑같이 생각하면 됩니다). ① 바늘구멍에서 점을 보는 선이 사진 면을 지나는 가로 위치가 \(x\)이고, 작은 삼각형과 큰 삼각형이 닮은꼴이라 \(x/f = X/Z\)입니다. ② \(Z\)는 그대로 두고 \(X\)만 \(\Delta X\) 늘리면 \(x\)가 \(\Delta x\)만큼 옆으로 갑니다(주황). ③ \(X\)는 그대로 두고 \(Z\)만 줄이면(가까이 오면) 선이 더 옆으로 기울어져 \(x\)가 바깥으로 밀립니다(파랑). 그림은 보기 쉽게 크게 움직였지만, 식은 아주 조금 움직일 때의 이야기입니다.

  • 주황 항 \(U/Z\): 옆으로 움직이는 효과(그림 ②). 주황 삼각형 두 개도 닮은꼴이라 \(\Delta x / f = \Delta X / Z\)입니다. 양변을 \(\Delta t\)로 나누면 \(u/f = U/Z\)입니다. 같은 거리를 옆으로 가도 멀리 있을수록(큰 \(Z\)) 사진에서 덜 움직이는 이유가 이 \(Z\)로 나누기입니다.
  • 파랑 항 \(-\frac{X}{Z}\frac{W}{Z}\): 다가오는 효과(그림 ③). 거리가 10% 줄면 물체가 약 10% 크게 보이듯, 거리가 \(-\Delta Z/Z\)의 비율만큼 줄면 사진 속 위치 \(x\)도 거의 같은 비율로 커집니다. 즉 \(\Delta x = x \cdot (-\Delta Z / Z)\)입니다. \(\Delta t\)로 나누고 \(x/f = X/Z\)를 쓰면 \(u/f = -\frac{X}{Z}\cdot\frac{W}{Z}\)가 됩니다.
    • 앞의 \(X/Z\)는 지금 사진 속 위치(\(= x/f\))입니다. 그래서 가운데 점(\(x = 0\))은 다가와도 제자리이고, 가장자리 점일수록 많이 움직입니다.
    • 뒤의 \(W/Z\)는 1초에 거리가 몇 분의 일씩 줄어드는지입니다. 다가오면 \(W\)가 음수라서, 앞의 \(-\)와 만나 \(x\)가 커지는(바깥으로 퍼지는) 쪽이 됩니다.
  • 실제로는 두 움직임이 동시에 일어나니 두 효과를 더하면 위의 식이 됩니다. 위아래 방향도 \(X\) 대신 \(Y\)를 넣으면 똑같아서 \(v\) 식이 나옵니다. (분수의 미분 공식을 아는 분에게는 \(x/f = X/Z\)를 그대로 미분한 결과입니다.)

옆으로 움직일 때와 다가올 때 사진 속 움직임 비교 두 효과를 점의 위치별로 비교한 그림입니다(위에서 내려다본 모습). 왼쪽: 두 점이 똑같이 \(U\)만큼 옆으로 움직여도, 사진 속 움직임 \(u\)는 가까운 점(작은 \(Z\))이 더 큽니다. 오른쪽: 두 점이 똑같이 \(W\)만큼 다가와도, 가운데 점(\(x = 0\))은 사진에서 제자리이고 가장자리 점(큰 \(x\))만 바깥으로 움직입니다.

확장 초점: 내가 향하는 곳

차를 타고 앞으로 달리면 풍경이 한 점에서 사방으로 흘러나가는 것처럼 보입니다. 사진 속에서 움직임이 0인 그 점을 확장 초점이라고 합니다. 위 식에서 \(u = v = 0\)으로 놓으면 바로 나옵니다.

\[x_0 = f\frac{U}{W}, \qquad y_0 = f\frac{V}{W}\]

똑바로 갈 때와 비스듬히 갈 때의 움직임 그림 화살표는 사진 속 점들이 움직이는 방향과 크기입니다. 검은 화살표 하나를 예로 들면, 점 \((x, y)\)가 \((u, v)\)만큼 움직입니다. 모든 화살표가 확장 초점 \((x_0, y_0)\)에서 바깥으로 뻗어 나가고, 확장 초점은 내가 실제로 나아가는 방향을 가리킵니다. 회색 십자선은 사진 한가운데를 지나는 \(x, y\) 축입니다.

확장 초점을 쓰면 식이 더 깔끔해집니다.

\[u = (x - x_0)\frac{-W}{Z}, \qquad v = (y - y_0)\frac{-W}{Z}\]

다가가는 중이면 \(W\)가 음수라서 화살표가 확장 초점에서 바깥쪽을 향합니다. 화살표 길이는 확장 초점에서 멀수록 길고, 물체가 가까울수록 깁니다.

여기 숨은 보물이 하나 있습니다. \(-Z/W\)는 “거리 ÷ 다가오는 속도”라서 단위가 초입니다. 바로 부딪히기까지 남은 시간입니다. 다가올 때는 \(W\)가 음수이므로 앞에 \(-\)를 붙여 양수로 만든 것입니다. 원근 투영만으로는 실제 거리(미터)를 알 수 없지만, 이 “남은 시간”은 사진만으로 구할 수 있다는 것이 다음 강의의 주제입니다.

밝기는 움직여도 그대로

그런데 사진에서 “점이 얼마나 움직였는지”는 어떻게 잴까요? 사진에는 점에 이름표가 붙어 있지 않고, 밝기 숫자만 있습니다. 여기서 쓰는 가정이 밝기 불변 가정입니다. 물체가 조금 움직여도 그 표면의 밝기는 그대로 따라간다는 것입니다.

먼저 1차원으로 생각해 봅니다. 사진의 픽셀 하나하나에는 밝기가 숫자로 들어 있습니다. 흔히 쓰는 흑백 사진이라면 0(완전한 검정)부터 255(완전한 흰색)까지의 숫자 하나입니다. 컬러 사진도 빨강·초록·파랑을 섞어 이런 밝기 숫자 하나로 바꿀 수 있습니다. 이 밝기 숫자를 \(E\)라고 부르겠습니다.

그다음 사진에서 가로 한 줄만 잘라 내고, 왼쪽 픽셀부터 차례로 이 숫자를 읽어 봅니다. 가로축에 픽셀 위치 \(x\)(왼쪽에서 몇 번째 픽셀인지), 세로축에 그 픽셀의 밝기 \(E\)를 놓고 점을 찍어 이으면 오르락내리락하는 선이 하나 생깁니다. 이것을 밝기 곡선이라고 부르겠습니다. 어두운 곳에서는 0 가까이 내려가고, 밝은 곳에서는 255 가까이 올라가는 그래프입니다.

사각형과 동그라미 그림의 가로 한 줄을 0~255 밝기 곡선으로 그리는 과정 맨 위: 설명하려고 직접 만든 그림입니다. 어두운 배경 위에 밝은 사각형과 회색 동그라미가 하나씩 있고, 둘 다 지나는 가로 한 줄(주황 선)을 잘라 냅니다. 둘째 줄: 잘라 낸 줄을 흑백 밝기만 남겨 펼친 모습입니다(픽셀 200개). 셋째 줄: 초록 칸 부분, 어두운 배경에서 밝은 사각형으로 넘어가는 픽셀 12개를 크게 키운 것입니다. 칸 안의 숫자가 그 픽셀의 밝기 \(E\)이고, 30처럼 작으면 어두운색, 200처럼 크면 밝은색입니다. 맨 아래: 200개 픽셀의 위치 \(x\)와 밝기 \(E\)를 이은 밝기 곡선입니다. 배경에서는 30에 붙어 있다가 사각형에서 200으로 뛰어오르고, 동그라미에서는 120까지만 올라갑니다.

이제 물체가 오른쪽으로 조금 움직였다고 해 봅시다. 밝기 불변 가정에 따르면 표면의 밝기 무늬는 그대로 따라가니까, 밝기 곡선도 모양은 그대로인 채 통째로 오른쪽으로 밀려납니다. 그러면 한 자리에 서 있는 픽셀 입장에서는 자기 자리의 밝기가 바뀝니다. 원래 왼쪽에 있던 밝기가 그 자리로 넘어왔기 때문입니다.

1차원 밝기 곡선이 밀려날 때의 밝기 변화와 기울기 같은 픽셀에서 밝기가 변한 양(주황)은 곡선의 기울기(초록) × 밀려난 거리입니다. 그러니 둘을 나누면 속도가 나옵니다.

우리가 알고 싶은 것은 곡선이 얼마나 빨리 밀려났는가, 즉 앞에서 본 사진 속 움직임 \(u\)입니다. 여기서는 쉽게 “한 프레임 동안 몇 픽셀 움직이는지”로 셉니다. 그런데 이 값은 사진에서 바로 읽을 수 없습니다. 픽셀에는 “나는 아까 저 픽셀이었다”는 이름표가 없으니까요. 대신 사진 두 장(지금 프레임과 잠시 뒤 프레임)만 있으면 바로 잴 수 있는 숫자가 두 개 있습니다.

  • \(E_x\) (공간 기울기): 한 프레임 안에서 옆 픽셀과의 밝기 차이입니다. 곡선이 얼마나 가파른지를 뜻합니다.
  • \(E_t\) (시간 변화): 같은 픽셀에서 앞 프레임과 뒤 프레임의 밝기 차이입니다. 그 자리의 밝기가 얼마나 바뀌었는지를 뜻합니다.

이 두 숫자로 \(u\)를 구하는 것이 목표입니다. 위의 확대 칸으로 예를 들어 봅시다. 밝기가 80, 130, 180으로 이어지는 세 칸을 보면, 오른쪽으로 한 칸 갈 때마다 밝기가 약 50씩 올라갑니다. \(E_x \approx 50\)입니다. 이제 다음 프레임에서 곡선이 오른쪽으로 2픽셀 밀렸다고 합시다. 180이던 픽셀 자리에는 두 칸 왼쪽에 있던 80이 넘어옵니다. 밝기가 약 100(= 2칸 × 50) 떨어졌으니 \(E_t \approx -100\)입니다. 거꾸로 생각하면, \(E_t\)와 \(E_x\)만 재면 “곡선이 몇 칸 밀렸는지”를 나눗셈으로 되찾을 수 있습니다. \(100 \div 50 = 2\)칸입니다.

이것을 식으로 쓰면 “밝기 변화 = −(기울기 × 밀려난 거리)”이고, 정리하면 이렇게 됩니다.

\[u\,E_x + E_t = 0 \quad\Rightarrow\quad u = -\frac{E_t}{E_x}\]

앞에 붙은 \(-\) 부호는 곡선이 오른쪽으로 밀리면 오르막 위의 픽셀은 어두워진다(\(E_t\)가 음수)는 뜻입니다. 위 예에서도 \(u = -(-100)/50 = 2\)로 오른쪽 2칸이 나옵니다.

위 계산은 60번째 줄(그림의 주황 선)에 있는 180 픽셀 한 칸에서 한 것입니다. 그런데 그림을 다시 보면, 어두운 배경과 사각형의 왼쪽 엣지는 위아래로 길게 이어지는 세로선입니다. 그래서 바로 위 59번째 줄과 바로 아래 61번째 줄에도 같은 자리에 어두운 배경에서 밝은 사각형으로 올라가는 오르막이 있습니다.

사각형이 통째로 오른쪽으로 2칸 움직였다면 이 줄들의 오르막도 모두 똑같이 2칸 밀립니다. 그러니 줄마다 오르막 픽셀에서 따로 \(E_x\)와 \(E_t\)를 재서 나누면 줄마다 \(u\)가 하나씩 나오고, 원래는 모두 2가 나와야 합니다. 여러 픽셀에서 구한 \(u\)란 이렇게 같이 움직이는 이웃 픽셀들이 각자 내놓은 답을 말합니다.

위 그림은 설명하려고 직접 만들어서 잡음이 없지만, 실제 사진에는 잡음이 있어서 밝기 숫자가 조금씩 들쭉날쭉합니다. 그래서 예를 들어 59번째 줄에서는 2.1, 60번째 줄에서는 1.8, 61번째 줄에서는 2.2처럼 답이 조금씩 다르게 나옵니다. 이 셋을 평균하면 (2.1 + 1.8 + 2.2) ÷ 3 ≈ 2.03으로, 하나만 쓸 때보다 참값 2에 가까워집니다. 잡음이 줄마다 제멋대로 생기니 평균하면 서로 상쇄되기 때문입니다. 픽셀 \(N\)개를 평균하면 흔들림이 대략 \(1/\sqrt{N}\)로 줄어듭니다. 100개를 쓰면 흔들림이 10분의 1이 됩니다.

단, 같이 움직이는 픽셀끼리만 묶어야 합니다. 사각형만 움직이고 회색 동그라미는 가만히 있다면, 동그라미 엣지 픽셀의 답은 0이라 사각형 픽셀의 답(2)과 섞으면 평균이 틀어집니다.

평균할 때 모든 픽셀을 똑같이 믿을 필요는 없습니다. 어두운 배경처럼 평평한 곳(30, 30, 30…)은 \(E_x\)가 0에 가까워서, 잡음이 조금만 끼어도 나눗셈 결과가 크게 튑니다. 반대로 80 → 130 → 180처럼 가파른 곳은 잡음이 조금 있어도 답이 거의 흔들리지 않습니다. 그래서 기울기가 큰 픽셀의 답에 가중치를 더 주기도 합니다.

2차원에서는 식 하나에 미지수 둘

사진은 2차원이니 이제 점은 가로로도, 세로로도 움직일 수 있습니다. 가로로 움직인 칸 수를 \(u\), 세로로 움직인 칸 수를 \(v\)라고 합시다. 같은 가정으로 식을 세우면 1차원 식에 세로 방향 항이 하나 붙습니다. 이 식을 밝기 변화 제약식이라고 부릅니다.

\[u\,E_x + v\,E_y + E_t = 0\]

\(E_y\)는 위아래 픽셀과의 밝기 차이입니다. 식은 하나인데 모르는 값은 \(u, v\) 둘입니다.

이것을 그래프로 그려 보겠습니다. 가로축을 \(u\), 세로축을 \(v\)로 놓은 그래프를 속도 공간이라고 하고, 여기서 점 하나는 “움직임 하나”를 뜻합니다. (2, 0), (2, 3), (2, −3), (2, −10)처럼 가로로 2칸이기만 하면 세로는 어떤 값이든 가능한 움직임입니다. 이것들을 전부 찍으면 \(u = 2\)인 직선이 됩니다. 이 직선이 세로로 서 있는 것은 \(u\)가 2로 고정되고 \(v\)만 자유롭게 움직이기 때문이지, 실제로 세로로 움직였다는 뜻이 아닙니다. 식으로 봐도, \(E_y\)를 0으로 놓으면 \(50u + 0 \cdot v - 100 = 0\)이라 \(u = 2\)만 정해지고 \(v\)는 아무 값이나 됩니다.

픽셀 하나가 세로 엣지 위에 있을 때 가능한 움직임들과 속도 공간의 직선 왼쪽: 앞에서 계산한 180 픽셀(주황 칸) 근처를 크게 키운 모습입니다. 한 칸이 픽셀 하나이고, 어두운 배경과 밝은 사각형의 엣지가 세로로 뻗어 있습니다. 화살표는 그 픽셀이 움직일 수 있는 방향 세 가지입니다(오른쪽 2칸, 오른쪽 2칸+위로 3칸, 오른쪽 2칸+아래로 3칸). 엣지가 위아래로 똑같이 생겨서 이 픽셀이 보는 밝기 변화는 셋 다 같습니다. 오른쪽: 세 움직임을 속도 공간에 점으로 찍으면 모두 \(u = 2\)인 파란 직선 위에 놓입니다. 이 픽셀로 확실히 아는 것은 \(u = 2\)뿐이고 \(v\)는 모릅니다. 픽셀 하나가 알려 주는 것은 이 직선까지입니다.

그래서 픽셀 하나로는 \(u = 2\)까지만 알 수 있습니다. 진짜 움직임은 속도 그래프의 파란 직선 위 어딘가의 점인데, 정확히 어느 점인지는 이 픽셀만으로는 알 수 없습니다. 엣지가 비스듬하면 이 직선도 같이 기울어질 뿐입니다. 그래프의 직선은 언제나 사진 속 엣지와 같은 방향을 향하는데, 엣지를 따라 미끄러지는 움직임은 그 픽셀에서 보이지 않기 때문입니다.

그러면 답을 하나로 정하려면 어떻게 할까요? 세로로 뻗은 엣지 위의 픽셀은 가로 움직임(\(u\))만 알려 주니, 이번에는 가로로 뻗은 엣지 위의 픽셀을 하나 더 쓰면 됩니다. 예를 들어 사각형의 윗변은 가로로 뻗은 엣지라서, 그 위의 픽셀은 반대로 세로 움직임(\(v\))만 알려 주고 가로로는 아무 값이나 허락합니다. 이 픽셀의 직선은 \(v\)가 고정된 가로 방향 직선이 됩니다. \(u\) 고정 직선과 \(v\) 고정 직선은 딱 한 점에서 만나고, 그 점이 답입니다.

속도 공간에서 픽셀마다 생기는 직선 왼쪽: 엣지가 비스듬한 픽셀 하나가 만드는 직선입니다. 직선 위의 점 하나하나가 이 픽셀이 허락하는 속도 후보입니다. 초록 화살표 \((E_x, E_y)\)는 밝기가 가장 빨리 밝아지는 방향이고, 직선은 이 화살표에 수직, 즉 엣지와 나란합니다. 가운데: 엣지 방향이 다른 픽셀 두 개면 두 직선이 만나는 점이 답입니다. 오른쪽: 두 픽셀이 같은 방향의 엣지 위에 있으면 직선이 겹쳐서 답을 하나로 고를 수 없습니다.

픽셀 두 개면 2×2 연립방정식이 되고, 답의 분모에 \(E_{x1}E_{y2} - E_{y1}E_{x2}\)가 들어갑니다. 두 픽셀의 밝기 기울기가 나란하면 이 값이 0이 되어 풀 수 없습니다.

최소제곱으로 모든 픽셀 쓰기: 광마우스

광마우스는 책상 표면을 아주 빠르게 찍으면서, 사진 전체가 한꺼번에 얼마나 밀렸는지 계산합니다. 모든 픽셀이 같은 속도로 움직인다고 보고, 모든 픽셀의 오차 제곱 합이 가장 작은 \(u, v\)를 고릅니다.

\[\min_{u,v} \iint \left(u\,E_x + v\,E_y + E_t\right)^2 \,dx\,dy\]

미분해서 0으로 놓으면 2×2 연립방정식 하나가 나오고, 반복 계산 없이 바로 풀립니다. 다만 이것도 실패하는 경우가 있습니다.

곧은 줄무늬와 점박이 무늬의 비교 초록 선은 같은 밝기를 이은 등광선입니다. 왼쪽: 무늬가 곧은 줄무늬뿐이면 등광선이 모두 나란한 직선이고, 줄 방향으로 미끄러져도 사진이 똑같아서 그 방향의 움직임은 알 수 없습니다. 오른쪽: 밝기 기울기 방향이 골고루 섞인 무늬는 어느 방향 움직임이든 잡힙니다.

  • 표면이 완전히 깜깜하거나 밝기가 고르면 아무 단서가 없습니다. 강의 표현으로는 “탄광 속에 있는 셈”입니다.
  • 같은 밝기를 이은 선(등광선)이 모두 나란한 직선이면 그 방향의 움직임을 모릅니다.
  • 반대로 등광선이 구불구불하게 휘어 있을수록 답이 잘 정해집니다.

직접 해 보기

① 확장 초점. 주황 점을 끌어 나아가는 방향을 바꿔 보세요. 모든 점이 그 점에서 퍼져 나옵니다. “멈추고 화살표로 보기”를 켜면 가까운 점일수록 화살표가 긴 것도 보입니다.

② 밝기 변화 제약식. 왼쪽 무늬가 초록 ◯의 속도로 움직입니다. 주황 네모 픽셀마다 오른쪽 속도 공간에 파란 직선이 하나씩 생기고, 주황 ✕는 그 직선들에 가장 가까운 점, 즉 최소제곱(least squares) 답입니다. 무늬를 “곧은 줄무늬”로 바꾸면 직선이 모두 나란해져 답이 사라지고, “살짝 휜 줄무늬”에서는 잡음을 올리면 답이 크게 흔들립니다.

정리

  • 원근 투영을 미분하면 세상의 움직임과 사진 속 움직임이 연결됩니다. 앞으로 나아가면 사진 속 점들이 확장 초점에서 바깥으로 퍼집니다.
  • 확장 초점은 내가 향하는 방향이고, \(-Z/W\)는 부딪히기까지 남은 시간(초)입니다.
  • 밝기 불변 가정에서 \(u E_x + v E_y + E_t = 0\)이 나옵니다. 식 하나에 미지수가 둘이라 여러 픽셀을 함께 써야 합니다.
  • 모든 픽셀을 최소제곱으로 묶으면 광마우스처럼 사진 전체의 움직임을 한 번에 구할 수 있지만, 무늬가 곧은 줄무늬뿐이면 실패합니다.

다음 글: [MIT 머신비전 3강] 카메라 하나로 부딪히기까지 남은 시간 재기

참고: MIT 6.801/6.866 Machine Vision (Fall 2020), Berthold Horn · Ryan Sander · Tadayuki Yoshitake 강의 노트 (MIT OpenCourseWare, CC BY-NC-SA 4.0)

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.