Computer Vision/Optical Flow

Computer Vision/Optical Flow

Introduction to Optical Flow: From Theory to Practice, Part 1

1. Preface Optical flow is a fundamental problem in computer vision that has been studied for decades. It refers to the motion of objects in an image or video sequence, which can be estimated by analyzing the spatiotemporal changes of pixel intensities. Optical flow has a wide range of applications in robotics, autonomous driving, augmented reality, and video compression, to name a few. Despite ..

Computer Vision/Optical Flow

[Optical Flow/Paper Review] RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

Intro 오늘은 ECCV 2020 Best Paper Award를 수상한 RAFT: Recurrent All-Pairs Field Transforms for Optical Flow를 같이 살펴보겠습니다. 원래 2022년 중순쯤에 포스팅을 준비했었는데, 현실에 치여 이제야 포스팅을 준비하고 있네요. 사실 이 논문 리뷰를 꼭 하고 싶던 이유가 있는데요. 이 논문의 가장 인상 깊었던 부분은 뒤에서도 자세히 말씀드리겠지만 Optical Flow iteration입니다. 쉽게 말하면 반복적인 연산을 통해 결과물의 정확도를 높이는 작업이죠. 이 부분이 인상 깊었던 이유는 해당 내용을 졸업 논문을 작성하며 아이디어만 살포시 첨가했었기 때문입니다. 벽에 부딪혀 최종적으로 수행하지는 못했었지만, 관련 내용이 논문에 적..

Computer Vision/Optical Flow

[CV/Optical Flow] Optical Flow dataset

Intro 본격적으로 DL을 활용한 Optical Flow 알고리즘들이 등장함에 따라 dataset은 굉장히 중요한 키워드가 되었습니다. Optical Flow 특성상 groundtruth를 구하기가 힘들며, real world에서 groundtruth를 구하더라도 그 양이 굉장히 적습니다. Object Detection 등 다른 Computer Vision 분야의 경우 data labeling이 용이해 이런 문제를 비교적 쉽게 해결할 수 있었지만, Optical Flow 분야는 여전히 양과 질 모두에서 부족함을 느끼고 있습니다. 하지만 언제나 인간은 답을 찾듯, Optical Flow 분야에서도 나름 획기적인 방법이 등장했으며 이는 업계 표준처럼 자리 잡았습니다. 이번 포스트에서는 이러한 트렌드를 소개..

Computer Vision/Optical Flow

[CV/Optical Flow] PWC-Net (CVPR 2018)

Intro 이전 포스트들을 통해 최초의 DL 기반 Optical Flow 알고리즘인 FlowNet과 이를 개선한 FlowNet2.0을 다루었습니다. 이번 포스트에서는 고전적인 Optical Flow에서 사용된 여러 기법들을 결합해 적용한 PWC-Net을 다룰 예정입니다. PWC-Net은 고전적인 Optical Flow 알고리즘의 세 가지 원칙을 CNN 모델에 접목했습니다. 쉽게 생각하면 Optical Flow 알고리즘의 유행들을 모두 다 적용한 정수라고 볼 수 있습니다. Network Architecture PWC-Net의 Architecture는 그 이름의 어원을 보면 이해할 수 있습니다. Net은 network이며, 앞의 PWC는 이 모델에 적용된 Optical Flow 알고리즘 기법들의 약어입니다...

Computer Vision/Optical Flow

[CV/Optical Flow] FlowNet 2.0(CVPR 2017)

Intro 이전 포스트에서는 최초의 DL 기반 Optical Flow 알고리즘인 FlowNet을 다루었습니다. FlowNet은 여러 중요한 Contribution을 가짐에도 불구하고 가장 중요한 성능 측면에서 기존의 Handcrafted 방식인 EpicFlow에 열세를 보였습니다. FlowNet2.0은 기존의 FlowNet에서 성능을 향상하기 위해 만들어진 네트워크입니다. 이번 포스트에서는 FlowNet2.0이 성능을 향상 시키기 위해 기존 대비 어떤 차별점을 두었는지를 중점으로 살펴보겠습니다. Dataset FlowNet2.0은 기존에 사용했던 Flying Chairs dataset으로 pretraining을 진행했습니다. 그런 다음 새로 추가한 FlyingThings3D(Things3D) datase..

Computer Vision/Optical Flow

[CV/Optical Flow] FlowNet(ICCV 2015)

Intro 이전 포스트들을 통해 Handcrafted Optical Flow 기법들에 대해 알아보았습니다. 이제는 Deep Learning을 통해 Optical Flow를 구하는 연구들에 대해 다룰 예정입니다. 그 시작은 ICCV 2015에서 발표된 FlowNet이 끊었습니다. FlowNet 이전에는 하드웨어와 Deep Learning에 대한 연구가 부족하였고, 가장 중요한 포인트는 학습에 필요한 Optical Flow Groundtruth 데이터셋의 부족이었습니다. 이번 포스트에서는 이런 한계를 FlowNet이 어떻게 극복했는지 살펴보겠습니다. Abstract FlowNet은 Supervised Learning 방식의 학습을 통해 Optical Flow를 구하는 알고리즘입니다. Supervised Le..

Computer Vision/Optical Flow

[CV/Optical Flow] Flow Map(Vector/HSV)

Intro 지난 포스트에서는 Handcrafted 방식의 마지막으로 Epicflow를 다루었다. Epicflow를 다루며 별다른 설명 없이 색다른 방식의 Flow Map을 소개했다. 여태까지 Flow Map(Vector Map)은 말 그대로 Vector(화살표)로 표현했다. 하지만 벡터를 이용하면 Dense 하게 Optical Flow를 구한다 하더라도 Sparse 하게 Flow Map을 그릴 수밖에 없다. 반대로 아래 그림과 같이 색으로 벡터를 표현하게 된다면 모든 픽셀에 대한 벡터를 표현할 수 있게 된다. Optical Flow에서는 우리가 흔히 접할 수 있는 RGB가 아닌 HSV Color map을 활용한다. HSV Vector map Intro에서 언급했듯이 Vector Map은 시인성이 좋지 않..

Computer Vision/Optical Flow

[CV/Optical Flow] EpicFlow

Intro 지난 포스트에서는 Lucas-Kanade Algorithm을 보완하기 위해 가중치를 통해 정확도를 올리는 방법과 Big Motion에 대응하기 위해 제안된 방법에 대해 이야기했다. 여태까지는 가장 대표적인 Handcrafted 방식인 Lucas-Kanade를 다뤘고, 이번 포스트에서는 필자가 개인적으로 생각하는 Handcrafted 기법의 정수인 EpicFlow를 다루겠다. 이것을 마지막으로 Handcrafted 기법은 더 이상 언급하지 않을 예정이다.(Horn-Schunck 등은 기회가 나면 다루겠다.) Epicflow를 마지막으로 다루는 이유는 앞으로 나올 Deep Learning을 이용한 기법들의 비교 대상으로 자주 언급되기 때문이다. EpicFlow EpicFlow는 CVPR2015에서..

YoungJ
'Computer Vision/Optical Flow' 카테고리의 글 목록