본문으로 이동

쌍선형 보간법

위키백과, 우리 모두의 백과사전.
z 값이 0, 1, 1, 0.5인 단위 정사각형에 대한 쌍선형 보간의 예시. 보간된 값은 색상으로 표시된다.

수학에서 쌍선형 보간법(Bilinear interpolation)은 반복된 선형 보간법을 사용하여 두 변수(예: x와 y)의 함수를 보간하는 방법이다. 일반적으로 2D 직교 격자에서 샘플링된 함수에 적용되지만, 임의의 볼록 사각형의 정점(또는 폴리곤 메시의)에 정의된 함수로 일반화될 수 있다.

쌍선형 보간은 한 방향으로 선형 보간을 먼저 수행한 다음 다른 방향으로 다시 수행하여 이루어진다. 각 단계는 샘플링된 값과 위치에 대해 선형이지만, 보간 전체는 선형이 아니라 샘플 위치에 대해 이차이다.

쌍선형 보간은 컴퓨터 비전영상 처리에서 기본 리샘플링 기술 중 하나이며, 쌍선형 필터링 또는 쌍선형 텍스처 매핑이라고도 불린다.

계산

[편집]
네 개의 빨간 점은 데이터 포인트를, 녹색 점은 보간하려는 점을 나타낸다.

점 (x, y)에서 미지의 함수 f의 값을 찾고자 한다고 가정해보자. f의 값은 네 점 Q11 = (x1, y1), Q12 = (x1, y2), Q21 = (x2, y1), Q22 = (x2, y2)에서 알려져 있다고 가정한다.

반복 선형 보간

[편집]

먼저 x 방향으로 선형 보간을 수행한다. 이로부터 다음을 얻는다:

다음으로 y 방향으로 보간하여 원하는 추정치를 얻는다:

보간이 y 방향으로 먼저 수행된 다음 x 방향으로 수행되더라도 동일한 결과를 얻는다는 점에 유의한다.[1]

다항식 적합

[편집]

다른 방법은 보간 문제의 해를 다중선형 다항식으로 작성하는 것이다.

계수는 선형 시스템을 풀어 찾는다.

결과를 산출한다.

가중 평균

[편집]
쌍선형 보간의 기하학적 시각화. 원하는 점(검정)의 값과 전체 면적의 곱은 각 모서리의 값과 모서리 대각선 반대편 부분 면적(해당 색상)의 곱의 합과 같다.

해는 또한 f(Q)의 가중 평균으로도 쓸 수 있다:

여기서 가중치 합은 1이며 전치된 선형 시스템을 만족한다.

결과를 산출한다.

이는 다음과 같이 단순화된다.

반복 선형 보간으로 얻은 결과와 일치한다. 가중치 집합은 사각형에 대한 일반화된 무게 중심 좌표 집합으로도 해석될 수 있다.

다른 행렬 형식

[편집]

위 내용을 종합하면 다음과 같다.

단위 정사각형에서

[편집]

f가 알려진 네 점이 (0, 0), (0, 1), (1, 0), (1, 1)인 좌표계를 선택하면 보간 공식은 다음과 같이 단순화된다.

또는 동일하게 행렬 연산으로 표현하면:

여기서 가중치는 다음과 같다.

또는 단위 정사각형의 보간 함수는 다음과 같이 쓸 수 있다.

여기서

두 경우 모두 상수의 개수(네 개)는 f가 주어지는 데이터 점의 개수에 해당한다.

속성

[편집]

이름에서 알 수 있듯이 쌍선형 보간기는 선형이 아니지만, x 또는 y 방향과 평행한 선을 따라서는 선형(즉, 아핀)이다. 다시 말해 x 또는 y가 상수일 때 선형이다. 다른 어떤 직선을 따라서는 보간기가 이차적이다. 보간이 위치(x와 y)에 대해 선형이 아니더라도, 고정된 점에서는 보간 값에 대해 선형인데, 위 (행렬) 방정식에서 볼 수 있다.

쌍선형 보간의 결과는 어떤 축이 먼저 보간되고 어떤 축이 나중에 보간되는지에 관계없이 동일하다. 만약 먼저 y 방향으로 선형 보간을 수행한 다음 x 방향으로 수행했다면, 결과적인 근사치는 동일했을 것이다.

보간기는 쌍선형 다항식이며, 라플라스 방정식을 만족하는 조화 함수이기도 하다. 그래프는 쌍선형 베지에 곡면 패치이다.

역함수 및 일반화

[편집]

일반적으로 보간 함수는 무한히 많은 점( 쌍곡선의 가지를 형성하는[2])에서(정점 값의 볼록 폐포 내에서) 임의의 값을 취하므로, 보간은 역함수가 존재하지 않는다.

그러나 쌍선형 보간이 두 함수에 동시에 적용되는 경우(예: 벡터장 보간 시), 보간은 (특정 조건 하에서) 역함수가 존재한다. 특히, 이 역함수는 임의의 볼록 사각형 내부의 점의 "단위 정사각형 좌표"를 찾는 데 사용될 수 있다(사각형의 좌표를 단위 정사각형에서 쌍선형으로 보간된 벡터장으로 간주하여). 이 절차를 사용하면 쌍선형 보간을 임의의 볼록 사각형으로 확장할 수 있지만, 평행사변형이 아닌 경우 계산이 훨씬 더 복잡하다.[3] 사각형 간의 결과적인 맵은 쌍선형 변환, 쌍선형 왜곡 또는 쌍선형 뒤틀림으로 알려져 있다.

대안적으로, 사각형과 단위 사각형 사이의 사영 매핑이 사용될 수 있지만, 결과적인 보간은 쌍선형이 아니다.

사각형이 평행사변형인 특수한 경우, 단위 정사각형으로의 선형 매핑이 존재하며 일반화는 쉽게 이어진다.

쌍선형 보간을 3차원으로 명확하게 확장한 것을 삼선형 보간법이라고 한다.

역 계산

에 의해 매개변수화된 단위 사각형에 대해 쌍선형 보간된 벡터장라고 하자. 보간을 역으로 하려면 두 개의 쌍선형 다항식 방정식 시스템을 풀어야 한다. 여기서 신중하게 선택된 벡터와 시스템의 2차원 외적( 그라스만 곱 참조)을 취하면 항을 제거할 수 있다. 이는 다음과 같이 확장된다. 여기서 이차 방정식은 이차 공식을 사용하여 풀 수 있다. 우리는 다음 동등한 판별식을 가진다. 그리고 해는 다음과 같다. (선형 관계에 의해 반대 부호가 강제된다.) 또는 인 경우는 별도로 처리해야 한다. 올바른 조건이 주어지면 두 해 중 하나는 단위 사각형 내에 있어야 한다.

영상 처리에서의 응용

[편집]

컴퓨터 비전영상 처리에서 쌍선형 보간법은 이미지와 텍스처리샘플링하는 데 사용된다. 화면 픽셀 위치를 텍스처 맵의 해당 점에 매핑하는 알고리즘이 사용된다. 주변 네 텍셀의 속성(색상, 투명도 등)의 가중 평균을 계산하여 화면 픽셀에 적용한다. 이 과정은 텍스처링되는 객체를 구성하는 각 픽셀에 대해 반복된다.[4]

이미지를 확대해야 할 때, 원본 이미지의 각 픽셀은 스케일 상수에 따라 특정 방향으로 이동해야 한다. 그러나 이미지를 정수적이지 않은 스케일 인수로 확대할 때, 적절한 픽셀 값이 할당되지 않은 픽셀(즉, 구멍)이 있다. 이 경우, 출력 이미지에 값 없는 픽셀이 없도록 해당 구멍에 적절한 RGB 또는 회색조 값을 할당해야 한다.

쌍선형 보간법은 픽셀 매칭을 통한 완벽한 이미지 변환이 불가능할 때 사용될 수 있으며, 이를 통해 픽셀에 적절한 강도 값을 계산하고 할당할 수 있다. 최근접 이웃 보간법바이큐빅 보간법과 같은 다른 보간 기술과 달리, 쌍선형 보간법은 주어진 픽셀의 적절한 색상 강도 값을 찾기 위해 해당 픽셀의 대각선 방향에 있는 가장 가까운 2 × 2 픽셀 값만을 사용한다.

쌍선형 보간법은 알 수 없는 픽셀의 계산된 위치를 둘러싸는 알려진 픽셀 값의 가장 가까운 2 × 2 이웃을 고려한다. 그런 다음 이 4개 픽셀의 가중 평균을 취하여 최종 보간 값을 얻는다.[5][6]

쌍선형 보간법
회색조 값의 쌍선형 보간 예시

예시

[편집]

오른쪽 예시에서 볼 수 있듯이, 20.2행, 14.5열에 계산된 픽셀의 강도 값은 먼저 각 20행과 21행에서 14열과 15열 사이의 값을 선형 보간하여 계산할 수 있으며, 이는 다음과 같다.

그리고 이 값들을 선형으로 보간하면 다음과 같다.

이 알고리즘은 이미지를 비정수적인 확대 계수로 크기 조정할 때 발생하는 시각적 왜곡을 일부 줄여준다. 이는 크기가 조정된 이미지에서 일부 픽셀이 다른 픽셀보다 더 크게 보이게 하는 최근접 이웃 보간과는 대조적이다.

용어의 단순화

[편집]

이 예시는 어떤 변수에 대한 조회로서 표 형식으로 정리된 압력(열) 대 온도(행) 데이터이다.

다음 표준 계산은 27개의 연산을 포함한다.

위 식에는 , , , 와 같은 여러 반복되는 연산과 일부 비율이 있다. 이러한 반복은 단일 보간을 계산하는 동안 임시 변수에 할당될 수 있으며, 이는 연산 횟수를 19로 줄일 수 있다.

이 모든 것은 초기 19개의 개별 연산에서 17개의 개별 연산으로 다음과 같이 단순화될 수 있다.

용어의 단순화는 수학적 방법론을 공학 응용 분야에 적용하는 좋은 방법이며, 공정의 계산 및 에너지 요구 사항을 줄일 수 있다.

같이 보기

[편집]

각주

[편집]
  1. Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (1992). 《Numerical recipes in C: the art of scientific computing》 2판. New York, NY, USA: Cambridge University Press. 123-128쪽. ISBN 0-521-43108-5. 
  2. Monasse, Pascal (2019년 8월 10일). 《Extraction of the Level Lines of a Bilinear Image》. 《Image Processing on Line》 (영어) 9. 205–219쪽. doi:10.5201/ipol.2019.269. ISSN 2105-1232. 
  3. Quilez, Inigo (2010). “Inverse bilinear interpolation”. 《iquilezles.org》. 2010년 8월 13일에 원본 문서에서 보존된 문서. 2024년 2월 17일에 확인함. 
  4. 쌍선형 보간 정의 (www.pcmag.com의 인기 기사).
  5. Khosravi, M. R. (2021년 3월 19일). 《BL-ALM: A Blind Scalable Edge-Guided Reconstruction Filter for Smart Environmental Environmental Monitoring Through Green IoMT-UAV Networks》. 《IEEE Transactions on Green Communications and Networking》 (영어) 5. 727–736쪽. doi:10.1109/TGCN.2021.3067555. S2CID 233669511. 
  6. "웹 튜토리얼: 디지털 이미지 보간".