인공지능/컴퓨터비전

[컴퓨터비전개론][3장]이미지 resize

우향우@ 2023. 3. 25. 21:05

개요

컴퓨터 비전에서는 주어진 이미지를 크게 만들거나 작게 만들어야하는 순간들이 있다. 같은 물체임에도 거리가 달라 다른 크기로 보이는 물체들의 크기를 맞추는 등이 그 예시이다. 이때 정보의 손실을 최소화하면서 축소, 확대, 복구등을 하는 법을 배워보자.

이미지 축소

우선 이미지의 축소를 생각해보자. 이미지를 가로세로 크기를 각각 1/2씩 줄인다고 할때 가장 단순한 방법은 4개의 픽셀중 하나씩 추출하여 축소하는 방식이다. 하지만 이는 나머지 세 픽셀이 완전 소실되어 오브젝트의 정보가 소실될 위험이 크다. 이러한 해상도의 부족으로 인해 일어나는 왜곡을 앨리어싱이라고 한다. 참고로 이러한 공간적인 앨리어싱도 존재하지만 프레임의 부족으로 실제 현상과 왜곡이 일어나는 시간적 앨리어싱도 존재한다.

흐린 후 축소

이러한 앨리어싱을 막기위한 한 방법은 원본 이미지를 가우시간으로 흐린후 위 방식대로 축소시키는 것이다. 이렇게하면 각 픽셀에 이웃픽셀들의 정보가 일부분 흡수되어 소실이 덜해진다. 이렇게 이미지 평균적인 정보를 유지시키며 축소를 한것을 low frequency를 살리며 축소했다고 말한다. 반대로 픽셀간의 디테일한 변화등의 정보를 살리며 축소하는 것을 high frequency를 살리며 축소했다고 말한다.

 

가우시안 피라미드

한 이미지의 여러 가우시안 축소버전(1/2, 1/4 ...)을 미리 만들어넣고 저장하는 것을 가우시안 피라미드라고 한다. 그래픽스의 밉맵과 유사한 개념이다.

Laplacian pyramid

이러한 밉맵을 저장하는 다른 방법도 존재한다. 

1. 기존 방식대로 가우시안 피라미드을 만든다.

2. 최하위 밉맵을 빈칸에 0을 채워넣어서 다음 레벨 크기로 키운뒤 가우시안을 적용시키고 밝게 보정시켜 다음 레벨 크기 이미지를 만든다.

3. 그렇게 생성된 이미지를 가우시안 피라미드의 해당 레벨 이미지에 빼고 결과를 보관한다.

4. 그 레벨 이미지도 가우시안 피라미드의 원본에 대해 다음 레벨 크기를 만들고 동일하게 처리한다.

5. 이렇게 최하위 밉맵을 제외한 나머지 레벨에 대해 위 결과들을 만든다.

6. 최하위 밉맵 원본과 나머지 레벨의 빼진 이미지를 laplacain pyramid라고 한다.

 

이러한 laplacain pyramid는 기존 가우시안 피라미드로 완벽히 복구 할 수 있다. 최하위 밉맵을 위 방식대로 확장하고 그 레벨의 laplacain pyramid 밉맵을 더하면 복구된다.

 

굳이 이러한 방식으로 저장하는 이유는 압축방식등에 의해 이러한 형태로 저장해두는게 더 유리한 경우도 존재하기 때문이다. 상황에 따라 두 피라미드중 한가지 방식으로 저장해두면 된다.

 

확대

원본 이미지를 확대시킬때는 그래픽스와 동일하게 겹선형 보간을 기본적으로 사용한다. 늘어난 픽셀 해상도에 대응하여 해당 픽셀을 둘러싼 네개의 원본 픽셀에 대해 겹선형 보간으로 값을 정한다.

여기에 추가로 겹선형대신 가우시안 보간등도 적용시킬 수 있다. 해당 픽셀 위치를 원점으로 한 2차원 가우시안 평면을 생각하여 둘러싼 네개의 픽셀에서의 평면 높이만큼 가중치를 주어 보간하면 된다.

 

 

 

참고 강의

부산대학교 정보컴퓨터공학부 컴퓨터비전개론(감진규 교수님)