KR20140072470A - 어안 렌즈용 왜곡 영상 처리 방법 - Google Patents

어안 렌즈용 왜곡 영상 처리 방법 Download PDF

Info

Publication number
KR20140072470A
KR20140072470A KR1020120139983A KR20120139983A KR20140072470A KR 20140072470 A KR20140072470 A KR 20140072470A KR 1020120139983 A KR1020120139983 A KR 1020120139983A KR 20120139983 A KR20120139983 A KR 20120139983A KR 20140072470 A KR20140072470 A KR 20140072470A
Authority
KR
South Korea
Prior art keywords
image
coordinates
distortion
corrected
integer
Prior art date
Application number
KR1020120139983A
Other languages
English (en)
Other versions
KR101465607B1 (ko
Inventor
이준환
최창원
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020120139983A priority Critical patent/KR101465607B1/ko
Publication of KR20140072470A publication Critical patent/KR20140072470A/ko
Application granted granted Critical
Publication of KR101465607B1 publication Critical patent/KR101465607B1/ko

Links

Images

Classifications

    • G06T3/047
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 어안 렌즈 왜곡 영상 처리 방법에 관한 것이다. 본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계, 및 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계를 포함한다. 보간하는 단계는 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계, 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계, 및 변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계를 포함한다.

Description

어안 렌즈용 왜곡 영상 처리 방법{Distorted Image Processing Method For Fish-Eye Lens}
본 발명은 영상 처리 방법에 관한 것으로, 더 구체적으로 어안 렌즈용 보정영상 보간 방법에 관한 것이다.
어안렌즈는 보통의 광각 렌즈와 비교하여 넓은 화각을 가진다. 따라서, 자동 항법 장치, 자동차, 영상 의학 등의 다양한 머신 비젼 분야에서 어안렌즈는 다양하게 활용되고 있다. 하지만 화각이 넓어짐에 따라 광축으로부터 멀어지는 외곽으로 갈수록 방사 왜곡이 심해진다. 이러한 방사 왜곡을 보정하기 위하여 두 단계를 거치게 된다. 첫 번째 단계는 어안렌즈로부터 획득한 왜곡 영상을 보정할 보정 영상으로 교정(calibration)하는 것이다. 두 번째 단계는 보정 영상 위에서 보정할 해당 좌표의 화소 값을 결정하는 보간(interpolation)하는 것이다.
본 발명의 해결하고자 하는 일 기술적 과제는 어안 렌즈의 방사 왜곡을
본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계; 및 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계를 포함한다. 상기 보간하는 단계는 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계; 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계; 및 변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 상기 보간하는 단계는 상기 보정 영상에서 상기 정수 좌표(C(xc,yc))와 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)를 산출하는 단계;및 상기 보간 계수(iCk)와 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보간하는 단계는 보정 영상 최근접 실수 좌표 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 메모리에 저장하는 단계; 왜곡 영상에서 정수 좌표(C(xc,yc)와 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 좌표 거리(dk)를 이용하여 보간 계수(iCk)를 계산하고, 보간 계수를 (iCk)를 메모리에 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보간하는 단계는 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 메모리부터 독출하는 단계; 상기 보간 계수(iCk)를 메모리부터 독출하는 단계; 및 상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보간하는 단계는 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴을 결정하고, 상기 패턴을 패턴 메모리에 패턴 데이터로 저장하고, 보간할 정수 좌표(C(xc,yc)에 대응하는 패턴 어드레스 메모리가 상기 패턴 테이터를 가지는 패턴 메모리를 지시하도록 설정하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 보간하는 단계는 상기 정수 좌표(C(xc,yc))가 가리키는 상기 패턴 메모리의 값으로 패턴 메모리를 접근하여 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터를 독출하는 단계; 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터로부터 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 계산하는 단계; 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))에 대응하는 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))를 계산하는 단계; 상기 보정 영상의 상기 정수좌표(C(xc,yc))와 상기 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)를 산출하는 단계;및 상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 있어서, 상기 교정(calibration)은 구면 투영법을 사용할 수 있다.
본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상을 보정 영상으로 보정한다. 상기 어안 렌즈 왜곡 영상 처리 방법은 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계; 상기 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계; 상기 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계; 및 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 보간하는 단계를 포함한다.
본 발명의 일 실시예에 있어서, 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 룩업 테이블 메모리에 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법은 영상의 외곽에서객관적 화질 및 주관적 화질을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 구면 투영법을 설명하는 도면이다.
도 2a 내지 도 2d는 전방향 사상과 역방향 사상을 설명하기 위한 예제 그림이다.
도 3은 본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법을 설명하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 왜곡 영상과 보정 영상의 좌표 변환을 설명하는 도면이다.
도 5는 보정 영상 평면에서 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k))를 나타내는 도면이다.
도 6은 왜곡 영상 평면에서 왜곡 영상 최근접 정수 좌표들 (Dk N(xd k,yd k))를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 이진화 영상(binary image)이다.
도 8은 도 7의 이진 영상 중심 부분의 좌표 변환 결과를 나타내는 도면이다.
도 9는 본 발명의 일 실시예에 따른 iC0의 크기에 따른 분포를 나타내는 그레이 영상이다.
도 10은 도 7과 도 9를 조합한 그레이 이미지이다.
도 11은 본 발명의 다른 실시예에 따른 영상 처리 방법을 설명하는 흐름도이다.
도 12는 또 다른 실시예에 따른 영상 처리 방법을 설명하는 흐름도이다.
도 13은 방사 왜곡 특성을 나타내는 도면이다.
도 14는 제 2 사분면(II)에서 발생하는 위치에 따른 패턴들을 보여준다.
도 15는 본 발명의 일 실시예에 따른 2-레벨 LUT(LUT2)의 구조를 설명하는 도면이다.
도 16은 본 발명의 일 실시예에 따른 실행 시간을 비교한 그래프이다.
본 발명의 일 실시예에 따른 어안 렌즈 영상 처리 방법은 어안렌즈의 방사왜곡(radial distortion)을 고려한 개선된 보간법을 제공한다. 어안렌즈에서 발생하는 방사왜곡의 보정은 교정 단계과 보간 단계의 두 단계를 통해 진행된다. 기존기술과 달리 왜곡 영상이 아닌 보정 영상에서 최근접한 좌표를 사용한 보간법이 제공된다. 또한 제안한 알고리즘의 수행시 성능 향상을 위한 룩업 테이블(look-up table;LUT) 구조가 제안된다. 실험 결과에 따르면, 주관적인 화질과 첨두 신호대노이즈비(peak singal to noise ratio;PSNR) 통한 객관적인 화질이 향상되었다. 또한, 상기 LUT 구조는 연산 속도를 향상시킨다.
교정 단계는 변수(parameter)를 사용하여 보정 영상에서의 좌표를 계산하는 과정이다. 교정 단계는 변수(parameter)를 결정하는 방법에 따라, 측량적 방법(metric methods)와 비측량적 방법(non-metric methods)으로 분리될 수 있다.
측량적 방법에 따르면, 영상으로부터 직선과 같은 특징점(feature point)이 인식되고, 이러한 특징점 사이의 관계로 변수(parameters)를 결정하고 좌표가 계산된다. 측량적 방법은 영상으로부터 특징점을 인식하기 때문에, 많은 연산량을 가지고 잡음에 민감하다.
비측량적 방법에 따르면, 렌즈의 특성으로 변수(parameters)가 결정되고, 좌표가 계산된다. 비측량적 방법은 크게 다항식(polynomial expression)을 사용하여 왜곡 계수를 반복적으로 연산하여 보정하는 방법과 구면 투영법(spherical projection)를 이용한 기하학적 방법(geometric methods)으로 분리될 수 있다.
교정 작업이 완료되면 보정할 해당 좌표의 화소 값을 결정하는 보간이 수행된다. 일반적인 영상 처리에서 보간은 입력 영상의 크기를 변경할 때 사용된다. 또는, 보간은 화소 값을 가지지 않는 화소(vacant pixel)에 대하여 주변 좌표의 화소 값을 참조하여 보정할 해당 좌표의 화소 값을 결정한다. 이에 따라, 보간된 영상이 생성된다.
대표적인 보간법에는 최근접 좌표 보간법(nearest neighborhood interpolation), 양선형 보간법(bilinear interpolation), 3차 회선 보간법(cubic interpolation) 등이 있다. 마찬가지로, 어안렌즈에서 보간법은 어안렌즈를 통해 촬영된 왜곡 영상(distorted image)에 대하여 보정 영상(corrected image)을 생성할 때, 방사 왜곡으로 인해 발생하는 화소 값을 가지지 않는 화소에 대한 화소 값을 결정하는 것이다. 기존 어안렌즈의 왜곡 영상의 보정은 양선형 보간법, 또는 3차 회선 보간법을 사용하였다.
하지만 어안렌즈로 찍은 왜곡 영상의 경우, 방사 왜곡으로 인해 기존에 좋은 성능을 보이는 보간법이 좋은 성능을 보이지 않는 경우가 발생한다. 따라서 이러한 방사 왜곡을 고려하여 보정 영상에서 길이의 비를 적용한 양선형 보간법이 제안되었다.
종래의 보간법들은 왜곡 영상 위에서 근접한 화소들 간의 거리를 이용하여 보간을 수행하였다. 하지만 어안 렌즈의 왜곡 영상은 외곽으로 갈수록 방사 왜곡이 심해진다. 따라서, 왜곡 영상에서 근접한 화소가 보정 영상에서는 근접한 화소가 아닐 수 있다.
본 발명의 일 실시예에 따르면, 왜곡 영상이 아닌 보정 영상에서의 최근접 화소를 이용한 개선된 보간법이 제안된다. 또한 제안하는 보간법은 기존 보간법들보다 연산량이 많을 수 있다. 따라서, 많은 연산량으로 인해 발생하는 성능 저하를 해결하기 위해, LUT(look-up table)의 구조가 제안된다.
어안 렌즈 왜곡은 방사 왜곡(radial distortion)과 접선 왜곡(tangential distortion)으로 분리될 수 있다. 상기 방사 왜곡은 광선(ray)이 렌즈를 통해 굴절되면서 발생하는 왜곡으로 광축에서 가장자리로 갈수록 커진다. 상기 접선 왜곡은 광축이 이탈하여 발생하는 물리적인 왜곡으로 렌즈 제조 과정에서 렌즈와 영상 평면이 완벽하게 평행을 이루지 않기 때문에 발생한다.
상기 방사 왜곡은 술통 변형(barrel distortion)과 바늘꽂이 변형(pincushion distortion)으로 분리될 수 있다. 상기 술통 변형은 광축으로 부터 거리가 멀어질수록 영상의 배율이 감소하는 것을 의미하며 어안렌즈에서 주로 나타난다. 상기 바늘꽂이 변형은 광축으로부터 거리가 멀어질수록 영상의 배율이 확대되는 것을 의미하며 망원경과 같은 반사 망원 렌즈(catadioptric lens)에서 주로 나타난다.
본 발명의 일 실시예에 따르면, 교정을 위하여 비측량적 접근법 중 하나인 구면 투영법(Spherical projection method)이 사용된다. 구면 투영법은 렌즈를 완전한 구로 가정하기 때문에 다른 방법들에 비하여 정확도가 떨어지는 단점을 가진다. 하지만, 교정과 보간은 독립적으로 수행될 수 있다. 본 발명의 변형된 실시예에 따르면, 다른 교정 방법을 사용해도 제안하는 보간법의 효과는 동일하다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명하기로 한다. 그러나, 본 발명은 여기서 설명되어지는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예는 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되어지는 것이다. 도면들에 있어서, 구성요소는 명확성을 기하기 위하여 과장되어진 것이다. 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소들을 나타낸다.
도 1은 본 발명의 일 실시예에 따른 구면 투영법을 설명하는 도면이다.
도 1을 참조하면, 구면 투영법은 교정을 위하여 구에서 평면으로 투영 연산을 수행한다. 어안렌즈(10)를 완전한 구로 가정하였을 때, 영상 평면(image plane) 위에서의 좌표는 방사 왜곡으로 인해 센서 평면(sensor plane) 위에서의 왜곡된 좌표로 투영된다. 센서 평면 상의 왜곡 영상을 보정 영상으로 변환하기 위한 좌표가 계산될 수 있다.
C(xc,yc)는 영상 평면에서의 보정 영상 좌표를 나타내며, D(xd,yd)는 센서 평면에서의 왜곡된 왜곡 영상 좌표를 나타낸다. F는 어안렌즈의 초점 거리(focal length)이다. 삼각형의 닮음비(similarity of triangles)을 이용하여 다음과 같이 계산될 수 있다.
Figure pat00001
수학식 1은 초점 거리(F)와 영상 평면 상에서의 실제 보정 영상 좌표를 이용하여 센서 평면에서의 왜곡된 왜곡 영상 좌표를 계산하는 식이다. 또한, 수학식 1은 다음과 같이 다시 정리된다.
Figure pat00002
수학식 2는 초점 거리(F)와 센서 평면 상의 왜곡 영상 좌표를 이용하여 보정 영상 위에서의 보정 영상 좌표를 계산하는 식이다. 어안렌즈의 왜곡 보정을 위하여 수학식 1과 수학식 2를 이용하여, 왜곡 영상에서 보정 영상으로 변환되는 좌표가 계산될 수 있다.
왜곡 보정을 위한 좌표 변환이 수행될 때, 사상(mapping)되는 방향에 따라 사상은 전방향 사상(forward mapping)과 역방향 사상(backward mapping)으로 분리될 수 있다.
전방향 사상은 수학식 2를 이용하여 왜곡 영상에서 보정 영상으로 변환되는 좌표를 계산한 후, 왜곡 영상 위의 좌표 화소 값을 보정 영상 위의 변환되는 좌표 의 화소 값으로 사상시키는 것이다.
전방향 사상은 왜곡 영상과 보정 영상 간의 다대일 사상 관계로 인하여, 겹침 현상(overlap)과 구멍 현상(hole)을 발생시킨다. 따라서 이를 예방하기 위한 추가적인 방법이 필요하다.
역방향 사상은 수학식 1을 이용하여 보정 영상에서 왜곡 영상으로 변환되는 좌표를 계산한 후, 보정 영상 위의 좌표의 화소 값을 왜곡 영상 위의 좌표의 화소 값으로 사상시키는 방법이다. 역방향 사상은 왜곡 영상과 보정 영상 간의 일대다 사상 관계로 인하여, 겹침 현상과 구멍 현상을 발생시키지 않는다. 하지만, 수학식 1을 통하여 변환되는 좌표가 정수 좌표로 떨어지지 않는 경우가 발생하기 때문에 왜곡 영상 위의 주변 좌표로부터 보정 영상 위의 해당하는 좌표의 화소 값을 결정하기 위한 보간법이 필요하다.
도 2a 내지 도 2d는 전방향 사상과 역방향 사상을 설명하기 위한 예제 그림이다. 도 2a는 원래의 영상이고, 도 2b는 수학식 1을 이용하여 도 2a를 어안 렌즈를 사용한 왜곡 영상으로 변환한 그림이다. 도 2c는 도 2b를 전방향 사상을 통하여 생성된 보정 영상이다. 영상 내에 구멍 현상이 발생하여 추가적인 방법이 필요함을 확인할 수 있다. 도 2c에서 보정 영상의 외곽에서 홀이 발생하는 것을 확인할 수 있다. 이는 방사 왜곡으로 인하여 영상 외곽의 정보가 영상의 중심보다 많이 없음을 보여준다. 도 2d는 도 2b를 역방향 사상 및 보간법을 통하여 생성된 보정 영상이다.
역방향 사상을 통하여 화소 값을 결정하기 위하여 보간법이 필요하다. 영상처리에서 대표적인 보간법에는 최근접 보간법, 양선형 보간법, 3차 회선 보간법 등이 있다. 최근접 보간법은 보간 시 가장 인접한 좌표의 화소 값을 대입하는 방법이다. 양선형 보간법은 보간 시 이웃한 4개 좌표의 화소 값에 대하여 거리에 반비례하는 가중치를 적용하여 화소 값을 계산한다. 3차 회선 보간법은 보간 시 이웃한 16 개 좌표의 화소 값에 대하여 양의 가중치와 음의 가중치를 주어 화소 값을 계산하여 대입하는 방법이다. 일반적인 영상 처리에서는 보간 시 사용하는 보간 함수가 복잡할수록 연산량은 많고 성능은 향상된다.
하지만, 실험 결과에 따르면, 일반적인 영상에서는 좋은 성능을 보이는 방법은 방사 왜곡 보정에는 좋은 성능을 보이지 않는다. 예를 들어, 왜곡 영상 위에서 근접한 화소들을 이용하여 보간법을 수행하였다. 보정 영상에서의 거리를 반영하여 보간을 수행하였지만, 보간에 사용된 좌표는 왜곡 영상에서의 근접 좌표들이다. 어안 렌즈를 통해 촬영된 왜곡 영상은 영상의 외곽으로 갈수록 방사 왜곡이 심해진다. 따라서, 왜곡 영상 위에서 근접한 화소들이 보정 영상 위에서는 근접한 화소가 아닌 경우가 발생한다. 또한, 보정 영상 위에서 근접한 화소가 수평선 상에 위치하지 않기 때문에 선형 보간법을 바로 적용할 수 없다.
따라서, 방사 왜곡을 고려하여 보정 영상 위에서 보간을 수행하기 위하여 새로운 보간법이 요구된다.
도 3은 본 발명의 일 실시예에 따른 어안 렌즈 왜곡 영상 처리 방법을 설명하는 흐름도이다.
도 3을 참조하면, 어안 렌즈 왜곡 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계(S100), 및 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계(S200)를 포함한다.
상기 보간하는 단계(S200)는 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계(S212), 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계(S214), 및 변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계(S216)를 포함한다.
교정(calibration)은 구면 투영법을 사용할 수 있다. 구체적으로 수학식 1 및 2가 사용될 수 있다. 역방향 사상을 위하여, 보간을 수행한다. 이하, 구체적으로, 왜곡 영상과 보정 영상의 좌표 변환 및 보간하는 방법이 설명된다.
도 4는 본 발명의 일 실시예에 따른 왜곡 영상과 보정 영상의 좌표 변환을 설명하는 도면이다.
도 5는 보정 영상 평면에서 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k))를 나타내는 도면이다.
도 6은 왜곡 영상 평면에서 왜곡 영상 최근접 정수 좌표들 (Dk N(xd k,yd k))를 나타내는 도면이다.
도 4를 참조하면, 왜곡 영상의 크기가 512 x 512이고, 어안 렌즈의 초점 거리가 20 mm일 때, 어안 렌즈를 통해 획득한 왜곡 영상에서 좌측 상단의 좌표는 확대되어 직각좌표계(x,y)로 표시된다. 보정 영상에서 보간할 정수 좌표(C(64,64))는 왜곡 영상에서 실수 좌표(D(142.13, 142.13))로 변환된다(S212).
빈 원형으로 나타낸 왜곡 영상에서의 실수 좌표 D(142.13, 142.13)는 보정 영상에서의 보간을 수행할 정수 좌표 C(64,64)에 대하여 수학식 1을 이용하여 변환된 왜곡 영상 실수 좌표이다.
이때, 왜곡 영상에서 실수 좌표 D(142.13, 142.13)의 근접한 주변 16개 정수 좌표 Dk에 대하여 1 내지 16의 ID가 부여되었다. 변환된 왜곡 영상 실수 좌표(D(142.13, 142.13)) 주위의 16 개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))는 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환된다(S214). 왜곡 영상에서 상기 실수 좌표 D(142.13, 142.13)의 주변 16개의 왜곡 영상 정수 좌표 (Dk(xd k,yd k))는 수학식 2를 이용하여 보정 영상 근접 실수 좌표(Ck(xc k,yc k))로 변환된다.
기존 선형 보간법은 D의 주변 좌표인 D6, D7, D10, D11을 사용하여 보간을 수행하였다. 그러나, 기존 선형 보간법은 어안 렌즈에 대하여 적합하지 않다.
도 5를 참조하면, 방사 왜곡에 의하여 보정 영상에서의 보간을 수행할 정수 좌표 C(64,64)에 가장 근접한 4개의 좌표는 {C3, C6, C7, C9}이다. 즉, 보정 영상에서 보간을 수행할 상기 정수 좌표 C(64,64)에 대한 정보는 {C6, C7, C9, C11} 보다 {C3, C6, C7, C9}에 더 많이 포함되어 있다.
변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 보정 영상의 정수 좌표(C(xc,yc))에 가장 근접한 4 개의 보정 영상 실수 좌표들은 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k))로 설정된다(S216). k는 상기 정수 좌표(C(xc,yc))로부터 거리에 따라 증가한다. 즉, k=0 인 경우, C0 N 이 상기 정수 좌표(C(xc,yc))에 가장 근접한 좌표이다.
이어서, 상기 보정 영상에서 상기 정수 좌표(C(xc,yc))와 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)가 계산된다(S232). 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)(interpolation coefficient)가 산출된다(S234).
상기 좌표 거리(dk)는 피타고라스의 정리를 이용하여 구해질 수 있다. 예를 들어, d0은 C와 C0 N 사이의 거리이고, d1은 C와 C1 N 사이의 거리이고, d2은 C와 C2 N 사이의 거리이고, d3은 C와 C3 N이의 거리이다. 보간 계수(iCk)는 다음과 같이 주어질 수 있다. 보간 계수(iCk)는 거리에 반비례하는 가중치가 적용될 수 있다.
Figure pat00003
상기 보정 영상 최근접 실수 좌표들 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표들 (Dk N(xd k,yd k))이 계산된다(S236).
상기 보간 계수(iCk)와 보정 영상에서의 보정 영상 최근접 실수 좌표들 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표들 (Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 보간할 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))은 다음과 같이 구해질 수 있다(S240).
Figure pat00004
(xc,yc)는 보정 영상에서 보간할 정수 좌표의 값을 의미하며, iCk는 상기 보간 계수이고, Q(xc k,yc k)는 보정 영상에서의 보정 영상 최근접 실수 좌표들 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표들 (Dk N(xd k,yd k))의 화소값이다.
구체적으로, 왜곡 영상 최근접 정수 좌표들 {D3,D6,D7,D9}의 화소값이 사용될 수 있다. 한편, 종래의 방법을 사용하여 {D6,D7,D10,D11}의 화소값이 사용된다.
본 발명의 일 실시예에 따르면, 왜곡 영상의 실수 좌표 D(xd,yd)에 근접한 좌표가 보정 영상에서는 C(xc,yc)에 근접한 좌표가 아닐 수 있다.
도 7은 본 발명의 일 실시예에 따른 이진화 영상(binary image)이다.
도 7을 참조하면, 영상 크기가 512 X 512일 때, 왜곡 영상에서 왜곡 영상 근접 정수 좌표들 Dk (k=0,1,2,3)와 보정 영상에서 보정 영상 최근접 실수 좌표들 Ck N (k=0,1,2,3)이 같을 경우에는 보정 영상의 화소는 흰점으로 표시된다. 왜곡 영상에서 왜곡 영상 근접 정수 좌표들 Dk (k=0,1,2,3)와 보정 영상에서 보정 영상 최근접 실수 좌표들 Ck N (k=0,1,2,3)이 다를 경우에는 보정 영상의 화소는 검은점으로 표시된다.
상기 이진 영상의 외곽으로 갈수록 방사 왜곡에 의하여 검은점들이 많다. 방사 왜곡은 영상의 중심에는 영향을 거의 미치지 않을 수 있다. 그럼에도 불구하고, 검은점들은 영상의 중심부에서 나타난다. 그 이유는 보정 영상의 정수 좌표에 근접하여 대각선에 위치한 좌표가 선택되지 않았기 때문이다.
도 8은 도 7의 이진 영상 중심 부분의 좌표 변환 결과를 나타내는 도면이다.
도 8을 참조하면, 보정 영상의 보간할 정수 좌표 C 에 대하여 보정 영상에서 보정 영상 최근접 실수 좌표들 Ck N 가 찾아졌다. 그 결과, C3 N 또는 C4 N 가 대각선 좌표인 C5 N 보다 C에 근접한다. 즉, 기존 선형 보간법에서 사용한 {C0 N,C1 N,C2 N,C5 N}가 아닌 {C0 N,C1 N,C2 N,C3 N}가 선택됨을 알 수 있다.
도 8에서 회색 영역은 C3 N 또는 C4 N 가 C5 N 보다 C에 거리상 가까이 위치하는 영역을 보여준다. 따라서, 도 7에서 중심 영역의 검은점들은 위와 같은 회색 영역에 해당될 수 있다.
본 발명의 일 실시예에서 따른 보간법은 보정 영상에서 최근접 좌표 4개를 선택하여 거리에 반비례한 가중치를 적용하여 보간을 수행한다. 보정 영상 위의 최근접 좌표인 Ck N 는 짧은 거리 순으로 정렬된다. 따라서, 거리에 반비례하게 계산된 보간 계수(iCk)는 아래 첨자(subscript) k가 작을수록 더 큰 값을 가진다. 즉, iC0는 1에 가까울수록, C0 N는 C에 근접함을 의미한다.
도 9는 본 발명의 일 실시예에 따른 iC0의 크기에 따른 분포를 나타내는 그레이 영상이다.
도 9를 참조하면, 화소는 iC0의 크기가 클수록 밝게 표시되며, iC0의 크기가 작을수록 어둡게 표시된다. 상기 그레이 영상의 중심이 외곽에 비하여 밝다. 즉, 상기 그레이 영상의 중심은 근접 좌표들 중에서 하나의 좌표의 화소 값에 강하게 의존한다.
구체적으로, 도 8을 참조하면, 보간을 수행하는 경우, 보정 영상 최근접 좌표로 {C0 N,C1 N,C2 N,C3 N} 또는 {C0 N,C1 N,C2 N,C4 N}가 사용된다. 하지만, 이 경우, iC0가 1에 가깝기 때문에, {C1 N,C2 N,C3 N,C4 N}는 보간할 정수 좌표의 화소값에 거의 영향을 주지않는다.
한편, 상기 그레이 영상의 외곽으로 갈수록 방사 왜곡이 심해진다. 따라서, 모든 최근접 좌표의 화소값을 포함하도록 보간이 수행되어야 한다.
도 10은 도 7과 도 9를 조합한 그레이 이미지이다.
도 10을 참조하면, 도 7에서 하얀 색은 0으로 설정되고, 검은 색은 1로 설정된다. 이어서, 도 10은 변경된 도 7과 도 9의 곱으로 생성된다. 밝은 영역은 Dk과 Ck N가 같거나 iC0가 1에 가깝다는 것을 의미한다. 어두운 영역은 그 반대의 경우이다. 결론적으로, 방사 왜곡은 영상의 외곽으로 갈 수록 심해진다. 따라서, 영상 중심이 영상 외곽에 비하여 밝다.
본 발명의 일 실시예에 따른 보간법은 방사 왜곡을 고려하여 보정 영상에서 가장 근접한 4 개의 실수 좌표를 선택하여 보간을 수행한다. 따라서, 영상의 외곽에서 특히 성능이 향상된다. 본 발명의 일 실시에에 따른 영상 처리 방법은 전체적으로 영상의 성능을 향상시키며, 특히 영상 외곽에서 화질을 더욱 향상시킬 수 있다.
도 11은 본 발명의 다른 실시예에 따른 영상 처리 방법을 설명하는 흐름도이다.
도 11을 참조하면, 어안 렌즈 왜곡 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계(S100); 및 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계(S400)를 포함한다.
상기 보간하는 단계(S400)에서, 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))는 구면 투영법의 수학식 1을 사용하여 왜곡 영상 실수 좌표(D(xd,yd))로 변환될 수 있다(S412).
이어서, 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))는 구면 투영법의 수학식 2를 사용하여 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환될 수 있다. 바람직하게는, 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 16개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))는 구면 투영법의 수학식 2를 사용하여 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환될 수 있다(S414).
이어서, 변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 4개의 변환된 보정 영상 실수 좌표는 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정될 수 있다(S416). 상기 정수 좌표(C(xc,yc))에 가장 근접한 좌표인지를 판단하기 위하여, 상기 정수 좌표(C(xc,yc))와 상기 보정 영상 실수 좌표들(Ck(xc k,yc k)) 사이의 거리가 확인될 수 있다.
왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))는 룩업 테이블 메모리에 저장될 수 있다. 구체적으로, 상기 보정 영상 최근접 실수 좌표 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))는 메모리에 저장될 수 있다. 상기 보정 영상 최근접 실수 좌표 (Ck N(xc k,yc k))의 좌표값은 실수이므로, 정수 좌표인 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))가 저장되는 것이 바람직할 수 있다. 이에 따라, 보정 영상의 모든 화소에 대하여, 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))가 메모리에 저장될 수 있다(S417).
이어서, 왜곡 영상에서 정수 좌표(C(xc,yc)와 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)는 계산될 수 있다. 상기 좌표 거리(dk)를 이용하여 보간 계수(iCk)가 계산될 수 있다. 또한, 보간 계수를 (iCk)는 메모리에 저장될 수 있다(S418). 결국, 룩업 테이블 메모리에 상기 보간 계수 (iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))가 저장된다. 상기 보간 계수 (iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))는 어안 렌즈의 특성에 의하여 주어질 수 있다. 동일한 어안렌즈에 대하여, 한 번 계산된 상기 보간 계수 (iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))는 임의의 왜곡 영상을 보정 영상으로 변환하기 위하여 사용될 수 있다.
상기 왜곡 영상은 왜곡 영상 정수 좌표와 그 좌표에서의 화소값을 가진다. 상기 왜곡 영상을 촬영한 어안 렌즈의 특성은 계산되어 메모리에 저장된다.
따라서, 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))는 메모리부터 독출된다(S424). 이어서, 상기 보간 계수(iCk)는 메모리부터 독출된다(S432).
이어서, 상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))은 수학식 4를 이용하여 계산될 수 있다.
본 발명의 일 실시예에 따르면, 화소(pixel) 하나 당 16 개의 왜곡 영상 정수 좌표가 보정 영상에서의 보정 영상 실수 좌표로 변환될 수 있다. 이 경우, 좌표 변환할 좌표의 개수가 기존의 방법보다 4배 많다. 또한, 16 개의 보정 영상 실수 좌표 중에서 가장 근접한 4개의 좌표를 선택하기 위한 정렬 과정이 요구된다. 상기 정렬 과정은 많은 연산량을 요구한다. 이러한 연산량을 줄이기 위하여 룩업 테이블(look-up table; LUT)를 기반으로 보간을 수행할 경우, 성능이 향상될 수 있다.
어안 렌즈의 특성이 정해지면, 모든 화소의 보정 영상 최근접 실수 좌표들 및 보간 계수는 미리 계산될 수 있다. 상기 보간 계수와 상기 보정 영상 최근접 실수 좌표에 대응하는 왜곡 영상 최근접 정수 좌표는 LUT1에 저장되어 사용될 수 있다. 이에 따라, 어안 렌즈를 통해 촬영한 왜곡 영상의 보정을 위하여 소모되는 연산량이 감소될 수 있다. 이 경우, LUT1의 크기는 다음과 같이 주어질 수 있다.
Figure pat00005
여기서, xbw와 ybw는 각각 xc와 yc의 대역폭(bandwidth)을 나타낸다. icbw는 보간 계수의 대역폭을 나타낸다. Iw와 Ih는 보정 영상의 너비와 높이를 나타낸다. xbw와 ybw의 가장 작은 값은 각각 [log2(Iw)]와 [log2(Ih)]가 된다. 그리고, icbw의 경우, 보간 계수가 클수록 영상의 화질은 좋아지지만, LUT1의 크기가 커진다.
예를 들어, 실험에서 사용한 영상의 크기가 768 X 512이고, xbw와 ybw가 각각 9 bits와 8 bits이고, icbw가 32 bits라고 할 경우, LUT1의 크기는 2.39 Mbytes가 된다. LUT1는 왜곡 영상 최근접 정수 좌표들과 보간 계수를 모두 저장할 수 있다. 그러나, 이 경우, LUT1의 크기가 너무 커진다.
LUT1가 왜곡 영상 최근접 정수 좌표들과 보간 계수를 모두 저장하는 경우, 보간 수행 속도는 빠르다. 하지만, LUT1의 크기가 너무 크게 된다. 따라서, LUT1의 크기를 감소시키는 방법이 요구된다.
본 발명의 일 실시예에 따른 영상 처리 방법은 가장 큰 크기를 차지하는 보간 계수를 저장하지 않고, 왜곡 영상 최근접 좌표만을 LUT에 저장할 수 있다.
또한, LUT의 크기를 최적화하기 위하여, 배럴 방사 왜곡의 대칭성(symmetry property of barrel radial distortion), 상대 좌표 저장(storing relative coordinates), 그리고 왜곡 영상 최근접 정수 좌표의 패턴(patterns of distorted image nearest neigborhood coordinates)을 이용한 2 레벨(two-level) LUT2의 구조가 제안된다. 이에 대한 동작이 이하 설명된다.
방사 왜곡의 대칭성은 광축을 중심으로 배율 축소(magnification reduction)가 대칭을 이루는 성질을 이용한다.
도 12는 또 다른 실시예에 따른 영상 처리 방법을 설명하는 흐름도이다.
도 12를 참조하면, 영상 처리 방법은 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계(S100), 및 상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계(S300)를 포함한다.
상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))는 왜곡 영상 실수 좌표(D(xd,yd))로 변환된다(S312). 이어서, 상기 변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))는 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환된다(S314).
이어서, 변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표는 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정된다.
보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴은 결정된다. 이에 따라, 상기 패턴은 패턴 메모리에 패턴 데이터로 저장된다(S318). 이어서, 보간할 정수 좌표(C(xc,yc)에 대응하는 패턴 어드레스 메모리가 상기 패턴 테이터를 가지는 패턴 메모리를 지시하도록 설정된다(S318).
구체적으로, LUT2의 구조는 이하에서 설명된다.
도 13은 방사 왜곡 특성을 나타내는 도면이다.
도 13을 참조하면, 중심의 광축은 직각 좌표계(u,v)의 원점(optical center)으로 설정된다. 상기 원점을 중심으로 방사 왜곡은 원점 대칭을 이룬다. 원점 대칭성을 이용하면, 전체 왜곡 영상의 방사 왜곡 특성은 4개의 사분면(I~IV)에)이 아닌 1 개의 사분면(I)에 대한 특성으로 압축될 수 있다. 따라서, 1 개의 사분면(I)에 대한 왜곡 영상 최근접 좌표 정보는 방사 왜곡 대칭성에 의하여 전체 왜곡 영상에 대한 보간에 대한 정보를 제공할 수 있다. 따라서, LUT의 크기는 25 퍼센트로 감소될 수 있다.
또한, 왜곡 영상 최근접 정수 좌표는 상기 보정 영상의 보간할 정수 좌표(C(xc,yc))에 대응하는 왜곡 영상 실수 좌표(D(xd,yd))을 기준으로 상대 좌표를 이용하여 LUT에 저장될 수 있다. 즉, 상대 좌표 저장은 보간을 위하여 사용되는 왜곡 영상 최근접 정수 좌표에 대하여 절대 좌표가 아닌 상대 좌표를 LUT에 저장하는 방법이다.
상기 LUT 구조는 보간할 정수 좌표(C(xc,yc))에 대응하는 왜곡 영상 정수 좌표를 저장할 수 있다. 그러나, 보간할 정수 좌표(C(xc,yc))에 대응하는 왜곡 영상 실수 좌표(D(xd,yd))의 주변 16 개 좌표(Dk(xd k,yd k))에 대하여 16 bits가 할당된다. 즉, 한 좌표에 대하여 하나의 비트가 할당된다.
예를 들어, 보간 시 사용되는 4 개의 왜곡 영상 최근접 정수 좌표에 대응하는 비트는 "1"의 상태를 가지도록 세트(set)되고, 보간 시 사용되지 않는 12 개의 좌표에 대응하는 비트는 "0" 상태로 가지도록 설정된다.
위와 같은 LUT 구조를 가지는 경우, 보간할 정수 좌표(C(xc,yc))에 대하여 수학식 1을 적용하여 왜곡 영상에서 왜곡 영상 실수 좌표(D(xd,yd))의 계산이 다시 요구될 수 있다(S326). 상기 왜곡 영상 실수 좌표(D(xd,yd))는 상대 좌표를 절대 좌표로 변환하기 위하여 요구될 수 있다.
또한, 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))에 대응하는 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))의 계산이 추가적으로 요구된다(S328). 상기 보정 영상 최근접 실수 좌표는 좌표 거리(dk) 및 보정 계수(iCk)의 연산을 위하여 필요하다. 위와 같은 LUT 구조를 가지는 경우, 보정 영상 최근접 실수 좌표를 계산하는 추가적인 연산이 필요하지만, LUT의 크기가 감소될 수 있다.
왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴은 하나의 화소(C(xc,yc))를 보간하기 위하여 선택되는 4 개의 좌표들의 배치 형태이다.
16개의 왜곡 영상 정수 좌표들(Dk(xd k,yd k)) 중에서 4 개의 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))가 선택된다. 이 경우, 16 개의 좌표에서 4 개의 좌표가 선택되는 경우의 수는 C4 16 (4-combinations from a given set S of 16 elements)으로 1820개이다. 하지만, 방사 왜곡은 배율축소가 영상의 중심에서부터 외부로 진행되기 때문에 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))은 일정한 패턴을 가진다. 패턴의 수는 1820 개보다 작다.
또한 앞서 설명한 방사왜곡의 대칭성을 적용하면, 패턴의 수는 하나의 사분면에 대해서만 필요하기 때문에 더 줄어든다.
도 14는 제 2 사분면(II)에서 발생하는 위치에 따른 패턴들을 보여준다.
도 14를 참조하면, 좌측 상단의 박스는 왜곡 영상 실수 좌표(D(xd,yd)) 주변의 16 개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))에 대한 ID(k=1~16)를 나타낸 것이다. 위치에 따라 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴은 주위에 표시되었다.
예를 들어, 실험에 사용한 영상 크기가 768 X 512이고, 어안렌즈의 초점거리가 20 mm 인 경우, 방사 왜곡의 대칭성까지 적용하면 발생할 수 있는 패턴의 개수는 110 개이었다. 상기 패턴의 개수는 어안렌즈의 특성에 의하여 주어질 수 있다.
도 15는 본 발명의 일 실시예에 따른 2-레벨 LUT(LUT2)의 구조를 설명하는 도면이다.
도 15를 참조하면, 상기 2-레벨 LUT(LUT2)의 구조는 두 개의 메모리를 포함한다. 하나의 메모리는 패턴 메모리(pattern memory)이다. 패턴 메모리는 발생하는 패턴들을 저장한다. 상기 패턴 메모리는 16 비트를 가지고, 패턴의 형태에 따라 상기 패턴 메모리는 다른 값을 가진다. 상기 패턴 메모리는 앞에서 명한 상대 좌표를 저장한다. 예를 들어, 패턴 1(ID= 2,3,5,6가 "1")을 가지는 경우, 상기 패턴 메모리는 "0110110000000000"를 가진다.
다른 하나의 메모리는 패턴 주소 메모리(pattern address memory)이다. 상기 패턴 주소 메모리는 특정한 패턴 메모리를 가리키는 주소를 저장한다.
보간할 정수 좌표(C(xc,yc))는 패턴 주소 메모리를 가리키는 인텍스(index)로 사용된다. 또한, 패턴 주소 메모리의 값은 패턴 메모리의 주소를 가리킨다. 패턴 메모리의 값은 특정한 패턴을 나타낸다.
위와 같은 2-레벨 LUT(LUT2)의 크기는 다음과 같이 주어질 수 있다.
Figure pat00006
여기서, LUTPAM은 패턴 주소 메모리를 나타내고, LUTPM은 패턴 메모리를 나타낸다. Iw는 영상의 너비, Ih는 영상의 높이, 그리고 Np는 패턴의 개수를 각각 나타낸다. 패턴 주소 메모리의 대역폭은 [log2 Np]이다. Iw/2 및 Ih/2는 방사왜곡의 대칭성에 기인한다. 즉, 하나의 사분면에 대한 정보만이 필요하다.
또한, 패턴 메모리의 대역폭인 16은 보간 시 사용되는 주변 16 개의 상대 좌표를 의미하고, Np는 패턴 메모리의 높이이다. 예를 들어, 영상 크기가 768x512일 때, 특정한 어안렌즈에 의한 패턴의 수는 110 개인 경우, 2-레벨 LUT의 크기는 689,988 bits로 약 84.2 Kbytes이다.
2-레벨 LUT(LUT2)는 보간 계수(iCk)를 LUT에 저장하지 않는다. 따라서, 보간을 위하여, 추가적인 연산이 필요하다. 추가적인 연산의 순서는 다음과 같다.
상기 정수 좌표(C(xc,yc))가 가리키는 상기 패턴 메모리의 값으로 패턴 메모리를 접근하여 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터는 독출된다(S324).
이어서, 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터로부터 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))가 계산된다(S326).
이어서, 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))에 대응하는 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))는 계산된다(S328).
이어서, 상기 보정 영상의 상기 정수좌표(C(xc,yc))와 상기 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)가 계산된다. 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)가 수학식 3을 이용하여 산출된다.
이어서, 상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))이 수학식 4를 이용하여 계산된다.
본 발명의 일 실시예에 따른 보간법과 다른 보간법이 비교되었다. Kodak Lossless True Color Image를 사용하는 경우, 본 발명에 따른 보간법은 다른 보간법에 따른 결과보다 높은 평균 27.499 dB의 첨두 신호대노이즈비(peak signal to noise ratio; PSNR)를 보였다. 방사 왜곡은 영상의 중상보다 외곽으로 갈수록 심해진다. 따라서, 본 보간법은 외각 지역에서 화질을 더욱 향상시킬 수 있다. 또한, 전체적으로 객관적인 화질뿐만 아니라 주관적인 화질이 향상되는 것이 확인되었다.
도 16은 본 발명의 일 실시예에 따른 실행 시간을 비교한 그래프이다.
도 16을 참조하면, 본 발명에 일 실시예에 따른 보간법의 실행 시간이 조사되었다. LUT 구조가 적용되지 않는 경우(Nearest Neighbor Based Interpolation; NNBI), 실행시간은 270 msec 정도이다. 수행 시간을 줄이기 위하여 LUT 구조(LUT1)를 사용하는 경우, 실행시간은 20 msec 정도이다. 또한 2-레벨 LUT 구조(LUT2)를 사용하는 경우, 실행시간은 45 msec 정도이다. LUT1은 왜곡 영상 최근접 좌표와 보간 계수를 모두 저장한다. 한편, LUT2는 영상 최근접 좌표만을 저장한다. 한편, LUT1의 사이즈는 LUT2의 사이즈보다 약 29.06 배 크다. 2-레벨 LUT 구조(LUT2)를 사용하는 경우, 메모리 효율성은 향상된다. 그러나, 추가적인 연산이 필요하다. 하지만, 2-레벨 LUT 구조(LUT2)에서는, 연산량이 가장 많은 정렬 과정이 수행되지 않는다. 따라서, 전체적인 실행시간은 많이 줄어들었다.
이상에서는 본 발명을 특정의 바람직한 실시예에 대하여 도시하고 설명하였으나, 본 발명은 이러한 실시예에 한정되지 않으며, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 특허청구범위에서 청구하는 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 실시할 수 있는 다양한 형태의 실시예들을 모두 포함한다.
10: 어안렌즈

Claims (9)

  1. 어안렌즈로 획득한 왜곡 영상으로부터 보정할 보정 영상으로 파라미터를 사용하여 보정 영상의 좌표를 교정(calibration)하는 단계; 및
    상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보간하는 단계를 포함하고,
    상기 보간하는 단계는:
    상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계;
    변환된 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계; 및
    변환된 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계를 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  2. 제 1 항에 있어서,
    상기 보간하는 단계는:
    상기 보정 영상에서 상기 정수 좌표(C(xc,yc))와 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)를 산출하는 단계;및
    상기 보간 계수(iCk)와 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  3. 제 1 항에 있어서,
    상기 보간하는 단계는:
    보정 영상 최근접 실수 좌표 (Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 메모리에 저장하는 단계;
    왜곡 영상에서 정수 좌표(C(xc,yc)와 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 좌표 거리(dk)를 이용하여 보간 계수(iCk)를 계산하고, 보간 계수를 (iCk)를 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  4. 제 3 항에 있어서,
    상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 메모리부터 독출하는 단계;
    상기 보간 계수(iCk)를 메모리부터 독출하는 단계; 및
    상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  5. 제 1 항에 있어서,
    상기 보간하는 단계는:
    보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴을 결정하고, 상기 패턴을 패턴 메모리에 패턴 데이터로 저장하고,
    보간할 정수 좌표(C(xc,yc)에 대응하는 패턴 어드레스 메모리가 상기 패턴 테이터를 가지는 패턴 메모리를 지시하도록 설정하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  6. 제 5 항에 있어서,
    상기 보간하는 단계는:
    상기 정수 좌표(C(xc,yc))가 가리키는 상기 패턴 메모리의 값으로 패턴 메모리를 접근하여 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터를 독출하는 단계;
    상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 패턴 데이터로부터 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 계산하는 단계;
    상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))에 대응하는 상기 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))를 계산하는 단계;
    상기 보정 영상의 상기 정수좌표(C(xc,yc))와 상기 보정 영상 최근접 실수 좌표들(Ck N(xc k,yc k)) 사이의 좌표 거리(dk)를 계산하고, 상기 좌표 거리(dk)에 반비례하는 보간 계수(iCk)를 산출하는 단계;및
    상기 보간 계수(iCk)와 상기 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 상기 정수 좌표(C(xc,yc))의 화소값(P(xc,yc))을 계산하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  7. 제1 항에 있어서,
    상기 교정(calibration)은 구면 투영법을 사용하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  8. 어안렌즈로 획득한 왜곡 영상을 보정 영상으로 보정하는 어안 렌즈 왜곡 영상 처리 방법에 있어서,
    상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))를 왜곡 영상 실수 좌표(D(xd,yd))로 변환하는 단계;
    상기 왜곡 영상 실수 좌표(D(xd,yd)) 주위의 적어도 2개의 왜곡 영상 정수 좌표(Dk(xd k,yd k))를 보정 영상 실수 좌표(Ck(xc k,yc k))로 변환하는 단계;
    상기 보정 영상 실수 좌표들(Ck(xc k,yc k)) 중에서 상기 정수 좌표(C(xc,yc))에 가장 근접한 적어도 1 개의 변환된 보정 영상 실수 좌표를 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))로 설정하는 단계; 및
    상기 보정 영상에서 보간할 정수 좌표(C(xc,yc))의 화소값을 보정 영상 최근접 실수 좌표(Ck N(xc k,yc k))에 대응하는 왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))의 화소값(Q(xc k,yc k))을 이용하여 보간하는 단계를 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
  9. 제 8 항에 있어서,
    왜곡 영상 최근접 정수 좌표(Dk N(xd k,yd k))를 룩업 테이블 메모리에 저장하는 단계를 더 포함하는 것을 특징으로 하는 어안 렌즈 왜곡 영상 처리 방법.
KR1020120139983A 2012-12-05 2012-12-05 어안 렌즈용 왜곡 영상 처리 방법 KR101465607B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120139983A KR101465607B1 (ko) 2012-12-05 2012-12-05 어안 렌즈용 왜곡 영상 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120139983A KR101465607B1 (ko) 2012-12-05 2012-12-05 어안 렌즈용 왜곡 영상 처리 방법

Publications (2)

Publication Number Publication Date
KR20140072470A true KR20140072470A (ko) 2014-06-13
KR101465607B1 KR101465607B1 (ko) 2014-11-27

Family

ID=51126312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120139983A KR101465607B1 (ko) 2012-12-05 2012-12-05 어안 렌즈용 왜곡 영상 처리 방법

Country Status (1)

Country Link
KR (1) KR101465607B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092631A1 (zh) * 2015-11-30 2017-06-08 宁波舜宇光电信息有限公司 鱼眼图像的畸变图像校正方法及鱼眼相机的标定方法
KR20190086964A (ko) 2018-01-15 2019-07-24 주식회사 스트리스 어안 렌즈 및 전방위 영상의 왜곡 제거를 위한 장치 및 방법
KR20190087736A (ko) * 2018-01-17 2019-07-25 국방과학연구소 위치 왜곡 보정 방법 및 장치
CN113643205A (zh) * 2021-08-17 2021-11-12 安徽农业大学 一种鱼眼镜头的全场图像畸变校正方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964214B1 (ko) 2017-11-17 2019-04-01 주식회사 포텍 손실된 멀티 광원 추적이 가능한 렌즈 미터의 측정 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192315A (zh) * 1995-07-27 1998-09-02 传感电子公司 用于不使用运动部件的摄像机的图像分割、形成与处理设备和方法
US5691765A (en) * 1995-07-27 1997-11-25 Sensormatic Electronics Corporation Image forming and processing device and method for use with no moving parts camera
KR101053506B1 (ko) 2009-12-16 2011-08-03 (주) 에투시스템 어안 렌즈를 구비하는 카메라 모듈에 의해 획득된 영상의 왜곡 보정을 위한 파라미터 조정 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092631A1 (zh) * 2015-11-30 2017-06-08 宁波舜宇光电信息有限公司 鱼眼图像的畸变图像校正方法及鱼眼相机的标定方法
KR20190086964A (ko) 2018-01-15 2019-07-24 주식회사 스트리스 어안 렌즈 및 전방위 영상의 왜곡 제거를 위한 장치 및 방법
KR20190087736A (ko) * 2018-01-17 2019-07-25 국방과학연구소 위치 왜곡 보정 방법 및 장치
CN113643205A (zh) * 2021-08-17 2021-11-12 安徽农业大学 一种鱼眼镜头的全场图像畸变校正方法
CN113643205B (zh) * 2021-08-17 2024-03-22 安徽农业大学 一种鱼眼镜头的全场图像畸变校正方法

Also Published As

Publication number Publication date
KR101465607B1 (ko) 2014-11-27

Similar Documents

Publication Publication Date Title
CN110060200B (zh) 图像透视变换方法、装置及设备
KR101465607B1 (ko) 어안 렌즈용 왜곡 영상 처리 방법
US8228396B2 (en) Image processing apparatus, image capturing apparatus, and image distortion correction method
CN110276734B (zh) 图像畸变校正方法和装置
US10628916B2 (en) Image generating apparatus, image generating method, and program
JP5046132B2 (ja) 画像データ変換装置
CN104917955A (zh) 一种图像转换和多视图输出系统及方法
JP2012105246A (ja) 画像補正方法、および関連する画像補正システム
US20160078590A1 (en) Coordinate computation device and method, and an image processing device and method
KR20140038513A (ko) 광각 렌즈 이미지 보정
EP3540684B1 (en) Image processing apparatus and image processing method
US8610801B2 (en) Image processing apparatus including chromatic aberration correcting circuit and image processing method
CN111292278B (zh) 图像融合方法及装置、存储介质、终端
US7499082B2 (en) Distortion correction circuit for generating distortion-corrected image using data for uncorrected image
JP5029645B2 (ja) 画像データ変換装置
US10395337B2 (en) Image processing apparatus, image processing method, and storage medium
EP3523777A1 (en) System and method for rectifying a wide-angle image
US8385686B2 (en) Image processing method based on partitioning of image data, image processing device based on partitioning image data and program
JPH11250239A (ja) Yuvデータによりディストーション補正を行うディジタル撮像装置
EP3916670A1 (en) System and method for correcting geometric distortion in images
CN114648458A (zh) 鱼眼图像矫正方法、装置、电子设备及存储介质
JP2008298589A (ja) 位置検出装置及び位置検出方法
US20200294208A1 (en) Image processing apparatus and distortion correction coefficient calculation method
US20030215230A1 (en) Method and system for correcting non-symmetric distortion in an image
CN113822937B (zh) 一种图像校正方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191104

Year of fee payment: 6