KR100513789B1 - 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 - Google Patents
디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 Download PDFInfo
- Publication number
- KR100513789B1 KR100513789B1 KR10-2002-0080336A KR20020080336A KR100513789B1 KR 100513789 B1 KR100513789 B1 KR 100513789B1 KR 20020080336 A KR20020080336 A KR 20020080336A KR 100513789 B1 KR100513789 B1 KR 100513789B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- camera
- lens distortion
- calibration
- digital camera
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/75—Circuitry for compensating brightness variation in the scene by influencing optical camera components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
본 발명은 유무선 통신 하부구조 혹은 인터넷을 이용하여 사용자에게 언제 어디서나 영상 정보를 추출하고 가공, 전송, 저장 및 이를 이용한 정보 서비스의 제공을 위해 디지털 카메라를 포함한 각종 영상 장비를 통해 획득된 가공되지 않은 영상으로부터 렌즈 왜곡 보정된 영상을 생성하고, 촬영 당시의 장비의 자세 정보를 실시간으로 획득하여 정사영상을 생성하는 기술에 관한 것이다. 이를 위해 본 발명은 영상 장비에 사용되는 렌즈의 왜곡 성분을 카메라 캘리브레이션을 통해 미리 결정하고, 이를 장비의 내부에 저장하도록 함으로써 사용자는 장비를 사용시에 특별한 캘리브레이션 과정을 수행할 필요가 없을 뿐만 아니라 본 발명에서 고안된 이미지 워핑 방법을 이용하여 실시간으로 왜곡 보정된 고품질의 영상을 획득할 수 있다. 특히, 각종 정보 서비스 및 영상에 기반한 정보 추출의 경우 촬영된 패턴이 영상 장비의 촬영 당시의 자세에 의해 기하학적 성질이 변하는 것을 막고, 최종적으로 신뢰성 높은 정보 추출이 이루어지도록 하기 위해 정사영상을 생성하도록 한다.
Description
본 발명은 디지털 카메라를 이용한 영상처리기술에 관한 것으로, 더욱 상세하게는 디지털 카메라를 이용하여 평면 형태의 패턴(planar pattern)을 임의의 카메라 자세에서 촬영하고 이로부터 정사영상(Orthoimage)을 생성하는 기술에 관한 것이다.
즉, 본 발명은 디지털 카메라를 이용하여 평면 형태의 패턴(예컨대, 명함, 일반 문서, 책, 전시회나 박물관의 설명문, 안내문, 일반 회화나 상징, 혹은 프린트 출력 등)을 촬영하고, 즉석에서 평면에 대한 카메라의 상대적인 자세 차이를 계산하여 촬영된 영상을 보정하여 평면의 표면 수직 벡터(surface normal vector)와 카메라의 시선 방향(LOS: Line Of Sight)이 평행이 된 상태에서 촬영된 영상과 같은 효과를 가지도록 하는 것이다.
기존의 디지털 이미징 기술은 주로 CCD센서를 이용한 산업, 의료, 군사, 항공 등 고해상도, 고품질의 영상이 필요한 분야에 한정되었으며, 일반인들이 사용하기에는 비용과 해당 기술에 대한 선험 지식의 부재 등의 이유로 적합하지 못하였다. 최근의 CCD 센서 제어 회로의 소형 집적화 기술과 DSP, 마이크로 프로세서, 메모리 및 주변 회로의 고집적, 저전력, 소형화 추세에 힘입어 기존에 별개의 장치로 구성되었던 영상 처리 시스템을 하나의 장치로 구현하는 것이 가능해졌으며, 일반인들도 손쉽게 사용할 수 있는 다양한 형태의 디지털 카메라의 제조가 가능해졌다.
특히, CMOS 공정 기반의 이미지 센서의 꾸준한 품질 개선과 해상도의 증가가 이루어짐에 따라 저가의 디지털 카메라를 구현하는 것이 가능해졌으며, CMOS 이미지 센서 고유의 특성에 의해 소형화 추세는 더욱 증대될 것으로 보인다. 이러한 추세는 최근의 PDA, 휴대폰, 태블릿 PC, 스마트폰 등 휴대형 정보 단말의 사용자 층의 확대, 유무선 통신망의 확충과 맞물려 내장형 디지털 카메라의 증가로 나타나고 있으며, 언제 어디서나 원하는 영상을 촬영하고 현장에서 가공 혹은 정보 추출 및 원하는 장소로의 전송 및 저장이 가능해지게 되었다.
한편, 평면의 표면 수직 벡터에 대해 카메라의 시선 방향이 평행이 되지 않는 경우, 일반적으로 원근 효과(perspective effect)가 발생하게 되며, 원근 효과에 의해 평면에 담겨져 있는 패턴의 기하학적 성질이 변하게 된다. 원근 효과가 발생하는 경우에 원영상(original image)은 사영 변환(projective transform)에 의해 모델링이 가능하며, 이 때 적용할 수 있는 기하학적 불변성(geometric invariance)은 cross ratio, concurrency, collinearity 정도이다.
반면, 카메라와 평면간의 상대적 자세 차이가 작은 경우 에파인(affine) 변환으로 모델링이 가능하며, 이 때 적용할 수 있는 기하학적 불변성은 사영 변환의 경우를 포함하면서 평행성(parallelism), 평행한 선분에서의 길이비(ratio of lengths on collinear or parallel lines) 및 벡터 성분의 선형 조합(linear combinations of vectors)의 불변성 등으로 늘어나게 되며, 평면의 표면 수직 벡터와 카메라의 시선 방향이 평행한 경우 similarity 변환으로 모델링되어 기하학적 불변성은 affine 변환시의 것을 포함하여 길이 및 면적비 불변성(invariance of ratio of lengths and areas)으로까지 확대된다.
이와 같이 정사영상을 이용하는 경우, 영상 정보 추출의 경우에 반드시 거치게 되는 패턴 매칭 단계에서 적용 가능한 기하학적 성질(geometric property)이 늘어남에 따라 불확실성은 매우 낮아지게 되며, 그 결과 또한 신뢰성이 높아지게 될 것을 기대할 수 있다.
본 발명의 목적은 상기와 같은 필요성을 충족시키기 위하여 임의의 회전각 자세를 취하는 디지털 카메라로 촬영된 일반 평면 위의 패턴으로부터 렌즈 왜곡 보정 단계를 거친 후 자동으로 계산된 평면에 대한 상대적인 카메라 회전각 정보를 이용하여 정사영상을 생성하는 것이다.
즉, 본 발명은 위에서 설명한 디지털 이미징 기술의 전개와 더불어 일반 사용자가 임의의 장소, 임의의 촬영 상태에서 획득한 영상으로부터 정보를 추출하고, 전송, 교환, 저장하기 위한 영상 처리 및 컴퓨터 비젼 기술을 다루고 있으며, 획득한 원영상(original image)으로부터 정사영상(orthoimage)을 생성함으로써 추출된 정보의 신뢰성과 품질의 우수성을 확보하고자 한다.
상기 목적을 달성하기 위해 본 발명의 디지털 카메라는, 사용자의 조작에 따라 이미지를 캡춰하는 이미지센서; 캡춰된 이미지를 카메라 캘리브레이션을 통해 미리 저장된 파라메터를 이용하여 방사상 렌즈왜곡을 보정하는 렌즈왜곡 보정수단; 상기 렌즈왜곡 보정수단의 출력을 입력받아 정사영상을 생성하는 정사영상 생성수단; 상기 정사영상 생성수단의 출력을 입력받아 정보를 추출하거나 패턴을 인식하는 패턴인식수단; 및 상기 패턴인식수단의 출력을 외부와 통신하기 위한 통신수단을 포함하는 것을 특징으로 한다.
또한 본 발명의 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법은, 카메라 파라메타 추출을 위한 카메라 캘리브레이션 단계; 상기 카메라 캘리브레이션 단계에서 구해진 렌즈 왜곡 변수와 이미지 센터, 스케일 팩터(scale factor) 정보로부터 렌즈 왜곡을 보상하는 단계; 및 상기 렌즈 왜곡 보상된 영상에 대해 상기 카메라 캘리브레이션 단계에서 구해진 초점 거리와 촬영 현장에서 계산된 카메라 회전각 정보를 이용하여 카메라와 평면간의 상대적인 자세 차이를 보정하여 정사영상을 생성하는 단계를 포함한다.
본 발명의 이해를 쉽게하기 위하여 전체적인 과정을 개략적으로 살펴보면, 임의의 카메라 자세로부터 획득한 영상으로부터 정사영상을 생성하기 위해서는 다음의 세 가지 단계를 거치게 된다. 즉, 카메라 파라메타 추출을 위한 카메라 캘리브레이션 단계와, 카메라 캘리브레이션 단계에서 구해진 렌즈 왜곡 변수와 이미지 센터, 스케일 팩터(scale factor) 정보로부터 렌즈 왜곡을 보상하는 이미지 워핑 단계, 그리고 렌즈 왜곡 보상된 영상에 대해 카메라 캘리브레이션 단계에서 구해진 초점 거리와 촬영 현장에서 계산된 카메라 회전각 정보를 이용하여 카메라와 평면간의 상대적인 자세 차이를 보정하는 단계이다.
이를 좀 더 구체적으로 살펴보면, 본 발명은 캘리브레이션 패턴으로 사용되는 3차원 공간상에 놓여진 수직, 수평 배열로 이루어진 원(circle) 패턴으로부터 특징 추출(feature extraction)단계를 거쳐 캘리브레이션을 수행하는 제1 단계와, 상기 제1 단계에서 계산된 렌즈 왜곡 변수에 기반하여 이미지 워핑을 적용함에 있어 실시간 구현을 위한 픽셀 보간(interpolation)하는 제2 단계, 그리고 자동으로 카메라 회전각 정보를 구한 후 이로부터 제2 단계에서 구해진 왜곡 보정된 영상으로부터 정사영상을 생성하는 제3 단계로 이루어진다.
카메라 캘리브레이션은 3차원 공간상에 놓여진 기하학적 정보가 미리 알려진 캘리브레이션 패턴의 3차원 좌표값과 카메라 영상에서 추출한 패턴의 픽셀 좌표값간의 관계로부터 카메라 파라메타를 계산하는 과정을 의미한다. 따라서, 카메라 캘리브레이션은 계산 과정에 사용된 캘리브레이션 패턴의 형태와 두 좌표계간의 관계식 수립 방법 혹은 관계식을 유도하기 위한 미리 결정된 카메라 모션의 형태 등에 따라 다양한 방법이 존재한다.
카메라 캘리브레이션 방식을 적용함에 있어, 단점은 반드시 미리 알려져 있는 캘리브레이션용 패턴을 사용하거나 미리 결정된 카메라 모션의 형태를 적용해야만한다는 것이다. 일반 사용자가 디지털 카메라를 이용하여 임의의 장소에서 정사영상을 얻고자하는 경우에 이러한 캘리브레이션 패턴 혹은 고정된 카메라 모션을 적용하기는 매우 곤란한 일이다. 또한 가변 초점 렌즈 혹은 줌 렌즈를 사용하는 경우, 초점 거리와 이미지 센터는 렌즈 조작에 의해 변하게 되어 그 때마다 캘리브레이션을 수행해야 할 필요가 생기게 된다.
물론, 각 가변 단계 혹은 줌 위치에 대한 초점 거리 혹은 이미지 센터를 캘리브레이션을 통해 미리 계산하고, 디지털 카메라의 내부 비휘발성(non-volatile) 메모리 혹은 룩업 테이블(LUT: Look Up Table)에 저장하여 사용자에 의해 렌즈 위치 변화가 발생할 때마다 해당하는 파라메타 값을 읽어오도록 하는 방식을 적용할 수 있다.
이러한 경우를 제외하면 일반적으로 카메라 파라메타는 한 번의 캘리브레이션 단계를 통해 구해지며, 고정된 값을 계속 유지하는 것으로 간주할 수 있으나 카메라 회전각 정보는 매 촬영시마다 바뀌는 것으로 생각해야 하므로 캘리브레이션 패턴을 포함하여 임의의 패턴을 이용하는 경우에도 회전각 정보를 구할 수 있어야 한다.
한편, 카메라 파라메타가 여하한 방법을 통해 구해진다고 하더라도 현장에서 실시간으로 렌즈의 왜곡을 보정하기 위한 이미지 워핑 단계가 필요하다. 이 단계는 렌즈 왜곡에 의해 영상 특징의 기하학적 변형이 발생한 것을 보정하여 정확한 패턴 매칭 혹은 추출 결과의 신뢰도를 향상시키기 위해 필요하게 된다.
특히, 저가의 카메라인 경우 렌즈 왜곡 효과가 크게 나타나며, 이미지 센서 자체의 해상도가 증가하면 할수록 이미지 워핑을 통한 왜곡 보정 단계에서의 계산량이 증가하므로 효율적인 이미지 워핑 구조를 가지는 것이 바람직하다.
이와 같은 본 발명의 주요 개념을 바탕으로 본 발명을 다음과 같이 크게 4단계로 구분하여 설명하기로 한다.
1. 카메라 캘리브레이션 단계
먼저, 카메라 캘리브레이션을 적용하고 이 단계에서 구해진 카메라 파라메타는 디지털 카메라의 내부 회로에 내장하도록 한다. 카메라 캘리브레이션을 통해 구해지는 카메라 파라메타는 초점거리, 이미지 센터, 렌즈 왜곡 변수, 스케일 팩터 비(scale factor ratio)와 같은 카메라 내부 파라메타(internal parameters)와, 카메라 회전 행렬(rotation matrix) 및 거리 벡터(translation vector)로 이루어진 카메라 외부 변수(extrinsic parameters)이다. 이때 카메라 외부 변수는 임의로 설정할 수 있는 기준 좌표계(reference coordinate frame)에 대한 카메라 좌표계의 상대적인 자세 정보를 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 1은 본 발명에 따라 카메라 캘리브레이션에 사용되는 캘리브레이션 패턴의 예이다.
본 발명에서 사용되는 카메라 캘리브레이션용 패턴은 도 1에 도시된 바와 같이 수직, 수평 방향의 원 배열(array of circles)로 구성된 패턴이며, 19(m)×19(n) 개로 이루어져 있다. 이때 수평 방향의 임의의 원의 중심과 인접 원의 중심까지의 거리(a)는 1.5cm, 수직 방향의 두 원의 중심간의 거리(b)는 2cm이며, 원의 반지름은 0.5cm이다. 물론, 캘리브레이션 패턴의 기하학적 규격은 임의로 조정하여 사용하여도 무방하다.
도 2는 본 발명에 따라 캘리브레이션 패턴으로부터 원(circle)을 추출하고 정렬하는 흐름도로서, 전처리과정과 원추출 과정, 원정렬 과정으로 이루어진다.
도 2를 참조하면, 디지털 카메라로 촬영된 캘리브레이션 패턴(201)은 그레이 레벨(gray-level) 영상으로 변환한 후, 전처리 과정(210)을 거치게 된다. 전처리 과정(210)은 잡음 제거를 위한 저대역 필터링(low-pass filtering: 211), 이진화 영상을 생성하기 위한 적응형(adaptive) 쓰레시홀딩(thresholding)(212), 주위 조명 및 잡음 효과에 의해 발생할 수 있는 원(circle) 패턴 내에서의 홀(hole)을 메우기 위한 확장 및 축소(dilation & erosion)단계(213)로 구성된다.
도 3은 본 발명에 따라 카메라 캘리브레이션시의 이미지 버퍼의 좌표계 정의를 도시한 도면이고, 도 4는 본 발명에 따라 카메라 캘리브레이션시의 사용자 입력의 실시예 및 결과를 도시한 도면이다.
영상의 좌표계는 도 3과 같이 수평 방향으로의 증가는 +x, 수직 방향의 증가는 +y방향으로 설정된다. 그리고 도 4에 나타낸 것과 같이 이진화 영상은 사용자 입력에 의해 캘리브레이션에 사용할 원들을 포함하는 사각형 영역을 지정받게 된다. 이외에 사용자 입력에 의해 지정된 영역내에 위치한 원의 수직 방향(r), 수평 방향의 개수(c)를 입력 받게 된다. 즉, 도 4의 (a)는 사용자에 의해 선택된 관심영역을 나타내고, 도 4의 (b)는 카메라 캐리브레이션을 위해 추출된 영역을 나타낸다.
한편, 전처리를 거친 캘리브레이션 패턴에서 각각의 원을 추출하기 위하여 원 추출단계(220)에서는 y=1인 위치로부터 시작하여 +x방향으로 각 픽셀값을 조사하여 최초로 '1'값을 만나게 되면 스캔을 멈추고, x좌표값은 고정한 채 해당 픽셀 좌표값으로부터 +y방향으로 '0'값의 픽셀을 만나기까지 계속 진행한다.
두 지점에서의 픽셀 좌표값의 평균에 해당하는 픽셀 위치로부터 y좌표값은 고정한 채 좌우로 진행하면서 픽셀값을 조사하여 최초로 '0'을 만나게 되는 지점의 x좌표값을 저장하도록 한다.
이로써 하나의 원을 내부로 감싸는 박스(bounding box)의 네 모서리에 대한 픽셀 좌표값을 구하게 된다. 박스 내부는 원에 해당하는 '1'의 값을 가지는 픽셀과 '0'값의 픽셀로만 구성되므로 원 중심(circle center)에 해당하는 픽셀 좌표값은 다음 수학식1과 같이 간단히 구할 수 있다.
여기서, N은 박스내의 '1'값을 가지는 픽셀의 수, (xi,yi)는 해당 픽셀의 좌표값이며 (xc,yc)는 추출된 원중심의 좌표값이다. 추출된 원에 해당하는 박스는 모두 '0'값을 설정하여 지우도록 하며, 이러한 과정은 사용자가 지정한 수평 방향으로의 원 갯수에 해당하는 만큼 반복하게 된다.
이때 사용된 박스 영역의 가장 작은 y값은 한 행에 대한 원추출 과정이 끝나게 되면, 다음 행의 스캔 시작 위치로 사용되게 된다. 위의 과정을 사용자가 설정한 영역에 대해 실시하도록 하며, 이 과정이 끝나면, r×c개의 원중심 좌표값을 버퍼에 저장하게 된다.
본 발명에서 사용하는 캘리브레이션 방법은 평면의 표면 수직 벡터(surface normal vector)와 카메라의 시선 방향이 평행한 경우는 적용할 수가 없으므로 디지털 카메라로 촬영 시에 평면의 표면 수직 벡터 방향과 어긋나도록 해야 한다. 이것은 선행 논문인 R. Y. Tsai의 캘리브레이션 단계에 설명이 자세히 되어 있는 것으로 여기서는 생략하기로 한다.
하지만, 카메라 시선 방향이 2차원 캘리브레이션 평면과 평행하지 않은 관계로 발생하게 되는 원근 효과(perspective effect)때문에 추출된 원중심의 좌표값의 버퍼 저장 순서는 x 혹은 y값의 증가 방향과 일치하지 않게 된다. 이것은 본 발명에서 원 추출의 단순화를 위해서 스캔라인(scanline)방향으로 원을 검출하는 방식을 취하기 때문이다.
원 정렬과정(230)은 메모리에 저장된 원중심의 좌표값에 대해 기하학적 조건(geometric constraint)를 적용하여 3차원 공간상에서의 좌표값의 증가 순서와 버퍼 저장 순서가 일치하도록 하는 단계를 나타낸다. 원정렬과정은 버퍼에 저장된 원중심 좌표값을 (1,1)로부터의 거리에 따라 가까운 순서대로 정렬(sorting)하는 것으로 시작된다. 원중심의 재정렬은 다음의 순서로 실시된다.
1). (1, 1) 픽셀 좌표로부터 각 원중심 좌표값 (xci,yci)까지의 픽셀 거리(di)를 계산한다.
2). 픽셀거리(di)를 기준으로 증가하는 방향으로 각 원중심 좌표값의 버퍼에서의 저장 순서를 바꾼다.
3). 버퍼에서 첫 네 개의 좌표값을 가져온 후 y값을 기준으로 정렬하고, y 값이 가장 작은 것으로 기준값을 설정한다.
4). 위의 단계 3에서 같은 행에 있으면서 현재 기준값보다 값이 작은 경우, 이것으로 기준값을 대체한 후 새로운 버퍼의 첫번째 위치에 이 값을 저장하고, 기준값의 원래의 버퍼 위치에는 (10000, 10000)과 같은 큰 값을 저장한다.
5). 위 4단계에서 구한 첫 번째 위치의 원중심 좌표값을 (x'c1,y'c1)라고 했을 때 다음 수학식3을 이용하여 픽셀 거리를 계산한다.
6). 픽셀거리(d'i)를 기준으로 증가하는 방향으로 원중심 좌표값의 버퍼에서의 저장 순서를 바꾼다.
7). 버퍼의 저장값이 모두 (10000, 10000)으로 바뀌기까지 위 단계 3 내지 단계 6을 반복한다.
위의 과정을 거쳐 원중심의 좌표값은 3차원 공간상에 위치한 2차원 평면위의 원중심의 좌표값과 같은 방향으로 증감을 하게 된다.
도 5는 일반적인 카메라 렌즈 왜곡에 따른 효과를 도시한 예시도이다.
도 5를 참조하면, (a)와 같은 직사각형 형상의 원영상은 카메라 렌즈왜곡에 의해 (B)와 같이 배럴형상이나 (c)와 같이 핀쿠션형상이 된다.
카메라 파라메타를 구하기 위한 카메라 모델은 다음 수학식 4 및 5와 같이 방사상(radial) 렌즈 왜곡 모델을 이용하도록 한다. 광학 렌즈는 불완전성으로 인해 통상적으로 도 5의 (b)에 표시한 바와 같이 배럴(barrel)효과 혹은 도 5의 (c)에 표시한 바와 같은 핀쿠션(pincushion)효과를 보인다. 이러한 왜곡 효과는 방사상(radial) 렌즈 왜곡으로 모델링 가능하며, 다음 수학식 4 및 5와 같이 하나의 왜곡 변수로 나타낼 수 있다. 즉, 왜곡된 원영상(original image)에서의 추출된 원중심(circle center)의 좌표값을 (xd,yd), 왜곡 보정된 후의 영상에서의 픽셀 좌표값을 (xu,yu), 렌즈 왜곡 변수를 k라고 하면, 이 때 두 좌표계 간에는 방사상 렌즈 왜곡에 의해 다음 수학식4 및 5와 같은 왜곡이 존재한다고 가정할 수 있다.
여기서, 는 이미지 센터를 기준으로 현재 픽셀 좌표인 (xd,yd)까지의 거리를 의미한다. 상기 수학식 4 및 5에 근거하여 k>0인 경우 도 5의 (b)와 같은 배럴(barrel)효과를 나타내고, k<0 인 경우 도 5의 (c)와 같이 핀쿠션( pincushion)효과를 나타낸다.
3차원 공간상에 위치한 2차원 원(circle)중심의 좌표를 나타내기 위한 기준 좌표계는 사용자 입력에 의해 설정한 영역내의 하단 최좌측의 원중심(bottom - leftmost circle center)에 위치하고 있는 것으로 설정하고, 카메라 좌표계는 렌즈의 중심에 위치하고 있는 것으로 설정한다. 기준 좌표계에 대한 카메라 회전을 나타내는 3 ×3 행렬을 R, 카메라 변이(translation)를 , 광학계 모델로 핀홀(pinhole) 카메라를 설정하고, 이 때의 3 ×3 카메라 행렬을 P로 표시하면 카메라 영상으로부터 추출한 원중심(circle center)의 픽셀 좌표값과 3차원 공간상의 2차원 원패턴의 중심 좌표값간의 관계는 다음 수학식6과 같이 나타낼 수 있다.
상기 수학식 6에서 Xwi,Xpi는 각각 기준 좌표계에 대해 나타낸 원중심 좌표값, 픽셀 좌표계에서의 원중심 좌표값이며, (u0,v0)는 이미지 센터의 픽셀 좌표값을 의미한다. 스케일 팩터 비(Scale factor ratio)는 로 정의된다. 여기서, Xpi 는 호모지니어스(homogeneous) 좌표값(coordinates)이므로 이미지 버퍼상의 실제 픽셀 좌표값은 Xpi의 첫 번째, 두 번째 원소를 세 번째 원소로 나눈 값이 된다. 이 때의 픽셀 좌표값을 (xu,yu)로 나타내면, 다음 수학식 7 및 8과 같은 카메라 모델을 얻을 수 있다.
상기 수학식 7 및 8에서 이미지 센터는 따로 표기하지 않고, xu,yu에 포함된 것으로 가정하였다. 이 후의 본 발명의 설명에서 이러한 가정을 동일하게 적용하기로 한다.
상기 수학식 7 및 8에서 렌즈 왜곡 모델을 고려하면 다음 수학식 9 및 10과 같이 나타낼 수 있다.
상기 수학식 9를 수학식10으로 나누고, ty 로 양변을 나눈 후 구하고자 하는 카메라 파라메타를 기준으로 식을 재정렬(rearrange)하면, 다음 수학식11과 같은 선형 방정식을 얻게 된다.
상기 수학식11로부터 선행 논문인 R. Y. Tsai의 캘리브레이션 방법에서 설명된 일련의 과정을 거쳐 R, tx, ty 를 구하게 되며, 렌즈 왜곡 변수 k , 초점 거리 fx, fy 는 다음 수학식12의 선형 방정식으로부터 구할 수 있다.
위의 캘리브레이션 과정에서 μ는 픽셀 좌표계에서 좌표축간의 스케일 팩터 비(scale factor ratio)를 의미한다. 실질적으로, μ는 1로 설정하여도 무방하며, 이하 μ는 1로 설정하여 따로 표기하지 않도록 한다. 한편, 이미지 센터는 위의 캘리브레이션 과정에서 특별히 따로 구하지 않고 이미지 버퍼의 중간 지점으로 선정하도록 한다.
스케일 팩터 비(Scale factor ratio)와 이미지 센터에 대한 이러한 처리 방법에 대한 실험적인 근거에 대해서는 선행 기술 "W. Yu, H. Lee, and Y. Chung, Performance Evaluation of Image-based Lens Distortion Correction Method, Proceedings of VSMM 2002, pp. 600-607, 2002 "에 자세히 기술되어 있다.
이상에서 설명한 본 발명의 캘리브레이션 단계를 간단히 정리하면, 최소 5개 이상의 원(circle) 패턴으로 구성된 캘리브레이션 패턴을 카메라로 촬영하고, 영상으로부터 원중심(circle center)의 픽셀 좌표값을 추출한 후, 상기 수학식 11 및 12를 이용하여 카메라 파라메타를 구하는 것이다. 캘리브레이션 단계에서 구한 카메라 파라메타 중 렌즈 왜곡 변수 k, 초점 거리( fx 혹은 fy )만을 저장하도록 한다.
2. 렌즈 왜곡 보정 단계
렌즈 왜곡 보정 알고리즘은 선행 논문 "F. Devernay and O. Faugeras, Straight Lines Have to be Straight, Machine Vision and Applications, vol. 13, 2001, pp. 14--24"에서 구분한 바와 같이 크게 세 부류로 나눌 수 있다. 즉, 카메라 캘리브레이션을 수행하여 구해진 렌즈 왜곡 변수를 사용하는 방법, 평행선 혹은 직선으로 구성된 그리드 패턴(grid pattern)에 설정한 기하학적 불변성(geometric invariance)을 이용하는 방법, 특별한 패턴을 사용하지 않고 임의의 영상으로부터 직접 렌즈 왜곡 변수를 구하는 셀프 캘리브레이션(self-calibration) 방법이다.
두 번째 방법의 경우 적용 알고리즘이 간단해지는 장점이 있으나 카메라 파라메타 전체를 구하는 경우에는 곤란한 점이 있으며, 특히 본 발명과 같이 현장에서 카메라 자세를 직접 보정하기 위해 필요한 초점 거리에 대한 정보를 구하기 어렵다. 세 번째 방법의 경우 두 번째 방법과 같은 단점을 가지고 있으면서 그 결과가 매우 불안정한 특징을 가지고 있다.
본 발명에서 채택한 카메라 캘리브레이션을 이용한 렌즈 왜곡 보정 방법은 캘리브레이션을 통해 구해진 카메라의 내부 변수와 외부 변수간의 연관 관계(coupling)때문에 최종 결과에 에러가 발생할 수 있으나 일반적으로 나머지 두 방법에 비해 매우 정확하면서 안정적이라는 장점을 가진다.
한편, 렌즈 왜곡의 종류는 렌즈의 특정 지점으로부터 방사 방향(radial direction)으로 발생하는 방사상 왜곡(radial distortion)과, 렌즈계의 조립 및 설계시의 불완전성 등에 의해 발생하는 편심(decentering) 왜곡으로 크게 나눌 수 있다.
편심(Decentering) 왜곡의 경우에는 방사상 왜곡과 접선 방향 왜곡(tangential distortion)을 모두 포함하는 것으로 모델링할 수 있다. 본 발명에서는 방사상 왜곡만을 모델링하며 카메라 캘리브레이션 단계에서 설명한 방법에서 이미 방사상 왜곡 모델을 이용한 방식을 적용하였다.
실제로 현재까지 여러 카메라 캘리브레이션에 관련된 선행 논문과 기술이 방사상 왜곡만을 다루고 있으며, 실험적으로 방사상 왜곡만으로도 충분히 왜곡 현상을 모델링할 수 있음이 알려져 있다(선행 논문 "R. Y. Tsai, Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses, IEEE Trans. Robotics and Automation, vol. 3, no. 4, pp. 323-344, 1987" 참고).
캘리브레이션 단계에서 구한 값을 설정한 후, 이 값에 대해 상기 수학식 4 및 5를 적용하면 다음 수학식 13의 관계를 얻게 된다.
여기서, 이다. 캘리브레이션 단계에서 설명한 바와 같이 μ=1 로 설정하도록 한다. 한편, 방사상 방향의 렌즈 왜곡만을 가정하는 경우에 왜곡 보정 전의 픽셀 좌표값과 왜곡 보정 후의 픽셀 좌표값은, 극좌표(polar coordinate) 형태로 나타내었을 때 각도 값은 같게 된다. 즉,
이제 상기 수학식 13은 다음 수학식15와 같이 고쳐서 표시할 수 있다.
한편, 왜곡 보정 후의 각 픽셀 좌표값에서의 휘도값은 왜곡된 원영상으로부터 구해야 하므로 이미지 워핑(warping)과정이 필요하게 되며, 이 때 역 공간 매핑(inverse spatial mapping)을 적용하는 것이 유리하다. 선행 특허 "Separable Image Warping Methods and Systems Using Spatial Lookup Tables"에서 언급된 바와 같이 순 공간 맵핑(forward spatial mapping)의 경우에 원영상(original image)과 결과 영상간의 기하학적 관계를 규정짓는 수학 함수에 의해 이미지 워핑이 이루어진 후, 결과 영상에서 홀(hole) 혹은 중첩(overlapping)이 발생하는 단점을 안고 있는 반면, 역공간 맵핑(inverse spatial mapping)의 경우 순공간 맵핑(forward spatial mapping)에서의 단점은 없지만 결과 영상으로부터 원영상의 관계를 규정짓는 역함수(inverse spatial function)가 반드시 존재해야 한다는 단점을 가지고 있다.
순공간 맵핑(Forward spatial mapping)의 경우 이러한 단점을 극복하기 위해서 매우 복잡한 구조를 가지는 보정 알고리즘이 도입되고 있어 본 발명과 같이 실시간 동작을 요구하면서 소형화를 목적으로 하는 경우에는 적합하지 못하다. 본 발명에서는 대신 역공간 매핑 방식을 도입하면서 결과 영상과 원영상(original image)간의 역함수를 수학적으로 정확하게 규정함으로써 실시간 수행을 위한 구조 설계에 이용하고 있다.
다시 왜곡 보정 알고리즘으로 돌아가서, ru 에 대한 rd는 상기 수학식 13의 해로부터 구할 수 있다. 결과 영상에서의 픽셀 좌표값 (xu,yu)는 알고 있으므로 현재 k값에 대한 rd를 구할 수 있고, 상기 수학식 4 및 5에 의해 픽셀 좌표값 (xd,yd
)을 구하게 된다.
한편, (xd,yd)는 일반적으로 이산화된(discrete) 픽셀 좌표값에 대응되지 않는 실수(floaring-point number)이므로, 적절한 보간법에 의해 (xd,yd)에 대응하는 휘도 및 색상값을 가져오도록 한다. 바이리니어 보간(Bilinear interpolation) 혹은 큐빅 콘볼루션 보간(cubic convolution interpolation)등의 방법의 적용이 가능하다.
한편, 상기 수학식 13의 해를 구하기 위해서는 3차 다항(polynomial) 방정식의 해를 구할 수 있는 카든(Cardan) 방법을 적용할 수 있다. 카든(Cardan) 방법을 이용한 3차 다항(polynomial) 방정식의 해를 구하는 과정은 선행 논문 "R. W. D. Nickalls, A New Approach to Solving the Cubic: Cardan's Solution Revealed, Mathematical Gazette, vol. 77, 1993. pp. 354--359"에 자세히 나와 있으며 여기서는 그 효과만을 언급하기로 한다.
카든(Cardan) 방법은 복수개의 플로팅 포인트(floating-point)연산과 해(solution)를 구하기 위해 도입되는 중간 변수들 간의 관계에 따라 두 가지 경우에 대한 해를 제공한다. 이미지 워핑의 경우 이러한 조건문과 복수개의 실수 연산이 반복되므로 이미지의 크기가 증가할수록 실행 속도가 저하될 것임을 예견할 수 있다.
본 발명에서는 이러한 단점을 극복하기 위하여 kr2
d<<1의 조건을 이용한 근사식을 적용하도록 한다. 상기 수학식 13은 kr2
d<<1의 조건을 적용하여 다음 수학식16과 같이 근사화할 수 있다.
상기 수학식 16으로부터 rd는 다음 수학식 17로 구할 수 있다.
결과 영상의 각 픽셀에 대해 이러한 과정을 반복함으로써 특정 k 값을 기반으로 왜곡된 원영상(original image)에서의 대응되는 픽셀 좌표값을 구하게 된다. 이러한 과정은 영상 내의 임의의 픽셀 좌표값에 대하여 동일하게 적용이 가능하므로, 임의의 영역으로 나누어 병렬로 처리하는 경우에 실행 속도를 더욱 증가시킬 수 있다.
본 발명에서 제시한 근사식을 적용한 이미지 워핑 방식의 정확도에 대해서는 선행 논문 "W. Yu, H. Lee, and Y. Chung, Performance Evaluation of Image-based Lens Distortion Correction Method, Proceedings of VSMM 2002, pp. 600-607, 2002"에 실험적인 성능 분석 결과를 나타내었으며, 수학적으로 정확한 Cardan방법과 비교했을 때 성능 측면에서 큰 차이가 없음을 보이고 있다.
3. 캘리브레이션 패턴을 이용하지 않는 렌즈 왜곡 보정 방법
위에서 설명한 렌즈 왜곡 보정 방법은 캘리브레이션 패턴을 이용하여 카메라 파라메타를 직접 계산하여 왜곡을 보정하는 단계를 설명하고 있다. 위 방법의 변용으로 캘리브레이션 패턴을 구하기 힘든 경우, 예를 들어, 일반 촬영 현장이나 미리 캘리브레이션 패턴이 준비되지 않은 경우 등의 경우에 렌즈 왜곡 보정을 실시하기 위해서는 위의 렌즈 왜곡 보정 방법의 적용 단계를 변형해야 한다. 이것은 kr2
d<<1의 조건을 적용하여 해결할 수 있다.
r×c의 크기를 가지는 왜곡된 영상이 있다고 가정하자. 이 때, 영상의 중심에서 방사상 거리의 최대치는 이 된다. 의 값을 R로 설정하면 k의 범위는 다음 수학식 18과 같이 제한할 수 있다.
여기서, 이다. [...]int 는 -∞방향으로 라운딩(rounding)하는 경우 가장 가까운 정수값을 의미한다. 한편, R은 고정된 값이므로 같은 광학 시스템을 사용한는 경우에 r'×c'의 크기를 가지는 영상에서 구해지는 렌즈 왜곡 변수 k'은 k와 다음 수학식 19의 관계를 가지게 된다.
상기 수학식 19의 타당성에 대해서는 선행 논문 "Image-based Lens Distortion Correction Method for Low Cost Digital Camera, submitted for review to PATTERN RECOGNITION"에 자세히 설명되어 있다. 상기 수학식 19를 이용함으로써 임의의 크기를 가지는 영상에 대해 데시메이션(decimation)을 구현하는 적절한 방법으로 축소된 영상을 생성하고, 상기 수학식 18의 범위에 대응하는 스크롤 바 혹은 업-다운(up-down) 버튼 등을 이용하여 렌즈 왜곡 현상이 없어질 때까지 조정을 할 수 있다. 조정이 끝난 후 상기 수학식 19를 이용하여 원영상에서의 실제 렌즈 왜곡 변수를 계산하여 상기 수학식 17을 적용하는 단계의 영상 워핑을 통해 보정된 영상을 획득할 수 있다.
위와 같은 방법을 적용함으로써 원영상의 크기와는 독립적으로 실시간으로 육안으로 확인하면서 렌즈 왜곡을 보정할 수 있다. 따라서, 사용자 혹은 개발자는 테스트 패턴을 포함하여 자연 배경, 인물 사진 등 임의의 영상을 기준으로 렌즈 왜곡 보정을 실시하여 상기 수학식 19를 이용하는 장치에 적용할 수 있다.
이 방법은 캘리브레이션 패턴을 이용하는 경우와 마찬가지로 최초에 한번만 실시하여 영상 장비의 내부 비휘발성 메모리에 기록함으로써, 이 후의 렌즈 왜곡 보정 단계에서 계속 적용할 수 있다.
4. 정사영상 생성단계
3차원 공간상에 놓여져 있는 평면상의 임의의 점을 X라고 하자. 카메라 회전이 없는 경우에 X는 이미지 상에 perspective 변환(transform)에 의해 다음과 같이 표현된다.
여기서, P는 perspective 변환 행렬(matrix)이며, 내부 원소는 상기 수학식 6에 나타내어 있다. 이제 카메라 회전 R을 고려하면 상기 수학식 18은 다음 수학식 21과 같이 바뀐다.
그리고 수학식 20 및 21로부터
이 때 회전 행렬 R은 카메라 좌표계가 회전한 것으로 생각하여 다음과 같이 표현된다.
상기 수학식 23의 각도값은 카메라 캘리브레이션을 통해 얻게 되는 카메라 회전량과 같으나 회전 방향은 반대를 가리키고 있다. 즉, 기준 좌표계는 평면상에 위치하고 있다고 생각한다. 실제 연산 과정에서 다루게 되는 것은 이미지 픽셀 좌표계이므로 수학식 22만으로 정사영상을 만들어 낼 수가 없다. 이것은 수학식 22에서 x에 PRP-1가 곱해지면서 x'의 세 번째 원소가 '1'이 아니기 때문이다.
즉, 수학식 22를 통해 호모지니어스(homogeneous) 좌표계로 표현된 것을 다시 이미지 좌표계로 표현해야 한다. 이것은 도 6에서 "A"로 나타낸 affine 변환을 통해 해결할 수 있다.
호모지니어스(Homegeneous) 좌표계에서 이미지 픽셀 좌표계로 표현하기 위해서는 두 좌표계간의 스케일(scale)을 결정해야 하는데, 일차적으로는 도 6에서와 같이 이미지 크기에 대응하는 호모지니어스(homegeneous) 좌표값을 이용하여 변환 행렬을 구할 수 있다.
이상의 결과를 정리하면,
정사영상(ortho-image)를 얻기 위해서는 정사영상의 픽셀 좌표값으로부터 여기에 해당하는 perspective 이미지 (렌즈 왜곡 보정된 카메라 영상)의 픽셀 좌표값에서의 그레이(gray)(혹은 컬러)값을 읽어오는 역공간 매핑(inverse spatial mapping)이 유리하므로 아래의 수학식 26을 공간 매핑 함수로 사용하도록 한다.
실제로 정사영상을 얻는 과정에서는 상기 수학식 26에 표현된 "A" 를 구하는 절차에서 어떤 지점에서의 네 점을 사용하느냐에 따라 최종 영상의 스케일을 결정하도록 한다. 즉, 도 6의 오른쪽에 나타낸 정사 영상의 네 모서리에 대응되는 a2, b2, c2, d2 점을 적당히 조절함으로써 스케일을 결정할 수 있고, 이 값을 이용하여 현재 카메라 이미지(perspective 이미지)에서 어떤 영역을 왜곡 보정할 것인지를 결정하게 된다.
예를 들어, 도 6에서 a1, b1, c1, d1을 선택하는 경우에는 perspective 이미지의 내용 전체에 대해 왜곡 보정이 가능하지만 역공간 워핑(inverse spatial warping)과정에서 대응되는 영역이 없는 부분이 발생하게 된다. 예시로 나타낸 도 7의 (b)와 7의 (c)는 도 7의 (a)의 렌즈 왜곡 보정된 영상으로부터 a2, b2, c2, d2를 적절히 조절함으로써 사용자에게 보여지는 정사영상의 영역이 달라짐을 보인 것이다.
상기 수학식 26에서 알 수 있듯이 정사영상 생성을 위해 필요한 정보는 카메라 캘리브레이션을 통해 구해진 초점 거리와 카메라 회전각 정보이다. 이 외에 이미지 센터에 대한 정보도 필요하지만 이미 언급한 대로 이미지 버퍼의 중심으로 간주하기로 한다. 초점 거리의 경우 카메라 캘리브레이션이 끝난 후에는 변하지 않는 것으로 간주할 수 있지만 사용자의 카메라 조절 상태에 따라 회전각 정보는 항상 변하게 된다.
도 8은 본 발명에 따라 영상을 획득하는 순간의 카메라 회전각 정보를 추출하기 위해 설치하는 거리센서의 배치 예이다. 거리센서는 PSD(Position Sensitive Detector)를 포함하는 임의의 거리센서이면 가능하지만 사용자가 인지하지 않도록 가시 광선 영역의 바깥에 위치한 파장대의 빛을 이용한다.
도 8에서 q1, q2, q3로 나타낸 PSD 센서는 각각 송신기(transmitter)와 수신기(receiver) 쌍으로 이루어져 있으며, 세 개의 센서가 non-colinearity조건을 만족하고 센서 배치에 따른 각 센서의 위치를 알 수 있다면 어떤 위치에 있어도 상관이 없다. 거리센서를 이용한 2차원 평면, 더 정확하게는 평면 위에 있는 임의의 패턴과 카메라간의 상대적인 자세 차이는 다음과 같은 가정으로부터 구할 수 있다. 즉,
1. 평면은 초기에 카메라 좌표계의 원점에 위치하며 평면의 방향 벡터는 카메라의 시선방향(LOS) 즉, z축과 일치한다.
2. 임의의 카메라 자세는 먼저, 카메라 좌표계에 대한 회전(rotation about camera coordinate frame)후에 카메라 좌표계의 z-방향으로의 이동(translation along z-axis away from camera coordinate frame)으로 이루어진다.
평면의 방정식은 카메라 좌표계에서 다음 수학식27과 같이 표현할 수 있다.
상기 수학식 27에서 p0, p1, p2는 벡터로서 non-colinearity조건을 만족하는 경우, 평면 위의 임의의 점으로 설정하여도 무방하며, u, w를 변화시켜 평면 위의 임의의 지점을 표시하게 된다.
한편, 평면이 카메라 좌표계에 대해 회전하게 되므로 x축에 대한 회전(θp), y축에 대한 회전(θt)은 다음 수학식28과 같이 나타낼 수 있다.
z축 방향으로 평면이 h만큼 직선 운동을 하는 경우 변환(translation)벡터를 vt=[0,0,h]T 로 나타내고, 전체 회전량을 R=RpRt로 나타내면 상기 수학식 27은 다음 수학식 29과 같이 표현된다.
한편, 거리센서의 위치는 센서 출력 빔(beam)을 2차원 평면으로 조사하더라도 빔이 평면과 만나는 지점은 거리센서의 x, y 좌표값과 동일하다. 따라서, 해당 위치에서의 거리센서의 출력 값은 수학식 29에서 p' 의 첫 번째와 두 번째 원소의 값을 해당 적외선 센서의 카메라 좌표계에서의 위치 값으로 치환하여 u, w를 구하고, 이것으로부터 해당 센서의 출력값 즉, zi, i=1,2,3 을 구할 수 있다. 실제 본 발명의 실시예서는 zi값을 A/D변환된 센서 출력값으로부터 직접 구할 수 있으므로 u, w를 구하는 과정은 생략할 수 있다. 센서의 위치를 xi,yi, i=1,2,3 라고 할 때, 센서 출력 zi, i=1,2,3 을 이용하여 구해지는 세 개의 벡터를 각각 r0, r1, r2라고 하면 평면의 방향 벡터 n은 다음과 같다.
상기 수학식 30에서 구해진 평면의 방향 벡터 n의 z성분 값이 0보다 작은 경우에는 -n을 취하여 평면 벡터의 방향이 항상 일정하도록 조정하도록 한다. 이제 평면의 방향 벡터를 n=[nx,ny,nz]T라고 할 때, 평면의 회전각은 다음 수학식31로 구해진다.
평면의 회전각을 계산하였으므로 정사영상을 생성하는 것은 상기 수학식 26을 이용하고, 상기 수학식 31에서 구한 회전각 정보를 이용하면 된다.
도 9는 본 발명을 적용한 디지털 카메라 시스템의 구현 예를 나타낸 것으로, 디지털 카메라 시스템(910)은 이미지 캡춰(911), 렌즈왜곡 보정모듈(912), 정사영상 생성모듈(913), 패턴인식 모듈(914), 통신모듈(915)로 이루어져 카메라 캘리브레이션(901)을 통해 미리 구해진 카메라 파라메터를 저장하고 있다가 디스플레이(903)를 보는 사용자(902)의 조작에 따라 작동하고, 정보서버(904)와 통신할 수 있도록 되어 있다.
도 9을 참조하면, 카메라 캘리브레이션(Camera calibration: 901)을 통해 미리 구해진 카메라 파라메타는 디지털 카메라(910)의 내부에 저장되어 있으며, 사용자(902)에 의해 획득된 영상(911)은 렌즈 왜곡 보정모듈(Lens distortion correction module: 912)을 거치면서 방사상 렌즈 왜곡이 보정된 영상을 정사영상 생성 모듈(Othoimage generation module: 913)로 전달하게 된다.
정사영상 생성 모듈(913)에서 재합성된 영상은 패턴 인식 모듈(Pattern recognition module: 914)에서 정보 추출 혹은 패턴 인식 과정을 거쳐 통신 모듈(Communication module: 915)을 통해 원하는 정보를 획득하거나 추출된 패턴을 이용하는 임의의 응용 서비스를 제공받을 수 있다.
정보 서버(information server)(904)는 독립적으로 설치된 것일 수도 있으며, 인터넷을 통해 연결되어 있는 임의의 정보 서비스를 포함할 수 있다. 정사영상 생성의 구현 단계를 단순화하기 위해서 도 9에서 점선으로 표시한 것과 같이, PSD센서를 이용한 카메라 자세 정보를 실시간으로 표시하도록 하여 사용자로 하여금 정사영상에 가까운 자세에서 영상을 획득하도록 유도하는 방식을 취할 수도 있다.
이상에서 설명한 바와 같이, 본 발명은 디지털 카메라와 같이 렌즈계를 채용한 영상 장비에서 렌즈 왜곡에 의해 발생하는 영상 품질의 저하를 소프트웨어적으로 보상하고, 이 때의 결과 영상에 대해 정사영상을 생성하는 것으로서 실제 사용시에 특별한 테스트 패턴이나 카메라 캘리브레이션 장비를 필요로 하지 않는다. 이것은 본 발명을 사용하는 데 있어 필요한 카메라 파라메타를 미리 계산하여 저장하고 있기 때문이며, 실제 사용시에는 거리센서를 이용한 카메라의 자세 정보만을 실시간으로 계산할 뿐이다.
또한, 렌즈 왜곡 보정의 경우 실시간 수행을 위한 근사식을 도입하여 DSP를 이용한 병렬 처리 및 내장형 모듈로 구현하기 적합한 형태를 가지고 있으며 일반 디지털 카메라를 포함하여 각종 영상 장비에 내장형 소프트웨어 형태로 구현이 가능하게 된다. 특히 정사영상을 손쉽게 합성 혹은 촬영 가능하므로 유무선 통신 하부 구조(infrastructure)를 이용하여 정보 서비스를 받음에 있어 쿼리(query)생성 및 정보 가공에 적합하다.
그리고 본 발명을 실시함에 있어 사용자는 렌즈계의 정보나 외부 장치에 의존하지 않으면서 영상만을 이용하여 자동으로 왜곡 보정을 실시할 수 있으므로 일반 디지털 카메라에서 제공되는 정지 영상 뿐만 아니라 동일한 카메라로 촬영된 동영상에도 적용이 가능하다.
또한, 줌렌즈나 가변 초점 렌즈를 적용하는 경우에 각 렌즈 위치에 대한 렌즈 왜곡 변수를 캘리브레이션을 통해 구할 수 있고, 이 때 구해진 렌즈 왜곡 변수를 비휘발성 메모리나 룩업 테이블(Look-Up Table)에 저장하는 식으로 대처 가능하며 임의의 렌즈 위치에서 왜곡 변수는 이미 알려진 값의 보간(interpolation)을 통해 해결 가능하다.
이러한 실시간 정사영상 생성으로 인해 물류 관리, 자동 번역, 정보 검색 등의 응용 뿐만 아니라 렌즈 왜곡 보정을 통한 고품질의 영상 생성 및 저장 등 영상 장비를 이용한 각종 응용에 변경 실시가 가능하다.
이상에서 설명한 것은 본 발명의 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및 이를 이용한 디지털 카메라를 설명한 하나의 실시 예에 불과한 것으로써, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 사상이 미친다고 할 것이다.
도 1은 본 발명에 따라 카메라 캘리브레이션에 사용되는 캘리브레이션 패턴
의 예를 보인 도면,
도 2는 본 발명에 따라 캘리브레이션 패턴으로부터 원(circle)을 추출하고
정렬하는 흐름도,
도 3은 본 발명에 따른 카메라 캘리브레이션시 이미지 버퍼의 좌표계를 도시
한 도면,
도 4는 본 발명에 따른 카메라 캘리브레이션시 사용자 입력의 실시예 및 결
과도,
도 5는 일반적인 카메라 렌즈 왜곡에 따른 효과 예시도,
도 6은 본 발명에 따라 정사영상을 생성하기 위한 2차원 호모그래피 관계를
도시한 도면,
도 7은 본 발명에 따른 정사영상 생성의 실시예,
도 8은 본 발명에 따른 실시간 카메라 자세 정보를 획득하기 위한 센서 배치
예를 보인 도면,
도 9는 본 발명의 적용 예시도.
* 도면의 주요부분에 대한 부호의 설명 *
910;디지털 카메라 911;이미지 캡춰
912;렌즈왜곡 보정모듈 913;정사영상 생성모듈
914;패턴인식모듈 915;통신모듈
Claims (12)
- 사용자의 조작에 따라 이미지를 캡춰하는 이미지센서;캡춰된 이미지를 카메라 캘리브레이션을 통해 미리 저장된 파라메터를 이용하여 방사상 렌즈왜곡을 보정하는 렌즈왜곡 보정수단;상기 렌즈왜곡 보정수단의 출력을 입력받아 정사영상을 생성하는 정사영상 생성수단;상기 정사영상 생성수단의 출력을 입력받아 정보를 추출하거나 패턴을 인식하는 패턴인식수단; 및상기 패턴인식수단의 출력을 외부와 통신하기 위한 통신수단;을 포함하는 렌즈 왜곡 보정과 정사영상 생성을 이용한 디지털 카메라.
- 제 1항에 있어서, 상기 디지털 카메라는 카메라의 자세 정보를 실시간으로 획득하기 위한 자세검출수단을 더 구비한 것을 특징으로 하는 렌즈 왜곡 보정과 정사영상 생성을 이용한 디지털 카메라.
- 제 1항에 있어서, 상기 디지털 카메라는 카메라 캘리브레이션 결과 얻어진 파라메터를 비휘발성 메모리에 내장하고 있는 것을 특징으로 하는 렌즈 왜곡 보정과 정사영상 생성을 이용한 디지털 카메라.
- 카메라 파라메타 추출을 위한 카메라 캘리브레이션 단계;상기 카메라 캘리브레이션 단계에서 구해진 렌즈 왜곡 변수와 이미지 센터, 스케일 팩터(scale factor) 정보로부터 렌즈 왜곡을 보상하는 단계; 및상기 렌즈 왜곡 보상된 영상에 대해 상기 카메라 캘리브레이션 단계에서 구해진 초점 거리와 촬영 현장에서 계산된 카메라 회전각 정보를 이용하여 카메라와 평면간의 상대적인 자세 차이를 보정하여 정사영상을 생성하는 단계;를 포함하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 카메라 캘리브레이션 단계는디지털 카메라로 촬영된 캘리브레이션 패턴을 그레이 레벨(gray-level) 영상으로 변환한 후 전처리하는 전처리과정;전처리된 이진화 영상에서 사용자 입력에 의해 캘리브레이션에 사용할 원들을 포함하는 사각형 영역을 지정받 해당되는 원의 중심에 대한 픽셀 좌표값을 구하는 원 추출과정; 및상기 원중심의 좌표값에 대해 기하학적 조건을 적용하여 3차원 공간상에서의 좌표값의 증가 순서와 버퍼 저장 순서가 일치하도록 하는 원 정렬 과정으로 이루어진 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 5항에 있어서, 상기 전처리하는 과정은,잡음 제거를 위한 저대역 필터링단계와, 이진화 영상을 생성하기 위한 적응형 쓰레시홀딩 단계와, 주위 조명 및 잡음 효과에 의해 발생할 수 있는 원(circle) 패턴 내에서의 홀(hole)을 메우기 위한 확장 및 축소(dilation & erosion)단계로 구성된 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 5항에 있어서, 상기 원 정렬과정은,1) (1, 1) 픽셀 좌표로부터 각 원중심 좌표값 (xci,yci)까지의 픽셀 거리(di)를 계산하는 단계;2) 픽셀거리(di)를 기준으로 증가하는 방향으로 각 원중심 좌표값의 버퍼에서의 저장 순서를 바꾸는 단계;3) 버퍼에서 첫 네 개의 좌표값을 가져온 후 y값을 기준으로 정렬하고, y 값이 가장 작은 것으로 기준값을 설정하는 단계;4) 상기 단계 3에서 같은 행에 있으면서 현재 기준값보다 값이 작은 경우, 이것으로 기준값을 대체한 후 새로운 버퍼의 첫번째 위치에 이 값을 저장하고, 기준값의 원래의 버퍼 위치에는 소정의 같은 큰 값을 저장하는 단계;5) 상기 4단계에서 구한 첫 번째 위치의 원중심 좌표값을 (x'c1,y'c1)라고 했을 때 소정 식에 따라새로운 픽셀 거리(d'i)를 계산하는 단계;6) 상기픽셀거리(d'i)를 기준으로 증가하는 방향으로 원중심 좌표값의 버퍼에서의 저장 순서를 바꾸는 단계; 및7) 버퍼의 저장값이 모두 소정의 큰 값으로 바뀌기까지 상기 단계 3 내지 단계 6을 반복하는 단계를 구비한 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 렌즈 왜곡을 보상하는 단계는,계산량의 감소를 위해 아래의 근사식을 도입하고 역공간 매핑을 통해 왜곡 보정를 실시하는 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 렌즈 왜곡을 보상하는 단계는,보간에 의해 픽셀좌표를 구하는 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 정사영상 생성단계는,상기 PSD(Position Sensitive Detector)류의 거리센서를 이용하여 영상 장비의 자세 정보를 실시간으로 획득하고, 구해진 영상 장비의 자세 정보를 이용하여 정사영상을 생성하는 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 정사영상 생성단계는 픽셀좌표를 아핀변환을 통해 호모지니어스 좌표계로 변환한 후 소정 스케일로 이미지 픽셀 좌표계로 다시 변환하여 정사영상을 생성하는 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
- 제 4항에 있어서, 상기 렌즈 왜곡 보정에 있어 별도의 캘리브레이션 패턴없이 사용자 혹은 개발자가 스크롤바 혹은 업다운 버튼의 조작을 통해 축소된 영상에서의 렌즈 왜곡 변수를 계산하고, 이를 아래의 수학식을 이용하여 원영상으로 적용하는 것을 특징으로 하는 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0080336A KR100513789B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0080336A KR100513789B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040053877A KR20040053877A (ko) | 2004-06-25 |
KR100513789B1 true KR100513789B1 (ko) | 2005-09-09 |
Family
ID=37347026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0080336A KR100513789B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100513789B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010101945A2 (en) * | 2009-03-02 | 2010-09-10 | Flextronics Ap, Llc | Calibration techniques for camera modules |
KR20160001868A (ko) * | 2014-06-27 | 2016-01-07 | 충북대학교 산학협력단 | 카메라에서 촬영된 영상의 왜곡을 보정하기 위한 영상 왜곡 보정 방법 |
US10721419B2 (en) | 2017-11-30 | 2020-07-21 | International Business Machines Corporation | Ortho-selfie distortion correction using multiple image sensors to synthesize a virtual image |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005267457A (ja) * | 2004-03-19 | 2005-09-29 | Casio Comput Co Ltd | 画像処理装置、撮影装置、画像処理方法及びプログラム |
US7671891B2 (en) * | 2007-05-22 | 2010-03-02 | Microsoft Corporation | Online camera calibration |
KR101047277B1 (ko) * | 2009-06-19 | 2011-07-07 | 경북대학교 산학협력단 | 씨씨디 카메라로 얻은 이미지 영상 신호 보정 방법 및 그 장치 |
KR20120068655A (ko) * | 2010-12-19 | 2012-06-27 | 김인선 | 무선통신장치를 이용하여 양질의 홍채 및 피사체 영상을 편리하게 촬영하기 위한 방법 및 한 개의 밴드패스필터로 가시광선과 근적외선 일부영역을 투과시키는 카메라 장치 |
KR101323611B1 (ko) * | 2012-08-21 | 2013-11-01 | 주식회사 엠씨넥스 | 광축 정렬 기능을 구비한 카메라 모듈 |
CN103458181B (zh) * | 2013-06-29 | 2016-12-28 | 华为技术有限公司 | 镜头畸变参数调节方法、装置及摄像设备 |
KR101412480B1 (ko) * | 2014-02-19 | 2014-07-01 | 대하테크원(주) | 트레드 전폭 및 숄폭 측정 방법 |
KR101597163B1 (ko) * | 2014-08-14 | 2016-02-24 | 아진산업(주) | 스테레오 카메라 교정 방법 및 장치 |
KR102579457B1 (ko) | 2017-02-24 | 2023-09-14 | 삼성전자주식회사 | 이미지 보정 방법 및 장치 |
CN111242858B (zh) * | 2020-01-07 | 2023-10-27 | 曲建涛 | 一种相机镜头的畸变校正方法和系统 |
KR20210092012A (ko) * | 2020-01-15 | 2021-07-23 | 삼성전자주식회사 | 이미지 보정을 수행하는 전자 장치 및 이미지를 보정하는 방법 |
CN115453750B (zh) * | 2022-08-30 | 2024-03-01 | 中国科学院长春光学精密机械与物理研究所 | 拼接式反射镜的面形精度分析方法、装置、设备 |
-
2002
- 2002-12-16 KR KR10-2002-0080336A patent/KR100513789B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010101945A2 (en) * | 2009-03-02 | 2010-09-10 | Flextronics Ap, Llc | Calibration techniques for camera modules |
WO2010101945A3 (en) * | 2009-03-02 | 2011-01-27 | Flextronics Ap, Llc | Calibration techniques for camera modules |
KR20160001868A (ko) * | 2014-06-27 | 2016-01-07 | 충북대학교 산학협력단 | 카메라에서 촬영된 영상의 왜곡을 보정하기 위한 영상 왜곡 보정 방법 |
KR101583423B1 (ko) * | 2014-06-27 | 2016-01-08 | 충북대학교 산학협력단 | 카메라에서 촬영된 영상의 왜곡을 보정하기 위한 영상 왜곡 보정 방법 |
US10721419B2 (en) | 2017-11-30 | 2020-07-21 | International Business Machines Corporation | Ortho-selfie distortion correction using multiple image sensors to synthesize a virtual image |
Also Published As
Publication number | Publication date |
---|---|
KR20040053877A (ko) | 2004-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792684B2 (en) | System and method for imaging device modelling and calibration | |
CN110689581B (zh) | 结构光模组标定方法、电子设备、计算机可读存储介质 | |
KR100513789B1 (ko) | 디지털 카메라의 렌즈 왜곡 보정과 정사영상 생성방법 및이를 이용한 디지털 카메라 | |
US8797387B2 (en) | Self calibrating stereo camera | |
KR100796849B1 (ko) | 휴대 단말기용 파노라마 모자이크 사진 촬영 방법 | |
Brauers et al. | Multispectral filter-wheel cameras: Geometric distortion model and compensation algorithms | |
US9600863B2 (en) | Method for combining images | |
JP4782899B2 (ja) | 視差検出装置、測距装置及び視差検出方法 | |
Ha et al. | Panorama mosaic optimization for mobile camera systems | |
JPWO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
WO2019232793A1 (zh) | 双摄像头标定方法、电子设备、计算机可读存储介质 | |
TWI761684B (zh) | 影像裝置的校正方法及其相關影像裝置和運算裝置 | |
TW201839716A (zh) | 環景影像的拼接方法及其系統 | |
KR20110073386A (ko) | 형태의 불변 어파인 인식을 위한 방법 및 장치 | |
CN109785225B (zh) | 一种用于图像矫正的方法和装置 | |
CN114485953A (zh) | 温度测量方法、装置及系统 | |
Von Gioi et al. | Towards high-precision lens distortion correction | |
TWI705292B (zh) | 判斷相機模組之組裝品質的方法 | |
Ueno et al. | Compound-Eye Camera Module as Small as 8.5$\times $8.5$\times $6.0 mm for 26 k-Resolution Depth Map and 2-Mpix 2D Imaging | |
CN111260574B (zh) | 一种印章照片矫正的方法、终端及计算机可读存储介质 | |
CN111292380B (zh) | 图像处理方法及装置 | |
CN116245734A (zh) | 全景图像生成方法、装置、设备和存储介质 | |
CN112233185B (zh) | 相机标定方法、图像配准方法及摄像器件、存储装置 | |
WO2022000176A1 (zh) | 红外图像处理方法、电子设备及计算机可读存储介质 | |
CN113345024A (zh) | 判断相机模块的组装品质的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120831 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |