distortion correction(1)

Ulost·2022년 11월 2일
0

Distortion correction

왜곡 보정에 대해 알아보는 포스팅을 진행하겠습니다.

왜곡 보정(Distortion correction)

왜곡 보정의 경우 distortion correction, distortion rectification, image rectifcation, calibration 등등 다양한 키워드로 접근이 가능함.

기본적으로 왜곡 보정이라 함은 말 그대로 이미지의 왜곡을 보정하는 과정.

우리가 갖고 있는 핸드폰, 카메라 등 이미지를 촬영하게 되면 왜곡이 작게라도 생기게 됨.

혹은 Fisheye lens와 같은 특별 용도로 화각을 넓혀 이미지를 촬영하게 되면 많은 왜곡이 발생함.

이와 같은 왜곡을 보정하기 위해 여러가지 방법들이 사용될 수 있는데 간략하게 소개하겠음

왜곡 보정 방법

왜곡을 보정하는 방법은 크게 전통적인 방법과 딥러닝을 이용하는 방법으로 나눌 수 있음.

왜곡을 보정하려면 결국은 왜곡 계수를 찾아야 하는데 어떤 방법으로 찾는지가 방법론을 결정하는 중요 요인이 될 수 있음.

전통적 방법(traditional)

전통적인 방법은 왜곡을 표현하는 수식과 카메라 캘리브레이션을 통해 얻은 카메라 파라미터 행렬들을 이용해 왜곡을 보정함.

예시

두 가지 정도의 논문들을 살펴보면

[1]에서는 왜곡된 영상을 해당 논문에서 제시하는 모델로 모델링하여 최적화 알고리즘 기법을 이용해 카메라 파라미터를 추정함.

또한 중심점으로부터의 거리에 따라 왜곡 보정 비율을 다르게 제어하여 보정된 영상이 최소한의 영상 손실을 가질 수 있도록 왜곡 보정을 진행함.

[2]에서는 왜곡 계수를 찾는데에 있어 직선의 불변성을 이용함.

해당 논문에서는 직선의 불변성을 이용하는 현재까지의 기법들이 '평행선'이라는 제약 조건으로 인해 어려움을 겪었음을 설명하고, 해당 제약조건을 해결함과 동시에 왜곡을 보정함.

딥러닝 이용 방법(Deep learning based)

딥러닝을 이용한 왜곡 보정 방법은 훈련된 딥러닝 모델을 이용해 왜곡 계수를 추정하는 방법임.

해당 방법은 크게 두 가지 정도로 나눌 수 있는데, 첫번째로는 모델을 통해 왜곡 계수를 찾아 영상을 보정하는 방법과 두번째로는 생성 모델을 통해 아예 보정된 이미지를 생성하는 방법으로 나눌 수 있음.

예시

모델을 통해 왜곡 계수를 찾아 보정하는 방법의 경우 [3]의 예를 들 수 있음.

해당 논문에서는 앞서 언급한 직선의 불변성을 이용해 이미지의 직선 부분을 전처리하여 모델에게 왜곡 이전의 이미지 직선 부분과 왜곡 이후의 이미지 직선 부분을 학습시킴.

해당 이미지를 학습한 모델은 왜곡 이미지가 모델의 input으로 주어지면, 직선이 어느 정도 왜곡이 되었는가를 예측하여 보정 layer를 통해 영상을 보정함.

생성 모델을 이용한 방법의 경우 [4]의 예를 들 수 있음.

해당 논문에서는 이미지를 어느 방향으로 보정시켜야 하는지에 대한 정보를 담고 있는 flowmap을 추출함.

추출한 flowmap과 encoder-decoder 구조의 generator를 통해 보정된 이미지를 생성함.

마무리

이미지 왜곡 보정 기법에 관해 간단하게 알아보는 시간을 가졌음.

다음 포스팅은 보정 기법의 최신 동향에 대해 알아보며, 논문 몇 가지에 대해 간단하게 리뷰해보는 시간을 갖겠습니다.

0개의 댓글