KR102452581B1 - Method and Device for video stitching - Google Patents
Method and Device for video stitching Download PDFInfo
- Publication number
- KR102452581B1 KR102452581B1 KR1020200170754A KR20200170754A KR102452581B1 KR 102452581 B1 KR102452581 B1 KR 102452581B1 KR 1020200170754 A KR1020200170754 A KR 1020200170754A KR 20200170754 A KR20200170754 A KR 20200170754A KR 102452581 B1 KR102452581 B1 KR 102452581B1
- Authority
- KR
- South Korea
- Prior art keywords
- vertex
- stabilization
- stitching
- video
- time
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000006641 stabilisation Effects 0.000 claims abstract description 63
- 238000011105 stabilization Methods 0.000 claims abstract description 63
- 230000002123 temporal effect Effects 0.000 claims abstract description 26
- 230000000087 stabilizing effect Effects 0.000 claims abstract description 22
- 238000007781 pre-processing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 239000003381 stabilizer Substances 0.000 claims 2
- 230000006870 function Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
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/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H04N5/23267—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/0093—Geometric image transformation in the plane of the image for image warping, i.e. transforming by individually repositioning each pixel
-
- G06T3/18—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H04N5/23229—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Abstract
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 복수의 영상촬영장치에서 촬영되는 복수의 영상 각각에서 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 차이값을 이용하여 시간적으로 안정화를 수행하는 단계;및 상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하는 것을 특징으로 한다.As a preferred embodiment of the present invention, the video stitching method performs temporal stabilization using a difference value between a vertex of a current frame and a vertex of at least one previous frame in each of a plurality of images captured by a plurality of image capturing apparatuses. and performing spatial stabilization by stitching frames at the same time point of the temporally stabilizing images.
Description
본 발명은 비디오 스티칭 방법, 장치 및 컴퓨터 판독 가능 기록매체에 관한 것으로, 구체적으로 실시간으로 촬영되는 영상을 스티칭(Stitching)하여 하나의 투영 영상을 생성하는 실시간 비디오 스티칭 방법, 장치 및 컴퓨터 판독 가능 기록매체에 관한 것이다.The present invention relates to a video stitching method, an apparatus, and a computer-readable recording medium, and more specifically, a real-time video stitching method, apparatus, and computer-readable recording medium for generating a single projection image by stitching images taken in real time is about
비디오 스티칭(Video Stitching)이란 겹치는 시야각을 가진 분할된 영상 또는 다수의 카메라를 통해 찍은 영상을 합성하여, 영상들의 각 프레임들로부터 특징점을 추출하고, 추출된 특징점들을 정합하여 대응관계 및 카메라 파라미터를 계산하여 넓은 화각을 가지는 비디오 영상을 생성하는 것을 의미한다. Video Stitching refers to synthesizing divided images with overlapping viewing angles or images taken through multiple cameras, extracting feature points from each frame of the images, and calculating correspondence and camera parameters by matching the extracted feature points. This means that a video image having a wide angle of view is generated.
본 발명의 바람직한 일 실시예에서는 사용자들이 촬영한 비디오들을 이미지 스티칭으로 비디오를 구성하였을 때 발생하는 비디오의 떨림 현상을 보완한 비디오스티칭 방법에 대해 제안하고자 한다. A preferred embodiment of the present invention is to propose a video stitching method that compensates for the shaking of the video that occurs when video is composed by image stitching of videos captured by users.
본 발명의 또 다른 바람직한 일 실시예에서는 360도 전용 카메라가 아닌 스마트폰과 같이 360도를 촬영하기 어려운 단말기들로 촬영한 비디오들을 비디오의 떨림 현상을 보완한 비디오스티칭 방법에 대해 제안하고자 한다. In another preferred embodiment of the present invention, it is intended to propose a video stitching method that compensates for the shaking phenomenon of videos captured by terminals that are difficult to shoot 360 degrees, such as a smartphone, rather than a 360-degree camera.
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 복수의 영상촬영장치에서 촬영되는 복수의 영상 각각에서 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 차이값을 이용하여 시간적으로 안정화를 수행하는 단계;및 상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하는 것을 특징으로 한다.As a preferred embodiment of the present invention, the video stitching method performs temporal stabilization using a difference value between a vertex of a current frame and a vertex of at least one previous frame in each of a plurality of images captured by a plurality of image capturing apparatuses. and performing spatial stabilization by stitching frames at the same time point of the temporally stabilizing images.
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 상기 시간적 안정화 및 상기 공간적 안정화가 모두 수행된 영상들을 기초로 비디오 스티칭하는 단계;를 더 포함한다.As a preferred embodiment of the present invention, the video stitching method further includes: video stitching based on images on which both the temporal stabilization and the spatial stabilization have been performed.
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 복수의 영상 각각은 비디오 안정화 알고리즘이 기적용된 이후 상기 시간적으로 안정화를 수행하는 것을 특징으로 한다.As a preferred embodiment of the present invention, the video stitching method is characterized in that each of a plurality of images is temporally stabilized after a video stabilization algorithm is applied.
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 상기 영상촬영장치 각각은 상기 현재 프레임의 버텍스와 상기 적어도 하나 이상의 이전 프레임의 버텍스(vertices)간의 차이값의 합이 최소화되도록 시간적으로 안정화를 수행하는 것을 특징으로 한다.As a preferred embodiment of the present invention, in the video stitching method, each of the image photographing apparatuses performs temporal stabilization so that the sum of the difference values between the vertices of the current frame and the vertices of the at least one previous frame is minimized. characterized in that
본 발명의 바람직한 일 실시예로서, 비디오스티칭방법은 메시기반와핑(Mesh-based Warping) 스티칭 기법을 통해 비용함수가 최소화되도록 상기 시간적 및 상기 공간적 안정화를 수행하는 것을 특징으로 한다. 상기 메시기반와핑 스티칭 기법은 특징점 매칭을 이용하여 이미지를 정렬하고, 또한 상기 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 로컬(local) 및 글로벌(global) 유사성을 모두 고려하여 상기 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하여 상기 시간적 안정화 및 상기 공간적 안정화를 수행하는 것을 특징으로 한다. As a preferred embodiment of the present invention, the video stitching method is characterized in that the temporal and spatial stabilization is performed so that the cost function is minimized through a mesh-based warping stitching technique. The mesh-based warping stitching technique aligns images using feature point matching, and the cost function is It is characterized in that the temporal stabilization and the spatial stabilization are performed by performing warping by finding a vertex that is minimized.
본 발명의 또 다른 바람직한 일 실시예로서, 비디오스티칭방법은 복수의 사용자가 촬영한 복수의 비디오 각각에서 이전 프레임의 버텍스값을 이용하여 현재 프레임의 버텍스 값을 조정하여 시간적으로 안정화를 수행하는 단계;및 상기 시간적으로 안정화가 수행된 비디오들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하는 것을 특징으로 한다. As another preferred embodiment of the present invention, a video stitching method includes temporally stabilizing a vertex value of a current frame by using a vertex value of a previous frame in each of a plurality of videos captured by a plurality of users; and performing spatial stabilization by stitching frames of the same view of the temporally stabilizing videos.
본 발명의 또 다른 바람직한 일 실시예로서, 비디오스티칭장치는 영상전처리가 수행된 복수의 영상 각각에 대해 이전 프레임의 버텍스값을 이용하여 현재 프레임의 버텍스 값을 조정하여 시간적 안정화를 수행하는 제1안정화부; 및 상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들 간에 공간적 안정화를 수행하는 제 2 안정화부;를 포함하는 것을 특징으로 한다.As another preferred embodiment of the present invention, the video stitching apparatus performs temporal stabilization by adjusting a vertex value of a current frame by using a vertex value of a previous frame for each of a plurality of images on which image preprocessing has been performed. wealth; and a second stabilization unit that performs spatial stabilization between frames of the same time point of the temporally stabilized images.
본 발명에서는 스마트폰과 같이 360도를 촬영하기 용이하지 않은 카메라를 이용하여 주변을 촬영할 때 영상전처리를 수행한 이후에도 어느정도 흔들림이 남아있는 영상들을 대상으로 비디오스티칭을 수행하는 방법 및 장치에서 이미지스티칭 기법만 적용하여 비디오스티칭을 수행할 경우 발생하던 영상의 떨림 문제를 해결하는 효과가 있다. In the present invention, when shooting the surroundings using a camera that is not easy to shoot 360 degrees, such as a smartphone, an image stitching technique in a method and apparatus for performing video stitching on images that remain somewhat shaken even after image pre-processing It has the effect of solving the image tremor problem that occurs when video stitching is performed by applying only
본 발명에서는 비디오 스티칭을 할 때 현재프레임 메쉬의 버텍스를 이전프레임의 버텍스와 최소한의 차이가 나도록 유지함으로써 스티칭 형태를 고정하고 비디오 스티칭시 발생하던 영상의 떨림 문제를 해결하는 효과가 있다.In the present invention, by maintaining the vertices of the current frame mesh to have a minimum difference from the vertices of the previous frame during video stitching, the stitching shape is fixed and the image shaky problem that occurs during video stitching is solved.
도 1은 본 발명의 일 실시예에 따른 비디오스티칭을 수행하는 컴퓨팅 시스템(100)을 도시한다.
도 2 는 본 발명의 바람직한 일 실시예로서, 비디오스티칭장치의 내부 구성도를 도시한다.
도 3 은 메쉬 기반 이미지 스티칭 알고리듬의 일 예를 도시한다.
도 4 는 본 발명의 바람직한 일 실시예로서, 비디오스티칭방법에 따라 비디오스티칭을 수행한 영상의 일 예를 도시한다. 1 illustrates a
2 is a diagram showing an internal configuration of a video stitching apparatus as a preferred embodiment of the present invention.
3 shows an example of a mesh-based image stitching algorithm.
4 shows an example of an image on which video stitching is performed according to a video stitching method as a preferred embodiment of the present invention.
이하에서 도면을 참고하여 설명한다. Hereinafter, it will be described with reference to the drawings.
도 1은 본 발명의 일 실시예에 따른 비디오스티칭을 수행하는 컴퓨팅 시스템(100)을 도시한다. 1 illustrates a
도 1에 도시되어 있는 바와 같이, 상기 시스템(100)은 네트워크(102)를 포함하며, 상기 네트워크(102)는 상기 시스템(100)에 포함되어 있는 다양한 컴포넌트들간의 통신을 가능하게 한다. As shown in FIG. 1 , the
상기 네트워크(102)는 하나 혹은 그 이상의 근거리 통신 네트워크(local area network: LAN)들, 도시 지역 통신 네트워크(metropolitan area network: MAN)들, 광역 네트워크(wide area network: WAN)들, 혹은 상기 인터넷과 같은 전세계 네트워크의 전부 혹은 일부, 혹은 다른 통신 시스템, 혹은 하나 혹은 그 이상의 위치들에서의 시스템들을 포함할 수 있다. The
상기 네트워크(102)는 적어도 하나의 서버(104)와 다양한 클라이언트 디바이스들(103-114)간의 통신들을 가능하게 한다. 상기 서버(104)는 하나 혹은 그 이상의 클라이언트 디바이스들에 대한 컴퓨팅 서비스들을 제공할 수 있는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 포함한다. 상기 서버(104)는 일 예로, 하나 혹은 그 이상의 프로세싱 디바이스들, 명령어들 및 데이터를 저장하는 하나 혹은 그 이상의 메모리들, 상기 네트워크(102)를 통한 통신을 가능하게 하는 하나 혹은 그 이상의 네트워크 인터페이스들을 포함할 수 있다. The
사용자들은 각각 스마트폰(103, 105)과 같은 단말기를 이용하여 원하는 영상을 촬영할 수 있다. 본 발명의 바람직한 일 실시예에서, 사용자가 사용하는 단말기는 360도 전용 카메라는 제외되는 것을 특징으로 한다. Users can take a desired image by using a terminal such as the
각 클라이언트 디바이스(106-114)는 상기 네트워크(102)를 통해 적어도 하나의 서버 혹은 다른 컴퓨팅 디바이스(들)와 상호 작용하는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 나타낸다. 이 예제에서, 상기 클라이언트 디바이스들(103-114)은 데스크탑 컴퓨터(106), 이동 전화기 혹은 스마트폰(108), 개인용 정보 단말기(personal digital assistant: PDA)(110), 랩탑 컴퓨터(112) 및 태블릿 컴퓨터(114)를 포함한다. 하지만, 어떤 다른 혹은 추가적인 클라이언트 디바이스들이라도 상기 컴퓨팅 디바이스(100)에서 사용될 수 있다. Each client device 106-114 represents a suitable computing or processing device that interacts with at least one server or other computing device(s) over the
이 예제에서, 일부 클라이언트 디바이스들(108-114)은 상기 네트워크(102)와 간접적으로 통신한다. 일 예로, 상기 클라이언트 디바이스들(108-110)은 셀룰라 기지국들 혹은 eNodeB들과 같은 하나 혹은 그 이상의 기지국들(116)과 통신한다. 각 클라이언트 디바이스는 상기 네트워크(102)와 직접적으로 통신할 수 있거나 혹은 적합한 중개 디바이스(들) 혹은 네트워크(들)를 통해 상기 네트워크(102)와 간접적으로 통신할 수 있다. In this example, some client devices 108 - 114 communicate indirectly with the
도 2는 본 발명의 일 실시예에 따른 비디오스티칭장치의 내부 구성도를 도시한다. 2 is a diagram illustrating an internal configuration of a video stitching apparatus according to an embodiment of the present invention.
본 발명의 바람직한 일 실시예로서, 비디오스티칭장치(200)는 스마트폰과 같은 360도 촬영이 용이하지 않은 카메라 여러 개로 주변 환경을 촬영한 영상을 수신하는 것을 전제로 한다. 이 때 수신하는 영상 각각은 흔들림, 와핑등을 제거하는 비디오 안정화 알고리즘 등이 이미 적용되어 영상전처리가 수행된 것을 전제로 한다.As a preferred embodiment of the present invention, the
일반적으로 비디오 스티칭은 각 비디오 프레임들을 여러 번 이미지 스티칭하여 비디오를 구성하는 것을 지칭한다. 그러나, 이러한 방법은 각 프레임마다 독립적으로 수행한 이미지스티칭으로 인해 각 프레임마다 이미지스티칭 형태가 다르게 된다. 그 결과 비디오스티칭을 수행한 영상이 심하게 흔들리는 문제가 발생한다. In general, video stitching refers to image-stitching each video frame multiple times to compose a video. However, in this method, the image stitching form is different for each frame due to the image stitching performed independently for each frame. As a result, there is a problem that the image on which video stitching is performed is shaken severely.
이러한 문제점을 해결하기 위하여, 본 발명의 바람직한 일 실시예에서 비디오스티칭장치(200)는 시간적 안정화 및 공간적 안정화를 모두 수행하는 비디오스티칭 방법을 이용하는 것을 특징으로 한다.In order to solve this problem, in a preferred embodiment of the present invention, the
본 발명의 바람직한 일 실시예로서, 비디오스티칭장치(200)는 안정화부 및 표시부(230)를 포함한다. 안정화부는 제 1 안정화부(210), 제 2 안정화부(220)를 포함한다. As a preferred embodiment of the present invention, the
제 1 안정화부(210)는 시간적 안정화를 수행하고, 제 2 안정화부(220)는 제 1 안정화부에서 시간적 안정화가 수행된 영상들의 동일 시점의 프레임들을 스티칭하여 공간적 안정화를 수행한다. The first stabilizing
제 1 안정화부(210)의 시간적 안정화와 제 2 안정화부(220)의 공간적 안정화는 순차적으로 수행되거나, 동시에 수행되거나 또는 선후를 번갈아가며 교차적으로 수행될 수 있다. The temporal stabilization of the first stabilizing
그리고, 표시부(230)는 시간적 안정화 및 공간적 안정화가 모두 이루어진 비디오스티칭 영상을 출력한다. 본 발명의 바람직한 일 실시예에 따른 비디오스티칭 방법에 따라 비디오스티칭이 이루어진 영상의 일 예는 도 4(400)와 같다. In addition, the
본 발명의 바람직한 일 실시예로서, 비디오스티칭장치(200)는 글로벌호모그래피, 메시기반 이미지 스티칭 등 다양한 이미지스티칭알고리즘을 이용할 수 있다. 글로벌호모그래피는 두 이미지의 특징점을 추출하고 매칭하여 호모그래피를 구하고 호모그래피로 이미지를 변환하여 스티칭을 수행한다. As a preferred embodiment of the present invention, the
그러나, 호모그래피 기법만으로 이미지 스티칭을 수행하는 글로벌 호모그래피 방식의 경우 에러에 민감한 문제가 있으므로, 본 발명의 비디오스티칭장치(200)는 이를 보완하는 메시기반와핑 이미지스티칭 기법을 더 이용할 수 있다. 메시기반와핑 이미지스티칭기법은 이미지를 도 4의 일 실시예와 같이 메쉬로 나누어서 각 폴리곤마다 호모그래피 정보를 구하여 스티칭을 수행함으로써 글로벌 호모그래피 방식에서 발생하는 에러에 대한 민감도를 줄일 수 있다. However, since the global homography method in which image stitching is performed using only the homography method has a problem sensitive to errors, the
비디오스티칭장치(200)를 구성하는 각 구성을 상세히 살펴본다. Each configuration constituting the
제 1 안정화부(210)는 비디오스티칭시 이미지스티칭 알고리즘만으로 비디오스티칭을 수행할 경우 이미지 사이의 공간적 관계만 고려하게 되어 발생하게 되는 비디오의 떨림 문제를 해결할 수 있다. 비디오는 현재프레임과 이전프레임이라는 시간적인 특성을 지닌다. 제 1 안정화부(210)는 현재프레임과 이전프레임이라는 시간적인 특성을 이용하여 시간적 안정화를 수행하며, 이를 위해 비용함수와 이미지스티칭 알고리즘에 시간안정화텀을 수학식 2 및 4와 같이 각각 부가한다. The first stabilizing
수학식 1은 기존에 이용하던 비용함수의 수식을 나타낸다. Equation 1 represents the equation of the cost function used in the past.
여기서, V는 아래와 같이 정의된다.Here, V is defined as follows.
본 발명의 바람직한 일 실시예에서, 제 1 안정화부(210)는 시간안정화텀이 부가된 비용함수를 이용한다. 시간안정화텀은 비디오의 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 차이값을 이용하여 시간적으로 안정화를 수행한다. 시간안정화텀은 현재프레임에서 이전 프레임의 버텍스와의 차이값이 최소화되도록 유지시킴으로써, 이미지 스티칭과 동시에 비디오스티칭이 가능하도록 구현된다. 현재 프레임과 이전 프레임을 스티칭하여 프레임 사이의 간격을 줄이면서 마치 흔들림이 없는 것처럼 비디오의 떨림을 감소시킨다. In a preferred embodiment of the present invention, the first stabilizing
본 발명의 또 다른 바람직한 일 실시예에서는 제 1 안정화부(210)에서 이용하는 비용함수의 시간안정화텀의 성능을 확인하기 위하여 수학식 4와 같이 메시기반 와핑 이미지 스티칭 알고리즘 NISwGSP에 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가하였다. 본 발명의 바람직한 일 실시예에서는 NISwGSP에 시간안정화텀을 부가하여 이전프레임과 현재프레임의 차이를 최소화함으로써 영상을 구성하는 이전프레임과 현재프레임과의 시간적 안정화뿐만 아니라 공간적 안정화까지 수행될 수 있다.In another preferred embodiment of the present invention, the time stabilization term of the cost function used in the
수학식 3은 일반적인 메시기반 이미지 스티칭 알고리즘 NISwGSP의 비용함수를 표시한다. Equation 3 represents the cost function of the general mesh-based image stitching algorithm NISwGSP.
수학식 3의 각 변수는 아래와 같이 정의된다. Each variable in Equation 3 is defined as follows.
V: 영상에서 추출된 버텍스 값V: Vertex value extracted from the image
: 이미지 스티칭이 완료된 최종 버텍스값 : The final vertex value after image stitching is completed
: 영상간의 얼라인먼트(alignment)를 통해 매칭 에러를 최소화시켜주는 항으로, 특징점으로 얻은 영상 간의 수학적 관계만을 기초로 버텍스를 계산하는 항 : A term that minimizes the matching error through alignment between images
: 가중치 값 : weight value
: 버텍스 사이의 위치 구조 관계를 지역적(local)으로 안정화 시키기 위한 항으로, : A term for stabilizing the positional structure relationship between vertices locally,
: 버텍스 사이의 위치 구조 관계를 영상 전체(global)적으로 안정화 시키기 위한 항 : A term for global stabilization of the positional structure relationship between vertices
본 발명의 바람직한 일 실시예에서는 NISwGSP의 비용함수에 시간안정화 텀 을 부가한 새로운 NISwGSP를 이용한다. 이 경우 시간적안정화텀에 웨이트 를 부여할 수 있다. 시간안정화 텀은 수학식 5와 같이 정의될 수 있다.In a preferred embodiment of the present invention, the time stabilization term in the cost function of NISwGSP A new NISwGSP is used. In this case, the weight in the temporal stabilization term can be given The time stabilization term may be defined as in Equation 5.
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타냄V (n) k : k-th vertex at time n, n represents the image index constituting the video
Vp k: 과거 정보로부터 계산한 k번째 버텍스V p k : kth vertex calculated from past information
: 시간 (n-1)에서 k번째 최종 버텍스 : kth final vertex at time (n-1)
본 발명의 바람직한 일 실시예로서, Vp k는 이전프레임의 버텍스 위치만을 이용할 수도 있으나, 수학식 5의 일 예와 같이 복수의 이전프레임들의 버텍스 위치에 가중치를 부여한 후 합을 구한 값을 이용할 수도 있다. 이전프레임의 버텍스 위치 또는 적어도 하나 이상의 이전프레임들에 가중치를 부여한 후 합하여 계산한 버텍스 위치와 현재 프레임의 버텍스 위치와의 차이가 적을 수록 안정화 수준이 높아진다. As a preferred embodiment of the present invention, V p k may use only the vertex positions of the previous frame, but as an example of Equation 5, a value obtained by adding weights to the vertex positions of a plurality of previous frames and then summing may be used. have. The smaller the difference between the vertex position of the previous frame or the vertex position calculated by adding weights to at least one or more previous frames and the vertex position of the current frame, the higher the stabilization level.
메시기반 와핑 이미지 스티칭 알고리즘 NISwGSP는 특징점 매칭을 이용하여 이미지를 정렬하고, 또한 상기 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 로컬(local) 및 글로벌(global) 유사성을 모두 고려하여 수학식 4의 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행한다.The mesh-based warping image stitching algorithm NISwGSP aligns images using feature point matching, and also considers both local and global similarities between the vertices of the current frame and the vertices of at least one previous frame in Equation 4 Warping is performed by finding the vertex where the cost function of is minimized.
본 발명의 바람직한 일 실시예로서, 제 1 안정화부(210)는 수학식 2 및 4와 같은 형태의 새로운 비용함수와 이를 이용하는 메쉬기반 이미지 스티칭 알고리즘을 이용함으로써 360도 전용 카메라가 아닌 스마트폰과 같이 360도를 촬영하기 어려운 단말기들로 촬영한 비디오들을 흔들림없이 비디오스티칭을 수행할 수 있다. As a preferred embodiment of the present invention, the
이상에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 리드 온니 메모리(read only memory: ROM), 랜덤 억세스 메모리(random access memory: RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc: CD), 디지털 비디오 디스크(digital video disc: DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광학 디스크나 삭제가능 메모리 장치와 같이 데이터가 저장되고 나중에 덮어씌어질 수 있는 매체를 포함한다.The various functions described above may be implemented or supported by one or more computer programs, each of which consists of computer readable program code and is implemented in a computer readable medium. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or portions thereof suitable for implementation of suitable computer readable program code. The term "computer readable program code" includes computer code of any type, including source code, object code, and executable code. The term "computer-readable medium" refers to read only memory (ROM), random access memory (RAM), hard disk drives, compact discs (CDs), digital video discs. disc: DVD), or any other type of memory, including any type of media that can be accessed by a computer. “Non-transitory” computer-readable media excludes wired, wireless, optical, or other communication links that transmit transitory electrical or other signals. Non-transitory computer-readable media includes media in which data can be permanently stored, and media in which data can be stored and later overwritten, such as a rewritable optical disk or a removable memory device.
Claims (14)
상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하고,
상기 시간적으로 안정화를 수행하는 단계는
메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며, 상기 시간안정화텀은 이고,
상기 시간안정화 텀은
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
: 시간 (n-1)에서 k번째 최종 버텍스를 나타내는 것을 특징으로 하는 비디오스티칭방법.performing temporal stabilization using a difference value between a vertex of a current frame and a vertex of at least one previous frame in each of a plurality of images captured by a plurality of image photographing apparatuses; And
Including; performing spatial stabilization by stitching frames of the same time point of the temporally stabilizing images;
The step of performing the temporal stabilization is
The mesh-based warping image stitching algorithm performs warping by finding a vertex whose cost function is minimized by adding a time stabilization term generated using the vertices of the previous frame, wherein the time stabilization term is ego,
The time stabilization term is
is expressed as
V (n) k : the k-th vertex at time n, n represents the image index constituting the video,
V p k : kth vertex calculated from past information, and
: Video stitching method, characterized in that it represents the k-th final vertex at time (n-1).
상기 시간적 안정화 및 상기 공간적 안정화가 모두 수행된 영상들을 기초로 비디오 스티칭하는 단계;를 포함하는 것을 특징으로 하는 비디오스티칭방법.The method of claim 1,
and video stitching on the basis of the images on which both the temporal stabilization and the spatial stabilization have been performed.
비디오 안정화 알고리즘이 기적용된 이후 상기 시간적으로 안정화를 수행하는 것을 특징으로 하는 비디오스티칭방법. According to claim 1, wherein each of the plurality of images
Video stitching method, characterized in that the stabilization is performed temporally after the video stabilization algorithm is applied.
상기 현재 프레임의 버텍스와 상기 적어도 하나 이상의 이전 프레임의 버텍스(vertices)간의 차이값의 합이 최소화되도록 시간적으로 안정화를 수행하는 것을 특징으로 하는 비디오스티칭방법.The method according to claim 1, wherein each of the image photographing devices comprises:
and temporally stabilizing a vertex of the current frame to minimize a sum of difference values between vertices of the at least one previous frame.
상기 시간적으로 안정화가 수행된 비디오들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하고,
상기 시간적으로 안정화를 수행하는 단계는
메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스값을 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며,
상기 시간안정화텀은 이고, 상기 시간안정화 텀은
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
: 시간 (n-1)에서 k번째 최종 버텍스를 나타내는 것을 특징으로 하는 비디오스티칭방법.performing temporal stabilization by adjusting a vertex value of a current frame using a vertex value of a previous frame in each of a plurality of videos captured by a plurality of users; And
Including; performing spatial stabilization by stitching frames of the same view of the temporally stabilizing videos;
The step of performing the temporal stabilization is
The mesh-based warping image stitching algorithm performs warping by finding a vertex whose cost function is minimized by adding a time stabilization term generated using the vertex values of the previous frame.
The time stabilization term is and the time stabilization term is
is expressed as
V (n) k : the k-th vertex at time n, n represents the image index constituting the video,
V p k : kth vertex calculated from past information, and
: Video stitching method, characterized in that it represents the k-th final vertex at time (n-1).
상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들 간에 공간적 안정화를 수행하는 제 2 안정화부;를 포함하고,
상기 제 1안정화부는 메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며,
상기 시간안정화텀은 이고, 상기 시간안정화 텀은
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
: 시간 (n-1)에서 k번째 최종 버텍스를 나타내는 것을 특징으로 비디오스티칭장치.a first stabilizer for performing temporal stabilization by adjusting a vertex value of a current frame using a vertex value of a previous frame for each of the plurality of images on which image preprocessing has been performed; and
a second stabilizing unit for performing spatial stabilization between frames at the same time of the temporally stabilizing images; and
The first stabilizer searches for a vertex whose cost function is minimized by adding a time stabilization term generated using the vertex of the previous frame to the mesh-based warping image stitching algorithm and performs warping,
The time stabilization term is and the time stabilization term is
is expressed as
V (n) k : the k-th vertex at time n, n represents the image index constituting the video,
V p k : kth vertex calculated from past information, and
: Video stitching apparatus characterized in that it represents the k-th final vertex at time (n-1).
스마트폰으로 촬영된 영상인 것을 특징으로 하는 비디오스티칭장치. The method of claim 9, wherein each of the plurality of images
Video stitching device, characterized in that the image taken with a smartphone.
A computer-readable recording medium recording a computer program for executing the video stitching method according to any one of claims 1 to 4 and 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200170754A KR102452581B1 (en) | 2020-12-08 | 2020-12-08 | Method and Device for video stitching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200170754A KR102452581B1 (en) | 2020-12-08 | 2020-12-08 | Method and Device for video stitching |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220081168A KR20220081168A (en) | 2022-06-15 |
KR102452581B1 true KR102452581B1 (en) | 2022-10-07 |
Family
ID=81987338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200170754A KR102452581B1 (en) | 2020-12-08 | 2020-12-08 | Method and Device for video stitching |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102452581B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102505117B1 (en) * | 2022-08-11 | 2023-03-02 | (주)진명아이앤씨 | Multi-screen video streaming system optimized for remote streaming services |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10547825B2 (en) * | 2014-09-22 | 2020-01-28 | Samsung Electronics Company, Ltd. | Transmission of three-dimensional video |
US11049218B2 (en) * | 2017-08-11 | 2021-06-29 | Samsung Electronics Company, Ltd. | Seamless image stitching |
KR101915036B1 (en) | 2017-11-17 | 2018-11-05 | 울산과학기술원 | Method, system and computer-readable recording medium for video stitching in real time |
-
2020
- 2020-12-08 KR KR1020200170754A patent/KR102452581B1/en active IP Right Grant
Non-Patent Citations (4)
Title |
---|
Aocheng Li 외 2명, Computer Vision and Pattern Recognition(2020.07.06. 공개) 1부.* |
Wei Jiang 외 1명, 2015 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW) (2015.06.12. 공개) 1부.* |
Yu-Sheng Chen 외 1명, ECCV 2016, Part V, LNCS 9909, pp. 186-201, 2016.(2016.10.31. 공개) 1부.* |
이재철 외 3명, 이미지 모자이크 기술 현황 분석 보고서(2005.07.30. 공개) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220081168A (en) | 2022-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10217200B2 (en) | Joint video stabilization and rolling shutter correction on a generic platform | |
US8750645B2 (en) | Generating a composite image from video frames | |
US9773192B2 (en) | Fast template-based tracking | |
US11871127B2 (en) | High-speed video from camera arrays | |
CN105635588B (en) | A kind of digital image stabilization method and device | |
US20070237423A1 (en) | Constructing image panorama using frame selection | |
JP7112595B2 (en) | Image processing method and apparatus, computer equipment and computer program | |
WO2019127512A1 (en) | Image processing method for photography device, photography device and movable platform | |
CN110611767B (en) | Image processing method and device and electronic equipment | |
JP7247327B2 (en) | Techniques for Capturing and Editing Dynamic Depth Images | |
CN111372000B (en) | Video anti-shake method and apparatus, electronic device, and computer-readable storage medium | |
KR102452581B1 (en) | Method and Device for video stitching | |
CN111712857A (en) | Image processing method, device, holder and storage medium | |
KR101945233B1 (en) | Method and Apparatus for Stabilizing Video | |
WO2021031210A1 (en) | Video processing method and apparatus, storage medium, and electronic device | |
CN114390219B (en) | Shooting method, shooting device, electronic equipment and storage medium | |
KR102308373B1 (en) | Video Deblurring Device for Face Recognition and Driving Method Thereof | |
CN112437253B (en) | Video splicing method, device, system, computer equipment and storage medium | |
KR20230093981A (en) | Method and Device for video stitching | |
US10282633B2 (en) | Cross-asset media analysis and processing | |
KR101741150B1 (en) | An imaging photographing device and an imaging photographing method using an video editing | |
CN113891005B (en) | Shooting method and device and electronic equipment | |
CN115514895B (en) | Image anti-shake method, apparatus, electronic device, and computer-readable storage medium | |
KR102211760B1 (en) | Apparatus and method for recommending image capture guide based on image taken in the past at certain place | |
Shankarpure et al. | Real-Time Frame-to-Frame Jitter Removing Video Stabilization Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |