2012-12-14 4 views
2

저는 비디오 시퀀스에서 옵티컬 플로우의 개념에 대해 처음 접했고 옵티컬 플로우에 대한 기본 사항을 읽었으며 호른 & Shunck 메서드 또는 Lucade & Kanade의 방법에 익숙합니다.옵티컬 플로우에서 픽셀 대응

는 I 이러한 방법으로 우리는이 픽셀에 대한 몇 가지 제약이있다 물론, 화상의 화소의 움직임을 나타내는 일부 벡터 (휘도 항상성, 평활성이 ....)

를 산출하는 것을 실현 내 질문 :

fx*u + fy *v = -ft 어떻게 우리가 정확히 프레임 t + 1 다른 픽셀, 프레임 t에 하나 개의 픽셀 사이의 대응 관계를 구축 할 수있는 공식에 따라? 나는 우리가 우리가 프레임 t + 1에서 발견 한 프레임 t에서 동일한 픽셀이, 내가 그들의 알고리즘의 어느 부분에서 우리는 이러한 픽셀을 찾아 픽셀 사이의 대응 관계를 구축하고 있습니다 모르겠어요 있는지 확인 할 수있는 방법을 의미

프레임 t 및 프레임 t + 1! 이동 한 픽셀을 찾을 수 있다는 것을 알고 있지만 프레임 t과 프레임 t + 1의 픽셀 사이의 관계를 어떻게 찾았는지 알 수 없습니다.

난 당신이 내 질문에 이해할 수 있기를 바랍니다 : O) (O :. 그것은 당신이 할 수 공식화로 가능한 대답이 있다면

메르의 하셔

FX는 * U + 회계 연도 * V를

답변

6

실제로 Horn, Schunk와 Lucas, Kanade의 방법은 방정식 :

Fx*U + Fy*V = -Ft 

이 방정식은 과소 결정 방정식 시스템입니다. 그래서 Horn과 Schunk는 두 번째 가정을 통합 할 것을 제안했습니다. 부드러움은 UV의 편차가 작아야한다는 것을 제한합니다.

(Fx*U + Fy*V + Ft)² + lambda * (gradient(U)² + gradient(V)² = E 
E -> min 

0E의 편차를 설정하여 UV를 해결할 수있다 그 방정식이 당신이 가진 최소 사각 프레임 워크에 통합되어 있습니다. 결과적으로 모션 벡터의 해는 UV의 그래디언트 연산자를 통해 연결됩니다.

:

루카스 Kanade은 루카스 Kanade 창은 하나의 움직임 벡터가 계산된다 (또는 영역이 단 하나 개의 동작/움직임 항상성의 구속을 갖는다)과 최소 제곱 틀에 넣어 정의 영역에서와 제안

sum(Fx*U + Fy*V + Ft)² = E 
E->min 

합계는 정의 된 영역의 각 픽셀에 대해 수행됩니다. 그리고 UVE의 편차가 0으로 설정되어 쉽게 계산 될 수 있습니다.

이 두 방정식을 사용하면 시간적 (Ft) 및 공간 이미지 그라데이션 (Fx, Fy)을 사용하여 픽셀 일치를 찾을 수 있습니다. 루카스 (Lucas)와 카나드 (Kanade) 지에는이 상관 관계를 그래픽으로 보여주는 좋은 그림이 있습니다. 그러나 고려해야 할 몇 가지 사항이 있습니다 : 이미지 텍스처 (조리개 문제)

  • Fx*U + Fy*V + FtF(x, y, t) = F(x + U, y + V, t + 1)의 1 차 테일러의 근사치를 포함하는 경우

    • 방법의 이러한 종류의 모션 벡터를 계산에만 수 있습니다. 이는 이미지 신호가 선형이어야 함을 의미합니다. 따라서 몇 픽셀까지의 모션을 계산할 수 있습니다. 이것이 이미지 피라미드가 선형성을 제공하는 데 사용되는 이유입니다.
    • 움직임 불변성 또는 부드러움 제한으로 날카로운 움직임 경계를 방지합니다. 이것은 일부 응용에서 중요 할 수 있습니다.
    • 프레임 워크는 고전적인 통신 문제를 방지하지 못합니다.
  • 1

    = - 우리는 한 픽셀에 대해이 방정식을 풀 수 없습니다 ... 그래서 cvGoodFeaturesToTrack이 픽셀 집합을 제공 한 후에 ... 그 세트의 각 픽셀 주위에 창이 선택됩니다 ... 일정한 강도의 가정에 따라 그 패치/창 (그 선택된 픽셀을 중심으로)는 다음 프레임에서 동일한 강도를 갖도록되어 있습니다. 그래서 frameA에서 우리는 고려하여 점에 대한 U와 V를 찾습니다 그 주위에 창을 ... U와 V는 특정 점이 수평 및 수직 방향으로 진행될 것으로 예상되는 픽셀의 변위를 제공합니다. U와 V를 사용하여 다음 프레임, 즉 frameB에서 점의 위치를 ​​찾습니다. 일정한 강도 가정에 따르면 frameB의 예측 된 지점 주변의 패치는 프레임 A의 지점 주변의 패치와 동일한 강도를 가져야합니다 ... 프레임 A와 프레임 B의 두 패치 사이의 강도를 확인한 후 날씨가 결정되었습니다 좋은 길 또는 아닙니다. 나는 내가 할 수있는 한 많은 것을 설명하려고 노력했다. 내가 어떤 점에서 틀렸다면 나를 바로 잡는다. ..

    0

    호른 (Horn)과 펑크 (Schunk)의 방법에서는 두 가지 프레임에 걸친 픽셀 대응을 외부적인 방법으로 계산할 필요가 없습니다. H & S는 반복 알고리즘입니다. 연속적인 두 프레임의 경우 u-s 및 v-s에 대한 초기 값으로 시작하여 수렴 할 때까지 반복합니다.

    상세히 두 개의 연속적인 프레임

    , 다음의 여러 반복 수행

    (이것은 모든 픽셀에 대해 계산하고, U 자 화상 버퍼 및 V 화상 버퍼를 상상해)
    u = u_av - Fx *(P/D) 
    v = v_av - Fy *(P/D) 
    

    여기서

    *, stands for multiplication 
    P = Fx * u_av + Fy * v_av + Ft 
    D = lambda + Fx**2 + Fy**2 
    Fx = gradient of image along x (can be averaged across the two frames) 
    Fy = gradient of image along y (can be averaged across the two frames) 
    Ft = temporal gradient across two frames 
    u_av = (sum of u-s of 4 diagonal neighbors)/4 
    v_av = (sum of u-s of 4 diagonal neighbors)/4 
    lambda=smoothness constraint coefficient 
    

    초기 U와 V의 값이 제로 일 수있다.