KR102452581B1 - Method and Device for video stitching - Google Patents

Method and Device for video stitching Download PDF

Info

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
Application number
KR1020200170754A
Other languages
Korean (ko)
Other versions
KR20220081168A (en
Inventor
김광환
이윤구
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020200170754A priority Critical patent/KR102452581B1/en
Publication of KR20220081168A publication Critical patent/KR20220081168A/en
Application granted granted Critical
Publication of KR102452581B1 publication Critical patent/KR102452581B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/683Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
    • H04N5/23267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0093Geometric image transformation in the plane of the image for image warping, i.e. transforming by individually repositioning each pixel
    • G06T3/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N5/23229
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio 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/265Mixing

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

비디오 스티칭 방법 및 장치{Method and Device for video stitching}Method and Device for video stitching

본 발명은 비디오 스티칭 방법, 장치 및 컴퓨터 판독 가능 기록매체에 관한 것으로, 구체적으로 실시간으로 촬영되는 영상을 스티칭(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.

KR 10-1915036 B1KR 10-1915036 B1

본 발명의 바람직한 일 실시예에서는 사용자들이 촬영한 비디오들을 이미지 스티칭으로 비디오를 구성하였을 때 발생하는 비디오의 떨림 현상을 보완한 비디오스티칭 방법에 대해 제안하고자 한다. 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 computing system 100 for performing video stitching according to an embodiment of the present invention.
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 computing system 100 for performing video stitching according to an embodiment of the present invention.

도 1에 도시되어 있는 바와 같이, 상기 시스템(100)은 네트워크(102)를 포함하며, 상기 네트워크(102)는 상기 시스템(100)에 포함되어 있는 다양한 컴포넌트들간의 통신을 가능하게 한다. As shown in FIG. 1 , the system 100 includes a network 102 , which enables communication between various components included in the system 100 .

상기 네트워크(102)는 하나 혹은 그 이상의 근거리 통신 네트워크(local area network: LAN)들, 도시 지역 통신 네트워크(metropolitan area network: MAN)들, 광역 네트워크(wide area network: WAN)들, 혹은 상기 인터넷과 같은 전세계 네트워크의 전부 혹은 일부, 혹은 다른 통신 시스템, 혹은 하나 혹은 그 이상의 위치들에서의 시스템들을 포함할 수 있다. The network 102 may include one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), or the Internet It may include all or part of the same worldwide network, or different communication systems, or systems at one or more locations.

상기 네트워크(102)는 적어도 하나의 서버(104)와 다양한 클라이언트 디바이스들(103-114)간의 통신들을 가능하게 한다. 상기 서버(104)는 하나 혹은 그 이상의 클라이언트 디바이스들에 대한 컴퓨팅 서비스들을 제공할 수 있는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 포함한다. 상기 서버(104)는 일 예로, 하나 혹은 그 이상의 프로세싱 디바이스들, 명령어들 및 데이터를 저장하는 하나 혹은 그 이상의 메모리들, 상기 네트워크(102)를 통한 통신을 가능하게 하는 하나 혹은 그 이상의 네트워크 인터페이스들을 포함할 수 있다. The network 102 enables communications between at least one server 104 and various client devices 103-114. The server 104 includes a suitable computing or processing device capable of providing computing services for one or more client devices. The server 104 may include, for example, one or more processing devices, one or more memories for storing instructions and data, and one or more network interfaces that enable communication over the network 102 . may include

사용자들은 각각 스마트폰(103, 105)과 같은 단말기를 이용하여 원하는 영상을 촬영할 수 있다. 본 발명의 바람직한 일 실시예에서, 사용자가 사용하는 단말기는 360도 전용 카메라는 제외되는 것을 특징으로 한다. Users can take a desired image by using a terminal such as the smart phones 103 and 105, respectively. In a preferred embodiment of the present invention, the terminal used by the user is characterized in that the 360-degree dedicated camera is excluded.

각 클라이언트 디바이스(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 network 102 . In this example, the client devices 103-114 include a desktop computer 106 , a mobile phone or smart phone 108 , a personal digital assistant (PDA) 110 , a laptop computer 112 and a tablet. computer 114 . However, any other or additional client devices may be used in the computing device 100 .

이 예제에서, 일부 클라이언트 디바이스들(108-114)은 상기 네트워크(102)와 간접적으로 통신한다. 일 예로, 상기 클라이언트 디바이스들(108-110)은 셀룰라 기지국들 혹은 eNodeB들과 같은 하나 혹은 그 이상의 기지국들(116)과 통신한다. 각 클라이언트 디바이스는 상기 네트워크(102)와 직접적으로 통신할 수 있거나 혹은 적합한 중개 디바이스(들) 혹은 네트워크(들)를 통해 상기 네트워크(102)와 간접적으로 통신할 수 있다. In this example, some client devices 108 - 114 communicate indirectly with the network 102 . In one example, the client devices 108 - 110 communicate with one or more base stations 116 , such as cellular base stations or eNodeBs. Each client device may communicate directly with the network 102 or indirectly with the network 102 via suitable intermediary device(s) or network(s).

도 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 video stitching apparatus 200 is premised on receiving an image of the surrounding environment with several cameras, such as a smartphone, which is not easy to shoot 360 degrees. At this time, it is assumed that video stabilization algorithms for removing shaking and warping have already been applied to each of the received images and image pre-processing has been performed.

일반적으로 비디오 스티칭은 각 비디오 프레임들을 여러 번 이미지 스티칭하여 비디오를 구성하는 것을 지칭한다. 그러나, 이러한 방법은 각 프레임마다 독립적으로 수행한 이미지스티칭으로 인해 각 프레임마다 이미지스티칭 형태가 다르게 된다. 그 결과 비디오스티칭을 수행한 영상이 심하게 흔들리는 문제가 발생한다. 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 video stitching apparatus 200 uses a video stitching method that performs both temporal stabilization and spatial stabilization.

본 발명의 바람직한 일 실시예로서, 비디오스티칭장치(200)는 안정화부 및 표시부(230)를 포함한다. 안정화부는 제 1 안정화부(210), 제 2 안정화부(220)를 포함한다. As a preferred embodiment of the present invention, the video stitching apparatus 200 includes a stabilizing unit and a display unit 230 . The stabilizing unit includes a first stabilizing unit 210 and a second stabilizing unit 220 .

제 1 안정화부(210)는 시간적 안정화를 수행하고, 제 2 안정화부(220)는 제 1 안정화부에서 시간적 안정화가 수행된 영상들의 동일 시점의 프레임들을 스티칭하여 공간적 안정화를 수행한다. The first stabilizing unit 210 performs temporal stabilization, and the second stabilizing unit 220 performs spatial stabilization by stitching frames at the same time of the images for which temporal stabilization has been performed in the first stabilizing unit.

제 1 안정화부(210)의 시간적 안정화와 제 2 안정화부(220)의 공간적 안정화는 순차적으로 수행되거나, 동시에 수행되거나 또는 선후를 번갈아가며 교차적으로 수행될 수 있다. The temporal stabilization of the first stabilizing unit 210 and the spatial stabilizing of the second stabilizing unit 220 may be sequentially performed, simultaneously performed, or alternately performed alternately before and after.

그리고, 표시부(230)는 시간적 안정화 및 공간적 안정화가 모두 이루어진 비디오스티칭 영상을 출력한다. 본 발명의 바람직한 일 실시예에 따른 비디오스티칭 방법에 따라 비디오스티칭이 이루어진 영상의 일 예는 도 4(400)와 같다. In addition, the display unit 230 outputs a video stitching image in which both temporal and spatial stabilization are performed. An example of an image on which video stitching is performed according to a video stitching method according to a preferred embodiment of the present invention is shown in FIG. 4 ( 400 ).

본 발명의 바람직한 일 실시예로서, 비디오스티칭장치(200)는 글로벌호모그래피, 메시기반 이미지 스티칭 등 다양한 이미지스티칭알고리즘을 이용할 수 있다. 글로벌호모그래피는 두 이미지의 특징점을 추출하고 매칭하여 호모그래피를 구하고 호모그래피로 이미지를 변환하여 스티칭을 수행한다. As a preferred embodiment of the present invention, the video stitching apparatus 200 may use various image stitching algorithms such as global homography and mesh-based image stitching. Global homography extracts and matches the feature points of two images to obtain homography, converts the images into homography, and performs stitching.

그러나, 호모그래피 기법만으로 이미지 스티칭을 수행하는 글로벌 호모그래피 방식의 경우 에러에 민감한 문제가 있으므로, 본 발명의 비디오스티칭장치(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 video stitching apparatus 200 of the present invention may further use a mesh-based warping image stitching method to compensate for this. The mesh-based warping image stitching technique divides the image into meshes as in the embodiment of FIG. 4 , obtains homography information for each polygon, and performs stitching, thereby reducing the sensitivity to errors occurring in the global homography method.

비디오스티칭장치(200)를 구성하는 각 구성을 상세히 살펴본다. Each configuration constituting the video stitching apparatus 200 will be described in detail.

제 1 안정화부(210)는 비디오스티칭시 이미지스티칭 알고리즘만으로 비디오스티칭을 수행할 경우 이미지 사이의 공간적 관계만 고려하게 되어 발생하게 되는 비디오의 떨림 문제를 해결할 수 있다. 비디오는 현재프레임과 이전프레임이라는 시간적인 특성을 지닌다. 제 1 안정화부(210)는 현재프레임과 이전프레임이라는 시간적인 특성을 이용하여 시간적 안정화를 수행하며, 이를 위해 비용함수와 이미지스티칭 알고리즘에 시간안정화텀을 수학식 2 및 4와 같이 각각 부가한다. The first stabilizing unit 210 may solve a video shaking problem caused by considering only a spatial relationship between images when video stitching is performed only with an image stitching algorithm during video stitching. Video has temporal characteristics of the current frame and the previous frame. The first stabilization unit 210 performs temporal stabilization by using temporal characteristics of the current frame and the previous frame, and for this purpose, a temporal stabilization term is added to the cost function and the image stitching algorithm as shown in Equations 2 and 4, respectively.

Figure 112020133121827-pat00001
Figure 112020133121827-pat00001

수학식 1은 기존에 이용하던 비용함수의 수식을 나타낸다. Equation 1 represents the equation of the cost function used in the past.

여기서, V는 아래와 같이 정의된다.Here, V is defined as follows.

Figure 112020133121827-pat00002
Figure 112020133121827-pat00002

Figure 112020133121827-pat00003
Figure 112020133121827-pat00003

본 발명의 바람직한 일 실시예에서, 제 1 안정화부(210)는 시간안정화텀

Figure 112020133121827-pat00004
이 부가된 비용함수를 이용한다. 시간안정화텀
Figure 112020133121827-pat00005
은 비디오의 현재 프레임의 버텍스와 적어도 하나 이상의 이전 프레임의 버텍스간의 차이값을 이용하여 시간적으로 안정화를 수행한다. 시간안정화텀
Figure 112020133121827-pat00006
은 현재프레임에서 이전 프레임의 버텍스와의 차이값이 최소화되도록 유지시킴으로써, 이미지 스티칭과 동시에 비디오스티칭이 가능하도록 구현된다. 현재 프레임과 이전 프레임을 스티칭하여 프레임 사이의 간격을 줄이면서 마치 흔들림이 없는 것처럼 비디오의 떨림을 감소시킨다. In a preferred embodiment of the present invention, the first stabilizing unit 210 is a time stabilization term
Figure 112020133121827-pat00004
Use this added cost function. time stabilization term
Figure 112020133121827-pat00005
performs temporal stabilization using a difference value between the vertices of the current frame of the video and the vertices of at least one or more previous frames. time stabilization term
Figure 112020133121827-pat00006
is implemented to enable video stitching at the same time as image stitching by keeping the difference value from the vertex of the previous frame in the current frame to be minimized. By stitching the current frame and the previous frame, the gap between frames is reduced while reducing the jitter in the video as if there was no jitter.

본 발명의 또 다른 바람직한 일 실시예에서는 제 1 안정화부(210)에서 이용하는 비용함수의 시간안정화텀

Figure 112020133121827-pat00007
의 성능을 확인하기 위하여 수학식 4와 같이 메시기반 와핑 이미지 스티칭 알고리즘 NISwGSP에 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가하였다. 본 발명의 바람직한 일 실시예에서는 NISwGSP에 시간안정화텀을 부가하여 이전프레임과 현재프레임의 차이를 최소화함으로써 영상을 구성하는 이전프레임과 현재프레임과의 시간적 안정화뿐만 아니라 공간적 안정화까지 수행될 수 있다.In another preferred embodiment of the present invention, the time stabilization term of the cost function used in the first stabilization unit 210 .
Figure 112020133121827-pat00007
In order to check the performance of the mesh-based warping image stitching algorithm NISwGSP as shown in Equation 4, a time stabilization term generated using the vertices of the previous frame is added. In a preferred embodiment of the present invention, by adding a temporal stabilization term to NISwGSP to minimize the difference between the previous frame and the current frame, not only temporal stabilization between the previous frame and the current frame constituting an image but also spatial stabilization can be performed.

Figure 112020133121827-pat00008
Figure 112020133121827-pat00008

수학식 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

Figure 112020133121827-pat00009
: 이미지 스티칭이 완료된 최종 버텍스값
Figure 112020133121827-pat00009
: The final vertex value after image stitching is completed

Figure 112020133121827-pat00010
: 영상간의 얼라인먼트(alignment)를 통해 매칭 에러를 최소화시켜주는 항으로, 특징점으로 얻은 영상 간의 수학적 관계만을 기초로 버텍스를 계산하는 항
Figure 112020133121827-pat00010
: A term that minimizes the matching error through alignment between images

Figure 112020133121827-pat00011
: 가중치 값
Figure 112020133121827-pat00011
: weight value

Figure 112020133121827-pat00012
: 버텍스 사이의 위치 구조 관계를 지역적(local)으로 안정화 시키기 위한 항으로,
Figure 112020133121827-pat00012
: A term for stabilizing the positional structure relationship between vertices locally,

Figure 112020133121827-pat00013
: 버텍스 사이의 위치 구조 관계를 영상 전체(global)적으로 안정화 시키기 위한 항
Figure 112020133121827-pat00013
: A term for global stabilization of the positional structure relationship between vertices

Figure 112020133121827-pat00014
Figure 112020133121827-pat00014

본 발명의 바람직한 일 실시예에서는 NISwGSP의 비용함수에 시간안정화 텀

Figure 112020133121827-pat00015
을 부가한 새로운 NISwGSP를 이용한다. 이 경우 시간적안정화텀에 웨이트
Figure 112020133121827-pat00016
를 부여할 수 있다. 시간안정화 텀은 수학식 5와 같이 정의될 수 있다.In a preferred embodiment of the present invention, the time stabilization term in the cost function of NISwGSP
Figure 112020133121827-pat00015
A new NISwGSP is used. In this case, the weight in the temporal stabilization term
Figure 112020133121827-pat00016
can be given The time stabilization term may be defined as in Equation 5.

Figure 112020133121827-pat00017
Figure 112020133121827-pat00017

Figure 112020133121827-pat00018
Figure 112020133121827-pat00018

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

Figure 112020133121827-pat00019
: 시간 (n-1)에서 k번째 최종 버텍스
Figure 112020133121827-pat00019
: 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 first stabilization unit 210 uses a new cost function of the form of Equations 2 and 4 and a mesh-based image stitching algorithm using the same, such as a smartphone, not a 360-degree camera. Video stitching can be performed without shaking on videos shot with terminals that are difficult to shoot 360 degrees.

이상에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 리드 온니 메모리(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)하여 공간적으로 안정화를 수행하는 단계;를 포함하고,
상기 시간적으로 안정화를 수행하는 단계는
메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며, 상기 시간안정화텀은
Figure 112022027515828-pat00024
이고,
상기 시간안정화 텀은
Figure 112022027515828-pat00025

Figure 112022027515828-pat00026
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
Figure 112022027515828-pat00027
: 시간 (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
Figure 112022027515828-pat00024
ego,
The time stabilization term is
Figure 112022027515828-pat00025

Figure 112022027515828-pat00026
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
Figure 112022027515828-pat00027
: Video stitching method, characterized in that it represents the k-th final vertex at time (n-1).
제 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.
제 1 항에 있어서, 상기 복수의 영상 각각은
비디오 안정화 알고리즘이 기적용된 이후 상기 시간적으로 안정화를 수행하는 것을 특징으로 하는 비디오스티칭방법.
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.
제 1 항에 있어서, 상기 영상촬영장치 각각은
상기 현재 프레임의 버텍스와 상기 적어도 하나 이상의 이전 프레임의 버텍스(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.
삭제delete 삭제delete 삭제delete 복수의 사용자가 촬영한 복수의 비디오 각각에서 이전 프레임의 버텍스값을 이용하여 현재 프레임의 버텍스 값을 조정하여 시간적으로 안정화를 수행하는 단계;및
상기 시간적으로 안정화가 수행된 비디오들의 동일 시점의 프레임들을 스티칭(Stitching)하여 공간적으로 안정화를 수행하는 단계;를 포함하고,
상기 시간적으로 안정화를 수행하는 단계는
메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스값을 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며,
상기 시간안정화텀은
Figure 112022027515828-pat00028
이고, 상기 시간안정화 텀은
Figure 112022027515828-pat00029

Figure 112022027515828-pat00030
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
Figure 112022027515828-pat00031
: 시간 (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
Figure 112022027515828-pat00028
and the time stabilization term is
Figure 112022027515828-pat00029

Figure 112022027515828-pat00030
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
Figure 112022027515828-pat00031
: Video stitching method, characterized in that it represents the k-th final vertex at time (n-1).
영상전처리가 수행된 복수의 영상 각각에 대해 이전 프레임의 버텍스값을 이용하여 현재 프레임의 버텍스 값을 조정하여 시간적 안정화를 수행하는 제1안정화부; 및
상기 시간적으로 안정화가 수행된 영상들의 동일 시점의 프레임들 간에 공간적 안정화를 수행하는 제 2 안정화부;를 포함하고,
상기 제 1안정화부는 메시기반 와핑 이미지 스티칭 알고리즘에 상기 이전 프레임의 버텍스를 이용하여 생성한 시간안정화텀을 부가한 비용함수가 최소화되는 버텍스를 찾아 와핑을 수행하며,
상기 시간안정화텀은
Figure 112022027515828-pat00032
이고, 상기 시간안정화 텀은
Figure 112022027515828-pat00033

Figure 112022027515828-pat00034
로 표현되며,
V(n) k: 시간 n에서 k번째 버텍스, n은 비디오를 구성하는 영상 인덱스를 나타내고,
Vp k: 과거 정보로부터 계산한 k번째 버텍스, 그리고
Figure 112022027515828-pat00035
: 시간 (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
Figure 112022027515828-pat00032
and the time stabilization term is
Figure 112022027515828-pat00033

Figure 112022027515828-pat00034
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
Figure 112022027515828-pat00035
: Video stitching apparatus characterized in that it represents the k-th final vertex at time (n-1).
삭제delete 삭제delete 제 9 항에 있어서, 상기 동일 시점의 프레임들간의 호모그래피 정보들에 기반하여 상기 동일 시점의 프레임들을 결합하여 비디오스티칭을 수행하는 비디오스티칭장치.The video stitching apparatus of claim 9 , wherein video stitching is performed by combining frames of the same view based on homography information between frames of the same view. 제 9 항에 있어서, 상기 복수의 영상 각각은
스마트폰으로 촬영된 영상인 것을 특징으로 하는 비디오스티칭장치.
The method of claim 9, wherein each of the plurality of images
Video stitching device, characterized in that the image taken with a smartphone.
제 1 항 내지 제 4항 및 제 8 항 중 어느 한 항에 따른 비디오스티칭 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.

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.

KR1020200170754A 2020-12-08 2020-12-08 Method and Device for video stitching KR102452581B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
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