Intro
본격적으로 DL을 활용한 Optical Flow 알고리즘들이 등장함에 따라 dataset은 굉장히 중요한 키워드가 되었습니다. Optical Flow 특성상 groundtruth를 구하기가 힘들며, real world에서 groundtruth를 구하더라도 그 양이 굉장히 적습니다. Object Detection 등 다른 Computer Vision 분야의 경우 data labeling이 용이해 이런 문제를 비교적 쉽게 해결할 수 있었지만, Optical Flow 분야는 여전히 양과 질 모두에서 부족함을 느끼고 있습니다.
하지만 언제나 인간은 답을 찾듯, Optical Flow 분야에서도 나름 획기적인 방법이 등장했으며 이는 업계 표준처럼 자리 잡았습니다. 이번 포스트에서는 이러한 트렌드를 소개하겠습니다. 이후 포스트들에서 따로 학습 방법 관련해 말이 없으면 아래와 같은 방법으로 학습했다고 생각하시면 될 것 같습니다.
Abstract
Optical Flow 분야에서 주로 사용되는 dataset은 크게 네 종류가 있습니다.
- Flying Chairs
- Flying Things 3D
- MPI-Sintel
- KITTI
간단하게 소개하자면, Flying Chairs/Flying Things 3D의 경우 Graphic(synthetic) dataset입니다. 따라서 입력 값이 label, Optical Flow의 groundtruth가 됩니다. Labeling이 쉽다는 장점 덕분에 인공 dataset임에도 불구하고 널리 쓰이며, training의 표준처럼 자리 잡았습니다.
MPI-Sintel/KITTI의 경우 real data입니다. 다만, Optical Flow 특성상 많은 양의 groundtruth를 구하기 어렵기 때문에 소량의 data 만 제공됩니다. 따라서, fine-tuning과 test에 사용됩니다.
위 설명들을 종합해 보면, Optical Flow model의 train/test 과정은 다음과 같이 이뤄집니다.
- Training(scheduling): Flying Chairs/Flying Things 3D
- Training(fine-tuning before test): Flying Things 3D/MPI-Sintel/KITTI
- Test: MPI-Sintel/KITTI
Flying Chairs/Flying Things 3D
Flying Chairs/Flying Things 3D의 경우 이미 FlowNet/FlowNet2.0에서 소개한 바 있습니다. 따라서, 이번 포스트에서는 자세한 설명을 생략하니 관심 있으신 분들은 아래 링크 참고 부탁 드립니다.
- FlowNet
- FlowNet2.0
- Flying Chairs (download link)
- Flying Things 3D (download link)
MPI-Sintel
MPI (Max Planck Institute) Sintel은 3D 단편 애니메이션 Sintel에서 추출한 dataset입니다. 총 1064개의 이미지가 있으며, 사이트에서는 해당 dataset의 특징을 아래와 같이 소개합니다.
- Very long Sequences
- Large Motions
- Specular Reflections
- Motion Blur
- Defocus Blur
- Atmospheric Effects
공식 사이트는 (http://sintel.is.tue.mpg.de/)이며, 다운로드는 (http://sintel.is.tue.mpg.de/downloads)에서 하실 수 있습니다.
KITTI
KITTI dataset은 이미 Computer Vision을 하는 여러분에게는 매우 친숙할 것입니다. 특히 SLAM을 하는 분들은 반드시 알고 계실 dataset입니다. 이런 KITTI dataset에는 놀랍게도 Optical Flow를 위한 flow dataset이 존재합니다. 저도 SLAM을 할 때는 odometry dataset만 사용했었는데, Optical Flow를 공부하며 flow dataset을 처음 접하며 놀라워했던 기억이 있네요.
- KITTI 2015 (Optical Flow Evaluation 2015)
Next
이번 포스트에서는 Optical Flow 학습을 위해 사용되는 dataset들을 소개했습니다. 사실 PWC-Net 이후 포스트로는 RAFT를 생각 중이었는데, 또다시 어떻게 학습했는지와 사용된 dataset은 무엇인지를 다루려다 보니 한번 전체적으로 소개하고 가는 것이 좋겠다 생각했습니다. RAFT 이후 발표된 논문들도 확인해보니 크게 트렌드와 다르지 않게 학습되었습니다. 따라서, 이번 포스트 이후로는 Optical Flow 학습에 대한 내용은 페이퍼 별 특이사항만 다루겠습니다.
다음 포스트는 원래 계획했던 RAFT로 찾아뵙겠습니다. 감사합니다.