以下、本発明の実施形態について説明する。
(第1の実施の形態)
図1は、本実施の形態の情報処理システム10の概略図である。
情報処理システム10は、サーバ装置12と、撮影装置14と、情報処理端末18と、を備える。サーバ装置12と、撮影装置14と、情報処理端末18と、は、ネットワーク20などの通信部を介して互いに通信可能に接続されている。
通信部には、例えば、短距離無線技術、移動通信システムによる無線通信網、およびインターネットなどを用いる。短距離無線技術には、Wi−Fi(Wireless Fidelity)などが挙げられる。移動通信システムによる無線通信網には、LTE(Long Term Evolution)や、NFC(Near Field Communication)や、WiMAX(Worldwide Interoperability for Microwave Access)などが挙げられる。
撮影装置14は、全方位の範囲を撮影し、全天球パノラマ画像を得る。本実施の形態では、撮影装置14は、通信端末15および無線ルータ16を介して、ネットワーク20に接続されている。
サーバ装置12は、情報処理装置の一例である。サーバ装置12は、画像における人物の位置を特定する(詳細後述)。本実施の形態では、人物の位置を特定する対象の画像が、全天球パノラマ画像である場合を一例として説明する。全天球パノラマ画像は、全方位(360°)の範囲の撮影によって得られた画像である。
なお、サーバ装置12が人物の位置の特定に用いる画像は、全天球パノラマ画像に限定されない。情報処理端末18は、サーバ装置12で管理されている全天球パノラマ画像などを受信し、全天球パノラマ画像の表示などを行う。
なお、図1には、情報処理システム10に含まれるサーバ装置12、撮影装置14、および情報処理端末18の各々の数が、1台である場合を示した。しかし、サーバ装置12、撮影装置14、および、情報処理端末18の数は、各々、複数台であってもよい。
まず、撮影装置14について説明する。
撮影装置14は、撮影によって全天球パノラマ画像を得る撮影装置である。全天球パノラマ画像とは、全天球の範囲(360°)の撮影によって得られるパノラマ画像である。
図2は、撮影装置14の外観模式図の一例である。図2(A)は撮影装置14の側面図である。図2(B)は、撮影装置14の、図2(A)とは反対側の側面図である。図2(C)は、撮影装置14の平面図である。
図2(A)に示すように、撮影装置14は、例えば、人間が片手で持つことができる大きさである。なお、撮影装置14の大きさは、このような大きさに限られない。
図2に示すように、撮影装置14の上部には、正面側(一方の面側)にレンズ14A、背面側(他方の面側)にレンズ14B、が設けられている。レンズ14Aおよびレンズ14Bは、各々、180°以上の画角を有する広角レンズである。本実施の形態では、レンズ14Aおよびレンズ14Bは、広角レンズの1つである魚眼レンズであるものとして説明する。撮影装置14では、レンズ14Aおよびレンズ14Bの各々を介して像が導かれ、各々に対応する撮像素子に像が形成される。なお、撮像素子としては、CCDや、CMOS等が挙げられる。また、図2(B)に示されるように、撮影装置14の正面側には、シャッターボタン等の操作部14Cが設けられていてもよい。
次に、撮影装置14の使用状況の一例を説明する。図3は、撮影装置14の使用状況の一例を示す図である。図3に示すように、ユーザが撮影装置14を手に持って撮影した場合、ユーザの周りの全方位(360°)が撮影される。レンズ14Aおよびレンズ14Bから導かれた像が各々の撮像素子で検出されることで、ユーザの周りの被写体が撮像され、2つの半球画像が得られる。全天球パノラマ画像は、これらの2つの半球画像から作成される。なお、撮影装置14を、地面や壁等に設置された支持部材に設置してもよい。この場合、設置位置の周りの全方位が撮影される。
次に、撮影装置14で撮影された半球画像から全天球パノラマ画像が作成されるまでの処理の概略を説明する。図4および図5は、全天球パノラマ画像60の作成の一例の説明図である。図4(A)は撮影装置14で撮影された半球画像(前側)、図4(B)は撮影装置14で撮影された半球画像(後側)、図4(C)はメルカトル図法により表された全天球パノラマ画像60、の一例を示す模式図である。
なお、全天球パノラマ画像60は、360°の球体の内壁に一対の半球画像(図4(A)、図4(B)参照)を貼り付けた、三次元の立体球状の画像であってもよい(図5参照)。
ここで、図4(A)に示すように、レンズ14Aは魚眼レンズであるため、このレンズ14Aによって得られた画像は、湾曲した半球画像(前側)となる。また、図4(B)に示されているように、レンズ14Bは魚眼レンズであるため、このレンズ14Bによって得られた画像は、湾曲した半球画像(後側)となる。そして、半球画像(前側)と半球画像(後側)は、撮影装置14によって合成されることで、全天球パノラマ画像60が作成される。
そして、本実施の形態では、撮影装置14は、撮影によって全天球パノラマ画像60を得るごとに、全天球パノラマ画像60をサーバ装置12へ順次送信する(図1参照)。
本実施の形態では、撮影装置14が、半球画像を合成して全天球パノラマ画像60とした上で、サーバ装置12へ送信するものとして説明する。本実施の形態では、撮影装置14は、メルカトル図法により表される全天球パノラマ画像60(図4(C))を、サーバ装置12へ送信する場合を一例として説明する。
なお、サーバ装置12が、撮影装置14から一対の半球画像を受信し、これらの半球画像を合成することで、全天球パノラマ画像60を作成してもよい。また、撮影装置14は、三次元の立体球の内壁に半球画像を貼り付けた、三次元の立体球状の全天球パノラマ画像60(図5参照)を、撮影装置14へ送信してもよい。
この場合、撮影装置14では、OpenGL ES(Open Graphics Library for Embedded Systems)を利用することで、一対の半球画像を、球面の内壁を覆うように貼り付ける。これにより、撮影装置14は、図5に示すような球状の全天球パノラマ画像60を作成する。この場合、三次元の立体球状の全天球パノラマ画像60は、メルカトル図法で表される画像が球の中心を向いた画像として表される。なお、OpenGL ESは、2D(2−Dimensions)および3D(3−Dimensions)のデータを視覚化するために使用するグラフィックスライブラリである。
ここで、全天球パノラマ画像60は、上述のように球面の内壁を覆うように貼り付けられた、360°の全方位の画像である。このため、表示時には、360°の全方位の内、仮想の視点方向を中心とした画像として表示することが好ましい。また、この場合、全天球パノラマ画像60の一部の所定領域を、該視点方向を中心とした湾曲の少ない平面画像として表示することが好ましい。これにより、人間に違和感を与えない表示をすることが可能となる。
図6および図7は、三次元の立体球状と仮定した全天球パノラマ画像60と、所定領域Sと、の位置関係の説明図である。
全天球パノラマ画像60が、図6および図7に示すような、三次元の立体球状(立体球CS)であると仮定する。この場合、仮想撮影装置Cを、この立体球CSの内壁を撮影可能な位置に位置させる。仮想撮影装置Cは、3次元の立体球CSとして表示された全天球パノラマ画像60を視認する、ユーザの視点位置に相当する。
すると、この立体球CSの中心を原点とした座標系が構築される。所定領域Sは、仮想撮影装置Cが全天球パノラマ画像60より狭い画角で、該立体球状の全天球パノラマ画像60における所定の視点方向を撮影したときの、撮影画角に相当する領域である。
所定領域Sは、視点方向情報によって特定される。本実施の形態では、視点方向情報を、三次元の立体球状と仮定した全天球パノラマ画像60における、矩形状の所定領域Sの4つの頂点の内の1つの頂点CPの三次元座標情報(x,y,z)と、所定領域Sの範囲(幅および高さ(w,h))と、で表す。
なお、所定領域Sを、座標(x,y)と、撮影画角αと、で表してもよい。この座標(x,y)は、仮想撮影装置Cの位置を原点としたときの、立体球CSにおける所定領域Sの中心位置CP’を示す。撮影画角αは、仮想撮影装置Cの撮影倍率(ズーム)によって特定される。なお、所定領域情報は、さらに、仮想撮影装置Cの姿勢を示す撮影姿勢情報を含んだものであってもよい。仮想撮影装置Cの撮影姿勢情報は、立体球CSの中心を原点とした座標系を構成する3軸の各々の回転角(ヨー、ピッチ、ロール)によって特定される。
本実施の形態の情報処理システム10では、全天球パノラマ画像60における所定領域Sを視点方向として、情報処理端末18などに表示する。このため、情報処理システム10は、人間に違和感を与えない表示の可能な構成となっている。なお、視点方向は、情報処理端末18を操作するユーザによる操作指示などによって変更可能である。すなわち、ユーザは、情報処理端末18を用いて視点方向の変更指示を入力することで、全天球パノラマ画像60における視点方向(すなわち全天球パノラマ画像60における、表示画面に表示させる領域)を変更することができる。
次に、撮影装置14のハードウェア構成を説明する。
図8は、撮影装置14のハードウェア構成を示す模式図である。撮影装置14は、撮像ユニット101、画像処理ユニット104、撮像制御ユニット105、マイク108、音処理ユニット109、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、SRAM(Static Random Access Memory)113、DRAM(Dynamic Random Access Memory)114、操作部115、ネットワークI/F116、通信部117、アンテナ117a、および電子コンパス118を備える。
撮像ユニット101は、レンズ14Aと、レンズ14Bと、撮像素子13Aと、撮像素子13Bと、を備える。撮像素子13Aは、レンズ14Aに対応して設けられている。撮像素子13Bは、レンズ14Bに対応して設けられている。撮像素子13Aおよび撮像素子13Bは、レンズ14Aおよびレンズ14Bの各々による光学像を電気信号の画像データに変換して出力する。
撮像素子13Aおよび撮像素子13Bの各々は、画像処理ユニット104とパラレルI/Fバスで接続されている。また、撮像素子13Aおよび撮像素子13Bは、撮像制御ユニット105とシリアルI/Fバス(I2Cバス等)で接続されている。画像処理ユニット104および撮像制御ユニット105は、バス110を介してCPU111と接続される。さらに、バス110には、ROM112、SRAM113、DRAM114、操作部115、ネットワークI/F116なども接続されている。
画像処理ユニット104は、撮像素子13Aおよび撮像素子13Bから出力された半球画像の画像データをパラレルI/Fバスを通して取り込む。そして、画像処理ユニット104は、これらの半球画像の画像データを合成し、全天球パノラマ画像60を作成する。
撮像制御ユニット105は、撮像制御ユニット105をマスタデバイス、撮像素子13Aおよび撮像素子13Bをスレーブデバイスとして、I2Cバスを利用して、撮像素子13Aおよび撮像素子13Bのレジスタ群にコマンド等を設定する。必要なコマンド等は、CPU111から受け取る。また、撮像制御ユニット105は、I2Cバスを利用して、撮像素子13Aおよび撮像素子13Bのレジスタ群のステータスデータ等を取り込み、CPU111に送る。
また、撮像制御ユニット105は、CPU111と協働して撮像素子13Aおよび撮像素子13Bの、半球画像の画像データの出力タイミングの同期をとる同期制御手段としても機能する。なお、本実施の形態では、撮影装置14には表示部が設けられていないが、表示部を設けてもよい。
マイク108は、音を音(信号)データに変換する。音処理ユニット109は、マイク108から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施す。
CPU111は、撮影装置14の全体の動作を制御すると共に必要な処理を実行する。ROM112は、CPU111のための種々のプログラムを記憶している。SRAM113およびDRAM114はワークメモリであり、CPU111で実行するプログラムや処理途中のデータ等を記憶する。DRAM114は、画像処理ユニット104での処理途中の画像データや処理済みの全天球パノラマ画像60を記憶する。
ネットワークI/F116は、SDカード等の外付けのメディアやパーソナルコンピュータなどとのインターフェース回路(USBI/F等)の総称である。また、ネットワークI/F116としては、無線、有線を問わずにネットワークインターフェースである場合も考えられる。DRAM114に記憶された全天球パノラマ画像60は、このネットワークI/F116を介して外付けのメディアに記録、または、ネットワークI/F116を介して通信端末15等の外部装置に送信される。
通信部117は、撮影装置14に設けられたアンテナ117aを介して、Wi−FiやNFC等の短距離無線技術によって、通信端末15等の外部装置と通信を行う。通信部117が、全天球パノラマ画像60を通信端末15の外部装置に送信してもよい。
電子コンパス118は、地球の磁気から撮影装置14の姿勢(回転角(ヨー、ピッチ、ロール))を示す撮影姿勢情報を検出する。なお、電子コンパス118は、現在の撮影装置14の位置を示すGPS(Global Positioning System)機能を更に備えていてもよい。
次に、サーバ装置12および情報処理端末18のハードウェア構成を説明する。図9は、サーバ装置12および情報処理端末18のハードウェア構成図の一例である。
サーバ装置12および情報処理端末18は、CPU501、ROM502、RAM503、HDD(Hard Disk Drive)505、メディアドライブ507、ディスプレイ508、ネットワークI/F509、キーボード511、マウス512、およびCD−ROMドライブ514を、バス510を介して接続した構成である。メディアドライブ507は、フラッシュメモリ等の記録メディア506に対してデータの読み出し又は書き込み(記憶)を行う。CD−ROMドライブ514は、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)513に対する各種データの読み出し又は書き込みを行う。なお、サーバ装置12および情報処理端末18は、ディスプレイ508と、キーボード511と、マウス512と、を一体的に構成した、タッチパネルを備えた構成であってもよい。
次に、本実施の形態の情報処理システム10が行う情報処理の流れの概要を説明する。図10は、情報処理システム10が行う情報処理の流れの概要の一例を示す、説明図である。
本実施の形態では、撮影装置14は、撮影によって得られた全天球パノラマ画像60と、該全天球パノラマ画像60に対応する関連情報61と、を通信端末15および無線ルータ16を介して、サーバ装置12へ送信する(ステップS1、ステップS2)。
本実施の形態では、撮影装置14は、予め定められた位置に固定されているものとして説明する。また、撮影装置14は、連続撮影を行い、連続撮影によって得られた全天球パノラマ画像60の各々を、順次、サーバ装置12へ送信するものとして説明する。
すなわち、本実施の形態では、撮影装置14は、時系列に連続した複数の(複数フレームの)全天球パノラマ画像60を、サーバ装置12へ順次送信するものとして説明する。
また、撮影装置14は、全天球パノラマ画像60に対応する関連情報61を、全天球パノラマ画像60と共にサーバ装置12へ送信する。すなわち、撮影装置14は、各フレームの全天球パノラマ画像60の各々に対応する関連情報61を、全天球パノラマ画像60と共にサーバ装置12へ送信する。
関連情報61は、対応する全天球パノラマ画像60の撮影日時を示す撮影日時情報と、撮影装置識別情報(以下、撮影装置IDと称する)と、を含む。
関連情報61に含まれる撮影装置IDは、該関連情報61に対応する全天球パノラマ画像60を撮影した、撮影装置14を識別するための識別情報である。
サーバ装置12は、撮影装置14から全天球パノラマ画像60および関連情報61を受信すると、該全天球パノラマ画像60および関連情報61を記憶する。そして、サーバ装置12は、位置特定処理を行う(ステップS3)。位置特定処理は、全天球パノラマ画像60に含まれる人物の位置を特定する処理である(詳細後述)。
一方、情報処理端末18は、解析結果取得要求を、サーバ装置12へ送信する(ステップS4)。情報処理端末18は、ユーザの操作指示を受付けることで、1または複数の全天球パノラマ画像60における人物の位置などの解析結果取得要求を、サーバ装置12へ送信する。
解析結果取得要求を受信すると、サーバ装置12は、特定した人物の位置を含む解析結果情報を、情報処理端末18へ送信する(ステップS5)。情報処理端末18は、受信した解析結果情報に示される、人物の位置などを表示する。なお、解析結果情報に示される、人物の位置などの表示は、サーバ装置12側で行ってもよい。
次に、本実施の形態の情報処理システム10を構成する各装置の機能について、詳細に説明する。
図11は、情報処理システム10における、サーバ装置12、撮影装置14、通信端末15、および情報処理端末18の各々の機能的構成を示す模式図である。
撮影装置14は、撮影部14Eと、記憶部14Fと、接続部14Gと、記憶・読出部14Iと、を備える。撮影部14Eは、撮影によって半球画像の画像データを取得し、記憶部14Fへ記憶する。撮影部14Eは、同じ撮影タイミングの一対の半球画像の画像データを記憶部14Fから読出し、全天球パノラマ画像60を生成する。また、記憶・読出部14Iは、生成した全天球パノラマ画像60の撮影日時情報と、該撮影装置14の撮影装置IDと、を関連情報61として記憶部14Fから読出す。そして、接続部14Gは、撮影部14Eで生成された全天球パノラマ画像60と、関連情報61と、を通信端末15へ送信する。
通信端末15は、接続部15Aと、送受信部15Bと、を備える。接続部15Aは、撮影装置14の接続部14Gに接続されている。接続部15Aは、撮影装置14から、全天球パノラマ画像60および関連情報61を受信する。送受信部15Bは、接続部15Aを介して撮影装置14と通信する。また、送受信部15Bは、ネットワーク20を介してサーバ装置12と通信する。本実施の形態では、送受信部15Bは、接続部15Aを介して撮影装置14から取得した全天球パノラマ画像60および関連情報61を、無線ルータ16(図1参照)およびネットワーク20を介してサーバ装置12へ送信する。
サーバ装置12は、制御部12Aと、記憶部12Bと、表示部12Fと、入力部12Gと、を備える。記憶部12B、表示部12F、および入力部12Gと、制御部12Aと、は、データや信号を授受可能に接続されている。
表示部12Fは、各種画像を表示する。表示部12Fは、例えば、LCDなどである。表示部12Fは、例えば、ディスプレイ508(図9参照)で実現する。入力部12Gは、ユーザによる操作指示を受付ける。入力部12Gは、例えば、キーボード、マウス、などである。入力部12Gは、例えば、キーボード511やマウス512(図9参照)で実現する。
記憶部12Bは、各種データを記憶する。記憶部12Bは、例えば、画像管理DB(データベース)12Cと、特定情報12Hと、を記憶する。画像管理DB12Cには、全天球パノラマ画像60や、解析情報(詳細後述)などが格納される。特定情報12Hは、第1の特定情報12Dと、第2の特定情報12Eと、を含む。
図12は、第1の特定情報12Dおよび第2の特定情報12Eのデータ構成の一例を示す模式図である。
図12(A)は、第1の特定情報12Dのデータ構成の一例を示す模式図である。第1の特定情報12Dは、人物の姿勢に応じた、人物の位置を特定するための位置特定条件を示す情報である。具体的には、第1の特定情報12Dは、姿勢と、位置特定条件と、を対応づけたものである。
姿勢は、人物の姿勢である。姿勢は、例えば、立位、座位(椅座位、しゃがむ)、仰臥位、逆立ち、などである。立位とは、頭部、体幹、および四肢が略一直線になるように、下肢を地面側にして立った状態を示す姿勢である。座位は、座った状態を示す姿勢である。座位には、複数の種類の姿勢がある。例えば、椅座位は、椅子に座った状態を示す姿勢である。しゃがむ、は、しゃがんだ状態を示す姿勢である。仰臥位は、背部を地面側にして下肢を伸ばして横になった状態を示す姿勢である。逆立ちは、両手および頭部を地面側にし、下肢を反地面側にして、頭部、体幹、および四肢が略一直線になるように、立った状態を示す姿勢である。
なお、第1の特定情報12Dに登録される姿勢は、これらに限定されない。
第1の特定情報12Dには、姿勢に対応する位置特定条件が登録されている。位置特定条件は、対応する姿勢の人物の位置を特定するための条件である。第1の特定情報12Dに登録されている位置特定条件は、全天球パノラマ画像60における、対応する姿勢の人物を視認したときに、該人物の位置として違和感のない位置を特定するための条件を示すことが好ましい。
図12(A)に示す例では、第1の特定情報12Dには、姿勢“立位”に対応する位置特定条件として、“人物の両足先間の中央位置”が登録されている。また、第1の特定情報12Dには、姿勢“椅座位”“しゃがむ”の各々に対応する位置特定条件として、“人物の両足先間の中央位置”が登録されている。
また、第1の特定情報12Dには、姿勢“仰臥位”に対応する位置特定条件として、“人物領域の中央位置”が登録されている。また、第1の特定情報12Dには、姿勢“逆立ち”に対応する位置特定条件として、“人物の両手先間の中央位置”が登録されている。
このように、第1の特定情報12Dには、姿勢の各々に応じた、人物の位置を特定するための位置特定条件が予め登録されている。そして、第1の特定情報12Dに登録されている位置特定条件には、姿勢に応じて異なるものが含まれる。このため、後述する制御部12Aでは、全天球パノラマ画像60に含まれる人物の姿勢に応じた位置を、人物の位置として特定することができる(詳細後述)。
なお、第1の特定情報12Dにおける、姿勢および対応する位置特定条件は、ユーザによる操作指示などによって変更可能である(詳細後述)。
次に、第2の特定情報12Eについて説明する。図12(B)は、第2の特定情報12Eのデータ構成の一例を示す模式図である。第2の特定情報12Eは、人物の姿勢と、周辺領域と、に対応する、位置特定条件が登録されている。具体的には、第2の特定情報12Eは、姿勢と、周辺領域と、位置特定条件と、を対応づけたものである。
第2の特定情報12Eにおける姿勢は、第1の特定情報12Dと同様である。周辺領域は、画像(本実施の形態では全天球パノラマ画像60)における、人物を示す人物領域の周辺の領域である。周辺の領域とは、人物領域の周辺の予め定めた範囲内の領域である。
本実施の形態では、周辺領域は、人物領域に示される人物の周辺に存在する他の物体(以下、周辺物と称する)を示す場合を説明する。詳細には、本実施の形態では、周辺領域は、人物領域に示される人物に連続して配置されている周辺物や、該人物に所定間隔を隔てて(不連続に)配置されている周辺物を示す。周辺物は、例えば、椅子、ベッド、布団、テーブル、棚、車両(自動車、自転車、台車など)である。
なお、周辺領域は、人物の周辺の物体を示す場合に限定されず、人物の周辺の風景や環境を示すものであってもよい。
第2の特定情報12Eに登録されている位置特定条件は、姿勢および周辺物に対応付けて登録されている。第2の特定情報12Eにおける位置特定条件は、対応する周辺物が周辺に配置された、対応する姿勢の人物の位置を、特定するための条件である。第2の特定情報12Eに登録されている位置特定条件は、全天球パノラマ画像60における、対応する周辺物が周囲に配置された、対応する姿勢の人物を視認したときに、該人物の位置として違和感のない位置を特定するための条件を示すことが好ましい。
図12(B)に示す例では、第2の特定情報12Eには、姿勢“立位”に対応する位置特定条件として、“人物の両足先間の中央位置”が登録されている。また、第2の特定情報12Eには、姿勢“椅座位”および周辺物“椅子”に対応する位置特定条件として、“人物領域と椅子領域との接線の中心位置”が登録されている。
また、第2の特定情報12Eには、姿勢“仰臥位”および周辺物“ベッド,布団”に対応する位置特定条件として、“人物領域の中央位置”が登録されている。
このように、第2の特定情報12Eには、姿勢および周辺物に応じた、人物の位置を特定するための位置特定条件が予め登録されている。そして、第2の特定情報12Eに登録されている位置特定条件には、姿勢および周辺物に応じて異なるものが含まれる。このため、後述する制御部12Aでは、全天球パノラマ画像60に含まれる人物の姿勢および周辺物に応じた位置を、人物の位置として特定することができる(詳細後述)。
なお、第2の特定情報12Eにおける、姿勢、周辺物、および対応する位置特定条件は、ユーザによる操作指示などによって変更可能である(詳細後述)。
次に、画像管理DB12Cのデータ構成を説明する。図13は、画像管理DB12Cのデータ構成の一例を示す模式図である。画像管理DB12Cは、撮影画像情報と、解析情報と、を管理するためのデータベースである。なお、画像管理DB12Cのデータ構成は、データベースに限定されず、テーブルなどであってもよい。
撮影画像情報は、撮影装置14の各々で撮影された全天球パノラマ画像60に関する情報である。図13に示す例では、撮影画像情報は、撮影装置14で撮影された全天球パノラマ画像60を識別するための画像IDと、画像IDによって識別される全天球パノラマ画像60と、全天球パノラマ画像60を撮影した撮影装置14を識別するための撮影装置IDと、全天球パノラマ画像60の撮影日時情報と、を含む。
サーバ装置12の制御部12Aは、撮影装置14から全天球パノラマ画像60および関連情報61を受信する毎に、受信した全天球パノラマ画像60と、関連情報61に含まれる撮影装置IDおよび撮影日時情報と、を、対応づけて画像管理DB12Cへ登録する。またこのとき、制御部12Aは、全天球パノラマ画像60に画像IDを付与し、画像管理DB12Cへ登録する。これによって、画像管理DB12Cにおける撮影画像情報が、順次更新される。
解析情報は、制御部12Aによる全天球パノラマ画像60の解析結果を示す情報である。解析情報は、制御部12Aによる後述する処理によって、画像管理DB12Cへ登録される。
解析情報は、人物領域IDと、領域情報と、姿勢と、周辺物と、人物の位置と、を含む。
人物領域IDは、対応する全天球パノラマ画像60に含まれる人物領域の各々の識別情報である。人物領域とは、全天球パノラマ画像60における人物を示す領域である。人物領域は、全天球パノラマ画像60における、人物を含む領域であればよい。具体的には、人物領域は、全天球パノラマ画像60における人物の輪郭の内側の領域であってもよいし、人物を予め定めた形状(例えば、矩形状)に囲む領域であってもよい。本実施の形態では、人物領域は、全天球パノラマ画像60における人物を個別に(1人ずつ)矩形状に囲む領域である場合を、一例として説明する。
領域情報は、対応する全天球パノラマ画像60における、対応する人物領域IDによって識別される人物領域の位置座標およびサイズを示す情報である。図13に示す例では、人物領域は、人物領域を示す矩形によって構成される4頂点の内の1つ(例えば、矩形状の人物領域の左上側の頂点)の位置座標と、第1の方向(全天球パノラマ画像60の二次元平面における1つの方向、例えば、横方向)の長さと、第1の方向に直交する第2の方向(全天球パノラマ画像60の二次元平面における、第1の方向に直交する方向、例えば、縦方向)の長さと、で表せる。
画像管理DB12Cにおける、解析情報に含まれる姿勢は、制御部12Aによって判別された、対応する人物領域IDによって識別される人物領域に含まれる人物の姿勢である。画像管理DB12Cにおける、解析情報に含まれる周辺物(周辺領域)は、制御部12Aによって特定された、該人物領域の周辺物である。
画像管理DB12Cにおける、解析情報に含まれる人物の位置は、制御部12Aによって特定された、対応する人物領域IDによって識別される人物領域に含まれる人物の、対応する全天球パノラマ画像60における位置である。画像管理DB12Cに登録される人物の位置は、全天球パノラマ画像60における位置を示す情報であればよい。本実施の形態では、画像管理DB12Cに登録される人物の位置は、全天球パノラマ画像60における人物の位置座標(x座標、y座標)を示す情報である。なお、x座標は、全天球パノラマ画像60の二次元平面における、第1の方向(例えば、横方向)の座標である。y座標は、全天球パノラマ画像60の二次元平面における、該第1の方向に直交する第2の方向(例えば、縦方向)の座標である。
図11に戻り説明を続ける。次に、サーバ装置12の制御部12Aについて説明する。制御部12Aは、サーバ装置12を制御する。制御部12Aは、CPU501、ROM502、およびRAM503などによって実現する(図9参照)。なお、制御部12Aは、回路などによって実現してもよい。
本実施の形態のサーバ装置12で実行される各種処理を実行するためのプログラムは、ROM502などに予め組み込んで提供される。
なお、本実施の形態のサーバ装置12で実行される各種処理を実行するためのプログラムは、サーバ装置12にインストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
また、本実施の形態のサーバ装置12で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態のサーバ装置12における各処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
制御部12Aは、送受信部12Kと、記憶制御部12Pと、人物領域検出部12Mと、姿勢判別部12Jと、位置特定部12Qと、変更部12Sと、周辺特定部12Rと、重畳判別部12Tと、移動体判別部12Xと、表示制御部12Vと、受付部12Wと、水平補正部12Yと、歪補正部12Zと、を備える。
送受信部12K、記憶制御部12P、人物領域検出部12M、姿勢判別部12J、位置特定部12Q、変更部12S、周辺特定部12R、重畳判別部12T、移動体判別部12X、表示制御部12V、受付部12W、水平補正部12Y、および、歪補正部12Zの一部または全ては、例えば、CPU501(図9参照)などの処理装置にプログラムを実行させること(すなわちソフトウェア)により実現してもよい。また、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、併用して実現してもよい。
送受信部12Kは、ネットワーク20を介して撮影装置14および情報処理端末18の各々とデータの送受信を行う。
例えば、送受信部12Kは、撮影装置14から、通信端末15、無線ルータ16、およびネットワーク20を介して、全天球パノラマ画像60および関連情報61を受信する。送受信部12Kは、受信した全天球パノラマ画像60および関連情報61を、記憶制御部12Pへ出力する。
また、送受信部12Kは、情報処理端末18から、解析結果取得要求を受信する。送受信部12Kは、受信した解析結果取得要求を、記憶制御部12Pへ出力する。また、送受信部12Kは、解析結果情報を、情報処理端末18へ送信する。
記憶制御部12Pは、記憶部12Bへの各種データの記憶や、記憶部12Bからの各種データの読取りなどを行う。
記憶制御部12Pは、撮影装置14から送受信部12Kを介して、全天球パノラマ画像60および関連情報61を受付けると、全天球パノラマ画像60と関連情報61とを記憶部12Bへ記憶する。詳細には、記憶制御部12Pは、受付けた全天球パノラマ画像60と、関連情報61に含まれる撮影日時情報および撮影装置IDと、を対応づけて、画像管理DB12Cへ登録する(図13参照)、また、記憶制御部12Pは、全天球パノラマ画像60に画像IDを付与し、画像管理DB12Cに対応付けて登録する。
また、記憶制御部12Pは、制御部12Aに含まれる各機能部の処理に応じて、画像管理DB12Cの更新などを行う(詳細後述)。
水平補正部12Yは、撮影装置14から受信した全天球パノラマ画像60における水平方向と、撮影環境における水平方向と、が一致するように補正する。上述したように、撮影装置14から受信した全天球パノラマ画像60が、メルカトル図法により表された全天球パノラマ画像60である場合、撮影環境における水平方向に沿った方向を長軸方向とした全天球パノラマ画像60となっていない場合がある。ここで、メルカトル図法によって表される全天球パノラマ画像60は、180°の2つの半球画像を、仮想の円筒形状物の内壁に投影することで形成される。このため、上記長軸方向とは、この円筒形状物の周方向に沿った方向である。
このため、水平補正部12Yは、撮影装置14から受信した全天球パノラマ画像60における長軸方向と、撮影環境における水平方向と、が一致するように補正する。なお、水平補正部12Yは、公知の方法を用いて、水平方向を補正すればよい。
歪補正部12Zは、全天球パノラマ画像60の歪みを補正する。上述したように、メルカトル図法によって表される全天球パノラマ画像60は、180°の2つの半球画像を、仮想円筒形状物の内壁に投影することで形成される。このため、メルカトル図法によって表される全天球パノラマ画像60の長軸方向(仮想円筒形状物の周方向に一致する方向)の両端部に近づくほど、歪みが大きくなっている。このため、歪補正部12Zは、この歪みを補正する。歪補正部12Zは、公知の方法を用いて、全天球パノラマ画像60の歪みを補正すればよい。
そして、記憶制御部12Pは、撮影装置14から受信した全天球パノラマ画像60であって、水平補正部12Yおよび歪補正部12Zで補正された全天球パノラマ画像60を、画像管理DB12Cに登録すればよい。
これにより、記憶部12Bに記憶されている全天球パノラマ画像60を利用する他の機能部は、水平補正部12Yおよび歪補正部12Zで補正された全天球パノラマ画像60を用いることができる。
なお、サーバ装置12が、撮影装置14から、三次元の立体球の内壁に半球画像を貼り付けた、球状の全天球パノラマ画像60(図5参照)を受信する場合がある。この場合、水平補正部12Yおよび歪補正部12Zは、補正を行わなくてもよい。
次に、人物領域検出部12M、姿勢判別部12J、位置特定部12Q、周辺特定部12R、重畳判別部12T、および移動体判別部12Xについて説明する。これらの人物領域検出部12M、姿勢判別部12J、位置特定部12Q、周辺特定部12R、重畳判別部12T、および移動体判別部12Xは、送受信部12Kが新たな全天球パノラマ画像60を撮影装置14から受信する毎に処理を行う。
なお、上述したように、水平補正部12Yおよび歪補正部12Zによって、全天球パノラマ画像60が補正される場合がある。この場合、人物領域検出部12M、姿勢判別部12J、位置特定部12Q、周辺特定部12R、重畳判別部12T、および移動体判別部12Xは、送受信部12Kが新たな全天球パノラマ画像60を受信するごとに、水平補正部12Yおよび歪補正部12Zによって補正された該全天球パノラマ画像60について、処理を実行する。
人物領域検出部12Mは、検出部の一例である。人物領域検出部12Mは、全天球パノラマ画像60に含まれる人物領域を検出する。人物領域の検出には、公知の方法を用いればよい。
図14は、人物領域62の検出の説明図である。
例えば、人物領域検出部12Mが、全天球パノラマ画像60Aに含まれる人物領域62を検出すると仮定する。人物領域検出部12Mは、全天球パノラマ画像60Aに含まれる人物Mを含む領域を、人物領域62として検出する。詳細には、人物領域検出部12Mは、全天球パノラマ画像60Aにおける、人物Mを示す矩形状の領域の位置座標およびサイズを特定する。図14に示す例では、人物領域62の位置座標として、人物領域62の左上の頂点(例えば、頂点(x1,y1))の座標を用いる場合を示した。また、図14に示す例では、人物領域62のサイズとして、人物領域62におけるx軸方向の長さ(w)およびy軸方向の長さ(h)を用いる場合を示した。x軸方向は、上述した長軸方向と一致する。
これによって、人物領域検出部12Mは、全天球パノラマ画像60Aにおける人物領域62を検出する。なお、全天球パノラマ画像60Aに複数の人物領域62が含まれる場合、人物領域検出部12Mは、複数の人物領域62を検出する。
そして、人物領域検出部12Mは、処理対象の全天球パノラマ画像60(図14では全天球パノラマ画像60A)の画像IDに対応づけて、検出した人物領域62の各々を示す領域情報(位置座標およびサイズ)と、人物領域IDと、を、記憶制御部12Pを介して画像管理DB12Cに登録する。なお、人物領域検出部12Mは、人物領域62の各々を識別可能な情報を、人物領域IDとして付与し、画像管理DB12Cに登録すればよい。
図11に戻り説明を続ける。姿勢判別部12Jは、人物領域検出部12Mで検出した人物領域62に示される、人物Mの姿勢を判別する。姿勢判別部12Jは、公知の画像処理を用いることで、人物Mの姿勢を判別すればよい。本実施の形態では、姿勢判別部12Jは、人物領域62に示される人物Mの姿勢として、特定情報12H(図12参照)に登録されている何れかの姿勢を判別する。
そして、特定情報12Hは、判別した姿勢を、該人物領域62の人物領域IDに対応づけて、記憶制御部12Pを介して画像管理DB12Cへ登録する(図13参照)。
なお、姿勢判別部12Jが、人物領域62に示される人物Mの姿勢を判別出来ない場合がある。このような場合、姿勢判別部12Jは、画像管理DB12Cにおける、該人物領域62の人物領域IDに対応する姿勢の欄を空欄とすればよい。
位置特定部12Qは、姿勢判別部12Jで判別した、人物領域62に示される人物Mの姿勢に基づいて、全天球パノラマ画像60における該人物Mの位置を特定する。
具体的には、位置特定部12Qは、第1の特定情報12D(図12(A)参照)における、姿勢判別部12Jによって判別された姿勢に対応する位置特定条件を読取る。そして、位置特定部12Qは、全天球パノラマ画像60における、該位置特定条件によって特定される位置を、該人物Mの位置として特定する。
詳細には、位置特定部12Qは、処理対象の全天球パノラマ画像60における、人物領域検出部12Mによって特定された人物領域62の各々について、下記処理を行う。まず、位置特定部12Qは、人物領域62に示される人物Mについて、姿勢判別部12Jによって判別された姿勢に対応する位置特定条件を、第1の特定情報12Dから読取る。
そして、位置特定部12Qは、処理対象の全天球パノラマ画像60の人物領域62における、第1の特定情報12Dから読取った位置特定条件によって特定される位置(具体的には位置座標)を、該全天球パノラマ画像60における、該人物領域62に示される人物Mの位置として特定する。
例えば、姿勢判別部12Jが、人物領域62に含まれる人物Mの姿勢として、姿勢“立位”を判別したと仮定する。この場合、位置特定部12Qは、第1の特定情報12D(図12(A)参照)における、該姿勢“立位”に対応する位置特定条件“両足先間の中央位置”を読取る。そして、位置特定部12Qは、全天球パノラマ画像60における、該人物領域62に示される人物Mの両足先間の中央位置に相当する位置座標を、該人物Mの位置として特定する。
ここで、上述したように、姿勢判別部12Jが、人物領域62に示される人物Mの姿勢を判別することができない場合がある。この場合、位置特定部12Qは、該人物領域62における所定位置を、該人物Mの位置として特定する。
所定位置は、予め設定すればよい。例えば、所定位置として、人物領域62の中心位置を予め設定する。そして、人物領域62に示される人物Mの姿勢が判別されなかった場合、位置特定部12Qは、全天球パノラマ画像60における、該人物領域62の中心位置の位置座標を、該人物Mの位置として特定すればよい。
なお、位置特定部12Qは、人物Mの姿勢および人物Mの周辺領域(本実施の形態では周辺物)に基づいて、人物Mの位置を特定してもよい。人物Mの周辺物(周辺領域)は、周辺特定部12Rによって特定される。
周辺特定部12Rは、全天球パノラマ画像60における人物領域62の周辺の周辺領域を特定する。本実施の形態では、周辺特定部12Rは、人物領域62に示される人物Mの周辺物を特定する。周辺物の特定には、公知の方法を用いればよい。例えば、周辺特定部12Rは、人物Mの周辺物として、椅子、ベッド、などを特定する。そして、位置特定部12Qは、人物Mの姿勢および人物Mの周辺物に基づいて、人物Mの位置を特定してもよい。
この場合、周辺特定部12Rは、第2の特定情報12E(図12(B)参照)を用いて、人物Mの位置を特定すればよい。
詳細には、位置特定部12Qは、処理対象の全天球パノラマ画像60における人物領域62の各々について、下記処理を行う。まず、位置特定部12Qは、人物領域62に示される人物Mについて、姿勢判別部12Jによって判別された姿勢と、周辺特定部12Rによって特定された周辺物と、に対応する位置特定条件を、第2の特定情報12Eから読取る(図12(B)参照)。
このため、この場合、位置特定部12Qは、処理対象の全天球パノラマ画像60の人物領域62における、該人物領域62に示される人物Mの姿勢および周辺物に対応する位置特定条件によって特定される位置を、該全天球パノラマ画像60における該人物Mの位置として特定する。
例えば、人物領域検出部12Mが検出した人物領域62に含まれる人物Mの姿勢として、姿勢判別部12Jが姿勢“椅座位”を判別したと仮定する。また、周辺特定部12Rが、該人物Mの周辺物として、“椅子”を特定したと仮定する。
この場合、位置特定部12Qは、第2の特定情報12E(図12(B)から、該姿勢“椅座位”および該周辺物“椅子”に対応する位置特定条件“人物領域と椅子領域との接線の中央位置”を、読取る。そして、位置特定部12Qは、全天球パノラマ画像60における、該人物領域62と該人物Mの座っている椅子を示す椅子領域との接線の中央位置に相当する位置座標を、該人物Mの位置として特定する。
図15は、人物Mの位置の特定の一例を示す説明図である。
例えば、処理対象の全天球パノラマ画像60が、図15に示す全天球パノラマ画像60Bであったと仮定する。この場合、人物領域検出部12Mは、人物M(人物M1〜人物M5)の各々の人物領域62(人物領域62A〜人物領域62E)を検出する。そして、姿勢判別部12Jが、これらの人物領域62の各々に含まれる人物Mの各々の姿勢を判別する。図15に示す例では、例えば、姿勢判別部12Jは、人物M1〜人物M5の各々の姿勢として、“立位”、“椅座位”、“しゃがむ”、“仰臥位”、および“逆立ち”、の各々を判別する。
周辺特定部12Rは、人物領域62(人物領域62A〜人物領域62E)の各々について周辺物Dを特定する。図15に示す例では、周辺特定部12Rは、人物領域62A、人物領域62C、人物領域62D、の各々については、周辺物Dを特定しない。これは、周辺物Dが特定できないためである。一方、周辺特定部12Rは、人物領域62Bについては、“椅子”を示す周辺物D2を特定し、人物領域62Eについては“ベッド”を示す周辺物D5を特定する。
そして、位置特定部12Qは、人物領域62に示される人物Mの姿勢および周辺物Dに基づいて、全天球パノラマ画像60Bにおける人物Mの位置を特定する。なお、位置特定部12Qは、人物Mの姿勢のみに基づいて、人物Mの位置を特定してもよい。
具体的には、位置特定部12Qは、人物領域62Aについては、第2の特定情報12Eに基づいて、全天球パノラマ画像60Bにおける、人物M1の姿勢“立位”に対応する位置特定条件“両足先間の中央位置”によって特定される位置P1を、該人物M1の位置P1として特定する。位置特定部12Qは、人物領域62Bについては、第2の特定情報12Eに基づいて、全天球パノラマ画像60Bにおける、人物M2の姿勢“椅座位”および周辺物D2“椅子“に対応する位置特定条件“人物領域と椅子領域との接線の中心位置”によって特定される位置P2を、人物M2の位置P2として特定する。
同様に、位置特定部12Qは、人物領域62Cについては、第2の特定情報12Eに基づいて、全天球パノラマ画像60Bにおける、人物M3の姿勢“しゃがむ”に対応する位置特定条件“両足先間の中央位置”によって特定される位置P3を、人物M3の位置P3として特定する。同様に、位置特定部12Qは、人物領域62Dについては、第2の特定情報12Eに基づいて、全天球パノラマ画像60Bにおける、人物M4の姿勢“逆立ち”に対応する位置特定条件“両手先間の中央位置”によって特定される位置P4を、人物M4の位置P4として特定する。
また、位置特定部12Qは、人物領域62Eについては、第2の特定情報12Eに基づいて、全天球パノラマ画像60Bにおける、人物M5の姿勢“仰臥位”および周辺物D5“ベッド”に対応する位置特定条件“人物領域と椅子領域との接線の中心位置”によって特定される位置P5を、人物M5の位置P5として特定する。
図11に戻り説明を続ける。そして、位置特定部12Qは、特定した人物Mの位置を、記憶制御部12Pを介して画像管理DB12Cへ登録する。詳細には、位置特定部12Qは、特定した人物Mの位置を示す位置座標を、対応する全天球パノラマ画像60の画像IDおよび人物領域IDに対応づけて、画像管理DB12Cへ登録する。
このため、画像管理DB12Cには、全天球パノラマ画像60に含まれる人物領域62の各々について、位置特定部12Qによって特定された人物Mの位置を示す位置座標が登録される。
なお、位置特定部12Qは、更に、人物領域62に示される人物M上に他の物体が重畳しているか非重畳であるかや、重畳している他の物体が移動体であるか非移動体であるかに応じて、人物Mの位置を特定してもよい。
人物Mに重畳している他の物体とは、全天球パノラマ画像60において、人物M上に重畳した状態で撮影された物体である。すなわち、人物M上に重畳している他の物体とは、人物Mの周辺物Dであって、且つ、該人物M上に重畳している周辺物Dである。
言い換えると、人物M上に重畳している他の物体とは、位置Pを特定する対象の人物M上に重畳した状態で撮影された周辺物Dである。すなわち、他の物体とは、撮影装置14の撮影位置を視点とした撮影画角において、位置Pを特定する対象の人物Mより撮影装置14に近い位置に配置され、該人物Mの一部を遮蔽する位置に配置された周辺物Dである。他の物体(周辺物D)は、例えば、他の人物、車両、棚、ベッドなどである。
この場合、位置特定部12Qは、重畳判別部12Tによる判別結果や、移動体判別部12Xによる判別結果を更に用いて、人物Mの位置を特定すればよい。
重畳判別部12Tは、全天球パノラマ画像60における人物領域62に示される人物M上に、周辺物D(すなわち、他の物体)が重畳しているか非重畳であるかを判別する。重畳判別部12Tは、公知の画像処理技術を用いて、人物M上に周辺物Dが重畳しているか、非重畳であるか、を判別すればよい。
移動体判別部12Xは、人物M上に重畳している周辺物Dが、移動体および非移動体の何れであるかを判別する。
移動体とは、人物M上に所定時間以上継続して位置していなかった物を示す。言い換えると、移動体とは、人物M上に重畳している周辺物Dの内、人物M上に所定時間以上継続して存在する物以外の周辺物Dである。例えば、移動体は、走行中の車両や、移動中の生物などである。非移動体とは、人物M上に重畳している周辺物Dの内、人物M上に所定時間以上重畳した状態が維持されている物である。
例えば、移動体判別部12Xは、処理対象の全天球パノラマ画像60と、該全天球パノラマ画像60を撮影した撮影装置14によって該全天球パノラマ画像60より前に(以前に)撮影された全天球パノラマ画像60と、を比較することで、人物M上に重畳している周辺物Dが、移動体であるか非移動体であるかを判別する。
例えば、移動体判別部12Xは、処理対象の全天球パノラマ画像60に含まれる、人物M上に重畳している周辺物Dの位置が、以前に撮影された全天球パノラマ画像60における位置と同じ位置に位置しているか否かを判別する。これによって、移動体判別部12Xは、同じ位置に位置している場合、該周辺物Dを非移動体と判別する。また、移動体判別部12Xは、異なる位置に位置している場合、該周辺物Dを移動体と判別する。なお、移動体判別部12Xは、他の方法を用いて、周辺物Dが移動体であるか非移動体であるかを判別してもよい。
そして、位置特定部12Qは、人物領域62に示される人物M上に周辺物Dが重畳していると判別され、且つ該周辺物Dが非移動体であると判別された場合、該人物領域62の所定位置を、人物Mの位置として特定する。所定位置は、予め定めればよい。例えば、該人物領域62に示される人物Mにおける、該周辺物Dから露出した露出領域内の位置を、所定位置として予め定めればよい。
また、位置特定部12Qは、人物領域62に示される人物M上に周辺物Dが重畳していると判別され、且つ該周辺物Dが移動体であると判別された場合、該人物領域62に示される人物Mの姿勢に基づいて、全天球パノラマ画像60における人物Mの位置を特定する。姿勢に基づいた位置の特定方法は、上記と同様である。
また、位置特定部12Qは、人物領域62に示される人物M上に周辺物Dが非重畳であると判別された場合、該人物Mの姿勢に基づいて、全天球パノラマ画像60における人物Mの位置を特定する。姿勢に基づいた位置の特定方法は、上記と同様である。
図を用いて詳細に説明する。図16および図17は、人物領域62に示される人物M上に重畳している周辺物Dに応じて、人物Mの位置を特定する場合の一例を示す、説明図である。
例えば、図16(B)に示す全天球パノラマ画像60Dが、処理対象の全天球パノラマ画像60であったと仮定する。この場合、人物領域検出部12Mは、例えば、人物M(人物M6、人物M7)の各々の人物領域62(人物領域62F、人物領域62G)を検出する。
そして、重畳判別部12Tは、検出した人物領域62(人物領域62F、人物領域62G)に示される人物M(人物M6、人物M7)上に、周辺物Dが重畳しているか非重畳であるかを判別する。図16(B)に示す全天球パノラマ画像60Dの場合、重畳判別部12Tは、人物M6上には周辺物Dが非重畳であることを判別する。また、重畳判別部12Tは、人物M7上に、棚を示す周辺物D7が重畳していると判別する。
そして、移動体判別部12Xは、重畳判別部12Tによって判別された、人物M7上に重畳している周辺物D7が、移動体および非移動体の何れであるかを判別する。例えば、移動体判別部12Xは、該全天球パノラマ画像60Dを撮影した撮影装置14によって、全天球パノラマ画像60Dより前に撮影された全天球パノラマ画像60C(図16(A))を、記憶部12Bの画像管理DB12Cから読取る。そして、移動体判別部12Xは、全天球パノラマ画像60Cにおける、全天球パノラマ画像60Dの周辺物D7に対応する位置に、該周辺物D7が存在するか否かを判別する。そして、移動体判別部12Xは、全天球パノラマ画像60Cにおける、全天球パノラマ画像60Dの周辺物D7に対応する位置に、該周辺物D7が存在する場合、該周辺物D7を非移動体であると判別する。
そして、位置特定部12Qは、全天球パノラマ画像60Dにおける、非移動体の周辺物D7の重畳された人物M7については、該人物M7の人物領域62G内の所定位置を、該人物M7の位置P7として特定する。詳細には、この場合、位置特定部12Qは、非移動体の棚などの周辺物D7の重畳された人物M7については、人物M7における周辺物D7から露出した露出領域における所定位置を、該人物M7の位置P7として特定する。このため、この場合、位置特定部12Qは、該人物M7の足などの、全天球パノラマ画像60Dから直接観測されない位置は、該人物M7の位置Pとして特定しない。そして、位置特定部12Qは、該人物M7における、全天球パノラマ画像60Dから直接観測される領域内の位置を、該人物M7の位置P7として特定する。
一方、全天球パノラマ画像60Dにおける人物M6上には、周辺物Dが重畳していない。このため、位置特定部12Qは、該人物M6の姿勢に基づいて、人物M6の位置P6を特定する。姿勢に基づいた位置Pの特定方法は、上記と同様である。
次に、図17を用いて説明する。例えば、図17(B)に示す全天球パノラマ画像60Fが、処理対象の全天球パノラマ画像60であったと仮定する。そして、人物領域検出部12Mが、人物M(人物M8、人物M9)の各々の人物領域62(人物領域62H、人物領域62I)を検出したと仮定する。
この場合、重畳判別部12Tは、検出した人物領域62(人物領域62H、人物領域62I)に示される人物M(人物M8、人物M9)上に、周辺物Dが重畳しているか非重畳であるかを判別する。図17(B)に示す全天球パノラマ画像60Fの場合、重畳判別部12Tは、人物M8上には周辺物Dが非重畳であることを判別する。また、重畳判別部12Tは、人物M9上に、人物M8を示す周辺物D8が重畳していると判別する。
そして、移動体判別部12Xは、重畳判別部12Tによって判別された、人物M9上に重畳している周辺物D8(人物M8)が、移動体および非移動体の何れであるかを判別する。
例えば、移動体判別部12Xは、該全天球パノラマ画像60Fを撮影した撮影装置14によって、全天球パノラマ画像60Fより前に撮影された全天球パノラマ画像60E(図17(A))を、記憶部12Bの画像管理DB12Cから読取る。そして、移動体判別部12Xは、全天球パノラマ画像60Eにおける、全天球パノラマ画像60Fの周辺物D8に対応する位置に、該周辺物D8が存在するか否かを判別する。そして、移動体判別部12Xは、全天球パノラマ画像60Eにおける、全天球パノラマ画像60Fの周辺物D8に対応する位置に、該周辺物D8が存在しない場合、該周辺物D8を移動体であると判別する。図17に示す場合、移動体判別部12Xは、全天球パノラマ画像60Eには周辺物D8(人物M8)が存在しない。このため、移動体判別部12Xは、周辺物D8(人物M8)が移動体であると判別する。
そして、位置特定部12Qは、全天球パノラマ画像60Fにおける、移動体である周辺物D8の重畳された人物M9については、該人物M9の姿勢に基づいて、全天球パノラマ画像60Fにおける人物M9の位置P9を特定する。姿勢に基づいた位置Pの特定方法は、上記と同様である。
一方、全天球パノラマ画像60Fにおける人物M8上には、周辺物Dが重畳していない。このため、位置特定部12Qは、該人物M8の姿勢に基づいて、人物M8の位置P8を特定する。姿勢に基づいた位置Pの特定方法は、上記と同様である。
図11に戻り、説明を続ける。受付部12Wは、ユーザによる入力部12Gの入力を受付ける。本実施の形態では、受付部12Wは、特定情報12Hの変更指示を入力部12Gから受付ける。なお、受付部12Wは、送受信部12Kを介して情報処理端末18から、特定情報12Hの変更指示を受付けてもよい。
例えば、表示制御部12Vは、特定情報12Hの変更を受付けるための設定画面を、表示部12Fに表示する。図18は、設定画面70の一例を示す模式図である。設定画面70は、姿勢、周辺物、人物の位置、の各々を設定するための設定欄を含む。ユーザは、設定画面70を視認しながら入力部12Gを操作することで、所望の姿勢や周辺物Dに対応する、位置特定条件を入力する。
受付部12Wは、ユーザによって入力された、姿勢、周辺物、および、位置特定条件を、特定情報12Hの変更指示として受付ける。変更部12Sは、変更指示に応じて、特定情報12Hを変更する。詳細には、変更部12Sは、変更指示に示される、姿勢、周辺物、および、位置特定条件を、対応づけて、記憶部12Bにおける特定情報12Hに登録する。これによって、記憶部12Bにおける特定情報12Hが更新される。
図11に戻り、説明を続ける。制御部12Aが上記処理を行うことによって、撮影装置14から全天球パノラマ画像60を受信する毎に、画像管理DB12Cには、該全天球パノラマ画像60が登録されると共に、該全天球パノラマ画像60に対応する解析情報(図13参照)が登録される。
次に、情報処理端末18の機能構成を説明する。情報処理端末18は、送受信部18Aと、受付部18Cと、表示制御部18Dと、記憶・読出部18Bと、記憶部18Eと、入力部18Fと、表示部18Gと、取得部18Hと、表示画像生成部18Iと、を備える。
送受信部18A、記憶・読出部18B、受付部18C、表示制御部18D、記憶部18E、取得部18H、および、表示画像生成部18Iは、データや信号を授受可能に接続されている。
受付部18Cは、入力部18Fに接続されている。受付部18Cは、ユーザによる入力部18Fの操作指示を受付ける。入力部18Fは、キーボード511やマウス512に相当する(図9参照)。表示制御部18Dは、表示部18Gへ各種画像を表示する。表示部18Gは、ディスプレイ508に相当する(図9参照)。送受信部18Aは、ネットワーク20を介してサーバ装置12と通信する。記憶部18Eは、各種データを記憶する。例えば、記憶部18Eは、情報処理端末18を操作するユーザのユーザIDを記憶する。記憶・読出部18Bは、記憶部18Eへの各種データの記憶、および記憶部18Eからの各種データの読出しを行う。
ユーザは、入力部18Fを操作することで、解析結果取得要求を入力する。
解析結果取得要求は、画像IDと、画像IDによって識別される全天球パノラマ画像60における人物Mの位置の解析結果と、表示対象の全天球パノラマ画像60の画像ID(以下、代表画像IDと称する場合がある)と、解析結果の取得要求を示す要求信号と、を含む。
例えば、ユーザは、表示部18Gを参照しながら、入力部18Fを操作することで、解析結果取得要求を入力する。
受付部18Cは、入力部18Fから解析結果取得要求を受付けると、送受信部18Aを介してサーバ装置12へ送信する。サーバ装置12の送受信部12Kは、情報処理端末18から解析結果取得要求を受付けると、記憶制御部12Pへ出力する。記憶制御部12Pは、受付けた解析結果取得要求に含まれる画像IDに対応する全天球パノラマ画像60と、該画像IDに対応する撮影日時情報と、該画像IDに対応する解析情報と、を、解析結果情報として、画像管理DB12Cから読取る(図13参照)。そして、送受信部12Kは、解析結果情報を、解析結果取得要求の送信元の情報処理端末18へ送信する。
情報処理端末18の送受信部18Aは、サーバ装置12へ送信した解析結果取得要求に対する応答として、サーバ装置12から解析結果情報を受信する。取得部18Hは、送受信部18Aから解析結果情報を取得する。すなわち、取得部18Hは、画像IDと、画像IDに対応する全天球パノラマ画像60と、該全天球パノラマ画像60に含まれる人物領域62ごとに特定された人物Mの位置Pを示す位置座標と、を取得する。
表示画像生成部18Iは、表示画像を生成する。詳細には、表示画像生成部18Iは、解析結果情報に含まれる全天球パノラマ画像60を読取る。そして、該全天球パノラマ画像60における、人物Mの位置Pを示す位置座標に、人物Mを示す描画点を描画した、表示画像を生成する。
図19は、表示画像72の一例(表示画像72A)を示す模式図である。表示画像72Aは、図15に示す全天球パノラマ画像60Bを表示部18Gに表示した状態を示す模式図である。図15を用いて説明したように、サーバ装置12の位置特定部12Qは、全天球パノラマ画像60Bに含まれる人物M1〜人物M5の各々の姿勢や周辺物Dに応じて、これらの人物Mの各々の位置P(位置P1〜位置P5)を特定する。
このため、表示画像生成部18Iは、全天球パノラマ画像60Bにおける、解析情報に含まれる人物領域IDに対応する人物Mの位置座標によって示される位置に、人物Mを示す描画点B(描画点B1〜描画点B5)を描画する。このようにして、表示画像生成部18Iは、全天球パノラマ画像60Bに含まれる人物M(人物M1〜人物M5)の各々の姿勢に基づいた位置P(位置P1〜位置P5)に、描画点B(描画点B1〜描画点B5)の各々を描画した、表示画像72Aを生成する。
そして、表示制御部18Dは、表示画像72を表示部18Gへ表示する。
ここで、表示制御部18Dが表示画像72の作成時に用いた人物Mの位置Pを示す位置座標は、位置特定部12Qが人物Mの姿勢に基づいて特定した位置Pである。このため、表示制御部18Dは、全天球パノラマ画像60内に含まれる人物Mの位置Pを精度良く表した、表示画像72を表示することができる。
なお、表示画像生成部18Iは、サーバ装置12から受信した解析結果情報に含まれる複数の全天球パノラマ画像60の内の1つを、表示対象の代表画像として特定してもよい。ユーザは、入力部18Fを操作することで、表示対象の代表画像を指定すればよい。そして、表示画像生成部18Iは、入力部18Fから受付部18Cを介して受付けた、代表画像として指定された全天球パノラマ画像60上に、描画点Bを描画すればよい。
この場合、表示画像生成部18Iは、代表画像として指定された全天球パノラマ画像60における、該全天球パノラマ画像60および他の全天球パノラマ画像60の各々に対応する人物Mの位置Pの各々に、描画点Bを描画することで、表示画像72を生成すればよい。
これによって、表示画像生成部18Iは、代表画像としての全天球パノラマ画像60上に、人物Mの滞留度合を示すヒートマップを示す描画点Bを描画した、表示画像72を生成することができる。
また、ヒートマップを示す描画点Bを描画する場合には、表示画像生成部18Iは、描画点Bの密集度に応じて描画点Bの色を調整することが好ましい。これにより、代表画像としての全天球パノラマ画像60上に、人物Mの滞留度合を示す描画点Bを描画することができる。なお、ヒートマップの作成方法には、公知の方法を用いればよい。但し、本実施の形態では、位置特定部12Qで特定した、人物Mの姿勢に基づいた位置Pを用いて、ヒートマップを作成する。このため、本実施の形態の情報処理システム10では、人物Mの滞留度合をより精度良く示すヒートマップを作成することができる。
なお、取得部18Hおよび表示画像生成部18Iを、サーバ装置12の制御部12Aに設けた構成としてもよい。すなわち、制御部12A側で、表示画像72を作成してもよい。
次に、サーバ装置12で実行する情報処理の手順を説明する。図20は、サーバ装置12の制御部12Aで実行する情報処理の手順の一例を示すフローチャートである。
まず、送受信部12Kが、撮影装置14から全天球パノラマ画像60および関連情報61を受信したか否かを判別する(ステップS100)。ステップS100で肯定判断すると(ステップS100:Yes)、ステップS102へ進む。
ステップS102では、水平補正部12Yが、ステップS100で受信した全天球パノラマ画像60の水平補正を行う(ステップS102)。次に、歪補正部12Zが、ステップS102で水平補正された全天球パノラマ画像60の歪みを補正する(ステップS104)。
そして、記憶制御部12Pは、ステップS100で受信し、ステップS102およびステップS104で補正された全天球パノラマ画像60を、画像管理DB12Cへ登録する(ステップS106)。このとき、記憶制御部12Pは、ステップS100で受信した関連情報61に含まれる撮影日時情報および撮影装置IDを、該全天球パノラマ画像60に対応づけて画像管理DB12Cへ登録する。また、記憶制御部12Pは、全天球パノラマ画像60に画像IDを付与し、対応づけて画像管理DB12Cへ登録する。
このため、ステップS100〜ステップS106の処理によって、画像管理DB12C(図13参照)には、撮影装置14から受信し、且つ水平補正および歪み補正の行われた全天球パノラマ画像60と、撮影装置IDと、画像IDと、撮影日時情報と、が対応づけて登録される。言い換えると、撮影装置14から全天球パノラマ画像60を受信する毎に、画像管理DB12Cには、新たな撮影画像情報が登録される。
次に、人物領域検出部12Mが、ステップS106で画像管理DB12Cに登録した全天球パノラマ画像60に含まれる人物領域62を検出する(ステップS108)。そして、人物領域検出部12Mは、検出した人物領域62の各々に人物領域IDを付与する。さらに、人物領域検出部12Mは、人物領域IDと、人物領域IDによって識別される人物領域62の領域情報(位置座標、サイズ)と、を、該全天球パノラマ画像60の画像IDに対応付けて画像管理DB12Cへ登録する(図13参照)。
次に、制御部12Aは、ステップS100で受信した全天球パノラマ画像60について、ステップS108で検出した人物領域62ごとに、ステップS110〜ステップS132の処理を繰返す。
詳細には、周辺特定部12Rが、人物領域62の周辺の周辺物Dを特定する(ステップS110)。次に、周辺特定部12Rが、ステップS110で周辺物Dを特定できたか否かを判断する(ステップS112)。ステップS112で否定判断すると(ステップS112:No)、後述するステップS118へ進む。ステップS112で肯定判断すると(ステップS112:Yes)、ステップS114へ進む。
ステップS114では、ステップS112で特定した周辺物Dが、処理対象の人物領域62の人物M上に重畳しているか非重畳であるか判断する(ステップS114)。人物M上に周辺物Dが非重畳であると判断した場合(ステップS114:No)、ステップS118へ進む。
一方、人物M上に周辺物Dが重畳していると判断した場合(ステップS114:Yes)、ステップS116へ進む。ステップS116では、移動体判別部12Xが、ステップS112で特定した周辺物Dが移動体であるか否かを判断する(ステップS116)。
人物M上に重畳している周辺物Dが移動体であると判断すると(ステップS116:Yes)、ステップS118へ進む。
ステップS118では、姿勢判別部12Jが人物Mの姿勢を判別する(ステップS118)。次に、姿勢判別部12Jは、人物Mの姿勢を判別することが出来たか否かを判断する(ステップS120)。人物Mの姿勢を判別することが出来た場合(ステップS120:Yes)、ステップS122へ進む。
ステップS122では、ステップS110の処理によって周辺物Dが特定出来たか否かを判断する(ステップS122)。周辺物Dが特定出来た場合(ステップS122:Yes)、ステップS124へ進む。
ステップS124では、位置特定部12Qが、人物Mの姿勢および周辺物Dから、該人物Mの位置を特定する(ステップS124)。そして、ステップS132へ進む。
一方、上記ステップS122で、周辺物Dを特定出来なかったと判断した場合(ステップS122:No)、ステップS126へ進む。ステップS126では、位置特定部12Qが、人物Mの姿勢から、人物Mの位置を特定する(ステップS126)。そして、ステップS132へ進む。
一方、ステップS120で、人物Mの姿勢を判別出来なかったと判断した場合(ステップS120:No)、ステップS128へ進む。ステップS128では、位置特定部12Qは、人物領域62における所定位置を、人物Mの位置として特定する(ステップS128)。そして、ステップS132へ進む。
さらに、上記ステップS116の判断で、人物M上に重畳している周辺物Dが非移動体であると判断した場合(ステップS116:No)、ステップS130へ進む。ステップS130では、位置特定部12Qは、人物領域62の所定位置を、人物Mの位置として特定する(ステップS130)。そして、ステップS132へ進む。
ステップS132では、記憶制御部12Pが、ステップS124〜ステップS130の処理によって特定された人物Mの位置を示す位置座標を、処理対象の全天球パノラマ画像60の画像IDおよび処理対象の人物領域62の人物領域IDに対応づけて、画像管理DB12Cへ登録する(ステップS132)。
そして、制御部12Aは、ステップS100で受信した全天球パノラマ画像60について、ステップS108で検出した人物領域62の全てについて、ステップS110〜ステップS132の処理を繰返し行うと、この繰返しを終了する。そして、本ルーチンを終了する。
一方、上記ステップS100で否定判断すると(ステップS100:No)、ステップS134へ進む。ステップS134では、受付部12Wが、特定情報12Hの変更指示を受付けたか否かを判断する(ステップS134)。
ステップS134で肯定判断すると(ステップS134:Yes)、ステップS136へ進む。ステップS136では、変更部12Sが、ステップS134で受付けた変更指示に応じて、特定情報12Hを更新する(ステップS136)。そして、本ルーチンを終了する。
一方、ステップS134で否定判断すると(ステップS134:No)、ステップS138へ進む。ステップS138では、送受信部12Kが、情報処理端末18から解析結果取得要求を受信したか否かを判断する(ステップS138)。ステップS138で肯定判断すると(ステップS138:Yes)、ステップS140へ進む。
ステップS140では、記憶制御部12Pが、画像管理DB12Cにおける、撮影画像情報および解析情報を含む解析結果情報を読取り(ステップS140)、ステップS142へ進む。ステップS142では、送受信部12Kが、ステップS140で読取った解析結果情報を、ステップS138の解析結果取得要求の送信元の情報処理端末18へ送信する(ステップS142)。そして、本ルーチンを終了する。また、ステップS138で否定判断した場合(ステップS138:No)、本ルーチンを終了する。
次に、情報処理端末18で実行する情報処理の手順の一例を説明する。図21は、情報処理端末18で実行する情報処理の手順の一例を示すフローチャートである。
まず情報処理端末18の受付部18Cが、解析結果取得要求を受付ける(ステップS200)。次に、送受信部18Aが、ステップS200で受付けた解析結果取得要求を、サーバ装置12へ送信する(ステップS202)。
次に、取得部18Hが、送受信部18Aを介してサーバ装置12から解析結果情報を取得する(ステップS204)。次に、表示画像生成部18Iが、解析結果情報に含まれる全天球パノラマ画像60における、解析情報によって示される人物Mの位置に、人物Mを示す描画点Bを描画した、表示画像72を生成する(ステップS206)。なお、上述したように、表示画像生成部18Iは、代表画像として指定された全天球パノラマ画像60上における、複数の全天球パノラマ画像60の各々に対応する人物Mの位置に描画点Bを描画することで、表示画像72を生成してもよい。
次に、表示制御部18Dは、ステップS206で生成した表示画像72を、表示部18Gへ表示する(ステップS208)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態のサーバ装置12(情報処理装置)は、人物領域検出部12M(検出部)と、姿勢判別部12Jと、位置特定部12Qと、を備える。人物領域検出部12Mは、全天球パノラマ画像60(画像)に含まれる人物領域62を検出する。姿勢判別部12Jは、人物領域62に示される人物Mの姿勢を判別する。位置特定部12Qは、姿勢に基づいて、全天球パノラマ画像60における人物Mの位置を特定する。
このように、本実施の形態のサーバ装置12では、全天球パノラマ画像60に含まれる人物領域62に示される人物Mの姿勢に基づいて、該人物Mの位置を特定する。
このため、全天球パノラマ画像60における人物領域62内の同じ位置(例えば、中央など)を、該人物領域62に示される人物Mの位置として特定する場合などに生じる、全天球パノラマ画像60を視認したときに不自然な箇所が、人物Mの位置として特定されることを抑制することができる。
なお、上述したように、サーバ装置12が処理する対象の画像は、全天球パノラマ画像60に限定されない。
従って、本実施の形態のサーバ装置12は、精度良く、画像内の人物Mの位置Pを特定することができる。
周辺特定部12Rは、全天球パノラマ画像60における人物領域62の周辺の周辺領域(例えば、周辺物D)を特定する。位置特定部12Qは、姿勢および周辺領域(例えば、周辺物D)に基づいて、全天球パノラマ画像60における人物Mの位置を特定する。
このため、サーバ装置12は、上記効果に加えて、更に精度良く、画像内の人物Mの位置Pを特定することができる。
また、位置特定部12Qは、人物領域62に示される人物Mの姿勢が判別されなかった場合、人物領域62における所定位置を、人物Mの位置Pとして特定する。
重畳判別部12Tは、全天球パノラマ画像60における人物領域62に示される人物M上に他の物体が重畳しているか非重畳であるかを判別する。移動体判別部12Xは、他の物体が移動体および非移動体の何れであるかを判別する。位置特定部12Qは、人物領域62に示される人物M上に他の物体が重畳していると判別され、且つ該他の物体が非移動体であると判別された場合、該人物領域62内の所定位置を、人物Mの位置Pとして特定する。また、位置特定部12Qは、人物領域62に示される人物M上に他の物体が重畳していると判別され、且つ該他の物体が移動体であると判別された場合、該人物領域62に示される人物Mの姿勢に基づいて、全天球パノラマ画像60における人物Mの位置を特定する。また、位置特定部12Qは、人物領域62に示される人物M上に他の物体が非重畳であると判別された場合、人物Mの姿勢に基づいて全天球パノラマ画像60における人物Mの位置を特定する。
表示画像生成部18Iは、表示対象の全天球パノラマ画像60における、位置特定部12Qによって特定された人物Mの位置Pに、描画点Bを描画した表示画像72を生成する。
位置特定部12Qは、姿勢と、人物Mの位置Pを特定するための位置特定条件と、を対応づけた第1の特定情報12D(特定情報12H)における、判別された姿勢に対応する位置特定条件によって特定される位置Pを、人物Mの位置Pとして特定する。
また、位置特定部12Qは、姿勢と、周辺領域と、人物Mの位置Pを特定するための位置特定条件と、を対応づけた第2の特定情報12E(特定情報12H)における、判別された姿勢および特定された周辺領域に対応する位置特定条件によって特定される位置Pを、人物Mの位置Pとして特定する。
受付部12Wは、特定条件情報の変更指示を受付ける。変更部12Sは、変更指示に応じて特定情報12Hを変更する。
画像は、全方位の範囲の撮影によって得られた全天球パノラマ画像60である。
水平補正部12Yは、全天球パノラマ画像60における水平方向と撮影環境における水平方向とが一致するように補正する。歪補正部12Zは、全天球パノラマ画像60の歪みを補正する。姿勢判別部12Jは、補正された画像としての全天球パノラマ画像60に含まれる人物Mの姿勢を判別する。位置特定部12Qは、全天球パノラマ画像60における人物Mの位置を特定する。
情報処理システム10は、サーバ装置12(情報処理装置)と、情報処理端末18と、を備える。情報処理端末18は、表示制御部18Dを備える。表示制御部18Dは、人物Mの位置を示す表示画像72を表示部18Gに表示する。
(第2の実施の形態)
本実施の形態では、人物領域62ごとに、人物Mの姿勢に基づいた位置(第1の位置)と、人物Mの周辺領域に基づいた位置(第2の位置)と、の各々を特定する場合を説明する。
図1は、本実施の形態の情報処理システム10Aの構成図である。なお、情報処理システム10Aは、サーバ装置12に代えてサーバ装置11を備え、情報処理端末18に代えて情報処理端末19を備えた以外は、第1の実施の形態の情報処理システム10と同様である。
また、サーバ装置11および情報処理端末19の各々のハードウェア構成は、第1の実施の形態の情報処理システム10および情報処理端末18の各々と同様である。
次に、本実施の形態の情報処理システム10Aを構成する各装置の機能について、詳細に説明する。
図22は、情報処理システム10Aにおける、サーバ装置11、撮影装置14、通信端末15、および情報処理端末19の各々の機能的構成を示す模式図である。撮影装置14、および通信端末15の構成は、第1の実施の形態と同様である。
サーバ装置11は、制御部11Aと、記憶部11Bと、表示部12Fと、入力部12Gと、を備える。記憶部11B、表示部12F、および入力部12Gと、制御部11Aと、は、データや信号を授受可能に接続されている。表示部12Fおよび入力部12Gは、第1の実施の形態と同様である。
記憶部11Bは、各種データを記憶する。記憶部11Bは、例えば、画像管理DB(データベース)11Cと、特定情報12Hと、を記憶する。記憶部11Bは、画像管理DB12Cに代えて、画像管理DB11Cを記憶した点以外は、第1の実施の形態の記憶部12Bと同様である。
画像管理DB11Cには、全天球パノラマ画像60や、解析情報などが格納される。図23は、画像管理DB11Cのデータ構成の一例を示す模式図である。画像管理DB11Cは、撮影画像情報と、解析情報と、を管理するためのデータベースである。なお、画像管理DB11Cのデータ構成は、データベースに限定されず、テーブルなどであってもよい。撮影画像情報は、第1の実施の形態の、画像管理DB12Cにおける撮影画像情報と同様である。
画像管理DB11Cにおける解析情報は、制御部11Aによる全天球パノラマ画像60の解析結果を示す情報である。本実施の形態における解析情報は、制御部11Aによる後述する処理によって、画像管理DB11Cへ登録される。
本実施の形態の解析情報は、人物領域IDと、領域情報と、姿勢と、周辺物と、第1の位置と、第2の位置と、を含む。人物領域ID、領域情報、姿勢、および周辺物は、第1の実施の形態と同様である。
第1の位置、および、第2の位置は、制御部11Aによって特定された、対応する人物領域IDによって識別される人物領域に含まれる人物の、対応する全天球パノラマ画像60における位置である。
第1の位置は、人物Mの姿勢に基づいた、人物Mの位置Pである。すなわち、本実施の形態における第1の位置は、第1の実施の形態の位置特定部12Qが特定した、人物Mの位置Pと同様である。
第2の位置は、人物Mの位置を示し、人物領域の周辺の周辺領域の変化に非依存の位置である。このため、第1の位置は、言い換えると、人物領域の周辺の周辺領域の変化に依存する可能性のある(依存しうる)位置である。一方、第2の位置は、人物Mの周辺領域が時間変化によって変化した場合であっても、変わらない位置である。
これらの第1の位置および第2の位置は、後述する制御部11Aによって特定され、画像管理DB11Cに登録される。
なお、画像管理DB11Cに登録される人物の位置(第1の位置、第2の位置)は、全天球パノラマ画像60における位置座標(x座標、y座標)で表せる。
図22に戻り説明を続ける。次に、サーバ装置11の制御部11Aについて説明する。制御部11Aは、サーバ装置11を制御する。制御部11Aは、位置特定部12Qおよび記憶制御部12Pに代えて、位置特定部11Qおよび記憶制御部11Pを備えた以外は、第1の実施の形態の制御部12Aと同様である。
位置特定部11Qは、人物領域検出部12Mで検出した人物領域62に示される人物Mの位置として、第1の位置と、第2の位置と、を特定する。位置特定部11Qは、第1の実施の形態の位置特定部12Qと同様にして、人物Mの位置を特定することで、第1の位置を特定する。
第2の位置については、位置特定部11Qは、周辺物Dに非依存の位置の特定条件を予め記憶している(非依存特定条件とする)。そして、位置特定部11Qは、人物領域検出部12Mで特定した人物領域62に示される人物Mについて、非依存特定条件によって特定される位置を、人物Mの第2の位置として特定する。
例えば、位置特定部11Qは、非依存特定条件として、“両足先間の中央位置”を予め記憶する。そして、位置特定部11Qは、人物領域検出部12Mで特定した人物領域62に示される人物Mについて、“両足先間の中央位置”に相当する位置を、人物Mの第2の位置として特定する。
これによって、位置特定部11Qは、全天球パノラマ画像60に含まれる人物領域62ごとに、特定した第1の位置と第2の位置とを含む解析情報を生成する。
記憶制御部11Pは、画像管理DB12Cに代えて、画像管理DB11Cに各種情報を登録する点以外は、第1の実施の形態の記憶制御部12Pと同様である。但し、記憶制御部11Pは、位置特定部11Qで特定した第1の位置および第2の位置を含む解析情報を、画像管理DB11Cへ記憶する。
次に、情報処理端末19の機能構成を説明する。情報処理端末19は、送受信部18Aと、受付部18Cと、表示制御部18Dと、記憶・読出部18Bと、記憶部18Eと、入力部18Fと、表示部18Gと、取得部19Hと、表示画像生成部19Iと、を備える。
情報処理端末19は、取得部18Hおよび表示画像生成部18Iに代えて、取得部19Hおよび表示画像生成部19Iを備える以外は、第1の実施の形態の情報処理端末19と同様である。
送受信部18Aは、第1の実施の形態と同様に、サーバ装置11へ送信した解析結果取得要求に対する応答として、サーバ装置11から解析結果情報を受信する。本実施の形態では、解析結果情報には、画像IDと、画像IDに対応する全天球パノラマ画像60と、該全天球パノラマ画像60に含まれる人物領域62ごとに特定された人物Mの第1の位置を示す位置座標と、第2の位置を示す位置座標と、が含まれる。
取得部19Hは、この解析結果情報を取得する。詳細には、取得部19Hは、表示対象の全天球パノラマ画像60としての代表画像と、代表画像および該代表画像に反映する対象の1または複数の全天球パノラマ画像60の各々に対応する解析情報を取得する。なお、複数の全天球パノラマ画像60の内の、何れを代表画像とするかを示す情報や、何れを該代表画像への反映対象の画像とするかを示す情報は、入力部18Fから取得してもよい。すなわち、ユーザは、複数の全天球パノラマ画像60の内、何れを表示対象とし、何れを該代表画像への人物Mの位置の反映対象とするかを入力する。そして、取得部19Hは、これらの情報を、受付部18Cを介して入力部18Fから取得してもよい。
表示画像生成部19Iは、表示画像72を生成する。本実施の形態では、表示画像生成部19Iは、第1の描画部19Jと、第2の描画部19Kと、を含む。
第1の描画部19Jは、表示対象の代表画像として指定された全天球パノラマ画像60における、該代表画像の人物領域62に特定された第1の位置に、描画点Bを描画する。
第2の描画部19Kは、表示対象の代表画像として指定された全天球パノラマ画像60における、反映対象の他の全天球パノラマ画像60の人物領域62に特定された第1の位置または第2の位置に、描画点Bを描画する。
詳細には、第2の描画部19Kは、反映対象の全天球パノラマ画像60における人物領域62の周辺の周辺領域と、代表画像としての全天球パノラマ画像60における対応する領域と、の特徴量が一致する場合、該代表画像としての全天球パノラマ画像60における、該人物領域62に特定された第1の位置に、描画点Bを描画する。
周辺領域の特徴量が一致する、とは、周辺領域の被写体が同じであることを示す。具体的には、周辺領域の特徴量が一致するとは、周辺領域の周辺物Dが同じ物であることを示す。
例えば、反映対象の全天球パノラマ画像60における、ある人物領域62の周辺物Dが椅子であり、代表画像としての全天球パノラマ画像60における対応する位置に、椅子が存在すると仮定する。この場合、第2の描画部19Kは、代表画像としての全天球パノラマ画像60における、反映対象の全天球パノラマ画像60の該人物領域62に特定された第1の位置(人物Mの姿勢に基づいた位置)に、描画点Bを描画する。
一方、第2の描画部19Kは、反映対象の全天球パノラマ画像60における人物領域62の周辺の周辺領域と、代表画像としての全天球パノラマ画像60における対応する領域と、の特徴量が不一致である場合、該代表画像としての全天球パノラマ画像60における、該人物領域62に特定された第2の位置に、描画点Bを描画する。
周辺領域の特徴量が不一致である、とは、周辺領域の被写体が異なることを示す。具体的には、周辺領域の特徴量が不一致であるとは、周辺領域の周辺物Dが異なる物であることを示す。
例えば、反映対象の全天球パノラマ画像60における、ある人物領域62の周辺物Dが椅子であり、代表画像としての全天球パノラマ画像60における対応する位置に、椅子が存在しないと仮定する。この場合、第2の描画部19Kは、代表画像としての全天球パノラマ画像60における、反映対象の全天球パノラマ画像60の該人物領域62に特定された第2の位置(人物Mの周辺領域に非依存の位置)に、描画点Bを描画する。
これによって、表示画像生成部19Iは、表示画像72を生成する。
図24は、表示画像72の説明図である。例えば、撮影装置14によって、全天球パノラマ画像60Jおよび全天球パノラマ画像60Kが得られたと仮定する(図24(A)、図24(B)参照)。
そして、位置特定部11Qによって、全天球パノラマ画像60Jに含まれる人物M(人物M10、人物M11、人物M12)の各々について、人物Mの姿勢に基づいた第1の位置として、位置P101、位置P111、位置P121が特定されたと仮定する。同様に、位置特定部11Qによって、全天球パノラマ画像60Jに含まれる人物M(人物M10、人物M11、人物M12)の各々について、人物Mの周辺物D(ここでは椅子、周辺物D10、周辺物D11、周辺物D12)に非依存の第2の位置として、位置P’101、位置P’111、位置P’121が特定されたと仮定する。
また、位置特定部11Qによって、全天球パノラマ画像60Kに含まれる人物M(人物M11)について、人物M11の姿勢に基づいた第1の位置として、位置P’112が特定されたと仮定する。同様に、位置特定部11Qによって、全天球パノラマ画像60Jに含まれる人物M(人物M11)については、周辺物が特定されなかったと仮定する。
そして、全天球パノラマ画像60Jが表示対象の代表画像として指定され、全天球パノラマ画像60Kが反映対象の画像として指定されたと仮定する。この場合、表示画像生成部19Iは、図24(C)に示す表示画像72Jを生成する。
具体的には、表示画像生成部19Iは、全天球パノラマ画像60J上における、全天球パノラマ画像60Jに含まれる人物M(人物M10、人物M11、人物M12)の各々の第1の位置(位置P101、位置P111、位置P121)に描画点Bを描画する。
また、表示画像生成部19Iは、全天球パノラマ画像60Kに含まれる人物M11の周辺物と、全天球パノラマ画像60Jにおける対応する位置の周辺物D11と、を比較する。図24に示す例では、全天球パノラマ画像60Kの人物M11には周辺物Dが存在しないが、全天球パノラマ画像60Jの人物Mには周辺物D11が存在する。この場合、表示画像生成部19Iは、反映対象の全天球パノラマ画像60Kにおける人物M11の周辺領域と、代表画像としての全天球パノラマ画像60Jにおける対応する領域との特徴量が不一致であると判断する。このため、表示画像生成部19Iは、全天球パノラマ画像60J上における、全天球パノラマ画像60Kの人物M11の第2の位置(位置P’112)に、描画点B’を描画する。これによって、表示画像生成部19Iは、図24に示す表示画像72Jを作成する。
一方、全天球パノラマ画像60Kが表示対象の代表画像として指定され、全天球パノラマ画像60Jが反映対象の画像として指定されたと仮定する。この場合、表示画像生成部19Iは、図24(D)に示す表示画像72Kを生成する。
具体的には、表示画像生成部19Iは、全天球パノラマ画像60K上における、該全天球パノラマ画像60Kに含まれる人物M(人物M11)の第1の位置(位置P112)に、描画点Bを描画する。
そして、表示画像生成部19Iは、全天球パノラマ画像60Jに含まれる人物M10の周辺物D10(椅子)と、全天球パノラマ画像60Kにおける対応する位置の周辺物D10(椅子)と、を比較する。図24に示す例では、これらの周辺物D10は一致する。この場合、表示画像生成部19Iは、反映対象の全天球パノラマ画像60Jにおける人物M10の周辺物Dと、代表画像の全天球パノラマ画像60Kにおける対応する領域との特徴量が一致すると判断する。このため、表示画像生成部19Iは、全天球パノラマ画像60K上における、全天球パノラマ画像60Jの人物M10の第1の位置(位置P101)に、描画点Bを描画する。
また、表示画像生成部19Iは、全天球パノラマ画像60Jに含まれる人物M11の周辺物D11(椅子)と、全天球パノラマ画像60Kにおける対応する位置と、を比較する。図24に示す例では、全天球パノラマ画像60Kには、周辺物D11に相当する周辺物Dが存在しない。このため、この場合、表示画像生成部19Iは、反映対象の全天球パノラマ画像60Jにおける人物M11の周辺物D11と、代表画像の全天球パノラマ画像60Kにおける対応する領域との特徴量が不一致であると判断する。このため、表示画像生成部19Iは、全天球パノラマ画像60K上における、全天球パノラマ画像60Jの人物M11の第2の位置(位置P’111)に、描画点B’を描画する。
また、表示画像生成部19Iは、全天球パノラマ画像60Jに含まれる人物M12が、全天球パノラマ画像60Kにおける対応する位置に存在しないことを判断する。この場合、表示画像生成部19Iは、全天球パノラマ画像60K上における、全天球パノラマ画像60Jの人物M12の第2の位置(位置P’121)に、描画点B’を描画する。これによって、表示画像生成部19Iは、図24(D)に示す表示画像72Jを作成する。
なお、図24には、代表画像としての全天球パノラマ画像60に反映する対象の全天球パノラマ画像60が1枚である場合を、一例として示した。しかし、代表画像としての全天球パノラマ画像60に反映する対象の全天球パノラマ画像60は、複数枚であってもよい。複数枚である場合についても、表示画像生成部19Iは、同様にして、表示画像72を生成すればよい。
また、本実施の形態では、情報処理端末19が、取得部19Hおよび表示画像生成部19Iを備えた構成である場合を説明した。しかし、サーバ装置11の制御部11Aが、取得部19Hおよび表示画像生成部19Iを備えた構成であってもよい。
次に、サーバ装置11で実行する情報処理の手順を説明する。図25は、サーバ装置11の制御部11Aで実行する情報処理の手順の一例を示すフローチャートである。
制御部11Aは、第1の実施の形態の制御部12Aが実行するステップS100〜ステップS110と同様にして、ステップS300〜ステップS308の処理を実行する。
次に、制御部11Aは、ステップS300で受信した全天球パノラマ画像60について、ステップS308で検出した人物領域62ごとに、ステップS310〜ステップS336の処理を繰返す。
詳細には、周辺特定部12Rが、人物領域62の周辺の周辺物Dを特定する(ステップS310)。次に、周辺特定部12Rが、ステップS310で周辺物Dを特定できたか否かを判断する(ステップS312)。ステップS312で否定判断すると(ステップS312:No)、後述するステップS320へ進む。ステップS312で肯定判断すると(ステップS312:Yes)、ステップS314へ進む。
ステップS314では、位置特定部11Qが、人物領域62における第2の位置を特定する(ステップS314)。次に、位置特定部11Qは、記憶制御部11Pを介して画像管理DB11Cへ、特定した第2の位置を登録する(ステップS316)。
次に、周辺特定部12Rが、ステップS310で特定した周辺物Dが、処理対象の人物領域62の人物M上に重畳しているか非重畳であるか判断する(ステップS318)。人物M上に周辺物Dが非重畳であると判断した場合(ステップS318:No)、ステップS320へ進む。
一方、人物M上に周辺物Dが重畳していると判断した場合(ステップS318:Yes)、ステップS322へ進む。ステップS322では、移動体判別部12Xが、ステップS310で特定した周辺物Dが移動体であるか否かを判断する(ステップS322)。
人物M上に重畳している周辺物Dが移動体であると判断すると(ステップS322:Yes)、ステップS320へ進む。
ステップS320では、姿勢判別部12Jが人物Mの姿勢を判別する(ステップS320)。次に、姿勢判別部12Jは、人物Mの姿勢を判別することが出来たか否かを判断する(ステップS324)。人物Mの姿勢を判別することが出来た場合(ステップS324:Yes)、ステップS326へ進む。
ステップS326では、ステップS310の処理によって周辺物Dが特定出来たか否かを判断する(ステップS326)。周辺物Dが特定出来た場合(ステップS326:Yes)、ステップS328へ進む。
ステップS328では、位置特定部11Qが、人物Mの姿勢および周辺物Dから、該人物Mの第1の位置を特定する(ステップS328)。そして、ステップS336へ進む。
一方、上記ステップS326で、周辺物Dを特定出来なかったと判断した場合(ステップS326:No)、ステップS330へ進む。ステップS330では、位置特定部11Qが、人物Mの姿勢から、人物Mの第1の位置を特定する(ステップS330)。そして、ステップS336へ進む。
一方、ステップS324で、人物Mの姿勢を判別出来なかったと判断した場合(ステップS324:No)、ステップS332へ進む。ステップS332では、位置特定部11Qは、人物領域62における所定位置を、人物Mの第1の位置として特定する(ステップS332)。そして、ステップS336へ進む。
さらに、上記ステップS322の判断で、人物M上に重畳している周辺物Dが非移動体であると判断した場合(ステップS322:No)、ステップS334へ進む。ステップS334では、位置特定部11Qは、人物領域62の所定位置を、人物Mの第1の位置として特定する(ステップS334)。そして、ステップS336へ進む。
ステップS336では、記憶制御部11Pが、ステップS328〜ステップS334の処理によって特定された人物Mの第1の位置を示す位置座標を、処理対象の全天球パノラマ画像60の画像IDおよび処理対象の人物領域62の人物領域IDに対応づけて、画像管理DB11Cへ登録する(ステップS336)。
そして、制御部11Aは、ステップS300で受信した全天球パノラマ画像60について、ステップS308で検出した人物領域62の全てについて、ステップS310〜ステップS336の処理を繰返し行うと、この繰返しを終了する。そして、本ルーチンを終了する。
一方、上記ステップS300で否定判断すると(ステップS300:No)、ステップS338へ進む。そして、制御部11Aは、第1の実施の形態の制御部12AのステップS134〜ステップS142と同様にして、ステップS338〜ステップS346の処理を実行する。そして、本ルーチンを終了する。
次に、情報処理端末19で実行する情報処理の手順の一例を説明する。図26は、情報処理端末19で実行する情報処理の手順の一例を示すフローチャートである。
まず情報処理端末19の受付部18Cが、解析結果取得要求を受付ける(ステップS400)。次に、送受信部18Aが、ステップS400で受付けた解析結果取得要求を、サーバ装置11へ送信する(ステップS402)。
次に、取得部19Hが、送受信部18Aを介してサーバ装置11から解析結果情報を取得する(ステップS404)。次に、表示画像生成部19Iの第1の描画部19Jが、表示対象の代表画像として指定された全天球パノラマ画像60における、該代表画像の人物領域62に特定された第1の位置に、描画点Bを描画する(ステップS406)。
次に、第2の描画部19Kが、表示対象の代表画像として指定された全天球パノラマ画像60における、反映対象の他の全天球パノラマ画像60の人物領域62に特定された第1の位置または第2の位置に、描画点Bまたは描画点B’を描画する(ステップS408)。これによって、表示画像生成部19Iは、表示画像72を生成する。
次に、表示制御部18Dは、生成した表示画像72を、表示部18Gへ表示する(ステップS410)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態のサーバ装置11(情報処理装置)の位置特定部11Qは、検出された人物領域62ごとに、姿勢に基づいた人物Mの位置としての第1の位置と、人物領域62の周辺の周辺領域(周辺物D)の変化に非依存の第2の位置と、を特定する。そして、位置特定部11Qは、全天球パノラマ画像60(画像)に含まれる人物領域62ごとに特定した第1の位置と第2の位置とを含む解析情報を生成する。
このため、本実施の形態のサーバ装置11は、第1の実施の形態の効果に加えて、人物Mの各々に対して、周辺領域の変化に非依存の位置(第2の位置)と、姿勢に基づいた位置(第1の位置)と、を精度良く特定することができる。
また、取得部19Hは、表示対象の画像(全天球パノラマ画像60)としての代表画像と、代表画像および該代表画像に反映する反映対象の1または複数の画像(全天球パノラマ画像60)の各々に対応する解析情報と、を取得する。表示画像生成部19Iは、第1の描画部19Jと、第2の描画部19Kと、を有する。第1の描画部19Jは、代表画像における、該代表画像の人物領域62に特定された第1の位置に、第1の描画点を描画する。第2の描画部19Kは、代表画像における、反映対象の画像(全天球パノラマ画像60)の人物領域62に特定された第1の位置または第2の位置に、描画点を描画する。そして、第2の描画部19Kは、反映対象の画像における人物領域62の周辺の周辺領域(周辺物D)と代表画像における対応する領域との特徴量が一致する場合、代表画像における、該人物領域62に特定された第1の位置に描画点を描画する。また、第2の描画部19Kは、反映対象の画像(全天球パノラマ画像60)における人物領域62の周辺の周辺領域(周辺物D)と代表画像における対応する領域との特徴量が不一致である場合、または該人物領域62が代表画像に含まれない場合、代表画像における、該人物領域62に特定された第2の位置に描画点を描画する。
なお、上記サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の各々で実行される、上記処理を実行するためのプログラムは、NV−RAMやROMやその他の不揮発性記憶媒体に予め組み込まれて提供される。また、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の各々で実行される、上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録し提供することも可能である。
また、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の各々で実行される、上記処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供または配布するように構成してもよい。
また、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の各々で実行される、上記処理を実行するためのプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
また、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の各々で実行される、上記処理を実行するためのプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が記憶媒体から該プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
なお、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19の記憶部(記憶部12B、記憶部11B、記憶部18E)に格納されている各種情報は、外部装置に格納してもよい。この場合には、該外部装置と、サーバ装置12、サーバ装置11、情報処理端末18、および情報処理端末19と、を、ネットワーク等を介して接続した構成とすればよい。
なお、上記には、本実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。