JP2016005263A - Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images - Google Patents
Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images Download PDFInfo
- Publication number
- JP2016005263A JP2016005263A JP2014126742A JP2014126742A JP2016005263A JP 2016005263 A JP2016005263 A JP 2016005263A JP 2014126742 A JP2014126742 A JP 2014126742A JP 2014126742 A JP2014126742 A JP 2014126742A JP 2016005263 A JP2016005263 A JP 2016005263A
- Authority
- JP
- Japan
- Prior art keywords
- captured images
- image
- camera posture
- point correspondence
- terminal
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Studio Devices (AREA)
Abstract
Description
本発明は、異なる視点で撮影された複数の撮影画像から、1枚のパノラマ画像を生成する技術に関する。 The present invention relates to a technique for generating a single panoramic image from a plurality of captured images captured from different viewpoints.
パノラマ画像を生成するために、一般に「Image Stitching」と称される技術がある。この技術によれば、互いに重複する領域のある複数の撮影画像を入力とし、それら撮影画像のカメラの移動量を算出し、その移動量に基づいて1つの座標系上に合成する。具体的には、ブリティッシュ・コロンビア大学によって公開されたアプリケーション「AutoStich」がある(例えば非特許文献1及び2参照)。これによって、撮影対象が1つの視点からの撮影画像に収まらないような広範囲であっても、1枚のパノラマ画像を生成することができる。例えば5秒間程度、カメラを動かしながら連写撮影することによって、その時間範囲で撮影された複数の撮影画像を、1枚のパノラマ画像として生成することができる。 In order to generate a panoramic image, there is a technique generally called “Image Stitching”. According to this technique, a plurality of captured images having regions overlapping each other are input, the movement amounts of the captured images of the camera are calculated, and synthesized on one coordinate system based on the movement amounts. Specifically, there is an application “AutoStich” published by the University of British Columbia (for example, see Non-Patent Documents 1 and 2). As a result, a single panoramic image can be generated even if the subject to be photographed is in a wide range that does not fit in the photographed image from one viewpoint. For example, by performing continuous shooting while moving the camera for about 5 seconds, it is possible to generate a plurality of shot images shot in that time range as one panoramic image.
また、端末で撮影した撮影画像をネットワークを介してクラウドサーバへ送信し、そのサーバでスティッチング処理を実行し、そのサーバで生成されたパノラマ画像を端末へ返信する技術もある(例えば特許文献1参照)。スティッチング処理は、高い計算コストを要する画像処理であるために、サーバ側で実行することは有効である。 There is also a technique for transmitting a captured image captured by a terminal to a cloud server via a network, executing stitching processing by the server, and returning a panoramic image generated by the server to the terminal (for example, Patent Document 1). reference). Since the stitching process is an image process that requires high calculation costs, it is effective to execute it on the server side.
しかしながら、特許文献1に記載の技術によれば、撮影画像が高解像度である場合や、ネットワークの伝送経路が輻輳している場合に、撮影画像の送信フレームレートが低下することが考えられる。結果として、撮影時のカメラの移動距離が長くなり、撮影画像間の重複領域が小さくなる。 However, according to the technique described in Patent Document 1, it is conceivable that the transmission frame rate of the captured image is lowered when the captured image has a high resolution or when the network transmission path is congested. As a result, the moving distance of the camera at the time of shooting becomes longer, and the overlapping area between the shot images becomes smaller.
図1は、従来技術についてパノラマ画像の生成が困難な場合を表す説明図である。 FIG. 1 is an explanatory diagram showing a case where it is difficult to generate a panoramic image in the related art.
特許文献1に記載の従来技術によれば、高速にパノラマ画像を生成できる一方で、複数の撮影画像について互いに重複領域が小さい場合や、その領域が存在しない場合、フレーム間対応の計算ができず、パノラマ画像を生成することができない。逆に、端末のみで処理を行う場合は、認識対象をリアルタイムに追跡することで、離散的に撮影された画像間の重複領域が少ない場合でも、パノラマ画像を生成することができる一方で、多大な計算時間を要する。 According to the prior art described in Patent Document 1, panoramic images can be generated at high speed, but when a plurality of captured images have a small overlapping area or when there is no such area, calculation for correspondence between frames cannot be performed. Cannot generate panoramic images. Conversely, when processing is performed only with the terminal, by tracking the recognition target in real time, a panoramic image can be generated even when there are few overlapping areas between discretely captured images. Time is required.
そこで、本発明は、重複領域の少ない又は存在しない複数の撮影画像から1枚のパノラマ画像を高速に生成することができる画像生成システム、端末、プログラム及び方法を提供することを目的とする。 Therefore, an object of the present invention is to provide an image generation system, a terminal, a program, and a method capable of generating a single panoramic image at high speed from a plurality of captured images with little or no overlapping area.
本発明によれば、端末によって撮影された複数の撮影画像から、サーバによって1枚のパノラマ画像を生成する画像生成システムにおいて、
端末は、
撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
点対応計算手段及びカメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、バッファフレーム記憶手段に記憶するフレーム間関係計算手段と、
バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、サーバへ送信するフレーム送信手段と
を有し、
サーバは、端末から受信した複数の撮影画像から、カメラ姿勢によって変換したパノラマ画像を生成するパノラマ画像生成手段を有する
ことを特徴とする。
According to the present invention, in an image generation system for generating a single panoramic image by a server from a plurality of captured images captured by a terminal,
The terminal
Buffer frame storage means for sequentially inputting and storing captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
An inter-frame relationship calculating means for storing in a buffer frame storage means a camera posture for associating captured images with the point correspondence calculating means and the camera posture calculating means;
A frame transmission means for transmitting, to the server, a captured image selected to generate a panoramic image and a product of a camera posture connecting the captured images using the buffer frame storage means;
The server includes panoramic image generation means for generating a panoramic image converted according to the camera posture from a plurality of photographed images received from the terminal.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、撮影画像(ノード)間と、それに対応付けたカメラ姿勢(エッジ)とで表現された有向グラフを、バッファフレーム記憶手段に記憶することも好ましい。
According to another embodiment of the image generation system of the present invention,
It is also preferable that the inter-frame relationship calculation means of the terminal stores the directed graph expressed by the captured image (node) and the camera posture (edge) associated therewith in the buffer frame storage means.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像について、有向グラフで表現された各撮影画像間における最短経路を探索し、その最短経路の複数の射影変換行列の積をカメラ姿勢として算出することも好ましい。
According to another embodiment of the image generation system of the present invention,
The inter-frame relationship calculation means of the terminal uses the buffer frame storage means to search for the shortest path between the captured images represented by the directed graph for the captured image selected to generate the panoramic image, and It is also preferable to calculate the product of a plurality of projective transformation matrices as the camera posture.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく過去に送信された撮影画像について、有向グラフで表現された撮影画像間の最短経路を再探索し、その最短経路の複数の射影変換行列の積をカメラ姿勢として算出することも好ましい。
According to another embodiment of the image generation system of the present invention,
The interframe relationship calculation means of the terminal uses the buffer frame storage means to re-search for the shortest path between the captured images represented by the directed graph for the captured images transmitted in the past to generate a panoramic image, It is also preferable to calculate the product of a plurality of projective transformation matrices of the path as the camera posture.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、カメラ姿勢計算手段を用いて、各撮影画像間の点対応に基づきカメラ姿勢を再計算し、有向グラフを再構築するようにバッファフレーム記憶手段を制御することも好ましい。
According to another embodiment of the image generation system of the present invention,
It is also preferable that the interframe relationship calculation means of the terminal uses the camera attitude calculation means to recalculate the camera attitude based on the point correspondence between each captured image and to control the buffer frame storage means so as to reconstruct the directed graph. .
本発明の画像生成システムにおける他の実施形態によれば、
端末は、点対応計算手段に入力される撮影画像に対して、ダウンサンプリングによって1枚の撮影画像の解像度を低減させるべく変換するダウンサンプリング手段を更に有することも好ましい。
According to another embodiment of the image generation system of the present invention,
The terminal preferably further includes down-sampling means for converting the photographed image input to the point correspondence calculation means to reduce the resolution of one photographed image by down-sampling.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、バッファフレーム間の画像領域の重複度を計算し、その重複度が所定閾値以下となるフレームのみをバッファするようにバッファフレーム記憶手段を制御することも好ましい。
According to another embodiment of the image generation system of the present invention,
It is also preferable that the interframe relationship calculation means of the terminal calculates the degree of duplication of the image areas between the buffer frames and controls the buffer frame storage means so as to buffer only frames whose duplication degree is equal to or less than a predetermined threshold.
本発明の画像生成システムにおける他の実施形態によれば、
端末のフレーム間関係計算手段は、バッファフレーム記憶手段を用いて、
入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できない場合、入力フレームと他の複数のバッファフレームとの間で、点対応及びカメラ姿勢を計算し、
入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できる場合、入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を計算する
ことも好ましい。
According to another embodiment of the image generation system of the present invention,
The interframe relationship calculation means of the terminal uses the buffer frame storage means,
If point correspondence and camera orientation are not available between the input frame and the previous buffer frame, calculate point correspondence and camera orientation between the input frame and other buffer frames,
When the point correspondence and the camera posture can be used between the input frame and the previous buffer frame, it is also preferable to calculate the point correspondence and the camera posture between the input frame and the previous buffer frame.
本発明によれば、撮影された複数の撮影画像を、パノラマ画像を生成するサーバへ送信する端末において、
撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
点対応計算手段及びカメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、バッファフレーム記憶手段に記憶させるフレーム間関係計算手段と、
バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、サーバへ送信するフレーム送信手段と
を有することを特徴とする。
According to the present invention, in a terminal that transmits a plurality of captured images to a server that generates a panoramic image,
Buffer frame storage means for sequentially inputting and storing captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
An inter-frame relationship calculating means for storing a camera posture for associating captured images with each other using a point correspondence calculating means and a camera posture calculating means;
A frame transmission unit that transmits a captured image selected to generate a panoramic image and a product of a camera posture connecting the captured images to the server using the buffer frame storage unit.
本発明によれば、撮影された複数の撮影画像を、パノラマ画像を生成するサーバへ送信する端末に搭載されたコンピュータを機能させるプログラムにおいて、
撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
点対応計算手段及びカメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、バッファフレーム記憶手段に記憶させるフレーム間関係計算手段と、
バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、サーバへ送信するフレーム送信手段と
してコンピュータを機能させることを特徴とする。
According to the present invention, in a program that causes a computer mounted on a terminal that transmits a plurality of captured images to a server that generates a panoramic image to function,
Buffer frame storage means for sequentially inputting and storing captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
An inter-frame relationship calculating means for storing a camera posture for associating captured images with each other using a point correspondence calculating means and a camera posture calculating means;
Using the buffer frame storage means, the computer is caused to function as a frame transmission means for transmitting a photographed image selected to generate a panoramic image and a product of camera postures connecting the photographed images to a server. .
本発明によれば、端末によって撮影された複数の撮影画像から、サーバによって1枚のパノラマ画像を生成する画像生成方法において、
端末は、
撮影画像を逐次に入力して記憶する第1のステップと、
複数の撮影画像について画像間の特徴点の点対応を計算する第2のステップと、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算する第3のステップと、
第2のステップ及び第3のステップを繰り返し、撮影画像間を対応付けるカメラ姿勢を記憶する第4のステップと、
パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、サーバへ送信する第5のステップと
を有し、
サーバは、端末から受信した複数の撮影画像から、カメラ姿勢によって変換したパノラマ画像を生成する
ことを特徴とする。
According to the present invention, in an image generation method for generating a single panoramic image by a server from a plurality of captured images captured by a terminal,
The terminal
A first step of sequentially inputting and storing captured images;
A second step of calculating a point correspondence of feature points between images for a plurality of captured images;
A third step of calculating a projective transformation matrix as a camera posture from the point correspondence between the captured images;
A fourth step of repeating the second step and the third step to store a camera posture for associating the captured images;
A fifth step of transmitting the captured image selected to generate the panoramic image and the product of the camera posture connecting the captured images to the server;
The server generates a panoramic image converted according to a camera posture from a plurality of captured images received from the terminal.
本発明の画像生成システム、端末、プログラム及び方法によれば、重複領域の少ない又は存在しない複数の撮影画像から1枚のパノラマ画像を高速に生成することができる。 According to the image generation system, terminal, program, and method of the present invention, a single panoramic image can be generated at high speed from a plurality of captured images that have little or no overlapping area.
以下、本発明の実施の形態について、図面を用いて詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図2は、本発明における画像生成システムの機能構成図である。 FIG. 2 is a functional configuration diagram of the image generation system according to the present invention.
図2によれば、画像生成システムは、端末1とサーバ2とがネットワークを介して接続されている。一般的に、端末1は計算処理能力が比較的低く、サーバ2は計算処理能力が比較的高い。端末1は、例えばスマートフォンやタブレットのような端末であって、周辺状況を撮影するカメラモジュール(Webカメラ)101と、ディスプレイ102と、通信インタフェース103とを有する。 According to FIG. 2, in the image generation system, a terminal 1 and a server 2 are connected via a network. Generally, the terminal 1 has a relatively low calculation processing capacity, and the server 2 has a relatively high calculation processing capacity. The terminal 1 is a terminal such as a smartphone or a tablet, for example, and includes a camera module (Web camera) 101 that captures a surrounding situation, a display 102, and a communication interface 103.
カメラモジュール101は、例えば連写や動画によって被写体を撮影した複数枚の撮影画像(フレーム)を、画像生成プログラムへ出力する。複数枚の撮影画像は、1台のカメラで撮影されたものに限られず、複数の異なるカメラで異なる視点から撮影されたものであってもよい。また、それら複数枚の撮影画像は、ユーザの所望の指示タイミングで撮影されたものであってもよい。更に、カメラが映像(ビデオ)を撮影し、その映像から切り出した複数のフレームであってもよい。 The camera module 101 outputs a plurality of photographed images (frames) obtained by photographing the subject by, for example, continuous shooting or moving images to the image generation program. The plurality of photographed images are not limited to those photographed by one camera and may be photographed from different viewpoints by a plurality of different cameras. Further, the plurality of captured images may be captured at a user's desired instruction timing. Furthermore, the frame may be a plurality of frames cut out from the video (video) taken by the camera.
ディスプレイ102は、情報機器に組み込まれたものに限られず、外部に接続されたテレビや、パーソナルコンピュータ用ディプレイ、又はヘッドマウントディスプレイであってもよい。ディスプレイ102は、サーバ2によって生成された1枚のパノラマ画像を表示し、ユーザに視認させる。 The display 102 is not limited to a display incorporated in an information device, and may be a television connected to the outside, a display for a personal computer, or a head mounted display. The display 102 displays one panoramic image generated by the server 2 and makes the user visually recognize it.
通信インタフェース103は、インターネットのようなネットワークを介して、パノラマ画像を生成するサーバ2と通信する。通信インタフェース103は、複数枚の撮影画像をサーバ2へ送信し、サーバ2から1枚のパノラマ画像を受信する。 The communication interface 103 communicates with the server 2 that generates a panoramic image via a network such as the Internet. The communication interface 103 transmits a plurality of photographed images to the server 2 and receives one panoramic image from the server 2.
一般的な画像生成システムは、複数枚の撮影画像からパノラマ画像を生成するために、以下の2つの処理ステップを要する。
(処理1)撮影画像間の位置関係の検出処理
(処理2)対応関係に基づく撮影画像のレンダリング(繋ぎ合わせ)処理
従来技術のパノラマ画像の生成によれば、これら2つの処理を1つの装置で実現している。
これに対し、本発明によれば、端末1が処理1を実行し、サーバ2が処理2を実行するように分散させている。端末1が、パノラマ画像の生成に必要な複数の撮影画像とその対応関係をサーバ2へ送信し、サーバ2が、それら撮影画像に対してレンダリング処理を実行する。
処理2は、高解像度の撮影画像である場合、必要な計算コストは線形に増大するために、高い画像処理能力を要するサーバ2で処理させるのが好ましい。
一方で、処理1は、高解像度の撮影画像であってもダウンサンプリングし、その低解像度の画像を計算対象とすることができるために、低い計算処理能力の端末1であっても実行することができる。
A general image generation system requires the following two processing steps to generate a panoramic image from a plurality of captured images.
(Process 1) Process for detecting positional relationship between captured images (Process 2) Process for rendering (joining) captured images based on correspondence relationship According to the generation of panoramic images in the prior art, these two processes are performed by one device. Realized.
On the other hand, according to the present invention, the terminal 1 executes the process 1 and the server 2 executes the process 2. The terminal 1 transmits a plurality of captured images necessary for generating a panoramic image and the corresponding relationship to the server 2, and the server 2 executes a rendering process on the captured images.
When the processing 2 is a high-resolution captured image, the necessary calculation cost increases linearly, and therefore it is preferable that the processing 2 is performed by the server 2 that requires high image processing capability.
On the other hand, since the processing 1 can be down-sampled even for a high-resolution captured image and the low-resolution image can be used as a calculation target, the processing 1 should be executed even on the terminal 1 with low calculation processing capability. Can do.
<端末側の画像生成プログラム>
端末側の画像生成プログラムは、バッファフレーム記憶部11と、フレーム間関係計算部12と、ダウンサンプリング部13と、点対応計算部14と、カメラ姿勢計算部15と、フレーム送信部16と、パノラマ画像受信部17とを有する。これら機能構成部は、端末に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。尚、これら機能構成部は、端末側の画像生成装置の内部構造として理解できると共に、その処理の流れは、端末側の画像生成方法としても理解できる。
<Image generation program on terminal side>
The terminal-side image generation program includes a buffer frame storage unit 11, an interframe relationship calculation unit 12, a downsampling unit 13, a point correspondence calculation unit 14, a camera posture calculation unit 15, a frame transmission unit 16, a panorama And an image receiving unit 17. These functional components are realized by executing a program that causes a computer installed in the terminal to function. These functional components can be understood as the internal structure of the image generation apparatus on the terminal side, and the processing flow can also be understood as an image generation method on the terminal side.
ここで、撮影画像のフレームを、以下のように定義する。
「入力フレーム」 :カメラから出力されたフレーム(撮影画像)
「バッファフレーム」:バッファフレーム記憶部11に記憶されているフレーム
「パノラマフレーム」:パノラマ画像の生成に用いられるフレーム
Here, the frame of the captured image is defined as follows.
"Input frame": Frame output from the camera (photographed image)
“Buffer frame”: Frame stored in the buffer frame storage unit 11 “Panorama frame”: Frame used for generating a panoramic image
[バッファフレーム記憶部11]
バッファフレーム記憶部11は、カメラからの入力フレーム(撮影画像)を、カメラ姿勢の計算用に逐次に記憶する。また、バッファフレーム記憶部11は、フレーム間関係計算部12によって算出された、フレーム(撮影画像)間のカメラ姿勢(射影変換行列)も蓄積していく。バッファフレーム記憶部11は、入力フレームを逐次的にバッファリングしていくが、蓄積可能なフレームの枚数を限定することによって使用メモリ量を節約することもできる。
[Buffer Frame Storage Unit 11]
The buffer frame storage unit 11 sequentially stores input frames (captured images) from the camera for calculation of the camera posture. The buffer frame storage unit 11 also accumulates camera postures (projection transformation matrices) between frames (captured images) calculated by the interframe relationship calculation unit 12. The buffer frame storage unit 11 sequentially buffers input frames, but it is also possible to save the amount of memory used by limiting the number of frames that can be stored.
図5によれば、バッファフレーム記憶部11に記憶されている全てのバッファフレームについて、カメラ姿勢(射影変換行列)のフレーム間関係が対応付けられている。バッファフレーム記憶部11は、認識対象を見失った場合の入力フレームのカメラ姿勢と、パノラマフレーム間のカメラ姿勢と、を計算するために蓄積するものである。バッファフレームを多数蓄積することによって、認識対象を見失った場合に復帰できる(入力フレームのカメラ姿勢が計算できる)可能性が高くなる。一方で、端末の使用メモリ量と、復帰計算する際の計算リソースと、パノラマフレーム間のカメラ姿勢を計算する際の蓄積誤差と、が増加する。そこで、少ないメモリ量で効率的にかつ高精度にカメラ姿勢を計算できるようにするため、重複度が低い入力フレームのみをバッファフレームとして蓄積する。 According to FIG. 5, inter-frame relationships of camera postures (projection transformation matrices) are associated with all buffer frames stored in the buffer frame storage unit 11. The buffer frame storage unit 11 accumulates to calculate the camera posture of the input frame when the recognition target is lost and the camera posture between panoramic frames. By accumulating a large number of buffer frames, there is a high possibility of returning when the recognition target is lost (the camera posture of the input frame can be calculated). On the other hand, the amount of memory used by the terminal, the calculation resource when performing the return calculation, and the accumulation error when calculating the camera posture between the panorama frames increase. Therefore, in order to be able to calculate the camera posture efficiently and with high accuracy with a small amount of memory, only input frames with a low degree of overlap are stored as buffer frames.
そのために、バッファフレーム記憶部11は、入力フレームとバッファフレーム間の重複度を計算し、その重複度が所定閾値以下となる場合のみ、入力フレームをバッファフレームとして蓄積する。「重複度」とは、一方のフレームの撮影画像全体に対して、他方のフレームの撮影画像と重複する画像領域の割合をいう。重複度は、入力フレーム、またはバッファフレームそれぞれの4頂点を、カメラ姿勢によって平面射影変換することによって、重複する画像領域を計算することができる。 For this purpose, the buffer frame storage unit 11 calculates the degree of duplication between the input frame and the buffer frame, and accumulates the input frame as a buffer frame only when the degree of duplication is a predetermined threshold value or less. “Overlapping degree” refers to the ratio of the image area overlapping the captured image of the other frame to the entire captured image of one frame. As for the degree of overlap, overlapping image areas can be calculated by subjecting the four vertices of each input frame or buffer frame to plane projective transformation according to the camera posture.
[フレーム間関係計算部12−第1の機能]
フレーム間関係計算部12は、2つのフレーム間関係としてのカメラ姿勢を、点対応計算部14及びカメラ姿勢計算部15を用いて算出する。フレーム間関係としては、以下のようなケースがある。
(フレーム間関係1)入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できない場合
(フレーム間関係2)入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できる場合
尚、バッファフレーム記憶部11にバッファフレームが記憶されていない場合、フレーム間関係は算出されず、入力フレームがバッファフレーム記憶部11へ蓄積されるだけである。
[Inter-frame relationship calculation unit 12-first function]
The interframe relationship calculation unit 12 calculates a camera posture as a relationship between two frames using the point correspondence calculation unit 14 and the camera posture calculation unit 15. There are the following cases as the relationship between frames.
(Inter-frame relationship 1) When point correspondence and camera posture cannot be used between the input frame and the previous buffer frame (Inter-frame relationship 2) Point correspondence and camera posture are used between the input frame and the previous buffer frame When possible When the buffer frame is not stored in the buffer frame storage unit 11, the interframe relationship is not calculated, and only the input frame is accumulated in the buffer frame storage unit 11.
図3は、フレーム間関係を表す説明図である。 FIG. 3 is an explanatory diagram showing the interframe relationship.
図3(a)によれば、入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できない場合(フレーム間関係1)が表されている。
これは、入力フレームが、直前バッファフレームに対して認識対象を見失った状態である。この場合、入力フレームと他のバッファフレームとの間で、点対応及びカメラ姿勢を計算する。ここで、比較対象となる他のバッファフレームは、全てのバッファフレームとしてもよいし、撮影時刻が新しい数枚のバッファフレームに限定してもよい。
バッファフレーム1に対する入力フレーム6のカメラ姿勢: 射影変換行列H61
・・・・・
バッファフレーム4に対する入力フレーム6のカメラ姿勢: 射影変換行列H64
FIG. 3A shows a case where the point correspondence and the camera posture cannot be used between the input frame and the immediately preceding buffer frame (interframe relationship 1).
This is a state in which the input frame has lost its recognition target with respect to the previous buffer frame. In this case, the point correspondence and the camera posture are calculated between the input frame and another buffer frame. Here, the other buffer frames to be compared may be all buffer frames, or may be limited to several buffer frames having a new shooting time.
Camera posture of input frame 6 with respect to buffer frame 1: projective transformation matrix H 61
...
Camera orientation of input frame 6 with respect to buffer frame 4: Projection transformation matrix H 64
図3(b)によれば、入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できる場合(フレーム間関係2)が表されている。
この場合、入力フレーム6と直前バッファフレーム5との間で、点対応及びカメラ姿勢を計算する。
バッファフレーム5に対する入力フレーム6のカメラ姿勢: 射影変換行列H65
また、直前バッファフレーム5に対して、バッファフレーム1のカメラ姿勢H51が既に算出されていたとする。この場合、バッファフレーム1に対する入力フレーム6のカメラ姿勢は、射影変換行列の積によって特定される。
バッファフレーム1に対する入力フレーム6のカメラ姿勢: H65・H51
FIG. 3B shows a case where the point correspondence and the camera posture can be used between the input frame and the immediately preceding buffer frame (inter-frame relationship 2).
In this case, the point correspondence and the camera posture are calculated between the input frame 6 and the immediately preceding buffer frame 5.
Camera posture of input frame 6 with respect to buffer frame 5: Projective transformation matrix H 65
Further, it is assumed that the camera posture H 51 of the buffer frame 1 has already been calculated for the previous buffer frame 5. In this case, the camera posture of the input frame 6 with respect to the buffer frame 1 is specified by the product of the projective transformation matrix.
Camera posture of the input frame 6 with respect to the buffer frame 1: H 65 · H 51
[ダウンサンプリング部13]
ダウンサンプリング部13は、点対応計算部14に入力される撮影画像に対して、ダウンサンプリング(例えばピクセル数の減少)によって1枚の撮影画像の解像度を低減させるべく変換する。これによって、点対応計算部14及びカメラ姿勢計算部15の計算量を削減することができる。
[Downsampling unit 13]
The downsampling unit 13 converts the photographed image input to the point correspondence calculation unit 14 to reduce the resolution of one photographed image by downsampling (for example, reduction in the number of pixels). Thereby, the calculation amount of the point correspondence calculation unit 14 and the camera posture calculation unit 15 can be reduced.
[点対応計算部14]
点対応計算部14は、2枚の撮影画像(入力フレームとバッファフレーム、又は、2つのバッファフレーム)を入力する。そして、各撮影画像から局所特徴量を抽出し、一方の画像の特徴点pと他方の画像の特徴点p'との間の点対応P={(p, p')}を計算する。
[Point correspondence calculation unit 14]
The point correspondence calculation unit 14 inputs two captured images (an input frame and a buffer frame, or two buffer frames). Then, a local feature amount is extracted from each captured image, and a point correspondence P = {(p, p ′)} between the feature point p of one image and the feature point p ′ of the other image is calculated.
局所特徴点の抽出アルゴリズムとしては、例えばSIFT(Scale-Invariant Feature Transform)やSURF(Speeded Up Robust Features)、ORB(Oriented FAST and Rotated BRIEF)が用いられる。これらの局所特徴点は、以下の要素によって記述される。
座標p=(x,y)、方向θ、局所特徴ベクトルf
尚、点対応を検出する撮影画像間では、その特徴ベクトルについて同じ次元数である。
For example, SIFT (Scale-Invariant Feature Transform), SURF (Speeded Up Robust Features), or ORB (Oriented FAST and Rotated BRIEF) is used as an extraction algorithm for local feature points. These local feature points are described by the following elements.
Coordinate p = (x, y), direction θ, local feature vector f
It should be noted that the feature vectors have the same number of dimensions between captured images whose point correspondence is detected.
例えば、SIFTの場合、1枚の画像からは128次元の特徴点集合が抽出される。SIFTとは、スケールスペースを用いて特徴的な局所領域を解析し、そのスケール変化及び回転に不変となる特徴ベクトルを記述する技術である。一方で、SURFの場合、SIFTよりも高速処理が可能であって、1枚の画像から64次元の特徴点集合が抽出される。また、ORBは、バイナリコードによる特徴記述としてBRIEF(Binary Robust Independent Elementary Features)を用いて、1つのコンテンツから256ビットのバイナリ特徴ベクトルの集合を抽出する。特に、ORBによれば、SIFTやSURFと比較して、同等以上の精度を保持すると共に、数百倍の高速化を実現することができる。 For example, in the case of SIFT, a 128-dimensional feature point set is extracted from one image. SIFT is a technique for analyzing a characteristic local region using a scale space and describing a feature vector that is invariant to scale change and rotation. On the other hand, in the case of SURF, higher-speed processing is possible than in SIFT, and a 64-dimensional feature point set is extracted from one image. In addition, the ORB extracts a set of 256-bit binary feature vectors from one content by using BRIEF (Binary Robust Independent Elementary Features) as a feature description by a binary code. In particular, according to the ORB, it is possible to maintain an accuracy equal to or higher than that of SIFT or SURF and realize a speed increase of several hundred times.
次に、点対応計算部14は、一方の画像の特徴点集合と他方の画像の特徴点集合とをマッチングし、局所特徴点を点対応させる。一方の画像の特徴点pに対して、他方の画像の特徴点p'を対応付ける。2つの特徴点p'とpとの間の距離が短いほど、類似度が高い。 Next, the point correspondence calculation unit 14 matches the feature point set of one image with the feature point set of the other image, and makes the local feature points correspond to each other. The feature point p ′ of the other image is associated with the feature point p of one image. The shorter the distance between the two feature points p ′ and p, the higher the similarity.
また、点対応計算部14は、点対応計算の精度を向上させるために、以下の方法を用いることも好ましい。
(1)局所特徴点間の距離に基づいて点対応をソートし、距離が所定閾値以下の点対応のみを用いる。
(2)局所特徴点間の距離に基づいて点対応をソートし、距離が1番目に近いものと2番目に近いものを探索し、それらの距離の比(2番目との距離に対する1番目との距離)が所定閾値以下のものを用いる。
(3)その他、計算コストに優れるバイナリ特徴量や、SSD(Sum of Squared Difference)、正規化相互相関(NCC)等も用いることもできる。
The point correspondence calculation unit 14 preferably uses the following method in order to improve the accuracy of the point correspondence calculation.
(1) Sort point correspondences based on the distance between local feature points, and use only point correspondences whose distance is equal to or less than a predetermined threshold.
(2) Sort the point correspondences based on the distance between the local feature points, search for the closest distance and the second closest distance, and the ratio of those distances (the first and the second distance to the second distance) ) Is less than a predetermined threshold.
(3) In addition, binary feature quantities that are excellent in calculation cost, SSD (Sum of Squared Difference), normalized cross correlation (NCC), and the like can also be used.
そして、点対応計算部14は、画像(フレーム)間における特徴点の点対応を、カメラ姿勢計算部15へ出力する。 Then, the point correspondence calculation unit 14 outputs the point correspondence of the feature points between the images (frames) to the camera posture calculation unit 15.
[カメラ姿勢計算部15]
カメラ姿勢計算部15は、点対応計算部14から出力された画像(フレーム)間の点対応を入力する。そして、カメラ姿勢計算部15は、撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算する。
[Camera posture calculation unit 15]
The camera posture calculation unit 15 inputs a point correspondence between images (frames) output from the point correspondence calculation unit 14. Then, the camera posture calculation unit 15 calculates a projective transformation matrix as the camera posture from the point correspondence between the captured images.
カメラ姿勢計算部15は、具体的は、点対応P={(p, p')}集合から、例えばRANSAC(RAndom SAmple Consensus)のようなロバスト推定アルゴリズムを用いて、他方の画像を一方の画像へ変換する射影変換行列を算出する。これによって、誤った点対応を除去することができる。変換行列は、好ましくは「Homography行列(射影変換行列)」であって、最低4組の点対応が必要である。4組全ての点対応が、inlierでなければ正解のHomography行列が得られない。 Specifically, the camera orientation calculation unit 15 uses the robust estimation algorithm such as RANSAC (RAndom SAmple Consensus) from the point correspondence P = {(p, p ′)} set, and uses the other image as one image. Projective transformation matrix to be converted to is calculated. As a result, erroneous point correspondences can be removed. The transformation matrix is preferably a “Homography matrix (projection transformation matrix)”, and needs to correspond to at least four pairs of points. If all four pairs of points are not inlier, a correct Homography matrix cannot be obtained.
図4は、Homography行列に基づくinlier及びoutlierを表す画像対応図である。 FIG. 4 is an image correspondence diagram showing inliers and outliers based on the Homography matrix.
算出されたHomography行列を用いて他方の画像の特徴点集合を射影し、一方の画像の特徴点とのユークリッド距離が所定閾値以下の対応組を正(inlier)として判定し、それ以外を否(outlier)として判定する。正(inlier)と判定された対応組数が所定閾値以上である場合、当該一方の画像が検出されたと判定し、そのHomography行列を採用する。逆に、正(inlier)と判定された対応組数が所定閾値よりも少ない場合、未検出と判定し、そのHomography行列を除去する。 Project the feature point set of the other image using the calculated Homography matrix, and determine that the corresponding pair whose Euclidean distance to the feature point of one image is equal to or less than a predetermined threshold is inlier, otherwise reject ( outlier). When the number of corresponding pairs determined to be inlier is equal to or greater than a predetermined threshold, it is determined that the one image has been detected, and the Homography matrix is adopted. On the contrary, when the number of corresponding pairs determined to be inlier is smaller than a predetermined threshold, it is determined as not detected, and the homography matrix is removed.
射影変換行列であるHomography行列Hは、以下のように表される。これは、一方の画像の特徴点p'=(x1,y1)と、他方の画像の特徴点p=(x2,y2)との関係を表す。
Homography行列の算出には、一方の画像の特徴点集合と他方の画像の特徴点集合とが用いられる。Homography行列Hの未知パラメータ数は、8個(h0〜h7、h8=1)であり、一組の対応点は2個の制約式を与える。従って、この行列Hは、4組以上の対応点があれば、最小二乗法によって算出することができる。このようなカメラ姿勢を推定する技術は、ARシステムでは一般的なものである。 For the calculation of the Homography matrix, the feature point set of one image and the feature point set of the other image are used. The number of unknown parameters in the Homography matrix H is 8 (h0 to h7, h8 = 1), and one set of corresponding points gives two constraint equations. Therefore, this matrix H can be calculated by the least square method if there are four or more pairs of corresponding points. Such a technique for estimating the camera posture is common in the AR system.
そして、Homography行列Hを用いて、各撮影画像特徴点を射影した際に、以下のように判定する。
(1)目標画像の特徴点に対して所定閾値以下の近くに射影されれば、inlierと判定する。
(2)逆に、所定閾値よりも遠くに射影されれば、outlierと判定する。図4によれば、outlierは、破線で表されている。
この処理を複数回実行した後、inlierの数が所定閾値以上となったHomography行列Hのみを採用する。
Then, when each captured image feature point is projected using the Homography matrix H, the determination is made as follows.
(1) If it is projected near a predetermined threshold or less with respect to the feature point of the target image, it is determined as inlier.
(2) Conversely, if it is projected farther than the predetermined threshold, it is determined as outlier. According to FIG. 4, outlier is represented by a broken line.
After this process is executed a plurality of times, only the Homography matrix H in which the number of inliers is equal to or greater than a predetermined threshold is employed.
最終的に、カメラ姿勢計算部15は、2枚のフレーム間のカメラ姿勢(射影変換行列H)を、フレーム間関係計算部12へ出力する。 Finally, the camera posture calculation unit 15 outputs the camera posture (projection transformation matrix H) between the two frames to the interframe relationship calculation unit 12.
[フレーム間関係計算部12−第2の機能]
再度、フレーム間関係計算部12について説明する。フレーム間関係計算部12は、バッファフレーム記憶部11に対して、撮影画像(ノード)間をカメラ姿勢(エッジ)によって結んだ有向グラフを記憶する。有向グラフのノードは、撮影画像の撮影時刻であるタイムスタンプを識別子とするものであってもよい。
[Inter-frame relationship calculation unit 12-second function]
The interframe relationship calculation unit 12 will be described again. The inter-frame relationship calculation unit 12 stores a directed graph in which the captured images (nodes) are connected by camera postures (edges) in the buffer frame storage unit 11. The node of the directed graph may use a time stamp that is the shooting time of the shot image as an identifier.
図5は、バッファフレーム記憶部に記憶されたフレーム間関係を表す有向グラフである。 FIG. 5 is a directed graph showing the inter-frame relationship stored in the buffer frame storage unit.
バッファフレーム記憶部11は、フレームをノードとし、カメラ姿勢をエッジ(枝)とした有向グラフを記憶する。
フレーム1とフレーム2との間は、カメラ姿勢H21によって結ばれる。
フレーム2とフレーム3との間は、カメラ姿勢H32によって結ばれる。
・・・
フレームAとフレームBとの間は、以下のカメラ姿勢の積によって結ばれる。
HB4・H42・H21・H51 -1・HA5 -1
1つのカメラ姿勢のみで結ばれたフレーム間は、推定誤差が蓄積されず、高精度なパノラマ画像を生成することができる。
また、本発明によれば、画像の変化が大きいフレーム間であって点対応が計算できなくても、推定誤差が蓄積されるものの、複数のカメラ姿勢の積によってパノラマ画像を生成することができる。
The buffer frame storage unit 11 stores a directed graph with a frame as a node and a camera posture as an edge (branch).
Between the frame 1 and the frame 2 are connected by a camera posture H 21.
Between the frame 2 and the frame 3 are connected by a camera posture H 32.
...
The frame A and the frame B are connected by the product of the following camera postures.
H B4 · H 42 · H 21 · H 51 -1 · H A5 -1
An estimation error is not accumulated between frames connected by only one camera posture, and a highly accurate panoramic image can be generated.
Further, according to the present invention, a panoramic image can be generated by a product of a plurality of camera poses even though an estimation error is accumulated even if a point correspondence cannot be calculated between frames having a large image change. .
[フレーム送信部16]
フレーム送信部16は、入力フレームの中からサーバ2へ送信するパノラマフレームを選択する。パノラマフレームの選択基準については、例えばネットワークの輻輳状況に従って動的に決定してもよく、1fpsのように事前に固定してもよい。このとき、それらフレーム間を結ぶカメラ姿勢も、サーバ2へ送信する。尚、フレーム送信部16は、パノラマフレーム及びカメラ姿勢を、サーバ2へ別々に送信するものであってもよいし、同時にまとめて送信するものであってもよい。
[Frame Transmitter 16]
The frame transmission unit 16 selects a panorama frame to be transmitted to the server 2 from the input frames. The selection criteria for the panorama frame may be determined dynamically according to, for example, the congestion status of the network, or may be fixed in advance such as 1 fps. At this time, the camera posture connecting the frames is also transmitted to the server 2. Note that the frame transmission unit 16 may transmit the panorama frame and the camera posture separately to the server 2 or may transmit the panorama frame and the camera posture at the same time.
図5によれば、サーバ2へ送信されたパノラマフレームとして、フレームA及びBが表されている。これらカメラ姿勢の積をサーバ2へ送信することによって、サーバ2は、パノラマフレーム間の画像的変化が大きく、重複領域が小さくても(又は無くても)、パノラマ画像を生成することができる。 According to FIG. 5, frames A and B are represented as panoramic frames transmitted to the server 2. By transmitting the product of these camera postures to the server 2, the server 2 can generate a panoramic image even if the image change between panoramic frames is large and the overlapping region is small (or not).
図6は、最短経路のフレーム間関係を表す有向グラフである。 FIG. 6 is a directed graph showing the inter-frame relationship of the shortest path.
図6によれば、図5の有向グラフに加えて、新たに入力されたフレームCをパノラマフレームとしてサーバ2へ送信し、パノラマ画像を生成しようとしている。ここで、パノラマ画像を生成するための代表パノラマフレームを事前に設定しているとする。「代表パノラマフレーム」とは、複数のパノラマフレームの中で、カメラ姿勢の基準となるパノラマフレームをいう。 According to FIG. 6, in addition to the directed graph of FIG. 5, the newly input frame C is transmitted as a panorama frame to the server 2 to generate a panorama image. Here, it is assumed that a representative panorama frame for generating a panorama image is set in advance. The “representative panorama frame” refers to a panorama frame that serves as a reference for the camera posture among a plurality of panorama frames.
図6によれば、例えばパノラマフレームAを代表パノラマフレームとする。このとき、バッファフレーム記憶部11に記憶された有向グラフの中で、フレームAとフレームCとを結ぶ最短経路を探索する。その最短経路における射影変換行列の積から、フレームAに対するフレームCのカメラ姿勢を推定することができる。
HC1 H51 -1 HA5 -1
最短経路探索アルゴリズムとして、例えばグラフ理論におけるダイクストラ法を用いることができる。尚、図6によれば、代表パノラマフレームとして最初に記憶されたパノラマフレームAを選択しているが、この選択基準は何ら限定するものではない。
According to FIG. 6, for example, panorama frame A is a representative panorama frame. At this time, the shortest path connecting the frame A and the frame C is searched in the directed graph stored in the buffer frame storage unit 11. The camera posture of the frame C with respect to the frame A can be estimated from the product of the projective transformation matrices in the shortest path.
H C1 H 51 -1 H A5 -1
As the shortest path search algorithm, for example, the Dijkstra method in graph theory can be used. Note that, according to FIG. 6, the first stored panorama frame A is selected as the representative panorama frame, but this selection criterion is not limited at all.
(フレーム間関係計算部12における他の第1の実施形態)
バッファフレーム記憶部11にバッファフレームが追加される度に、パノラマフレーム間の最短経路も変化する可能性がある。そのために、フレーム間関係計算部12は、バッファフレーム記憶部11を用いて、パノラマ画像を生成するべく過去に送信された撮影画像について、撮影画像間の最短経路を、適宜、再探索するものであってもよい。その最短経路の複数の射影変換行列の積をカメラ姿勢として算出する。できる限り、カメラ姿勢の累積数を少なくすることによって、パノラマ画像の精度を高めることできる。
(Another first embodiment in the inter-frame relationship calculation unit 12)
Each time a buffer frame is added to the buffer frame storage unit 11, the shortest path between panoramic frames may also change. For this purpose, the inter-frame relationship calculation unit 12 uses the buffer frame storage unit 11 to appropriately re-search the shortest path between the captured images for the captured images transmitted in the past to generate a panoramic image. There may be. The product of a plurality of projective transformation matrices of the shortest path is calculated as the camera posture. As much as possible, the accuracy of the panoramic image can be increased by reducing the cumulative number of camera postures.
(フレーム間関係計算部12における他の第2の実施形態)
フレーム間関係計算部12は、バッファフレームとパノラマフレームとを含む全ての各撮影画像間について、カメラ姿勢計算部15を用いて点対応に基づきカメラ姿勢を再計算し、有向グラフを再構築するようにバッファフレーム記憶部11を制御してもよい。即ち、有向グラフ全体のフレーム間関係を最適化する。
(Another second embodiment in the interframe relationship calculation unit 12)
The interframe relationship calculation unit 12 recalculates the camera posture based on the point correspondence using the camera posture calculation unit 15 between all the captured images including the buffer frame and the panorama frame, and reconstructs the directed graph. The buffer frame storage unit 11 may be controlled. That is, the interframe relationship of the entire directed graph is optimized.
(フレーム送信部16における他の実施形態)
フレーム送信部16は、パノラマフレームを送信する際に、バッファフレーム記憶部11に記憶された、カメラ姿勢によって結ばれた有向グラフを、サーバ2へ併せて送信するものであってもよい。最短経路探索をサーバで実行することで、端末の計算コストをより低減することができる。具体的には、ノードとなるバッファフレームには識別子(タイムスタンプ)のみを割り当てた有向グラフのみを送信し、撮影画像のフレーム自体は送信しない。サーバ2は、有向グラフの中での経路探索によって、パノラマ画像の生成に必要なカメラ姿勢を求める。
(Other embodiment in the frame transmission part 16)
When transmitting the panorama frame, the frame transmitting unit 16 may transmit the directed graph stored in the buffer frame storage unit 11 connected by the camera posture together with the server 2. By executing the shortest path search on the server, the calculation cost of the terminal can be further reduced. Specifically, only the directed graph to which only the identifier (time stamp) is assigned is transmitted to the buffer frame serving as the node, and the frame of the captured image itself is not transmitted. The server 2 obtains a camera posture necessary for generating a panoramic image by searching for a route in the directed graph.
<サーバ側の画像生成プログラム>
サーバ2は、画像生成プログラムを実行することによって、パノラマ画像生成部として機能させる。パノラマ画像生成部は、端末1から受信した複数の「パノラマフレーム」から、「カメラ姿勢」によって変換したパノラマ画像を生成する。
<Server-side image generation program>
The server 2 functions as a panoramic image generation unit by executing an image generation program. The panorama image generation unit generates a panorama image converted by “camera posture” from a plurality of “panorama frames” received from the terminal 1.
図7は、サーバによって生成されたパノラマ画像を表す説明図である。 FIG. 7 is an explanatory diagram illustrating a panoramic image generated by the server.
図7によれば、サーバ2は、代表パノラマフレームAに対する各パノラマフレームB及びCのカメラ姿勢を受信している。
フレームAに対するフレームBのカメラ姿勢:HB4・H42・H21・H51 -1・HA5 -1
フレームAに対するフレームCのカメラ姿勢:HC1 H51 -1 HA5 -1
これによって、パノラマ画像に対するパノラマフレームA,B,Cの位置を特定することができる。
According to FIG. 7, the server 2 receives the camera postures of the panoramic frames B and C with respect to the representative panoramic frame A.
Camera posture of frame B with respect to frame A: H B4 · H 42 · H 21 · H 51 -1 · H A5 -1
Camera posture of frame C with respect to frame A: H C1 H 51 −1 H A5 −1
As a result, the positions of the panoramic frames A, B, and C with respect to the panoramic image can be specified.
以上、詳細に説明したように、本発明の画像生成システム、端末、プログラム及び方法によれば、重複領域の少ない又は存在しない複数の撮影画像から1枚のパノラマ画像を高速に生成することができる。 As described above in detail, according to the image generation system, the terminal, the program, and the method of the present invention, one panoramic image can be generated at high speed from a plurality of captured images with few or no overlapping regions. .
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。 Various changes, modifications, and omissions of the above-described various embodiments of the present invention can be easily made by those skilled in the art. The above description is merely an example, and is not intended to be restrictive. The invention is limited only as defined in the following claims and the equivalents thereto.
1 端末
101 カメラモジュール
102 ディスプレイ
103 通信インタフェース
11 バッファフレーム記憶部
12 フレーム間関係計算部
13 ダウンサンプリング部
14 点対応計算部
15 カメラ姿勢計算部
16 フレーム送信部
17 パノラマ画像受信部
2 サーバ
DESCRIPTION OF SYMBOLS 1 Terminal 101 Camera module 102 Display 103 Communication interface 11 Buffer frame memory | storage part 12 Interframe relationship calculation part 13 Downsampling part 14 Point correspondence calculation part 15 Camera attitude | position calculation part 16 Frame transmission part 17 Panorama image reception part 2 Server
Claims (11)
前記端末は、
前記撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
前記点対応計算手段及び前記カメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、前記バッファフレーム記憶手段に記憶するフレーム間関係計算手段と、
前記バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、前記サーバへ送信するフレーム送信手段と
を有し、
前記サーバは、前記端末から受信した複数の撮影画像から、前記カメラ姿勢によって変換したパノラマ画像を生成するパノラマ画像生成手段を有する
ことを特徴とする画像生成システム。 In an image generation system for generating a single panoramic image by a server from a plurality of captured images captured by a terminal,
The terminal
Buffer frame storage means for sequentially inputting and storing the captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
Using the point correspondence calculation means and the camera posture calculation means, an interframe relationship calculation means for storing in the buffer frame storage means a camera posture for associating captured images;
A frame transmission means for transmitting to the server a photographed image selected to generate a panoramic image using the buffer frame storage means and a product of camera postures connecting the photographed images;
The server includes a panoramic image generation unit configured to generate a panoramic image converted by the camera posture from a plurality of captured images received from the terminal.
ことを特徴とする請求項1に記載の画像生成システム。 The inter-frame relationship calculation means of the terminal stores a directed graph expressed between captured images (nodes) and camera postures (edges) associated therewith in the buffer frame storage means. Item 2. The image generation system according to Item 1.
ことを特徴とする請求項2に記載の画像生成システム。 The inter-frame relationship calculating means of the terminal uses the buffer frame storage means to search for the shortest path between the captured images represented by the directed graph for the captured image selected to generate the panoramic image, The image generation system according to claim 2, wherein a product of a plurality of projective transformation matrices of the shortest path is calculated as a camera posture.
ことを特徴とする請求項2又は3に記載の画像生成システム。 The inter-frame relationship calculation means of the terminal uses the buffer frame storage means to re-search for the shortest path between captured images represented by a directed graph for captured images transmitted in the past to generate a panoramic image. The image generation system according to claim 2, wherein a product of a plurality of projective transformation matrices of the shortest path is calculated as a camera posture.
ことを特徴とする請求項2から4のいずれか1項に記載の画像生成システム。 The interframe relation calculation means of the terminal uses the camera attitude calculation means to recalculate the camera attitude based on the point correspondence between each captured image, and controls the buffer frame storage means to reconstruct a directed graph. The image generation system according to claim 2, wherein the image generation system is an image generation system.
ことを特徴とする請求項1から5のいずれか1項に記載の画像生成システム。 The terminal further comprises down-sampling means for converting the photographed image input to the point correspondence calculating means to reduce the resolution of one photographed image by down-sampling. 6. The image generation system according to any one of 5 above.
ことを特徴とする請求項1から6のいずれか1項に記載の画像生成システム。 The inter-frame relationship calculation means of the terminal calculates the degree of duplication of image areas between buffer frames, and controls the buffer frame storage means so as to buffer only frames whose duplication degree is a predetermined threshold value or less. The image generation system according to any one of claims 1 to 6, wherein the image generation system is characterized in that:
入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できない場合、入力フレームと他の複数のバッファフレームとの間で、点対応及びカメラ姿勢を計算し、
入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を利用できる場合、入力フレームと直前バッファフレームとの間で、点対応及びカメラ姿勢を計算する
ことを特徴とする請求項1から7のいずれか1項に記載の画像生成システム。 The interframe relationship calculation means of the terminal uses the buffer frame storage means,
If point correspondence and camera orientation are not available between the input frame and the previous buffer frame, calculate point correspondence and camera orientation between the input frame and other buffer frames,
8. The point correspondence and the camera posture are calculated between the input frame and the immediately preceding buffer frame when the point correspondence and the camera posture can be used between the input frame and the immediately preceding buffer frame. The image generation system according to any one of the above.
前記撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
前記点対応計算手段及び前記カメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、前記バッファフレーム記憶手段に記憶させるフレーム間関係計算手段と、
前記バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、前記サーバへ送信するフレーム送信手段と
を有することを特徴とする端末。 In a terminal that transmits a plurality of captured images to a server that generates a panoramic image,
Buffer frame storage means for sequentially inputting and storing the captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
Using the point correspondence calculation means and the camera posture calculation means, an interframe relationship calculation means for storing in the buffer frame storage means a camera posture for associating captured images;
Frame transmission means for transmitting, to the server, a product of a captured image selected to generate a panoramic image and a camera posture connecting the captured images using the buffer frame storage unit. Terminal.
前記撮影画像を逐次に入力して記憶するバッファフレーム記憶手段と、
複数の撮影画像について画像間の特徴点の点対応を計算する点対応計算手段と、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算するカメラ姿勢計算手段と、
前記点対応計算手段及び前記カメラ姿勢計算手段を用いて、撮影画像間を対応付けるカメラ姿勢を、前記バッファフレーム記憶手段に記憶させるフレーム間関係計算手段と、
前記バッファフレーム記憶手段を用いて、パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、前記サーバへ送信するフレーム送信手段と
してコンピュータを機能させることを特徴とする端末用のプログラム。 In a program that causes a computer mounted on a terminal to transmit a plurality of captured images to a server that generates a panoramic image,
Buffer frame storage means for sequentially inputting and storing the captured images;
Point correspondence calculation means for calculating the point correspondence of feature points between images for a plurality of captured images;
Camera posture calculation means for calculating a projective transformation matrix as the camera posture from the point correspondence between the captured images;
Using the point correspondence calculation means and the camera posture calculation means, an interframe relationship calculation means for storing in the buffer frame storage means a camera posture for associating captured images;
The computer is caused to function as a frame transmission unit that transmits the captured image selected to generate the panoramic image and the product of the camera posture connecting the captured images to the server using the buffer frame storage unit. A program for the terminal.
前記端末は、
前記撮影画像を逐次に入力して記憶する第1のステップと、
複数の撮影画像について画像間の特徴点の点対応を計算する第2のステップと、
撮影画像間の点対応から、カメラ姿勢としての射影変換行列を計算する第3のステップと、
第2のステップ及び第3のステップを繰り返し、撮影画像間を対応付けるカメラ姿勢を記憶する第4のステップと、
パノラマ画像を生成するべく選択された撮影画像と、撮影画像間を結ぶカメラ姿勢の積とを、前記サーバへ送信する第5のステップと
を有し、
前記サーバは、前記端末から受信した複数の撮影画像から、前記カメラ姿勢によって変換したパノラマ画像を生成する
ことを特徴とする画像生成方法。 In an image generation method for generating one panoramic image by a server from a plurality of captured images captured by a terminal,
The terminal
A first step of sequentially inputting and storing the captured images;
A second step of calculating a point correspondence of feature points between images for a plurality of captured images;
A third step of calculating a projective transformation matrix as a camera posture from the point correspondence between the captured images;
A fourth step of repeating the second step and the third step to store a camera posture for associating the captured images;
A fifth step of transmitting a captured image selected to generate a panoramic image and a product of camera postures connecting the captured images to the server;
The server generates a panoramic image converted by the camera posture from a plurality of captured images received from the terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014126742A JP2016005263A (en) | 2014-06-19 | 2014-06-19 | Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014126742A JP2016005263A (en) | 2014-06-19 | 2014-06-19 | Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016005263A true JP2016005263A (en) | 2016-01-12 |
Family
ID=55224217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014126742A Pending JP2016005263A (en) | 2014-06-19 | 2014-06-19 | Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016005263A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064397A (en) * | 2018-07-04 | 2018-12-21 | 广州希脉创新科技有限公司 | A kind of image split-joint method and system based on camera shooting earphone |
WO2020054584A1 (en) * | 2018-09-12 | 2020-03-19 | 富士フイルム株式会社 | Composition processing system, composition processing device, and composition processing method |
CN111080638A (en) * | 2019-12-27 | 2020-04-28 | 成都泓睿科技有限责任公司 | System and method for detecting dirt at bottom of molded bottle |
CN114615410A (en) * | 2022-03-09 | 2022-06-10 | 张磊 | Natural disaster panoramic helmet and method for determining shooting posture of image thereof |
CN114742707A (en) * | 2022-04-18 | 2022-07-12 | 中科星睿科技(北京)有限公司 | Multi-source remote sensing image splicing method and device, electronic equipment and readable medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320537A (en) * | 1997-05-19 | 1998-12-04 | Canon Inc | Image compositing device, image compositing method, and storage medium |
JP2002006426A (en) * | 2000-04-29 | 2002-01-09 | Hewlett Packard Co <Hp> | Method for automatically capturing plural images |
JP2005151564A (en) * | 2003-11-12 | 2005-06-09 | Lg Electronics Inc | Optical dispersion compensation apparatus and method for optical communication system |
JP2010514041A (en) * | 2006-12-20 | 2010-04-30 | ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ | Multiple image registration apparatus and method |
JP2013030875A (en) * | 2011-07-27 | 2013-02-07 | Olympus Corp | Image processing system, information processing device, and program |
JP2014011720A (en) * | 2012-07-02 | 2014-01-20 | Kddi Corp | Inspection assisting device and method |
JP2014021902A (en) * | 2012-07-23 | 2014-02-03 | Olympus Corp | Server system, image processing system, program, and image processing method |
-
2014
- 2014-06-19 JP JP2014126742A patent/JP2016005263A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320537A (en) * | 1997-05-19 | 1998-12-04 | Canon Inc | Image compositing device, image compositing method, and storage medium |
JP2002006426A (en) * | 2000-04-29 | 2002-01-09 | Hewlett Packard Co <Hp> | Method for automatically capturing plural images |
JP2005151564A (en) * | 2003-11-12 | 2005-06-09 | Lg Electronics Inc | Optical dispersion compensation apparatus and method for optical communication system |
JP2010514041A (en) * | 2006-12-20 | 2010-04-30 | ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ | Multiple image registration apparatus and method |
JP2013030875A (en) * | 2011-07-27 | 2013-02-07 | Olympus Corp | Image processing system, information processing device, and program |
JP2014011720A (en) * | 2012-07-02 | 2014-01-20 | Kddi Corp | Inspection assisting device and method |
JP2014021902A (en) * | 2012-07-23 | 2014-02-03 | Olympus Corp | Server system, image processing system, program, and image processing method |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109064397A (en) * | 2018-07-04 | 2018-12-21 | 广州希脉创新科技有限公司 | A kind of image split-joint method and system based on camera shooting earphone |
US20200013144A1 (en) * | 2018-07-04 | 2020-01-09 | Sysmax Innovations Co., Ltd. | Image stitching method and system based on camera earphone |
WO2020054584A1 (en) * | 2018-09-12 | 2020-03-19 | 富士フイルム株式会社 | Composition processing system, composition processing device, and composition processing method |
JPWO2020054584A1 (en) * | 2018-09-12 | 2021-08-30 | 富士フイルム株式会社 | Synthesis system, synthesis processing device, and synthesis processing method |
EP3852356A4 (en) * | 2018-09-12 | 2021-11-10 | FUJIFILM Corporation | COMPOSITION PROCESSING SYSTEM, COMPOSITION PROCESSING DEVICE AND COMPOSITION PROCESSING METHOD |
US11315218B2 (en) | 2018-09-12 | 2022-04-26 | Fujifilm Corporation | Composition processing system, composition processing apparatus, and composition processing method |
CN111080638A (en) * | 2019-12-27 | 2020-04-28 | 成都泓睿科技有限责任公司 | System and method for detecting dirt at bottom of molded bottle |
CN111080638B (en) * | 2019-12-27 | 2023-04-07 | 成都泓睿科技有限责任公司 | Method for detecting dirt at bottom of molded bottle |
CN114615410A (en) * | 2022-03-09 | 2022-06-10 | 张磊 | Natural disaster panoramic helmet and method for determining shooting posture of image thereof |
CN114615410B (en) * | 2022-03-09 | 2023-05-02 | 张磊 | Natural disaster panoramic helmet and shooting gesture determining method for images of natural disaster panoramic helmet |
CN114742707A (en) * | 2022-04-18 | 2022-07-12 | 中科星睿科技(北京)有限公司 | Multi-source remote sensing image splicing method and device, electronic equipment and readable medium |
CN114742707B (en) * | 2022-04-18 | 2022-09-27 | 中科星睿科技(北京)有限公司 | Multi-source remote sensing image splicing method and device, electronic equipment and readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107808111B (en) | Method and apparatus for pedestrian detection and attitude estimation | |
CN112509047B (en) | Pose determining method and device based on image, storage medium and electronic equipment | |
US9159169B2 (en) | Image display apparatus, imaging apparatus, image display method, control method for imaging apparatus, and program | |
US20180005015A1 (en) | Sparse simultaneous localization and matching with unified tracking | |
WO2020007320A1 (en) | Method for fusing multi-visual angle images, apparatus, computer device, and storage medium | |
WO2022247414A1 (en) | Method and apparatus for generating space geometry information estimation model | |
CN111127522B (en) | Depth optical flow prediction method, device, equipment and media based on monocular camera | |
WO2019042426A1 (en) | Augmented reality scene processing method and apparatus, and computer storage medium | |
CN110310326A (en) | A pose data processing method, device, terminal and computer-readable storage medium | |
US20180232906A1 (en) | Visual odometry using object priors | |
KR102572986B1 (en) | Object Tracking Based on Custom Initialization Points | |
JP2016005263A (en) | Image generation system, terminal, program, and method that generate panoramic image from plurality of photographed images | |
JP6384856B2 (en) | Information device, program, and method for drawing AR object based on predicted camera posture in real time | |
US11335063B2 (en) | Multiple maps for 3D object scanning and reconstruction | |
CN114663686A (en) | Object feature point matching method and device, training method and device | |
CN111476060A (en) | Face definition analysis method, device, computer equipment and storage medium | |
CN115063768A (en) | Three-dimensional target detection method, encoder and decoder | |
CN116310737A (en) | Target recognition method, electronic device and storage medium | |
JP6931267B2 (en) | A program, device and method for generating a display image obtained by transforming the original image based on the target image. | |
JP6154759B2 (en) | Camera parameter estimation apparatus, camera parameter estimation method, and camera parameter estimation program | |
JP6242009B2 (en) | Video transfer system, terminal, program, and method for displaying a shooting area frame superimposed on a wide area image | |
KR102371594B1 (en) | Apparatus for automatic calibration of stereo camera image, system having the same and method thereof | |
JP6218237B2 (en) | Image conversion program, apparatus and method for parallelizing photographed image | |
CN117321631A (en) | SLAM guided monocular depth improvement system using self-supervised online learning | |
JP6168601B2 (en) | Image converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171017 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20171220 |