• artiQ_ML 머신러닝

광학 흐름 Optical Flow에 관하여



안녕하세요! 항상 당신 곁에, 의료 전문가 아티큐입니다. 저희 아티큐에서는 앞으로 다양한 Tech 관련 주제를 선정하고 그에 대해 정기적으로 콘텐츠를 업로드할 예정입니다.

오늘은 저희가 현재 개발하고 있는 정맥 채혈 자동화 솔루션 기기와 관련된 초음파 영상에서 동맥의 움직임을 탐지하는 방법을 고민하면서 Optical Flow에 대해 정리한 내용을 포스팅하고자 합니다.


Optical Flow란?

Optical Flow란, 비디오 프레임이나 움직이는 장면 사이의 이미지 객체의 동작 패턴을 의미합니다. 예를 들어 아래 왼쪽 그림 1(a)과 같이 움직이고 있는 손의 동영상이 있다고 할 때, 이 손이 어떤 방향과 속도로 움직이고 있는지를 나타내는 개념입니다. 그림 1(b)와 같이 방향과 속도를 HSV(명도,채도,색)를 이용해서 표현하기도 합니다.


(a) 일반적인 Optical flow (b) HSV를 이용하여 나타낸 Optical flow


그림 1. Optical flow 예시


이처럼 Optical flow는 물체의 연속적인 움직임을 탐지하기 좋아 비디오 프레임 간의 Image object의 관계를 나타내는 영상 압축(Video compression), 동작 평가(Motion Estimation), 객체 탐지 및 추적(Object segmentation-tracking)에서 잘 활용될 수 있는 기술입니다.


Lucas-Kanade Method

다음으로 Optical flow의 대표적인 방법 중 하나인 Lucas-Kanade (LK) 방법을 소개하겠습니다. Lucas-Kanade Method는 세 가지 가정에 기초합니다.


1. 밝기 항상성: 객체 상의 픽셀은 서로 다른 프레임에서도 그 값이 같다.

2. 시간 지속성: 영상 내에서의 객체의 움직임은 크지 않다.

3. 공간 일관성: 공간적으로 인접한 객체는 같은 객체, 같은 움직임을 가질 가능성이 크다.


Image와 Flow를 아래와 같이 가정한다면 첫번째 가정(밝기 항상성)에 의해 다음과 같은 식을 얻을 수 있습니다.


2번 가정(시간 지속성)에 의해 first order taylor approximation에 의해 다음과 같이 나타낼 수 있습니다.


이를 다시 아래와 같이 나타낼 수 있으며, 이렇게 구해지는 것을 Optical Flow Constraint라고 부릅니다.


식은 한 개, 변수는 두 개이기 때문에 해가 정해지지 않는 식이지만, 이를 세 번째 가정 (공간 일관성)으로 해결합니다. 예를 들어 한 점의 주변 5x5를 그리고, 그 사각형에서의 움직임이 동일하다고 가정한다면 식은 25개, 변수는 2개가 되어 Underdetermined 상황을 해결할 수 있게 됩니다.


Lucas-Kanade method는 자신의 가정에 어긋난 상황에 취약합니다. 예를 들어 움직임이 큰 Large displacement가 있습니다. 2번 가정(시간 지속성)에 기반한 계산이기 때문에 인접한 프레임에 대응점의 움직임이 큰 경우 대응점으로 찾지 못하는 경우가 많습니다.


참고로 OpenCV에서 다양한 method를 활용한 optical flow 연산 기능을 지원하고 있습니다. Lucas-Kanade Method나 Dense optical flow를 포함한 여러 방법이 있으며, 그림 3은 그 중 Lucas Kanade 방법을 opencv에서 계산한 결과입니다.


그림 2. OpenCV를 활용한 optical flow(Lucas-kanade)

Lucas-Kanade Method의 Optical flow는 대응되는 픽셀이 주변에 있을 때(움직임이 적을때)에는 효과적이지만 움직임이 큰 경우(Large displacement)에는 대응점을 찾지 못한다는 한계가 명확했습니다. 이를 극복하고자 하는 다양한 시도가 있었고 그 중 대표적인 것이 Descriptor Matching, Energy minimization 입니다.[2]


Descriptor Matching, Energy minimization

Descriptor Matching이란, 그림 4.와 같이 서로 다른 장면에서의 이미지 객체의 모서리와 같은 Feature들을 매칭시키는 작업입니다. 가장 대표적인 알고리즘으로는 SIFT가 있습니다. 이와 같은 feature matching으로 large displacement에서의 optical flow를 탐지하는데 도움을 받을 수 있습니다.


그림 3. SIFT를 이용한 Feature matching

그리고 feature들을 최적화하기 위해 Energy의 개념을 도입합니다. Lucas-kanade method의 첫 번째 가정(밝기 향상성)에 의하면, 대응되는 픽셀은 같은 값을 가져야합니다. 대응되는 픽셀 차의 제곱에 비례하는 상수를 Ecolor로 정의하며 이를 1번 식으로 표현합니다.



하지만 앞서 말했듯이 조명이 달라지거나, 위치가 바뀜에 따라서 대응하는 점의 픽셀 값이 항상 같지는 않습니다. 이를 보완하기 위해 같은 대응되는 픽셀에서의 주변과의 밝기 차이는 동일하다는 가정을 제시하며 2번 식을 제안합니다. 대응되는 픽셀에서 주변과 밝기 차이의 차이에 제곱에 비례하는 상수를 Egrad로 정의하며 이를 2번 식으로 표현합니다.


그리고 Flow vector가 주변에 있는 픽셀 값과 비슷하다는 Smooth Energy를 제안합니다. 이 가정은 Lucas-kanade method의 3번 가정과도 비슷하게 느껴집니다.



이렇게 Ecolor, Egrad(gradient), Esmooth를 반영한 Energy의 식은 4번과 같습니다.



그리고 여기에 descriptor matching 결과에서 point correspondences를 나타내는 5번 식과 descriptor matching 과정에서의 대응 픽셀간 차이를 반영하는 6번 식의 추가를 제안합니다. 최종적으로 이 모두를 합친 것이 7번 식입니다.



E(w)를 Continuation method와 Descriptor matching을 이용하여 최소화하는 w를 구해주는 것이 Energy minimization이며, [2]에서 제시하는 방법의 핵심입니다. 이를 적용한 결과를 살펴보면, 아래 그림과 같이 large displacement에서의 optical flow를 기존 방식들보다 잘 인지하고 있음을 확인 할 수 있습니다.


그림 4. [2]에서 제시하는 방법으로 계산한 Optical Flow

하지만 이 방식도 Descriptor가 존재하는 곳에서만 신뢰를 할 수 있다는 점과, 작은 이동량에서는 오히려 연산이 더 많아지며 정밀도가 떨어진다는 단점이 있습니다. 보다 효율적으로 연산하기 위해 Convolution Neural Network과 방식을 이용한 FlowNet이나 RAFT와 같은 다양한 방법이 등장하고 있습니다.


지금까지 Optical Flow의 개념과 구현하는 다양한 알고리즘에 대해 알아보았습니다. 다음에도 유익한 Tech 관련 정보를 가지고 찾아오겠습니다. 감사합니다. :)

 

참고

[1] Brox, T.; Malik, J. (2011). Large Displacement Optical Flow: Descriptor Matching in Variational Motion Estimation. , 33(3), 0–513.

그림 1(a): http://www.cim.mcgill.ca/~apl/Research/OpticalFlow/benoits.html

그림 1(b): https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.212.2275&rep=rep1&type=pdf

그림 2: https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/submissions/48744/versions/1/previews/LucasKanadeExample1/html/LKExample1.html

그림 3: https://www.docs.opencv.org/master/dc/dc3/tutorial_py_matcher.html

그림 4: Brox, T.; Malik, J. (2011). Large Displacement Optical Flow: Descriptor Matching in Variational Motion Estimation. , 33(3), 0–513.



 

작성자: JM

썸네일 이미지: Heidi

삽입 이미지: JM

업로드: Clark


인용 시 출처를 표기해 주세요.

 


조회수 495회댓글 0개