Ⅰ. 서 론
최근 통신 및 디스플레이 등의 기술 발달로 많은 응용분야에서 고해상도의 영상을 필요로 하고 있다. 고해상도란 영상내의 화소 밀도가 높은 것을 의미한다. 이는 더 세부적이고 정교한 처리를 가능하게 한다. 예를들어 CCTV 촬영 영상, 인공위성 관찰영상, 의료영상등 정교한 분석을 요하는 영상처리 분야에서 그 필요성이 강조되고 있다. 디지털 영상과 동영상들의 획득이 쉬워짐에 따라 그 응용분야가 점점 더 넓어지고 있다. 하지만 고해상도의 영상을 획득하기 위해서는 높은 비용과 정밀 광학기술이 요구되어, 이 한계를 극복하기 위한 기술의 필요성이 대두 되었다[1].
초해상도(Super Resolution 이하 SR) 기법은 관찰되었던 단일 혹은 다수의 저해상도의 영상으로부터 고해상도의 영상을 생성하는 기술이다. 디지털 영상 매체에 의해 획득된 영상은 고해상도의 자연 영상이 저주파 대역필터를 통과한 후, 다운 샘플링 된 영상으로 모델링 될 수 있다. 이 과정을 거치면서 획득된 영상은 에일리어싱(aliasing) 현상에 의해 많은 고주파 성분의 정보가 손실된다. 따라서 손실된 고주파 성분을 효과적으로 복원하고 영상의 해상도를 높이는 것이 초해상도 기법의 목표이다[2].
초해상도 복원 알고리즘은 다수의 저해상도 영상으로부터 고해상도 영상을 복원하는 다중 프레임 기반 방법(Multi-frame based approach)과 훈련 데이터를 기반으로 고해상도 영상을 복원하는 단일 영상 기반 방법(Single-image based approach)으로 분류된다. 다중프레임 기반 방법은 입력된 저해상도 영상들의 움직임을 추정하여 정렬 시킨 후, 정렬된 저해상도 영상들을 융합하여 선명한 고해상도 영상을 얻는다. 저해상도 영상간의 움직임 추정 오차가 작은 경우 안정적인 성능을 보이지만, 물체의 복잡한 움직임이나 사람의 얼굴 같은 연식(Non-rigid)의 물체에 대해서는 영상간의 움직임을 추정하기 어렵게 되어 성능 저하가 발생하게 된다. 또한, 충분한 저해상도 영상이 주어지지 않는다면 복원 결과 영상의 품질이 저하되는 현상을 보인다. 다중 프레임 기반 초해상도 알고리즘의 문제점을 극복하기 위한 방안으로 단일 영상 기반의 초해상도 복원 알고리즘이 제안되었다[3]. 단일 영상 기반 초해상도 기법에는 보간법(interpolation)에 기반한 방법과 표본 기반 방법들이 있다. 보간법은 영상의 해상도를 높이기 위해 기존 화소들 사이에 적절한 값을 삽입하는 기술이다. 전통적인 영상 보간법은 저해상도 영상에서 화소의 가중치 합(weighted-sum)에 기반을 두고 있으며, 그 중 대표적인 방법으로 최단 입점 보간법(nearest-neighbor interpolation), 이중 선형 보간법(bi-linear interpolation), 고등차수 보간법(bi-cubic interpolation) 등이 있다. 이러한 방법들은 선형필터의 개념으로 해석될 수 있다. 즉 저해상도 영상은 필터의 입력 신호가 되고 이 영상에 곱해지는 가중치들은 필터의 계수가 되며, 전체적인 영상의 확대 과정은 저해상도의 입력 영상을 업 샘플링한 후 필터를 적용하는 것으로 이해 할 수 있다. 따라서, 필터 계수가 되는 가중치들의 주파수 특성을 확인함으로써 해당 보간법의 성능을 분석할 수 있다. 이러한 관점에서 볼 때 가중치 기반 방법들은 대부분 저주파 대역필터의 특성을 가지고 있으므로 에일리어싱에 의해 손상된 고주파 성분을 효과적으로 복원할 수 없다[1,4].
이러한 문제를 해결하기 위하여 표본 기반 초해상도 기법들이 널리 쓰인다. 표본 기반 기법들 중에서 최근 방 기반 기법(Nearest Neighbor based approach)들이 많이 쓰이고 있다[5,6]. 최근방 기반 기법들에서는 학습(learing) 패치(patch)와 시험(test) 패치사이의 유사도에 의해 시험 패치를 위한 국부 학습 집합(local training set)들이 만들어진다. 국부 학습 집합들이 주어지면 저해상도 시험 패치들에 일치하는 고해상도 패치가 다른 학습 알고리즘에 의해 추정 되어진다. 예를 들면, Freeman[5]등은 고해상도 학습 패치와 저해상도 시험패치 사이의 관계를 모델링하기 위해 마코프 네트워크를 이용한 표본기반 초해상도 알고리즘을 처음으로 제안하였다. Yang[6]등은 저주파와 고주파를 위한 사전들을 학습을 통하여 구한 후, 재구성 과정에서 성긴 계수를 얻은 후 이들을 SVR의 훈련에 이용한다. 그러나, 이 방법은 사전들을 구성하는 등 방법이 복잡하고 계산량 부하가 크다. 따라서, 본 논문에서 제안된 방법은 사전들을 구성치 않고 저해상도 영상으로부터 업 스케일된 영상에서 직접 패치를 취득한 후 그에 대한 가중치 정보를 이용하기 때문에 간략하고 계산량 관점에서 장점이 있다. 또한, Chang[7]등은 지역적 선형 임베딩(Locally Linear Embedding(LLE))이라는 매니폴드(Manifold) 학습 방법에 기반한 다른 표본 기반 알고리즘을 제안 하였다.
그러나, 이러한 최근방 기반 알고리즘들은 국부 학습 데이터 집합의 크기가 너무 작아서 최근방에 기반한 추정의 빈약한 일반화 능력 때문에 시각적으로나 PSNR(Peak Signal to Noise Ratio) 같은 정량적인 척도에 의해 성능이 크게 저하된다. LLE는 매니폴드로부터 충분한 데이터 포인트들이 제공되어질 때 실효성이 있는 알고리즘이다. 본 논문에서는 실험에서 적은수의 학습영상을 사용해서, LLE에 기반한 네이버 임베딩의 이와같은 문제점을 확인하였다.
본 논문에서는 이와 같은 문제점을 해결하기 위해서 일반화 능력이 뛰어난 Support Vector Regression(이하 SVR)[8]을 이용한 Sparse-neighbor 표현을 이용한 초해상도 알고리즘을 제안하였다. 제안한 알고리즘에서는 먼저 저해상도 입력 영상이 주어지면 bicubic 보간법을 이용하여 확대된 영상을 얻고, 이 확대된 영상으로부터 패치를 얻은 후 저주파 패치와 고주파 패치를 판별한 후 각 영상 패치의 가중치를 얻은 후 각각에 해당하는 두 개의 SVR을 훈련하였으며 훈련된 SVR을 이용하여 고해상도의 해당 화소 값을 예측하였다. 실험을 통하여 본 논문에서 제안된 방법이 bicubic 보간법 및 네이버임베딩 기법 등에 비해 PSNR 결과 및 시각적으로 향상 된 결과를 보여 주었다.
Ⅱ. 본 론
2.1. 영상 패치 분류
그림 1은 본 논문에서 제안된 초해상도 알고리즘의 순서도이다. 제안된 초해상도 알고리즘은 3개의 과정으로 이루어진다. 첫 번째 과정은 영상 패치 분류이고, 두번째 과정은 영상 패치의 sparse-neighbor 표현이고, 세번째 과정은 초해상도 출력을 위한 SVR이다.
그림 1.제안된 초해상도 알고리즘의 순서도 Fig. 1 Flow chart of proposed SR algorithm
학습 단계에서 먼저 고해상도와 저해상도 영상의 쌍을 모으고, 보다 나은 초해상도 결과를 얻기 위해 본 논문에서는 고주파 패치와 저주파 패치를 위한 두 개의 SVR 모델을 학습 시킨다.
저해상도 입력 영상으로부터 고해상도 버전의 영상을 얻기 위해 저해상도 입력 영상에 bicubic 보간법을 적용한다. 보간법을 이용해 얻은 영상으로부터 5*5 패치들을 얻는다. 얻어진 패치들이 고주파 패치인지 저주파 패치인지를 판별하기 위해 over-segmentation을 수행한다. 보간된 영상의 각 패치의 중심 화소 값이 over-segmentation에 의해 얻어진 영상의 에지나 코너에 속하면 이 패치는 고주파 패치로 판별된다. 그렇지 않을 경우는 해당 패치는 저주파 패치로 판별된다. 본 논문에서는 over-segmentation을 수행하기 위해 Sobel 에지 검출기를 이용하였다. 그림 2에 영상 패치 분류의 실험 결과가 도시 되어있다.
그림 2.영상 패치 분류 (a) bicubic 보간에 의해 확대된 영상 (b) 에지 결과 (c) 저주파(파랑) 및 고주파(빨강) 패치 Fig. 2 Image patch categorization (a) Upscaled image by bicubic (b) Edge result (c) Low (Blue) and high (Red) spatial frequency patch
2.2. Sparse-neighbor 표현
저해상도 입력 영상으로부터 보간법을 이용하여 확대된 고해상도 버전의 영상을 얻은 후, 그 영상으로부터 5*5 패치를 추출한다. 또한, 각 패치의 가중치 정보를 얻기 위해 본 논문에서는 다음과 같은 sparseneighbor 표현 알고리즘을 이용한다. 얻어진 각 영상 패치의 성긴 가중치 정보는 SVR의 훈련을 위해 이용되어진다. Chang[7]등은 지역적 선형 임베딩(Locally Linear Embedding)이라는 매니폴드 학습(Manifold Learning)방법에 기반한 다른 표본 기반 알고리즘인 네이버 임베딩 방법을 제안 하였다. 이 방법은 고차원상에 N개의 점이 저차원의 비선형 매니폴드 내에, 또는 가까이에 있을 때 매니폴드로부터 충분한 점을 뽑아낼 수 있다면 각각의 점들과 그 이웃한 점들은 지역적으로 선형적인 패치 내에 있거나 가까이에 있다고 기대할 수 있다는 것이다.
그러나, 이러한 최근방 기반 알고리즘들은 국부 학습데이터 집합의 크기가 너무 작아서 최근방에 기반한 추정의 빈약한 일반화 능력 때문에 성능이 현저히 저하되었다. 따라서, 본 논문에서는 이와 같은 문제점을 해결하기 위해서 일반화 능력이 뛰어난 SVR을 이용한 Sparse-neighbor 표현에 기반한 초해상도 알고리즘을 다음과 같이 제안하였다.
보간법에 의해 얻어진 고해상도 버전의 입력 영상 Yt의 패치 에 대해
여기서, єq는 Nq에 속한 이웃 패치들의 잔존 오차로, 고해상도 버전의 패치 를 이웃하는 패치들로 재구성하였을 때, 그 값과의 차이 값을 의미한다. 가중치의 계산 방법은 식(2)를 풀어서 얻는다.
여기서, Nq는 에 이웃하는 패치들의 집합이고, Gq는
이며 L은 에 이웃하는 패치들로 구성된 D × K 차원의 행렬이다. 1은 1로 이루어진 열벡터이다. 결과적으로 획득되어진 가중치 행렬은 W = [wqp]Nt×Ns이다. Nt는 시험 패치의 개수이며, Ns는 학습 패치의 개수이다.
2.3. Support vector regression
Support vector regression(이하 SVR)은 Support vector machine(이하 SVM)의 확장이다. 커널 트릭을 이용하여 SVR은 비선형함수를 고차원 공간에서의 선형함수로 변환이 가능하다. SVM과 유사하게 SVR의 강력한 일반화 능력은 미지의 출력 값을 예측하는데 뛰어난 기능을 가지고 있다[8]. 학습에서 SVR은 다음의 문제를 해결한다.
식(4)에서 y는 원래의 고해상도 영상에서 관련된 패치의 중심에 위치한 화소 값이며, n은 학습 데이터의 개수다. ϕ(αi)는 변환된 공간에서 영상 패치의 가중치 표현이다. w는 학습되기 위한 비선형 매핑 함수이며, C는 일반화와 상, 하한 학습 오차와의 tradeoff 값이다. 본 논문에서는 SVR의 실험을 위한 모든 파라미터는 교차검증을 통하여 선택되어졌다.
저해상도의 시험 입력 영상이 주어지면 bicubic 보간법을 이용하여 확대된 영상을 얻고, 이 확대된 영상으로부터 영상 패치를 추출한 후 각 패치의 가중치 값을 얻는다. 얻어진 각 영상 패치의 가중치 값을 이용하여 SVR을 훈련한 뒤, bicubic 보간법을 이용하여 확대된 영상의 화소 값을 훈련된 SVR을 이용하여 갱신한 뒤 최종 고해상도 영상을 얻는다.
Ⅲ. 실험 및 결과
본 논문에서는 고해상도 영상으로부터 블러링과 다운 샘플링을 통해 얻은 저해상도 입력 영상을 bicubic 보간법을 이용하여 확대된 영상을 얻고, 이 확대된 영상으로부터 5*5 패치를 얻은 후 저주파와 고주파 패치를 판별한 후 본 논문에서 제안된 Sparse-neighbor 표현 알고리즘을 이용하여 각 영상 패치의 가중치를 얻은 후 각 영상 패치의 가중치 값을 이용하여 고주파와 저주파를 위한 두 개의 SVR을 훈련하였으며 훈련된 SVR을 이용하여 고해상도의 해당 화소 값을 예측하였다. SVR모델은 LIBSVM에 의해 훈련 되어졌다[9]. 네이버 임베딩의 문제점을 개선하기 위해 본 논문에서 제안한 기법의 성능은 대표적인 보간법인 bicubic 보간법과 네이버 임베딩 기법과 비교하였다.
복원 성능은 식(5)를 이용하여 PSNR을 구하여 수치적으로 평가하였다. PSNR 값이 높을수록 복원이 잘 된 영상이다.
식(5)에서 은 영상에서 가장 큰 화소 값을 의미하고, m과 n은 영상의 높이와 넓이이다. O(i,j)와 R(i,j)은 원본 영상과 복원 영상의 화소 값이다.
표 1에서 보듯 본 논문에서 제안된 기법이 bicubic 보간법과 네이버 임베딩 방법들에 비해, 평균적으로 Ship 영상의 경우 0.56 dB, Truck 영상의 경우 0.58 dB, Town 영상의 경우는 0.72 dB, Racoon 영상의 경우는 0.52 dB, Lady 영상의 경우는 1.01 dB 정도 향상된 결과를 보여 주고 있으며, 따라서 본 논문에서 제안된 기법으로 획득한 고주파 성분이 영상의 품질을 향상 시키는 것을 확인할 수 있다.
표 1.시험 영상들의 PSNR 결과 Table. 1 PSNR results of test images
그림 3과 그림 4는 실험에 사용한 Truck 영상과 Racoon 영상의 원본 영상과 원본 영상으로부터 블러링과 다운 샘플링을 통해 얻은 저해상도 시험 영상을 bicubic 보간법과 네이버 임베딩 기법, 본 논문에서 제안된 기법을 적용하여 고해상도화 한 영상이다.
그림 3.Truck 영상의 실험 결과들 (a) 원 영상 (b) Bicubic (c) NE (d) 제안된 방법 FIg. 3 Experimental results of Trucks image (a) Original image (b) Bicubic (c) NE (d) Our method
그림 4.Racoon 영상의 실험 결과들 (a) 원 영상 (b) Bicubic (c) NE (d) 제안된 방법 FIg. 4 Experimental results of Racoon image (a) Original image (b) Bicubic (c) NE (d) Our method
그림 3의 Truck 실험 결과 영상에서 보는 바와 같이 bicubic 보간법과 네이버 임베딩 기법에 비해 본 논문에서 제안된 기법의 결과들이 배경 영역의 풀과 나무들 및 자동차 영역에서 더 선명한 결과를 볼 수 있다. 또한, 그림 4의 Racoon 실험 결과 영상에서도 제안된 기법의 실험 결과들이 기존의 방법에 비해 눈이나 털 및 수염등에서 보다 더 선명한 결과를 볼 수 있어, 원영상과 비교하여 볼 때 고주파 성분 및 디테일한 성분들이 잘 복원 되어 있음을 시각적으로 확인할 수 있다.
영상 품질 향상에 대한 정성적인 평가를 위해 10명의 실험자 그룹을 구성하여 시각적인 평가를 실시하였으며, 시각적인 평가척도의 수치화를 위해 실험 결과 영상이 원영상과 어느 정도 유사한지를 5점 만점 척도기준을 이용하였다. 실험 결과 표1의 5개의 실험 영상에 대해 bicubic 영상들은 평균 2.7점, NE 영상들은 3.2점, 제안된 방법의 결과 영상들은 4.0점을 획득하였다. 이는 본 논문에서 제안한 방법이 저해상도 영상 복원에 효과적임을 시각적으로나 이를 계량화한 평가 척도로도 입증한다.
Ⅳ. 결 론
초해상도 기법은 관찰되었던 저해상도 영상으로부터 고해상도의 영상을 생성하는 기술이다. 초해상도 기법은 다 영상 기반의 고전적 초해상도 기법과 단일 영상 기반의 표본 기반 초해상도 기법이 있다. 고전적 초해상도 기법은 하나의 장면에 대해 여러 장의 영상이 있고, 각 영상은 다른 영상에 대해 서브화소(subpixel)만큼의 변화가 있어야 한다. 이러한 접근 방식은 확대 가능한 최대배율이 수치적으로 최대 2배가 한계라는 단점이 있다. 이러한 단점을 극복하기 위해 제안된 방법이 표본 기반 초해상도 기법이다.
표본 기반 초해상도 방법들 중 네이버 임베딩 기법의 기본 원리는 지역적 선형 임베딩이라는 매니폴드 학습방법의 개념과 같다. 그러나, 네이버 임베딩의 국부 학습 데이터 집합의 크기가 너무 작아서, 그에 따른 빈약한 일반화 능력으로 인하여 알고리즘의 성능을 크게 저하시킨다. 본 논문에서는 이와 같은 문제점을 해결하기 위해서 일반화 능력이 뛰어난 SVR 기반 Sparse-Neighbor 영상 표현을 이용한 초해상도 방법을 제안하였다.
저해상도 입력 영상이 주어지면 보간법을 이용하여 확대된 영상을 얻고, 이 확대된 영상으로부터 본 논문에서 제안한 알고리즘을 이용하여 각 영상 패치의 가중치 값을 얻는다. 다음, 각 영상 패치의 가중치 값을 이용하여 SVR을 훈련하였으며 훈련된 SVR을 이용하여 고해상도의 해당 화소 값을 예측하였다.
실험 결과 본 논문에서 제안된 방법은 bicubic 보간법이나 네이버 임베딩에 비해 PSNR 관점 및 시각적으로도 우수한 결과들을 얻었다. 최근 처리속도의 개선을 위해 GPU를 사용한 알고리즘 개발이 많이 개발되고 있다. 추가 연구방향은 실시간 처리에도 이용될 수 있게 GPU등의 고속 프로세서를 사용한 알고리즘을 적용하여 처리속도 개선을 할 계획이다. 또한, 본 논문에서 제안된 방법을 멀티 스케일 초해상도 문제에도 적용해 볼 계획이다.
References
- J. M. Lim and J. Yoo, "Super resolution algorithm using discrete wavelet transform for single image," Journal of the Society of Broadcast Engineering, vol. 17, no. 2, 2012.
- S. Park, M. Park, and M. Kang, "Super-resolution image reconstruction : A technical overview," IEEE Signal Processing Magazine, vol.20, pp.2136, 2003.
- H. Shin, S. D. Chung, B. H. Ku, and H. Ko, "Local block learning based super resolution for license plate," Journal of the Korea Society of Computer and Information Science, vol. 16, no. 1, 2011.
- H. Kang and J. Jeon, "Texture mapping using bilinear interpolation," Proceeding of Korea Information Science Society, vol. 26, no. 1, pp. 644-646, 1999.
- W. Freeman, T. Jones, and E. Pasztor, "Example based super resolution," IEEE Computer Graphics and Applications, vol. 22, no. 2, 2002.
- M. Yang, C. Chu, and Y. F. Wang, "Learning sparse image representation with support vector regression for single image super resolution," in Proceeding of ICIP, 2010.
- H. Chang, D. Yeung, and Y. Xiong, "Super resolution through neighbor embedding," in Proceeding of IEEE CVPR, vol. 1, 2004.
- V. Vapnik, Statistical Learning Theory, Wiley Interscience, 1998.
- Chih-Chung Chang and Chih-Jen Lin, LIBSVM: a library for support vector machines, 2001.