선형 보간법, 쌍선형 보간법 (Linear Interpolation, Bilinear Interpolation)

선형 보간법(Linear Interpolation) 에 대해 간단히 정리합니다.


보간법이란 어떤 데이터에 나타나있지 않은 부분을 그 데이터들을 이용해 추정하는 방법을 말합니다. 컴퓨터 비전을 비롯해 수학과 CS의 다양한 분야에서 활용되고 있습니다.

선형 보간법

선형 보간법(Linear Interpolation) 은 수직선 상에서 두 점 사이의 임의의 점의 함숫값을 구하는 방법입니다. 수식적으로는 아래와 같이 정의됩니다. 수직선 상의 두 지점 x1, x2에 대한 함숫값이 f(x1), f(x2)일 때, x1x2 사이에 위치하는 임의의 점 x에 대한 함숫값 f(x)는 다음과 같이 구할 수 있습니다.

f(x)=|xx2||xx1|+|xx2|f(x1) + |xx1||xx1|+|xx2|f(x2)

실제 데이터를 임의로 만들어서 테스트해보겠습니다.

수직선 상에서 함숫값 f(1)=3, f(9)=27일 때, f(6)의 값을 선형 보간법을 이용해서 구해 봅시다. 주어진 값들을 식에 그대로 대입하면 f(6)의 값을 구할 수 있습니다. 수직선 상의 점의 위치와 대응하는 함숫값만 알아도 가능합니다.

f(6)=|69||61|+|69|f(1) + |61||61|+|69|f(9) =3×38+5×278=18

정확히 값을 알아내는 것을 볼 수 있습니다. 이 함수는 f(x)=3x 입니다. 생각해보면 그냥 수직선 상의 내분점을 구하는 작업과 동일합니다.

쌍선형 보간법

쌍선형 보간법(Bilinear Interpolation) 은 2차원 데이터에 적용하는 방법으로, 1차원 선상의 선형 보간법을 기본으로 합니다.

A, B, C, D 사이의 쌍선형 보간 R을 구하는 과정은 다음과 같습니다.

  1. AB 사이의 선형 보간 m을 구한다.
  2. CD 사이의 선형 보간 n을 구한다.
  3. mn 사이의 선형 보간 R을 구한다.

방향을 90도 돌려도 결과는 같습니다.

  1. AD 사이의 선형 보간 p를 구한다.
  2. BC 사이의 선형 보간 q를 구한다.
  3. pq 사이의 선형 보간 R을 구한다.

실제로 선형 보간법은 임의 위치의 데이터를 추정할 때 많이 쓰입니다. 제가 쌍선형 보간이 사용되는 모습을 보았던 첫 논문이 FCN 이었습니다.