JP2020170400A - Information processing device, information processing method and program - Google Patents

Information processing device, information processing method and program Download PDF

Info

Publication number
JP2020170400A
JP2020170400A JP2019072208A JP2019072208A JP2020170400A JP 2020170400 A JP2020170400 A JP 2020170400A JP 2019072208 A JP2019072208 A JP 2019072208A JP 2019072208 A JP2019072208 A JP 2019072208A JP 2020170400 A JP2020170400 A JP 2020170400A
Authority
JP
Japan
Prior art keywords
shooting
image
panoramic image
information processing
pixel
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.)
Granted
Application number
JP2019072208A
Other languages
Japanese (ja)
Other versions
JP7259498B2 (en
Inventor
河合 直樹
Naoki Kawai
直樹 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2019072208A priority Critical patent/JP7259498B2/en
Publication of JP2020170400A publication Critical patent/JP2020170400A/en
Application granted granted Critical
Publication of JP7259498B2 publication Critical patent/JP7259498B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Closed-Circuit Television Systems (AREA)
  • Stereoscopic And Panoramic Photography (AREA)
  • Image Processing (AREA)

Abstract

To provide an information processing device, etc. capable of matching directions from positions of shooting a subject appearing in the center of each of a plurality of images with a direction connecting the shooting positions.SOLUTION: The information processing device acquires a plurality of panoramic images by expanding an entire celestial sphere image shot at a same height but different positions in a real space with any of directions horizontal to shooting directions in the real space taken as a center. The information processing device calculates similarities at positions of individual pixels horizontal to the shooting directions in a plurality of panoramic images and identifies a pole on a straight line connecting shooting positions in the respective panoramic images from the calculated similarities. The information processing device corrects the acquired panoramic images to provide a panoramic image centered on the identified pole.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing method and a program.

180度より広い画角のパノラマ画像を取得するカメラを用いて、撮影位置を移動しつつ撮影を行い、得られた複数のパノラマ画像を適宜切り替えることにより、任意の視点から見た状態の画像を提供するシステムが提案されている(特許文献1)。特許文献1に開示されたシステムでは、隣り合う撮影位置で撮影した2つのパノラマ画像を切り替える際に、表示中のパノラマ画像と次に表示されるパノラマ画像との合成比率を徐々に変化させることにより次のパノラマ画像の表示に遷移する。 Using a camera that acquires a panoramic image with an angle of view wider than 180 degrees, shooting is performed while moving the shooting position, and by appropriately switching between the obtained multiple panoramic images, an image viewed from an arbitrary viewpoint can be obtained. The provided system has been proposed (Patent Document 1). In the system disclosed in Patent Document 1, when switching between two panoramic images taken at adjacent shooting positions, the composition ratio of the displayed panoramic image and the next displayed panoramic image is gradually changed. Transition to the display of the next panoramic image.

特開2013−84307号公報Japanese Unexamined Patent Publication No. 2013-84307

2つのパノラマ画像を切り替えて表示する場合、2つのパノラマ画像において、それぞれの画像中心に写る被写体の撮影位置からの方角が、2つの撮影位置を結ぶ方角と一致していることが望ましい。撮影位置からの方角が2つの撮影位置を結ぶ方角と異なる被写体がそれぞれ画像中心に写っているパノラマ画像を切り替えて表示する場合、撮影方向が異なるパノラマ画像が切り替えられるので、画像の遷移を滑らかに行うことができない。また、撮影位置からの方角が2つの撮影位置を結ぶ方角と異なる被写体がそれぞれ画像中心に写っているパノラマ画像を合成した場合、合成後のパノラマ画像に横方向(方位角方向)のブレが生じる。2つのパノラマ画像において、画像中心に写る被写体の撮影位置からの方角を2つの撮影位置を結ぶ方角に一致させるために、例えば、それぞれの撮影位置で撮影する際にカメラの撮影方向を、2つの撮影位置を結ぶ方角に一致させることが考えられる。しかし、カメラの撮影方向は撮影者によって調整されるので、撮影方向を正確に一致させることは困難である。また、加速度センサ又は地磁気センサを備えるカメラを用いて撮影時のカメラの撮影方向の方角を検知し、撮影後のパノラマ画像に対して、撮影方向の方角を一致させる補正を行うことが可能である。しかし、撮影後の2つのパノラマ画像において、それぞれの撮影方向の方角が、2つの撮影位置を結ぶ方角に一致するように補正することは困難である。従って、2つのパノラマ画像のそれぞれにおいて画像中心に写る被写体の撮影位置からの方角を、2つの撮影位置を結ぶ方角に一致させることは難しい。 When switching between two panoramic images and displaying them, it is desirable that the direction from the shooting position of the subject in the center of each panoramic image coincides with the direction connecting the two shooting positions. When switching and displaying panoramic images in which the direction from the shooting position is different from the direction connecting the two shooting positions and the subject is shown in the center of the image, the panoramic images with different shooting directions are switched, so the transition of the image is smooth. I can't do it. In addition, when a panoramic image in which a subject whose direction from the shooting position is different from the direction connecting the two shooting positions is shown in the center of the image is combined, the panoramic image after the composition is blurred in the horizontal direction (azimuth direction). .. In two panoramic images, in order to match the direction from the shooting position of the subject in the center of the image to the direction connecting the two shooting positions, for example, when shooting at each shooting position, two shooting directions of the camera are set. It is conceivable to match the direction connecting the shooting positions. However, since the shooting direction of the camera is adjusted by the photographer, it is difficult to accurately match the shooting directions. In addition, it is possible to detect the direction of the shooting direction of the camera at the time of shooting by using a camera equipped with an acceleration sensor or a geomagnetic sensor, and perform correction to match the direction of the shooting direction with respect to the panoramic image after shooting. .. However, in the two panoramic images after shooting, it is difficult to correct the direction in each shooting direction so as to match the direction connecting the two shooting positions. Therefore, in each of the two panoramic images, it is difficult to match the direction from the shooting position of the subject appearing in the center of the image with the direction connecting the two shooting positions.

本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、複数の画像において画像中心に写る被写体の撮影位置からの方角を、撮影位置を結ぶ方角に一致させることが可能な情報処理装置等を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to match the direction from the shooting position of the subject appearing in the center of the image with the direction connecting the shooting positions in a plurality of images. The purpose is to provide an information processing device or the like capable of the above.

本開示の一態様に係る情報処理装置は、実空間内の同一高さの異なる撮影位置で撮影した全天球画像を実空間における撮影方向と水平ないずれかの方向を中心として展開した複数のパノラマ画像を取得する画像取得部と、前記複数のパノラマ画像における前記撮影方向と水平な画素の各画素位置における類似度を算出する算出部と、前記算出部による類似度から、前記異なる撮影位置を結ぶ直線上の極点を特定する極点特定部と、前記パノラマ画像を、特定した前記極点を中心としたパノラマ画像に補正する補正部とを備える。 The information processing apparatus according to one aspect of the present disclosure is a plurality of spherical images taken at different shooting positions at the same height in the real space and developed around one of the shooting directions in the real space. The different shooting positions are obtained from the image acquisition unit that acquires the panoramic image, the calculation unit that calculates the similarity at each pixel position of the pixel horizontal to the shooting direction in the plurality of panoramic images, and the similarity by the calculation unit. It includes a pole point specifying unit that specifies a pole point on a straight line to be connected, and a correction unit that corrects the panoramic image into a panoramic image centered on the specified pole point.

本開示の一態様によれば、カメラの撮影方向を考慮せずに撮影されたパノラマ画像であっても、複数のパノラマ画像において、それぞれの画像中心に写る被写体を、撮影位置を結ぶ方角の被写体とすることができる。それぞれのパノラマ画像の画像中心に写る被写体の撮影位置からの方角を自動的に、撮影位置を結ぶ方角に一致させるので、煩雑な手作業が不要となり、正確に一致させることができる。 According to one aspect of the present disclosure, even if the panoramic image is taken without considering the shooting direction of the camera, in a plurality of panoramic images, the subject appearing in the center of each image is the subject in the direction connecting the shooting positions. Can be. Since the direction from the shooting position of the subject in the center of each panoramic image is automatically matched with the direction connecting the shooting positions, complicated manual work is not required and accurate matching can be performed.

情報処理装置の構成例を示すブロック図である。It is a block diagram which shows the configuration example of an information processing apparatus. カメラの構成例を示すブロック図である。It is a block diagram which shows the structural example of a camera. カメラの外観を示す模式図である。It is a schematic diagram which shows the appearance of a camera. 撮影画像の構成を説明するための模式図である。It is a schematic diagram for demonstrating the structure of the photographed image. カメラの撮影位置の例を示す模式図である。It is a schematic diagram which shows the example of the photographing position of a camera. パノラマ画像の例を示す模式図である。It is a schematic diagram which shows the example of the panoramic image. パノラマ画像の例を示す模式図である。It is a schematic diagram which shows the example of the panoramic image. 情報処理装置による補正処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the correction processing by an information processing apparatus. 補正処理に含まれる極点特定処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the pole point identification process included in the correction process. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 情報処理装置による補正処理を説明するための模式図である。It is a schematic diagram for demonstrating the correction process by an information processing apparatus. 実施形態2の極点特定処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the pole point identification process of Embodiment 2. 実施形態2の極点特定処理を説明するための模式図である。It is a schematic diagram for demonstrating the pole point identification process of Embodiment 2.

以下に、本開示の情報処理装置、情報処理方法及びプログラムについて、その実施形態を示す図面に基づいて具体的に説明する。 Hereinafter, the information processing apparatus, information processing method, and program of the present disclosure will be specifically described with reference to drawings showing embodiments thereof.

(実施形態1)
図1は情報処理装置の構成例を示すブロック図である。情報処理装置10は、パーソナルコンピュータ、サーバコンピュータ、大型計算機上で動作する仮想マシン等である。情報処理装置10は、制御部11、記憶部12、通信部13、入力部14、表示部15等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit )、MPU(Micro-Processing Unit )又はGPU(Graphics Processing Unit)等の1又は複数のプロセッサを含み、本実施形態にかかるプログラムを実行する演算制御装置である。制御部11は、記憶部12に記憶してある制御プログラムを実行すると共に、バスを介して情報処理装置10を構成するハードウェア各部の動作を制御する。これにより、制御部11は、情報処理装置10が行うべき種々の制御処理及び情報処理を行う。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration example of an information processing device. The information processing device 10 is a personal computer, a server computer, a virtual machine operating on a large computer, or the like. The information processing device 10 includes a control unit 11, a storage unit 12, a communication unit 13, an input unit 14, a display unit 15, and the like, and each of these units is connected to each other via a bus. The control unit 11 is an arithmetic control device that includes one or more processors such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), or a GPU (Graphics Processing Unit), and executes a program according to the present embodiment. .. The control unit 11 executes the control program stored in the storage unit 12 and controls the operation of each hardware unit constituting the information processing device 10 via the bus. As a result, the control unit 11 performs various control processes and information processing to be performed by the information processing device 10.

記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive )等を含む。記憶部12は、制御部11が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部12は、制御部11が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。記憶部12に記憶される制御プログラムには、本開示のプログラムである方位補正プログラムPが含まれ、記憶部12に記憶されるデータには、後述するカメラ20によって撮影されたパノラマ画像を蓄積するパノラマ画像DB12aが含まれる。 The storage unit 12 includes a RAM (Random Access Memory), a flash memory, a hard disk, an SSD (Solid State Drive), and the like. The storage unit 12 stores in advance the control program executed by the control unit 11 and various data necessary for executing the control program. Further, the storage unit 12 temporarily stores data or the like generated when the control unit 11 executes the control program. The control program stored in the storage unit 12 includes the orientation correction program P, which is the program of the present disclosure, and the data stored in the storage unit 12 stores a panoramic image taken by the camera 20, which will be described later. The panoramic image DB 12a is included.

記憶部12に記憶される方位補正プログラムP及びパノラマ画像DB12aは、例えば通信部13を介して外部装置から取得されて記憶部12に記憶される。情報処理装置10が可搬型記憶媒体に記憶された情報を読み取る読取部等を備える場合、記憶部12に記憶される方位補正プログラムP及びパノラマ画像DB12aは、可搬型記憶媒体から読み出されて記憶部12に記憶されてもよい。なお、パノラマ画像DB12aは、情報処理装置10に接続された外部の記憶装置に記憶されてもよく、ネットワークNを介して情報処理装置10と通信可能な記憶装置に記憶されてもよい。 The orientation correction program P and the panoramic image DB 12a stored in the storage unit 12 are acquired from an external device via, for example, the communication unit 13 and stored in the storage unit 12. When the information processing device 10 includes a reading unit or the like that reads information stored in the portable storage medium, the orientation correction program P and the panoramic image DB 12a stored in the storage unit 12 are read from the portable storage medium and stored. It may be stored in the part 12. The panoramic image DB 12a may be stored in an external storage device connected to the information processing device 10, or may be stored in a storage device capable of communicating with the information processing device 10 via the network N.

通信部13は、有線通信又は無線通信によって、インターネット、公衆通信回線又はLAN(Local Area Network)等のネットワークNに接続するためのインターフェイスであり、ネットワークNを介して外部装置との間で情報の送受信を行う。入力部14は、キーボード及びマウス等を含み、ユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部15は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部14及び表示部15は一体として構成されたタッチパネルとすることもできる。 The communication unit 13 is an interface for connecting to a network N such as the Internet, a public communication line, or a LAN (Local Area Network) by wired communication or wireless communication, and information is transmitted to and from an external device via the network N. Send and receive. The input unit 14 includes a keyboard, a mouse, and the like, receives an operation input by the user, and sends a control signal corresponding to the operation content to the control unit 11. The display unit 15 is a liquid crystal display, an organic EL (Electro Luminescence) display, or the like, and displays various information according to instructions from the control unit 11. The input unit 14 and the display unit 15 may be a touch panel configured as an integral body.

以下に、本実施形態の情報処理装置10によって処理されるパノラマ画像及びパノラマ画像を撮影するカメラ20について説明する。カメラ20は、撮影装置の一例である。カメラ20は、1回のシャッターで前後左右上下の撮影を行う全天球カメラを使用する。図2はカメラ20の構成例を示すブロック図である。カメラ20は、制御部21、記憶部22、通信部23、シャッターボタン24、撮影部25、センサ26等を含み、これらの各部はバスを介して相互に接続されている。制御部21は、CPU、MPU又はGPU等の1又は複数のプロセッサを含み、本実施形態にかかるプログラムを実行する演算制御装置である。制御部21は、記憶部22に記憶してある制御プログラムを実行すると共に、バスを介してカメラ20を構成するハードウェア各部の動作を制御する。これにより、制御部21は、カメラ20が行うべき種々の制御処理及び情報処理を行う。 The panoramic image processed by the information processing apparatus 10 of the present embodiment and the camera 20 for capturing the panoramic image will be described below. The camera 20 is an example of a photographing device. The camera 20 uses a spherical camera that shoots front, back, left, right, up and down with a single shutter. FIG. 2 is a block diagram showing a configuration example of the camera 20. The camera 20 includes a control unit 21, a storage unit 22, a communication unit 23, a shutter button 24, a photographing unit 25, a sensor 26, and the like, and each of these units is connected to each other via a bus. The control unit 21 is an arithmetic control device that includes one or more processors such as a CPU, MPU, or GPU, and executes a program according to the present embodiment. The control unit 21 executes the control program stored in the storage unit 22 and controls the operation of each hardware unit constituting the camera 20 via the bus. As a result, the control unit 21 performs various control processes and information processing that the camera 20 should perform.

記憶部22は、RAM、フラッシュメモリ、ハードディスク、磁気テープ等を含む。記憶部22は、制御部21が実行する制御プログラム及び制御プログラムの実行に必要な各種のデータ等を予め記憶している。また記憶部22は、制御部21が制御プログラムを実行する際に発生するデータ等を一時的に記憶する。 The storage unit 22 includes a RAM, a flash memory, a hard disk, a magnetic tape, and the like. The storage unit 22 stores in advance the control program executed by the control unit 21 and various data necessary for executing the control program. Further, the storage unit 22 temporarily stores data or the like generated when the control unit 21 executes the control program.

通信部23は、有線通信又は無線通信によってネットワークNに接続するためのインターフェイスであり、ネットワークNを介して外部装置との間で情報の送受信を行う。シャッターボタン24は、静止画を撮影する指示を受け付けるボタンである。なお、制御部21は、ネットワークNを通じてシャッターボタン24の操作を受け付けてもよい。撮影部25は、撮影を行う光学系と撮像素子とを含む。制御部21は、シャッターボタン24から受け付けた指示に基づいて撮像素子が取得したデータに対して、各種画像処理を行い、撮影画像を生成する。センサ26は、例えば加速度センサ、地磁気センサ、GPS(Global Positioning System)等を含み、カメラ20の位置(撮影位置)、カメラ20の正面方向(撮影方向)の方角(方位)、及び重力方向(即ち、鉛直方向の下向き)を基準としたカメラ20の傾き等を検出する。 The communication unit 23 is an interface for connecting to the network N by wired communication or wireless communication, and transmits / receives information to / from an external device via the network N. The shutter button 24 is a button that receives an instruction to shoot a still image. The control unit 21 may accept the operation of the shutter button 24 through the network N. The photographing unit 25 includes an optical system for photographing and an image sensor. The control unit 21 performs various image processing on the data acquired by the image sensor based on the instruction received from the shutter button 24, and generates a captured image. The sensor 26 includes, for example, an acceleration sensor, a geomagnetic sensor, a GPS (Global Positioning System), etc., and includes a position (shooting position) of the camera 20, a direction (azimuth) of the front direction (shooting direction) of the camera 20, and a gravity direction (that is,). , Downward in the vertical direction) to detect the tilt of the camera 20 and the like.

図3はカメラ20の外観を示す模式図である。本実施形態のカメラ20は、略長方形板状の板状部28を有する。以後の説明において、板状部28の長辺方向を上下方向に向けた状態で説明する。なお、板状部28の長辺方向を上下方向に向けた状態のカメラ20において、板状部28の第1広面281側をカメラ20の前側、第2広面282側をカメラ20の後側、板状部28の短辺方向をカメラ20の左右方向とそれぞれ記載する。第1広面281の上寄りに、ドーム状の第1レンズ271が設けられている。第2広面282の上寄りに、ドーム状の第2レンズ272が設けられている。第1レンズ271及び第2レンズ272の内側には、図示しない複数のレンズ及びプリズム等の光学部品が配置されており、180度以上の視野角を有する光学系を形成している。以後の説明では、第1レンズ271側の光学系の光軸を第1光軸、第2レンズ272側の光学系の光軸を第2光軸とそれぞれ記載する。第1光軸と第2光軸とは、同一の直線上に配置されている。また、第1広面281にシャッターボタン24が配置されている。 FIG. 3 is a schematic view showing the appearance of the camera 20. The camera 20 of the present embodiment has a plate-shaped portion 28 having a substantially rectangular plate shape. In the following description, a state in which the long side direction of the plate-shaped portion 28 is directed in the vertical direction will be described. In the camera 20 in which the long side direction of the plate-shaped portion 28 is directed in the vertical direction, the first wide surface 281 side of the plate-shaped portion 28 is the front side of the camera 20, and the second wide surface 282 side is the rear side of the camera 20. The short side direction of the plate-shaped portion 28 is described as the left-right direction of the camera 20, respectively. A dome-shaped first lens 271 is provided above the first wide surface 281. A dome-shaped second lens 272 is provided above the second wide surface 282. Inside the first lens 271 and the second lens 272, a plurality of lenses (not shown) and optical components such as prisms are arranged to form an optical system having a viewing angle of 180 degrees or more. In the following description, the optical axis of the optical system on the side of the first lens 271 will be referred to as the first optical axis, and the optical axis of the optical system on the side of the second lens 272 will be referred to as the second optical axis. The first optical axis and the second optical axis are arranged on the same straight line. Further, the shutter button 24 is arranged on the first wide surface 281.

図4は撮影画像の構成を説明するための模式図である。図4Aは、全天球画像を示す模式図である。図4Bは、図4Aの全天球画像を正距円筒図法により展開した画像を示す模式図である。カメラ20の制御部21は、シャッターボタン24から受け付けた指示に基づいて撮影部25による撮影を行った場合、第1光軸側で撮影した画像と第2光軸側で撮影した画像とを合成することにより、図4Aに示すように撮影位置を撮影中心C点とする全天球画像を生成する。 FIG. 4 is a schematic diagram for explaining the structure of the captured image. FIG. 4A is a schematic view showing a spherical image. FIG. 4B is a schematic view showing an image obtained by developing the spherical image of FIG. 4A by equirectangular projection. When the shooting unit 25 takes a picture based on the instruction received from the shutter button 24, the control unit 21 of the camera 20 synthesizes the image taken on the first optical axis side and the image taken on the second optical axis side. By doing so, as shown in FIG. 4A, an omnidirectional image with the shooting position as the shooting center C point is generated.

全天球画像上の各画素の位置を定める座標系について説明する。図3を用いて説明したように、カメラ20は板状部28の長辺方向を上下方向に向けた状態で撮影する。以後の説明では、カメラ20の前後左右方向を含む面を水平面と記載する。全天球画像上の画素の位置は、直交座標系及びローカル極座標系により表現することができる。直交座標系は、図3に示した右方向をX軸の正側、上方向をY軸の正側、後ろ方向をZ軸の正側とする右手系の直交座標系を用いる。ローカル極座標系は、方位角φ及び天頂角θ、並びに撮影中心C点からの距離rによって座標が示される座標系を用いる。ローカル極座標系の方位角は、第2光軸側(Z軸の正側)を基準として、水平面内の反時計回りの角度φを示す。第1光軸(Z軸の負側)は、方位角φがπラジアンの位置に存在する。ここでπは円周率を意味する。第2光軸は、方位角φが0ラジアンかつ2πラジアンの位置に存在する。ローカル極座標系の天頂角は、撮影中心C点から天頂への上方向(Y軸の正側)を基準として、撮影中心C点を中心として下に向かう角度θを示す。上方向は、天頂角θが0ラジアンの位置に存在する。下方向(Y軸の負側)は、天頂角θがπラジアンの位置に存在する。全天球画像上の任意の画素aの位置は、直交座標系で表した座標(xa ,ya ,za )と、ローカル極座標系で表した座標(rLa,θLa,φLa)とによって表現することができる。なお、座標(x,y,z)及び座標(rL ,θL ,φL )は以下の(1)式及び(2)式によって相互に変換可能である。 A coordinate system that determines the position of each pixel on the spherical image will be described. As described with reference to FIG. 3, the camera 20 takes a picture in a state where the long side direction of the plate-shaped portion 28 is directed in the vertical direction. In the following description, the surface including the front-back and left-right directions of the camera 20 will be referred to as a horizontal plane. The positions of pixels on the spherical image can be represented by a Cartesian coordinate system and a local polar coordinate system. As the Cartesian coordinate system, a right-handed Cartesian coordinate system is used, in which the right direction shown in FIG. 3 is the positive side of the X axis, the upward direction is the positive side of the Y axis, and the rear direction is the positive side of the Z axis. As the local polar coordinate system, a coordinate system whose coordinates are indicated by the azimuth angle φ, the zenith angle θ, and the distance r from the shooting center C point is used. The azimuth angle of the local polar coordinate system indicates a counterclockwise angle φ in the horizontal plane with reference to the second optical axis side (the positive side of the Z axis). The first optical axis (negative side of the Z axis) exists at a position where the azimuth angle φ is π radians. Here, π means pi. The second optical axis exists at a position where the azimuth angle φ is 0 radians and 2π radians. The zenith angle of the local polar coordinate system indicates an angle θ downward from the shooting center C point to the zenith with respect to the upward direction (the positive side of the Y axis). In the upward direction, the zenith angle θ exists at a position of 0 radians. In the downward direction (negative side of the Y-axis), the zenith angle θ exists at the position of π radians. Position of an arbitrary pixel a on celestial sphere image, the coordinates expressed in an orthogonal coordinate system (x a, y a, z a) and the coordinates expressed in the local polar coordinates (r La, θ La, φ La) It can be expressed by. The coordinates (x, y, z) and the coordinates (r L , θ L , φ L ) can be converted to each other by the following equations (1) and (2).

カメラ20の制御部21は、全天球画像を方位角φ=0の線に沿って切断して、正距円筒図法により図4Bに示すように横軸を方位角φとし縦軸を天頂角θとする平面に展開した長方形の撮影画像(以下では、パノラマ画像という)を生成する。即ち、全天球画像は、実空間における撮影方向と水平ないずれかの方向(ここでは、カメラ20の正面方向)を中心として展開されてパノラマ画像が生成される。このパノラマ画像を構成する各画素には、全天球画像における各画素の輝度(画素値)が割り当てられる。なお、図4Bに示すように、長方形(平面)のパノラマ画像は、左下を原点(0,0)とし、原点(0,0)は、方位角φが2πラジアンで天頂角θがπラジアンの位置の画素を示す。また、パノラマ画像は、右方向に方位角φが小さくなり、パノラマ画像の右端は方位角φが0ラジアンの位置の画素であり、上方向に天頂角θが小さくなり、パノラマ画像の上端は天頂角θが0ラジアンの位置の画素である。 The control unit 21 of the camera 20 cuts the spherical image along the line of the azimuth angle φ = 0, and the horizontal axis is the azimuth angle φ and the vertical axis is the zenith angle as shown in FIG. A rectangular photographed image (hereinafter referred to as a panoramic image) developed on a plane set to θ is generated. That is, the spherical image is developed around any direction horizontal to the shooting direction in the real space (here, the front direction of the camera 20) to generate a panoramic image. The brightness (pixel value) of each pixel in the spherical image is assigned to each pixel constituting this panoramic image. As shown in FIG. 4B, in the rectangular (planar) panoramic image, the lower left is the origin (0,0), and the origin (0,0) has an azimuth φ of 2π radians and a zenith angle θ of π radians. Indicates the position pixel. Further, in the panoramic image, the azimuth φ becomes smaller in the right direction, the right end of the panoramic image is a pixel at a position where the azimuth φ is 0 radians, the zenith angle θ becomes smaller in the upward direction, and the upper end of the panorama image is the zenith. A pixel at a position where the angle θ is 0 radians.

カメラ20の制御部21は、撮影処理を行った場合、センサ26によって撮影中心C点(撮影位置)の位置情報、撮影時のカメラ20の撮影方向の方角及びカメラ20の傾きを検出する。そして制御部21は、図4Bに示すパノラマ画像に、検出した位置情報、撮影方向の方角及び傾きを含む付加データを付加して通信部23から情報処理装置10へ送信する。情報処理装置10の制御部11(画像取得部)は、カメラ20から送信されたパノラマ画像及び付加データを通信部13にて取得する。なお、カメラ20の制御部21は、図4Aに示す全天球画像の撮影画像を情報処理装置10へ送信し、情報処理装置10が、全天球画像から、図4Bに示すパノラマ画像を生成する処理を行ってもよい。情報処理装置10の制御部11は、カメラ20から取得した付加データとパノラマ画像とを対応付けてパノラマ画像DB12aに記録する。カメラ20は、Exif(Exchangeable image file format)形式を使用することにより、付加データと撮影画像とを一つのファイルで送信することが可能である。 When the shooting process is performed, the control unit 21 of the camera 20 detects the position information of the shooting center C point (shooting position), the direction of the shooting direction of the camera 20 at the time of shooting, and the inclination of the camera 20 by the sensor 26. Then, the control unit 21 adds additional data including the detected position information, the direction and inclination of the photographing direction to the panoramic image shown in FIG. 4B, and transmits the additional data from the communication unit 23 to the information processing device 10. The control unit 11 (image acquisition unit) of the information processing device 10 acquires the panoramic image and additional data transmitted from the camera 20 by the communication unit 13. The control unit 21 of the camera 20 transmits the captured image of the spherical image shown in FIG. 4A to the information processing device 10, and the information processing device 10 generates the panoramic image shown in FIG. 4B from the spherical image. You may perform the processing to do. The control unit 11 of the information processing device 10 associates the additional data acquired from the camera 20 with the panoramic image and records it in the panoramic image DB 12a. By using the Exif (Exchangeable image file format) format, the camera 20 can transmit the additional data and the captured image in one file.

カメラ20は撮影によって画像データ(撮影画像データ)を取得するが、以下では画像データを単に画像という場合がある。従って、撮影画像は撮影画像データを意味する場合があり、パノラマ画像はパノラマ画像データを意味する場合がある。撮影画像は、複数の画素を含み、撮影画像データは、各画素の撮影画像中の位置(座標)を示す位置情報と各画素の輝度(画素値)とを対応付けて有する。撮影位置の位置情報は、例えばGPSによって検出される位置の情報であってもよく、撮影空間内の任意の位置を基準とした位置の情報であってもよい。撮影位置、撮影方向の方角及び傾きはそれぞれ、カメラ20に内蔵されているセンサ26により測定されてもよく、また、外部の他のセンサ等により測定されてカメラ20又は情報処理装置10へ送信されてもよい。 The camera 20 acquires image data (captured image data) by photographing, but in the following, the image data may be simply referred to as an image. Therefore, the captured image may mean captured image data, and the panoramic image may mean panoramic image data. The captured image includes a plurality of pixels, and the captured image data has the position information indicating the position (coordinates) of each pixel in the captured image and the brightness (pixel value) of each pixel in association with each other. The position information of the shooting position may be, for example, position information detected by GPS, or position information based on an arbitrary position in the shooting space. The shooting position, the direction and the tilt in the shooting direction may be measured by the sensor 26 built in the camera 20, or measured by another external sensor or the like and transmitted to the camera 20 or the information processing device 10. You may.

本実施形態では、カメラ20を用いて、賃貸住宅及び販売住宅等の不動産物件の部屋、ホテル及び民宿等の宿泊施設の部屋等を撮影する。カメラ20を用いて撮影する空間(実空間)は、博物館、美術館、テーマパーク、アミューズメント施設、観光地、商業施設等であってもよい。以下では、略矩形の部屋を撮影対象の空間として説明する。 In the present embodiment, the camera 20 is used to photograph rooms of real estate properties such as rental housing and sales housing, rooms of accommodation facilities such as hotels and guest houses, and the like. The space (real space) photographed by the camera 20 may be a museum, an art museum, a theme park, an amusement facility, a tourist spot, a commercial facility, or the like. In the following, a substantially rectangular room will be described as a space to be photographed.

図5はカメラ20の撮影位置の例を示す模式図であり、撮影対象の部屋を天井側から見た状態を示している。図5に示す撮影対象の部屋にはドア、カウンター、植物、ソファー、階段等が設置されている。本実施形態では、例えば図5中の黒丸で示す2箇所で撮影を行い、一方の撮影位置(図5における左側の撮影位置)を第1撮影位置とし、他方の撮影位置(図5における右側の撮影位置)を第2撮影位置とする。撮影位置は図5に示す例に限らず任意の2箇所とすればよく、また3箇所以上としてもよい。また本実施形態では、複数の撮影位置において、床面からの撮影高さは同じとし、例えば1m程度とするが、これに限定しない。立った状態の大人の目線の高さ、又は椅子に座った状態の大人の目線の高さ等の任意の高さから撮影を行ってもよい。カメラ20が撮影を行う位置及び高さは、カメラ20に内蔵されたセンサ26又はカメラ20を外部から監視するセンサにより測定される。またカメラ20を特定の位置及び高さに固定する治具等を利用して撮影を行ってもよい。また本実施形態では、複数の撮影位置において、カメラ20の上下方向を撮影空間における鉛直方向に一致させた状態で撮影を行う。 FIG. 5 is a schematic view showing an example of the shooting position of the camera 20, and shows a state in which the room to be shot is viewed from the ceiling side. Doors, counters, plants, sofas, stairs, etc. are installed in the room to be photographed shown in FIG. In the present embodiment, for example, shooting is performed at two locations indicated by black circles in FIG. 5, one shooting position (the shooting position on the left side in FIG. 5) is set as the first shooting position, and the other shooting position (the right side in FIG. 5) is set. The shooting position) is set as the second shooting position. The imaging position is not limited to the example shown in FIG. 5, and may be any two locations, or three or more locations. Further, in the present embodiment, the shooting height from the floor surface is the same at a plurality of shooting positions, for example, about 1 m, but the shooting height is not limited to this. Shooting may be performed from an arbitrary height such as the height of an adult's line of sight while standing or the height of an adult's line of sight while sitting on a chair. The position and height at which the camera 20 takes a picture are measured by a sensor 26 built in the camera 20 or a sensor that monitors the camera 20 from the outside. Further, the camera 20 may be photographed by using a jig or the like that fixes the camera 20 at a specific position and height. Further, in the present embodiment, shooting is performed in a state where the vertical direction of the camera 20 coincides with the vertical direction in the shooting space at a plurality of shooting positions.

なお、それぞれの撮影位置において床面からの高さが異なる状態で撮影し、撮影後のパノラマ画像における天頂角方向(上下方向)を補正して、同じ高さから撮影した状態のパノラマ画像を生成してもよい。例えば、撮影後のパノラマ画像において、同一の被写体が、それぞれの画像中の上下方向における同じ位置となるように、パノラマ画像の各画素を上下方向に移動させる補正を行ってもよい。また、カメラ20のセンサ26にて撮影時のカメラ20の傾きを検出し、検出した傾きを用いて撮影後のパノラマ画像における鉛直方向の傾きを補正(天頂補正)することにより、それぞれの撮影位置で撮影したパノラマ画像を、画像の上下方向が撮影空間の鉛直方向に一致する画像に補正してもよい。 Note that the panoramic image is generated in a state where the height from the floor is different at each shooting position, the zenith angle direction (vertical direction) in the panoramic image after shooting is corrected, and the panorama image is shot from the same height. You may. For example, in the panoramic image after shooting, correction may be performed to move each pixel of the panoramic image in the vertical direction so that the same subject is at the same position in the vertical direction in each image. Further, the sensor 26 of the camera 20 detects the tilt of the camera 20 at the time of shooting, and the detected tilt is used to correct the tilt in the vertical direction in the panoramic image after shooting (zenith correction), so that each shooting position is obtained. The panoramic image taken in 1 may be corrected to an image in which the vertical direction of the image coincides with the vertical direction of the shooting space.

図6及び図7は、パノラマ画像の例を示す模式図である。図6Aに示すパノラマ画像は、図5に示す第1撮影位置において所定の高さにおける水平面上で矢符D1で示す方向にカメラ20の前側を向けて(第1光軸を一致させて)撮影された画像の例であり、図6Bに示すパノラマ画像は、第2撮影位置において所定の高さにおける水平面上で矢符D2で示す方向にカメラ20の前側を向けて撮影された画像の例である。また図7Aに示すパノラマ画像は、第1撮影位置において所定の高さにおける水平面上で矢符tで示す方向(第2撮影位置から第1撮影位置への方向)にカメラ20の前側を向けて撮影された画像の例であり、図7Bに示すパノラマ画像は、第2撮影位置において所定の高さにおける水平面上で矢符tにて示す方向にカメラ20の前側を向けて撮影された画像の例である。以下では、カメラ20の前側(正面方向)をカメラ20の撮影方向という。 6 and 7 are schematic views showing an example of a panoramic image. The panoramic image shown in FIG. 6A is taken at the first shooting position shown in FIG. 5 with the front side of the camera 20 facing in the direction indicated by the arrow D1 on the horizontal plane at a predetermined height (matching the first optical axes). The panoramic image shown in FIG. 6B is an example of an image taken with the front side of the camera 20 facing in the direction indicated by the arrow D2 on the horizontal plane at a predetermined height at the second shooting position. is there. Further, the panoramic image shown in FIG. 7A faces the front side of the camera 20 in the direction indicated by the arrow t (direction from the second shooting position to the first shooting position) on the horizontal plane at a predetermined height at the first shooting position. An example of the captured image, the panoramic image shown in FIG. 7B is an image captured with the front side of the camera 20 facing in the direction indicated by the arrow t on the horizontal plane at a predetermined height at the second imaging position. This is an example. Hereinafter, the front side (front direction) of the camera 20 is referred to as a shooting direction of the camera 20.

カメラ20は、カメラ20の正面方向の景色が画像中の左右方向の中央部に写り、カメラ20の後側(背面方向)の景色が画像中の左右端部に写るパノラマ画像を生成する。またカメラ20は、撮影空間の鉛直方向が画像の上下方向に一致し、撮影位置(撮影高さ)が画像の上下方向の中央に一致するパノラマ画像を生成する。よって、それぞれの撮影位置において同じ撮影方向(図5中の矢符tで示す方向)で撮影を行った場合、図7A,Bに示すように、撮影位置と同じ高さの被写体は、それぞれのパノラマ画像の上下方向の中央部に写る。また、矢符tで示す方向(撮影方向)に存在する被写体FPは、それぞれのパノラマ画像の中央部に写り、矢符tで示す方向の反対方向(カメラ20の背面方向)に存在する被写体は、それぞれのパノラマ画像の左右端部に写る。一方、それぞれの撮影位置において異なる方角を撮影方向(図5中の矢符D1,D2で示す方向)として撮影を行った場合、図6A,Bに示すように、同じ被写体が画像中の方位角方向(左右方向)の異なる位置に写る。図6A,Bに示すように、それぞれの画像中心に写る被写体が、撮影位置を結ぶ方角の被写体でないパノラマ画像を切り替えて表示する場合、画像の遷移を滑らかに行うことができない。また、このようなパノラマ画像を合成して表示する場合、合成後のパノラマ画像に方位角方向のブレが生じ、鮮明なパノラマ画像を提供できない。 The camera 20 generates a panoramic image in which the front view of the camera 20 is captured in the center of the image in the left-right direction, and the view of the rear side (rear direction) of the camera 20 is captured in the left and right edges of the image. Further, the camera 20 generates a panoramic image in which the vertical direction of the shooting space coincides with the vertical direction of the image and the shooting position (shooting height) coincides with the center of the vertical direction of the image. Therefore, when shooting is performed in the same shooting direction (direction indicated by the arrow t in FIG. 5) at each shooting position, as shown in FIGS. 7A and 7B, the subjects having the same height as the shooting position are respectively. It appears in the center of the panoramic image in the vertical direction. Further, the subject FP existing in the direction indicated by the arrow t (shooting direction) is reflected in the central portion of each panoramic image, and the subject existing in the direction opposite to the direction indicated by the arrow t (backward direction of the camera 20) is reflected. , Appeared on the left and right edges of each panoramic image. On the other hand, when shooting is performed with different shooting directions (directions indicated by arrows D1 and D2 in FIG. 5) at each shooting position, the same subject has the same azimuth in the image as shown in FIGS. 6A and 6B. It appears in different positions in different directions (left and right). As shown in FIGS. 6A and 6B, when the subject reflected in the center of each image switches and displays a panoramic image that is not a subject in the direction connecting the shooting positions, the transition of the image cannot be performed smoothly. Further, when such a panoramic image is combined and displayed, the combined panoramic image is blurred in the azimuth direction, and a clear panoramic image cannot be provided.

そこで、本実施形態の情報処理装置10は、図6A,Bに示す画像のように画像中心に写る被写体のそれぞれの撮影位置からの方角が、撮影位置を結ぶ方角に一致しない被写体であるパノラマ画像に対して補正処理を行い、図7A,Bに示す画像のように画像中心に写る被写体が、それぞれの撮影位置からの方角が、撮影位置を結ぶ方角に一致する被写体であるパノラマ画像を生成する。従って、本実施形態の情報処理装置10によって処理されるパノラマ画像は、それぞれの撮影位置において、撮影位置(カメラ20)の床面からの高さを一致させ、カメラ20の上下方向を撮影空間の鉛直方向に一致させた状態で撮影された画像であるが、それぞれの撮影位置でカメラ20の撮影方向の方角は一致していなくてもよい。即ち、それぞれの撮影位置において、カメラ20の前後方向及び左右方向は一致していなくてもよい。また、本実施形態の情報処理装置10は、図6A,Bに示すようなパノラマ画像を、図7A,Bに示すようなパノラマ画像にそれぞれ補正する際に、図6A,Bのパノラマ画像において、第2撮影位置から第1撮影位置への方向(図5中の矢符tの方向)に存在する被写体FPが写っている位置を特定する必要がある。この被写体FPの画像中の位置を、以下では極点という。 Therefore, the information processing device 10 of the present embodiment is a panoramic image in which the directions from the respective shooting positions of the subject reflected in the center of the image do not match the directions connecting the shooting positions, as in the images shown in FIGS. 6A and 6B. Is corrected to generate a panoramic image in which the subject appearing in the center of the image as shown in FIGS. 7A and 7B is a subject whose direction from each shooting position matches the direction connecting the shooting positions. .. Therefore, in the panoramic image processed by the information processing apparatus 10 of the present embodiment, the heights of the shooting positions (camera 20) from the floor surface are matched at each shooting position, and the vertical direction of the camera 20 is the shooting space. The images are taken in a state of being aligned in the vertical direction, but the directions of the shooting directions of the camera 20 may not be the same at each shooting position. That is, the front-rear direction and the left-right direction of the camera 20 do not have to be the same at each shooting position. Further, when the information processing apparatus 10 of the present embodiment corrects the panoramic image as shown in FIGS. 6A and 6B to the panoramic image as shown in FIGS. 7A and 7B, the panoramic image of FIGS. It is necessary to specify the position where the subject FP existing in the direction from the second shooting position to the first shooting position (the direction of the arrow t in FIG. 5) is captured. The position of the subject FP in the image is referred to as a pole below.

次に、情報処理装置10が行う補正処理についてフローチャートに基づいて説明する。図8は、情報処理装置10による補正処理の手順の一例を示すフローチャート、図9は、補正処理に含まれる極点特定処理の手順の一例を示すフローチャート、図10〜図18は、情報処理装置10による補正処理を説明するための模式図である。以下の処理は、情報処理装置10の記憶部12に記憶してある方位補正プログラムPを含む制御プログラムに従って制御部11によって実行される。なお、本実施形態では、以下の処理を制御部11が制御プログラムを実行することにより実現するが、これらの一部を専用のハードウェア回路で実現してもよい。 Next, the correction process performed by the information processing apparatus 10 will be described with reference to the flowchart. FIG. 8 is a flowchart showing an example of a procedure of correction processing by the information processing device 10, FIG. 9 is a flowchart showing an example of a procedure of pole point identification processing included in the correction processing, and FIGS. 10 to 18 are information processing devices 10. It is a schematic diagram for demonstrating the correction process by. The following processing is executed by the control unit 11 according to the control program including the direction correction program P stored in the storage unit 12 of the information processing device 10. In the present embodiment, the following processes are realized by the control unit 11 executing the control program, but some of them may be realized by a dedicated hardware circuit.

以下では、図5に示す撮影空間における第1撮影位置で撮影した図6Aに示すパノラマ画像を第1パノラマ画像といい、第2撮影位置で撮影した図6Bに示すパノラマ画像を第2パノラマ画像という。そして、図6A,Bに示すように第1撮影位置及び第2撮影位置においてそれぞれ異なる方角を撮影方向として撮影した第1パノラマ画像及び第2パノラマ画像を、第2撮影位置から第1撮影位置に向かう方向に存在する被写体FPが画像の中央に位置するパノラマ画像に補正する処理について説明する。 In the following, the panoramic image shown in FIG. 6A taken at the first shooting position in the shooting space shown in FIG. 5 is referred to as a first panoramic image, and the panoramic image shown in FIG. 6B taken at the second shooting position is referred to as a second panoramic image. .. Then, as shown in FIGS. 6A and 6B, the first panoramic image and the second panoramic image taken in different directions at the first shooting position and the second shooting position are moved from the second shooting position to the first shooting position. A process of correcting the subject FP existing in the heading direction to a panoramic image located in the center of the image will be described.

情報処理装置10の制御部11は、補正処理を行うべきパノラマ画像をパノラマ画像DB12aから読み出す(S1)。補正処理を行うべきパノラマ画像は、入力部14又は外部装置を介して指定される。処理対象のパノラマ画像は、例えば同じ撮影空間内の異なる撮影位置で撮影されたパノラマ画像であり、図5に示す撮影空間における2箇所の撮影位置で撮影されたパノラマ画像とする。第1パノラマ画像及び第2パノラマ画像は、それぞれの撮影位置において、床面からの高さが同一であり、カメラ20の上下方向を撮影空間の鉛直方向に一致させた状態で撮影された画像である。即ち、画像の上下方向が撮影空間の鉛直方向に一致し、撮影高さが画像の上下方向の中央に一致する画像である。なお、撮影後のパノラマ画像に対して、例えばパノラマ画像に付加された付加データ(撮影方向の傾き)に基づく天頂補正を行うことにより、同じ高さの撮影位置で、カメラ20の上下方向を撮影空間の鉛直方向に一致させた状態で撮影した画像を生成してもよい。また、第1パノラマ画像及び第2パノラマ画像は、それぞれの撮影位置でカメラ20の撮影方向の方角は一致していなくてよい。 The control unit 11 of the information processing device 10 reads out the panoramic image to be corrected from the panoramic image DB 12a (S1). The panoramic image to be corrected is designated via the input unit 14 or an external device. The panoramic image to be processed is, for example, a panoramic image taken at different shooting positions in the same shooting space, and is a panoramic image taken at two shooting positions in the shooting space shown in FIG. The first panoramic image and the second panoramic image are images taken in a state where the height from the floor is the same at each shooting position and the vertical direction of the camera 20 is aligned with the vertical direction of the shooting space. is there. That is, the vertical direction of the image coincides with the vertical direction of the shooting space, and the shooting height coincides with the center of the vertical direction of the image. By performing zenith correction on the panoramic image after shooting, for example, based on additional data (tilt in the shooting direction) added to the panoramic image, the camera 20 is shot in the vertical direction at the same shooting position. An image taken in a state of matching in the vertical direction of the space may be generated. Further, the first panoramic image and the second panoramic image do not have to have the same shooting direction of the camera 20 at the respective shooting positions.

制御部11は、パノラマ画像と共に、それぞれのパノラマ画像に付加された付加データをパノラマ画像DB12aから読み出す。そして、制御部11(向き補正部)は、読み出した付加データに基づいて、読み出した2つのパノラマ画像に対して、それぞれの撮影位置からの撮影方向が同一の方角(方位)となるように画像の向きを補正する補正処理を行う(S2)。例えば図10Aに矢符D3で示すように、それぞれの撮影位置からの撮影方向が同一の方角となるように、第1パノラマ画像及び第2パノラマ画像の向きを補正する。例えば付加データに含まれる撮影方向の方角(向首方向)は、北向きを0度、東向きを90度、南向きを180度、西向きを270度とそれぞれし、0度以上360度未満の値で示されている。よって、制御部11は、撮影方向の方角を示す値に基づいて、それぞれのパノラマ画像を水平方向(方位角方向)にスクロール(移動)することにより、例えば撮影位置から北方向にある被写体が画像の中央に写るパノラマ画像を生成する。これにより、撮影方向を北向きとして撮影した状態に補正された第1パノラマ画像及び第2パノラマ画像が得られる。なお、第1パノラマ画像及び第2パノラマ画像における撮影方向の方角は、北向きに補正する構成に限らず、同一の方角であればよい。 The control unit 11 reads out the additional data added to each panoramic image together with the panoramic image from the panoramic image DB 12a. Then, the control unit 11 (direction correction unit) makes an image so that the shooting directions from the respective shooting positions are the same direction (azimuth) for the two read panoramic images based on the read additional data. A correction process for correcting the direction of is performed (S2). For example, as shown by the arrow D3 in FIG. 10A, the orientations of the first panoramic image and the second panoramic image are corrected so that the shooting directions from the respective shooting positions are in the same direction. For example, the shooting direction (heading direction) included in the additional data is 0 degrees to the north, 90 degrees to the east, 180 degrees to the south, and 270 degrees to the west, and is 0 degrees or more and less than 360 degrees. It is indicated by a value. Therefore, the control unit 11 scrolls (moves) each panoramic image in the horizontal direction (azimuth angle direction) based on the value indicating the direction of the shooting direction, so that, for example, the subject in the north direction from the shooting position is an image. Generates a panoramic image in the center of. As a result, the first panoramic image and the second panoramic image corrected to the state of being photographed with the photographing direction facing north can be obtained. The direction of the shooting direction in the first panoramic image and the second panoramic image is not limited to the configuration of correcting to the north, and may be the same direction.

例えば向首方向がφC 度(ただし0≦φC <360)であった場合、パノラマ画像の幅(左右方向の長さ)をW画素とすると、以下の(3)式によってスクロール量S(移動させる画素数)が算出される。制御部11は、図10Bに示すように、読み出した2つのパノラマ画像のそれぞれに対して、各画素をそれぞれ、算出したスクロール量Sだけ右方向にスクロールする処理を行う。なお、図10Bの下側に示す画素x0 のように、スクロール量Sだけ移動させた場合に画像の右端からはみ出る画素については、はみ出した量だけ画像の左端から移動させた位置x1 に移動させる。パノラマ画像において右方向をx軸とした場合、スクロール前のパノラマ画像の各画素のx座標値をx0 とすると、スクロール後のパノラマ画像の各画素のx座標値x1 は、以下の(4)によって算出できる。なお、modは剰余演算子を表し、AmodBは、AをBで割った余りを示す。よって、制御部11は、(4)式を用いて、パノラマ画像の各画素x0 の位置(x座標値)から、スクロール後のパノラマ画像の各画素x1 の位置を算出する。制御部11は、パノラマ画像の各画素x0 の画素値を、算出したスクロール後のパノラマ画像の各画素x1 の位置に移動させることにより、図11A,Bに示すようにそれぞれの撮影位置からの撮影方向が同一の方角となるパノラマ画像を生成する。なお、図11Aは、図10Aに示すように第1撮影位置から矢符D3で示す撮影方向に撮影した状態のパノラマ画像であり、図11Bは、第2撮影位置から矢符D3で示す撮影方向に撮影した状態のパノラマ画像である。 For example, when the head direction is φ C degree (however, 0 ≦ φ C <360) and the width (length in the left-right direction) of the panoramic image is W pixel, the scroll amount S (3) is as follows. The number of pixels to be moved) is calculated. As shown in FIG. 10B, the control unit 11 performs a process of scrolling each pixel to the right by the calculated scroll amount S for each of the two read panoramic images. Incidentally movement, as the pixel x 0 shown on the lower side of FIG. 10B, for the pixels protrudes from the right end of the image when moved by the scroll amount S, the position x 1 only moved from the left end of the image amounts protruding Let me. When the right direction is the x-axis in the panoramic image and the x-coordinate value of each pixel of the panoramic image before scrolling is x 0 , the x-coordinate value x 1 of each pixel of the panoramic image after scrolling is the following (4). ) Can be calculated. Note that mod represents the remainder operator, and AmodB represents the remainder obtained by dividing A by B. Therefore, the control unit 11 calculates the position of each pixel x 1 of the panoramic image after scrolling from the position (x coordinate value) of each pixel x 0 of the panoramic image by using the equation (4). The control unit 11 moves the pixel value of each pixel x 0 of the panoramic image to the position of each pixel x 1 of the calculated panoramic image after scrolling, so that the control unit 11 can move from each shooting position as shown in FIGS. 11A and 11B. Generates a panoramic image in which the shooting directions are the same. Note that FIG. 11A is a panoramic image in a state of being photographed from the first shooting position in the shooting direction indicated by the arrow D3 as shown in FIG. 10A, and FIG. 11B is a shooting direction indicated by the arrow D3 from the second shooting position. It is a panoramic image of the state taken in.

S=φC /360×W …(3)
1 =(x0 +S)modW …(4)
S = φ C / 360 × W… (3)
x 1 = (x 0 + S) modW ... (4)

次に制御部11は、図11A,Bに示すように撮影位置からの撮影方向が同一の方角となるように補正された第1パノラマ画像及び第2パノラマ画像に基づいて、第1パノラマ画像及び第2パノラマ画像のそれぞれにおける極点の位置を特定する(S3)。極点は、第1パノラマ画像及び第2パノラマ画像のそれぞれにおいて、第2撮影位置から第1撮影位置への方向(図5中の矢符tの方向)に存在する被写体(図5では被写体FP)が写っている位置である。なお、ここでの第1パノラマ画像及び第2パノラマ画像は、それぞれの撮影位置において床面から同じ高さで撮影したものであるので、極点は、画像の上下方向の中央のいずれかに存在する。即ち、図11A,Bに示す第1パノラマ画像及び第2パノラマ画像において、それぞれの極点は、直線CL上の異なる位置に存在する。 Next, the control unit 11 bases the first panoramic image and the second panoramic image corrected so that the shooting directions from the shooting positions are in the same direction as shown in FIGS. 11A and 11B. The positions of the poles in each of the second panoramic images are specified (S3). The pole points are subjects existing in the direction from the second shooting position to the first shooting position (direction of the arrow t in FIG. 5) in each of the first panoramic image and the second panoramic image (subject FP in FIG. 5). Is the position where is reflected. Since the first panoramic image and the second panoramic image here were taken at the same height from the floor surface at each shooting position, the pole point exists at any of the centers in the vertical direction of the image. .. That is, in the first panoramic image and the second panoramic image shown in FIGS. 11A and 11B, the respective pole points exist at different positions on the straight line CL.

図9に示す極点特定処理において、制御部11(抽出部)はまず、ステップS2で画像の向きを補正した第1パノラマ画像及び第2パノラマ画像から、画像の上下方向の中央の直線CL上に並ぶ画素を抽出して画素列を生成する(S11)。なお、制御部11は、直線CL上に並ぶ画素による画素列を生成してもよく、直線CLの延伸方向に並ぶ画素から所定数の画素毎に画素を間引いた画素列を生成してもよく、また、直線CLの延伸方向に並ぶ複数の画素毎の平均画素値による画素列を生成してもよい。なお、生成する画素列の要素数を減らした場合、以降の処理における演算量を減らすことができる。ここでは、制御部11は、図12A,B中の矩形で示すように、直線CLを中心として画像の上下方向に所定画素数の高さの領域に含まれる画素を抽出し、直線CLの延伸方向に所定数の画素毎の平均画素値を算出し、算出した平均画素値による画素列を生成する。例えばパノラマ画像の高さ(上下方向の長さ)が2688画素であり、幅(左右方向の長さ)が5376画素である場合、制御部11は、直線CLを中心として画像の上下方向に100画素の高さの領域に含まれる画素を抽出し、直線CLの延伸方向に32画素毎(即ち、100画素×32画素毎)の平均画素値を算出し、要素数168の画素列を生成する。なお、制御部11は、パノラマ画像から画素を抽出する領域に対して、ローパスフィルタ処理を行い、パノラマ画像からノイズ及び高周波成分を除去してもよい。この場合、パノラマ画像におけるノイズ及び高周波成分による影響を低減できる。 In the pole point identification process shown in FIG. 9, the control unit 11 (extracting unit) first converts the first panoramic image and the second panoramic image whose orientation is corrected in step S2 onto the straight line CL in the center in the vertical direction of the image. A pixel sequence is generated by extracting the aligned pixels (S11). The control unit 11 may generate a pixel array of pixels arranged on the straight line CL, or may generate a pixel array obtained by thinning out pixels for each predetermined number of pixels from the pixels arranged in the extending direction of the straight line CL. Alternatively, a pixel sequence based on the average pixel value of each of a plurality of pixels arranged in the extending direction of the straight line CL may be generated. When the number of elements of the generated pixel string is reduced, the amount of calculation in the subsequent processing can be reduced. Here, as shown by the rectangles in FIGS. 12A and 12B, the control unit 11 extracts pixels included in a region having a predetermined number of pixels in the vertical direction of the image centering on the straight line CL, and extends the straight line CL. An average pixel value for each of a predetermined number of pixels is calculated in the direction, and a pixel sequence based on the calculated average pixel value is generated. For example, when the height (length in the vertical direction) of the panoramic image is 2688 pixels and the width (length in the horizontal direction) is 5376 pixels, the control unit 11 is 100 in the vertical direction of the image centering on the straight line CL. Pixels included in the pixel height region are extracted, the average pixel value for each 32 pixels (that is, every 100 pixels × 32 pixels) is calculated in the extending direction of the straight line CL, and a pixel sequence having 168 elements is generated. .. The control unit 11 may perform low-pass filter processing on the region for extracting pixels from the panoramic image to remove noise and high-frequency components from the panoramic image. In this case, the influence of noise and high frequency components in the panoramic image can be reduced.

第1パノラマ画像及び第2パノラマ画像は、撮影高さが同じ撮影位置から撮影した状態の画像であるので、画像の上下方向の中央にはそれぞれ、撮影位置での水平面上に存在する被写体が写っている。従って、第1パノラマ画像から抽出した画素列と、第2パノラマ画像から抽出した画素列とは、同じ被写体(撮影位置での水平面上に存在する被写体)が異なる位置に写っている。よって、情報処理装置10は、第1パノラマ画像から抽出した画素列と、第2パノラマ画像から抽出した画素列とにおいて、同じ被写体が写っている画素の対応付けを行う。本実施形態の情報処理装置10は、例えばDynamic Time Warping(DTW)の手法を用いて、2つの画素列における同じ被写体の画素の対応付けを行う。具体的には、情報処理装置10は、2つの画素列において、画素列の各画素を所定画素数ずつシフトさせながら、2つの画素列の類似度を示す適合率を算出し、シフト量s(方位角の位相φと等価)に応じた適合率の変化ρ(s)を算出する。なお、本実施形態では、DTWにおける処理中に得られるディスタンスマトリクスの最小パスを利用して、2つの画素列の適合率を算出する。これにより、情報処理装置10は、2つのパノラマ画像における撮影方角と水平に並ぶ画素において、各画素位置における類似度を算出できる。 Since the first panoramic image and the second panoramic image are images taken from the same shooting position, the subject existing on the horizontal plane at the shooting position is shown in the center of the vertical direction of the image, respectively. ing. Therefore, the pixel sequence extracted from the first panoramic image and the pixel sequence extracted from the second panoramic image show the same subject (subject existing on the horizontal plane at the shooting position) at different positions. Therefore, the information processing device 10 associates the pixel strings extracted from the first panoramic image with the pixels in which the same subject appears in the pixel strings extracted from the second panoramic image. The information processing apparatus 10 of the present embodiment uses, for example, a method of Dynamic Time Warping (DTW) to associate pixels of the same subject in two pixel sequences. Specifically, the information processing apparatus 10 calculates a matching ratio indicating the similarity between the two pixel strings while shifting each pixel of the pixel sequence by a predetermined number of pixels in the two pixel strings, and the shift amount s ( The change ρ (s) of the conformance rate according to the phase φ of the azimuth angle is calculated. In this embodiment, the matching ratio of the two pixel strings is calculated by using the minimum path of the distance matrix obtained during the processing in DTW. As a result, the information processing device 10 can calculate the similarity at each pixel position in the pixels arranged horizontally with the shooting direction in the two panoramic images.

まず制御部11は、画素列の各画素をシフトさせるシフト量sを0に設定する(S12)。そして制御部11は、第1パノラマ画像から抽出した画素列(以下では第1画素列という)と、第2パノラマ画像から抽出した画素列(以下では第2画素列という)との間のコストマトリクスを作成する(S13)。図13はコストマトリクスの例を示しており、制御部11は、画素列の要素数N(例えばN=168)に対応して、N×Nの配列を用意する。配列の各要素には、第1画素列の各画素(各要素)の画素値(ここでは、所定数の画素の平均画素値)と、第2画素列の各画素の画素値との差異が格納されることにより、コストマトリクスが作成される。第1画素列の画素f(i)と第2画素列の画素r(j)とはそれぞれRGBの各値を有しており、画素f(i)のRGB値を(Rfi,Gfi,Bfi)とし、画素r(j)のRGB値を(Rrj,Grj,Brj)とした場合、制御部11は、2つの画素f(i),r(j)間のコストCとして、例えば以下の(5)式によってRGB値のユークリッド距離を算出する。なお、制御部11は、2つの画素間のコストCとして、RGB値のユークリッド距離の二乗等を算出してもよい。 First, the control unit 11 sets the shift amount s for shifting each pixel of the pixel sequence to 0 (S12). Then, the control unit 11 is a cost matrix between the pixel string extracted from the first panoramic image (hereinafter referred to as the first pixel string) and the pixel string extracted from the second panoramic image (hereinafter referred to as the second pixel string). Is created (S13). FIG. 13 shows an example of a cost matrix, and the control unit 11 prepares an N × N array corresponding to the number of elements N (for example, N = 168) of the pixel sequence. For each element of the array, there is a difference between the pixel value of each pixel (each element) in the first pixel row (here, the average pixel value of a predetermined number of pixels) and the pixel value of each pixel in the second pixel row. By being stored, a cost matrix is created. The pixel f (i) of the first pixel row and the pixel r (j) of the second pixel row each have RGB values, and the RGB values of the pixel f (i) are (R fi , G fi , When B fi ) and the RGB values of the pixel r (j) are (R rj , G rj , B rj ), the control unit 11 sets the cost C between the two pixels f (i) and r (j). For example, the Euclidean distance of the RGB value is calculated by the following equation (5). The control unit 11 may calculate the square of the Euclidean distance of the RGB value as the cost C between the two pixels.

ここで、第1パノラマ画像及び第2パノラマ画像は、それぞれの撮影位置からの撮影方向が同じ方角であるので、第1画素列における極点と第2画素列における極点とは、画素列の左側又は右側の同じ側に存在する。よって、制御部11は、図13のコストマトリクスにおいてハッチングで示す領域、具体的には左下領域及び右上領域における要素に対応するコストCのみを算出すればよい。なお、制御部11は、コストマトリクスの全領域における要素に対応するコストCを算出してもよい。 Here, since the first panoramic image and the second panoramic image have the same shooting direction from their respective shooting positions, the pole points in the first pixel row and the pole points in the second pixel row are on the left side of the pixel row or It exists on the same side on the right side. Therefore, the control unit 11 only needs to calculate the cost C corresponding to the elements shown by hatching in the cost matrix of FIG. 13, specifically, the lower left region and the upper right region. The control unit 11 may calculate the cost C corresponding to the elements in the entire area of the cost matrix.

次に制御部11は、図13においてハッチングで示す左下領域及び右上領域における各要素に対応するコストCが算出されて格納されたコストマトリクスC(i,j)に基づいて、第1画素列と第2画素列との間のディスタンスマトリクスD(i,j)を作成する(S14)。ディスタンスマトリクスの各要素は、コストマトリクスの左下領域及び右上領域のそれぞれにおいて、各領域の左下の要素を基点D(0,0)とし、各要素D(i,j)に到達するまでのコストを累積した値を格納する。なお、基点D(0,0)から各要素D(i,j)に到達するパス(経路)は多数存在するが、ディスタンスマトリクスの各要素には、各要素D(i,j)に到達するための最小コストが格納される。 Next, the control unit 11 sets the first pixel sequence based on the cost matrix C (i, j) in which the cost C corresponding to each element in the lower left region and the upper right region shown by hatching in FIG. 13 is calculated and stored. A distance matrix D (i, j) with the second pixel sequence is created (S14). For each element of the distance matrix, in each of the lower left region and the upper right region of the cost matrix, the lower left element of each region is set as the base point D (0,0), and the cost until reaching each element D (i, j) is set. Store the accumulated value. Although there are many paths that reach each element D (i, j) from the base point D (0,0), each element of the distance matrix reaches each element D (i, j). The minimum cost for is stored.

図14はディスタンスマトリクスの例を示しており、制御部11は、コストマトリクスと同様に、画素列の要素数Nに対応してN×Nの配列を用意する。そして制御部11は、ディスタンスマトリクスの左下領域において左下の要素D(0,0)に、コストマトリクスの要素C(0,0)のコストを格納する。次に制御部11は、図14A中の上向きの矢符で示すように、左下領域における左端の1列の要素D(0,1)〜要素D(0,N/2−1)のそれぞれに、直下の要素D(0,j−1)に、自身の要素に対応するコストC(0,j)を加算した値を格納する。同様に、制御部11は、図14A中の右向きの矢符で示すように、左下領域における下端の1列の要素D(1,0)〜要素D(N/2−1,0)のそれぞれに、左隣の要素D(i−1,0)に、自身の要素に対応するコストC(i,0)を加算した値を格納する。 FIG. 14 shows an example of the distance matrix, and the control unit 11 prepares an N × N array corresponding to the number of elements N of the pixel sequence, similarly to the cost matrix. Then, the control unit 11 stores the cost of the element C (0,0) of the cost matrix in the element D (0,0) at the lower left in the lower left region of the distance matrix. Next, the control unit 11 is assigned to each of the elements D (0, 1) to D (0, N / 2-1) in the leftmost row in the lower left region, as shown by the upward arrows in FIG. 14A. , The value obtained by adding the cost C (0, j) corresponding to its own element to the element D (0, j-1) immediately below it is stored. Similarly, the control unit 11 has each of the element D (1,0) to the element D (N / 2-1,0) in the lower left row in the lower left region, as indicated by the arrow pointing to the right in FIG. 14A. , The value obtained by adding the cost C (i, 0) corresponding to its own element to the element D (i-1,0) on the left side is stored.

次に制御部11は、左下領域における左端及び下端以外の各要素D(i,j)のそれぞれについて、図14B中の上向きの矢符で示すように左側から順に、対応するディスタンスを算出する。ここでは、制御部11は、各要素D(i,j)について、この要素の左下の要素のディスタンスD(i−1,j−1)、左隣の要素のディスタンスD(i−1,j)、直下の要素のディスタンスD(i,j−1)のそれぞれに、自身の要素に対応するコストC(i,j)を加算し、最小値となる値を各要素のディスタンスD(i,j)とする。なお、このとき、制御部11は、左下の要素のディスタンスD(i−1,j−1)に対しては、自身の要素のコストC(i,j)に適宜の係数を乗算した上で加算してもよい。具体的には、制御部11は、以下の(6)式に示す3つの値の内の最小値を、ディスタンスマトリクスの各要素D(i,j)に格納する。 Next, the control unit 11 calculates the corresponding distances of each element D (i, j) other than the left end and the lower end in the lower left region in order from the left side as indicated by the upward arrow in FIG. 14B. Here, for each element D (i, j), the control unit 11 has a distance D (i-1, j-1) of the lower left element of this element and a distance D (i-1, j) of the element to the left of the element D (i, j). ), The cost C (i, j) corresponding to its own element is added to each of the distance D (i, j-1) of the element immediately below, and the minimum value is the distance D (i, j-1) of each element. j). At this time, the control unit 11 multiplies the cost C (i, j) of its own element by an appropriate coefficient with respect to the distance D (i-1, j-1) of the lower left element. You may add. Specifically, the control unit 11 stores the minimum value among the three values shown in the following equation (6) in each element D (i, j) of the distance matrix.

D(i−1,j−1)+k×C(i,j) ただし、kは適宜の係数
D(i−1,j)+C(i,j)
D(i,j−1)+C(i,j) …(6)
D (i-1, j-1) + k × C (i, j) where k is an appropriate coefficient D (i-1, j) + C (i, j)
D (i, j-1) + C (i, j) ... (6)

上述した処理により、ディスタンスマトリクスの左下領域における右上の要素D(N/2−1,N/2−1)には、左下の要素D(0,0)から要素D(N/2−1,N/2−1)まで移動するための最小のコスト(ディスタンス)が格納される。制御部11は、ディスタンスマトリクスの右上領域における各要素についても上述した処理と同様の処理を行う。これにより、制御部11は、図14においてハッチングで示すディスタンスマトリクスの左下領域及び右上領域における各要素に対応するディスタンスDを算出する。なお、制御部11は、コストマトリクスの全領域における要素に対応するコストCを算出する場合、ディスタンスマトリクスの全領域における要素に対応するディスタンスDを算出してもよい。 By the above-mentioned processing, the element D (N / 2-1 and N / 2-1) on the upper right in the lower left region of the distance matrix has elements D (0,0) to D (N / 2-1) on the lower left. The minimum cost (distance) for moving to N / 2-1) is stored. The control unit 11 also performs the same processing as described above for each element in the upper right region of the distance matrix. As a result, the control unit 11 calculates the distance D corresponding to each element in the lower left region and the upper right region of the distance matrix shown by hatching in FIG. When calculating the cost C corresponding to the elements in all the regions of the cost matrix, the control unit 11 may calculate the distance D corresponding to the elements in all the regions of the distance matrix.

次に制御部11は、図14においてハッチングで示す左下領域及び右上領域における各要素に対応するディスタンスDが算出されたディスタンスマトリクスD(i,j)に基づいて、左下領域及び右上領域のそれぞれにおいて、領域内の左下の要素から右上の要素までの経路で、最も低コストとなる経路(最小パス)を特定する(S15)。具体的には、制御部11は、左下領域における左下の要素D(0,0)から右上の要素D(N/2−1,N/2−1)までの最小パスと、右上領域における左下の要素D(N/2,N/2)から右上の要素D(N−1,N−1)までの最小パスとを特定する。 Next, the control unit 11 in the lower left region and the upper right region, respectively, based on the distance matrix D (i, j) in which the distance D corresponding to each element in the lower left region and the upper right region shown by hatching in FIG. 14 is calculated. , The lowest cost route (minimum path) is specified from the route from the lower left element to the upper right element in the area (S15). Specifically, the control unit 11 has a minimum path from the lower left element D (0,0) in the lower left region to the upper right element D (N / 2-1 and N / 2-1), and the lower left in the upper right region. The minimum path from the element D (N / 2, N / 2) of the above to the element D (N-1, N-1) on the upper right is specified.

図15は最小パスの特定処理を説明するための図であり、ディスタンスマトリクスを示す。制御部11は、ディスタンスマトリクスの左下領域及び右上領域のそれぞれにおいて、最も右上の要素を最小パス上の要素としてマークを付ける。具体的には、制御部11は、左下領域においては右上の要素D(N/2−1,N/2−1)にマークを付け、右上領域においては右上の要素D(N−1,N−1)にマークを付ける。次に制御部11は、マークを付けた要素に対して、左下の要素のディスタンスと、左隣の要素のディスタンスと、直下の要素のディスタンスとのうちの最小値を特定し、最小値の要素を最小パス上の次の要素としてマークを付ける。制御部11は、このような処理を繰り返すことにより、図15に示すように、ディスタンスマトリクスの左下領域において要素D(N/2−1,N/2−1)から要素D(0,0)に至る最小パスを特定できる。なお、制御部11は、ディスタンスマトリクスの右上領域においても同様の処理を行い、右上領域における最小パスを特定する。最小パスを構成する要素の数は、ディスタンスマトリクスの構成内容に応じて異なるが、最少でN/2個、最多でN−1個となる。 FIG. 15 is a diagram for explaining the process of specifying the minimum path, and shows a distance matrix. The control unit 11 marks the upper right element as an element on the minimum path in each of the lower left region and the upper right region of the distance matrix. Specifically, the control unit 11 marks the upper right element D (N / 2-1 and N / 2-1) in the lower left area, and the upper right element D (N-1, N) in the upper right area. -1) is marked. Next, the control unit 11 identifies the minimum value of the distance of the lower left element, the distance of the element to the left, and the distance of the element immediately below with respect to the marked element, and the element of the minimum value. Is marked as the next element on the minimum path. By repeating such processing, the control unit 11 has elements D (N / 2-1 and N / 2-1) to elements D (0,0) in the lower left region of the distance matrix as shown in FIG. You can identify the minimum path to. The control unit 11 performs the same process in the upper right region of the distance matrix to specify the minimum path in the upper right region. The number of elements constituting the minimum path varies depending on the composition of the distance matrix, but is N / 2 at the minimum and N-1 at the maximum.

上述した処理によって特定された最小パスは、結果として、第1画素列の各画素と第2画素列の各画素との対応関係を示す。例えば要素D(i,j)が最小パス上の要素である場合、ここでの第1画素列及び第2画素列において、第1画素列のx座標値iの画素と第2画素列のx座標値jの画素とに、同一の被写体が写っていると推定できることを意味する。 As a result, the minimum path specified by the above-described processing indicates the correspondence between each pixel in the first pixel row and each pixel in the second pixel row. For example, when the element D (i, j) is an element on the minimum path, in the first pixel string and the second pixel string here, the pixel of the x coordinate value i of the first pixel string and the x of the second pixel string This means that it can be estimated that the same subject is captured in the pixel of the coordinate value j.

次に制御部11(算出部)は、特定した最小パスに基づいて、ここでの第1画素列及び第2画素列における適合率を算出する(S16)。図16は、ディスタンスマトリクスの左下領域及び右上領域のそれぞれにおいて特定された最小パスの例を示し、最小パスは、図16に示すように左下領域及び右上領域内で曲線をなす点列として求められる。ここで、もし、第1画素列及び第2画素列のそれぞれの中央が極点に一致する場合、最小パスを示す点列は必ず、ディスタンスマトリクスの左下及び右上の要素を結ぶ直線(図16では一点鎖線で示す直線)に対して決まった側に現れる。具体的には、図16にハッチングで示すように、左下領域においては直線の上側に、右上領域においては直線の下側に点列(最小パス)は現れる。 Next, the control unit 11 (calculation unit) calculates the precision ratio in the first pixel row and the second pixel row here based on the specified minimum path (S16). FIG. 16 shows an example of the minimum path specified in each of the lower left region and the upper right region of the distance matrix, and the minimum path is obtained as a sequence of points forming a curve in the lower left region and the upper right region as shown in FIG. .. Here, if the centers of the first pixel sequence and the second pixel sequence coincide with the poles, the point sequence indicating the minimum path is always a straight line connecting the lower left and upper right elements of the distance matrix (one point in FIG. 16). Appears on a fixed side with respect to the straight line indicated by the chain line). Specifically, as shown by hatching in FIG. 16, a sequence of points (minimum path) appears above the straight line in the lower left region and below the straight line in the upper right region.

図17は、画像の中央が極点である第1パノラマ画像及び第2パノラマ画像と、このようなパノラマ画像に基づいて特定された最小パスとの例を示す。図17Aは第1パノラマ画像を示し、図17Bは第2パノラマ画像を示し、図17A,Bにおける破線は、第1画素列における各画素と、第2画素列における各画素との対応をそれぞれ示す。図17A,Bに示すように、画像の中央が極点である第1パノラマ画像及び第2パノラマ画像では、同一の被写体は異なる位置に写っているが、極点よりも左側の被写体は画像の左側に写り、極点よりも右側の被写体は画像の右側に写る。また図17A,Bから分かるように、極点よりも左側の各画素の対応を示す破線の傾きは同じ傾き(右下がり)であり、極点よりも右側の各画素の対応を示す破線の傾きは同じ傾き(右上がり)である。即ち、図17Cに示すように、画像の中央が極点であるパノラマ画像に基づいて特定された最小パスは、左下領域においては一点鎖線で示す直線の上側に、右上領域においては直線の下側にそれぞれ現れる。 FIG. 17 shows an example of a first panoramic image and a second panoramic image in which the center of the image is a pole, and a minimum path specified based on such a panoramic image. 17A shows the first panoramic image, FIG. 17B shows the second panoramic image, and the broken lines in FIGS. 17A and 17B show the correspondence between each pixel in the first pixel row and each pixel in the second pixel row. .. As shown in FIGS. 17A and 17B, in the first panoramic image and the second panoramic image in which the center of the image is the pole, the same subject appears at different positions, but the subject on the left side of the pole is on the left side of the image. The subject on the right side of the pole is on the right side of the image. As can be seen from FIGS. 17A and 17B, the slope of the broken line indicating the correspondence of each pixel on the left side of the pole is the same slope (downward to the right), and the slope of the broken line indicating the correspondence of each pixel on the right side of the pole is the same. It is tilted (upward to the right). That is, as shown in FIG. 17C, the minimum path specified based on the panoramic image in which the center of the image is the pole is above the straight line indicated by the alternate long and short dash line in the lower left region and below the straight line in the upper right region. Each appears.

そこで、本実施形態では、最小パスに特定された各要素において、正しい領域に存在する要素の割合を適合率として定義する。なお、正しい領域とは、ディスタンスマトリクスの左下領域では直線の上側の領域であり、右上領域では直線の下側の領域である。図16に示す最小パスでは、ディスタンスマトリクスの左下領域において一点鎖線で示す直線よりも上側の各要素は正しい領域に存在し(図16ではOKで示す)、直線よりも下側の各要素は正しい領域に存在しない(図16ではNGで示す)と判断される。また、図16に示す最小パスでは、ディスタンスマトリクスの右上領域において一点鎖線で示す直線よりも上側の各要素は正しい領域に存在せず(図16ではNGで示す)、直線よりも下側の各要素は正しい領域に存在する(図16ではOKで示す)と判断される。よって、制御部11は、最小パスに特定された各要素について、それぞれ正しい領域に存在するか否かを判断し、最小パスに特定された要素数に対して、正しい領域に存在すると判断した要素数の割合を適合率として算出する。具体的には、最小パスに特定された要素数をMとし、正しい領域に存在すると判断した要素数をMokとした場合、制御部11は、以下の(7)式によって適合率ρを算出する。上述した処理により、制御部11は、シフト量sが0の場合の適合率ρ(0)を算出し、算出したρ(0)を記憶部12に記憶する。なお、制御部11は、例えば第1画素列及び第2画素列の要素数Nの要素を有する一次元配列ρ[n](0≦n≦N−1)を記憶部12に定義し、算出した適合率ρを、シフト量sに対応する要素に順次記憶する。 Therefore, in the present embodiment, in each element specified in the minimum path, the ratio of the elements existing in the correct area is defined as the precision rate. The correct region is the region above the straight line in the lower left region of the distance matrix, and the region below the straight line in the upper right region. In the minimum path shown in FIG. 16, in the lower left region of the distance matrix, each element above the straight line indicated by the alternate long and short dash line is in the correct region (indicated by OK in FIG. 16), and each element below the straight line is correct. It is determined that it does not exist in the region (indicated by NG in FIG. 16). Further, in the minimum path shown in FIG. 16, in the upper right region of the distance matrix, each element above the straight line indicated by the alternate long and short dash line does not exist in the correct region (indicated by NG in FIG. 16), and each element below the straight line does not exist. It is determined that the element exists in the correct region (indicated by OK in FIG. 16). Therefore, the control unit 11 determines whether or not each element specified in the minimum path exists in the correct area, and determines that the element exists in the correct area with respect to the number of elements specified in the minimum path. Calculate the ratio of numbers as the precision rate. Specifically, when the number of elements specified in the minimum path is M and the number of elements determined to exist in the correct area is M ok , the control unit 11 calculates the precision ratio ρ by the following equation (7). To do. By the process described above, the control unit 11 calculates the precision ratio ρ (0) when the shift amount s is 0, and stores the calculated ρ (0) in the storage unit 12. The control unit 11 defines, for example, a one-dimensional array ρ [n] (0 ≦ n ≦ N-1) having elements having the number of elements N of the first pixel sequence and the second pixel sequence in the storage unit 12 and calculates them. The matching ratio ρ is sequentially stored in the element corresponding to the shift amount s.

ρ=MOK/M …(7) ρ = M OK / M ... (7)

制御部11は、シフト量sに所定画素数を加算し(S17)、第1画素列及び第2画素列をそれぞれ、所定画素数だけ右方向又は左方向にシフト(移動)させ(S18)、シフト後の第1画素列及び第2画素列(シフト画像)を生成する。本実施形態では、第1画素列及び第2画素列を1画素ずつシフトさせるので、制御部11は、シフト量sに1を加算し、それぞれの画素列を1画素だけシフトさせるが、シフトさせる画素数は1画素に限定されない。なお、右方向又は左方向にシフトさせた場合、各画素列からはみ出る画素については、はみ出した量だけ画素列の左端又は右端から移動させた位置にシフトさせる。そして制御部11は、この時点でのシフト量sが画素列の要素数Nに一致するか否かを判断し(S19)、一致しないと判断した場合(S19:NO)、ステップS13の処理に戻り、ステップS18でシフトさせた第1画素列及び第2画素列に基づいて、ステップS13〜S16の処理を行う。これにより、制御部11は、ステップS17で所定画素数を加算したシフト量sに対する適合率ρを算出し、算出した適合率ρ(s)を、配列ρ[n]の対応する要素(s番目の要素)に記憶する。 The control unit 11 adds a predetermined number of pixels to the shift amount s (S17), shifts (moves) the first pixel row and the second pixel row by a predetermined number of pixels to the right or left (S18), respectively. The first pixel sequence and the second pixel array (shift image) after the shift are generated. In the present embodiment, since the first pixel sequence and the second pixel sequence are shifted one pixel at a time, the control unit 11 adds 1 to the shift amount s and shifts each pixel sequence by one pixel, but shifts the pixels. The number of pixels is not limited to one pixel. When shifting to the right or left, the pixels that protrude from each pixel row are shifted to the positions moved from the left end or the right end of the pixel row by the amount of protrusion. Then, the control unit 11 determines whether or not the shift amount s at this point matches the number of elements N of the pixel sequence (S19), and if it determines that they do not match (S19: NO), the process of step S13 is performed. The process of steps S13 to S16 is performed based on the first pixel sequence and the second pixel sequence shifted in step S18. As a result, the control unit 11 calculates the matching rate ρ with respect to the shift amount s obtained by adding the predetermined number of pixels in step S17, and the calculated matching rate ρ (s) is the corresponding element (sth th) of the array ρ [n]. Element).

制御部11は、シフト量sが画素列の要素数Nに一致するまでステップS13〜S18の処理を繰り返すことにより、シフト量sに関する関数として適合率ρ(s)が算出される。なお、シフト量sはパノラマ画像における方位角φと対応(比例)しているので、適合率ρ(s)と適合率ρ(φ)とは同義として扱える。なお、シフト量s及び方位角φは、φ=2π×s/N(Nは画素列の要素数)によって相互に変換可能である。 The control unit 11 repeats the processes of steps S13 to S18 until the shift amount s matches the number of elements N of the pixel sequence, so that the precision ratio ρ (s) is calculated as a function related to the shift amount s. Since the shift amount s corresponds (proportional) to the azimuth angle φ in the panoramic image, the matching rate ρ (s) and the matching rate ρ (φ) can be treated as synonymous. The shift amount s and the azimuth angle φ can be converted to each other by φ = 2π × s / N (N is the number of elements in the pixel sequence).

図18は適合率ρ(φ)の例を示しており、適合率ρ(φ)は0〜1の範囲内の値をとり、図18では適合率ρ(φ)=0を黒、適合率ρ(φ)=1を白として表現している。適合率ρ(φ)は、第1画素列及び第2画素列において方位角φの位置がそれぞれ極点である可能性を示す。図18では、第1パノラマ画像及び第2パノラマ画像における極点の大凡の位置を実線で示し、極点の反対側に存在する被写体の大凡の位置を破線で示している。図18から分かるように、適合率ρ(φ)が最大値となる位置は、極点の位置に略一致し、適合率ρ(φ)が最小値となる位置は極点の反対側の位置に略一致している。また図18では、算出された適合率ρ(φ)は、概ね最大値と最小値との間で単純増加及び単純減少していることが分かる。よって、適合率ρ(φ)が最大値となる方位角φの位置を極点に特定することができる。 FIG. 18 shows an example of the conformity rate ρ (φ), and the conformance rate ρ (φ) takes a value in the range of 0 to 1. In FIG. 18, the conformity rate ρ (φ) = 0 is black and the conformance rate is ρ (φ) = 1 is expressed as white. The precision ratio ρ (φ) indicates the possibility that the position of the azimuth angle φ is the pole in the first pixel row and the second pixel row, respectively. In FIG. 18, the approximate positions of the poles in the first panoramic image and the second panoramic image are indicated by solid lines, and the approximate positions of the subjects existing on the opposite sides of the poles are indicated by broken lines. As can be seen from FIG. 18, the position where the precision ratio ρ (φ) is the maximum value substantially coincides with the position of the pole point, and the position where the precision ratio ρ (φ) is the minimum value is approximately the position opposite to the pole point. Match. Further, in FIG. 18, it can be seen that the calculated precision ratio ρ (φ) generally increases and decreases simply between the maximum value and the minimum value. Therefore, the position of the azimuth angle φ at which the precision ratio ρ (φ) becomes the maximum value can be specified as the pole point.

制御部11は、ステップS19でシフト量sが画素列の要素数Nに一致すると判断した場合(S19:YES)、ステップS16でそれぞれのシフト量sに対して算出した適合率ρ(s)から最大の適合率を特定する(S20)。そして制御部11(極点特定部)は、最大の適合率ρ(s)が算出されたシフト量sに基づいて、シフト量sに対応する方位角φを算出し、算出した方位角φの位置を極点に特定する(S21)。制御部11(補正部)は、図8に示す補正処理に戻り、特定した極点の位置を示す方位角φに基づいて、ステップS2で画像の向き(撮影方角)を補正した第1パノラマ画像及び第2パノラマ画像の方位角方向をそれぞれ補正する(S4)。具体的には、制御部11は、第1パノラマ画像及び第2パノラマ画像のそれぞれにおいて、特定した極点の位置(算出した方位角φの位置)が画像の中央に移動するように、パノラマ画像中の各画素を左右方向に平行移動(スクロール)させる。画像の左端を方位角φ=0とした場合、画像の中央は方位角φ=πの位置であるので、特定した極点を画像の中央に移動させるためにパノラマ画像中の各画素を右方向へ移動させるスクロール角度△φは、以下の(8)式によって算出できる。また、パノラマ画像の幅(左右方向の長さ)はW画素であるので、画素単位のスクロール量Sは、以下の(9)式によって算出できる。 When the control unit 11 determines in step S19 that the shift amount s matches the number of elements N of the pixel sequence (S19: YES), the control unit 11 starts with the precision ratio ρ (s) calculated for each shift amount s in step S16. The maximum precision is specified (S20). Then, the control unit 11 (pole point identification unit) calculates the azimuth angle φ corresponding to the shift amount s based on the shift amount s for which the maximum precision ratio ρ (s) is calculated, and the position of the calculated azimuth angle φ. Is specified as a pole (S21). The control unit 11 (correction unit) returns to the correction process shown in FIG. 8, and the first panoramic image and the first panoramic image in which the orientation (shooting direction) of the image is corrected in step S2 based on the azimuth angle φ indicating the position of the specified pole point. The azimuth angle directions of the second panoramic image are corrected (S4). Specifically, the control unit 11 in the panoramic image so that the position of the specified pole point (the position of the calculated azimuth angle φ) moves to the center of the image in each of the first panoramic image and the second panoramic image. Each pixel of is moved (scrolled) in parallel in the left-right direction. When the left edge of the image is the azimuth angle φ = 0, the center of the image is the position of the azimuth angle φ = π, so each pixel in the panoramic image is moved to the right in order to move the specified pole point to the center of the image. The scroll angle Δφ to be moved can be calculated by the following equation (8). Further, since the width (length in the left-right direction) of the panoramic image is W pixel, the scroll amount S for each pixel can be calculated by the following equation (9).

△φ=π−φ …(8)
S=△φ/2π×W …(9)
△ φ = π−φ… (8)
S = Δφ / 2π × W… (9)

よって、制御部11は、ステップS2で撮影方向の方角を補正した第1パノラマ画像及び第2パノラマ画像のそれぞれに対して、各画素をそれぞれ、算出したスクロール量Sだけ右方向にスクロールすることにより、第1パノラマ画像及び第2パノラマ画像の方位角方向を補正する。パノラマ画像の各画素を右方向にスクロール量Sだけスクロールする処理は、図10Bで説明した処理と同様である。これにより、図11Aに示す第1パノラマ画像が、図7Aに示す第1パノラマ画像に補正され、図11Bに示す第2パノラマ画像が、図7Bに示す第2パノラマ画像に補正され、同じ被写体が画像中の同じ方位角方向に写っている第1パノラマ画像及び第2パノラマ画像が得られる。 Therefore, the control unit 11 scrolls each pixel to the right by the calculated scroll amount S with respect to each of the first panoramic image and the second panoramic image whose direction in the shooting direction is corrected in step S2. , The azimuth angle direction of the first panoramic image and the second panoramic image is corrected. The process of scrolling each pixel of the panoramic image to the right by the scroll amount S is the same as the process described with reference to FIG. 10B. As a result, the first panoramic image shown in FIG. 11A is corrected to the first panoramic image shown in FIG. 7A, the second panoramic image shown in FIG. 11B is corrected to the second panoramic image shown in FIG. 7B, and the same subject is displayed. A first panoramic image and a second panoramic image appearing in the same azimuth angle direction in the image can be obtained.

制御部11は、補正処理後の第1パノラマ画像及び第2パノラマ画像を出力し(S5)、処理を終了する。なお、制御部11は、補正処理後の第1パノラマ画像及び第2パノラマ画像を記憶部12へ出力して記憶部12に記憶させてもよく、通信部13を介して所定の外部装置へ送信してもよい。 The control unit 11 outputs the first panoramic image and the second panoramic image after the correction process (S5), and ends the process. The control unit 11 may output the corrected first panoramic image and the second panoramic image to the storage unit 12 and store them in the storage unit 12, and transmit the correction processing to a predetermined external device via the communication unit 13. You may.

上述した処理により、本実施形態の情報処理装置10は、図6A,Bに示すようにそれぞれの撮影位置において異なる方角を撮影方向として撮影された状態の第1パノラマ画像及び第2パノラマ画像を、図11A,Bに示すようにそれぞれの撮影位置において同じ方角を撮影方向として撮影された状態の第1パノラマ画像及び第2パノラマ画像に変換した後、図7A,Bに示すようにそれぞれの撮影方向において、撮影位置を結ぶ方向を撮影方向として撮影された状態の第1パノラマ画像及び第2パノラマ画像に補正する。これにより、同じ被写体が画像中の同じ方位角方向に写っている第1パノラマ画像及び第2パノラマ画像を生成できる。 By the above-described processing, the information processing apparatus 10 of the present embodiment captures the first panoramic image and the second panoramic image in a state in which different directions are taken as shooting directions at the respective shooting positions as shown in FIGS. 6A and 6B. After converting to the first panoramic image and the second panoramic image in a state where the same direction is taken as the shooting direction at each shooting position as shown in FIGS. 11A and 11B, the respective shooting directions are shown as shown in FIGS. 7A and 7B. In, the first panoramic image and the second panoramic image in the state of being photographed with the direction connecting the photographing positions as the photographing direction are corrected. As a result, it is possible to generate a first panoramic image and a second panoramic image in which the same subject appears in the same azimuth angle direction in the image.

本実施形態の情報処理装置10では、それぞれの撮影位置において異なる方角を撮影方向として撮影を行った場合であっても、撮影後のパノラマ画像を、同じ被写体が画像中の方位角方向(左右方向)の同じ位置に写るパノラマ画像に補正できる。よって、複数のパノラマ画像において、同じ被写体の画像中の方位角方向を一致させることができる。このようなパノラマ画像を用いることにより、複数のパノラマ画像を切り替えて表示する場合に画像の遷移を滑らかに行うことができる。また、このようなパノラマ画像を合成して表示する場合、合成後のパノラマ画像に方位角方向(横方向)のブレが生じず、鮮明なパノラマ画像を提供できる。 In the information processing apparatus 10 of the present embodiment, even when shooting is performed in different directions at each shooting position, the panoramic image after shooting is captured in the azimuth direction (horizontal direction) of the same subject in the image. ) Can be corrected to a panoramic image that appears at the same position. Therefore, in a plurality of panoramic images, the azimuth angles in the same subject image can be matched. By using such a panoramic image, it is possible to smoothly transition the image when a plurality of panoramic images are switched and displayed. Further, when such a panoramic image is combined and displayed, a clear panoramic image can be provided without blurring in the azimuth direction (horizontal direction) in the combined panoramic image.

(実施形態2)
本実施形態では、極点特定処理において、第1画素列及び第2画素列に基づいて算出した第1画素列及び第2画素列の間の適合率ρ(φ)を三角波で近似し、近似した三角波に基づいて、より適切な極点を特定する情報処理装置10について説明する。本実施形態の情報処理装置10は、実施形態1の情報処理装置10と同様の構成を有するので、構成については説明を省略する。また、本実施形態の情報処理装置10は、図8に示す補正処理と同様の補正処理を行う。なお、補正処理に含まれる極点特定処理は、図9に示す処理とは一部異なるので、異なる処理についてのみ説明する。
(Embodiment 2)
In the present embodiment, in the pole point identification process, the matching ratio ρ (φ) between the first pixel row and the second pixel row calculated based on the first pixel row and the second pixel row is approximated by a triangular wave and approximated. The information processing device 10 that identifies a more appropriate pole point based on the triangular wave will be described. Since the information processing device 10 of the present embodiment has the same configuration as the information processing device 10 of the first embodiment, the description of the configuration will be omitted. Further, the information processing apparatus 10 of the present embodiment performs the same correction processing as the correction processing shown in FIG. Since the pole identification process included in the correction process is partially different from the process shown in FIG. 9, only the different processes will be described.

図19は、実施形態2の極点特定処理の手順の一例を示すフローチャート、図20は、実施形態2の極点特定処理を説明するための模式図である。なお、図19は、図9に示す極点特定処理において、ステップS20の代わりにステップS31〜S46を追加したものである。図19では、図9中のステップS11〜S18の図示を省略している。 FIG. 19 is a flowchart showing an example of the procedure of the pole point identification process of the second embodiment, and FIG. 20 is a schematic diagram for explaining the pole point identification process of the second embodiment. Note that FIG. 19 shows that steps S31 to S46 are added instead of step S20 in the pole identification process shown in FIG. In FIG. 19, the illustration of steps S11 to S18 in FIG. 9 is omitted.

ここで、図18から分かるように、適合率ρ(φ)は、概ね最大値と最小値との間で単純増加及び単純減少している。なお、理論的には、方位角φの位置が真の極点位置から離れるにつれ、極点位置からの距離(真の極点位置とのずれ量)と適合率の減少とは比例関係にあると仮定できるため、適合率ρ(φ)は三角波になると仮定できる。よって、本実施形態では、適合率ρ(φ)を最小二乗法によって三角波にフィッティングすることにより、より適切な適合率ρ(φ)の最大値を特定し、特定した適合率ρ(φ)によって、より適切な極点の位置を特定する。図20の上側にはフィッティングする三角波の例を示しており、図20に示す三角波は、0〜1の範囲の値を有する振幅が0.5の三角波であり、方位角φ=0で1.0となり、方位角φ=πで0になるまで減少し、方位角φ=2πで再度1.0となるまで増加する三角波である。この三角波を位相φ=0の三角波とする。本実施形態の情報処理装置10は、図20に示す三角波の位相φを0〜2πの範囲で変化させながら、それぞれの位相φの三角波と適合率ρ(φ)との差異を算出し、差異が最小となる三角波の位相φを特定することにより、適合率ρ(φ)を近似した三角波を特定する。 Here, as can be seen from FIG. 18, the precision ratio ρ (φ) generally increases and decreases simply between the maximum value and the minimum value. Theoretically, it can be assumed that as the position of the azimuth angle φ moves away from the true pole position, the distance from the pole position (the amount of deviation from the true pole position) and the decrease in the precision ratio are in a proportional relationship. Therefore, it can be assumed that the precision ratio ρ (φ) is a triangular wave. Therefore, in the present embodiment, the more appropriate maximum value of the matching rate ρ (φ) is specified by fitting the matching rate ρ (φ) to the triangular wave by the least squares method, and the specified matching rate ρ (φ) is used. , Identify more appropriate pole positions. An example of a fitting triangular wave is shown on the upper side of FIG. 20, and the triangular wave shown in FIG. 20 is a triangular wave having a value in the range of 0 to 1 and having an amplitude of 0.5, and has an azimuth angle of φ = 0. It is a triangular wave that becomes 0, decreases until it becomes 0 at an azimuth angle φ = π, and increases until it becomes 1.0 again at an azimuth angle φ = 2π. Let this triangular wave be a triangular wave having a phase of φ 0 = 0. The information processing apparatus 10 of the present embodiment calculates the difference between the triangular wave of each phase φ 0 and the precision ratio ρ (φ) while changing the phase φ 0 of the triangular wave shown in FIG. 20 in the range of 0 to 2π. By specifying the phase φ 0 of the triangular wave that minimizes the difference, the triangular wave that approximates the precision ratio ρ (φ) is specified.

よって、本実施形態の情報処理装置10において制御部11は、ステップS19でシフト量sが画素列の要素数Nに一致すると判断した場合(S19:YES)、即ち、シフト量sに関する関数である適合率ρ(s)を算出した後、適合率ρ(φ)をフィッティングする三角波を配列T(φ)として作成する(S31)。具体的には、制御部11は、画素列の要素数Nの要素を有する一次元配列T[n](0≦n≦N−1)を例えば記憶部12に定義し、図20に示す三角波の各方位角φにおける値を、配列T[n]の各要素に格納する。なお、制御部11は、配列T[n]の各要素に格納する値を、以下の(10)式によって算出し、それぞれ算出した値を配列T[n]の各要素に格納する。なお、配列T[n]のn番目(0≦n<N−1)の要素に対応する方位角φはφ=2π×n/Nによって算出される。よって、制御部11は、配列T[n]の各要素に、図20に示す三角波の各方位角φ(φ=2π×n/N)における値を格納する。 Therefore, in the information processing apparatus 10 of the present embodiment, the control unit 11 determines in step S19 that the shift amount s matches the number of elements N of the pixel sequence (S19: YES), that is, it is a function related to the shift amount s. After calculating the precision ratio ρ (s), a triangular wave fitting the precision ratio ρ (φ) is created as an array T (φ) (S31). Specifically, the control unit 11 defines a one-dimensional array T [n] (0 ≦ n ≦ N-1) having elements having the number of elements N of the pixel sequence in the storage unit 12, for example, and the triangular wave shown in FIG. The value at each azimuth angle φ of is stored in each element of the array T [n]. The control unit 11 calculates the values to be stored in each element of the array T [n] by the following equation (10), and stores the calculated values in each element of the array T [n]. The azimuth angle φ corresponding to the nth element (0 ≦ n <N-1) of the array T [n] is calculated by φ = 2π × n / N. Therefore, the control unit 11 stores the values at each azimuth angle φ (φ = 2π × n / N) of the triangular wave shown in FIG. 20 in each element of the array T [n].

次に制御部11は、それぞれの位相φの三角波T(φ)と適合率ρ(φ)との差異を格納するための配列E[n]を作成する(S32)。なお、三角波の各値及び適合率ρ(φ)の各値はそれぞれ、要素数Nの配列に格納されているので、制御部11は、画素列の要素数Nの要素を有する一次元配列E[n]を作成する。次に制御部11は、配列E[n]の各要素の位置(n番目)を示すnを0に設定する(S33)。制御部11は、配列E[n]の各要素に格納する値として、それぞれの位相φの三角波T(φ)の各値と適合率ρ(φ)の各値との差異(誤差)の二乗を累積し、算出した累積誤差ε2 (φ)を配列E[n]の各要素に格納する(S34)。ここでは、制御部11は、配列E[n]の要素E[0]に格納する値として、位相φ=0の三角波T(0)の各値と適合率ρ(φ)の各値との累積誤差ε2 (0)を算出し、配列E[n]の要素E[0]に格納する。なお、制御部11は、配列E[n]のn番目の要素に格納する値として、位相φ=2π×n/Nの三角波T(φ)の各値と適合率ρ(φ)の各値との累積誤差ε2 (φ)を、以下の(11)式によって算出し、配列E[n]の各要素に格納する。 Next, the control unit 11 creates an array E [n] for storing the difference between the triangular wave T (φ 0 ) having a phase of φ 0 and the precision ratio ρ (φ) (S32). Since each value of the triangular wave and each value of the precision ratio ρ (φ) are stored in an array having the number of elements N, the control unit 11 has a one-dimensional array E having elements having the number of elements N in the pixel array. Create [n]. Next, the control unit 11 sets n indicating the position (nth) of each element of the array E [n] to 0 (S33). The control unit 11 sets the value stored in each element of the array E [n] as the difference (error) between each value of the triangular wave T (φ 0 ) having the phase φ 0 and each value of the precision ratio ρ (φ). The square of is accumulated, and the calculated cumulative error ε 20 ) is stored in each element of the array E [n] (S34). Here, the control unit 11 sets each value of the triangular wave T (0) having the phase φ 0 = 0 and each value of the precision ratio ρ (φ) as the values stored in the element E [0] of the array E [n]. The cumulative error ε 2 (0) of is calculated and stored in the element E [0] of the array E [n]. The control unit 11 sets each value of the triangular wave T (φ 0 ) having a phase of φ 0 = 2π × n / N and the matching ratio ρ (φ) as values stored in the nth element of the array E [n]. The cumulative error ε 20 ) with each value is calculated by the following equation (11) and stored in each element of the array E [n].

制御部11は、配列E[n]の各要素の位置(n番目)を示すnに1を加算し(S35)、ステップS31で作成した三角波の配列T(φ)の各要素を1つずつシフトさせる(S36)。なお、配列T(φ)の各要素をシフトさせた場合に、配列T(φ)の一端からはみ出した要素は、配列T(φ)の他端に移動させる。そして、制御部11は、ここでのnの値が配列T[n]及び配列E[n]の要素数Nに一致するか否かを判断し(S37)、一致しないと判断した場合(S37:NO)、ステップS34の処理に戻り、位相φ(φ=2π×n/N)の三角波T(φ)の各値と適合率ρ(φ)の各値との累積誤差ε2 (φ)を算出し、配列E[n]のn番目の要素に格納する。ここでは、n=1であるので、制御部11は、配列E[n]の要素E[1]に格納する値として、位相φ=2π/Nの三角波T(2π/N)の各値と適合率ρ(φ)の各値との累積誤差ε2 (2π/N)を算出し、配列E[n]の要素E[1]に格納する。 The control unit 11 adds 1 to n indicating the position (nth) of each element of the array E [n] (S35), and adds one element to each element of the triangular wave array T (φ) created in step S31. Shift (S36). When each element of the array T (φ) is shifted, the element protruding from one end of the array T (φ) is moved to the other end of the array T (φ). Then, the control unit 11 determines whether or not the value of n here matches the number of elements N of the array T [n] and the array E [n] (S37), and if it determines that they do not match (S37). : NO), returning to the process of step S34, the cumulative error ε 2 between each value of the triangular wave T (φ 0 ) of the phase φ 00 = 2π × n / N) and each value of the precision ratio ρ (φ). (Φ 0 ) is calculated and stored in the nth element of the array E [n]. Here, since n = 1, the control unit 11 sets each value of the triangular wave T (2π / N) having a phase φ 0 = 2π / N as a value to be stored in the element E [1] of the array E [n]. And the cumulative error ε 2 (2π / N) between each value of the precision ratio ρ (φ) is calculated and stored in the element E [1] of the array E [n].

制御部11は、nの値が要素数Nに一致するまでステップS34〜S37の処理を繰り返し、その結果、それぞれの位相φの三角波T(φ)の各値と適合率ρ(φ)の各値との累積誤差ε2 (φ)が、N個の各要素にそれぞれ格納された配列E[n]が得られる。nの値が要素数Nに一致すると判断した場合(S37:YES)、制御部11は、それぞれの累積誤差ε2 (φ)が格納された配列E[n]から、最小の累積誤差を特定し(S38)、特定した累積誤差に対応するnをnとする。そして、制御部11は、特定した累積誤差が算出された三角波T(φ)の位相φを、φ=2π×n/Nによって特定し、特定した位相φの位置(方位角方向の位置)を仮の極点(仮極点)に特定する(S39)。 The control unit 11 repeats the processes of steps S34 to S37 until the value of n matches the number of elements N, and as a result, each value of the triangular wave T (φ 0 ) having a phase of φ 0 and the precision ratio ρ (φ). An array E [n] is obtained in which the cumulative error ε 20 ) with each value of is stored in each of N elements. When it is determined that the value of n matches the number of elements N (S37: YES), the control unit 11 calculates the minimum cumulative error from the array E [n] in which each cumulative error ε 20 ) is stored. Specify (S38), and let n 0 correspond to the specified cumulative error. Then, the control unit 11 specifies the phase φ of the triangular wave T (φ) for which the specified cumulative error is calculated by φ = 2π × n 0 / N, and the position of the specified phase φ (position in the azimuth direction). Is specified as a temporary pole point (temporary pole point) (S39).

上述した処理によって特定された仮極点(位相φ)は、1回目のフィッティング処理の結果であり、この仮極点に基づいて、図8中のステップS4で、ステップS2で撮影方角を補正した第1パノラマ画像及び第2パノラマ画像の方位角方向を補正する処理を行ってもよい。なお、上述した処理によって三角波の位相φ(極点の位置を示す方位角φ)を推定する場合、異常値による影響が含まれる可能性がある。例えば第1画素列及び第2画素列に基づいて算出した適合率にノイズが含まれる場合がある。そのため、本実施形態では、異常値による影響をできるだけ排除するために、ロバスト推定と呼ばれる手法を用いて三角波の位相φを精査する(2回目のフィッティング処理)。ロバスト推定では、仮極点に特定した位相φの三角波T(φ)の各値と、適合率ρ(φ)の各値との差異(誤差d)に応じた重みωを、各値毎(三角波の配列T[n]及び適合率ρ(φ)の配列ρ[n]の要素毎)に算出し、要素毎の重みωを用いて2回目のフィッティング処理を行う。 The temporary pole point (phase φ) specified by the above-mentioned process is the result of the first fitting process, and based on this temporary pole point, the first step S4 in FIG. 8 and the shooting direction corrected in step S2. A process of correcting the azimuth angle direction of the panoramic image and the second panoramic image may be performed. When estimating the phase φ (azimuth angle φ indicating the position of the pole) of the triangular wave by the above-mentioned processing, the influence of the abnormal value may be included. For example, noise may be included in the precision ratio calculated based on the first pixel string and the second pixel string. Therefore, in the present embodiment, in order to eliminate the influence of the abnormal value as much as possible, the phase φ of the triangular wave is closely examined by using a method called robust estimation (second fitting process). In the robust estimation, the weight ω according to the difference (error d) between each value of the triangular wave T (φ) of the phase φ specified at the temporary pole point and each value of the precision ratio ρ (φ) is set for each value (triangular wave). It is calculated for each element of the arrangement T [n] of the above and the arrangement ρ [n] of the matching ratio ρ (φ), and the second fitting process is performed using the weight ω for each element.

よって、制御部11は、特定した仮極点に基づいて、配列の要素毎の重みωを算出する(S40)。重みωを算出する場合、制御部11は、ステップS38で特定した最小の累積誤差が格納された配列E[n]の要素の位置nに基づいて、ステップS31で作成した配列T[n]の各要素をシフトさせて配列T´[n]を作成する。配列T´[n]が示す三角波は、1回目のフィッティング処理によって適合率ρ(φ)をフィッティングした三角波を示す。なお、制御部11は、以下の(12)式によって、配列T´[n]を作成する。 Therefore, the control unit 11 calculates the weight ω for each element of the array based on the specified temporary pole points (S40). When calculating the weight ω, the control unit 11 creates the array T [n] in step S31 based on the position n 0 of the element of the array E [n] in which the minimum cumulative error specified in step S38 is stored. The array T'[n] is created by shifting each element of. The triangular wave shown by the array T'[n] indicates a triangular wave in which the precision ratio ρ (φ) is fitted by the first fitting process. The control unit 11 creates the array T'[n] by the following equation (12).

T´[n]=T[(n+n)modN] …(12) T'[n] = T [(n + n 0 ) modN] ... (12)

そして制御部11は、配列T´[n]の各要素の値と適合率ρ(φ)(配列ρ[n])の各値との誤差dを、d=ρ[n]−T´[n]によって算出する。そして制御部11は、配列の要素毎に(要素の位置毎に)、算出した誤差dに応じた重みωを、所定の誤差許容値Ωを用いて以下の(13)式のように設定する。なお、誤差許容値Ωは例えば、全要素における誤差dの中央値の1.25倍とすることができる。制御部11は、配列の要素毎に算出した重みωを、例えば記憶部12に定義した一元配列W[N]の各要素に格納する。なお、配列W[N]の要素数も、各配列と同様にN個である。 Then, the control unit 11 sets the error d between the value of each element of the array T'[n] and each value of the precision ratio ρ (φ) (array ρ [n]) as d = ρ [n] -T'[. n] to calculate. Then, the control unit 11 sets the weight ω corresponding to the calculated error d for each element of the array (for each position of the element) as in the following equation (13) using a predetermined error tolerance Ω. .. The error tolerance Ω can be, for example, 1.25 times the median value of the error d in all elements. The control unit 11 stores the weight ω calculated for each element of the array in each element of the unified array W [N] defined in the storage unit 12, for example. The number of elements of the array W [N] is also N as in each array.

要素毎に算出した重みωを格納した配列W[N]を生成した後、制御部11は、ステップS33〜S38と同様の処理を行い(S41〜S46)、2回目のフィッティング処理を行う。具体的には、制御部11は、配列E[n]の各要素の位置(n番目)を示すnを0に設定する(S41)。そして制御部11は、それぞれの位相φの三角波T(φ)の各値と適合率ρ(φ)の各値との累積誤差ε2 (φ)を算出し、配列E[n]の各要素に格納する(S42)。ここでは、制御部11は、配列E[n]の各要素に格納する値として、それぞれの位相φの三角波T(φ)の各値と適合率ρ(φ)の各値との差異(誤差)の二乗に、ステップS40で要素毎に特定した重みωを乗じた値の累積を算出する。なお、制御部11は、配列E[n]のn番目の要素に格納する値として、位相φ=2π×n/Nの三角波T(φ)の各値と適合率ρ(φ)の各値とにおける重みωを加味した累積誤差ε2 (φ)を、以下の(14)式によって算出する。 After generating the array W [N] in which the weight ω calculated for each element is stored, the control unit 11 performs the same processing as in steps S33 to S38 (S41 to S46), and then performs the second fitting processing. Specifically, the control unit 11 sets n indicating the position (nth) of each element of the array E [n] to 0 (S41). Then, the control unit 11 calculates the cumulative error ε 20 ) between each value of the triangular wave T (φ 0 ) of each phase φ 0 and each value of the precision ratio ρ (φ), and the array E [n] It is stored in each element of (S42). Here, the control unit 11 sets the difference between each value of the triangular wave T (φ 0 ) having the phase φ 0 and each value of the precision ratio ρ (φ) as the values stored in each element of the array E [n]. The cumulative value is calculated by multiplying the square of (error) by the weight ω specified for each element in step S40. The control unit 11 sets each value of the triangular wave T (φ 0 ) having a phase of φ 0 = 2π × n / N and the matching ratio ρ (φ) as values stored in the nth element of the array E [n]. The cumulative error ε 20 ), which takes into account the weight ω with each value, is calculated by the following equation (14).

そして制御部11は、nに1を加算し(S43)、三角波の配列T(φ)の各要素を1つずつシフトさせる(S44)。制御部11は、ここでのnの値が配列T[n]及び配列E[n]の要素数Nに一致するか否かを判断し(S45)、一致しないと判断した場合(S45:NO)、ステップS42の処理に戻り、位相φ(φ=2π×n/N)の三角波T(φ)の各値と適合率ρ(φ)の各値とにおける重みωを加味した累積誤差ε2 (φ)を算出し、配列E[n]のn番目の要素に格納する。 Then, the control unit 11 adds 1 to n (S43) and shifts each element of the triangular wave array T (φ) by one (S44). The control unit 11 determines whether or not the value of n here matches the number of elements N of the array T [n] and the array E [n] (S45), and if it determines that they do not match (S45: NO). ), Returning to the process of step S42, the accumulation including the weight ω at each value of the triangular wave T (φ 0 ) of the phase φ 00 = 2π × n / N) and each value of the precision ratio ρ (φ). The error ε 20 ) is calculated and stored in the nth element of the array E [n].

制御部11は、nの値が要素数Nに一致するまでステップS42〜S45の処理を繰り返し、それぞれの位相φの三角波T(φ)の各値と適合率ρ(φ)の各値とにおける重みωを加味した累積誤差ε2 (φ)が、N個の各要素にそれぞれ格納された配列E[n]を得る。nの値が要素数Nに一致すると判断した場合(S45:YES)、制御部11は、要素毎の重みωを加味した累積誤差ε2 (φ)が格納された配列E[n]から、最小の累積誤差を特定し(S46)、特定した累積誤差に対応するnをnとする。そして、制御部11は、特定した累積誤差が算出された三角波T(φ)の位相φを、φ=2π×n/Nによって特定し、特定した位相φの位置(方位角方向の位置)を真の極点に特定する(S21)。その後、制御部11は、図8に示す補正処理に戻り、特定した極点の位置を示す方位角φに基づいて、第1パノラマ画像及び第2パノラマ画像の方位角方向を補正する(S4)。 The control unit 11 repeats the processes of steps S42 to S45 until the value of n matches the number of elements N, and each value of the triangular wave T (φ 0 ) of each phase φ 0 and each value of the precision ratio ρ (φ). The cumulative error ε 20 ), which takes into account the weight ω in and, gives the array E [n] stored in each of the N elements. When it is determined that the value of n matches the number of elements N (S45: YES), the control unit 11 starts from the array E [n] in which the cumulative error ε 20 ) including the weight ω for each element is stored. , The minimum cumulative error is specified (S46), and n corresponding to the specified cumulative error is set to n 0 . Then, the control unit 11 specifies the phase φ of the triangular wave T (φ) for which the specified cumulative error is calculated by φ = 2π × n 0 / N, and the position of the specified phase φ (position in the azimuth direction). Is specified as the true pole (S21). After that, the control unit 11 returns to the correction process shown in FIG. 8 and corrects the azimuth angle directions of the first panoramic image and the second panoramic image based on the azimuth angle φ indicating the position of the specified pole point (S4).

本実施形態においても、実施形態1と同様に、それぞれの撮影位置において異なる方角を撮影方向として撮影を行った場合であっても、同じ被写体が画像中の方位角方向(左右方向)の同じ位置に写っているパノラマ画像が得られる。また本実施形態では、第1画素列及び第2画素列に基づいて算出した第1画素列及び第2画素列の間の適合率ρ(φ)にノイズが含まれ、適合率ρ(φ)の各値の信頼性が高くない場合であっても、より適切な極点を特定することができる。よって、より適切な極点に基づいて第1パノラマ画像及び第2パノラマ画像の方位角方向を補正することにより、同じ被写体が画像中の方位角方向(左右方向)の同じ位置に写るパノラマ画像をより精度よく生成することができる。 Also in the present embodiment, as in the first embodiment, even when shooting is performed with different shooting directions at the respective shooting positions, the same subject is at the same position in the azimuth angle direction (horizontal direction) in the image. You can get the panoramic image shown in. Further, in the present embodiment, noise is included in the matching ratio ρ (φ) between the first pixel row and the second pixel row calculated based on the first pixel row and the second pixel row, and the matching ratio ρ (φ). Even if the reliability of each value of is not high, a more appropriate pole can be identified. Therefore, by correcting the azimuth directions of the first panorama image and the second panorama image based on more appropriate pole points, the panoramic image in which the same subject appears at the same position in the azimuth direction (horizontal direction) in the image can be obtained. It can be generated with high accuracy.

本実施形態において、撮影対象の部屋における撮影位置は3箇所以上としてもよい。この場合、それぞれ2箇所の撮影位置間で、撮影したパノラマ画像における方位角方向の補正処理を行えばよい。これにより、撮影対象の部屋の任意の位置で撮影されたパノラマ画像間において、同じ被写体の画像中の方位角方向を一致させることができる。本実施形態において、カメラ20は、全天球カメラに限定しない。たとえば、半球型の範囲を撮影可能なカメラであってもよい。通常の平面画像撮影用のカメラでもよい。 In the present embodiment, the number of shooting positions in the room to be shot may be three or more. In this case, the correction process in the azimuth angle direction of the captured panoramic image may be performed between the two imaging positions. As a result, the azimuth directions in the images of the same subject can be matched between the panoramic images taken at an arbitrary position in the room to be photographed. In the present embodiment, the camera 20 is not limited to the spherical camera. For example, it may be a camera capable of capturing a hemispherical range. It may be a camera for taking a normal flat image.

各実施形態で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
The technical features (constituent requirements) described in each embodiment can be combined with each other, and by combining them, a new technical feature can be formed.
The embodiments disclosed this time should be considered to be exemplary in all respects and not restrictive. The scope of the present invention is indicated by the scope of claims, not the above-mentioned meaning, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.

10 情報処理装置
11 制御部
12 記憶部
13 通信部
14 入力部
15 表示部
20 カメラ
21 制御部
22 記憶部
23 通信部
24 シャッターボタン
25 撮影部
26 センサ
12a パノラマ画像DB
10 Information processing device 11 Control unit 12 Storage unit 13 Communication unit 14 Input unit 15 Display unit 20 Camera 21 Control unit 22 Storage unit 23 Communication unit 24 Shutter button 25 Imaging unit 26 Sensor 12a Panorama image DB

Claims (8)

実空間内の同一高さの異なる撮影位置で撮影した全天球画像を実空間における撮影方向と水平ないずれかの方向を中心として展開した複数のパノラマ画像を取得する画像取得部と、
前記複数のパノラマ画像における前記撮影方向と水平な画素の各画素位置における類似度を算出する算出部と、
前記算出部による類似度から、前記異なる撮影位置を結ぶ直線上の極点を特定する極点特定部と、
前記パノラマ画像を、特定した前記極点を中心としたパノラマ画像に補正する補正部と
を備える情報処理装置。
An image acquisition unit that acquires a plurality of panoramic images obtained by developing spherical images taken at different shooting positions at the same height in the real space around one of the shooting directions in the real space and horizontal.
A calculation unit that calculates the degree of similarity at each pixel position of pixels horizontal to the shooting direction in the plurality of panoramic images.
From the similarity by the calculation unit, the pole point identification unit that specifies the pole points on the straight line connecting the different shooting positions, and the pole point identification unit.
An information processing device including a correction unit that corrects the panoramic image into a panoramic image centered on the specified pole.
前記算出部は、前記撮影方向と水平な画素の並びを所定画素ずつシフトさせて各シフト画像の類似度を算出し、
前記極点特定部は、前記算出部が算出した各シフト画像の類似度の変化から前記極点を特定する
請求項1に記載の情報処理装置。
The calculation unit shifts the arrangement of pixels horizontal to the shooting direction by a predetermined pixel, and calculates the similarity of each shifted image.
The information processing apparatus according to claim 1, wherein the pole specifying unit identifies the pole point from a change in the degree of similarity of each shift image calculated by the calculation unit.
前記極点特定部は、前記算出部が算出した各シフト画像の類似度のうちで最大の類似度を特定し、特定した類似度の前記シフト画像に応じて前記極点に特定する
請求項2に記載の情報処理装置。
The pole specifying unit is described in claim 2, wherein the maximum similarity among the similarities of the shift images calculated by the calculation unit is specified, and the extreme points are specified according to the shift image of the specified similarity. Information processing equipment.
前記極点特定部は、前記算出部が算出した各シフト画像の類似度の変化を三角波で近似し、近似した三角波に係る位相に応じて前記極点を特定する
請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the pole specifying unit approximates a change in the similarity of each shift image calculated by the calculation unit with a triangular wave, and specifies the pole point according to the phase of the approximated triangle wave.
前記パノラマ画像のそれぞれから、前記撮影方向と水平な画素の並びを抽出する抽出部を備え、
前記算出部は、前記パノラマ画像のそれぞれから抽出した前記画素の並びの類似度を算出する
請求項1から4までのいずれかひとつに記載の情報処理装置。
An extraction unit for extracting an array of pixels horizontal to the shooting direction from each of the panoramic images is provided.
The information processing device according to any one of claims 1 to 4, wherein the calculation unit calculates the similarity of the arrangement of the pixels extracted from each of the panoramic images.
前記画像取得部が取得した複数のパノラマ画像に対して、それぞれの前記撮影位置からの撮影方向が同一の方角となるように画像の向きを補正する向き補正部を備える
請求項1から5までのいずれかひとつに記載の情報処理装置。
Claims 1 to 5 include a direction correction unit that corrects the orientation of a plurality of panoramic images acquired by the image acquisition unit so that the shooting directions from the respective shooting positions are in the same direction. The information processing device described in any one.
情報処理装置が、
実空間内の同一高さの異なる撮影位置で撮影した全天球画像を実空間における撮影方向と水平ないずれかの方向を中心として展開した複数のパノラマ画像を取得し、
前記複数のパノラマ画像における前記撮影方向と水平な画素の各画素位置における類似度を算出し、
算出した前記類似度から、前記異なる撮影位置を結ぶ直線上の極点を特定し、
前記パノラマ画像を、特定した前記極点を中心としたパノラマ画像に補正する
処理を行う情報処理方法。
Information processing device
Acquire a plurality of panoramic images obtained by developing spherical images taken at different shooting positions at the same height in the real space centered on one of the shooting directions in the real space and horizontal.
The similarity at each pixel position of the pixel horizontal to the shooting direction in the plurality of panoramic images is calculated.
From the calculated similarity, the pole points on the straight line connecting the different shooting positions are specified.
An information processing method for correcting a panoramic image into a panoramic image centered on the specified pole.
コンピュータに、
実空間内の同一高さの異なる撮影位置で撮影した全天球画像を実空間における撮影方向と水平ないずれかの方向を中心として展開した複数のパノラマ画像を取得し、
前記複数のパノラマ画像における前記撮影方向と水平な画素の各画素位置における類似度を算出し、
算出した前記類似度から、前記異なる撮影位置を結ぶ直線上の極点を特定し、
前記パノラマ画像を、特定した前記極点を中心としたパノラマ画像に補正する
処理を実行させるプログラム。
On the computer
Acquire a plurality of panoramic images obtained by developing spherical images taken at different shooting positions at the same height in the real space centered on one of the shooting directions in the real space and horizontal.
The similarity at each pixel position of the pixel horizontal to the shooting direction in the plurality of panoramic images is calculated.
From the calculated similarity, the pole points on the straight line connecting the different shooting positions are specified.
A program that executes a process of correcting the panoramic image to a panoramic image centered on the specified pole.
JP2019072208A 2019-04-04 2019-04-04 Information processing device, information processing method and program Active JP7259498B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019072208A JP7259498B2 (en) 2019-04-04 2019-04-04 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019072208A JP7259498B2 (en) 2019-04-04 2019-04-04 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2020170400A true JP2020170400A (en) 2020-10-15
JP7259498B2 JP7259498B2 (en) 2023-04-18

Family

ID=72746774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019072208A Active JP7259498B2 (en) 2019-04-04 2019-04-04 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP7259498B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011174799A (en) * 2010-02-24 2011-09-08 Mitsubishi Electric Corp Photographing route calculation device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011174799A (en) * 2010-02-24 2011-09-08 Mitsubishi Electric Corp Photographing route calculation device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LUIS E. GURRIERI AND ERIC DUBOIS: "Optimum alignment of panoramic images for stereoscopic navigation in image-based telepresence system", 2011 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOPS, JPN6023001812, 6 November 2011 (2011-11-06), US, pages 351 - 358, XP032095260, ISSN: 0004970329, DOI: 10.1109/ICCVW.2011.6130263 *
中村 心哉: "速報!新技術・新製品", 映像情報インダストリアル 第40巻 第13号 INDUSTRIAL, vol. 第40巻, JPN6023001813, 1 December 2008 (2008-12-01), JP, pages 32 - 33, ISSN: 0004970330 *

Also Published As

Publication number Publication date
JP7259498B2 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
JP5740884B2 (en) AR navigation for repeated shooting and system, method and program for difference extraction
JP4508049B2 (en) 360 ° image capturing device
US20150304652A1 (en) Device orientation correction method for panorama images
JP6476657B2 (en) Image processing apparatus, image processing method, and program
JP2007147422A (en) Measurement system, image processor, and method
JP7196421B2 (en) Information processing device, information processing system, information processing method and program
US20190199992A1 (en) Information processing apparatus, method for controlling the same, and recording medium
CN110049246A (en) Video anti-fluttering method, device and the electronic equipment of electronic equipment
US9838572B2 (en) Method and device for determining movement between successive video images
JP2017212510A (en) Image management device, program, image management system, and information terminal
CN110119189B (en) Initialization method, AR control method, device and system of SLAM system
JP7192526B2 (en) Image processing device, image processing method and program
JP4776983B2 (en) Image composition apparatus and image composition method
JP2019101563A (en) Information processing apparatus, information processing system, information processing method, and program
JP7259498B2 (en) Information processing device, information processing method and program
JP2008203991A (en) Image processor
JP7439398B2 (en) Information processing equipment, programs and information processing systems
JP2016139199A (en) Image processing device, image processing method, and program
JP7415496B2 (en) Image processing device, program and image processing system
JP7059829B2 (en) Information processing equipment, information processing methods and programs
JP4135934B2 (en) Electronics
JP7447403B2 (en) Information processing device, information processing system, information processing method and program
CN113674433B (en) Mixed reality display method and system
JP7323234B2 (en) Guide method
JP6950548B2 (en) Transmission program, method and device, and image synthesis program, method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R150 Certificate of patent or registration of utility model

Ref document number: 7259498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150