KR20060056050A - Creating method of automated 360 degrees panoramic image - Google Patents
Creating method of automated 360 degrees panoramic image Download PDFInfo
- Publication number
- KR20060056050A KR20060056050A KR1020040095309A KR20040095309A KR20060056050A KR 20060056050 A KR20060056050 A KR 20060056050A KR 1020040095309 A KR1020040095309 A KR 1020040095309A KR 20040095309 A KR20040095309 A KR 20040095309A KR 20060056050 A KR20060056050 A KR 20060056050A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- images
- camera
- calculating
- panoramic
- Prior art date
Links
Images
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/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- 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/69—Control of means for changing angle of the field of view, e.g. optical zoom objectives or electronic zooming
-
- 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/76—Circuitry 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 뷰어를 통해 보게 되며, 사용자에게 마치 촬영 장소에 서서 주위를 살펴보는 것과 같은 효과를 주게 된다. 본 발명은 아래와 같은 중요한 특징을 가지고 있다. The present invention is a method of generating a wide-angle panoramic image including 360 ° by joining a plurality of pictures taken while rotating the body while fixing the camera in one place. The generated panoramic image is viewed through the panoramic VR viewer, giving the user the same effect as standing around the shooting location and looking around. The present invention has the following important features.
1) 로테이터와 같은 특수 장비 없이 삼각대만을 이용해서 고품질의 360° 파노라마 이미지를 생성할 수 있다.1) High-quality 360 ° panoramic images can be generated using only a tripod without special equipment such as rotators.
2) 렌즈의 초점 거리에 대한 정보를 필요로 하지 않는다.2) No information about the focal length of the lens is needed.
3) 광각 렌즈를 사용할 때 나타나는 이미지 왜곡 현상을 자동으로 보정한다.3) Automatically corrects image distortion that occurs when using wide-angle lenses.
4) 카메라가 지면과 수평을 이루지 않은 상태로 촬영된 사진들도 붙이는 것이 가능하다.4) It is possible to paste pictures taken when the camera is not level with the ground.
5) 사진 붙이기가 자동으로 이루어진다.5) Photo paste is done automatically.
6) 입력 사진들 사이에 존재하는 밝기의 차이를 자동으로 보정한다.6) Automatically corrects differences in brightness between input pictures.
7) 원통(Cylinder) 및 구(Sphere) 투영 파노라마 이미지를 생성한다.7) Generate cylinder and sphere projection panoramic images.
템플리트 매칭, 360°파노라마 이미지, 호모그라피, LM, 8-파라메타, 투영.Template matching, 360 ° panorama images, homography, LM, 8-parameters, projection.
Description
도 1은 본 발명의 실시예에 따른 360° 파노라마 이미지 생성 방법을 도식화한 플로우 챠트.1 is a flowchart illustrating a method of generating a 360 ° panoramic image according to an embodiment of the present invention.
도 2는 파라메타를 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트.2 is a flowchart illustrating a process of calculating parameters in more detail.
도 3은 이미지 사이의 상대적인 카메라 회전각들을 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트.3 is a flow chart illustrating in more detail the process of calculating relative camera rotation angles between images.
도 4는 360° 파노라마 이미지를 생성하는 과정을 구체적으로 도식화한 플로우 챠트.4 is a flowchart specifically illustrating a process of generating a 360 ° panoramic image.
본 발명은 이미지의 생성 방법에 관한 것으로 특히, 자동화된 360°파노라마 이미지 생성 방법에 관한 것이다.The present invention relates to a method for generating an image, and in particular, to an automated 360 ° panoramic image generation method.
파노라믹(Panoramic) VR(Virtual Reality; 가상 공간)을 구축하려면 크게 두 단계를 거쳐야 한다. 첫 번째는 파노라마 이미지를 얻는 단계이고, 두 번째는 파노라믹 VR 뷰어(Viewer)를 통해 전시하는 단계이다. 파노라믹 VR 뷰어는 입력으로 파노라마 이미지를 받고, 사용자가 특정한 시선 방향을 지정해주면, 그 시선 방향으로 보았을 때의 모습을 파노라마 이미지로부터 실시간으로 생성하여 보여준다. To build a Panoramic Virtual Reality (VR) requires two major steps. The first step is to get a panoramic image, and the second step is to display it through a panoramic VR viewer. The panoramic VR viewer receives a panoramic image as input, and if a user specifies a specific gaze direction, the panoramic VR viewer generates a real-time view of the panorama image when viewed in the gaze direction.
최근에 인터넷(Internet) 상에서 파노라믹 VR이 보편화됨에 따라 많은 파노라믹 VR 뷰어가 출연하였다. 현재 많이 사용되고 있는 뷰어들로는 Apple - QuickTime Player, Macromedia - Shockwave Player, PTViewer, Anything3D - Viewer, iSeeMedia - Viewer, Zoomify - Viewer, iPIX - Viewer, MG System - Viewer 등이 있다.Recently, as panoramic VR became popular on the Internet, many panoramic VR viewers appeared. Currently used viewers include Apple-QuickTime Player, Macromedia-Shockwave Player, PTViewer, Anything3D-Viewer, iSeeMedia-Viewer, Zoomify-Viewer, iPIX-Viewer, MG System-Viewer.
이러한 두 단계 중 중요한 쪽은 파노라마 이미지를 얻는 과정이다. 카메라의 위치는 고정시킨 채, 몸체를 회전시켜 가면서 연속적으로 얻은 사진들로부터 파노라마 이미지를 생성하려면 다음의 세 부분이 해결되어야 한다.The important of these two steps is the process of obtaining a panoramic image. To create a panoramic image from successive photographs while rotating the body with the camera fixed, the following three parts must be solved.
첫째, 이웃하는 사진들 사이의 픽셀의 대응 관계를 알아야 한다. (Image Registration)First, you need to know the correspondence of pixels between neighboring pictures. (Image Registration)
둘째, 사진들을 원통 또는 구의 적당한 위치에 투영해야 한다. (Cylindrical / Spherical Projection)Second, the photographs should be projected to the proper position of the cylinder or sphere. (Cylindrical / Spherical Projection)
셋째, 사진들을 원통 또는 구에 투영할 때, 사진들끼리 겹치는 부분이 부드럽게 이어지도록 해야 한다. (Image Blending)Third, when projecting photos into a cylinder or sphere, the overlapping parts of the photos should be smoothly connected. (Image Blending)
초창기에 사용된 방법에서는 사진 촬영 시, 카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 하고(Pure Panning), 카메라 렌즈의 초점 거리는 알고 있다 는 조건하에서만 성립하는 알고리즘을 이용하였다. The method used in the early days used an algorithm that achieved only when the camera was fully panned to the ground while the picture was taken (Pure Panning) and the focal length of the camera lens was known.
렌즈의 초점 거리를 알고 있으면 원 사진을 원통에 투영할 수 있다. 카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 한 경우, 이웃하는 원통 투영 이미지들 사이의 대응 관계는 단지 트렌스레이션(Translation)만으로 정의가 된다. 따라서, 트랜스레이션 양만 알면 이웃하는 원통 투영 이미지들끼리 이어 붙여서 파노라마 이미지를 만드는 것이 가능하게 된다. 이미지들 사이의 트렌스레이션 양은 템플리트 매칭(Template Matching)이라는 방법을 통해 쉽게 획득할 수 있다.Knowing the focal length of the lens allows you to project the original photograph onto the cylinder. When the camera is rotated while being completely horizontal to the ground, the correspondence between neighboring cylindrical projection images is defined only by translation. Thus, knowing only the amount of translation, it is possible to join neighboring cylindrical projection images to create a panoramic image. The amount of translation between the images can be easily obtained through a method called template matching.
하지만, 이러한 방법을 적용하는 데에는 여러 가지 제약 사항들이 따른다. 우선, 렌즈의 초점 거리를 정확하게 알아야 한다. 그리고, 카메라가 지면과 완전히 수평을 이룬 상태에서 회전을 한 경우만을 허용하므로 로테이터(Rotator) 같은 특수 장비가 없으면 촬영하기가 어렵다. However, there are a number of limitations to this approach. First, you need to know the focal length of the lens accurately. In addition, since the camera is allowed to rotate only when the camera is completely level with the ground, it is difficult to shoot without special equipment such as a rotator.
또한, 카메라의 틸팅(Tilting)은 허용하지 않으므로 단일 열(Single Row)로 촬영된 파노라마 이미지만을 얻을 수 있다. 이러한 문제점들을 극복하기 위하여 렌즈의 초점 거리를 모르고, 카메라의 회전(Panning) 뿐만 아니라 틸팅이 존재하더라도 사진들을 붙일 수 있는 방법들을 개발하게 되었다.In addition, since tilting of the camera is not allowed, only a panorama image photographed in a single row may be obtained. In order to overcome these problems, they have not developed the focal length of the lens, and have developed methods for attaching pictures even when there is tilting as well as the camera's panning.
카메라의 위치는 고정된 채, 회전만을 통해서 얻은 두 이미지 사이에는 3×3의 행렬에 의해 정의되는 평면 투영 변환(Planar Projective Transformation) 관계가 있다. 투영 변환(Projective Transformation)은 스케일에 상관없이 정의되므로, 투영 변환 행렬은 8개의 파라메타로 구성되는데, 이것을 8-파라메타 호모그라피(8-Parameter Homography)라고 부른다.With the camera's position fixed, there is a Planar Projective Transformation relationship defined by a 3x3 matrix between the two images obtained through rotation only. Since Projective Transformation is defined regardless of scale, the Projection Transformation Matrix consists of eight parameters, which is called 8-Parameter Homography.
지금까지 개발된 호모그라피를 구하는 방법은 다음과 같이 크게 두 부류로 나뉘어 진다.The methods for obtaining homographies developed so far are divided into two categories.
그 첫 번째가 픽셀의 강도를 기반으로 한 방식(Pixel Intensity Based Method)으로, 이미지 사이의 겹치는 부분에서 픽셀들의 밝기 차이의 평균값이 최소가 되는 호모그라피(Homography)를 비선형 최소화(Nonlinear Minimization) 방법을 이용하여 구한다. 이 방식은 겹치는 영역의 픽셀들을 모두 이용하므로 텍스쳐(Texture)나 특징점(Feature Point)들이 적더라도 잘 동작하는 장점이 있으나, 계산 량이 많다는 단점이 있다.The first is the Pixel Intensity Based Method, which uses a method of nonlinear minimization that minimizes homography, which minimizes the average difference in brightness between pixels in overlapping images. Obtain by using This method uses all the pixels in the overlapping area, so it works well even if there are few textures or feature points, but it has a disadvantage in that a large amount of calculation is required.
두 번째가 특징을 기반으로 한 방식(Feature Based Method)으로, 이론적으로 8-파라메타 호모그라피는 4개 이상의 이미지 포인트 대응 쌍이 주어지면 구할 수 있다. 이미지들로부터 코너 포인트와 같은 특징 점들을 추출하고, 이미지 사이의 특징점들의 대응 관계를 구한 후, 이것을 이용하여 호모그라피를 구한다. 이 방식은 속도가 빠르다는 장점은 있으나, 특징점들이 적을 경우에는 정확도가 떨어진다.The second is the Feature Based Method. In theory, 8-parameter homography can be obtained given four or more image point correspondence pairs. After extracting feature points such as corner points from the images, and obtaining a corresponding relationship between the feature points between the images, a homograph is obtained using this. This method has the advantage of being fast but lacks accuracy when there are few feature points.
이미지 사이의 호모그라피를 구하였으면, 그것으로부터 초점거리와 카메라의 상대적인 회전각을 구하는 것이 가능하다. 이것을 카메라 자동 교정(Camera Auto-Calibration)이라고 한다. 초점거리와 카메라의 회전각을 알면, 원통 또는 구의 적당한 위치에 사진들을 투영하는 것이 가능하게 된다.Once the homography between the images has been obtained, it is possible to find the focal length and the relative rotation angle of the camera from it. This is called Camera Auto-Calibration. Knowing the focal length and the angle of rotation of the camera, it becomes possible to project the pictures in the proper position of the cylinder or sphere.
단일 열이 아닌 다중 열(Multi-Row)로 촬영된 사진들로부터 파노라마 이미지를 생성하는 경우, 2장 이상의 이미지들이 겹치는 영역이 발생하게 된다. 이런 경우 이미지 레지스트레이션 에러(Image Registration Error)가 누적되어 제대로 된 결과물을 얻기 힘들어지는데, 이러한 누적 에러를 줄이기 위해 글로벌 레지스트레이션(Global Registration) 방법이 개발되었다. 360° 파노라마 이미지를 생성하는 경우에도 유사한 문제가 발생한다. 이웃하는 이미지들 사이에는 비교적 정확하게 레지스트레이션(Registration)을 했더라도 에러가 누적이 되면 첫 번째 이미지와 마지막 이미지가 정확하게 레지스트레이션되지 않는다. 이런 경우에도 글로벌 레지스트레이션 방법을 이용해 해결하기도 한다. When a panoramic image is generated from photographs taken in multi-row rather than a single row, an area where two or more images overlap is generated. In this case, image registration errors accumulate and it is difficult to obtain proper results. A global registration method has been developed to reduce such accumulation errors. Similar problems arise when generating 360 ° panoramic images. Even if registration is relatively accurate between neighboring images, if an error accumulates, the first and last images may not be correctly registered. In this case, the global registration method is used to solve the problem.
본 발명은 상기한 종래기술의 문제점을 해결하기 위해 제안된 것으로서, 로테이터와 같은 특수 장비 없이 삼각대만을 이용해서 고품질의 360도 파노라마 이미지를 생성할 수 있고, 렌즈의 초점 거리에 대한 정보를 필요로 하지 않으며, 광각 렌즈를 사용할 때 나타나는 이미지 왜곡 현상을 자동으로 보정할 수 있으며, 카메라가 지면과 수평을 이루지 않은 상태로 촬영된 사진들도 붙이는 것이 가능하며, 입력 사진들 사이에 존재하는 밝기의 차이를 자동으로 보정하며, 원통(Cylinder) 및 구(Sphere) 투영 파노라마 이미지를 생성할 수 있는 자동화된 360°파노라마 이미지 생성 방법을 제공하는 것을 그 목적으로 한다.
The present invention is proposed to solve the above problems of the prior art, it is possible to generate a high-quality 360-degree panoramic image using only a tripod without special equipment such as rotator, does not require information about the focal length of the lens It can automatically correct image distortion that occurs when using a wide-angle lens.It is also possible to paste pictures taken when the camera is not level with the ground, and to detect differences in brightness between input pictures. It is an object of the present invention to provide an automated 360 ° panoramic image generation method that can automatically correct and generate cylindrical and spherical projection panoramic images.
상기의 목적을 달성하기 위해 본 발명은, 360° 방향으로 복수의 사진을 촬영하는 단계; 촬영된 상기 복수의 사진으로부터 선택된 임의의 이웃하는 사진 한 쌍을 이용하여 카메라의 초점거리와 왜곡률 및 두 이미지 사이의 회전각으로 이루어진 파라메타를 산출하는 단계; 상기 산출된 파라메타를 이용하여 각각의 이웃하는 사진 쌍으로부터 이미지 사이의 상대적인 카메라 회전각들을 산출하는 단계; 상기 이미지 사이의 상대적인 회전각들을 이용하여 각 이미지에 대응하는 카메라 파라메타를 계산하는 단계; 상기 카메라 파라메타를 이용하여 이웃하는 이미지 사이의 밝기 차이를 보정하는 단계; 밝기 차이가 보정된 각 이미지를 단일 원통에 투영하는 단계; 상기 투영 결과, 겹치는 영역에서 이미지 블랜딩을 실시하여 미완성 파노라마 이미지를 형성하는 단계; 사진 열의 첫 번째 이미지를 이용하여 원통 투영 이미지를 생성하는 단계; 및 상기 원통 투영 이미지와 상기 미완성 파노라마 이미지를 이용하여 360° 파노라마 이미지를 생성하는 단계를 포함하는 360°파노라마 이미지 생성 방법을 제공한다.In order to achieve the above object, the present invention comprises the steps of taking a plurality of pictures in a 360 ° direction; Calculating a parameter consisting of a focal length and a distortion ratio of a camera and a rotation angle between two images using any pair of neighboring photographs selected from the plurality of photographed photographs; Calculating relative camera rotation angles between images from each neighboring photo pair using the calculated parameter; Calculating camera parameters corresponding to each image using relative rotation angles between the images; Correcting the difference in brightness between neighboring images using the camera parameter; Projecting each image whose brightness difference is corrected to a single cylinder; As a result of the projection, performing image blending in an overlapping region to form an unfinished panoramic image; Generating a cylindrical projection image using the first image of the photographic column; And generating a 360 ° panoramic image using the cylindrical projection image and the unfinished panoramic image.
본 발명은, 렌즈 왜곡 현상을 고려하고, 카메라 틸트를 고려하며, 페어 와이어 국보적인 방식을 이용하여 이미지 레지스트레이션을 수행한다. 또한, 입력 사진들 사이에 존재하는 밝기 차이를 자동으로 보정하며, 360°파노라마 이미지를 생성한다.The present invention considers lens distortion, considers camera tilt, and performs image registration using a pair wire national method. It also automatically corrects for differences in brightness between input pictures and generates 360 ° panoramic images.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 보다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can more easily implement the present invention.
도 1은 본 발명의 실시예에 따른 360° 파노라마 이미지 생성 방법을 도식화한 플로우 챠트로서, 이를 참조하여 파노라마 이미지 생성 과정을 살펴본다.1 is a flowchart illustrating a 360 ° panoramic image generating method according to an exemplary embodiment of the present invention, and looks at the panoramic image generating process with reference to the flowchart.
먼저, 파노라마 이미지를 생성하기 위해 360° 방향으로 복수의 사진을 촬영한다(S101). 촬영된 사진들로부터 임의의 이웃하는 사진 한 쌍을 선택한 후, 선택된 임의의 이웃하는 사진 한 쌍을 이용하여 파라메타를 산출한다(S102). 파라메타는 카메라의 초점거리와 왜곡률 및 두 이미지 사이의 회전각을 포함한다.First, in order to generate a panoramic image, a plurality of pictures are taken in a 360 ° direction (S101). After selecting a random pair of neighboring pictures from the photographed pictures, a parameter is calculated using the selected random pair of neighboring pictures (S102). The parameters include the focal length and distortion of the camera and the angle of rotation between the two images.
산출된 파라메타를 이용하여 각각의 이웃하는 사진 쌍으로부터 이미지 사이의 상대적인 카메라 회전각들을 산출한다(S103). 이미지 사이의 상대적인 회전각들을 이용하여 각 이미지에 대응하는 카메라 파라메타를 계산한다(S104).Using the calculated parameters, relative camera rotation angles between images from each neighboring photo pair are calculated (S103). The camera parameter corresponding to each image is calculated using the relative rotation angles between the images (S104).
카메라 파라메타를 이용하여 이웃하는 이미지 사이의 밝기 차이를 보정한다(S105). 이어서, 밝기 차이가 보정된 각 이미지를 단일 원통에 투영한다(S106).The difference in brightness between neighboring images is corrected using the camera parameter (S105). Subsequently, each image whose brightness difference is corrected is projected onto a single cylinder (S106).
상기 투영 결과, 겹치는 영역에서 이미지 블랜딩을 실시하여 미완성 파노라마 이미지를 형성한다(S107). 사진 열의 첫 번째 이미지를 이용하여 원통 투영 이미지를 생성한 후(S108), 원통 투영 이미지와 미완성 파노라마 이미지를 이용하여 360° 파노라마 이미지를 생성한다(S109).As a result of the projection, image blending is performed in an overlapping area to form an unfinished panorama image (S107). After generating a cylindrical projection image using the first image of the photo row (S108), a 360 ° panoramic image is generated using the cylindrical projection image and the unfinished panoramic image (S109).
도 2는 파라메타를 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트이다.2 is a flowchart illustrating a process of calculating a parameter in more detail.
도 2를 참조하면, 파라메타를 산출하는 단계는, 임의의 이웃하는 사진 한 쌍에 대해 템플리트 매칭(Template matching)을 통한 두 이미지 사이의 트랜스레이션(Translation) 양을 계산하는 단계(S201)와, LM(Levenberg-Marquardt) 최소화를 통 한 두 이미지 사이의 회전각을 계산하는 단계(S202)와, LM 최소화를 통한 렌즈의 왜곡률 및 두 이미지 사이의 8-파라메타 호모그라피(Homography)를 계산하는 단계(S203)와, 카메라 자동 교정(Camera auto-calibration)을 통한 카메라의 초점거리를 계산하는 단계(S204)로 이루어진다.Referring to FIG. 2, the calculating of the parameter may include calculating an amount of translation between two images through template matching with respect to any pair of neighboring pictures (S201) and LM (Levenberg-Marquardt) minimizing the angle of rotation between the two images through the minimization (S202), and calculating the distortion of the lens through the LM minimization and 8-parameter Homography between the two images (S203) And calculating a focal length of the camera through camera auto-calibration (S204).
도 3은 이미지 사이의 상대적인 카메라 회전각들을 산출하는 과정을 보다 구체적으로 도식화한 플로우 챠트이다.3 is a flowchart illustrating in more detail a process of calculating relative camera rotation angles between images.
도 2를 참조하면, 이미지 사이의 상대적인 카메라 회전각들을 산출하는 단계는, 산출된 파라메타를 이용하여 각각의 이웃하는 사진 쌍으로부터 렌즈 왜곡이 보정된 이미지를 생성하는 단계(S301)와, 렌즈 왜곡이 보정된 이미지를 이용하여 원통 투영 이미지를 생성하는 단계(S302)와, 이미지 회전 후, 템플리트 매칭을 통한 두 이미지 사이의 트랜스레이션 양을 계산하는 단계(S303)와, LM 최소화를 통한 두 이미지 사이의 3-파라메타 호모그라피를 계산하는 단계(S304)로 이루어진다.Referring to FIG. 2, calculating relative camera rotation angles between images may include generating an image in which lens distortion is corrected from each neighboring pair of photographs using the calculated parameters (S301), Generating a cylindrical projection image using the corrected image (S302), and after image rotation, calculating the amount of translation between the two images through template matching (S303), and between the two images through LM minimization Computing the three-parameter homography (S304).
도 4는 360° 파노라마 이미지를 생성하는 과정을 구체적으로 도식화한 플로우 챠트이다.4 is a flowchart specifically illustrating a process of generating a 360 ° panoramic image.
도 4를 참조하면, 360° 파노라마 이미지를 생성하는 단계는, 원통 투영 이미지와 미완성 파노라마 이미지를 이용하여 템플리트 매칭을 통한 두 이미지 사이의 트랜스레이션 양을 계산하는 단계(S401)와, 이미지 합체 후 절단하는 단계(S402)로 이루어진다.Referring to FIG. 4, the step of generating a 360 ° panoramic image includes calculating a translation amount between two images through template matching using a cylindrical projection image and an unfinished panoramic image (S401), and cutting after merging the images. It consists of a step (S402).
한편, 템플리트 매칭 및 LM 최소화의 수행 시 계산량을 줄이기 위해 이미지 피라미드를 이용한다.On the other hand, the image pyramid is used to reduce the computation amount when performing template matching and LM minimization.
이하에서는 상기한 본 발명의 360°파노라마 이미지 생성 과정을 수학식을 이용하여 구체적으로 살펴본다.Hereinafter, the 360 ° panorama image generation process of the present invention will be described in detail by using an equation.
렌즈에 의한 왜곡이 없는 일반적인 카메라에 의하여 3차원 공간상의 점 X=(X,Y,Z)이 2차원의 이미지 면에 투영되어 얻어진 점을 x=(x,y)라고 하면, X와 x와의 관계는 하기의 수학식1 및 수학식2와 같이 모델링될 수 있다.Speaking of points X = (X, Y, Z) points obtained are projected onto the image plane of the two-dimensional x = (x, y) on the three-dimensional space by a standard camera without distortion caused by the lens, with the X and x The relationship may be modeled as in Equations 1 and 2 below.
여기에서 u는 x를 단일 좌표(Homogeneous Coordinates)로 표시한 벡터이고, K는 카메라 교정 행렬(Camera Calibration Matrix)로써, 카메라 좌표계 상에서 3D(3차원) 포인트와 그것이 투영되어 얻어진 이미지 면에서의 2D(2차원) 포인트와의 관계를 나타내고, R과 t는 카메라의 회전 행렬(Rotation Matrix)과 트렌스레이션 벡터(Translation Vector)로써, 월드 좌표계와 카메라 좌표계 사이의 변환 관계 를 나타낸다. 행렬 K에 포함되어 있는 파라메타들을 카메라의 내부 파라메타(Internal Parameter)라고 부르는데, f는 초점거리(Focal Length), a는 픽셀의 종횡비(Aspect Ratio), s는 스큐(Skew), (xc,yc)는 주된 점(Principal Point)를 나타낸다.Where u is a vector representing x in Homogeneous Coordinates, K is a Camera Calibration Matrix, which is a 3D (three-dimensional) point on the camera coordinate system and the 2D ( 2D) represents a relationship with a point, and R and t are a rotation matrix and a translation vector of a camera, and represent a transformation relationship between a world coordinate system and a camera coordinate system. Parameters contained in matrix K This parameter is called an internal parameter, where f is the focal length, a is the aspect ratio of the pixels, s is the skew, and (x c , y c ) is the principal point. .
이제 카메라의 투영 중심(Projection Center)를 고정시키고 카메라를 일정량만큼 회전시킨 후에 얻은 이미지 I1과 회전시키기 전에 얻은 이미지 I0 사이의 픽셀의 대응 관계에 대해 알아본다. Now let's look at the correspondence of the pixels between the image I 1 obtained after fixing the projection center of the camera and rotating the camera by a certain amount and the image I 0 obtained before the rotation.
회전하기 전의 카메라의 회전 행렬과 트렌스레이션를 각각 R0와 t0라고 하고, 회전한 후의 것을 R1, t1이라고 한다. 편의상 카메라의 투영 중심을 월드 좌표계의 원점과 일치시키면, t0=t1=0가 된다. 3차원 공간상의 한 점 X가 I0와 I1에 투영되어 얻어진 점의 단일 벡터(Homogeneous Vector)를 각각 u0와 u1이라고 하면, 이들은 하기의 수학식3과 같은 관계를 갖는 것을 알 수 있다.The rotation matrix and the translation of the camera before the rotation are called R 0 and t 0 , respectively, and the one after the rotation is called R 1 , t 1 . For convenience, if the projection center of the camera coincides with the origin of the world coordinate system, t 0 = t 1 = 0. If a single point X in a three-dimensional space is projected onto I 0 and I 1 , and a single vector (Homogeneous Vector) is u 0 and u 1 , respectively, it can be seen that they have a relationship as shown in Equation 3 below. .
즉, 카메라를 회전시켜서 얻은 두 이미지 사이의 픽셀의 대응 관계는 3 × 3의 행렬 H에 의해 표현되는데, 이것을 평면적인 호모그라피(Planar Homography)라고 한다. 단일 벡터에 0이 아닌 임의의 실수를 곱하더라도 그것에 대응되는 이미지 포인트는 같다는 점을 고려하면, H 또한 스케일에 상관없이 정의된다는 것을 알 수 있다. 따라서, 평면적인 호모그라피는 9개가 아닌 8개의 파라메타에 의해 정의된다. 실제로 H=KR01K-1에서 K에 포함되어 있는 파라메타 수는 5개이고, R01에 포함되어 있는 파라메타 수는 3개(하기의 수학식4 참조)이므로, H를 구성하는 독립적인 파라메타 수는 8개가 됨을 알 수 있다. 이러한 호모그라피를 8-파라메타 호모그라피라고 한다.That is, the correspondence of the pixels between two images obtained by rotating the camera is represented by a matrix H of 3 × 3, which is called planar homomography. Considering that even if a single vector is multiplied by any real number other than zero, it can be seen that H is also defined regardless of scale. Thus, planar homography is defined by eight parameters rather than nine. In fact, since H = KR 01 K -1 , the number of parameters included in K is 5, and the number of parameters included in R 01 is 3 (see Equation 4 below), so the number of independent parameters constituting H is It can be seen that there are eight. Such homography is called 8-parameter homography.
두 이미지가 주어졌을 때, 두 이미지 사이의 픽셀의 대응 관계 H를 알아내는 것을 이미지 레지스트레이션이라고 한다. H는 일반적으로 4개 이상의 대응점이 주어지면 구할 수 있으나, 정확한 H를 구하기 위해서는 세심한 주의가 필요하다.Given two images, finding the correspondence H of the pixels between the two images is called image registration. H can usually be obtained if four or more correspondences are given, but care must be taken to obtain an accurate H.
이제 좀 더 단순화 된 모델에 대해 알아본다. 판매되고 있는 대부분의 카메라는 다음의 조건을 만족한다.Now let's look at a more simplified model. Most cameras on sale meet the following conditions.
1) 픽셀들은 대부분 정사각형 픽셀(Square Pixel)이므로 픽셀의 종횡비는 a=1을 만족한다.1) Most of the pixels are square pixels, so the aspect ratio of the pixels satisfies a = 1.
2) 이미지 면을 이루는 CCD(Charge Coupled Device) 셀들은 대부분 직각으로 배치가 되므로 스큐 성분은 s=0를 만족한다.2) Since most of the CCD (Charge Coupled Device) cells forming the image plane are arranged at right angles, the skew component satisfies s = 0.
3) 카메라의 광축(Optical Axis)은 CCD 어레이(Array)의 중심을 통과한다고 가정해도 무방하므로 주된 점 (xc,yc)는 이미지의 중심과 일치한다고 본다.3) The optical axis of the camera can be assumed to pass through the center of the CCD array, so the main point (x c , y c ) coincides with the center of the image.
따라서, 단순화된 모델에서는 H에 포함된 독립적인 파라메타의 수는 4개(초점거리 f와 R01에 포함된 3개의 회전 각)가 되는데, 이것을 4-파라메타 호모그라피 라고 한다.Thus, in the simplified model, the number of independent parameters included in H is four (the focal length f and the three rotation angles included in R 01 ), which is called 4-parameter homography.
참고로 일반적인 회전 행렬 R은 하기의 수학식4와 같이 분해된다.For reference, the general rotation matrix R is decomposed as shown in Equation 4 below.
여기에서 R(Ψ), R(Θ), R(Φ)는 각각 X, Y, Z축을 중심으로 한 회전 변환을 나타내는 행렬이며, Ψ, Θ, Φ를 율러 각(Euler Angle)이라고 한다.Here, R (Ψ), R (Θ), and R (Φ) are matrices representing rotational transformations around the X, Y, and Z axes, respectively, and Ψ, Θ, and Φ are referred to as Euler Angles.
단순화된 모델에서 평면 호모그라피(Planar Homography) H가 주어졌을 때, K와 R을 구하는 방법은 하기의 수학식들을 통해 표현할 수 있다. 행렬 K는 하기의 수학식5와 같이 같이 분해될 수 있다.Given Planar Homography H in a simplified model, K and R can be expressed by the following equations. The matrix K may be decomposed as shown in Equation 5 below.
수학식5를 수학식3에 대입하면 수학식6과 같이 된다.Substituting Equation 5 into Equation 3 results in Equation 6.
따라서, R은 하기의 수학식7과 같이 표현된다.Therefore, R is expressed as in Equation 7 below.
행렬 R은 직교 행렬(Orthogonal Matrix)이므로 하기의 수학식8을 만족한다.Since the matrix R is an orthogonal matrix, the following equation 8 is satisfied.
수학식8로부터 f를 구한 후, 수학식7에 대입하여 R을 구할 수 있다.After f is obtained from Equation 8, R can be obtained by substituting Equation 7.
한편, 실제로 H로부터 f와 R을 구하는데 있어서, 다음과 같은 주의가 필요하다.On the other hand, in obtaining f and R from H, the following caution is required.
1) H가 스케일에 상관없이 주어지므로, 수학식7로부터 R을 구한 후, RRT=I가 되도록 R의 스케일 값을 조정해야 한다.1) Since H is given regardless of scale, after calculating R from Equation 7, the scale value of R should be adjusted so that RR T = I.
2) 주어진 H가 4-파라메타 호모그라피 모델을 만족하지 않는 경우에는 수학식7을 통해 구한 R은 정확하게 직교 행렬이 되지 않는다. 따라서, 일차적으로 구한 R로부터 SVD(Singular Value Decomposition)를 이용해 근사화된 직교 행렬을 구해야 한다.2) If the given H does not satisfy the four-parameter homography model, R obtained through Equation 7 is not an orthogonal matrix. Therefore, an orthogonal matrix approximated using Singular Value Decomposition (SVD) must be obtained from the first obtained R.
이상에서 언급한 카메라 모델에는 렌즈에 의한 왜곡 현상은 고려되어 있지 않다. 현실적으로 360° 파노라마 영상을 얻기 위하여 촬영 시 광각 렌즈를 많이 사용하기 때문에, 렌즈 왜곡 현상을 고려해야만 보다 넓은 범위에서 알고리즘의 적용이 가능하다. (xd,yd)를 원 이미지(즉, 렌즈 왜곡이 있는 이미지)에서의 픽셀의 좌표라고 하고, (xd,yd)를 렌즈 왜곡이 제거된 이미지에서의 대응되는 픽셀 좌표라고 한다. 그리고, (xc,yc)를 원 이미지의 중심 좌표라고 하면, (xd,yd )이 주어졌을 때, (xu,yu)는 하기의 수학식9와 같다.The camera model mentioned above does not take into account the distortion caused by the lens. Since a wide angle lens is often used to capture a 360 ° panoramic image in reality, it is necessary to consider the lens distortion phenomenon to apply the algorithm in a wider range. (x d , y d ) is called the coordinate of the pixel in the original image (ie, the image with lens distortion), and (x d , y d ) is called the corresponding pixel coordinate in the image from which the lens distortion has been removed. If (x c , y c ) is the center coordinate of the original image, (x d , y d ) is given by (x u , y u ) as shown in Equation 9 below.
여기에서 K1, K2를 방사 왜곡 계수(Radial Distortion Coefficients)라고 한다. 대부분의 경우 첫 번째 방사 왜곡 계수 항만 고려해도 충분하므로 K=K1이라고 하면, 수학식9는 하기의 수학식10과 같이 간략화 된다.Here, K 1 and K 2 are referred to as radial distortion coefficients. In most cases, considering only the first radiation distortion coefficient term, it is sufficient to assume that K = K 1 , and Equation 9 is simplified as in Equation 10 below.
반대로 (xu, yu)이 주어졌을 때, (xd,yd)는 하기의 수학식11과 같다.On the contrary, when (x u , y u ) is given, (x d , y d ) is represented by Equation 11 below.
여기에서, rd는 K와 하기의 수학식12와 같으며, Here, r d is equal to K and Equation 12 below,
h(K)와 하기의 수학식13과 같으므로,Since h (K) and the same as Equation 13 below,
ru는 (xc,yc) 및 (xu,yu)와 하기의 수학식14와 같은 관계를 갖는다.r u has a relationship with (x c , y c ) and (x u , y u ) as shown in Equation 14 below.
이하에서는 카메라 파라메타를 추출한다(Camera Parameter Extraction).Hereinafter, camera parameter extraction (Camera Parameter Extraction).
사용자가 촬영한 사진들이 입력으로 주어지면, 파노라마 이미지 생성 도구는 임의의 이웃하는 한 쌍의 사진들을 가지고 이미지 레지스트레이션을 수행하여 8-파라메타 호모그라피 H와 방사 왜곡 계수 K를 구한 후, H로부터 수학식8을 이용하여 초점거리 f를 구한다. Given the photographs taken by the user as input, the panoramic image generation tool performs image registration with any neighboring pair of photographs to find the 8-parameter homography H and the radiation distortion coefficient K, and then Find the focal length f using 8.
사진 촬영 시, 중간에 렌즈를 교환하거나 줌잉(Zooming)을 하는 경우는 없다고 가정하면, f와 K값은 고정되기 때문에 임의의 한 쌍의 이미지에서 구한 f와 K를 모든 이미지에 공통적으로 적용해도 무방하다. Assuming that no lens is changed or zoomed in the middle of taking a picture, the f and K values are fixed. Therefore, the f and K obtained from any pair of images may be applied to all images in common. Do.
본 발명에서 사용하는 이미지 레지스트레이션 방법은 다음과 같다.The image registration method used in the present invention is as follows.
주어진 한 쌍의 이미지에서 첫 번째 것을 I0, 두 번째 I1것을 이라고 한다. 또한, I0에 속하는 임의의 픽셀 x=(x,y)에 대응하는 I1의 픽셀의 좌표를 x^ =(x^,y^)라고 한다. 그리고, x를 x^으로 변환시키는 평면 호모그라피 H는 하기의 수학식15와 같이 표시된다.In a given pair of images, the first one is called I 0 and the second one is called I 1 . Further, as any pixel x = (x, y) the pixel coordinates of the I 1 x ^ = (x ^ , y ^) corresponding to belonging to I 0. The planar homograph H that converts x into x ^ is expressed by Equation 15 below.
H가 스케일에 상관없이 정의되기 때문에, H의 마지막 요소를 1로 놓았다. 만약, 렌즈 왜곡이 없다고 가정하고 x의 단일 좌표계를 (x,y,1)로 놓으면, x와 x^의 대응 관계는 수학식3을 이용하여 하기의 수학식16으로 표현할 수 있다.Since H is defined regardless of scale, the last element of H is set to 1. If it is assumed that there is no lens distortion, and a single coordinate system of x is set to (x, y, 1), the corresponding relationship between x and x ^ may be expressed by Equation 16 using Equation 3 below.
H를 구하기 위하여, 하기의 수학식17과 같이 정의되는 비용 함수(Cost Function) e를 고려한다.In order to find H, a cost function e defined as in Equation 17 below is considered.
여기에서 R은 I0와 I1 사이의 겹치는 영역을 나타내고, NR은 R에 속하는 픽셀의 수를 나타내며, I(x,y)는 이미지 I에서 (x,y)의 위치에 존재하는 픽셀의 밝기 값을 나타낸다. Where R represents an overlapping region between I 0 and I 1 , N R represents the number of pixels belonging to R, and I (x, y) is the number of pixels present at the position (x, y) in image I Indicates the brightness value.
그러면, 비용 함수 e를 최소화하는 H를 구하고자 하는 최적의 H라고 본다. 3차원 공간상의 한 점이 서로 다른 이미지로 투영되어 얻어진 픽셀들은 모두 같은 밝기를 갖는다고 가정하면, 위에서 제시한 비용 함수 e를 최소화하는 H가 찾고자 하는 최적의 H가 되는 것은 타당하다. Then, we consider the optimal H to find H that minimizes the cost function e. Assuming that the pixels obtained by projecting a point in three-dimensional space into different images all have the same brightness, it is reasonable that H, which minimizes the cost function e presented above, becomes the optimal H to find.
적당한 H의 초기값이 주어졌을 때, 수치 해석적인 비선형 최소화 방법을 이용하여 e를 최소화하는 H를 구할 수 있는데, 대표적으로 Levenberg-Marquardt 최소화 방법이 있다.Given an initial initial value of H, we can find H to minimize e using a numerical nonlinear minimization method, typically Levenberg-Marquardt minimization. There is a way.
참고로, Levenberg-Marquardt (이하 LM이라 함) 최소화 방법은 뉴튼 최소화(Newton Minimization) 방법을 약간 변형한 방법이다. For reference, Levenberg-Marquardt (hereinafter referred to as LM) minimization method is a slight modification of the Newton Minimization method.
이하에서는, 뉴튼 최소화 방법을 간략하게 살펴 본다.In the following, we briefly look at the Newton minimization method.
최소화하고자 하는 비용 함수 e가 하기의 수학식18과 같은 형태로 주어졌다고 가정한다.It is assumed that the cost function e to be minimized is given in the following formula (18).
여기에서 m=(m1,....,mM)은 파라메타 벡터(Parameter Vector)이다. 현재 주어진 파라메타 벡터의 m0값을 라고 할 때,Where m = (m 1 , ...., m M ) is a parameter vector. Given the m 0 value of the currently given parameter vector,
수학식19를 만족하는 벡터 Δm을 찾았다고 가정하면, m0를 m0←m0 + Δm으로 갱신한 후, 다시 수학식19를 만족하는 Δm을 찾는 것을 반복하면, 결국 e의 국부적인 최소값(Local Minimum)에 도달하게 될 것이다. Δm을 찾는 여러 가지 방법이 있지만, 뉴튼 최소화 방법에서는 다음과 같은 방식으로 찾는다.Assuming that we find a vector Δm that satisfies Eq. (19), if we update m 0 to m 0 ← m 0 + Δm and then repeat looking for Δm that satisfies (19), we end up with a local minimum of e ( Local Minimum) will be reached. There are many ways to find Δm, but the Newton minimization method looks like this:
e(m0 + Δm)을 m0 주위에서 테일러 시리즈(Taylor Series)로 1차 항까지만 전개하면 하기의 수학식20과 같이 근사화 될 수 있다.If e (m 0 + Δm) is expanded only to the first term in the Taylor Series from around m 0 , it can be approximated by Equation 20 below.
여기에서 행렬 J(m)을 야코비안 행렬(Jacobian Matrix)이라고 부르고, 하기의 수학식21과 같이 주어진다.Here, the matrix J (m) is called a Jacobian matrix and is given by Equation 21 below.
뉴튼 최소화 방법에서는 ||e(m0) + J(m0)Δm||을 최소화하는 Δm을 찾는 바, Δm은 하기의 수학식22와 같이 주어진다.The Newton minimization method finds Δm which minimizes || e (m 0 ) + J (m 0 ) Δm ||, where Δm is given by Equation 22 below.
여기에서 J=J(m0)이고, J+를 J의 의사 역(Pseudo-Inverse)이라고 한다.Here J = J (m 0 ), J + is called Pseudo-Inverse of J.
수학식22에서 A=JTJ라고 하고, aij를 행렬 A의 (i,j)에 위치하는 요소라고 하면, LM 최소화 방법에서는 행렬 A를 하기의 수학식23과 같이 주어지는 행렬 A^으로 교체한다.If A = J T J in Equation 22 and a ij is an element located in (i, j) of the matrix A, the LM minimization method replaces the matrix A with the matrix A ^ given by Equation 23 below. do.
λ의 초기 값은 보통 10-3으로 설정한다. 만약, 현재 설정된 λ 값을 이용하여 Δm을 구한 결과, e의 값이 줄어들었다면 λ ← 0.1λ로 갱신하고, e의 값이 늘어났다면 λ ← 10λ로 갱신한다. λ 값이 매우 작아지면, LM 최소화 방법은 뉴튼 최소화 방법과 유사하게 되고, λ 값이 매우 커지면, LM 최소화 방법은 구배에 맞는 최소화(Gradient Decent Minimization) 방법과 유사하게 됨을 관찰할 수 있다. 일반적으로, LM 최소화 방법은 뉴튼 최소화 방법보다 수렴 속도가 빠르며 안정적으로 동작하는 것으로 알려져 있다.The initial value of λ is usually set to 10 −3 . If Δm is calculated using the currently set λ value, the value of e is decreased to λ ← 0.1λ, and if the value of e is increased, it is updated to λ ← 10λ. When the lambda value becomes very small, the LM minimization method becomes similar to the Newton minimization method, and when the lambda value is very large, it can be observed that the LM minimization method becomes similar to the gradient decent minimization method. In general, the LM minimization method is known to operate faster and more stably than the Newton minimization method.
LM 최소화 방법을 이용하여 수학식17을 최소화하려면, 수학식21의 야코비안 행렬을 구해야 한다. J의 (i,j)에 위치하는 Jij라고 하면, 요소를 체인 룰(Chain rule)에 의하여 하기의 수학식24와 같이 주어진다.In order to minimize the equation 17 using the LM minimization method, the Jacobian matrix of the equation 21 should be obtained. Suppose J ij located at (i, j) of J, the element is given by the following equation (24) by a chain rule.
여기에서 는 의 위치에서 I1의 구배(gradient)가 된다.From here Is It is a gradient of I 1 at the position of.
본 발명에서는 렌즈 왜곡을 고려한 이미지 레지스트레이션 방법을 제공하는 바, 렌즈 왜곡 현상을 고려하려면 수학식16과 수학식17은 각각 수학식25와 수학식26으로 바뀌어야 한다.The present invention provides an image registration method considering lens distortion. To consider the lens distortion phenomenon, Equations 16 and 17 should be changed to Equations 25 and 26, respectively.
여기에서 (xd,yd) ↔ (xu,yu)의 변환 관계(또는 (x^d ,y^d) ↔ (x^u,y^u))는 수 학식10과 수학식11에서 주어진 것과 같다.Where (x d , y d ) ↔ (x u , y u ) is the conversion relationship (or (x ^ d , y ^ d ) ↔ (x ^ u , y ^ u )) As given in
참고로, 수학식24에서 (또는 )를 구하는데 있어서, 분석적인(Analytic) 방법에 의하여 의 일반적인 형태를 얻기 힘들면, 수식적인(Numerical) 방법에 의하여 구해야만 한다. For reference, in Equation 24 (or ), By an analytical method If the general form of is difficult to obtain, it must be obtained by a numerical method.
일반적으로 함수 f(x)가 주어졌을 때, x=x0 에서 df/dx는 하기의 수학식27과 같이 근사화 될 수 있다.In general, given a function f (x), df / dx at x = x 0 can be approximated as shown in Equation 27 below.
여기에서 Δx는 |x0|에 비해 상대적으로 매우 작은 양의 실수로써, 하기의 수학식28과 같이 설정하면 좋은 결과를 얻을 수 있다고 알려져 있다.Here, Δx is a relatively small positive real number compared to | x 0 |, and it is known that a good result can be obtained by setting the following equation (28).
수학식17의 비용 함수 e를 LM 최소화 방법에 의해 최소화하여 우리가 원하는 답에 해당하는 H를 제대로 구하려면, H의 초기값이 적절하게 주어져야 한다. LM 최소화 방법을 비롯한 대부분의 수식적인 최소화 방법은 글로벌 최소값(Global Minimum)을 찾는 것이 아니고 국부적인 최소값(Local Minimum)을 찾는 것이기 때문 에, 초기값이 적절하게 주어지지 않으면 엉뚱한 답을 찾게 된다. In order to minimize the cost function e of Equation 17 by the LM minimization method, and to properly obtain H corresponding to the desired answer, the initial value of H must be properly given. Most formal minimization methods, including the LM minimization method, do not look for a global minimum, but instead find a local minimum. If the initial values are not given properly, you will find the wrong answer.
H의 초기값을 얻으려면 두 이미지 I0와 I1사이의 대략적인 대응 관계를 알아야 하는데, 사용자로 하여금 I0의 위치를 고정시키고 I1을 이동시켜 두 이미지가 적당히 겹쳐지도록 하여 I1의 초기 위치를 얻거나, 두 이미지 사이의 대응점을 4개 이상 지정해 줄 수 있도록 UI를 제공하는 방법이 있으나, 그렇게 하는 것은 사용자를 매우 번거롭게 하는 것이다. 본 발명에서 자동화를 주안점 중의 하나로 보았기 때문에 그러한 방법을 피하였다.To obtain the initial value of H to know the approximate correspondence between the two images I 0 and I 1, so that the two images are appropriately overlapped allow the user to secure the position of the I 0 and to move the I 1 to the beginning of the I 1 There is a way to provide a UI to get a location or to specify more than four correspondences between two images, but doing so can be very cumbersome for the user. Such a method was avoided because automation was seen as one of the main points in the present invention.
I0의 위치를 고정시키고 I1을 이동하여 두 이미지가 잘 겹쳐지는 I1의 위치를 찾으려면 잘 겹쳐진 정도를 측정하는 방법이 먼저 정의되어야 한다. 두 이미지가 얼마나 잘 겹쳐졌는지 측정하는 방법으로는 여러 가지가 있는데, 수학식17과 같이 현재의 위치에서 두 이미지 사이의 대응되는 픽셀의 밝기 차의 자승의 합으로 표현하는 것을 SSD(Sum of Squared Difference)라고 한다. SSD 값이 작을수록 두 이미지는 더 잘 겹쳐졌다고 볼 수 있으나, 이 방식은 두 이미지의 전체적인 밝기 및 대조(Contrast)의 차이가 큰 경우에는 제대로 동작하지 않을 수도 있다는 문제점을 가지고 있다. Fixing the position of the I 0 was the way to go to I 1 by measuring the degree of well-stacked to locate the position of the two images I 1 that overlaps should be well defined first. There are several ways to measure how well the two images overlap, which is expressed as the sum of the squares of the difference in brightness of the corresponding pixel between the two images at the current position, as shown in Equation 17. It is called a sum of squared difference ( SSD ). The smaller the SSD value, the better the two images overlap, but this method has a problem that it may not work properly when the difference between the overall brightness and contrast of the two images is large.
전체적인 밝기 및 대조의 차이에 상관없는 방법으로, 두 이미지 사이의 NCC(Normalized Cross-Correlation)값을 측정하는 방법이 있는데, NCC는 하기의 수학식29 및 수학식30과 같이 정의된다.As a method irrespective of the difference in overall brightness and contrast, there is a method of measuring a Normalized Cross-Correlation ( NCC ) value between two images. The NCC is defined as Equation 29 and Equation 30 below.
여기에서 R은 두 이미지 I0와 I1이 겹치는 영역을 나타내고, NR은 R에 속하는 픽셀 수를 나타내며, (xt,yt)는 I1의 이동량을 나타낸다. NCC의 값이 클수록 I0와 I1은 잘 겹쳐졌다고 볼 수 있다.Here, R denotes an area where two images I 0 and I 1 overlap, N R denotes the number of pixels belonging to R, and (x t , y t ) denotes an amount of shift of I 1 . The larger the value of NCC, the better I 0 and I 1 overlap.
모든 픽셀의 위치에 대하여 NCC 값을 측정하여 NCC 값이 가장 큰 곳에 해당하는 (xt,yt)를 찾는 것을 템플리트 매칭이라고 한다. 현실적으로 사진 촬영 시, 카메라의 회전 방향이 항상 일정하고 수평 회전이라는 점을 감안하면, 가장 큰 NCC 값을 가지는 위치를 찾은 데 있어서 탐색 영역을 상당량 줄일 수 있다. 따라서 템플리트 매칭의 수행 시, 이러한 점들이 고려되어야 한다.Measuring NCC values for all pixel positions to find (x t , y t ) where the NCC value is largest is called template matching. In reality, when taking a picture, considering that the direction of rotation of the camera is always constant and horizontal rotation, the search area can be significantly reduced in finding the position having the largest NCC value. Therefore, these points should be taken into account when performing template matching.
템플리트 매칭에 의하여 찾은 위치를 (x0,y0)라고 하면, H의 초기값 H0는 하기의 수학식31과 같이 주어질 수 있다.If the position found by the template matching is (x 0 , y 0 ), the initial value H 0 of H may be given by Equation 31 below.
위에서 제시한 방법을 원래 크기의 이미지에 직접 적용하면 다음과 같은 문제들이 발생한다.Applying the above method directly to the original size image causes the following problems.
즉, 초기값 H0와 정답에 해당하는 H 사이의 격차가 여전히 크기 때문에 원하는 답으로 수렴하지 않으며, 템플리트 매칭이나 LM 최소화의 수행 시, 계산량이 너무 많아진다.That is, because the gap between the initial value H 0 and H corresponding to the correct answer is still large, it does not converge to the desired answer, and the computational amount becomes too large when performing template matching or LM minimization.
이러한 문제점들을 해결하기 위하여 피라미드(Image Pyramid)를 이용한다. 이미지 피라미드는 주어진 원 이미지 및 그 이미지를 축소해서 만든 이미지들로 구성된다. 원 이미지 I의 이미지 피라미드를 구성하는 이미지들의 집합을 Pyramid(I) = {I(0), I(1),...,I(n)}이라고 한다면, I는 하기의 수학식32와 같이 표현된다. Image Pyramid is used to solve these problems. The image pyramid consists of a given original image and images created by minimizing the image. If the set of images constituting the image pyramid of the original image I is Pyramid (I) = {I (0) , I (1) , ..., I (n) }, I is expressed as in Equation 32 below. Is expressed.
여기에서 Reduce()는 이미지를 축소하는 연산자(Operator)인데, 보통 0.5배로 줄인다.Here Reduce () is an operator that reduces the image, which is usually reduced by 0.5 times.
효율적인 템플리트 매칭 및 LM 최소화를 수행하기 위하여, I0와 I1의 이미지 피라미드 Pyramid(I0)와 Pyramid(I1)을 생성한다. To perform efficient template matching and LM minimization, we generate image pyramids Pyramid (I 0 ) and Pyramid (I 1 ) of I 0 and I 1 .
이어서, I0 (0)와 I1 (0)부터 시작하여 차례대로 템플리트 매칭 또는 LM 최소화를 수행한다. 이때 I0 (i)와 I1 (i)의 템플리트 매칭 또는 LM 최소화 수행 시, I0 (i-1)와 I1 (i-1)로부터 나온 결과를 초기값으로 활용한다. Then, starting with I 0 (0) and I 1 (0), we perform template matching or LM minimization in turn. At this time, utilizing the result from the I 0 (i) and I 1 (i) template matching, or LM minimized in performing the, I 0 (i-1) and I 1 (i-1) as an initial value.
이러한 작업을 반복하면, 피라미드의 밑바닥에 가까워짐에 따라 보다 정확한 답을 찾게 된다. 템플리트 매칭의 수행 시, 탐색 영역을 이전 단계에서 구한 위치의 근방(몇 픽셀 이내)으로 설정함으로써 계산량을 상당히 줄일 수 있다. If you do this, you will find a more accurate answer as you get closer to the bottom of the pyramid. When performing template matching, the amount of computation can be significantly reduced by setting the search area to the vicinity (within a few pixels) of the position obtained in the previous step.
또한, LM 최소화를 수행할 경우를 고려해 보자면, I0 (0)와 I1 (0) 에 적용할 경우에는 이미지의 크기가 상당히 작은 관계로 수학식31의 H0를 H의 초기값으로 사용해도 잘 수렴이 됨을 관찰할 수 있다. In addition, considering the case of performing LM minimization, when applied to I 0 (0) and I 1 (0) , since H 0 of Equation 31 is used as the initial value of H because the size of the image is quite small, You can observe good convergence.
또한, 피라미드의 이전 단계에서 나온 결과를 다음 단계의 초기값으로 활용함으로써, 매우 빨리 수렴이 됨을 관찰할 수 있다. 따라서 이미지 피라미드를 활용하면 LM 최소화를 수행할 때 원하는 답으로 수렴이 잘 될 뿐만 아니라 계산량이 상당히 줄어드는 효과가 있다.Also, by using the results from the previous stage of the pyramid as the initial value of the next stage, it can be observed that convergence is very fast. Therefore, using the image pyramid not only converges well to the desired answer when performing LM minimization, but also significantly reduces the amount of computation.
또한, 본 발명에서는 카메라 틸트(Camera tilt)를 고려한 이미지 레지스트레이션 방법을 제공하는 바, 이하에서는 카메라 틸트를 고려한 이미지 레지스트레이션 방법에 대해 살펴본다.In addition, the present invention provides an image registration method in consideration of camera tilt. Hereinafter, an image registration method in consideration of camera tilt will be described.
촬영 시, 카메라의 틸트 각(지면과 카메라가 바라보는 방향이 이루는 각)이 존재하면 이웃하는 사진들 사이에 회전 각(Rotation angle)이 존재하게 된다.When taking a picture, if there is a tilt angle of the camera (an angle formed between the ground and the direction viewed by the camera), a rotation angle exists between neighboring pictures.
실험에 의하면, 회전 각이 비교적 큰 경우에는 수학식31의 H0를 초기값으로 사용하였을 때, 이미지 피라미드를 채용한다 하더라도 제대로 수렴하지 않는 경우가 발생하였다. 이러한 문제를 해결하려면 이미지 사이에 존재하는 회전 각을 H0에 반영해야 한다. I0와 I1사이의 회전 각 Θ0가 주어지면, H0는 하기의 수학식33과 같이 수정될 수 있다.According to the experiment, when the rotation angle is relatively large, when H 0 of Equation 31 is used as the initial value, even if the image pyramid is adopted, it does not converge properly. To solve this problem, the rotation angle existing between the images must be reflected in H 0 . Given a rotation angle Θ 0 between I 0 and I 1 , H 0 can be modified as in Equation 33 below.
회전 각 Θ0를 얻기 위하여, 하기의 수학식34 및 수학식35에 도시한 바와 같이 비용 함수 e를 LM 최소화 방법을 이용하여 최소화한다.In order to obtain the rotation angle Θ 0 , the cost function e is minimized using the LM minimization method as shown in Equations 34 and 35 below.
이 때, 파라메타들의 초기치는 (Θ,xt,yt)로 설정하고, 수렴이 원활하게 되도록 하기 위하여 이미지 피라미드를 도입한다.At this time, the initial values of the parameters are set to (Θ, x t , y t ), and an image pyramid is introduced to facilitate convergence.
또한, 본 발명에서는 페어 와이어 국부적인 이미지 레지스트레이션(Pairwire local image registration) 방법을 제공한다.The present invention also provides a pairwire local image registration method.
카메라 내부 파라메타인 초점거리 f와 방사 왜곡 계수 K가 주어지면, 그것들을 활용하여 입력으로 주어진 사진렬{I1,I2,...,In}의 각 이미지 쌍{ I i, Ii +1}에 대하여 이미지 레지스트레이션을 수행하여 그들 사이의 호모그라피 Hi(i+1)을 구한다.Given the focal length f, the camera's internal parameters, and the coefficient of radiation distortion, K, use them to take each image pair {I 1 , I 2 , ..., I n } into the input image column {I i , I i + Image registration is performed for 1 } to obtain homography H i (i + 1) therebetween.
이미지 레지스트레이션 수행 시, 카메라 틸트를 고려한 이미지 레지스트레이션 방법2을 그래도 적용할 수도 있으나, 그럴 경우에 각각의 이미지 쌍에 대하여 서로 다른 f 및 K 값을 갖는 문제가 발생한다. When performing image registration, the image registration method 2 considering the camera tilt may still be applied, but in this case, there is a problem of having different f and K values for each pair of images.
따라서, 기존에 구한 f와 K는 공통적으로 사용하고, 나머지 파라메타의 값들을 구하는 방식을 채용해야 한다. Therefore, the existing f and K should be used in common, and a method of obtaining the values of the remaining parameters should be adopted.
우선, 앞 항에서 구한 K 값을 이용하여 렌즈 왜곡이 없는 이미지를 얻는다. 그런 후, 4-파라메타 호모그라피에 기반을 둔 이미지 레지스트레이션을 수행한다. 4-파라메타 호모그라피에 포함되어 있는 4개의 파라메타는 초점거리 f와 카메라의 회전각 Ψ, Θ, Φ로 구성되어 있는데, f는 주어진 값으로 고정시키고 카메라의 회전각만을 구하게 된다. 즉, 수학식36 및 수학식37에 도시된 비용 함수 e를 최소화하는 Ψ, Θ, Φ를 구한다.First, an image without lens distortion is obtained using the K value obtained in the previous section. Then, image registration based on 4-parameter homography is performed. The four parameters included in the four-parameter homography consist of the focal length f and the camera's rotation angles Ψ, Θ and Φ, where f is fixed to a given value and only the camera's rotation angle is obtained. In other words, Ψ, Θ, and Φ for minimizing the cost function e shown in equations (36) and (37) are obtained.
여기에서 회전 행렬 Ri (i+1)는 수학식4와 같이 주어진다.Here, the rotation matrix R i (i + 1) is given by Equation 4.
위에서 주어진 비용 함수를 최소화하려면, Ψ, Θ, Φ의 초기값들이 적절히 주어져야 한다. 우선 Ψ와 Θ의 초기값을 얻기 위하여 주어진 이미지 쌍{Ii, Ii +1}을 원통 맵핑하여 얻은 이미지 {I^i, I^i+1}을 가지고 템플리트 매칭을 수행한다. 그런 후, Φ의 초기값을 얻기 위하여 I^i와 I^i+1사이의 회전각을 얻는다.To minimize the cost function given above, the initial values of Ψ, Θ, and Φ should be given appropriately. First, template matching is performed with the image {I ^ i , I ^ i + 1 } obtained by cylindrically mapping a given image pair {I i , I i +1 } to obtain initial values of Ψ and Θ. Then, we obtain the rotation angle between I ^ i and I ^ i + 1 to get the initial value of Φ.
평면 투영에 의하여 얻어진 이미지는 카메라 파라메타가 주어지면 원통 투영 이미지 또는 구 투영 이미지로 변환이 가능하다. 평면 투영에 의하여 얻어진 이미지 I에 대응하는 카메라의 교정 행렬과 회전 행렬을 각각 K와 R이라고 하면, I에 속하는 임의의 픽셀 x=(x,y)을 통과하는 광선(Optical Ray)의 방향 벡터 X=(X,Y,Z)는 하기의 수학식38과 같이 주어진다.Images obtained by planar projection can be converted to cylindrical projection images or spherical projection images given camera parameters. If the calibration matrix and the rotation matrix of the camera corresponding to the image I obtained by the plane projection are K and R, respectively, the direction vector X of the optical ray passing through any pixel x = (x, y) belonging to I = (X, Y, Z) is given by Equation 38 below.
반지름이 1인 원통의 중심이 카메라의 투영 중심과 일치하도록 위치해 있다고 가정하자. 그러면, 광선 X와 원통이 만나는 교점 v=(θ, v)을 생각할 수 있는데, 이 점이 원통 투영 이미지 I에서 픽셀 x ∈ I에 대응하는 점이다. 이 때 θ는 Y축과 광선을 포함하는 평면이 YZ 평면과 이루는 각이고, v는 교점의 Y축 좌표로서, 하기의 수학식39와 같이 주어진다.Suppose the center of the cylinder with radius 1 is positioned to coincide with the projection center of the camera. We can then think of the intersection point v = (θ, v) where the ray X meets the cylinder, which corresponds to the pixel x X I in the cylindrical projection image I. Θ is an angle formed by the plane including the Y axis and the light ray with the YZ plane, and v is the Y axis coordinate of the intersection point, which is given by Equation 39 below.
반지름이 1인 구에 투영하는 경우에, 광선 X가 구와 만나는 교점의 좌표 (θ,Φ)는 하기의 수학식40과 같이 주어진다.In the case of projecting onto a sphere having a radius of 1, the coordinates (θ, Φ) of the intersection point where the ray X meets the sphere are given by Equation 40 below.
여기에서 Φ는 광선이 XY 평면과 이루는 각이다.Is the angle that the ray makes with the XY plane.
카메라가 Y축을 중심으로 완벽하게 수평 회전을 한 경우(즉, 카메라의 회전 각 Ψ와 θ가 0인 경우), 카메라의 회전각을 Δθ라고 하고, 회전하기 전에 얻는 원통 투영 이미지를 I^0, 회전한 후에 얻는 이미지를 I^1이라고 하면, 수학식41과 같은 관계가 성립함을 알 수 있다. If the camera is perfectly horizontally rotated around the Y axis (i.e. when the camera's rotation angles Ψ and θ are 0), the camera's rotation angle is called Δθ, and the cylindrical projection image obtained before the rotation is I ^ 0 , If the image obtained after the rotation is I ^ 1 , it can be seen that the relationship shown in Equation 41 is established.
즉, I^1은 I^0을 단순히 쉬프팅하여 얻을 수 있다. 따라서, 카메라가 Y축을 중심으로 수평 회전만을 하여 사진을 촬영했을 경우에는 카메라의 초점거리 f만 알면 각 사진의 원통 투영 이미지를 만든 후, 템플리트 매칭을 통하여 이웃하는 이미지 사이의 쉬프팅 양을 구함으로써 이미지 레지스트레이션이 가능하게 된다. 각 사진의 원통 투영 이미지를 구할 때, 수학식38에서 R = I로 놓는다In other words, I ^ 1 can be obtained by simply shifting I ^ 0 . Therefore, when the camera takes a picture with only the horizontal rotation about the Y axis, if the camera knows only the focal length f of the camera, it makes a cylindrical projection image of each picture and then calculates the amount of shifting between neighboring images through template matching. Registration is possible. When obtaining the cylindrical projection image of each picture, let R = I in equation (38).
본 발명에서는 좀 더 일반적인 카메라의 회전을 고려하였기 때문에, 위와 같은 방식으로 이미지 레지스트레이션을 수행하지 않고, 위에서 언급한대로 템플리트 매칭을 하여 얻은 결과를 수학식36의 비용 함수를 최소화하기 위한 파라메타의 초기치로 활용한다.In the present invention, a more general camera rotation is considered, and thus, without performing image registration in the above manner, the result obtained by performing template matching as mentioned above is used as an initial value of the parameter to minimize the cost function of Equation 36. do.
이웃하는 두 이미지{Ii,Ii+1}의 원통 투영 이미지{I^i,I^i+1}를 템플리트 매칭하여 얻은 I^i+1의 쉬프트 양을 (Δθ,Δv)라고 하면, 카메라의 X축 및 Y축으로의 회전각을 나타내는 Ψ, θ의 초기치, Ψ0와 θ0는 하기의 수학식42와 같이 주어진 다.If the shift amount of I ^ i + 1 obtained by template matching a cylindrical projection image {I ^ i , I ^ i + 1 } of two neighboring images {I i , I i + 1 } is (Δθ, Δv), The initial values of Ψ and θ, Ψ 0 and θ 0 representing the angles of rotation of the camera in the X and Y axes are given by Equation 42 below.
카메라의 Z축으로의 회전각 Φ의 초기값으로는 I^i와 I^i+1 사이의 회전각을 사용하는데, 구하는 방식은 카메라 틸트를 고려한 이미지 레지스트레이션 방법에서 수학식34를 최소화하여 구하는 방식과 동일하다.As the initial value of the rotation angle Φ to the Z axis of the camera, a rotation angle between I ^ i and I ^ i + 1 is used. The method of obtaining is obtained by minimizing Equation 34 in the image registration method considering the camera tilt. Is the same as
카메라 회전각의 초기치가 주어지면, 수학식36의 비용 함수 e를 LM 최소화 방법을 이용해 최소화함으로써 정확한 카메라의 회전각을 구한다. 위에서 제시한 방법은 이미지 피라미드를 도입하여 수렴성 및 속도를 향상시킨다.Given an initial value of the camera rotation angle, the cost function e of Eq. 36 is minimized by using the LM minimization method to obtain an accurate camera rotation angle. The method presented above introduces an image pyramid to improve convergence and speed.
제시한 방법으로 이미지 레지스트레이션을 수행하였을 경우에, 각 이미지 쌍에 대하여 8-파라메타 호모그라피를 기반으로 한 경우보다 안정적이고 균일한 결과를 보인다.When image registration is performed by the proposed method, more stable and uniform results are obtained for each image pair than the 8-parameter homography based.
아울러, 본 발명에서는 입력 사진들 사이에 존재하는 밝기 차이를 자동 보정하는 방법을 제공한다.In addition, the present invention provides a method for automatically correcting a brightness difference existing between input pictures.
비록 동일한 카메라를 가지고 사진들을 얻었다고 하더라도 사진들 사이에 전체적인 밝기(Brightness) 및 대조(Contrast)의 차이가 존재하기 마련이다. 이러한 차이를 보정하지 않고 파노라마 이미지를 생성하면, 접합 부분에서 부자연스러운 경계가 발생하게 된다.Even if the pictures are taken with the same camera, there is a difference in overall brightness and contrast between the pictures. If a panoramic image is generated without correcting such a difference, an unnatural boundary occurs at the joint.
어떠한 이미지의 전체적인 밝기 및 대조는 픽셀들의 밝기의 평균값과 표준편차로 표현될 수 있다. 이웃하는 두 이미지 Ii와 Ii +1 사이에 존재하는 밝기 차이를 보정하기 위하여, 서로가 겹치는 영역에서 픽셀들의 밝기의 평균값과 표준편차를 구한다. Ii와 Ii +1 사이의 호모그라피가 주어지면 서로가 겹치는 영역을 찾을 수 있다. 겹치는 영역에서 Ii의 밝기의 평균값과 표준편차를 mi r과 σi r이라고 하고, Ii +1의 밝기의 평균값과 표준편차를 ml i +1과 σl i +1이라고 한다. 두 이미지의 밝기의 평균값과 표준편차를 같게 만들려면, Ii+1의 픽셀 값을 수학식43 및 수학식44와 같이 보정해야 한다.The overall brightness and contrast of any image can be expressed as the mean and standard deviation of the brightness of the pixels. In order to correct the difference in brightness between two neighboring images I i and I i +1 , the average value and standard deviation of the brightness of pixels in the overlapping area are obtained. Given a homograph between I i and I i +1 , we can find areas where they overlap. The mean value and standard deviation of the brightness of I i in the overlapping region are called m i r and σ i r , and the mean value and standard deviation of the brightness of I i +1 are called m l i +1 and σ l i +1 . In order to make the average value of the two images equal to the standard deviation, the pixel values of I i + 1 must be corrected as shown in Equations 43 and 44.
사진렬 {I1,I2,...,In}이 주어지면, 이웃하는 이미지 쌍 {Ii, Ii +1}에 대하여 Ii+1의 픽셀 밝기를 수학식43을 이용하여 보정하는 것을 순차적으로 행하는 경우에 대하여 고려해 본다. Given a picture sequence {I 1 , I 2 , ..., I n }, the pixel brightness of I i + 1 for the neighboring image pair {I i , I i +1 } is corrected using Equation 43 Consider the case where things are done sequentially.
360° 파노라마 이미지를 생성하는 경우가 아니라면 특별한 문제가 없으나, 360° 파노라마 이미지를 생성하는 경우에는 처음 이미지와 마지막 이미지를 연결해야 하므로 In과 I1의 밝기 차이도 보정이 되어야 하는데, 단순히 순차적으로 보정을 하는 경우에는 In과 I1의 밝기 차이가 제대로 보정이 된다고 보장할 수 없다.Unless you are creating a 360 ° panoramic image, there is no particular problem.However, if you are creating a 360 ° panoramic image, the difference between the brightness of I n and I 1 should be corrected. In the case of correction, the difference in brightness between I n and I 1 cannot be guaranteed.
360° 파노라마 이미지를 생성하는 경우, 밝기 보정이 순환하는 체인(Chain)의 형식을 띄기 때문에 한번의 순차적인 보정으로는 문제를 해결할 수 없다. 본 발명에서는 하기의 수학식45 내지 수학식47에서 나타낸 바와 같이 비용 함수를 최소화는 a1과 b1을 구함으로써 문제를 해결한다.When creating a 360 ° panoramic image, brightness correction takes the form of a cyclic chain, so one sequential correction cannot solve the problem. In the present invention, as shown in Equations 45 to 47, the problem is solved by obtaining a 1 and b 1 for minimizing the cost function.
수학식45에 나타난 e의 값을 구하는 방법은 다음과 같다. 우선 현재 주어진 mn r, σn r, m1 l, σ1 r 값들을 이용하여 수학식46과 같이 a1과 b1을 구한다.The method for obtaining the value of e shown in Equation 45 is as follows. First, a 1 and b 1 are obtained by using m n r , σ n r , m 1 l , and σ 1 r as shown in Equation 46.
구한 a1과 b1을 이용하여 m1 l, σ1 l, m1 r, σ1 r을 수학식47과 같이 업데이트한다.M 1 l , σ 1 l , m 1 r , and σ 1 r are updated as shown in Equation 47 using the obtained a 1 and b 1 .
업데이트된 m1 r, σ1 r과 기존의 m2 l, σ2 l을 이용하여 a2와 b2를 구한다. 이것을 반복하여 mn r과 σn r을 구한 후, e의 값을 구한다.Using the updated m 1 r , σ 1 r, and the existing m 2 l , σ 2 l , we find a 2 and b 2 . This is repeated to find m n r and sigma n r, and then the value of e.
비용 함수 e를 최소화하는 a1과 b1을 구하면, 나머지 ai와 bi들을 위에서 언급한 방식으로 구하고, 수학식43을 이용하여 이미지의 밝기를 보정한다.When a 1 and b 1 are minimized to minimize the cost function e, the remaining a i and b i are obtained in the above-described manner, and the brightness of the image is corrected using Equation 43.
이로써, 본 발명은 360° 파노라마 이미지를 생성할 수 있다.Thus, the present invention can generate a 360 ° panoramic image.
360°로 사진을 촬영하였을 경우, 카메라 파라메타 값들을 완벽하게 구했다면, 앞서 실시한 원통 투영에 의하여 In과 I1은 자동적으로 오차 없이 잘 겹쳐질 것이다. 이론적으로 이야기하자면, In과 I1 사이의 호모그라피로부터 구한 카메라의 회전 행렬을 Rn 1이라고 하였을 때, R은 하기의 수학식48과 같이 표현된다.If the picture was taken at 360 ° and the camera parameter values were perfectly obtained, I n and I 1 would automatically overlap without error by the cylindrical projection previously performed. Theoretically speaking, when the rotation matrix of the camera obtained from homography between I n and I 1 is R n 1 , R is expressed by Equation 48 below.
즉, 수학식48에 도시된 R은 회전 행렬들이 오차 없이 구해졌을 경우 완벽하게 일치 함수(Identity Matrix)가 되어야만 한다. 그러나, 어떠한 경우에서든 계산상의 오차는 포함되기 마련이기 때문에, 단순히 페어 웨어 국부적인 이미지 레지스트레이션 만으로는 360° 파노라마 이미지를 얻을 수 없다. 이러한 문제를 해결하기 위하여 수학식49에서와 같이 비용 함수 e를 최소화하는 글로벌 이미지 레지스트레이션 문제를 생각해 볼 수 있다.That is, R shown in Equation 48 should be a perfect identity matrix when the rotation matrices are obtained without error. In any case, however, calculation errors are often included, so that a 360 ° panoramic image cannot be obtained simply by fairware local image registration. To solve this problem, we can consider a global image registration problem that minimizes the cost function e as shown in Eq.
그러나, 이 방법은 계산량이 너무 많고, 정확한 360° 파노라마 이미지 생성을 보장하지는 못한다. However, this method is too computational and does not guarantee accurate 360 ° panorama image generation.
본 발명에서는 보다 간단하고 빠른 방법으로 360° 파노라마 이미지를 생성한다. 상기한 과정을 통해 구한 파노라마 이미지를 Ip라고 하면, 360° 파노라마 이미지를 생성하는 방법은 다음과 같다.In the present invention, a 360 ° panoramic image is generated in a simpler and faster way. When the panorama image obtained through the above process is referred to as I p , a method of generating a 360 ° panorama image is as follows.
제1단계: Ip에서 I1이 맵핑된 영역을 R1이라고 하면, Ip로부터 R1에 속하는 픽셀들만을 추출하여 이미지 I^1을 만든다.Step 1: When a region I 1 is mapped at I p as R 1, to extract only the pixels belonging to R 1 from I p to make the image I ^ 1.
제2단계 : Ip에서 In이 맵핑된 영역을 Rn이라고 하면, Rn 내에서 Ip와 I^1의 템플리트 매칭을 수행한다. I^1의 (0,0)에 대응하는 Ip의 위치를 (xm,y m)이라고 한다.Step 2: When the I n the mapped area in the I p as R n, performs a template matching of I p and I ^ 1 in R n. The position of I p corresponding to (0,0) of I ^ 1 is called (x m , y m ).
제3단계 : I^1의 (0,0)의 지점이 Ip상에서 (xm,ym)에 오도록 위치시킨 후, 이미지 블렌딩(Image Blending)을 수행하여 이미지 Ip'을 만든다.Step 3: After placing the point of (0,0) of I ^ 1 at (x m , y m ) on I p , image blending is performed to make image I p '.
제4단계 : I^1의 중심점의 좌표를 (xc,yc)라고 하면, Ip'으로부터 두 수직선 x = xc와 x = xm + xc 사이의 영역을 취하여 이미지 Ip"을 만든다.Step 4: the center point coordinates of the I ^ 1 (x c, y c) that if, I p 'from taking the area between the two vertical line x = x c and x = x m + x c images I p "the Make.
제5단계 : Ip"을 수직 방향으로 절단(Shearing, Cropping)하여 Ip"의 양 끝이 정확하게 일치하도록 한다.Step 5: Shearing and cropping I p "in the vertical direction so that both ends of I p " match exactly.
엄청난 양의 디지털 카메라가 현재 보급 되고 있고, 이제 필름 카메라는 그 자리를 잃어가고 있는 실정이다. 또한, 인터넷의 엄청난 보급으로 인하여 디지털 카메라와 인터넷 혹은 컨텐츠는 상호 보완적으로 발전하고 있다. 전술한 바와 같이 이루어지는 본 발명으로 인하여 로테이터와 같은 특수 장비 없이 삼각대만을 이용해서 고품질의 360도 파노라마 이미지를 생성할 수 있고, 렌즈의 초점 거리에 대한 정보를 필요로 하지 않으며, 광각 렌즈를 사용할 때 나타나는 이미지 왜곡 현상을 자동으로 보정할 수 있으며, 카메라가 지면과 수평을 이루지 않은 상태로 촬영된 사진들도 붙이는 것이 가능하며, 입력 사진들 사이에 존재하는 밝기의 차이를 자동으로 보정하며, 원통(Cylinder) 및 구(Sphere) 투영 파노라마 이미지를 생성할 수 있음을 실시예를 통해 알아 보았다.A tremendous amount of digital cameras is now available, and film cameras are losing their place. In addition, due to the tremendous spread of the Internet, digital cameras and the Internet or contents are complementarily developed. Due to the present invention as described above, it is possible to generate a high quality 360 degree panoramic image using only a tripod without special equipment such as a rotator, does not require information about the focal length of the lens, and appears when using a wide-angle lens Image distortion can be corrected automatically, photos taken without the camera being level with the ground can be pasted, and brightness differences between input pictures can be corrected automatically. It has been seen through the examples that it is possible to generate a) and sphere projection panoramic image.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
상술한 바와 같은 본 발명은, 디지털 카메라를 가지고 이미지 기반의 가상공간을 특별한 기술 없이도 쉽고 빠르게 만들 수 있도록 하여 보다 많은 수의 이미지 기반 가상 공간 컨텐츠를 만들고, 이를 산업 전반에 확대시킬 수 있는 효과가 있다.As described above, the present invention allows an image-based virtual space to be easily and quickly created without a special technology using a digital camera, thereby creating a larger number of image-based virtual space contents, which can be expanded throughout the industry. .
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040095309A KR100614004B1 (en) | 2004-11-19 | 2004-11-19 | An automated method for creating 360 degrees panoramic image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040095309A KR100614004B1 (en) | 2004-11-19 | 2004-11-19 | An automated method for creating 360 degrees panoramic image |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060056050A true KR20060056050A (en) | 2006-05-24 |
KR100614004B1 KR100614004B1 (en) | 2006-08-21 |
Family
ID=37151962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040095309A KR100614004B1 (en) | 2004-11-19 | 2004-11-19 | An automated method for creating 360 degrees panoramic image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100614004B1 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100758632B1 (en) * | 2006-03-29 | 2007-09-14 | 삼성전자주식회사 | Apparatus and method for taking panoramic photograph |
KR100796849B1 (en) | 2006-09-04 | 2008-01-22 | 삼성전자주식회사 | Method for photographing panorama mosaics picture in mobile device |
KR101230909B1 (en) * | 2010-05-27 | 2013-02-12 | (주) 에투시스템 | Apparatus and method for processing wide angle image |
KR101510106B1 (en) * | 2008-10-21 | 2015-04-08 | 삼성전자주식회사 | Apparatus for processing digital image and method for controlling thereof |
KR20150124069A (en) * | 2014-04-25 | 2015-11-05 | 주식회사 고영테크놀러지 | Camera parameter computation method |
KR101683763B1 (en) * | 2015-09-14 | 2016-12-07 | 주식회사 프레스토솔루션 | Augmented Reality Robot Simulation System And Method Using 360 Degree Camera |
WO2017200259A1 (en) * | 2016-05-16 | 2017-11-23 | 삼성전자 주식회사 | Video encoding method and apparatus, video decoding method and apparatus |
WO2017200290A1 (en) * | 2016-05-17 | 2017-11-23 | (주)유비크마이크로 | Camera capable of constructing 360-degree image |
KR20190133867A (en) * | 2018-05-24 | 2019-12-04 | (주)네모랩스 | System for providing ar service and method for generating 360 angle rotatable image file thereof |
US10587799B2 (en) | 2015-11-23 | 2020-03-10 | Samsung Electronics Co., Ltd. | Electronic apparatus and method for controlling electronic apparatus thereof |
CN111161148A (en) * | 2019-12-30 | 2020-05-15 | 上海闻泰电子科技有限公司 | Panoramic image generation method, device, equipment and storage medium |
KR20200130984A (en) | 2019-05-13 | 2020-11-23 | 유로프리시젼 주식회사 | Grinding Machine Having Automotive Driving Function |
KR20210153235A (en) * | 2020-06-10 | 2021-12-17 | 중앙대학교 산학협력단 | System for panoramic image generation and update of concrete structures or bridges using deep matching, a method for generating and updating panoramic images, and a program for generating and updating panoramic images |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101312895B1 (en) | 2007-08-27 | 2013-09-30 | 재단법인서울대학교산학협력재단 | Method for photographing panorama picture |
KR101914205B1 (en) * | 2016-09-02 | 2018-11-01 | 주식회사 씨오티커넥티드 | Apparatus of processing user interface |
KR102280169B1 (en) | 2017-03-06 | 2021-07-21 | 삼성전자주식회사 | Method and apparatus for processing an image |
KR102076635B1 (en) | 2018-10-16 | 2020-02-12 | (주)캠시스 | Apparatus and method for generating panorama image for scattered fixed cameras |
-
2004
- 2004-11-19 KR KR1020040095309A patent/KR100614004B1/en active IP Right Grant
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100758632B1 (en) * | 2006-03-29 | 2007-09-14 | 삼성전자주식회사 | Apparatus and method for taking panoramic photograph |
US7796871B2 (en) | 2006-03-29 | 2010-09-14 | Samsung Electronics Co., Ltd | Apparatus and method for taking panoramic photograph |
KR100796849B1 (en) | 2006-09-04 | 2008-01-22 | 삼성전자주식회사 | Method for photographing panorama mosaics picture in mobile device |
US7881559B2 (en) | 2006-09-04 | 2011-02-01 | Samsung Electronics Co., Ltd. | Method for taking panorama mosaic photograph with a portable terminal |
US8249390B2 (en) | 2006-09-04 | 2012-08-21 | Samsung Electronics Co., Ltd. | Method for taking panorama mosaic photograph with a portable terminal |
KR101510106B1 (en) * | 2008-10-21 | 2015-04-08 | 삼성전자주식회사 | Apparatus for processing digital image and method for controlling thereof |
KR101230909B1 (en) * | 2010-05-27 | 2013-02-12 | (주) 에투시스템 | Apparatus and method for processing wide angle image |
KR20150124069A (en) * | 2014-04-25 | 2015-11-05 | 주식회사 고영테크놀러지 | Camera parameter computation method |
KR101683763B1 (en) * | 2015-09-14 | 2016-12-07 | 주식회사 프레스토솔루션 | Augmented Reality Robot Simulation System And Method Using 360 Degree Camera |
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 |
WO2017200259A1 (en) * | 2016-05-16 | 2017-11-23 | 삼성전자 주식회사 | Video encoding method and apparatus, video decoding method and apparatus |
US10805637B2 (en) | 2016-05-16 | 2020-10-13 | Samsung Electronics Co., Ltd. | Video encoding method and apparatus, video decoding method and apparatus |
WO2017200290A1 (en) * | 2016-05-17 | 2017-11-23 | (주)유비크마이크로 | Camera capable of constructing 360-degree image |
KR20190133867A (en) * | 2018-05-24 | 2019-12-04 | (주)네모랩스 | System for providing ar service and method for generating 360 angle rotatable image file thereof |
KR20200130984A (en) | 2019-05-13 | 2020-11-23 | 유로프리시젼 주식회사 | Grinding Machine Having Automotive Driving Function |
CN111161148A (en) * | 2019-12-30 | 2020-05-15 | 上海闻泰电子科技有限公司 | Panoramic image generation method, device, equipment and storage medium |
CN111161148B (en) * | 2019-12-30 | 2024-01-30 | 上海闻泰电子科技有限公司 | Panoramic image generation method, device, equipment and storage medium |
KR20210153235A (en) * | 2020-06-10 | 2021-12-17 | 중앙대학교 산학협력단 | System for panoramic image generation and update of concrete structures or bridges using deep matching, a method for generating and updating panoramic images, and a program for generating and updating panoramic images |
Also Published As
Publication number | Publication date |
---|---|
KR100614004B1 (en) | 2006-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI622021B (en) | Method and apparatus for generating panoramic image with stitching process | |
CN110809786B (en) | Calibration device, calibration chart, chart pattern generation device, and calibration method | |
US7899270B2 (en) | Method and apparatus for providing panoramic view with geometric correction | |
CN109064404A (en) | It is a kind of based on polyphaser calibration panorama mosaic method, panoramic mosaic system | |
US6486908B1 (en) | Image-based method and system for building spherical panoramas | |
CN101673395B (en) | Image mosaic method and image mosaic device | |
CN110782394A (en) | Panoramic video rapid splicing method and system | |
CN102438153B (en) | Multi-camera image correction method and equipment | |
KR100614004B1 (en) | An automated method for creating 360 degrees panoramic image | |
WO2018153374A1 (en) | Camera calibration | |
CN106157304A (en) | A kind of Panoramagram montage method based on multiple cameras and system | |
WO2018068719A1 (en) | Image stitching method and apparatus | |
CN108846796B (en) | Image splicing method and electronic equipment | |
CN102243323B (en) | Rock mass slope stability analyzing method based on video detection | |
CN105005964B (en) | Geographic scenes panorama sketch rapid generation based on video sequence image | |
CN107333064B (en) | Spherical panoramic video splicing method and system | |
CN107527336A (en) | Relative position of lens scaling method and device | |
CN109785225B (en) | Method and device for correcting image | |
CN113763480B (en) | Combined calibration method for multi-lens panoramic camera | |
JP2005258953A (en) | Fish eye camera and calibration method in the fish eye camera | |
CN110796690B (en) | Image matching method and image matching device | |
CN112215749A (en) | Image splicing method, system and equipment based on cylindrical projection and storage medium | |
JP2005275789A (en) | Three-dimensional structure extraction method | |
CN116245734A (en) | Panoramic image generation method, device, equipment and storage medium | |
RU2452992C1 (en) | Stereoscopic measuring system and method |
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 |