以下、本発明の実施の形態について図面を参照しながら説明する。
<画像表示システムの概略>
まず、本実施形態に係る画像表示システム100の概略的な動作について説明する。図1は、本実施形態に係る画像表示システム100の概略的な動作の一例を説明する図である。
本実施形態に係る画像表示システム100では、2台の全天球画像撮像装置60A及び60Bが設置されており、ラインLに沿って周囲を歩行する歩行者200を全天球画像撮像装置60A及び60Bが撮像する。また、歩行者200には、加速度測定装置50が身体に装着されており、歩行者200の歩行中に生じる加速度を加速度測定装置50が測定している。
(1)全天球画像撮像装置60Aは、歩行者200を撮像することにより生成した画像データAをサーバ10に送信する。同様に、全天球画像撮像装置60Bは、歩行者200を撮像することにより生成した画像データBをサーバ10に送信する。
また、加速度測定装置50は、歩行者200の歩行中に生じた加速度を測定することにより生成した測定データをサーバ10に送信する。
なお、画像データA及び画像データBの撮像開始時刻と測定データの測定開始時刻とは同期しており、画像データA及び画像データBの撮像終了時刻と測定データの測定終了時刻とは同期している。
(2)サーバ10は、画像データAと測定データの時間軸を同期させると共に、画像データBと測定データの時間軸を同期させる。そして、サーバ10は、時間に応じて、画像データA又は画像データBのいずれかを表示する表示画像データを作成する。
(3)サーバ10は、表示画像データと測定データを表示装置30に送信する。これにより、表示装置30は、表示画像データと測定データを同じ時間軸で表示することができる。なお、表示画像データとは、例えば、画像データA及び画像データBのうち、歩行者200がより大きく写っている方を表示する画像データである。
図1に示したような構成によれば、2台の全天球画像撮像装置60A及び60Bが用いられ、その周囲を歩行する歩行者200が撮像されるので、直線的に移動する歩行者200だけでなく、旋回や右折、左折等する歩行者200を撮像可能になる。歩行者200は、旋回や右折、左折等する際に重心を崩し易いことが知られている。このため、本実施形態に係る画像表示システム100では、直線的に移動する場合に加えて、旋回や右折、左折等する歩行者200の歩行動作の分析を有効に行うことができるようになる。
また、全天球画像撮像装置60A及び60Bは、カメラを移動させることなく歩行者200の側面を撮像することができるため、歩行者200の身体の前後方向の揺れ方等を撮像できる。このため、本実施形態に係る画像表示システム100によれば、歩き方の指導者等は、歩行者200の歩行動作を映像で確認及び評価して、改善点を指導することができるようになる。
また、本実施形態に係る画像表示システム100では、歩行者200の加速度等が測定された測定データが表示画像データと同じ時間軸で表示される。このため、指導者等が改善すべき歩行動作を発見した場合に、歩行動作が良好でないことを測定データで裏付けることができる。
また、本実施形態に係る画像表示システム100では、予め用意されている良好とされる測定データと、歩行者200の測定データとを比較することで、指導者等は、良好でない測定データを発見することもできる。良好でない測定データは、表示画像データと対応付けられているので、指導者等は改善すべき歩行動作を表示画像データから特定することができるようになる。
したがって、本実施形態に係る画像表示システム100を用いることで、指導者等は、測定データと表示画像データとを相補的に利用して歩行動作を評価することができるようになる。
なお、以降では、全天球画像撮像装置60A及び60Bについて、それぞれを区別しないときは、単に、「全天球画像撮像装置60」と表す。また、全天球画像撮像装置60Aが撮像することにより生成した画像データAと、全天球画像撮像装置60Bが撮像することにより生成した画像データBとをそれぞれ区別しないときは、単に「画像データ」と表す。さらに、以降では、画像データは、動画データであるものとして説明する。したがって、画像データには、1フレーム分の画像(フレーム画像)のデータであるフレームデータが複数含まれる。ただし、画像データは、動画に限られず、静止画の画像データ(静止画データ)であっても良い。
ここで、歩行者200は、歩行等の動作により、前方、後方、横方向等に移動する対象であるが、人に限られず、例えば、動物、ロボット等であっても良い。また、歩行には、走ることが含まれていても良く、後ろ向きに歩行しても良い。さらに、移動する対象は、車椅子、義足を装着した人、自転車、竹馬、三輪車等であっても良い。以降では、便宜上、移動する対象は、「歩行者200」であるものとして説明する。
また、測定データは、移動する対象の動作を評価するために用いられる情報であるが、加速度に限られず、例えば、角速度、位置、又は方位等であっても良い。
また、画像データAと測定データとが対応付けられるとは、画像データAに含まれるフレームデータAのうち、1つ以上のフレームデータAが決まると、測定データに含まれる測定値(具体的には、加速度等)のうち、1つ以上の測定値が決まることをいう。又は、ほぼ同じ時刻に撮像された画像データAに含まれるフレームデータAと、測定データに含まれる測定値とが特定された場合に、時刻、フレームデータA、又は測定値の1つが決まると残りが決まることをいう。なお、画像データBや表示画像データについても同様である。
指導者とは、歩行者200の歩行動作を映像で確認して、当該歩行動作を評価し、改善点等を立案できる者をいう。具体的には、保健師、臨床検査技師、義肢装具士等の資格の保有者が挙げられるが、資格はなくても良い。
また、歩行動作を評価し、改善点等を立案できる者でなくても、画像表示システム100の操作は可能であり、指導者は、操作者、ユーザ、又は利用者等と呼ばれても良い。
<システム構成>
次に、本実施形態に係る画像表示システム100のシステム構成について説明する。図2は、本実施形態に係る画像表示システム100のシステム構成の一例を示す図である。
本実施形態に係る画像表示システム100は、サーバ10、表示装置30、加速度測定装置50、及び全天球画像撮像装置60を有し、ネットワークNを介して相互に通信可能に接続されている。
ネットワークNは、画像表示システム100が配置されている施設等に構築されているLAN(Local Area Network)等である。ネットワークNには、インターネットや電話回線網等が含まれていても良い。また、ネットワークNは、有線又は無線のいずれで構築されていても良く、有線と無線とが組み合わされていても良い。
全天球画像撮像装置60は、全天球画像又は全方位画像(以降では、単に「全天球画像」と表す。)と呼ばれる周囲360°を撮像する撮像装置(カメラ)である。全天球画像撮像装置60は、後述する光学系を備えることで、一回の撮像動作で全天球画像を得ることができる。全天球画像には、ほぼ死角なく周囲360°の画像が撮像されているため、指導者等は任意の領域を選択的にディスプレイ等に表示させて、閲覧することができる。
なお、本実施形態において、全天球画像撮像装置60は、緯度方向(画像の上下方向)で360°の撮像範囲を有していなくても良い。天井や床等の領域には、歩行者200が写らないためである。
また、全天球画像撮像装置60は、経度方向(画像の水平方向)で360°の撮像範囲を有していなくても良い。これは、歩行者200の歩行動作を指導者等が分析するために、全天球画像撮像装置60の全周の画像までは必要ない場合があるためである。
なお、全天球画像撮像装置60として、ある画角で複数の矩形範囲をそれぞれ撮像した複数の画像を繋ぎ合わせることで全天球画像を得る撮像装置が用いられても良い。
加速度測定装置50は、歩行者200の加速度を測定して、測定した加速度を示す測定値を含む測定データを得る装置である。加速度は、鉛直方向加速度、進行方向加速度、左右方向加速度の3軸それぞれで測定されることが好適であるが、少なくとも一方向の加速度でも良い。
加速度測定装置50として加速度を測定する専用のセンサ(加速度センサ)も存在するが、加速度測定装置50は、加速度センサを有している装置であっても良い。具体的には、加速度測定装置50は、例えば、スマートフォン、携帯電話、タブレット端末、ノートPC(Personal Computer)、ウェアラブル端末(ヘッドマウントディスプレイ、サングラスや腕時計等として装着されるPC)、歩度計等であっても良い。
また、加速度測定装置50は、加速度以外にも、例えば、角速度、位置、方位等を測定する機能を有していても良い。
角速度は、例えば、ジャイロセンサを用いて測定することができる。位置は、例えば、GPS(Global Positioning System)衛星、IMES(Indoor MEssaging System)、又はビーコン等を用いて測定することができる。方位は、例えば、東西南北の方位を、例えば北を基準に検出する方位センサを用いて測定することができる。これらは、いずれも加速度と同様に、歩行者200の歩行動作の評価に用いることができる。
本実施形態では、加速度測定装置50が加速度を測定するものとして説明するが、これに限られず、加速度測定装置50は、角速度、位置、方位等、歩行動作の評価に用いられる各種の測定値を含む測定データをサーバ10に送信しても良い。
サーバ10は、全天球画像撮像装置60から受信した画像データと、加速度測定装置50から受信した測定データとの時間軸を同期させる情報処理装置である。また、サーバ10は、全天球画像撮像装置60から受信した画像データから表示画像データを作成する。なお、サーバ10の機能は、加速度測定装置50や表示装置30が有していても良い。
表示装置30は、指導者等が表示画像データと測定データとを表示させる端末装置として使用される情報処理装置である。具体的には、例えば、PC、スマートフォン、タブレット端末、携帯電話、カーナビゲーション端末、ウェアラブル端末、カメラ、電子黒板、プロジェクタ、ゲーム機、MFP(Multifunction Peripheral/Printer/Product)等である。
<ハードウェア構成>
次に、本実施形態に係るサーバ10、表示装置30、加速度測定装置50、及び全天球画像撮像装置60のハードウェア構成について説明する。
図3は、サーバ10及び表示装置30のハードウェア構成の一例を示す図である。図3に示すサーバ10及び表示装置30のハードウェア構成は、1つの筐体に配置されている例を示しているが、これに限られない。サーバ10及び表示装置30のハードウェア構成は、それぞれのハードウェアが通信可能なように、例えば、複数の筐体等に分散して配置されていても良い。なお、サーバ10及び表示装置30は、同様のハードウェア構成を有しているため、以降では、主に、サーバ10のハードウェア構成について説明する。
サーバ10は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)105、及びメディアドライブ107を有する。また、サーバ10は、ディスプレイ108、ネットワークI/F109、キーボード111、マウス112、及び光学ドライブ114を有する。これらの各ハードウェアは、それぞれがバス110で互いに接続されている。
CPU101は、HD(Hard Disk)104に記憶されている画像処理プログラムを実行して、サーバ10の全体の動作を制御する。ROM102は、IPL(Initial Program Reader)等、CPU101の駆動に用いられるプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される主記憶装置である。HD104は、不揮発性メモリを搭載した記憶装置である。
HDD105は、CPU101の制御に従ってHD104に対する各種データの読み出し又は書き込みを制御する。ディスプレイ108は、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種情報を表示する。ネットワークI/F109は、ネットワークNとのインタフェースである。なお、サーバ10のディスプレイ108が表示装置30であっても良い。
キーボード111及びマウス112は、入出力装置である。キーボード111は、文字、数値、各種指示等の入力のための複数のキーを備え、これらの複数のキーからの入力を受け付ける。マウス112は、マウスポインターの移動及び各種指示の選択や実行、処理対象の選択等を受け付ける。
メディアドライブ107は、フラッシュメモリ等の記録メディア106に対する各種データの読み出し又は書き込みを制御する。光学ドライブ114は、着脱可能な記録媒体の一例としてのCD(Compact Disc)113等に対する各種データの読み出し又は書き込みを制御する。
なお、上記の画像処理プログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルで、記録メディア106やCD113等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしても良い。画像処理プログラムは、例えば、所定のサーバ装置等からダウンロードされる形態で配布されても良い。
本実施形態に係るサーバ10及び表示装置30は、図3に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
図4は、加速度測定装置50のハードウェア構成の一例を示す図である。なお、図4では、一例として、加速度測定装置50がスマートフォンやタブレット端末である場合のハードウェア構成を示すが、加速度測定装置50のハードウェア構成は、これに限られない。
加速度測定装置50は、CPU201、ROM202、RAM203、フラッシュメモリ204、加速度・方位センサ205、ジャイロセンサ206、及びメディアドライブ207を有する。また、加速度測定装置50は、音声入力装置210、音声出力装置211、通信装置212、GPS受信装置213、ディスプレイ214、及びタッチパネル215を有する。これらの各ハードウェアは、それぞれがバス209で互いに接続されている。
CPU201は、フラッシュメモリ204に記憶されているプログラムを実行することで加速度測定装置50全体の動作を制御する。ROM202は、IPLや基本入出力プログラムを記憶している。RAM203は、CPU201がプログラムを実行する際にワークエリアとして使用される主記憶装置である。
フラッシュメモリ204は、加速度測定装置50が実行するプログラムや各種データを記憶する不揮発性の記憶装置である。なお、プログラムは、例えば、オペレーティングシステム、加速度測定装置50が実行する装置プログラム等である。
加速度・方位センサ205は、地磁気を検知する電子磁気コンパスとしての機能や3軸方向の加速度を測定する機能等を備えている。ジャイロセンサ206は、x軸、y軸、又はz軸に対して、加速度測定装置50が回転する際の角速度を検出する。なお、それぞれの軸の回転角度は、ヨー角、ピッチ角、ロール角と呼ばれる。
メディアドライブ207は、フラッシュメモリ等の記録メディア208に対するデータの読み出し又は書き込み(記憶)を制御する。
音声入力装置210は、音声を音声信号に変換するマイクである。音声出力装置211は、音声信号を音声に変換するスピーカである。通信装置212は、アンテナ212aを利用して無線通信信号により通信を行う。なお、通信装置212は、LANに接続するLANカード等であっても良い。
GPS受信装置213は、GPS衛星、又は屋内GPSとしてのIMES等によって加速度測定装置50の位置情報(例えば、緯度や経度、高度等)を検出する。
ディスプレイ214は、カーソル、メニュー、ウィンドウ、文字、又は画像等の各種情報を表示する。タッチパネル215は、ディスプレイ214上に重畳されており、指やタッチペン等による操作に対して、ディスプレイ214上におけるタッチ位置(座標)を検出する。
なお、上記の装置プログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルで、記録メディア208等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしても良い。装置プログラムは、例えば、所定のサーバ装置等からダウンロードされる形態で配布されても良い。
本実施形態に係る加速度測定装置50は、図4に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
図5は、全天球画像撮像装置60のハードウェア構成の一例を示す図である。図5では、一例として、全天球画像撮像装置60は、2つの撮像素子を使用した撮像装置であるものとして説明するが、撮像素子は3つ以上であっても良い。また、全天球画像撮像装置60は、必ずしも全天球画像を撮像するための専用の装置である必要はなく、通常のデジタルカメラやスマートフォン等に後付けの全天球画像撮像ユニットを取り付けることで、実質的に全天球画像撮像装置60と同じ機能を有するようにしても良い。
全天球画像撮像装置60は、撮像ユニット301、画像処理ユニット304、撮像制御ユニット305、マイク308、音処理ユニット309、音声出力装置319、及びCPU311を有する。また、全天球画像撮像装置60は、ROM312、SRAM(Static RAM)313、DRAM(Dynamic RAM)314、操作装置315、外部I/F316、及び通信装置317を有する。
撮像ユニット301は、各々半球画像を結像するための180°以上の画角を有する広角レンズ(いわゆる、魚眼レンズ)302a及び302bと、各広角レンズに対応させて設けられている2つの撮像素子303a及び303bとを備えている。
撮像素子303a及び303bは、それぞれ対応する広角レンズ302a又は302bによる光学像を電気信号の画像データに変換して出力する画像センサ、この画像センサの水平又は垂直同期信号や画素クロック等を生成するタイミング生成回路等を有している。また、撮像素子303a及び303bは、これらの撮像素子の動作に必要な種々のコマンドやパラメータ等が設定されるレジスタ群等を有している。なお、画像センサは、例えば、CMOS(Complementary Metal Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等が挙げられる。
撮像ユニット301の撮像素子303a及び303bは、それぞれ、画像処理ユニット304とはパラレルI/Fバスで接続されている。また、撮像ユニット301の撮像素子303a及び303bは、撮像制御ユニット305とシリアルI/Fバス(I2Cバス等)で接続されている。
画像処理ユニット304及び撮像制御ユニット305は、バス310を介してCPU311と接続されている。また、バス310には、ROM312、SRAM313、DRAM314、操作装置315、外部I/F316、通信装置317、及び電子コンパス318等も接続されている。
画像処理ユニット304は、撮像素子303a及び303bから出力される画像データをパラレルI/Fバスを通して取り込み、それぞれの画像データに対して所定の処理を施した後、これらの画像データを合成処理して、正距円筒図法の画像の画像データを作成する。
撮像制御ユニット305は、一般に、撮像制御ユニット305をマスタデバイス、撮像素子303a及び303bをスレーブデバイスとして、I2Cバスを利用して、撮像素子303a及び303bのレジスタ群にコマンド等を設定する。このとき、必要なコマンド等は、CPU311から受け取る。また、撮像制御ユニット305は、同じくI2Cバスを利用して、撮像素子303a及び303bのレジスタ群のステータスデータ等を取り込み、CPU311に送る。
また、撮像制御ユニット305は、操作装置315のシャッターボタンが押下されたタイミングで、撮像素子303a及び303bに画像データの出力を指示する。全天球画像撮像装置60によっては、ディスプレイによるプレビュー表示機能や動画表示に対応する機能を持つ場合もある。この場合は、撮像素子303a及び303bからの画像データの出力は、所定のフレームレートによって連続して行われる。
また、撮像制御ユニット305は、CPU311と協働して撮像素子303a及び303bの画像データの出力タイミングの同期をとる制御を行う。なお、本実施形態では、全天球画像撮像装置60には、表示装置が設けられていないが、表示装置が設けられていても良い。
マイク308は、音を音データに変換する。音処理ユニット309は、マイク308から出力される音データをI/Fバスを通して取り込み、音データに対して所定の処理を施して音声信号を作成する。音声出力装置319は、音声信号を音声に変換するスピーカである。
CPU311は、全天球画像撮像装置60の全体の動作を制御すると共に、必要な処理を実行する。ROM312は、CPU311のための種々のプログラムを記憶している。SRAM313及びDRAM314はワークメモリであり、CPU311で実行するプログラムや処理途中のデータ等を記憶する。特に、DRAM314は、画像処理ユニット304での処理途中の画像データや処理済みの正距円筒図法により作成された画像の画像データを記憶する。
操作装置315は、種々の操作ボタンや電源スイッチ、シャッターボタン、表示と操作の機能を兼ねたタッチパネル等である。ユーザは操作ボタンを操作することで、種々の撮像モードや撮像条件等を入力することができる。
外部I/F316は、SDカード等の外付けのメディアやPC等とのインタフェース(例えば、USB I/F等)である。また、外部I/F316は、無線、有線を問わずにネットワークインタフェースであっても良い。DRAM314に記憶された正距円筒図法により作成された画像の画像データは、この外部I/F316を介して外付けのメディアに記録されたり、必要に応じて外部I/F316を介して外部装置(例えば、PC等)に送信されたりしても良い。
通信装置317は、全天球画像撮像装置60に設けられたアンテナ317aを介して、Wi−Fi(Wireless Fidelity)、NFC、又はLTE(Long Term Evolution)等の無線技術によって外部装置と通信を行う。この通信装置317を介して、正距円筒図法により作成された画像の画像データを外部装置に送信しても良い。
電子コンパス318は、地球の磁気から全天球画像撮像装置60の方位及び傾き(Roll回転角)を算出し、方位・傾き情報を出力する。この方位・傾き情報はExifに沿った関連情報(メタデータ)であり、例えば、撮像画像の画像補正等の画像処理に利用される。なお、関連情報には、画像の撮像日時、画像データのデータ容量等も含まれる。
本実施形態に係る全天球画像撮像装置60は、図5に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
<機能構成>
次に、サーバ10、表示装置30、加速度測定装置50、及び全天球画像撮像装置60の機能構成について説明する。図6は、サーバ10、表示装置30、加速度測定装置50、及び全天球画像撮像装置60の機能ブロックの一例を示す図である。
≪サーバ10の機能構成≫
サーバ10は、通信部11、画像調整部12、加速度データ加工部13、操作入力受付部14、同期指示部15、表示画像作成部16、及び記憶・読出部19を有する。これらの各部は、図3に示されている各構成要素のいずれかが、RAM103上に展開された画像処理プログラム1010に従ったCPU101からの命令によって動作することで実現される。
また、サーバ10は、図3に示されているHD104、ROM102、及びRAM103のいずれか1つ以上によって構築される記憶部1000を有する。記憶部1000には、画像処理プログラム1010、測定データDB1001、及び画像データDB1002が記憶されている。測定データDB1001には、加速度測定装置50から送信された測定データが記憶される。画像データDB1002には、全天球画像撮像装置60から送信された画像データが記憶される。
通信部11は、CPU101からの命令、及びネットワークI/F109等によって実現され、ネットワークNを介して、加速度測定装置50、全天球画像撮像装置60、及び表示装置30と各種データの送受信を行う。
なお、以降では、サーバ10が通信部11の機能で通信する場合でも「通信部11を介して通信する」という記載を省略する場合がある。表示装置30、全天球画像撮像装置60、及び加速度測定装置50についても同様である。
画像調整部12は、CPU101からの命令等により実現され、全天球画像撮像装置60から取得した画像データと、加速度測定装置50から取得した測定データとの時間軸を同期させる。
加速度データ加工部13は、CPU101からの命令等により実現され、離散的な測定データを、例えば、滑らかに結合する等により、時間軸に対して連続的なグラフで表されるデータに変換する。
操作入力受付部14は、CPU101からの命令、キーボード111、及びマウス112等によって実現され、指導者等によるサーバ10への各種の操作や入力を受け付ける。
同期指示部15は、CPU101からの命令等により実現され、測定データと画像データとの同期に関する処理を行う。具体的には、同期指示部15は、同時期に、加速度測定装置50及び全天球画像撮像装置60に対して、それぞれ測定開始及び撮像開始を要求する。同様に、同期指示部15は、同時期に、加速度測定装置50及び全天球画像撮像装置60に対して、それぞれ測定終了及び撮像終了を要求する。また、同期指示部15は、同期のための絶対時刻を全天球画像撮像装置60及び加速度測定装置50に提供したりする。
表示画像作成部16は、CPU101からの命令等により実現され、全天球画像撮像装置60A及び60Bのそれぞれから受信した画像データA及び画像データBに基づいて、表示画像データを作成する。例えば、表示画像作成部16は、同時刻における画像データAに含まれるフレームデータAと、画像データBに含まれるフレームデータBとを比較して、フレーム画像において歩行者200がより大きく写っているフレームデータを含む表示画像データを作成する。
記憶・読出部19は、CPU101からの命令及びHDD105等により実現され、記憶部1000に各種データを記憶したり、記憶部1000に記憶されている各種データを読み出したりする処理を行う。
なお、以降では、サーバ10が記憶部1000にアクセスする場合でも「記憶・読出部19を介して読み書きする」という記載を省略する場合がある。表示装置30、全天球画像撮像装置60、及び加速度測定装置50についても同様である。
≪表示装置30の機能構成≫
表示装置30は、通信部31、表示制御部32、操作入力受付部33、画像回転部34、及び記憶・読出部39を有する。これら各部は、図3に示されている各構成要素のいずれかが、RAM103上に展開された端末プログラム3010に従ったCPU101からの命令によって動作することで実現される。なお、これら各部は、端末プログラム3010に限られず、例えば、サーバ10が送信するWebページ(HTML(HyperText Markup Language)、XML(Extensible Markup Language)、JavaScript(登録商標)等)によって実現されても良い。
また、表示装置30は、図3に示されているHD104、ROM102、及びRAM103のいずれか1つ以上によって構築される記憶部3000を有する。記憶部3000には、端末プログラム3010が記憶されている。また、記憶部3000にはサーバ10から送信された測定データと表示画像データとが記憶される。
通信部31は、CPU101からの命令、及びネットワークI/F109等によって実現され、ネットワークNを介してサーバ10と各種データの送受信を行う。
表示制御部32は、CPU101からの命令等によって実現され、サーバ10から受信した表示画像データと測定データとをディスプレイ108に表示する。
操作入力受付部33は、CPU101からの命令、キーボード111、及びマウス112等によって実現され、指導者等による表示装置30への各種の操作や入力を受け付ける。
画像回転部34は、CPU101からの命令等によって実現され、歩行者200が写っている領域がディスプレイ108に表示されるように、全天球画像である表示画像データを水平方向に回転させる(又はトリミングする)。
記憶・読出部39は、CPU101からの命令及びHDD105等により実現され、記憶部3000に各種データを記憶したり、記憶部3000に記憶された各種データを読み出したりする処理を行う。
≪加速度測定装置50の機能構成≫
加速度測定装置50は、通信部51、加速度検出部52、音出力部53、及び記憶・読出部59を有する。これら各部は、図4に示されている各構成要素のいずれかが、RAM203上に展開された装置プログラム5010に従ったCPU201からの命令によって動作することで実現される。
また、加速度測定装置50は、図4に示されているフラッシュメモリ204、ROM202及びRAM203のいずれか1つ以上によって構築される記憶部5000を有する。記憶部5000には、装置プログラム5010が記憶されている。また、記憶部5000には、加速度測定装置50が測定した加速度等の測定値を含む測定データが記憶される。
通信部51は、CPU201からの命令、及び通信装置212等によって実現され、ネットワークNを介してサーバ10と各種データの送受信を行う。
加速度検出部52は、CPU201からの命令、及び加速度・方位センサ205等によって実現され、加速度測定装置50に生じる加速度を測定する。加速度は、一定間隔又は不定期に測定され、時間と共に変化する加速度が測定値として得られる。そして、加速度検出部52は、時系列で得られた測定値を含む測定データを記憶部5000に記憶する。
音出力部53は、CPU201からの命令、及び音声出力装置211等によって実現され、例えばブザー音等の音を出力する。
記憶・読出部59は、CPU201からの命令、フラッシュメモリ204、ROM202、及びRAM203等により実現され、記憶部5000に各種データを記憶したり、記憶部5000に記憶された各種データを読み出したりする処理を行う。
≪全天球画像撮像装置60の機能構成≫
全天球画像撮像装置60は、通信部61、撮像部62、音出力部63、及び記憶・読出部69を有する。これら各部は、図5に示されている各構成要素のいずれかが、SRAM313又はDRAM314に展開された撮像プログラム6010に従ったCPU311からの命令によって動作することで実現される。
また、全天球画像撮像装置60は、図5に示されているROM312、SRAM313及びDRAM314のいずれか1つ以上によって構築される記憶部6000を有する。記憶部6000には、撮像プログラム6010が記憶されている。また、記憶部6000には、全天球画像撮像装置60により撮像された画像データが記憶される。
通信部61は、CPU311からの命令、通信装置317、及び外部I/F316等によって実現され、ネットワークNを介してサーバ10と各種データの送受信を行う。
撮像部62は、CPU311からの命令、撮像ユニット301、及び画像処理ユニット304等によって実現され、全天球画像を撮像し画像データを生成する。すなわち、撮像部62は、例えば、一定間隔又は不定期に撮像することで、撮像間隔毎のフレームデータが含まれる画像データを生成する。
音出力部63は、CPU311からの命令、及び音声出力装置319等によって実現され、例えばブザー音等の音を出力する。
なお、本実施形態では、上述したように、画像データは、動画の画像データであるものとして説明するが、これに限られず、静止画の画像データであっても良い。この場合、撮像部62は、例えば、歩行者200が歩行している間に、所定の時間の間隔毎に撮像することで、複数の画像データを生成すれば良い。
そして、撮像部62は、時系列のフレームデータが含まれる画像データを記憶部6000に記憶する。なお、撮像部62は、静止画の画像データを生成した場合には、時系列の複数の画像データを記憶部6000に記憶する。
記憶・読出部69は、CPU311からの命令、ROM312、SRAM313及びDRAM314のいずれか1つ以上によって実現され、記憶部6000に各種データを記憶したり、記憶部6000に記憶された各種データを読み出したりする処理を行う。
<歩行者200の歩行について>
ここで、全天球画像撮像装置60の周囲を歩行者200がどのように歩行するかについて説明する。図7は、歩行者200の歩行の一例を説明する図である。
図7に示すように、歩行者200は、加速度測定装置50を腰等に装着している。加速度測定装置50が装着される場所は、歩行者200の重心に近い場所であることが好ましいが、腰の他、胸、背中、胴部等に装着されても良い。また、歩行者200は、複数台の加速度測定装置50を装着していても良い。
歩行者200は、右旋回部分と、左旋回部分と、直線部分とが含まれるラインL(8の字型のラインL)に沿って、全天球画像撮像装置60A及び60Bの周囲を歩行する。このように、ラインLに沿って歩行者200が歩行することで、指導者等は、歩行者200が右に旋回して歩行している場合の歩行動作、左に旋回している場合の歩行動作、及び直進している場合の歩行動作を効率的に評価することができる。
なお、複数の歩行者200間の歩行動作の比較を容易にするため、又は歩行者200自身が歩行する経路を認識できるように、ラインL上にマーカ等が配置されていても良い。これにより、指導者等は、表示画像データを確認する際に、全天球画像撮像装置60に対する歩行者200の位置を容易に把握できる。
なお、歩行者200がラインLに沿って歩行している間、加速度測定装置50は、歩行者200の加速度を測定している。歩行者200と加速度測定装置50の相対位置は固定されているものとして、歩行者200の進行方向(前方)をx方向、左右方向をy方向、垂直方向をz方向とする。
また、歩行者200は8の字型のラインL全体を歩行しなければならないわけではなく、歩行動作の評価に適切な距離以上、歩行すれば良い。すなわち、歩行者200は、例えば、ラインLに含まれる2箇所の直線部分については、どちらか一方を歩行すれば良い。また、歩行者200は、所定の回数、8の字型のラインLを周回しても良い。
<動作手順>
次に、本実施形態に係る画像表示システム100の動作手順について説明する。
≪全体的な動作≫
図8は、画像表示システム100の全体的な動作の一例を説明するシーケンス図である。図8は、サーバ10が、加速度測定装置50及び全天球画像撮像装置60に対して、それぞれ測定開始の要求及び撮像開始の要求を行う場合のシーケンス図である。
まず、歩行動作の測定を始める際、指導者等は、歩行動作の測定を開始するための操作をサーバ10に入力する。すると、サーバ10の操作入力受付部14は、指導者等の操作を受け付ける(ステップS101)。
次に、サーバ10の同期指示部15は、操作入力受付部14により指導者等の操作を受け付けると、通信部11を介して、測定開始要求を加速度測定装置50に送信する(ステップS102)。
加速度測定装置50の音出力部53は、通信部51により測定開始要求を受信すると、ブザー音等を出力する(ステップS103)。これにより、歩行者200は、歩行を開始して良いことを知ることができる。
なお、加速度測定装置50は、例えば、「歩行を開始して下さい」等の音声メッセージ、バイブレーション機能による振動、ディスプレイ214へのメッセージの表示、ディスプレイ214の明滅等により歩行者200に歩行開始を知らせても良い。
次に、サーバ10の同期指示部15は、通信部11を介して、撮像開始要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS104及びS105)。
全天球画像撮像装置60A及び60Bの音出力部63は、通信部61により撮像開始要求を受信すると、それぞれブザー音等を出力する(ステップS106及びS107)。これにより、上記と同様に、歩行者200は、歩行を開始して良いことを知ることができる。
なお、全天球画像撮像装置60は、上記のステップS103と同様に、音声メッセージや振動等により歩行者200に歩行開始を知らせても良い。
また、全天球画像撮像装置60は、歩行者200の視野に入る場合があるので、例えば、パトランプ等を点灯させても良い。これにより、歩行者200だけでなく周囲の指導者等も、歩行者200が歩行を開始して良いことを知ることができる。
なお、ステップS103、ステップS106、及びステップS107のブザーによる通知は、いずれか1つが行われれば良い。
次に、加速度測定装置50の加速度検出部52は、加速度の測定を開始する(ステップS108)。そして、加速度測定装置50の加速度検出部52は、歩行者200が歩行している間に生じる加速度を測定して、時系列で得られた測定値を含む測定データを記憶部5000に記憶させる。
また、全天球画像撮像装置60A及び60Bの撮像部62は、それぞれ撮像を開始する(ステップS109及びS110)。そして、全天球画像撮像装置60A及び60Bの撮像部62は、それぞれ、歩行する歩行者200を撮像することで得られた画像データA及び画像データBを記憶部6000に記憶させる。
このように、加速度測定装置50及び全天球画像撮像装置60は、サーバ10からの指示により、測定データの測定開始と画像データの撮像開始とをほぼ同時に同期させることができる。
なお、ステップS102、ステップS104、及びステップS105の順序は順不同である。サーバ10は、同時期に、測定開始要求と撮像開始要求とを、それぞれ加速度測定装置50と全天球画像撮像装置60に送信すれば良い。
次に、例えば、歩行者200が十分に歩行したと指導者等が判断した場合、指導者等は、歩行動作の測定を終了する操作をサーバ10に入力する。すると、サーバ10の操作入力受付部14は、指導者等の操作を受け付ける(ステップS111)。
次に、サーバ10の同期指示部15は、操作入力受付部14により指導者等の操作を受け付けると、通信部11を介して、測定終了要求を加速度測定装置50に送信する(ステップS112)。そして、加速度測定装置50の加速度検出部52は、通信部51により測定終了要求を受信すると、加速度の測定を終了する。なお、ステップS103と同様に、測定の終了をブザー等で歩行者200等に通知しても良い。
次に、サーバ10の同期指示部15は、通信部11を介して、撮像終了要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS113及びS114)。そして、全天球画像撮像装置60の撮像部62は、通信部61により撮像終了要求を受信すると、撮像を終了する。なお、ステップS106及びステップS107と同様に、撮像の終了をブザー等で歩行者200等に通知しても良い。
このように、加速度測定装置50及び全天球画像撮像装置60は、サーバ10からの指示により、測定データの測定終了と画像データの撮像終了とをほぼ同時に同期させることができる。
なお、ステップS112、ステップS113、及びステップS114の順序は順不同である。サーバ10は、同時期に、測定終了要求と撮像終了要求とを、それぞれ加速度測定装置50と全天球画像撮像装置60に送信すれば良い。
次に、加速度測定装置50の通信部51は、記憶部5000に記憶されている測定データをサーバ10に送信する(ステップS115)。また、全天球画像撮像装置60A及び60Bの通信部61は、それぞれ記憶部6000に記憶されている画像データA及び画像Bをサーバ10に送信する(ステップS116及びS117)。
次に、サーバ10の加速度データ加工部13は、通信部11により測定データ、画像データA、及び画像データBを受信すると、測定データを測定データDB1001に、画像データA及び画像データBを画像データDB1002にそれぞれ記憶させる。そして、加速度データ加工部13は、離散的なデータである測定データを、例えば、折線グラフ等で表される連続的なデータに加工する(ステップS118)。なお、このような加工は、表示装置30が行っても良い。
次に、サーバ10の画像調整部12は、測定データと画像データAの時間軸、及び測定データと画像データBの時間軸をそれぞれ同期させる処理を行う(ステップS119)。すなわち、画像調整部12は、測定データに含まれる各測定値と、画像データAに含まれる各フレームデータAとを対応付ける。同様に、画像調整部12は、測定データに含まれる各測定値と、画像データBに含まれる各フレームデータBとを対応付ける。
ここで、測定データ及び画像データは、ほぼ同じ時間で取得されているが、測定データのデータ数(測定値の数)と、画像データのデータ数(フレームデータの数)とは異なっている場合が多い。このため、画像調整部12は、測定データと画像データとを対応付けることで時間軸を同期させる。測定開始時刻と撮像開始時刻とがほぼ同じで、測定終了時刻と撮像終了時刻とがほぼ同じなので、画像調整部12は、測定データと画像データのデータ数の比率で時間軸を同期させることができる。
例えば、測定データのデータ数が200、画像データのデータ数が400の場合、画像データに含まれる2つのフレームデータを、測定データに含まれる1つの測定値に対応付ければ良い。又は、測定時間に対する各測定値の測定時刻の比と、撮像時間に対する各フレームデータの撮像時刻の比とをそれぞれ算出し、比が最も近いフレームデータと測定値とを対応付けても良い。又は、測定開始からの経過時間と、撮像開始からの経過時間とがほぼ同じ測定値とフレームデータとを対応付けても良い。
また、後述するように、測定開始時刻、測定終了時刻、撮像開始時刻、及び撮像終了時刻の絶対時刻が得られる場合には、画像調整部12は、次のようにして、測定データと画像データとを対応付けても良い。すなわち、画像調整部12は、測定開始時刻から測定終了時刻までの時間と、撮像開始時刻から撮像終了時刻までの時間との重複部分における測定値及びフレームデータを取り出して、上記と同様の比率計算等で対応付ければ良い。
次に、サーバ10の表示画像作成部16は、画像データA及び画像データBに基づいて、表示画像データを作成する(ステップS120)。すなわち、例えば、表示画像作成部16は、同時刻における画像データAに含まれるフレームデータA及び画像データBに含まれるフレームデータBを取得する。そして、表示画像作成部16は、取得したフレームデータAにより表示されるフレーム画像Aと、フレームデータBにより表示されるフレーム画像Bとを比較して、歩行者200がより大きく写っている方のフレームデータが含まれるように表示画像データを作成する。
これにより、全天球画像撮像装置60Aと全天球画像撮像装置60Bのそれぞれで撮像された画像のうち、歩行者200がより大きく写っている方の画像を表示装置30に表示させることができるようになる。このため、指導者等は、歩行者200の歩行動作を確認し易くなる。なお、ステップS120の処理の詳細については後述する。
次に、サーバ10の通信部11は、測定データと表示画像データとを表示装置30に送信する(ステップS121及びS122)。
具体的には、例えば、指導者等は、表示装置30等を介して、サーバ10に測定データと表示画像データとを要求する。又は、指導者等は、測定データと表示画像データとを要求する操作をサーバ10に対して行って、サーバ10の操作入力受付部14がこの操作を受け付けても良い。又は、表示装置30がポーリング等により、測定データと表示画像データの有無を問い合わせて、この問い合わせに対してサーバ10が測定データと表示画像データを表示装置30に送信しても良い。
次に、表示装置30の表示制御部32は、通信部31により測定データと表示画像データとを受信すると、ディスプレイ108に測定データと表示画像データとを同じ時間軸で表示する(ステップS123)。なお、測定データと表示画像データとを表示するための処理については、後述する。
≪全体的な動作の変形例(その1)≫
ここで、画像表示システム100の全体的な動作の変形例(その1)について説明する。図9は、画像表示システム100の全体的な動作の変形例(その1)を説明するシーケンス図である。図9に示す変形例(その1)では、測定開始の契機が図8と異なる。なお、図9のステップS203〜ステップS211及びステップS214〜ステップS225は、それぞれ、図8のステップS102〜ステップS110及びステップS112〜ステップS123と同様であるため、その説明を省略する。
まず、歩行動作の測定を始める際、指導者等は、歩行動作の測定を開始するための操作を表示装置30に入力する。すると、表示装置30の操作入力受付部33は、指導者等の操作を受け付ける(ステップS201)。
次に、表示装置30の通信部31は、操作入力受付部33により指導者等の操作を受け付けると、測定開始要求をサーバ10に送信する(ステップS202)。なお、表示装置30は、例えば、HTTP(Hypertext Transfer Protocol)等でサーバ10と通信することができる。また、測定開始要求は、加速度の測定開始と歩行者200の撮像開始のうちの少なくとも一方を要求するものである。
例えば、歩行者200が十分に歩行したと指導者等が判断した場合、指導者等は、歩行動作の測定を終了する操作を表示装置30に入力する。すると、表示装置30の操作入力受付部33は、指導者等の操作を受け付ける(ステップS212)。
次に、表示装置30の通信部31は、操作入力受付部33により指導者等の操作を受け付けると、測定終了要求をサーバ10に送信する(ステップS213)。なお、測定終了要求は、加速度の測定終了と歩行者200の撮像終了のうちの少なくとも一方を要求するものである。
このように、図9に示す全体的な動作の変形例(その1)では、指導者等は、サーバ10を操作しなくても表示装置30から測定開始と測定終了をサーバ10に要求することができる。このため、指導者等が表示装置30を操作している場合は、指導者等は、サーバ10まで移動する必要なく、測定を開始することができる。
≪全体的な動作の変形例(その2)≫
次に、画像表示システム100の全体的な動作の変形例(その2)について説明する。図10は、画像表示システム100の全体的な動作の変形例(その2)を説明するシーケンス図である。図10に示す変形例(その2)では、歩行者200が歩行を開始したことを測定開始の契機とするものである。歩行者200は、例えば、指導者等の指示等により歩行を開始及び終了する。又は、ラインL上のスタート位置から歩行を開始して、ラインLを一周してスタート位置に戻ること等で歩行を終了する。なお、図10のステップS306〜ステップS310及びステップS315〜ステップ323は、それぞれ、図8のステップS108〜ステップS110及びステップS115〜ステップS123と同様であるため、その説明を省略する。
まず、加速度測定装置50の加速度検出部52は、加速度に基づいて歩行者200が歩行を開始したことを検知する(ステップS301)。
例えば、加速度検出部52は、x方向、y方向、及びz方向うちの1つ以上で閾値以上の加速度が検出されたことで、歩行者200が歩行を開始したことを検知することができる。また、例えば、加速度検出部52は、加速度を2回積分して得られる単位時間当たりの位置の変化が閾値以上になったことで、歩行者200が歩行を開始したことを検知しても良い。これら以外にも、加速度検出部52は、例えば、ジャイロセンサ206が検出する角速度や、GPS受信装置213が検出する位置、加速度・方位センサ205が検出する方位等に基づいて、歩行者200が歩行を開始したことを検知しても良い。
そして、加速度測定装置50の加速度検出部52は、歩行者200の歩行の開始を検知したことで、加速度の測定を開始する。
次に、加速度測定装置50の通信部51は、歩行開始通知をサーバ10に送信する(ステップS302)。また、加速度測定装置50の音出力部53は、歩行が開始されたことを知らせるためのブザー音等を出力する(ステップS303)。
次に、サーバ10の同期指示部15は、通信部11を介して、撮像開始要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS304及びS305)。なお、加速度測定装置50は、全天球画像撮像装置60A及び60Bに、撮像開始要求として、それぞれ歩行開始通知を送信しても良い。
加速度測定装置50の加速度検出部52は、加速度に基づいて歩行者200が歩行を停止したことを検知する(ステップS311)。
例えば、加速度検出部52は、x方向、y方向及びz方向の1つ以上で閾値以上の加速度が検出されなくなったことで、歩行者200が歩行を停止したことを検知することができる。また、例えば、加速度検出部52は、加速度を2回積分して得られる単位時間の位置の変化が閾値未満になったことで、歩行者200が歩行を停止したことを検知しても良い。これら以外にも、加速度検出部52は、例えば、ジャイロセンサ206が検出する角速度や、GPS受信装置213が検出する位置、加速度・方位センサ205が検出する方位等に基づいて、歩行者200が歩行を停止したことを検知しても良い。
そして、加速度検出部52は、歩行者200の歩行の停止を検知したことで、加速度の測定を終了する。
加速度測定装置50の通信部51は、歩行終了通知をサーバ10に送信する(ステップS312)。
次に、サーバ10の同期指示部15は、通信部11を介して、撮像終了要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS313及びS314)。なお、加速度測定装置50は、全天球画像撮像装置60A及び60Bに、撮像終了要求として、それぞれ歩行終了通知を送信しても良い。
このように、図10に示す全体的な動作の変形例(その2)では、指導者等が測定開始や測定終了等の操作を行わなくても、歩行動作の測定を開始及び終了することができる。
≪全体的な動作の変形例(その3)≫
次に、画像表示システム100の全体的な動作の変形例(その3)について説明する。図11は、画像表示システム100の全体的な動作の変形例(その3)を説明するシーケンス図である。図11に示す変形例(その3)では、絶対時刻を用いて測定データと画像データとを同期させるものである。なお、図11におけるステップS401〜ステップS403、ステップS405〜ステップS408、及びステップS411〜ステップS415は、それぞれ、図8のステップS101〜ステップS103、ステップS104〜ステップS107、及びステップS108〜ステップS112と同様であるため、その説明を省略する。また、図11におけるステップS417〜ステップS418及びステップS421〜ステップS429は、それぞれ、図8のステップS113〜ステップS114及びステップS115〜ステップS123と同様であるため、その説明を省略する。
加速度測定装置50の通信部51は、測定開始要求を受信すると、開始時刻要求をサーバ10に送信する(ステップS404)。すると、サーバ10の同期指示部15は、通信部11を介して、加速度測定装置50が測定を開始した絶対時刻(測定開始時刻)を返信する。これにより、加速度測定装置50は、測定開始時刻を得ることができる。
次に、全天球画像撮像装置60A及び60Bの通信部61は、撮像開始要求を受信すると、それぞれ、開始時刻要求をサーバ10に送信する(ステップS409及びS410)。すると、サーバ10の同期指示部15は、通信部11を介して、全天球画像撮像装置60A及び60Bが撮像を開始した絶対時刻(撮像開始時刻)を返信する。これにより、全天球画像撮像装置60A及び60Bは、それぞれ撮像開始時刻を得ることができる。
加速度測定装置50の通信部51は、測定終了要求を受信すると、終了時刻要求をサーバ10に送信する(ステップS416)。すると、サーバ10の同期指示部15は、通信部11を介して、加速度測定装置50が測定を終了した絶対時刻(測定終了時刻)を返信する。これにより、加速度測定装置50は、測定終了時刻を得ることができる。
全天球画像撮像装置60A及び60Bの通信部61は、撮像終了要求を受信すると、それぞれ、終了時刻要求をサーバ10に送信する(ステップS419及びS420)。すると、サーバ10の同期指示部15は、通信部11を介して、全天球画像撮像装置60A及び60Bが撮像を終了した絶対時刻(撮像終了時刻)を返信する。これにより、全天球画像撮像装置60A及び60Bは、それぞれ撮像終了時刻を得ることができる。
このように、図11に示す全体的な動作の変形例(その3)では、サーバ10は、測定開始時刻と測定終了時刻を加速度測定装置50に返信すると共に、撮像開始時刻と撮像終了時刻を全天球画像撮像装置60に返信する。このため、変形例(その3)では、サーバ10は、ステップS424において、測定データと画像データとを絶対時刻に基づいて対応付ける。したがって、例えば、何らかの理由で加速度の測定開始と撮像開始との間や、加速度の測定終了と撮像終了との間にタイムラグ等が発生しても、サーバ10は、測定データと画像データの時間軸を同期させることができるようになる。
≪全体的な動作の変形例(その4)≫
次に、画像表示システム100の全体的な動作の変形例(その4)について説明する。図12は、画像表示システム100の全体的な動作の変形例(その4)を説明するシーケンス図である。図12に示す変形例(その4)では、加速度測定装置50が全天球画像撮像装置60に撮像開始要求を送信すると共に、全天球画像撮像装置60からの要求に応じて、絶対時刻を返信するものである。なお、図12のステップS501〜ステップS502及びステップS508は、それぞれ、図8のステップS101〜ステップS102及びステップS103と同様であるため、その説明を省略する。また、図12のステップS509〜ステップS515及びステップS521〜ステップS529は、それぞれ、図8のステップS106〜ステップS112及びステップS115〜ステップS123と同様であるため、その説明を省略する。
加速度測定装置50の通信部51は、測定開始要求を受信すると、全天球画像撮像装置60A及び60Bにそれぞれ撮像開始要求を送信する(ステップS503及びステップS504)。
全天球画像撮像装置60A及び60Bの通信部61は、撮像開始要求を受信すると、それぞれ開始時刻要求を加速度測定装置50に送信する(ステップS505及びステップS506)。
次に、加速度測定装置50の通信部51は、開始時刻要求を受信すると、開始時刻要求をサーバ10に送信する(ステップS507)。すると、サーバ10の同期指示部15は、通信部11を介して、測定開始時刻を返信する。そして、加速度測定装置50の通信部51は、測定開始時刻を受信すると、撮像開始時刻を全天球画像撮像装置60A及び60Bにそれぞれ返信する。
なお、加速度測定装置50は、サーバ10から受信した測定開始時刻と同じ時刻を、撮像開始時刻として全天球画像撮像装置60に返信すれば良い。
なお、ステップS505及びステップS506において、加速度測定装置50が保持している時刻(現在の時刻)を撮像開始時刻として全天球画像撮像装置60に返信しても良い。加速度測定装置50は、現在の時刻から加速度の測定を開始すると共に、全天球画像撮像装置60は撮像開始時刻から撮像を開始するので、測定開始時刻と撮像開始時刻とを同期させることができる。
加速度測定装置50の通信部51は、測定終了要求を受信すると、全天球画像撮像装置60A及び60Bにそれぞれ撮像終了要求を送信する(ステップS516及びステップS517)。
全天球画像撮像装置60A及び60Bの通信部61は、撮像終了要求を受信すると、終了時刻要求を加速度測定装置50に送信する(ステップS518及びステップS519)。
次に、加速度測定装置50の通信部51は、終了時刻要求を受信すると、終了時刻要求をサーバ10に送信する(ステップS520)。すると、サーバ10の同期指示部15は、通信部11を介して、測定終了時刻を返信する。そして、加速度測定装置50の通信部51は、測定終了時刻を受信すると、撮像終了時刻を全天球画像撮像装置60A及び60Bにそれぞれ返信する。
なお、加速度測定装置50は、サーバ10から受信した測定終了時刻と同じ時刻を、撮像終了時刻として全天球画像撮像装置60に返信すれば良い。
なお、ステップS518及びステップS519において、加速度測定装置50が保持している時刻(現在の時刻)を撮像終了時刻として全天球画像撮像装置60に返信しても良い。加速度測定装置50は、現在の時刻で加速度の測定を終了すると共に、全天球画像撮像装置60は撮像終了時刻に撮像を終了するので、測定終了時刻と撮像終了時刻とを同期させることができる。
≪全体的な動作の変形例(その5)≫
次に、画像表示システム100の全体的な動作の変形例(その5)について説明する。図13は、画像表示システム100の全体的な動作の変形例(その5)を説明するシーケンス図である。図13に示す変形例(その5)では、複数台の全天球画像撮像装置60のうち、一台の全天球画像撮像装置60が、他の全天球画像撮像装置60に撮像開始を要求すると共に、加速度測定装置50に測定開始を要求するものである。なお、図13のステップS601及びステップS605は、それぞれ、図8のステップS101及び103と同様であるため、その説明を省略する。また、図13のステップS606〜ステップS611及びステップS618〜ステップS623は、それぞれ、図8のステップS106〜ステップS111及びステップS118〜ステップS123と同様であるため、その説明を省略する。
サーバ10の同期指示部15は、操作入力受付部14により指導者等の操作(歩行動作の測定を開始するための操作)を受け付けると、通信部11を介して、撮像開始要求を全天球画像撮像装置60Aに送信する(ステップS602)。なお、通信部11は、複数の全天球画像撮像装置60のうち、予め設定された一台の全天球画像撮像装置60に撮像開始要求を送信する。したがって、通信部11は、例えば、全天球画像撮像装置60Bに撮像開始要求を送信しても良い。以降では、サーバ10の通信部11は、全天球画像撮像装置60Aに撮像開始要求を送信した場合について説明する。
次に、全天球画像撮像装置60Aの通信部61は、撮像開始要求を受信すると、測定開始要求を加速度測定装置50に送信すると共に、撮像開始要求を全天球画像撮像装置60Bに送信する(ステップS603及びステップS604)。このように、複数の全天球画像撮像装置60のうちの一の全天球画像撮像装置60が撮像開始要求を受信すると、当該一の全天球画像撮像装置60は、加速度測定装置50に測定開始要求を送信すると共に、他の全天球画像撮像装置60に撮像開始要求を送信する。
サーバ10の同期指示部15は、操作入力受付部14により指導者等の操作(歩行動作の測定を終了するための操作)を受け付けると、通信部11を介して、撮像終了要求を全天球画像撮像装置60Aに送信する(ステップS612)。
次に、全天球画像撮像装置60Aの通信部61は、撮像終了要求を受信すると、測定終了要求を加速度測定装置50に送信すると共に、撮像終了要求を全天球画像撮像装置60Bに送信する(ステップS613及びステップS614)。このように、複数の全天球画像撮像装置60のうちの一の全天球画像撮像装置60が撮像終了要求を受信すると、当該一の全天球画像撮像装置60は、加速度測定装置50に測定終了要求を送信すると共に、他の全天球画像撮像装置60に撮像終了要求を送信する。
次に、加速度測定装置50の通信部51は、記憶部5000に記憶されている測定データを全天球画像撮像装置60Aに送信する(ステップS615)。また、全天球画像撮像装置60Bの通信部61は、記憶部6000に記憶されている画像データBを全天球画像撮像装置60Aに送信する(ステップS616)。
次に、全天球画像撮像装置60Aの通信部51は、加速度測定装置50及び全天球画像撮像装置60からそれぞれ受信した測定データ及び画像データBを、記憶部6000に記憶されている画像データAと共に、サーバ10に送信する(ステップS617)。
このように、図13に示す全体的な動作の変形例(その5)では、1台の全天球画像撮像装置60が中継して、加速度測定装置50や他の全天球画像撮像装置60に開始要求を送信する。このため、例えば、加速度測定装置50や他の全天球画像撮像装置60等がネットワークNに接続されていない場合に、1台の全天球画像撮像装置60により、Bluetooth(登録商標)等の近距離無線通信を用いて、開始要求を送信することができる。
≪表示画像の作成処理≫
次に、図8のステップS120等の表示画像の作成処理について説明する。図14は、表示画像作成処理の一例を説明するフローチャートである。ここで、以降では、全天球画像撮像装置60により生成された画像データには、時刻t=tn(n=1,2,・・・,N)毎に、N個のフレームデータが含まれているものとする。なお、Δtn=tn−tn−1(n=2,3,・・・,N)は、撮像間隔である。
まず、表示画像作成部16は、時刻t=tn(n=2)とする(ステップS701)。
次に、表示画像作成部16は、画像データA及び画像データBのそれぞれから時刻tのフレームデータA及びフレームデータBを取得する(ステップS702)。
次に、表示画像作成部16は、フレームデータA及びフレームデータBのそれぞれについて、1つ前のフレームデータ(すなわち、時刻t=tn−1のフレームデータ)との差分から歩行者200が写っている矩形領域を特定する(ステップS703)。
ここで、歩行者200が写っている矩形領域の特定について、図15を用いて説明する。図15は、歩行者200が写っている矩形領域の特定の一例を模式的に説明する図である。
まず、図15(a)では、t=tnのフレームデータが表示するフレーム画像181と、t=tn−1のフレームデータが表示するフレーム画像182(すなわち、フレーム画像181の直前のフレーム画像)とが表示されている。なお、例えば、フレームレートが30fpsであれば、フレーム画像181と、その直前のフレーム画像182との間に、約33(ミリ秒)の間隔がある。
なお、フレーム画像181と、その直前のフレーム画像182でなく、フレーム画像181に対して、数フレーム前のフレーム画像をフレーム画像182としても良い。
表示画像作成部16は、フレーム画像181と、その直前のフレーム画像182の差分を算出する。差分とは、フレーム画像181とフレーム画像182との同じ位置の画素の画素値を引き算することをいう。なお、全く同じ被写体が映っていても(動体がなくても)蛍光灯の点滅、遠方の人の動き、影の変化等により差分がゼロにならない場合があるので、差分が閾値未満の場合はゼロと見なす。
図15(b)は、差分画像の一例である。図15(b)では、差分が閾値以上の画素が白画素に置き換えられている。したがって、フレーム画像181と直前のフレーム画像182とを比較すると、白画素に重なるように歩行者200が存在する可能性が高いといえる。
次に、図15(c)に示すように、表示画像作成部16は、白画素に画素膨張処理を複数回実行する。画素膨張処理とは、白画素に接した8画素(又は上下左右に隣接した4画素)を白画素に置き換える処理である。複数回の画素膨張処理により白画素に接した画素が辿られるため、回数が増える毎に白画素が膨張するように見える。
なお、複数回とは、例えば、8回や10回等、予め決められた数であり、実験的に好適値が定められている。又は、白画素の面積が一定以上になった場合に、画素膨張処理を止めても良い。
画素膨張処理を複数回実行することで、フレーム画像181と直前のフレーム画像182との差分を算出した直後では点在していた白画素が、大きさを持った塊になる。歩行者200の場合は差分画像が縦長なので、画素膨張処理により白画素は縦方向に大きくなり、動体よりもやや大きな(歩行者200よりやや大きい範囲)を特定できる。
次に、図15(d)に示すように、白画素が連続する領域の外接矩形を矩形領域601として特定する。これにより、歩行者200が写っている矩形領域601が特定される。なお、全天球画像撮像装置60の周囲には歩行者200以外の動体が存在する可能性があるため、複数の矩形領域601が検出された場合は、例えば、矩形領域601のうち、面積が最も大きい矩形領域601を歩行者200が写っているものとすれば良い。
図14に戻る。表示画像作成部16は、フレームデータA及びフレームデータBのうち、上記のステップS703で特定された矩形領域が大きい(すなわち、面積が大きい)方のフレームデータを、表示フレームデータとする(ステップS704)。すなわち、表示画像作成部16は、上記のステップS703で特定された矩形領域が大きい方のフレームデータを、表示画像データにおける時刻t=tnのフレーム画像を表示するフレームデータ(表示フレームデータ)とする。
次に、表示画像作成部16は、nがN未満であるか否かを判定する(ステップS705)。そして、表示画像作成部16は、nがN未満である場合、nに1を加算して(ステップS706)、ステップS702に戻る。このように、表示画像作成部16は、n=2〜Nに対して、フレームデータA及びフレームデータBのうち、歩行者200が大きく写っているフレームデータを、時刻t=tnの表示フレームデータとする。
一方、表示画像作成部16は、nがN未満でない場合、各時刻t=tn(n=1,2,・・・,N)の表示フレームデータを含む表示画像データを作成する(ステップS707)。表示画像作成部16は、このように表示画像データを作成することで、フレームデータA及びフレームデータBのうち、歩行者200が大きく写っているフレームデータを表示フレームデータとした表示画像データを作成することができる。なお、n=1については、表示画像作成部16は、n=2のときに表示フレームデータとしたフレームデータの直前のフレームデータを表示フレームデータとすれば良い。
なお、例えば、表示装置30においてストリーミング等により表示画像データを再生する場合には、サーバ10は、上記のステップS704の処理が実行された後に、表示フレームデータを表示装置30に送信すれば良い。
≪表示画像の作成処理の変形例≫
次に、図8のステップS120等の表示画像の作成処理の変形例について説明する。図16は、表示画像作成処理の変形例を説明するフローチャートである。図16に示す表示画像作成処理の変形例では、直後のフレームデータにおける歩行者200の矩形領域の大きさにも基づいて表示フレームデータを決めるものである。これにより、表示画像作成部16は、歩行者200が近付いている方向にある全天球画像撮像装置60により撮像された画像データを表示することができる。言い換えれば、表示画像作成部16は、歩行者200の正面が撮像された画像データを表示することができる。
まず、表示画像作成部16は、時刻t=tn(n=2)とする(ステップS801)。
次に、表示画像作成部16は、画像データA及び画像データBのそれぞれから時刻t=tn(n=2)のフレームデータA及びフレームデータBを取得する(ステップS802)。
次に、表示画像作成部16は、フレームデータA及びフレームデータBのそれぞれについて、1つ前のフレームデータ(すなわち、時刻t=tn−1のフレームデータ)との差分から歩行者200が写っている矩形領域を特定する(ステップS803)。これは、図14のステップS703と同様の方法で矩形領域を特定すれば良い。
次に、表示画像作成部16は、フレームデータA及びフレームデータBのうち、上記のステップS803で特定された矩形領域が大きい(すなわち、面積が大きい)方のフレームデータを、時刻t=tn(n=2)の表示フレームデータとする(ステップS804)。
次に、表示画像作成部16は、nがN未満であるか否かを判定する(ステップS805)。そして、表示画像作成部16は、nがN未満である場合、ステップS806〜ステップS810を行う。
すなわち、まず、表示画像作成部16は、表示フレームデータとしたフレームデータと、当該フレームデータが含まれる画像データにおける直後のフレームデータ(すなわち、時刻t=tn+1のフレームデータ)との矩形領域を比較する(ステップS806)。例えば、時刻t=tnの表示フレームデータがフレームデータAである場合、表示画像作成部は、当該フレームデータAと、時刻t=tn+1のフレームデータAとで、歩行者200が写っている矩形領域の大きさを比較する。なお、矩形領域の特定方法は、図14のステップS703と同様の方法を用いれば良い。
次に、表示画像作成部16は、時刻t=tn+1のフレームデータの矩形領域の方が小さいか否かを判定する(ステップS807)。そして、表示画像作成部16は、時刻t=tn+1のフレームデータの矩形領域の方が小さいと判定した場合、画像データを切り替えて、切り替えた画像データにおける時刻t=tn+1のフレームデータを表示フレームデータとする(ステップS808)。
例えば、時刻t=tnの表示フレームデータがフレームデータAである場合、表示画像作成部16は、画像データAから画像データBに切り替えて、画像データBにおける時刻t=tn+1のフレームデータBを、時刻t=tn+1の表示フレームデータとする。
一方、表示画像作成部16は、時刻t=tn+1のフレームデータの矩形領域の方が小さいと判定しなかった場合、当該フレームデータを表示フレームデータとする(ステップS809)。
例えば、時刻t=tnの表示フレームデータがフレームデータAである場合、表示画像作成部16は、画像データAにおける時刻t=tn+1のフレームデータを、表示画像データにおける時刻t=tn+1の時刻表示フレームデータとする。
このように、表示画像作成部16は、表示フレームデータとしたフレームデータが含まれる画像データにおける次のフレームデータにおいて、歩行者200の矩形領域が小さくなったか否かを判定する。そして、表示画像作成部16は、当該矩形領域が小さくなった場合に、画像データを他の画像データに切り替える。これにより、歩行者200が全天球画像撮像装置60から離れていく方向に移動している場合に、他の画像データに切り替えて表示することができる。言い換えれば、歩行者200が近付いていく方向にある全天球画像撮像装置60により撮像された画像データを表示することができる。
次に、表示画像作成部16は、nに1を加算して(ステップS810)、ステップS805に戻る。
また、表示画像作成部16は、ステップS805においてnがN未満でない場合、表示フレームデータとしたフレームデータが含まれる画像データにおける時刻t=tnのフレームデータを表示フレームデータとする(ステップS811)。
そして、表示画像作成部16は、表示フレームデータを含む表示画像データを作成する(ステップS812)。このように表示画像データを作成することで、フレームデータA及びフレームデータBのうち、歩行者200が正面を向いているフレームデータを表示フレームデータとした表示画像データを作成することができる。したがって、例えば、指導者等は、歩行者200の歩行を容易に確認及び評価することができるようになる。
なお、n=1については、表示画像作成部16は、n=2のときに表示フレームデータとしたフレームデータの直前のフレームデータを表示フレームデータとすれば良い。
なお、図8のステップS807では、表示画像作成部16は、時刻t=tn+1のフレームデータの矩形領域の方が小さいか否かを判定したが、当該矩形領域の方が大きいか否かを判定しても良い。そして、表示画像作成部16は、当該矩形領域の方が大きい場合に、当該フレームデータを表示フレームデータとしても良い。
<歩行者200の歩行の他の例について>
ここで、歩行者200の歩行の他の例について説明する。図17は、歩行者200の歩行の他の例を説明する図である。
図17(a)に示すように、歩行者200は、全天球画像撮像装置60A及び60Bの周囲を、楕円状のラインLに沿って歩行しても良い。このような歩行により、指導者等は、歩行者200が大きく旋回するような歩行の歩行動作を評価することができる。
また、図17(b)に示すように、歩行者200は、全天球画像撮像装置60A及び60Bの周囲を、2つの菱形状のラインLに沿って歩行しても良い。このような歩行により、指導者等は、歩行者200が直角に曲がる(右折や左折)歩行の歩行動作を評価することができる。
<表示画像データと測定データの表示>
次に、表示画像データと測定データの表示例について説明する。図18は、表示装置30に表示された表示画像データと測定データの一例を示す図である。
図18に示すデータ表示画面501は、主に、画像データ欄502と、測定データ欄503とを有する。表示制御部32は、画像データ欄502に表示画像データを表示し、測定データ欄503に測定データを表示する。
このとき、表示制御部32は、表示画像データから歩行者200の撮像範囲を取り出して、画像データ欄502に表示する。この処理については、後述する。
まず、画像データ欄502について説明する。指導者等がボタン504を押下すると、操作入力受付部33が当該押下操作を受け付ける。そして、表示制御部32は、フレームレート(fps)と同じ再生速度で表示画像データを動画として再生する。なお、高速再生や低速再生等が可能であっても良い。
指導者等が、再度、ボタン504を押下すると、操作入力受付部33は、当該押下操作を受け付ける。そして、表示制御部32は、表示画像データの再生を停止させる。このように、指導者等は、任意のタイミングの表示画像データを表示することができる。なお、表示画像データだけでなく、画像データAや画像データBと共に集音された音声を出力しても良い。
なお、表示画像データが静止画の場合、指導者等がボタン504を押下すると、表示制御部32は、次の表示画像データを画像データ欄502に表示する。同様に、ボタン操作により、表示制御部32は、前の表示画像データを画像データ欄502に表示することができる。また、表示制御部32は、表示画像データを所定の時間間隔で次々に画像データ欄502に表示しても良い。
次に、測定データ欄503について説明する。図18では、x方向、y方向、及びz方向のそれぞれの加速度が時系列で表示されている。図18において、x方向、y方向、又はz方向のうち、指導者等の操作により、任意の1つ以上の方向の加速度を表示させても良い。なお、測定データは、連続的に表示されているが、例えば、表示画像データが静止画である場合には、全天球画像撮像装置60が画像を撮像したタイミングで加速度測定装置50により測定された加速度を表示しても良い。
表示制御部32は、測定データに含まれる測定値の全てが測定データ欄503に表示されるように測定データを変倍して測定データ欄503に表示する。なお、表示制御部32は、ある程度の時間分の測定値を測定データ欄503に表示し、所定の時間ごとに切り替えても良い。
図18(a)のように、表示制御部32は、画像データ欄502に表示されているフレーム画像の表示フレームデータに対応付けられている測定値を指し示すバー505を測定データ欄503に表示させる。例えば、測定データ欄503に全体又はある時間分の測定値が表示されており、表示画像データが再生されている場合、表示制御部32は、表示中のフレーム画像の表示フレームデータに対応付けられている測定値にバー505を重畳させる。
したがって、表示制御部32は、時間の経過と共に、又は動画の再生が進むにつれて、バー505を測定データ欄503において右方向に移動させる。なお、指導者等がバー505を移動させると操作入力受付部33が操作を受け付けて、移動後のバー505が指し示す測定値に対応付けられている表示フレームデータのフレーム画像を、表示制御部32が画像データ欄502に表示させても良い。
また、図18(b)のように、画像データ欄502に表示されているフレーム画像の表示フレームデータに対応付けられている測定値と、その前後の測定値とが測定データ欄503に表示される。測定データ欄503には、例えば、1秒〜数秒程度の間隔の測定値だけが同時に表示される。なお、破線の測定データは、測定データが連続していることを示すもので画面には表示されない。
図18(b)の場合、動画や静止画の進行に応じて、表示制御部32は、画像データ欄502に表示されているフレーム画像の表示フレームデータと対応付けられている測定値を測定データ欄503の中央に表示する。サーバ10により表示画像データと測定データとは対応付けられているので、表示制御部32は、画像データ欄502に表示されているフレーム画像の表示フレームデータに対応付けられている測定値を少なくとも測定データ欄503に表示することができる。また、表示制御部32は、画像データ欄502の動画や静止画が停止されると、測定データの表示も停止する。
≪測定データの評価について≫
ここで、測定データが加速度の場合、一般的な歩き方ではピークが周期的に現れると共に、ピークの高さもあまり変動しない。これに対して、年齢やケガ等で歩行機能が衰えたりすると、加速度のピークが周期的に現れなくなったり、ピークの高さも変動し易くなる。
このため、指導者等は、表示画像データを見るだけでも歩行動作を評価できる場合があるが、さらに、歩行動作が適切でないことを測定データにより裏付けることができる。また、指導者等は、測定データに乱れがある場所を特定して、表示画像データで確認したりすることができる。なお、表示画像データはある瞬間のフレーム画像しか表示されないが、測定データには一覧性があるため、指導者等は、適切でない歩行動作が表示されるフレーム画像を、測定データに基づいて短時間で探すことができる。
また、本実施形態では、加速度を例にして説明しているが、ジャイロセンサ206により検出した角速度、GPS受信装置213等が検出した位置、加速度・方位センサ205が検出する方位等を用いて、歩行動作が適切かどうかの評価を行うことも可能である。
例えば、ジャイロセンサ206が検出した角速度により、歩行者200が歩行する際のヨー角、ピッチ角、ロール角の変化の速さが分かる。この場合も、加速度と同様に、一般的な歩き方ではピークが周期的に現れると共に、ピークの高さもあまり変動しないことが知られている。
また、位置を2回微分すれば加速度が得られるため、GPS受信装置213等が検出した位置も加速度と同等の情報として用いることができる。また、旋回歩行の場合、方位は定常的に変化するが、方位を2回微分することで方位の変化の加速度が得られる。この場合も、ピークの周期と高さが評価の目安となる。また、これらの測定データでは、ピークが周期的で、高さの変動が少ない場合でも、ピークが極端に大きいような場合には、歩行動作に改善点がある可能性があるとして、指導者等が表示画像データを確認することができる。
また、表示装置30の表示制御部32は、加速度と加速度=0の軸との面積を算出し、表示しても良い。例えば、8の字型に歩行している歩行者200が旋回歩行している場合には、y方向は歩行者200の左右方向の加速度なので、加速度が正側の面積と、負側の面積とは、ラインLに対する左右のぶれを示す。ラインLの上を歩行者200が歩行すれば、正側の面積と、負側の面積とはほぼ等しくなる。したがって、正側の面積と負側の面積が大きく異なるような場合、歩行者200の左脚と右脚のバランスが悪いことが分かる。
このように、指導者等は時間軸が同期された測定データと表示画像データとを見ることで、歩行者200の歩行動作を評価するための多くの情報を得ることができる。
<全天球画像の回転>
表示画像データには、全天球画像撮像装置60A又は60Bの周囲360°の画像が映っているため、全体を表示すると画像が歪んでしまい歩行動作がわかりにくい。このため、表示制御部32は、歩行者200が写っている範囲だけを画像データ欄502に表示することが好ましい。このような処理を全天球画像の回転、トリミング、歩行者200の抽出、又は取り出し等と表現する。全天球画像の回転とは、全天球画像を水平方向に(経度方向に)回転させて、画像データ欄502に表示される範囲を決定することをいう。
図19は、歩行者200が写っている範囲を画像回転部34が特定して、画像データ欄502に表示する処理の一例を示すフローチャートである。図19の処理は、例えば、表示装置30が表示画像データを受信して、当該表示画像データの再生が行われると開始される。
まず、画像回転部34は、歩行者200の足の位置を特定する(S901)。なお、足とは、歩行者200が履いている靴等の部分を言うが、靴等を履いていない場合には、踵からつま先までの部分である。画像回転部34は、腰より下や膝より下を足として特定しても良い。
ここで、表示画像データが動画の場合、歩行者200が何回か足踏みするような動作を行えば、画像回転部34は、動体を検出することで歩行者200を検出することができる。また、画像回転部34は、顔を認識しても歩行者200を検出しても良い。全天球画像撮像装置60の周囲に歩行者200以外の人が存在する可能性があるが、画像回転部34は、最も大きな画素範囲を占める移動体を歩行者200として検出すれば良い。この他、画像回転部34は、例えば、機械学習により足の画像を学習しておき、表示画像データから足を認識しても良い。
また、歩行者200が予め決まった位置から歩行を開始する場合、歩行者200の初期位置は、表示画像データの水平方向の決まった位置である。したがって、この場合、画像回転部34は、測定対象の歩行者200を容易に特定できる。
一方、静止画の場合、画像回転部34は、顔を認識して歩行者200を検出することができる。また、画像回転部34は、パターンマッチング等により各静止画の表示画像データから歩行者200を検出しても良いし、例えば指導者等が歩行者200の位置を入力しても良い。
次に、画像回転部34は、歩行者200の歩行による足の位置の変化から単位時間毎の歩行者200の角速度を算出する(S902)。
ここで、図20を用いて角速度について説明する。図20は、全天球画像の上面図における歩行者200の足511の位置の一例を模式的に示す図である。
図20では、一例として、北向きが基準であるとする。このとき、歩行者200の足は、経度方向に360°の範囲で位置(北向きをゼロ度とする角度)θ1及びθ2を取り得る。そこで、1つのフレーム画像内における歩行者200の2つの足の位置θ1及びθ2の平均を足511の位置θとする。
そして、例えば、過去の数秒間の位置θの変化量の平均を所定の時間毎(例えば、フレームを更新する毎)に算出する。これにより、画像回転部34は、変動が少ない歩行者200の角速度を算出することができる。なお、角速度は全天球画像撮像装置60から見た歩行速度(進行速度情報)ということができる。なお、実空間におけるx方向の歩行速度は、x方向の加速度を積分して得られる。
次に、画像回転部34は、ステップS902で算出した角速度で、フレーム画像を回転させる(S903)。すなわち、表示画像データに含まれるフレームデータが切り替わると、画像回転部34は、角速度で歩行者200が移動した位置を中心に画像データ欄502の表示範囲(所定の範囲)を回転させることで、フレーム画像をトリミングする。これにより、画像回転部34によりトリミングされたフレーム画像のほぼ中央に歩行者200が写るようにすることができる。
表示制御部32は、画像回転部34によりトリミングされた表示範囲のフレーム画像を画像データ欄502に表示する(ステップS904)。このため、指導者等は、360°の範囲が撮像されている全天球画像から歩行者200を探す必要なく、歩行者200の歩行動作を評価することができる。
なお、通常の画角のカメラでは歩行者200が映るように撮像されているので、回転やトリミング等の処理は必要ない。また、画像回転部34の機能をサーバ10又は全天球画像撮像装置60が有していても良い。この場合、サーバ10や全天球画像撮像装置60から表示装置30へ表示画像データや画像データA、画像データBが送信される際の通信負荷や通信時間を低減することができる。
<全天球画像の回転の他の例>
ここで、フレーム画像から顔を認識することで歩行者200を認識し、フレーム画像を回転させる場合について説明する。図21は、歩行者200が写っている範囲を画像データ欄502に表示する処理の他の例の示すフローチャートである。図21の処理は、例えば、表示装置30が表示画像データを受信して、当該表示画像データの再生が行われると開始される。
まず、画像回転部34は、全天球画像(すなわち、フレーム画像)毎に顔を認識する(ステップS1001)。図22は、顔512の認識を模式的に説明する図の一例である。顔512の認識は、適切な特徴量の設定と、学習識別装置の学習により行われる。
例えば、画像回転部34は、特徴量として、Haar−like特徴量、LBP(Local Binary Patterns)特徴量、HOG(Histogram of Oriented Gradients)特徴等を用いることができる。また、画像回転部34は、学習識別装置の学習方法として、SVM(Support Vector Machines)、AdaBoost等を用いることができる。ただし、これらに限られるものではなく、画像回転部34は、顔512を認識できる種々の特徴量、学習識別装置の学習方法を用いることができる。
次に、画像回転部34は、全天球画像(フレーム画像)から顔512を中心に、画像データ欄502の表示範囲513(所定範囲)の画像をトリミングする(ステップS1002)。これにより、画像回転部34が取り出す画像には、ほぼ中央に歩行者200が写るようにすることができる。
表示制御部32は、画像回転部34によりトリミングされた表示範囲513のフレーム画像を画像データ欄502に表示する(ステップS1003)。このため、指導者等は、360°の範囲が撮像されている全天球画像から歩行者200を探す必要なく、歩行者200の歩行動作を評価することができる。
なお、画像回転部34は、全天球画像毎に顔512の位置を決定してトリミングするのではなく、過去のいくつかの全天球画像の顔512の位置から経度方向の移動速度を算出することで、次に表示する全天球画像から表示範囲を決定しても良い。これにより、顔512の位置が変動しにくくなるので、滑らかな動画を表示できる。
以上のように、本実施形態に係る画像表示システム100では、複数の全天球画像撮像装置60の周囲を旋回、右左折する歩行者200が撮像されるので、歩行者200の様々な歩行動作を撮像可能になる。そして、本実施形態に係る画像表示システム100では、撮像された歩行者200が大きく写っている画像や正面を向いている画像等を、歩行者200の加速度等の測定データと共に表示装置30に表示する。
このため、本実施形態に係る画像表示システム100によれば、指導者等が歩行者200の歩行動作を評価し易い画像を表示させることができる。
<画像表示システム100の他のシステム構成>
ここで、画像表示システム100の他のシステム構成について説明する。図23は、画像表示システム100のシステム構成の他の例を示す図である。
図23(a)は、画像表示システム100のシステム構成の他の例である。図23(a)に示す画像表示システム100では、サーバ10がディスプレイ108を有している。図23(a)に示す構成では、サーバ10が表示装置30の各種機能を有している。すなわち、サーバ10は、測定データと画像データの時間軸の同期や表示画像データの作成に加えて、フレーム画像の回転等を行って、測定データと表示画像データを表示する。
図23(b)は、画像表示システム100のシステム構成の他の例である。図23(b)に示す画像表示システム100では、サーバ10及び表示装置30を有しない。図23(b)に示す構成では、加速度測定装置50が、サーバ10と表示装置30の各種機能を有している。
ここで、図23(b)に示す画像表示システム100における全体的な動作について説明する。図24は、加速度測定装置50が測定データと表示画像データを表示する場合における画像表示システム100の全体的な動作の一例を説明するシーケンス図である。
まず、歩行動作の測定を始める際、指導者又は歩行者200等は、歩行動作の測定を開始するための操作を加速度測定装置50に入力する。すると、加速度測定装置50は、指導者又は歩行者200等の操作を受け付ける(ステップS1101)。
次に、加速度測定装置50の通信部51は、撮像開始要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS1102及びS1103)。
次に、加速度測定装置50の加速度検出部52は、加速度の測定を開始する(ステップS1104)。また、全天球画像撮像装置60A及び60Bの撮像部62は、それぞれ、歩行者200の撮像を開始する(ステップS1105及びS1106)。
次に、歩行者200の歩行が終了した場合、指導者又は歩行者200は、歩行動作の測定を終了する操作を加速度測定装置50に入力する。すると、加速度測定装置50は、指導者又は歩行者200の操作を受け付ける(ステップS1107)。
次に、加速度測定装置50の通信部51は、撮像終了要求を全天球画像撮像装置60A及び60Bにそれぞれ送信する(ステップS1108及びS1109)。
全天球画像撮像装置60A及び60Bの撮像部62は、通信部61により撮像終了要求を受信すると、撮像を終了する。そして、全天球画像撮像装置60A及び60Bの通信部61は、それぞれ、画像データA及び画像データBを加速度測定装置50に送信する(ステップS1110及びS1111)。
加速度測定装置50の加速度データ加工部13は、図8のステップS118と同様に、測定データを加工する(ステップS1112)。
次に、加速度測定装置50の画像調整部12は、図8のステップS119と同様に、測定データと画像データの時間軸を同期させる(ステップS1113)。
次に、加速度測定装置50の表示画像作成部16は、図8のステップS120と同様に、表示画像データを作成する(ステップS1114)。
次に、加速度測定装置50は、自機のディスプレイ214に測定データと表示画像データを表示する(ステップS1115)。なお、加速度測定装置50は、指導者等の端末(サーバ10等)に測定データと表示画像データを送信しても良い(ステップS1116)。この場合、指導者等の端末は、測定データと表示画像データを表示する(ステップS1117)。
したがって、図23(b)に示す構成によれば、画像表示システム100のシステム構成を簡易化できる。歩行者200は、加速度測定装置50を装着して歩行し、歩行の終了後は加速度測定装置50を指導者等に渡せば指導者から指導を受けることができるようになる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態では、測定データの測定終了後及び画像データの撮像終了後に、測定データ及び表示画像データが表示されているが、リアルタイムに測定データ及び表示画像データが表示されても良い。この場合、表示される測定データ及び表示画像データはほぼ同時期に撮像されたものである。
また、以上の実施例で示した図6等の構成例は、サーバ10、表示装置30、全天球画像撮像装置60、及び加速度測定装置50の処理の理解を容易にするために、主な機能に応じて分割したものである。例えば、サーバ10が複数台存在し、複数のサーバ10が協働して本実施形態の処理を行っても良い。また、サーバ10の記憶部1000はサーバ10が有している必要はなく、記憶部1000は、サーバ10が当該記憶部1000のデータを読み書き可能な場所にあれば良い。
また、図6では、サーバ10、表示装置30、全天球画像撮像装置60、及び加速度測定装置50の機能をいくつかの処理単位に分割して説明した。しかし、各処理単位の分割の仕方や名称によって本願発明が制限されることはない。サーバ10、表示装置30、全天球画像撮像装置60、及び加速度測定装置50の処理は、処理内容に応じてさらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。