KR100614004B1 - 자동화된 360°파노라마 이미지 생성 방법 - Google Patents

자동화된 360°파노라마 이미지 생성 방법 Download PDF

Info

Publication number
KR100614004B1
KR100614004B1 KR1020040095309A KR20040095309A KR100614004B1 KR 100614004 B1 KR100614004 B1 KR 100614004B1 KR 1020040095309 A KR1020040095309 A KR 1020040095309A KR 20040095309 A KR20040095309 A KR 20040095309A KR 100614004 B1 KR100614004 B1 KR 100614004B1
Authority
KR
South Korea
Prior art keywords
image
camera
calculating
neighboring
panoramic image
Prior art date
Application number
KR1020040095309A
Other languages
English (en)
Other versions
KR20060056050A (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 KR1020040095309A priority Critical patent/KR100614004B1/ko
Publication of KR20060056050A publication Critical patent/KR20060056050A/ko
Application granted granted Critical
Publication of KR100614004B1 publication Critical patent/KR100614004B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/69Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • H04N23/76Circuitry for compensating brightness variation in the scene by influencing the image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

본 발명은, 카메라를 한 곳에 고정시킨 채 몸체를 회전시키면서 찍은 다수의 사진들을 이어 붙여서 360°를 포함하는 광각의 파노라마 이미지를 생성해내는 방법이다. 생성된 파노라마 이미지는 파노라믹 VR 뷰어를 통해 보게 되며, 사용자에게 마치 촬영 장소에 서서 주위를 살펴보는 것과 같은 효과를 주게 된다. 본 발명은 아래와 같은 중요한 특징을 가지고 있다.
1) 로테이터와 같은 특수 장비 없이 삼각대만을 이용해서 고품질의 360° 파노라마 이미지를 생성할 수 있다.
2) 렌즈의 초점 거리에 대한 정보를 필요로 하지 않는다.
3) 광각 렌즈를 사용할 때 나타나는 이미지 왜곡 현상을 자동으로 보정한다.
4) 카메라가 지면과 수평을 이루지 않은 상태로 촬영된 사진들도 붙이는 것이 가능하다.
5) 사진 붙이기가 자동으로 이루어진다.
6) 입력 사진들 사이에 존재하는 밝기의 차이를 자동으로 보정한다.
360°파노라마 이미지, 이미지 레지스트레이션, 호모그라피, LM, 최소화.

Description

자동화된 360°파노라마 이미지 생성 방법{AN AUTOMATED METHOD FOR CREATING 360 DEGREES PANORAMIC IMAGE}
도 1은 본 발명의 실시예에 따른 360° 파노라마 이미지 생성 방법을 도식화한 플로우 챠트.
도 2는 본 발명의 실시예에 따른 공통 카메라 파라메타들(카메라의 초점 거리, 렌즈의 왜곡률, 이웃하는 사진 사이의 회전각)을 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트.
도 3은 본 발명의 실시예에 따른 사진들 사이의 상대적인 카메라 회전각들을 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트.
도 4는 본 발명의 실시예에 따른 360° 파노라마 이미지를 생성하는 과정을 구체적으로 도식화한 플로우 차트.
도 5는 본 발명의 실시예에 따른 렌즈 왜곡이 있는 입력 사진들로부터 360°파노라마 이미지를 생성한 예를 나타낸 사진.
도 6은 본 발명의 실시예에 따른 카메라 틸트가 있는 입력 사진들로부터 360°파노라마 이미지를 생성한 예를 나타낸 사진.
본 발명은 이미지의 생성 방법에 관한 것으로 특히, 자동화된 360°파노라마 이미지 생성 방법에 관한 것이다.
일반적으로, 360°파노라마 이미지는 파노라마 이미지는 파노라믹 VR(Panoramic Virtual Reality)을 구현하는데 사용되는데, 파노라믹 VR을 구현하려면 크게 두 단계를 거쳐야 한다. 첫 번째는 360도 파노라마 이미지를 얻는 단계이고, 두 번째는 파노라믹 VR 뷰어(Viewer)를 통해 전시하는 단계이다.
파노라믹 VR 뷰어는 입력으로 파노라마 이미지를 받고, 사용자가 특정한 시선 방향을 지정해주면, 그 시선 방향으로 보았을 때의 모습을 파노라마 이미지로부터 실시간으로 생성하여 보여준다.
최근에 인터넷(Internet) 상에서 파노라믹 VR이 보편화됨에 따라 많은 파노라믹 VR 뷰어가 출연하였다. 현재 많이 사용되고 있는 뷰어들로는 Apple QuickTime Player, Macromedia Shockwave Player, PTViewer, Anything3D Viewer, iSeeMedia Viewer, iPIX Viewer등이 있다.
360°파노라마 이미지는 보통 카메라의 위치는 고정시키고, 카메라의 몸체를 회전시켜가면서 연속적으로 얻은 사진들을 적당히 이어 붙임에 의해 생성된다. 초창기에 사용된 방법에서는 사진 촬영 시, 카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 하고(Pure Panning), 카메라 렌즈의 초점 거리는 알고 있다는 조건하에서만 성립하는 알고리즘을 이용하였다. 렌즈의 초점 거리를 알고 있으면 입력 사진을 원통(Cylinder)에 투영할 수 있다.
카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 한 경우, 이웃하는 원통 투영 이미지들 사이의 대응 관계는 단지 평행이동(Translation)에 의해 정의된다. 따라서 평행이동량만 알면 이웃하는 원통 투영 이미지들끼리 이어 붙여서 파노라마 이미지를 만드는 것이 가능하게 된다.
원통 투영 이미지들 사이의 평행이동량은 템플리트 매칭(Template Matching)이라는 방법을 통해 쉽게 획득할 수 있다.
하지만 이러한 방법을 적용하는 데에는 여러 가지 제약 사항들이 따른다. 우선, 카메라의 초점 거리를 정확하게 알아야 한다. 만약 광각 렌즈를 사용하여 촬영하는 경우에는 사진에 생기는 렌즈 왜곡 현상을 제거하기 위하여 렌즈 왜곡률도 알아야 한다.
그리고 카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 한 경우만을 허용하므로 로테이터(Rotator) 같은 특수 장비가 없으면 촬영하기가 어렵다. 이러한 문제점들을 극복하기 위하여 카메라의 초점 거리 및 렌즈의 왜곡률을 모르고, 카메라의 패닝(Panning) 뿐만 아니라 틸팅(Tilting)이 존재하더라도 사진들을 붙일 수 있는 방법을 개발하게 되었다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
본 발명은 상기한 종래기술의 문제점을 해결하기 위해 제안된 것으로서, 로테이터와 같은 특수 장비 없이 삼각대만을 이용해서 고품질의 360도 파노라마 이미지를 생성할 수 있고, 렌즈의 초점 거리에 대한 정보를 필요로 하지 않으며, 광각 렌즈를 사용할 때 주로 나타나는 렌즈 왜곡 현상을 자동으로 보정할 수 있고, 카메라가 지면과 수평을 이루지 않은 상태로 촬영된 사진들도 붙이는 것이 가능하며, 입력 사진들 사이에 존재하는 밝기의 차이를 자동으로 보정할 수 있는 자동화된 360°파노라마 이미지 생성 방법을 제공하는 것을 그 목적으로 한다.
본 발명에 의한 360도 파노라마 이미지 생성 방법을 도식화한 플로우 차트는 도 1과 같으며, 이를 참조하여 360도 파노라마 이미지 생성 과정을 살펴보면 다음과 같다.
먼저 삼각대 등에 카메라를 고정시킨 후, 카메라를 360도 회전시키면서 적당한 간격마다 사진을 얻는다(S101). 이때 중간에 렌즈를 교체하거나 렌즈의 배율을 바꾸지 않는다고 가정한다. 촬영된 사진들로부터 임의의 이웃하는 두 장의 사진을 선택한 후, 그 사진들에 대하여 이미지 레지스트레이션(Image Registration)을 수행하여 공통 카메라 파라메타 값들(카메라의 초점 거리, 렌즈의 왜곡 계수, 이웃하는 두 사진 사이의 회전각)을 산출한다(S102). 여기에서 이미지 레지스트레이션이란 동일한 풍경(Scene)으로부터 얻은 두 장 이상의 이미지가 주어졌을 때, 이미지들 사이의 픽셀의 대응 관계를 구하는 작업을 일컫는 말이다.
임의의 이웃하는 두 장의 사진들로부터 공통 카메라 파라메타 값들을 산출하였으면, 각각의 이웃하는 사진 쌍에 대하여 이미지 레지스트레이션을 수행하여 이웃하는 사진들 사이의 상대적인 카메라 회전각(패닝,틸팅,롤링 각)을 산출한다(S103). 이웃하는 사진들에 대하여 이미지 레지스트레이션 수행 시, 이전에 구한 공통 카메라 파라메타 값들이 사용된다. 각각의 이웃하는 사진 쌍에 대하여 상대적인 카메라 회전각을 구하였으면, 첫 번째 사진을 기준으로 나머지 사진들에 대응하는 절대 카메라 회전각을 구한다. S102에서 구한 공통 카메라 파라메타 값들과 각 사진에 대응하는 절대 카메라 회전각을 이용하여 각 사진에 대응하는 카메라 투영 행렬을 구한다(S104).
S103을 수행함에 의해 이웃하는 두 사진 사이의 겹치는 영역에서 각 픽셀의 대응 관계를 알게 된다. 이를 이용하여 이웃하는 사진 사이의 밝기 차이를 보정한다(S105). 밝기가 보정된 사진은 S104에서 구한 카메라 투영 행렬을 이용하여 단일 원통에 투영된다(S106).
이때 이웃하는 사진들 사이의 겹치는 영역에서는 이미지 블랜딩(Image Blending)을 수행하여(S107) 부드럽게 이어지는 파노라마 이미지를 생성한다(S108). 이때 생성된 파노라마 이미지는 좌우측 끝이 서로 이어지지 않는 미완성 파노라마 이미지이다. 좌우측 끝이 이어지는 360도 파노라마 이미지를 만들기 위하여 첫 번째 사진의 원통 투영 이미지를 얻은 후(S109), 그 이미지와 미완성 파노라마 이미지를 이용하여 360도 파노라마 이미지를 완성한다(S110).
도 2는 임의의 이웃하는 두 사진으로부터 본 발명이 제시한 이미지 레지스트레이션 방법을 이용하여 공통 카메라 파라메타들(카메라의 초점거리, 렌즈의 왜곡 계수, 두 이미지 사이의 회전각)의 값을 산출하는 과정을 구체적으로 도식화한 플로우 차트이다. 이를 참조하여 공통 카메라 파라메타 값들을 산출하는 과정을 살펴보면 다음과 같다.
먼저 카메라를 360도 회전하면서 얻은 사진 열에서 임의의 이웃하는 두 장의 사진을 선택한다. 선택한 사진들(이미지)에 대하여 이미지 피라미드를 생성한다(S201). 이미지 피라미드는 원 이미지를 여러 단계에 걸쳐서 축소하여 생성한 이미지들의 집합체로써 최상층에 가장 작은 이미지가 위치하고 최하층에 원 이미지가 위치한다. 두 사진에 대하여 각각 이미지 피라미드를 얻었으면, 이미지 피라미드의 최상층에서 두 사진 사이의 평행이동량을 템플리트 매칭 방법을 이용하여 구한다(S202).
마찬가지로 최상층 이미지에 대하여 LM 최소화를 통해 두 사진 사이의 회전각을 구한다(S203). S202와 S203으로부터 두 사진 사이의 평행이동량과 회전각을 구하였으면, 그 값들을 초기치로 이용하여 LM 최소화를 통해 렌즈의 왜곡 계수 및 두 사진 사이의 8-파라메타 호모그라피를 계산한다(S204).
이때 정확도를 유지하면서 계산 시간을 줄이기 위해 이미지 피라미드를 이용한다. 즉, 이미지 피라미드의 최상층부터 시작하여 밑의 층으로 내려오면서 차례대로 수행하며, 상층에서 구한 파라메타 값들은 하층에서 보다 정확하게 파라메타 값을 구하는데 있어서 초기치로 활용된다. S204를 통하여 이미지 레지스트레이션이 완료되며, 구한 8-파라메타 호모그라피를 분해하여 카메라의 초점거리 값을 구한다(S205).
도 3은 각각의 이웃하는 사진 쌍에 대하여 본 발명에서 제시한 이미지 레지스트레이션 방법을 이용하여 두 사진 사이의 상대적인 카메라 회전각을 구하는 과정을 구체적으로 도식화한 플로우 차트이다. 이를 참조하여 이웃하는 두 사진 사이의 상대적인 카메라 회전각을 구하는 과정을 살펴보면 다음과 같다.
먼저 각각의 이웃하는 사진 쌍이 주어지면, 도 2의 과정을 통해 구한 렌즈 왜곡 계수 값을 이용하여 렌즈 왜곡이 보정된 이미지를 생성한다(S301). 그런 후, 도 2의 S205에서 구한 카메라의 초점거리 값을 이용하여 원통 투영 이미지를 생성한다(S302).
두 사진으로부터 생성한 두 장의 원통 투영 이미지에 대하여 S303 ~ S305의 과정을 통해 이미지 레지스트레이션을 수행한다. 우선 각각의 원통 투영 이미지로부터 이미지 피라미드를 생성한다(S303).
그 후, 도 2의 S203에서 구한 회전각을 이용하여 이미지 피라미드의 최상층에 속하는 두 원통 투영 이미지를 회전시킨 다음, 템플리트 매칭을 통해 두 이미지 사이의 평행이동량을 계산한다(S304). 마지막으로 LM 최소화를 통해 두 사진 사이의 3-파라메타 호모그라피를 구한다(S305).
이때 도 2에서 행한 것과 마찬가지로, 정확도를 유지하면서 계산 시간을 줄이기 위해 이미지 피라미드를 이용하여 계층적으로 3-파라메타 호모그라피를 구한다. S305를 통해 이미지 레지스트레이션이 완료되며, 이때 구한 3-파라메타 호모그라피를 구성하는 3개의 파라메타는 두 사진 사이의 상대적인 카메라 회전각(패닝,틸팅,롤링 각)에 해당한다.
LM 최소화를 통하여 상대적인 카메라 회전각을 구할 때, 카메라 회전각의 초기치가 필요한데, 도 2의 S203에서 구한 회전각과 도3의 S304에서 구한 평행이동량으로부터 대략적인 값을 유추하여 초기치로 사용한다.
도 4는 도 1의 S108로부터 생성된 미완성 파노라마 이미지로부터 완전한 360도 파노라마 이미지를 생성하는 과정을 구체적으로 도식화한 플로우 차트이다. 도 4를 참조하면 완전한 360도 파노라마 이미지를 생성하는 단계는, 템플리트 매칭을 통해 첫 번째 사진의 원통 투영 이미지와 미완성 파노라마 이미지 사이의 평행이동량을 계산하는 단계(S401)와 두 이미지의 합체 후 양쪽 끝이 일치하도록 변형하는 단계(S402)로 이루어진다.
이하에서는 본 발명에서 제시한 360도 파노라마 이미지 생성 방법을 보다 구체적으로 살펴본다.
카메라를 회전시켜 얻은 사진 열로부터 파노라마 이미지를 생성하려면 일차적으로 각 사진에 해당하는 카메라의 투영 행렬(Projection Matrix)을 구해야 한다(도 1의 S101에서 S104까지에 해당함). 투영 행렬은 3차원 공간상의 포인트가 카메라에 의해 이미지 평면(Image Plane)에 투영되어 얻어진 이미지 포인트와의 대응 관계를 나타내는 행렬이다. 3차원 공간상의 포인트를 X=(X,Y,Z)라고 하고 그것에 대응하는 이미지 포인트를 x=(x,y)라고 하면 투영 행렬 및 그것에 의한 X x의 관계는 렌즈의 왜곡 현상을 무시했을 때 하기의 수학식 1과 수학식 2에 의하여 주어진다.
Figure 112006040597915-pat00067

Figure 112006040597915-pat00068

Figure 112006040597915-pat00069

여기에서 ux를 동차 좌표(Homogeneous Coordinates)로 표시한 벡터이고, K는 카메라 보정 행렬(Camera Calibration Matrix)로써, 카메라 좌표계 상에서 3D 포인트와 그것이 투영되어 얻어진 이미지 평면에서의 2D 포인트와의 관계를 나타내고, Rt는 카메라의 회전 행렬(Rotation Matrix)과 평행이동 벡터(Translation Vector)로써, 월드 좌표계와 카메라 좌표계 사이의 변환 관계를 나타낸다.
행렬 K에 포함되어 있는 파라메타들을 카메라의 내부 파라메타(Internal Parameter)라고 부르는데, f는 초점거리(Focal Length), a는 픽셀의 종횡비(Aspect Ratio), s는 스큐(Skew), (xc,yc)는 주점(Principal Point)을 나타낸다.
행렬 KR, 그리고 벡터 t가 주어졌을 때 3 x 4의 투영 행렬 PK[R t]로 주어진다. 행렬 K에 포함되어 있는 내부 파라메타들의 개수를 더 줄이는 것이 가능한데, 현재 판매되고 있는 대부분의 카메라들의 경우, a = 1, s = 0, (xc,yc) = 이미지의 중심으로 설정해도 무방하기 때문이다. 그러면 값을 모르는 내부 파라메타는 초점거리 f만 남게 된다.
위에서 언급한 카메라 모델에서는 렌즈의 왜곡 현상은 고려되어 있지 않다. 현실적으로 360도 파노라마 이미지를 얻기 위한 카메라 촬영 시 광각 렌즈를 많이 사용하기 때문에, 렌즈 왜곡 현상을 고려해야만 보다 넓은 범위에서 알고리즘의 적용이 가능하다.
(xd,yd)를 원 이미지(즉, 렌즈 왜곡이 있는 이미지)에서의 픽셀의 좌표라고 하고, (xu,yu)를 렌즈 왜곡이 제거된 이미지에서의 대응되는 픽셀 좌표라고 하자. 그리고, (xc,yc)를 원 이미지의 중심 좌표라고 하면, (xd,yd)이 주어졌을 때, (xu,yu)는 하기의 수학식 3과 같이 주어진다.
Figure 112006040597915-pat00070

Figure 112006040597915-pat00071

여기에서 κ를 렌즈 왜곡 계수(Lens Distortion Coefficient)라고 한다. 반대로 (xu, yu)가 주어졌을 때, (xd,yd)는 하기의 수학식 4와 같이 주어진다.
Figure 112006040597915-pat00072

여기에서, rd는 하기의 수학식 5와 같이 주어지고,
Figure 112006040597915-pat00073

h(κ)는 하기의 수학식 6과 같이 주어지며,
Figure 112006040597915-pat00074

ru는 하기의 수학식 7과 같이 주어진다.
Figure 112006040597915-pat00075

이제 각 사진에 대응하는 카메라 투영 행렬을 산출하기 위하여 본 발명에서 제시한 방법을 보다 상세히 살펴보자.
도 1의 S101에서 카메라로 사진을 얻을 때, 카메라를 삼각대 등에 고정시킨 후, 360도 회전하면서 적당한 간격마다 사진을 얻는다. 이때 이웃하는 사진들끼리 약 25% 이상 겹치도록 촬영하고, 중간에 렌즈를 교체하거나 렌즈의 배율을 바꾸지 않는다고 가정한다.
그러면 촬영하는 동안 렌즈의 변화가 없으므로 카메라의 초점거리 f와 렌즈의 왜곡 계수 κ값은 특정한 사진에 상관없이 일정한 값이 된다. 또한 카메라의 회전 시 카메라의 틸트(Tilt) 각(카메라가 바라보는 방향과 지면이 이루는 각)의 변동은 거의 없다고 가정하면 이웃하는 사진들 사이의 회전각도 일정한 값이 된다.
특정한 사진에 상관없이 일정한 값을 갖는 카메라의 초점거리, 렌즈의 왜곡 계수, 이웃하는 사진들 사이의 회전각을 공통 카메라 파라메타들이라고 부르면, 본 발명에서는 먼저 임의의 이웃하는 두 장의 사진으로부터 공통 카메라 파라메타 값들을 구하고(도 1의 S102), 그 값들을 이용하여 각 사진에 대응하는 카메라 투영 행렬을 구한다(도 1의 S103 ~ S104).
임의의 이웃하는 두 장의 사진이 주어지면 이미지 레지스트레이션을 수행하여 공통 카메라 파라메타 값들을 구하는데, 본 발명에서 제시한 구체적인 이미지 레지스트레이션 방법은 도 2와 같다. 임의의 이웃하는 두 장의 사진 I0,I1이 주어지면, I0와 I1 각각에 대하여 이미지 피라미드(Image Pyramid)를 생성한다(도 2의 S201).
이미지 피라미드는 주어진 원 이미지 및 그 이미지를 축소해서 만든 이미지들로 구성된다. 원 이미지 I의 이미지 피라미드를 구성하는 이미지들의 집합을 Pyramid(I) = I(0),I(1),...,I(n)이라고 한다면, I(i)는 하기의 수학식 8과 같이 주어진다.
Figure 112006040597915-pat00076

여기에서 Reduce()는 이미지를 축소하는 연산자(Operator)인데, 보통 0.5배로 이미지를 줄인다. Pyramid(I)에서 I(0)는 피라미드의 최상층에 해당하고 I(n) = I는 최하층에 해당한다.
Pyramid(I0)와 Pyramid(I1)이 주어지면 두 피라미드의 최상층 이미지 I0(0),I1(0)에 대하여 NCC 기반의 템플리트 매칭(Template Matching) 방법을 적용하여 I0(0)와 I1(0)의 겹치는 부분에서 매치(Match)가 가장 잘 될 때의 I1(0)의 평행이동량을 구한다(도 2의 S202).
NCC 기반의 템플리트 매칭 방법에서는 두 이미지 사이의 겹치는 부분에서의 매치 정도를 측정하기 위하여 Normalized Cross-Correlation(NCC) 값을 이용한다. 두 이미지 I0와 I1이 주어지고, I1이 (xt,yt)만큼 평행 이동했을 때, 두 이미지 사이의 NCC 값은 하기의 수학식 9와 같이 주어진다.
Figure 112006040597915-pat00077

Figure 112006040597915-pat00078

Figure 112006040597915-pat00114

여기에서 R은 두 이미지 I0와 I1이 서로 겹치는 영역을 나타내고, NR은 R에 속하는 픽셀 수를 나타낸다. NCC 값은 I0와 I1의 매치 정도에 비례하며, 템플리트 매칭 방법에서는 (xt,yt)의 값을 순차적으로 바꿔가면서 NCC 값이 가장 큰 곳을 찾는다.
템플리트 매칭을 통해 구한 I1(0)의 평행이동량을 (x0,y0)라고 하자. 다음으로 I0(0)와 I1(0)의 겹치는 부분에서 매치가 가장 잘 될 때의 I1(0)의 회전각을 구한다(도 2의 S203).
사진 촬영 시 카메라가 바라보는 방향과 지면이 수평을 이룬 채로(즉, 카메라 틸트가 없는 경우) 카메라를 회전시키면서 촬영을 하면 이웃하는 사진들 사이의 회전각은 0도가 된다. 그러나 카메라가 바라보는 방향과 지면이 수평을 이루지 않는 경우(즉, 카메라 틸트가 있는 경우)에는 이웃하는 사진들 사이의 회전각은 0도가 아닌 값을 갖는다.
도 5의 사진 열은 카메라 틸트가 없을 때 얻은 사진 열의 예이고 도 6의 사진 열은 카메라 틸트가 있을 때(카메라가 약간 위를 바라보고 있음) 얻은 사진 열의 예이다. 본 발명에서는 I0(0)와 I1(0) 사이의 회전각을 구하기 위해 수학식 11에서 제시한 비용 함수(Cost Function) e를 파라메타 (θ,xt,yt)에 대하여 최소화한다. 그러면 비용 함수 e를 최소화하는 θ값을 θ0라고 하면, θ0가 구하고자 하는 답이 된다.
Figure 112006040597915-pat00080

Figure 112006040597915-pat00081

비용 함수 e를 최소화하는 방법으로는 LM 최소화 방법(Levenberg-Marquardt Minimization Method)을 이용한다. LM 최소화 방법을 적용하려면 파라메타 (θ,xt,yt)에 대한 초기값이 필요한데, (0,x0,y0)를 초기값으로 사용한다.
도 2의 S202와 S203에서 수행한 내용은 두 이미지 I0와 I1의 레지스트레이션(도 2의 S204)을 수행하기 위한 준비 단계에 해당한다. I0와 I1의 레지스트레이션을 수행하려면 I0와 I1 사이의 픽셀의 대응 관계에 대해 살펴볼 필요가 있다.
카메라의 투영 중심(Projection Center)를 고정시키고 카메라를 일정량만큼 회전시킨 후에 얻은 이미지를 I1이라고 하고, 회전시키기 전에 얻은 이미지를 I0라고 하자. 또한 수학식 1에서 카메라를 회전시키기 전의 회전 행렬과 평행이동 벡터를 각각 R 0t 0라고 하고, 회전시킨 후의 것을 R 1t 1이라고 하자. 편의상 카메라의 투영 중심을 월드 좌표계의 원점과 일치시키면 t 0=t 1=0이 된다.
3차원 공간상의 포인트 X가 I0와 I1에 투영되어 얻어진 이미지 포인트의 동차 벡터(Homogeneous Vector)를 각각 u 0u 1이라고 하면, 이들은 하기의 수학식 13과 같은 관계를 갖는 것을 알 수 있다.
Figure 112006040597915-pat00082

즉, 카메라를 회전시켜서 얻은 두 이미지 사이의 픽셀의 대응 관계는 3 × 3의 행렬 H에 의해 표현되는데, 이것을 평면 호모그라피(Planar Homography)라고 한다. 동차 벡터에 0이 아닌 임의의 실수를 곱하더라도 그것에 대응되는 이미지 포인트는 같다는 점을 고려하면 H 또한 스케일에 상관없이 정의된다는 것을 알 수 있다. 따라서 평면 호모그라피는 9개가 아닌 8개의 파라메타에 의해 정의되고, 하기의 수학식 14와 같이 표현하는 것이 가능하다.
Figure 112006040597915-pat00083

수학식 14와 같이 표현된 호모그라피를 8-파라메타 호모그라피라고 한다.
I0에 속하는 임의의 픽셀 x=(x,y)에 대응하는 I1의 픽셀의 좌표를 x^=(x^,y^)라고 하자. 만약 카메라 렌즈의 왜곡 현상이 없다고 가정하고 x의 동차 좌표계를 (x,y,1)로 놓으면, xx^의 대응 관계는 수학식 13 및 수학식 14로부터 하기의 수학식 15와 같이 표현될 수 있다.
Figure 112006040597915-pat00084

I0와 I1 사이의 호모그라피 H를 구하기 위하여 하기의 수학식 16과 같이 주어지는 비용 함수 e를 고려한다.
Figure 112006040597915-pat00085
Figure 112006040597915-pat00086

그러면 비용 함수 e를 최소화하는 H를 구하고자 하는 최적의 H라고 본다. 비용 함수 e를 최소화하는 방법으로는 도 2의 S203에서 사용한 방법과 마찬가지로 LM 최소화 방법을 사용한다.
본 발명에서는 렌즈 왜곡을 고려한 이미지 레지스트레이션 방법을 제공하는 바, 렌즈 왜곡 현상을 고려하려면 수학식 15와 수학식 16은 각각 수학식 17과 수학식 18로 바뀌어야 한다.
Figure 112006040597915-pat00087

Figure 112006040597915-pat00088

여기에서 (xd,yd) ↔ (xu,yu)의 변환 관계(또는 (x^d,y^d) ↔ (x^u,y^u))는 수학식 3과 수학식 4에서 주어진 것과 같다. 수학식 18의 비용 함수 e를 최소화하는 호모그라피 파라메타 값 및 렌즈 왜곡 계수 값이 구하고자 하는 값이 된다.
도 2의 S204에서 구한 8-파라메타 호모그라피를 분해하면 카메라의 초점거리 f를 구할 수 있다(도 2의 S205). 초점거리 f만을 내부 파라메타로 갖는 단순화된 카메라 보정 행렬 K는 하기의 수학식 19와 같이 표현될 수 있다.
Figure 112006040597915-pat00089

수학식 19를 수학식 12에 대입하면 하기의 수학식 20과 같이 된다.
Figure 112006040597915-pat00090

따라서 회전 행렬 R은 하기의 수학식 21과 같이 표현된다.
Figure 112006040597915-pat00091

행렬 R은 직교 행렬(Orthogonal Matrix)이므로 하기의 수학식 22를 만족한다.
Figure 112006040597915-pat00092

수학식 22로부터 f를 구한 후, 수학식 21에 대입하여 R을 구할 수 있다.
실제로 H로부터 f와 R을 구하는데 있어서, 다음과 같은 주의가 필요하다.
첫 번째, H가 스케일에 상관없이 주어지므로, 수학식 21로부터 R을 구한 후, RR T=I가 되도록 R의 스케일 값을 조정해야 한다. 두 번째, 수학식 21을 통해 구한 R은 정확하게 직교 행렬이 되지 않는다. 따라서 수학식 21을 통해 일차적으로 구한 R로부터 SVD(Singular Value Decomposition)를 수행하여 근사화된 직교 행렬을 구해야 한다.
도 2에서 제시한 방법에 의해 공통 카메라 파라메타 값들(카메라의 초점 거리 f, 렌즈 왜곡 계수 κ, 이웃하는 이미지 사이의 회전각 θ0)을 구하였으면, 그것들을 활용하여 입력으로 주어진 사진 열 I1,I2,...,In의 각 이미지 쌍 Ii,Ii+1에 대하여 도 3과 같이 이미지 레지스트레이션을 수행하여 그들 사이의 호모그라피 H i(i+1)을 구한다.
이웃하는 두 이미지 Ii와 Ii+1의 레지스트레이션 수행 시, 도 2에서 제시한 방법을 그대로 적용할 수도 있으나, 그럴 경우에 각각의 이미지 쌍에 대하여 서로 다른 f와 κ값이 산출되는데, 이것은 카메라로부터 사진 열을 얻을 때 f와 κ값이 고정된 값을 갖는다는 사실과 대치가 된다. 따라서 기존에 구한 f와 κ값은 공통적으로 사용하고, 나머지 파라메타 값들을 구하는 방식을 채용해야 한다. 본 발명에서 제시한 방법은 다음과 같다.
우선, 이웃하는 두 이미지 Ii,Ii+1가 주어지면, 앞에서 구한 렌즈 왜곡 계수 κ값 및 수학식 3과 수학식 4를 이용하여 렌즈 왜곡이 제거된 이미지 Ii u,Ii+1 u를 생성한다(도 3의 S301). 그런 후, Ii u,Ii+1 u로부터 원통 투영 이미지 Ii c,Ii+1 c를 생성한다(도 3의 S302).
카메라로부터 얻은 이미지 I와 그것에 대응하는 카메라 보정 행렬 K와 회전 행렬 R이 주어지면, I의 원통 투영 이미지를 생성하는 방법은 다음과 같다. 우선, I에 속하는 임의 이미지 포인트 x=(x,y)와 카메라의 투영 중심을 통과하는 광선(Optical Ray)의 방향 벡터 X=(X,Y,Z)는 하기의 수학식 23과 같이 주어진다.
Figure 112006040597915-pat00093

반지름이 1인 원통의 중심이 카메라의 투영 중심과 일치하도록 위치해 있다고 가정하면 광선 X와 원통이 만나는 교점 v=(θ, v)를 생각할 수 있는데, 이 교점이 I의 원통 투영 이미지에서 x에 대응하는 포인트가 된다. 이 때 θ는 카메라 좌표계의 Y축과 광선을 포함하는 평면이 YZ 평면과 이루는 각이고, v는 교점의 Y축 좌표로서, 하기의 수학식 24와 같이 주어진다.
Figure 112006040597915-pat00094

도 3의 S302에서 원통 투영 이미지 Ii c,Ii+1 c를 생성할 때에는 회전 행렬을 R = I로 놓고 구한다.
원통 투영 이미지 Ii c,Ii+1 c를 생성하였으면, 그것으로부터 이미지 피라미드 Pyramid(Ii c),Pyramid(Ii+1 c)를 생성한다(도 3의 S303). 그 후, 두 피라미드의 최상층 이미지 Ii c(0),Ii+1 c(0)에서 Ii+1 c(0)를 도 2의 S203에서 구한 회전각만큼 회전시킨 다음, 두 이미지 사이의 평행이동량을 템플리트 매칭을 통해 구한다(도 3의 S304).
원통 투영 이미지에서 평행이동량은 특별한 의미를 갖는다. 카메라의 틸트(Tilt) 성분이 없고 오직 패닝(Panning)에 의해서만 회전을 하는 경우, 카메라의 회전각을 Δθ, 회전하기 전에 얻는 원통 투영 이미지를 I0 c, 회전한 후에 얻는 이미지를 I1 c라고 하면, 수학식 25와 같은 관계가 성립함을 알 수 있다.
Figure 112006040597915-pat00095

즉, I1 c는 I0 c를 단순히 쉬프팅(Shifting)하여 얻을 수 있다. 따라서 템플리트 매칭을 통해 I1 c의 평행이동량을 구하면, 그 값으로부터 카메라의 패닝 각을 구하는 것이 가능하다. 만약 카메라의 틸트 성분이 있거나, 원통 투영 이미지를 만들 때 사용했던 카메라 초점거리 값이 부정확하다면 템플리트 매칭을 통해 얻은 평행이동량은 대략적인 카메라 회전각을 알려줄 것이다.
본 발명에서는 3개의 카메라 회전각(패닝, 틸팅, 롤링 각)을 파라메타로 갖는 3-파라메타 호모그라피에 의한 이미지 레지스트레이션을 수행함으로써 보다 정확한 카메라 회전각을 산출한다(도 3의 S305).
수학식 13에서와 같이 호모그라피 H는 카메라 보정 행렬 K와 회전 행렬 R의 조합으로 표현될 수 있는데, KR의 값을 모르면 H는 수학식 14와 같이 가장 일반적인 형태인 8개의 파라메타로 표현이 된다.
그러나 K의 값을 아는 경우에는 HR을 구성하는 파라메타 값들에 의해 결정된다. 본 발명에서는 간략화 된 K를 사용하므로 K에 포함된 파라메타는 카메라의 초점거리 f뿐인데, 이 값은 도 2에서 제시한 방법에 의해 구하였으므로 K의 값은 안다고 말할 수 있다. 일반적인 회전 행렬 R은 하기의 수학식 31과 같이 분해할 수 있다.
Figure 112006040597915-pat00096

Figure 112006040597915-pat00097

여기에서 R(ψ), R(θ), R(φ)는 각각 X, Y, Z축을 중심으로 한 회전 변환을 나타내는 행렬이며, ψ, θ, φ를 오일러 각(Euler Angle)이라고 한다. 즉, 회전 행렬 R은 세 개의 회전각을 파라메타로 가지므로, 카메라 보정 행렬 K의 값을 알고 있으면 호모그라피 H는 (ψ,θ,φ)의 세 파라메타로 표현하는 것이 가능하며, 이렇게 표현된 호모그라피를 3-파라메타 호모그라피라고 한다.
본 발명에서 제시한 3-파라메타 호모그라피 기반 이미지 레지스트레이션 방법은 도 2의 S204에서 행하는 8-파라메타 호모그라피 기반 이미지 레지스트레이션 방법과 매우 유사하다. 레지스트레이션을 수행할 두 이미지 Ii,Ii+1가 주어지면 하기의 수학식 27과 같이 주어지는 비용 함수 e를 최소화하는 파라메타 (ψ,θ,φ)를 구한다.
Figure 112006040597915-pat00098

Figure 112006040597915-pat00099

여기에서 회전 행렬 R i(i+1)는 수학식 31과 같이 주어진다. 비용 함수 e의 최소화 방법으로는 LM 최소화 방법을 사용한다.
수학식 27에서 주어진 비용 함수를 최소화하려면 (ψ,θ,φ)의 초기값들이 적절히 주어져야 한다. 본 발명에서는 도 3의 S304에서 얻은, Ii,Ii+1의 원통 투영 이미지 사이의 평행이동량으로부터 ψ와 θ의 초기치를 유추한다. 또한 도 2의 S203에서 구한 회전각으로부터 φ의 초기치를 유추한다. LM 최소화의 수행 시, 수렴 속도의 향상을 위하여 도 2의 204를 수행할 때와 마찬가지 방법으로 이미지 피라미드를 이용한다.
도 3에서 제시한 방법에 의해 이웃하는 사진들 사이의 카메라 회전각을 산출하였으면(도 1의 S103), 각 사진에 대응하는 카메라의 투영 행렬을 산출한다(도 1의 S104).
이웃하는 두 사진 Ii,Ii+1 사이의 회전 행렬을 R i(i+1)라고 하면, I1,Ii 사이의 회전 행렬 R 1iR (i-1)i R (i-2)(i-1)...R 23 R 12가 된다. 따라서 첫 번째 사진 I1에 대응하는 회전 행렬을 단위 행렬 I로 놓으면, i번째 사진 Ii에 대응하는 회전 행렬 R i는 I1,Ii 사이의 회전 행렬 R 1i와 동일하게 되고, Ii에 대응하는 투영 행렬 P iKR i로 주어진다.
렌즈 왜곡이 제거된 입력 사진 Ii에 대응하는 투영 행렬 P i = KR i가 주어지면 수학식 23과 24에 의해 각 사진을 단일 원통에 투영한 후(도 1의 S106), 이웃하는 원통 투영 이미지 사이의 겹치는 부분에서 이미지 블랜딩을 수행하면(도 1의 S107) 초기 파노라마 이미지를 완성할 수 있다(도 1의 S108).
이렇게 하여 초기 파노라마 이미지를 생성할 경우, 이웃하는 이미지 사이에 밝기(Brightness) 및 대조(Contrast)의 차이가 심하면 전체적으로 밝기가 불균일하고, 접합 부분에서 부자연스러운 경계가 생기는 파노라마 이미지가 생성된다. 이러한 문제점을 해결하기 위해 원통 투영을 하기 전에 이웃하는 이미지 사이의 밝기 및 대조 차이를 보정한다(도 1의 S105).
어떠한 이미지의 전체적인 밝기 및 대조는 픽셀들의 밝기의 평균값과 표준편차로 표현될 수 있다. 이웃하는 두 이미지 Ii와 Ii+1 사이에 존재하는 밝기 차이를 보정하기 위하여, 서로가 겹치는 영역에서 픽셀들의 밝기의 평균값과 표준편차를 구한다. Ii와 Ii+1 사이의 호모그라피가 주어지면 서로가 겹치는 영역을 찾을 수 있다.
겹치는 영역에서 Ii의 밝기의 평균값과 표준편차를 mi r과 σi r이라고 하고, Ii+1의 밝기의 평균값과 표준편차를 ml i+1과 σl i+1이라고 한다. 두 이미지의 밝기의 평균값과 표준편차를 같게 만들려면, Ii+1의 픽셀 값을 하기의 수학식 29 및 수학식 30과 같이 보정해야 한다.
Figure 112006040597915-pat00100

Figure 112006040597915-pat00101

사진렬 I1,I2,...,In이 주어지면, 이웃하는 두 사진 Ii, Ii+1에 대하여 Ii+1의 픽셀 밝기를 수학식 29를 이용하여 보정하는 것을 순차적으로 행하는 경우, 360°파노라마 이미지를 생성하는 경우가 아니라면 특별한 문제가 없으나, 360°파노라마 이미지를 생성하는 경우에는 첫 번째 사진과 마지막 사진을 연결해야 하므로 In과 I1의 밝기 차이도 보정이 되어야 하는데, 단순히 순차적으로 보정을 하는 경우에는 In과 I1의 밝기 차이가 제대로 보정이 된다고 보장할 수 없다.
360°파노라마 이미지를 생성하는 경우, 밝기 보정이 순환하는 체인(Chain)의 형식을 띄기 때문에 한번의 순차적인 보정으로는 문제를 해결할 수 없다. 본 발명에서는 하기의 수학식 31 내지 수학식 33에서 나타낸 바와 같이 비용 함수를 최소화는 a1과 b1을 구함으로써 문제를 해결한다.
Figure 112006040597915-pat00102

수학식 31에 나타난 e의 값을 구하는 방법은 다음과 같다. 우선 현재 주어진 mn r, σn r, m1 l, σ1 r 값들을 이용하여 하기의 수학식 32와 같이 a1과 b1을 구한다.
Figure 112006040597915-pat00103

구한 a1과 b1을 이용하여 m1 l, σ1 l, m1 r, σ1 r을 하기의 수학식 33과 같이 업데이트한다.
Figure 112006040597915-pat00104

업데이트된 m1 r, σ1 r과 기존의 m2 l, σ2 l을 이용하여 a2와 b2를 구한다. 이것을 반복하여 mn r과 σn r을 구한 후, e의 값을 구한다. 비용 함수 e를 최소화하는 a1과 b1을 구하면, 나머지 ai와 bi들을 위에서 언급한 방식으로 구하고, 수학식 29를 이용하여 이미지의 밝기를 보정한다.
상기 방법에 의해 입력 사진의 밝기를 보정하였으면(도 1의 S105), 도1의 S102에서 구한 렌즈 왜곡 계수 값을 이용하여 입력 사진의 렌즈 왜곡을 제거한 후, 도1의 S104에서 구한 투영 행렬 및 수학식 23, 24에 의해 각 사진을 단일 원통에 투영한다(도 1의 S106). 그런 후, 이웃하는 원통 투영 이미지 사이의 겹치는 부분에서 이미지 블랜딩을 수행하면(도 1의 S107), 초기 파노라마 이미지가 완성된다(도 1의 S108).
360°로 사진을 촬영하였으면, 도 1의 S108에서 구한 초기 파노라마 이미지로부터 이미지의 양쪽 끝이 정확하게 이어지는 360도 파노라마 이미지를 만들어야 한다. 카메라 파라메타 값들을 완벽하게 구했다면, 앞서 실시한 원통 투영에 의하여 마지막 사진 In과 첫 번째 사진 I1은 자동적으로 오차 없이 잘 겹쳐질 것이다. 이론적으로 이야기하자면, In과 I1 사이의 호모그라피로부터 구한 카메라의 회전 행렬을 R n1이라고 할 때,
Figure 112006040597915-pat00105

상기 수학식 34에서 주어진 행렬 R은 회전 행렬들이 오차 없이 구해졌을 경우 완벽하게 단위 행렬(Identity Matrix)이 되어야만 한다. 그러나 어떠한 경우에서든 계산상의 오차는 포함되기 마련이기 때문에 단순히 이웃하는 이미지들끼리의 로컬 레지스트레이션만으로는 정확한 360도 파노라마 이미지를 얻을 수 없다. 이러한 문제를 해결하기 위하여 하기의 수학식 35에서와 같이 비용 함수 e를 최소화하는 글로벌 이미지 레지스트레이션 문제를 생각해 볼 수 있다.
Figure 112006040597915-pat00106

Figure 112006040597915-pat00107

그러나 이 방법은 계산량이 너무 많고, 정확한 360도 파노라마 이미지 생성을 보장하지는 못한다.
본 발명에서는 보다 간단하고 빠른 방법으로 360도 파노라마 이미지를 생성하는 방법을 제시한다(도 1의 S109 ~ S110). 도 1의 S108에서 구한 초기 파노라마 이미지를 Ip라고 하면, 360도 파노라마 이미지를 생성하는 방법은 다음과 같다.
제1단계: Ip에서 I1이 맵핑된 영역을 R1이라고 하면, Ip로부터 R1에 속하는 픽셀들만을 추출하여 이미지 I^1을 만든다.
제2단계 : Ip에서 In이 맵핑된 영역을 Rn이라고 하면, Rn 내에서 Ip와 I^1의 템플리트 매칭을 수행한다. I^1의 (0,0)에 대응하는 Ip의 위치를 (xm,ym)이라고 한다.
제3단계 : I^1의 (0,0)의 지점이 Ip상에서 (xm,ym)에 오도록 위치시킨 후, 이미지 블렌딩(Image Blending)을 수행하여 이미지 Ip'을 만든다.
제4단계 : I^1의 중심점의 좌표를 (xc,yc)라고 하면, Ip'으로부터 두 수직선 x = xc와 x = xm + xc 사이의 영역을 취하여 이미지 Ip"을 만든다.
제5단계 : Ip"을 수직 방향으로 비틀어(Shearing Transform)하여 Ip"의 양 끝이 정확하게 일치하도록 한다.
이로써 360도 파노라마 이미지가 생성된다. 도 5와 도 6은 본 발명이 제시한 방법을 이용하여 생성한 360도 파노라마 이미지의 예이다. 도 5는 렌즈 왜곡이 있는 입력 사진들로부터 360도 파노라마 이미지를 생성한 예이고, 도 6은 카메라 틸트가 있는 입력 사진들로부터 360도 파노라마 이미지를 생성한 예이다.
본 발명의 기술 사상은 상기 바람직한 실시 예에 따라 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시 예가 가능함을 이해할 수 있을 것이다.
상술한 바와 같은 본 발명은, 디지털 카메라를 가지고 이미지 기반의 가상공간을 특별한 기술 없이도 쉽고 빠르게 만들 수 있도록 하여 보다 많은 수의 이미지 기반 가상 공간 컨텐츠를 만들고, 이를 산업 전반에 확대시킬 수 있는 효과가 있다.

Claims (5)

  1. 360°파노라마 이미지를 생성하는데 있어서,
    순차적으로 촬영된 복수의 사진들로부터 임의로 선택된 이웃하는 한 쌍의 사진을 이용하여 공통 카메라 파라메타들(카메라의 초점거리, 렌즈의 왜곡률, 이웃하는 사진 사이의 회전각)을 산출하는 단계;
    상기 산출된 공통 카메라 파라메타들을 이용하여 각각의 이웃하는 사진들 사이의 상대적인 카메라 회전각들을 산출하는 단계;
    상기 산출된 공통 카메라 파라메타 및 이웃하는 사진들 사이의 상대적인 카메라 회전각을 이용하여 각 사진에 대응하는 카메라 투영 행렬을 산출하는 단계;
    상기 산출된 카메라 파라메타들을 이용하여 이웃하는 사진들 사이의 밝기 차이를 보정하는 단계;
    상기 산출된 카메라 투영 행렬을 이용하여 밝기 차이가 보정된 각 사진을 단일 원통에 투영하는 단계;
    상기 투영 결과, 겹치는 영역에서 이미지 블랜딩을 실시하여 미완성 파노라마 이미지를 형성하는 단계;
    입력 사진렬의 첫 번째 사진과 상기 미완성 파노라마 이미지를 이용하여 360도 파노라마 이미지를 완성하는 단계를 진행하는 것을 특징으로 하는 자동화된 360°파노라마 이미지 생성 방법.
  2. 제 1 항에 있어서,
    상기 공통 카메라 파라메타를 산출하는 단계는,
    주어진 입력 사진렬에서 임의의 이웃하는 한 쌍의 사진을 선택하는 단계;
    상기 선택된 한 쌍의 사진에 대하여 이미지 피라미드를 생성하는 단계;
    상기 이미지 피라미드 상에서 템플리트 매칭을 통해 두 사진 사이의 평행이동량을 계산하는 단계;
    상기 이미지 피라미드 상에서 비용 함수에 대한 LM 최소화를 통해 두 사진 사이의 회전각을 계산하는 단계;
    상기 이미지 피라미드 상에서 비용 함수에 대한 LM 최소화를 통해 렌즈의 왜곡률 및 두 사진 사이의 8-파라메타 호모그라피를 계산하는 단계;
    상기 8-파라메타 호모그라피로부터 카메라의 초점거리를 계산하는 단계를 진행하는 것을 특징으로 하는 자동화된 360°파노라마 이미지 생성 방법.
  3. 제 1 항에 있어서,
    상기 각각의 이웃하는 사진들 사이의 상대적인 카메라 회전각들을 산출하는 단계는,
    각각의 이웃하는 사진 쌍에 대하여 상기 산출된 렌즈 왜곡률 값을 이용하여 렌즈 왜곡이 보정된 이미지를 생성하는 단계;
    상기 렌즈 왜곡이 보정된 이미지를 이용하여 원통 투영 이미지를 생성하는 단계;
    상기 원통 투영 이미지로부터 이미지 피라미드를 생성하는 단계;
    상기 이미지 피라미드 상에서 상기 공통 카메라 파라메타로써 산출한 회전각을 이용하여 이미지 회전 후 템플리트 매칭을 통해 두 이미지 사이의 평행이동량을 계산하는 단계;
    상기 이미지 피라미드 상에서 비용 함수에 대한 LM 최소화를 통하여 두 이미지 사이의 3-파라메타 호모그라피를 계산하는 단계를 진행하는 것을 특징으로 하는 자동화된 360°파노라마 이미지 생성 방법.
  4. 제 1 항에 있어서,
    상기 사진렬의 첫번째 사진과 미완성 파노라마 이미지로부터 완전한 360° 파노라마 이미지를 생성하는 단계는,
    템플리트 매칭을 통해 첫 번째 사진의 원통 투영 이미지와 미완성 파노라마 이미지 사이의 평행이동량을 계산하는 단계;
    두 이미지를 합체한 후, 수직 방향으로 비틀어 파노라마 이미지의 양 쪽 끝이 일치하도록 변형하는 단계를 진행하는 것을 특징으로 하는 360°파노라마 이미지 생성방법.
  5. 삭제
KR1020040095309A 2004-11-19 2004-11-19 자동화된 360°파노라마 이미지 생성 방법 KR100614004B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040095309A KR100614004B1 (ko) 2004-11-19 2004-11-19 자동화된 360°파노라마 이미지 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040095309A KR100614004B1 (ko) 2004-11-19 2004-11-19 자동화된 360°파노라마 이미지 생성 방법

Publications (2)

Publication Number Publication Date
KR20060056050A KR20060056050A (ko) 2006-05-24
KR100614004B1 true KR100614004B1 (ko) 2006-08-21

Family

ID=37151962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040095309A KR100614004B1 (ko) 2004-11-19 2004-11-19 자동화된 360°파노라마 이미지 생성 방법

Country Status (1)

Country Link
KR (1) KR100614004B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101312895B1 (ko) 2007-08-27 2013-09-30 재단법인서울대학교산학협력재단 파노라마 사진 촬영 방법
KR101914205B1 (ko) * 2016-09-02 2018-11-01 주식회사 씨오티커넥티드 사용자 인터페이스 처리 장치
KR102076635B1 (ko) 2018-10-16 2020-02-12 (주)캠시스 산재된 고정 카메라를 이용한 파노라마 영상 생성 장치 및 방법
US10587799B2 (en) 2015-11-23 2020-03-10 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling electronic apparatus thereof
US11107193B2 (en) 2017-03-06 2021-08-31 Samsung Electronics Co., Ltd. Method and apparatus for processing image

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100758632B1 (ko) 2006-03-29 2007-09-14 삼성전자주식회사 파노라마 사진촬영 장치 및 방법
KR100796849B1 (ko) 2006-09-04 2008-01-22 삼성전자주식회사 휴대 단말기용 파노라마 모자이크 사진 촬영 방법
KR101510106B1 (ko) * 2008-10-21 2015-04-08 삼성전자주식회사 디지털 영상 처리장치 및 그 제어방법
KR101230909B1 (ko) * 2010-05-27 2013-02-12 (주) 에투시스템 차량용 광각 영상 처리장치 및 그 방법
KR101596868B1 (ko) * 2014-04-25 2016-02-24 주식회사 고영테크놀러지 카메라 파라미터 산출 방법
KR101683763B1 (ko) * 2015-09-14 2016-12-07 주식회사 프레스토솔루션 360도 카메라를 이용한 증강현실 로봇 시뮬레이션 시스템 및 방법
KR102381376B1 (ko) 2016-05-16 2022-03-31 삼성전자주식회사 비디오 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101902999B1 (ko) * 2016-05-17 2018-10-01 (주)유비크마이크로 360도 이미지를 형성할 수 있는 카메라
KR102061152B1 (ko) * 2018-05-24 2020-02-11 (주)네모랩스 증강현실 서비스 제공 시스템 및 이의 360도 회전 이미지 파일 생성 방법
KR102301934B1 (ko) 2019-05-13 2021-09-15 유로프리시젼 주식회사 자동운전 기능을 갖는 수동 연삭기
CN111161148B (zh) * 2019-12-30 2024-01-30 上海闻泰电子科技有限公司 一种全景图像生成方法、装置、设备和存储介质
KR102392631B1 (ko) * 2020-06-10 2022-04-29 중앙대학교 산학협력단 딥매칭을 이용한 콘크리트 구조물 또는 교량의 파노라마 이미지 생성 및 업데이트 시스템, 이의 파노라마 이미지 생성 및 업데이트 방법 및 파노라마 이미지 생성 및 업데이트 프로그램

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101312895B1 (ko) 2007-08-27 2013-09-30 재단법인서울대학교산학협력재단 파노라마 사진 촬영 방법
US10587799B2 (en) 2015-11-23 2020-03-10 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling electronic apparatus thereof
US10992862B2 (en) 2015-11-23 2021-04-27 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling electronic apparatus thereof
KR101914205B1 (ko) * 2016-09-02 2018-11-01 주식회사 씨오티커넥티드 사용자 인터페이스 처리 장치
US11107193B2 (en) 2017-03-06 2021-08-31 Samsung Electronics Co., Ltd. Method and apparatus for processing image
KR102076635B1 (ko) 2018-10-16 2020-02-12 (주)캠시스 산재된 고정 카메라를 이용한 파노라마 영상 생성 장치 및 방법

Also Published As

Publication number Publication date
KR20060056050A (ko) 2006-05-24

Similar Documents

Publication Publication Date Title
KR100614004B1 (ko) 자동화된 360°파노라마 이미지 생성 방법
US7317473B2 (en) Image-based method and system for building spherical panoramas
KR100653200B1 (ko) 기하 정보를 교정하여 파노라마 영상을 제공하는 방법 및장치
US5986668A (en) Deghosting method and apparatus for construction of image mosaics
US5987164A (en) Block adjustment method and apparatus for construction of image mosaics
US9576403B2 (en) Method and apparatus for fusion of images
US7400782B2 (en) Image warping correction in forming 360 degree panoramic images
US6157747A (en) 3-dimensional image rotation method and apparatus for producing image mosaics
US6018349A (en) Patch-based alignment method and apparatus for construction of image mosaics
US7239331B2 (en) Method and apparatus for correction of perspective distortion
CN110782394A (zh) 全景视频快速拼接方法及系统
CN108846796B (zh) 图像拼接方法及电子设备
KR100790887B1 (ko) 영상 처리장치 및 방법
CN107333064B (zh) 一种球形全景视频的拼接方法及系统
CN111866523B (zh) 全景视频合成方法、装置、电子设备和计算机存储介质
US20090059018A1 (en) Navigation assisted mosaic photography
CN108898550B (zh) 基于空间三角面片拟合的图像拼接方法
CN113259642B (zh) 一种影片视角调节方法及系统
CN109785225B (zh) 一种用于图像矫正的方法和装置
CN110796690B (zh) 图像匹配方法和图像匹配装置
JP2011103031A (ja) 透視変換パラメータ生成装置、画像補正装置、透視変換パラメータ生成方法、画像補正方法、及びプログラム
CN116245734A (zh) 全景图像生成方法、装置、设备和存储介质
US9602708B2 (en) Rectified stereoscopic 3D panoramic picture
JPH10208074A (ja) 画像生成方法
CN114529448A (zh) 一种投影拼接方法和系统及设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20120810

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130812

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160819

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190610

Year of fee payment: 14