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 알고리즘 기법들의 약어입니다. Paper는 이런 기법들을 적용해 Model Size 감소와 성능 증가의 두 마리 토끼를 잡았다는 느낌을 주고 있습니다. 아래는 PWC의 의미입니다.
- Pyramid Processing (Structure)
- Warping Layer (Backward Warping)
- Cost Volume Layer (Correlation Layer)
Introduction에서도 잠시 소개했지만, PWC-Net은 고전적인 Coarse-to-fine Optical Flow 알고리즘의 접근법에서 영감을 얻은 듯합니다. PWC-Net 부분만 따로 분리해 본다면 이 모델의 이름의 의미를 보다 쉽게 알 수 있습니다. 이제부터는 PWC 각각에 대해 자세히 들여다보도록 하겠습니다.
Pyramid Structure
Image Pyramid는 Image Processing/Computer Vision 분야에서 전통적으로 사용되는 기법입니다. ML/DL 기반 Optical Flow 알고리즘들에서도 이 아이디어를 차용했는데, SpyNet [CPVR 2017]에서 매우 자세하게 기술되어 있습니다. (이번 포스트에서는 따로 다루지는 않으니 Reference의 SpyNet 참조 바랍니다.)
Pyramid Structure는 Down-scaling을 거친 input image를 Up-scaling 해가며 Optical Flow를 구하는 구조입니다. 이를 통해 Optical Flow의 약점 중 하나인 Large Motion Displacement를 어느 정도 보완 가능합니다. Down scale에서 Large Displacement에 대한 정보를 확보한 후, Up-scaling 과정에 detail을 (Small Displacement) 확보함으로써 큰 변화에 강한 모습을 보입니다.
PWC-Net에서는 이런 Pyramid Structure를 Learnable feature pyramids로 표현합니다. Raw image를 input으로 활용했던 고전적인 방식과 달리, Feature map을 input으로 활용합니다. 2개의 Input image를 convolution layer를 통과시키며 Down-scaling 해 Feature map 기반 L-level pyramid를 생성합니다.
Warping Layer (Backward Warping)
Warping은 previous pyramid의 Flow를 Up-scaling 해 두 번째 Image에 더해주는 동작을 의미합니다. 예측값이 아닌 연산 결과로 얻은 Optical Flow로 실제 이미지를 이동시킵니다. 즉, Input Image1에 previous pyramid에서 얻은 Flow를 Up-scaling 해 얻은 Motion Vector를 더해줍니다. 이로서 Groundtruth Input Image2와 Warping을 통해 얻은 Input Image2`이 존재하게 됩니다. 이 둘은 서로 근사하나 완전 같지는 않을 것입니다. 오차가 작을수록 연산이 정확한 것은 당연합니다.
그렇다면 이 과정이 왜 중요한 걸까요? Warping을 한다면 training 한 번을 통해 학습을 1회가 아닌 L회(L-level pyramid structure) 할 수 있게 됩니다. Down-scaling → Up-scaling 과정에 순간순간 Input Image2와 Input Image2`의 오차를 가중치로 같이 추가해 줍니다. (Bilinear interpolation을 사용해 미분 가능하며, End to End 연산을 수행할 수 있습니다.)
결과적으로 Warping은 학습 효율을 올리고, Large motion에서의 오차를 추정해 Geometric distortion을 순간순간 보상할 수 있게 해 줍니다.
Cost Volume Layer (Correlation Layer)
Cost Volume (Correlation Layer)는 FlowNet [ICCV 2015]에서 제안된 개념으로, Feature map 간 내적 연산을 통해 pixel 간 matching cost를 저장합니다. 이에 대한 자세한 개념은 이미 FlowNet 포스트에서 다루었기에 아래 링크를 확인 바랍니다. 여기에서도 연산 cost를 줄이기 위해 Raw image 대신 Feature map끼리의 Cost Volume을 구하고 있습니다.
[CV/Optical Flow] FlowNet(ICCV 2015)
Intro 이전 포스트들을 통해 Handcrafted Optical Flow 기법들에 대해 알아보았습니다. 이제는 Deep Learning을 통해 Optical Flow를 구하는 연구들에 대해 다룰 예정입니다. 그 시작은 ICCV 2015에서 발표된 FlowNet
searching-fundamental.tistory.com
Optical Flow Estimator & Context Network
Optical Flow Estimator와 Context Network는 둘 다 결과물로 Optical Flow를 출력한다. 차이점은 전자는 Pyramid Structure의 각 level의 결과물을, 후자는 전체 결과물을 출력한다는 것이다.
- Optical Flow Estimator: Input Image1과 Cost Volume, Upsampled Flow를 입력받아 Pyramid의 각 level의 Optical Flow 예측
- Context Network: Multi-level에서 생성한 Optical Flow를 하나(Refined Flow)로 합쳐준다.
Result
Next
사실 PWC-Net을 이렇게 자세히 살펴볼 계획은 없었습니다. 상반기에 RAFT에 흥미를 갖게 되어 찾아보던 중 FlowNet2에서 RAFT는 너무 Quantumn Jump가 있는 것 같아 중간 노드를 찍자는 생각으로 보게 되었습니다. 따라서 다음 포스트는 RAFT로 찾아뵙도록 하겠습니다. 이미 올해 상반기에 RAFT에 대한 페이퍼 리뷰 및 정리는 끝냈으나, 업무와 이외 다른 작업이 너무 바빠 계속 미루게 되었습니다. 2023년에는 꾸준히 포스트를 올릴 수 있는 한 해가 되도록 노력하겠습니다.
Reference
PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume
We present a compact but effective CNN model for optical flow, called PWC-Net. PWC-Net has been designed according to simple and well-established principles: pyramidal processing, warping, and the use of a cost volume. Cast in a learnable feature pyramid,
arxiv.org
Optical Flow Estimation using a Spatial Pyramid Network
We learn to compute optical flow by combining a classical spatial-pyramid formulation with deep learning. This estimates large motions in a coarse-to-fine approach by warping one image of a pair at each pyramid level by the current flow estimate and comput
arxiv.org
[논문 읽기] PWC-Net(2017), CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume
PWC-Net, CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume PDF, Optical Flow, Deqing Sun, Xiaodong Yang, Ming-Yu Liu, Jan Kautz, arXiv 2017 GIST 컴퓨터 비전 과제로 제출한 결과물 입니다. Summary 해당 논문은 Optical Flow를
deep-learning-study.tistory.com