[第1の実施形態]
本開示の第1の実施形態について、図1から図22までを参照して説明する。図1は、歩行姿勢測定システム100の構成例を示す図である。図2は、手前奥方向の歩行姿勢を撮影する際の一例を示す図である。図3は、左右方向の歩行姿勢を撮影する際の一例を示す図である。図4は、スマートフォン200の構成例を示すブロック図である。図5は、撮影補助部212の構成例を示すブロック図である。図6は、横持ち時の撮影補助表示例を示す図である。図7は、縦持ち時の撮影補助表示例を示す図である。図8は、角度調整情報出力部2124の動作例を示す図である。図9は、歩行姿勢測定装置300の構成例を示すブロック図である。図10は、骨格情報334の一例を示す図である。図11は、測定結果情報336の一例を示す図である。図12は、実測値算出部343の処理を説明するための図である。図13から図19までは、実測値算出部343の処理を説明するための図である。図20は、スマートフォン200における撮影補助部212の動作例を示すフローチャートである。図21は、歩行姿勢測定装置300の動作例を示すフローチャートである。図22は、実測値情報335を算出する処理の一例を示すフローチャートである。
本開示の第1の実施形態においては、スマートフォン200などの撮影装置を用いて取得した動画に基づいて、人物の歩行姿勢を測定する歩行姿勢測定システム100について説明する。歩行姿勢測定システム100では、スマートフォン200を用いて、画像の手前奥方向に人物が歩く様子を示す動画(つまり、複数の画像データ)と、画像の左右方向に人物が歩く様子を示す動画と、を撮影する。そして、歩行姿勢測定システム100は、撮影により取得した動画である複数の画像データに基づいて、歩幅、歩行速度、歩行時の頭などのブレに応じた直進性、などの歩行姿勢を測定する。また、歩行姿勢測定システム100は、後述するように、スマートフォン200を用いて画像データを取得する際に撮影条件を出来る限り揃えるための仕組みや画像データから実測値を測定するための仕組みなどを含んでいる。
図1は、歩行姿勢測定システム100の構成例を示している。図1を参照すると、歩行姿勢測定システム100は、例えば、スマートフォン200と、歩行姿勢測定装置300と、を有している。図1で示すように、スマートフォン200と歩行姿勢測定装置300とは、例えば、無線、または、有線により、互いに通信可能なよう接続されている。
スマートフォン200は、人物が歩く様子を撮影する撮影装置として機能する。スマートフォン200は、カメラ機能、画面表示を行うタッチパネル201、GPSセンサや加速度センサなどの各種センサ、などの一般的な機能を有するスマートフォンであって構わない。
本実施形態の場合、図2で示すように、スマートフォン200を縦向きで持った状態(縦持ちした状態)で、画面奥から手前など人物が手前奥方向に歩く様子を撮影者が撮影する。換言すると、矩形形状を有するスマートフォン200のうち短辺が地面と水平になる縦持ちをした状態で、人物が手前奥方向に歩く様子を撮影者が撮影する。また、図3で示すように、スマートフォン200を横向きで持った状態(横持ちした状態)で、画面左から右など人物が左右方向に歩く様子を撮影者が撮影する。換言すると、スマートフォン200のうち長辺が地面と水平になる横持ちをした状態で、人物が手前奥方向に歩く様子を撮影者が撮影する。このように、歩行姿勢測定システム100においては、スマートフォン200の向きに応じた種類の動画(複数の画像データ)を撮影者が撮影する。なお、人物が手前奥方向に歩く様子と人物が左右方向に歩く様子とは、例えば、1台のスマートフォン200を用いて2回に分けて撮影しても構わないし、2台のスマートフォン200を用いて同時に撮影しても構わない。
図4は、スマートフォン200の本実施形態において特徴的な構成例を示している。図4を参照すると、スマートフォン200は、スマートフォン200の向き(縦向き、横向き)を検出するための加速度センサやジャイロセンサなどのスマートフォンとして一般的な構成に加えて、測定用動作撮影部210を有している。また、図4で示すように、測定用動作撮影部210は、画像データ撮影部211と、撮影補助部212と、を含んでいる。
例えば、スマートフォン200は、CPU(Central Processing Unit)などの演算装置と記憶装置とを有している。スマートフォン200は、例えば、記憶装置に格納されたプログラムを演算装置が実行することで、上述した処理部を実現する。
測定用動作撮影部210は、撮影者のスマートフォン200に対する操作に応じて、本実施形態における測定用動作である、人物が歩く様子を撮影する。また、測定用動作撮影部210は、撮影を行う際に出来る限り同じ条件で撮影可能なよう、撮影を補助するための機能を含んでいる。例えば、測定用動作撮影部210は、人物が歩く様子を撮影するためのカメラ操作機能を有するとともに、人物が歩く様子を撮影する際に、歩く方向、角度、画面に映る大きさ、などの撮影条件を出来る限り揃えるためのガイド機能を有する撮影用アプリである。上述したように、測定用動作撮影部210は、画像データ撮影部211と、撮影補助部212と、を含んでいる。
画像データ撮影部211は、スマートフォン200が有するカメラを利用して人物を撮影することで、動画(複数の画像データ)を取得する。また、画像データ撮影部211は、当該画像データ撮影部211が撮影した動画(画像データ)に、画像データの取得日時を示す情報や、後述する撮影補助部212が取得した情報などを対応づけることが出来る。
撮影補助部212は、画像データ撮影部211が画像データを取得する際に撮影条件を出来る限り揃えるための補助を行う。図5は、撮影補助部212に含まれる構成の一例を示している。図5を参照すると、撮影補助部212は、例えば、ガイド線表示部2121と、角度情報表示部2122と、高さ情報入力部2123と、角度調整情報出力部2124と、を含んでいる。
ガイド線表示部2121は、人物を撮影する際に人物の足の位置など人物が歩く位置の目安となるガイド線2011をタッチパネル201上に表示する。タッチパネル201上に表示されるガイド線2011に出来る限り沿うように人物が歩くことで、当該人物が歩く様子を撮影した際に、歩く方向、角度、画面に映る大きさ、などを揃えることが出来る。なお、ガイド線2011が示す位置と一致するように、現実世界において目印などを置き、目印を利用して人物が歩くようにしても構わない。
本実施形態の場合、ガイド線表示部2121は、スマートフォン200が縦持ちであるか横持ちであるか否かに応じて、異なるガイド線2011をタッチパネル201上に表示する。例えば、加速度センサなどから取得した情報に基づいてスマートフォン200が横持ちであると判断される場合、ガイド線表示部2121は、図6で示すように、画面の左右方向に歩く人物を撮影するためのガイド線2011をタッチパネル201上に表示する。換言すると、ガイド線表示部2121は、左右方向に歩く人物をガイドするためのガイド線2011をタッチパネル201上に表示する。図6を参照すると、スマートフォン200が有するカメラが撮影している領域である撮影領域がタッチパネル201上に表示されているとともに、ガイド線2011が表示されていることが分かる。また、加速度センサなどから取得した情報に基づいてスマートフォン200が縦持ちであると判断される場合、ガイド線表示部2121は、図7で示すように、画面の手前奥方向に歩く人物を撮影するためのガイド線2011をタッチパネル201上に表示する。換言すると、ガイド線表示部2121は、手前奥方向に歩く人物をガイドするためのガイド線2011をタッチパネル201上に表示する。
なお、ガイド線表示部2121がガイド線2011を表示する位置は、例えば、予め定められている。例えば、スマートフォン200が横持ちである場合、ガイド線表示部2121は、図6で示すように、撮影領域の中央より下方(例えば、下半分の領域の真ん中程度)にガイド線2011を表示する。また、例えば、スマートフォン200が縦持ちである場合、ガイド線表示部2121は、図7で示すように、撮影領域の中央にガイド線2011を表示する。ガイド線表示部2121がガイド線2011を表示する位置は、上記例示した以外であっても構わない。
角度情報表示部2122は、スマートフォン200が有する加速度センサやジャイロセンサなどから左右方向の傾きや手前奥方向の傾きなどスマートフォン200の角度を示す情報を取得する。そして、角度情報表示部2122は、取得した情報を、スマートフォン200の角度を示す角度情報2012としてタッチパネル201上に表示する。人物が歩行する様子を撮影する際には、スマートフォン200が出来る限り傾いていない状態で、撮影することが望ましい。角度情報表示部2122により角度情報2012をタッチパネル201上に表示することで、撮影者が人物の歩く様子を撮影する際にスマートフォン200の角度を修正することが可能となり、スマートフォン200が傾いていない望ましい状態で人物が歩く様子を撮影することが可能となる。
本実施形態の場合、角度情報表示部2122は、左右方向の傾きを示す情報と、手前奥方向の傾きを示す情報と、をタッチパネル201上に表示する。換言すると、角度情報表示部2122は、水平方向と垂直方向のスマートフォン200の傾きを示す情報を表示する。例えば、図6、図7で示すように、角度情報表示部2122は、角度情報2012をタッチパネル201上の所定位置に表示する。なお、角度情報表示部2122による角度情報2012の表示は、スマートフォン200を縦持ちした際と横持ちした際とで、表示位置が変わるものの表示内容は同様のもの(傾きに応じた表示)であって構わない。
高さ情報入力部2123は、スマートフォン200の地面からの高さhを示す高さ情報の入力を人物から受け付けて、入力された高さhを表示する高さ表示部2013をタッチパネル201上に表示する。高さ情報入力部2123により入力を受け付けた高さhは、歩行姿勢測定装置300が実測値Wを算出する際に活用することが出来る。
図6、図7で示すように、高さ情報入力部2123は、タッチパネル201上の所定位置に高さ表示部2013を表示する。そして、高さ情報入力部2123は、例えば、スマートフォン200を操作する人物が高さ表示部2013をタッチすることにより、高さhを示す情報の入力を人物から受け付ける。その後、高さ情報入力部2123は、受け付けた高さhを示す情報を高さ表示部2013に表示する。高さ情報入力部2123による高さ表示部2013の表示は、スマートフォン200を縦持ちした際と横持ちした際とで、表示位置が変わるものの表示内容は同様のものであって構わない。
角度調整情報出力部2124は、スマートフォン200の傾きを調整するための情報を出力する。例えば、角度調整情報出力部2124は、スマートフォン200の傾き方に応じて異なる、スマートフォン200の傾きに応じた情報を出力する。具体的には、例えば、角度調整情報出力部2124は、スマートフォン200の傾きを調整するための情報として、スマートフォン200の傾きに応じて調整された音を出力する。
図8は、角度調整情報出力部2124による処理の一例を示している。図8を参照すると、例えば、角度調整情報出力部2124は、スマートフォン200の左右方向の傾きに応じて音の長さを調整した音を出力するとともに、スマートフォン200の手前奥方向の傾きに応じて音程を調整した音を出力する。このように、角度調整情報出力部2124は、スマートフォン200の傾き方に応じて異なる調整を行う。例えば、図8を参照すると、角度調整情報出力部2124は、スマートフォン200が左方向に傾けば傾くほど、1音の長さが短くなるように、音の長さを調整する。また、角度調整情報出力部2124は、スマートフォン200が右方向に傾けば傾くほど、1音の長さが長くなるように、音の長さを調整する。また、角度調整情報出力部2124は、スマートフォン200が手前(例えば、撮影者側)方向に傾けば傾くほど、音程が下がるように、音程を調整する。また、角度調整情報出力部2124は、スマートフォン200が奥(例えば、撮影者とは反対側)方向に傾けば傾くほど、音程が上がるように、音程を調整する。
上記のような構成によると、スマートフォン200がいずれかの方向に傾いている場合、角度調整情報出力部2124は、傾き方に応じて音の長さと音程のうちの少なくとも一方の調整を行うことで、2種類の音を出力する。一方、スマートフォン200が傾いていない場合、音の長さや音程の調整が行われないため、角度調整情報出力部2124は、1種類の音を出力することになる。このように、角度調整情報出力部2124が調整した音を出力するよう構成することで、例えば、撮影者がタッチパネル201を見ることが難しい状況であったとしても、容易にスマートフォン200の角度調整を行うことが出来る。
なお、角度調整情報出力部2124が出力する、スマートフォン200の傾きを調整するための情報は、必ずしも音である場合に限定されない。例えば、角度調整情報出力部2124は、音の代わりに、ライトを光らせたり、スマートフォン200を振動させたりしても構わない。例えば、角度調整情報出力部2124は、正しい角度である傾きのない角度に近づいた際にライトを光らせる、スマートフォン200を振動させる、などの処理を行うよう構成しても構わない。なお、角度調整情報出力部2124は、左右方向の傾きに応じて音を出力するとともに手前奥方向の傾きに応じてライトを光らせる、左右方向の傾きに応じて音の出力とライトを光らせる処理とを行う、など、様々な組み合わせで、上述した処理を組み合わせても構わない。
以上が、本実施形態に特徴的なスマートフォン200の構成例である。
歩行姿勢測定装置300は、スマートフォン200が撮影した動画(つまり、複数の画像データ)に基づいて、歩幅、歩行速度、直進性、などの歩行姿勢を測定するサーバ装置である。図9は、歩行姿勢測定装置300の構成例を示している。図9を参照すると、歩行姿勢測定装置300は、主な構成要素として、例えば、画面表示部310と、通信I/F部320と、記憶部330と、演算処理部340と、を有している。
画面表示部310は、タッチパネルや液晶ディスプレイなどの画面表示装置からなる。画面表示部310は、演算処理部340からの指示に応じて、画像情報333、骨格情報334、測定結果情報336、画像情報333に含まれる画像データに骨格情報334が示す骨格の位置の表示を重畳したもの、などを表示することが出来る。
通信I/F部320は、データ通信回路からなる。通信I/F部320は、通信回線を介して接続された外部装置やスマートフォン200などとの間でデータ通信を行う。
記憶部330は、ハードディスクやメモリなどの記憶装置である。記憶部330は、演算処理部340における各種処理に必要な処理情報やプログラム337を記憶する。プログラム337は、演算処理部340に読み込まれて実行されることにより各種処理部を実現する。プログラム337は、通信I/F部320などのデータ入出力機能を介して外部装置や記録媒体から予め読み込まれ、記憶部330に保存されている。記憶部330で記憶される主な情報としては、例えば、学習済みモデル331、カメラ設定情報332、画像情報333、骨格情報334、実測値情報335、測定結果情報336などがある。
学習済みモデル331は、骨格認識部342が骨格認識を行う際に用いる、学習済みのモデルである。学習済みモデル331は、例えば、外部装置などにおいて、骨格座標が入った画像データなどの教師データを用いた機械学習を行うことにより予め生成されており、通信I/F部320などを介して外部装置などから取得され、記憶部330に格納されている。
なお、学習済みモデル331は、追加の教師データを用いた再学習処理などにより更新されても構わない。
カメラ設定情報332は、人物の歩行をスマートフォン200が撮影する際に使用する、スマートフォン200が有するカメラのパラメータを示す情報を含んでいる。カメラ設定情報332には、例えば、カメラの垂直視野角θ、水平視野角ψを示す情報が含まれている。
カメラ設定情報332は、例えば、通信I/F部320などを介してスマートフォン200などから予め取得され、記憶部330に格納されている。カメラ設定情報332は、スマートフォン200から画像データを取得する際に、画像データとともにスマートフォン200から取得して記憶部330に格納されても構わない。
画像情報333は、スマートフォン200が有するカメラが取得した画像データ(動画)を含んでいる。画像情報333においては、例えば、動画となる単位ごとに、画像データと、画像データをスマートフォン200が取得した日時を示す情報と、高さ情報入力部2123により入力された高さを示す情報と、などが対応づけられている。また、画像情報333においては、人物が左右方向に歩く動画と、人物が手前奥方向に歩く動画と、が対応づけられている。後述するように、測定部344は、人物が左右方向に歩く動画と人物が手前奥方向に歩く動画とからそれぞれ対応する歩行姿勢測定を行うことになる。
骨格情報334は、骨格認識部342により認識された人物の各部位の座標を示す情報を含んでいる。図10は、骨格情報334の一例を示している。図10を参照すると、骨格情報334では、例えば、認識対象となる人物ごとに、時間と、各部位の位置情報と、が対応づけられている。時間は、動画撮影開始からの経過時間や動画を撮影した時刻などを示している。また、各部位の位置情報は、骨盤の位置など、画像データ中における各部位の座標を示す情報を含んでいる。
なお、各部位の位置情報に含まれる部位は、学習済みモデル331に応じたものである。例えば、図10では、骨盤、背骨中央、……、が例示されている。各部位の位置情報には、例えば、右肩、……、左ひじ、……、右ひざ、……、など、30か所程度の部位を含むことが出来る(例示した以外でも構わない)。各部位の位置情報に含まれる部位は、図10などで例示した以外であっても構わない。
実測値情報335は、実測値算出部343により算出される実測値Wを示す情報を含んでいる。例えば、実測値情報335では、実測値Wと、基準線や画像データの識別情報などと、が対応づけられている。実測値情報335は、歩幅などを示す情報を含んでいても構わない。実測値算出部343の処理についての詳細な説明は、後述する。
測定結果情報336は、測定部344が測定した歩行姿勢測定の結果を示している。図11は、測定結果情報336の一例を示している。図11を参照すると、測定結果情報336では、測定対象となる人物ごとに、例えば、時間と、歩行速度と、歩幅と、直進性と、……、とが対応づけられている。ここで、時間は、動画撮影開始からの経過時間や動画を撮影した時刻などを示している。また、歩行速度は、人物が歩行する速度を示している。また、歩幅は、人物が歩く際の右足と左足のつまさき間(または、かかと間)の長さを示している。また、直進性は、人物が歩く際の頭やからだの揺れ具合やブレ具合を示している。なお、測定結果情報336には、一歩にかかる時間を示すピッチなどを示す情報を含んでも構わない。
ここで、測定結果情報336に含まれる各種情報のうち、歩行速度や歩幅は、人物が左右方向に歩く動画(画像データ)に基づいて実測値算出部343や測定部344が測定する情報である。また、測定結果情報336に含まれる各種情報のうち、直進性は、人物が手前奥方向に歩く動画(画像データ)に基づいて測定部344が測定する情報である。例えば、以上のように、測定結果情報336には、人物が左右方向に歩く動画に基づいて測定部344が測定する情報と、人物が手前奥方向に歩く動画に基づいて測定部344が測定する情報と、が含まれている。
演算処理部340は、MPUなどのマイクロプロセッサとその周辺回路を有する。演算処理部340は、記憶部330からプログラム337を読み込んで実行することにより、上記ハードウェアとプログラム337とを協働させて各種処理部を実現する。演算処理部340で実現される主な処理部としては、例えば、画像取得部341と、骨格認識部342と、実測値算出部343と、測定部344と、出力部345と、がある。
画像取得部341は、通信I/F部320を介して、スマートフォン200から当該スマートフォン200が取得した動画(複数の画像データ)を取得する。そして、画像取得部341は、取得した画像データを、例えば画像データの取得日時や高さを示す情報などと対応付けて、画像情報333として記憶部330に格納する。
本実施形態の場合、画像取得部341は、スマートフォン200から、人物が左右方向に歩く動画(画像データ)と、人物が手前奥方向に歩く動画(画像データ)とを対応付けて、または、対応付けが可能なよう取得する。そして、画像取得部341は、取得した2種類の動画を対応付けて、画像情報333として記憶部330に格納する。
骨格認識部342は、学習済みモデル331を用いて、画像データ中において歩行姿勢測定の対象となる人物の骨格を認識する。例えば、骨格認識部342は、背骨上部、右肩、左肩、右ひじ、左ひじ、右手首、左手首、右手、左手、……、などの各部位を認識する。また、骨格認識部342は、認識した各部位の画面データにおける座標を算出する。そして、骨格認識部342は、認識・算出した結果を、人物を識別するための識別情報などと対応付けることにより、人物ごとに、骨格情報334として記憶部330に格納する。
なお、骨格認識部342が認識する部位は、学習済みモデル331(学習済みモデル331を学習する際に用いられた教師データ)に応じたものとなる。そのため、骨格認識部342は、学習済みモデル331に応じて、上記例示した以外の部位を認識しても構わない。
実測値算出部343は、スマートフォン200が有するカメラの床面からの高さh、スマートフォン200が有するカメラの垂直視野角θ、水平視野角ψ、画面上において任意の高さをとる基準線の画面半分からの割合α、に基づいて、基準線の画面端から端までの実測値Wを算出する。また、実測値算出部343は、算出した実測値Wを用いて、人物の歩幅などを算出することが出来る。そして、実測値算出部343は、算出した実測値Wなどを実測値情報335として記憶部330に格納する。なお、実測値算出部343は、実測値Wを算出する処理を、動画における1フレームごと(つまり、画像データごと)に行うことが出来る。
一般に、スマートフォン200が有するカメラなど奥行きの値が取得できない画像データからは、画面上の平面位置しか取得できず、現実世界での実際の長さなどが直ちにわかるわけではない。実測値算出部343は、上述した各種値を用いることで、実際の長さ(つまり、現実世界での長さ)である実測値Wを算出することを可能とする。
図12は、実測値算出部343が実測値Wを算出する際に用いる数式を示している。図12で示すように、実測値算出部343は、数1で示す式を解くことで実測値Wを算出する。つまり、実測値算出部343は、スマートフォン200が有するカメラの床面からの高さhと、スマートフォン200が有するカメラのパラメータと、実測値Wを算出する基準線の画面半分からの割合αと、に基づいて、実測値Wを算出する。
ここで、実測値Wは、例えば、画像データにおける基準線の画面端から端までの実際の長さを示している。また、hはカメラ(スマートフォン200)の床面からの高さである。高さhの値は、高さ情報入力部2123を用いて画像データ取得の際に撮影者により入力されている。また、θは垂直視野角であり、ψは水平視野角である。αは、画面上における任意の高さの基準線の画面半分からの割合である。
以下、図13から図18までを参照して、数1についてより詳細に説明する。
例えば、図13で示すように、高さhに位置するスマートフォン200が有するカメラを用いて、画面上における任意の高さである基準線上の人物を撮影したとする。この場合において、図14で示すように、高さhに位置するスマートフォン200の位置を原点Oとする。また、スマートフォン200から垂直に床方向におろした際の床との接点を点Gとし、人物の位置を点Pとする。また、原点Oと点Pとを結んだ線と地面(または地面と水平な線)とが形成する角を角度φとする。
上述した場合において、点Gから点Pまでの距離dとすると、図15で示すように、数2より数3となる。
また、図16で示すように、角度φは任意の点Pの画面上の位置の割合により、垂直視野角θとすると、数4となる。
また、図14で示す場面を真上からみると図17で示すようになる。図17では、点Pを通る任意の画面上の高さの線のうちの一方の端部を点Qとしている。この場合、図18で示すように、点Pと点Qとの間の幅を幅wとすると、数5より数6となる。また、数3、数4より数7なので、数7を数6に代入すると、数8となる。
以上より、スマートフォン200から距離d地点での画面横端いっぱいの長さである実測値Wは、2wであるため、上述した数8を2倍して、上述した数1となる。以上より、数1を計算することで、実測値Wを算出することが出来ることが分かる。
なお、割合αの算出元になる、画面上の任意の高さとなる基準線は、例えば、画像データにおける人物の足の位置などに基づいて特定することが出来る。つまり、実測値算出部343は、画像データ中の人物の足の位置に基づいて基準線を特定した後、割合αを算出する処理を行うことが出来る。例えば、実測値算出部343は、人物の左右の足のY座標の平均値、いずれかの足のY座標、などを通る傾き0の線を基準線とすることが出来る(例示した以外であっても構わない)。なお、実測値算出部343による上記処理は、例えば、1フレームごと(つまり、画像データごと)に行って構わない。また、基準線の画面上の高さは、ガイド線表示部2121が表示するガイド線2011の位置などに応じて予め定められていても構わない。
また、実測値算出部343は、算出した実測値Wに基づいて、歩幅などを算出することが出来る。例えば、図19で示すような、人物が左右方向に歩く動画に含まれる、歩いている最中の前後に足が開いている画像データと、算出した実測値Wと、画像データの解像度と、に基づいて、実測値算出部343は、歩幅を算出することが出来る。具体的には、例えば、画像データの解像度を1920×1080とすると、基準線上の1ピクセル当たりの実測値kは、k=W/1920となる。そのため、例えば、図19で示す画像データ中の左右の足の(例えば骨格認識部342が認識したつまさき部分の)x座標の値の差が100ピクセルであった場合、実測値算出部343は、100×kを算出することで実際の歩幅を算出することが出来る。このように、実測値算出部343は、算出した実測値Wと解像度とピクセル数とに基づいて、歩幅を算出することが出来る。
例えば、以上のように、実測値算出部343は、基準線の画面端から端までの長さ実測値Wを算出したり、実測値Wに基づいて人物の歩幅を算出したりすることが出来る。
測定部344は、実測値算出部343による算出結果と、骨格認識部342による認識の結果となどを用いて、人物の歩行姿勢を測定する。そして、測定部344は、測定した結果などを測定結果情報336として記憶部330に格納する。
上述したように、測定部344は、人物が左右方向に歩く動画に基づく測定と、人物が手前奥方向に歩く動画に基づく測定と、を行うことが出来る。例えば、測定部344は、人物が左右方向に歩く動画(画像データ)に基づいて、歩行速度やピッチなどを算出することが出来る。例えば、測定部344は、骨格認識部342が認識した部位のフレーム間の移動距離などを算出するとともに、算出した移動距離と各フレーム(画像データ)の時間とに基づいて歩行速度を算出することが出来る。測定部344は、歩行速度を算出する際、歩幅などの実測値算出部343による算出結果を用いても構わない。また、測定部344は、人物が手前奥方向に歩く動画(画像データ)に基づいて、直進性などを算出することが出来る。例えば、測定部344は、骨格認識部342が認識した頭部の座標の揺れなどに基づいて、直進性を算出することが出来る。
なお、測定部344は、上記例示した以外の測定を行うよう構成しても構わない。
出力部345は、骨格情報334、実測値情報335、測定結果情報336、画像情報333に含まれる動画に骨格情報334を重畳したもの、などを出力することが出来る。例えば、出力部345による出力は、上記各情報を画面表示部310に表示したり、通信I/F部320を介して接続された外部装置に対して送信したりすることで行われる。
以上が、歩行姿勢測定装置300の構成例である。
続いて、図20から図22までを参照して、歩行姿勢測定システム100の動作例について説明する。まず、図20を参照して、角度調整情報出力部2124の動作例について説明する。
図20は、角度調整情報出力部2124の動作例を示している。図20を参照すると、角度調整情報出力部2124は、スマートフォン200が手前奥方向に傾いている場合(ステップS101、Yes)、傾きに応じて音程を補正する(ステップS102)。つまり、角度調整情報出力部2124は、スマートフォン200が手前または奥方向に傾けば傾くほど、音程をより大きく補正する。そして、角度調整情報出力部2124は、補正後の音を出力する(ステップS103)。
また、角度調整情報出力部2124は、スマートフォン200が左右方向に傾いている場合(ステップS104、Yes)、傾きに応じて音の長さを補正する(ステップS102)。つまり、角度調整情報出力部2124は、スマートフォン200が左または右方向に傾けば傾くほど、音の長さをより大きく補正する。そして、角度調整情報出力部2124は、補正後の音を出力する(ステップS103)。
角度調整情報出力部2124による音の出力は、終了の条件を満たすことにより(ステップS107、Yes)、終了する。なお、終了の条件は、例えば、動画の撮影が始まった、動画の撮影が終了した、スマートフォン200の傾きがなくなり音が一致してから所定時間経過した、人物により出力停止処理が行われた、などがありうる。終了の条件は上記例示した以外であっても構わない。
以上が、角度調整情報出力部2124の動作例である。続いて、図21を参照して、歩行姿勢測定装置300の全体的な動作の一例について説明する。図21は、歩行姿勢測定装置300の全体的な動作例を示している。図21を参照すると、画像取得部341は、通信I/F部320を介して、スマートフォン200から当該スマートフォン200が取得した動画(複数の画像データ)を取得する(ステップS201)。本実施形態の場合、画像取得部341は、スマートフォン200から、人物が左右方向に歩く動画(画像データ)と、人物が手前奥方向に歩く動画(画像データ)とを対応付けて、または、対応付けが可能なよう取得する。
骨格認識部342は、学習済みモデル331を用いて、画像データ中において歩行姿勢測定の対象となる人物の骨格を認識する(ステップS202)。
測定部344は、実測値情報335が示す実測値Wなどを取得する(ステップS203)。なお、実測値情報335が示す実測値Wは、例えば、実測値算出部343により予め算出されていても構わないし、例えば、骨格認識部342により骨格認識処理と並行して、または、骨格認識部342による認識処理の後に、実測値算出部343により算出されても構わない。
測定部344は、実測値算出部343による算出結果などを用いて、人物の歩行姿勢を測定する(ステップS204)。例えば、測定部344は、人物が左右方向に歩く動画に基づく測定と、人物が手前奥方向に歩く動画に基づく測定と、を行う。
出力部345は、骨格情報334、実測値情報335、測定結果情報336、画像情報333に含まれる動画に骨格情報334を重畳したもの、などを出力する(ステップS205)。
以上が、歩行姿勢測定装置300の全体的な動作の一例である。続いて、図22を参照して、実測値算出部343が実測値Wを算出する処理の一例について説明する。
図22を参照すると、実測値算出部343は、画像情報333に含まれる、高さ情報入力部2123により入力された高さを示す情報を取得する。また、実測値算出部343は、カメラ設定情報332を参照して、カメラの垂直視野角θや水平視野角ψを示す情報を取得する(ステップS301)。
実測値算出部343は、実測値Wを算出する基準線を決定するとともに、割合αを算出する(ステップS302)。例えば、実測値算出部343は、画像データにおける人物の足の位置などに基づいて基準線を特定する。また、実測値算出部343は、特定した基準線に基づいて、基準線の画面半分からの割合αを算出する。
実測値算出部343は、高さh、垂直視野角θ、水平視野角ψ、割合α、に基づいて、実測値Wを算出する(ステップS303)。例えば、実測値算出部343は、上述した数1で示す式を解くことで、実測値Wを算出する。そして、実測値算出部343は、算出した実測値Wを実測値情報335として記憶部330に格納する。
また、実測値算出部343は、画像データ中の左右の足の(例えばつまさきの)x座標の値の差をとる。そして、x座標の値の差と、実測値Wと、解像度と、に基づいて、歩幅を算出する(ステップS304)。
以上が、実測値算出部343の処理例である。
以上のように、歩行姿勢測定装置300は、骨格認識部342と、測定部344と、を有している。このような構成によると、測定部344は、骨格認識部342による骨格認識の結果に基づいて、歩行姿勢を測定することが出来る。その結果、デプスセンサなどを用いなくても、スマートフォン200が有するカメラなどを用いて取得した画像データに基づいて、測定部344は、歩行姿勢を測定することが出来る。
また、歩行姿勢測定装置300は、画像の手前奥方向に人物が歩く様子を示す動画と、画像の左右方向に人物が歩く様子を示す動画と、を取得するよう構成されている。このような構成によると、測定部344は、画像の手前奥方向に人物が歩く様子を示す動画に基づく測定を行うとともに、画像の左右方向に人物が歩く様子を示す動画に基づく測定を行うことが出来る。その結果、デプスセンサなどを用いなくても、スマートフォン200が有するカメラなどを用いて取得した画像データに基づいて、測定部344は、1つの動画からでは難しい様々な歩行姿勢を測定することが出来る。
また、歩行姿勢測定装置300は、実測値算出部343を有している。このような構成によると、実測値算出部343は、実測値を算出することが出来る。その結果、スマートフォン200が有するカメラを用いて撮影した動画に基づいて歩幅などを算出することが可能となる。これにより、歩行姿勢測定装置300は、スマートフォン200が有するカメラを用いて撮影した動画に基づいて、正確な歩行姿勢を測定することが出来る。
また、スマートフォン200は、撮影補助部212を有している。このような構成によると、スマートフォン200は、撮影補助部212による補助のもと、画像の手前奥方向に人物が歩く様子を示す動画と、画像の左右方向に人物が歩く様子を示す動画と、を取得することが出来る。その結果、スマートフォン200は、撮影条件を出来る限り近づけた状態で、上記2種類の動画を取得することが出来る。これにより、2種類の動画を用いた測定を行う場合に、測定部344による測定の精度を向上させることが出来る。また、上記のような構成によると、異なるタイミングで動画を取得する際の撮影条件も揃えることが出来る。つまり、様々なタイミングで取得した同方向の画像データを撮影する際の撮影条件も揃えることが出来る。その結果、同方向の画像データ同士を精度よく比較することが可能となり、分析の精度を上げることが可能となる。
また、撮影補助部212は、角度調整情報出力部2124を有している。このような構成によると、角度調整情報出力部2124は、スマートフォン200の傾きを調整するための音などの情報を出力することが出来る。その結果、スマートフォン200の画面を見ることが難しい状態などにおいても、容易にスマートフォン200の角度調整を行うことが出来る。これにより、撮影条件を揃えることが容易となり、測定部344による測定の精度を容易に向上させることが出来る。
なお、本実施形態においては、撮影装置としてスマートフォン200を使用する場合について例示した。しかしながら、スマートフォン200以外の撮影装置を用いて動画を取得しても構わない。つまり、歩行姿勢測定システム100が有する撮影装置は、スマートフォン200である場合に限定されない。
また、本実施形態においては、歩行姿勢測定装置300としての機能を1台の情報処理装置により実現する場合について例示した。しかしながら、歩行姿勢測定装置300としての機能は、例えば、ネットワークを介して接続された複数台の情報処理装置により実現されても構わない。換言すると、歩行姿勢測定装置300としての機能は、1台の情報処理装置で実現される場合に限定されず、例えば、クラウド上などで実現されても構わない。
また、撮影補助部212は、図5で例示した複数の機能すべてを有しても構わないし、図5で例示した機能のうちのいくつか(少なくとも1つ)を有しても構わない。例えば、撮影補助部212は、角度情報表示部2122による角度情報2012の表示を行わずに、角度調整情報出力部2124としての機能のみを有しても構わない。
また、本実施形態で説明した撮影補助部212による補助機能は、歩行姿勢測定システム100以外のシステムに適用されても構わない。撮影補助部212による補助機能は、画像データを取得する際に撮影条件を出来る限り揃えることが必要な様々な場面に適用されて構わない。同様に、実測値算出部343による実測値Wの算出処理も、歩行姿勢測定システム100以外のシステムに適用されても構わない。実測値算出部343による実測値Wの算出処理は、画像データに基づいて実測値を算出する様々な場面に適用することが出来る。
[第2の実施形態]
次に、本発明の第2の実施形態について、図23から図28までを参照して説明する。図23は、歩行姿勢測定装置300の追跡例を説明するための図である。図24は、第2の実施形態における歩行姿勢測定装置300の構成例を示すブロック図である。図25は、追跡部346の構成例を示す図である。図26、図27は、内包図形生成部3461が生成する図形の一例を示す図である。図28は、追跡部346の動作例を示すフローチャートである。
本開示の第2の実施形態においては、第1の実施形態で説明した歩行姿勢測定装置300の変形例について説明する。例えば、図23で示すように、画像データ内において複数の人物が存在する場合、フレーム間で同一人物の追跡をきちんと行わないと、フレーム間の移動距離を使用する歩行速度の算出などを正確に行うことが出来なくなる。そこで、本実施形態の場合、第1の実施形態で説明した歩行姿勢測定装置300が有する構成に加えて、追跡部346を有している。追跡部346は、骨格認識部342による認識の結果に基づく追跡を行うよう構成されている。
図24は、第2の実施形態における歩行姿勢測定装置300の構成例を示している。図24を参照すると、歩行姿勢測定装置300は、第1の実施形態で説明した構成に加えて、追跡部346を有している。以下、本実施形態に特徴的な構成について説明する。
追跡部346は、骨格認識部342による認識の結果に基づく、人物の追跡を行う。例えば、追跡部346は、認識した人物に対して認識番号を割り振ることで人物の追跡を行う。つまり、追跡部346は、1フレーム前の画像データと現フレームの画像データとで、同一であると判断した人物に対して同一の認識番号を振り分けることで、人物の追跡を行う。図25は、追跡部346のより詳細な構成例を示している。図25を参照すると、追跡部346は、例えば、内包図形生成部3461と、平均骨格座標算出部3462と、比較追跡部3463と、を含んでいる。
内包図形生成部3461は、骨格認識部342が認識したすべての部位の座標(骨格情報334に含まれる座標)を内包する図形を人物ごとに生成する。例えば、内包図形生成部3461は、すべての座標を内包する、最小の、凸包、矩形、円のうちのいずれかを生成する。また、内包図形生成部3461は、生成した図形の面積を算出する。
例えば、内包図形生成部3461は、内包図形の生成、面積の算出処理を、各フレームの画像データに対して行う。また、1フレームの画像データ内に複数の人物が含まれる場合、内包図形生成部3461は、内包図形の生成、面積の算出処理を、画像データ内に含まれる複数の人物それぞれに対して行う。
図26は、画面手前奥方向に歩く人の座標を内包する図形の一例を示している。図26で示すように、内包図形生成部3461は、すべての座標を内包する、最小の凸包、矩形、円のうちのいずれかを生成することが出来る。また、図27は、画面左右方向に歩く人の座標を内包する図形の一例を示している。図27で示す場合も図26で示す場合と同様に、内包図形生成部3461は、すべての座標を内包する、最小の凸包、矩形、円のうちのいずれかを生成することが出来る。
なお、内包図形生成部3461が凸包、矩形、円のうちのいずれの図形を生成するかは、例えば、予め定められている。例えば、内包図形生成部3461は、座標を内包する図形として、円を生成するよう定められている。
平均骨格座標算出部3462は、骨格認識部342が認識したすべての部位の座標(骨格情報334に含まれる座標)の平均値を人物ごとに算出する。これにより、平均骨格座標算出部3462は、骨格認識部342が認識した人物の各部位の座標に基づいて、平均骨格座標を算出する。
内包図形生成部3461の場合と同様に、平均骨格座標算出部3462は、平均骨格座標の算出処理を、各フレームの画像データに対して行う。また、1フレームの画像データ内に複数の人物が含まれる場合、平均骨格座標算出部3462は、平均骨格座標の算出処理を、画像データ内に含まれる複数の人物それぞれに対して行う。
比較追跡部3463は、内包図形生成部3461が算出した内包図形の面積と平均骨格座標算出部3462が算出した平均骨格座標とに基づいて、人物の追跡を行う。例えば、比較追跡部3463は、現フレームにおいて算出した追跡対象の人物に対応する面積と、1フレーム前において算出した面積と、の間で比較を行う。また、比較追跡部3463は、上記比較の結果に応じて、追跡対象の人物に対応する平均骨格座標と、1フレーム前において算出した平均骨格座標と、の間の比較を行う。
具体的には、例えば、1フレーム前における各人に対応する面積のうち、現フレームにおける追跡対象の人物に対応する面積との差が第1許容値以内に属する面積が1つである場合、比較追跡部3463は、面積の差が第1許容値以内に属する1フレーム前の人物と現フレームの人物とが同一人物であると判断する。その結果、比較追跡部3463は、例えば、同一であると判断した1フレーム前の人物に対応する認識番号を今フレームの人物に対応する認識番号とする。
また、追跡対象の面積との差が第1許容値以内である面積が1フレーム前において複数算出されていた場合、比較追跡部3463は、追跡対象の人物における平均骨格座標と、面積の差が第1許容値以内であった1フレーム前の人物における平均骨格座標と、の比較を行う。そして、比較追跡部3463は、平均骨格座標の差が第2許容値以内に属する1フレーム前の人物と現フレームの人物とが同一人物であると判断する。その結果、比較追跡部3463は、例えば、同一人物であると判断した1フレーム前の人物に対応する認識番号を今フレームの人物に対応する認識番号とする。なお、平均骨格座標の差が第2許容値以内に属する人物が複数存在する場合、比較追跡部3463は、平均骨格座標の差が第2許容値に最も近い人物を同一の人物と判断することが出来る。平均骨格座標の差が第2許容値以内に属する人物が複数存在する場合、比較追跡部3463は、エラーと判断するなど上記例示した以外の処理を行うよう構成しても構わない。
また、追跡対象の面積との差が第1許容値以内である面積が1フレーム前において一つも算出されていなかった場合、また、平均骨格座標の差が第2許容値以内に属する1フレーム前の人物が存在しなかった場合、比較追跡部3463は、追跡対象の人物を新規に認識した人物であると判断する。この場合、比較追跡部3463は、新たに認識した人物に対して新たな認識番号を割り振ることになる。
なお、比較追跡部3463は、第1許容値として、過去数フレームにおいて同一人物であると判断された人物に対応する面積の増減速度などに基づいて推定される推定面積値などを用いることが出来る。第1許容値は、予め定められたものであっても構わない。
また、比較追跡部3463は、第2許容値として、過去数フレームにおいて同一人物であると判断された人物に対応する平均骨格座標の移動速度から推測される推測座標値などを用いることが出来る。第2許容値は、第1許容値と同様に、予め定められたものであっても構わない。
以上が、追跡部346の構成例である。続いて、図28を参照して、追跡部346の動作例について説明する。
図28を参照すると、内包図形生成部3461は、骨格認識部342が認識したすべての部位の座標(骨格情報334に含まれる座標)を内包する図形を人物ごとに生成する。また、内包図形生成部3461は、生成した図形の面積を算出する(ステップS401)。
平均骨格座標算出部3462は、骨格認識部342が認識したすべての部位の座標(骨格情報334に含まれる座標)の平均値を人物ごとに算出することで、平均骨格座標を算出する(ステップS402)。
比較追跡部3463は、現フレームにおいて算出した追跡対象の人物に対応する面積と、1フレーム前において算出した面積と、の間で比較を行う(ステップS403)。
1フレーム前における各人の面積のうち、現フレームにおける追跡対象の人物に対応する面積との差が第1許容値以内に属する面積が1つである場合(ステップS403、1)、比較追跡部3463は、面積の差が第1許容値以内に属する1フレーム前の人物と現フレームの人物とが同一人物であると判断する(ステップS404)。その結果、比較追跡部3463は、例えば、1フレーム前の人物に対応する認識番号を今フレームの認識番号とする。
また、追跡対象の面積との差が第1許容値以内である面積が1フレーム前において複数算出されていた場合(ステップS403、複数)、比較追跡部3463は、追跡対象の人物における平均骨格座標と、面積の差が第1許容値以内であった1フレーム前の人物における平均骨格座標と、の比較を行う(ステップS405)。そして、追跡対象の平均骨格座標との差が第2許容値以内である人物が1フレーム前に存在する場合(ステップS405、Yes)、比較追跡部3463は、1フレーム前の人物と追跡対象の人物とが同一人物であると判断する(ステップS404)。なお、追跡対象の平均骨格座標との差が第2許容値以内である人物が1フレーム前に複数存在する場合、比較追跡部3463は、例えば、差が第2許容値に最も近い人物を同一人物であると判断することが出来る。また、追跡対象の平均骨格座標との差が第2許容値以内である人物が1フレーム前に存在しない場合(ステップS405、No)、比較追跡部3463は、追跡対象の人物を新規に認識した人物であると判断する(ステップS406)。この場合、比較追跡部3463は、新たに認識した人物に対して新たな認識番号を割り振ることになる。
また、追跡対象の面積との差が第1許容値以内である面積が1フレーム前において1つも算出されていなかった場合(ステップS403、0)、比較追跡部3463は、追跡対象の人物を新規に認識した人物であると判断する(ステップS406)。この場合、比較追跡部3463は、新たに認識した人物に対して新たな認識番号を割り振ることになる。
以上が追跡部346の動作例である。
以上のように、本実施形態における歩行姿勢測定装置300の場合、追跡部346を有している。このような構成により、追跡部346は、骨格認識部342による認識の結果に基づいて、同一人物の追跡を行うことが出来る。その結果、歩行速度を誤って算出することなどを抑制することが可能となり、歩行姿勢測定の精度を向上させることが可能となる。
なお、本実施形態においては、内包図形生成部3461が生成した内包図形の面積を算出する場合について例示した。しかしながら、内包図形生成部3461は、生成した内包図形に基づく面積以外の値を算出するよう構成しても構わない。例えば、内包図形生成部3461は、生成した内包図形の高さや直径などを面積の代わりに算出しても構わない。この場合、比較追跡部3463は、内包図形生成部3461が生成した図形に基づいて算出した高さなどの値を、面積の代わりに比較することになる。
また、内包図形生成部3461は、すべての座標に内包する図形を生成するとした。しかしながら、内包図形生成部3461は、例えば、人物の上半身に相当する座標に内包する図形を生成するなど、骨格認識部342が認識した座標の一部を内包する図形を生成するよう構成しても構わない。また、平均骨格座標算出部3462も、人物の上半身に相当する座標の平均座標など、骨格認識部342が認識した座標の一部に基づいて平均座標を算出しても構わない。
また、比較追跡部3463は、内包図形生成部3461が生成した内包図形に基づく値の比較と、平均骨格座標の比較と、のうちのいずれか一方のみを行うよう構成しても構わない。
また、本実施形態で説明した骨格認識部342による認識の結果を用いた追跡は、歩行姿勢を測定する場面以外において人物の追跡を行う場合に適用しても構わない。つまり、追跡部346としての機能は、歩行姿勢測定装置300以外の人物追跡が必要な装置に適用されても構わない。このように、本実施形態で説明した、骨格情報を用いた人物の追跡方法は、歩行姿勢の測定を行う場合に限定されず様々な場面に活用することが出来る。
そのほか、本実施形態の場合も、第1の実施形態と同様に、様々な変形例を採用して構わない。
[第3の実施形態]
次に、本発明の第3の実施形態について、図29、図30を参照して説明する。図29、図30は、撮影装置400の構成例を示している。
撮影装置400は、人物が歩行する様子を撮影する。図29は、撮影装置400のハードウェア構成例を示している。図29を参照すると、撮影装置400は、撮影を行うためのカメラなどの他、一例として、以下のようなハードウェア構成を有している。
・CPU(Central Processing Unit)401(演算装置)
・ROM(Read Only Memory)402(記憶装置)
・RAM(Random Access Memory)403(記憶装置)
・RAM403にロードされるプログラム群404
・プログラム群404を格納する記憶装置405
・情報処理装置外部の記録媒体410の読み書きを行うドライブ装置406
・情報処理装置外部の通信ネットワーク411と接続する通信インタフェース407
・データの入出力を行う入出力インタフェース408
・各構成要素を接続するバス409
また、撮影装置400は、プログラム群404をCPU401が取得して当該CPU401が実行することで、図30に示す検出部421、表示部422としての機能を実現することが出来る。なお、プログラム群404は、例えば、予め記憶装置405やROM402に格納されており、必要に応じてCPU401がRAM403などにロードして実行する。また、プログラム群404は、通信ネットワーク411を介してCPU401に供給されてもよいし、予め記録媒体410に格納されており、ドライブ装置406が該プログラムを読み出してCPU401に供給してもよい。
なお、図29は、撮影装置400のハードウェア構成例を示している。撮影装置400のハードウェア構成は上述した場合に限定されない。例えば、撮影装置400は、ドライブ装置406を有さないなど、上述した構成の一部から構成されてもよい。
検出部421は、撮影装置400の向きを検出する。例えば、検出部421は、撮影装置400が縦向きであるか、または、横向きであるかを検出する。
表示部422は、人物が歩く位置を示すガイド線を画面表示部上に表示する。例えば、表示部422は、検出部421が検出した撮影装置400の向きに応じて異なるガイド線を表示する。
このように、撮影装置400は、検出部421と、表示部422と、を有している。このような構成により、表示部422は、検出部421が検出した撮影装置400の向きに応じて異なるガイド線を表示することが出来る。その結果、撮影装置400の向きに応じた画像データを取得する際に、それぞれに応じた適切な補助を行うことが可能となる。その結果、複数の画像データを取得する際に、撮影条件を出来る限り揃えることが可能となる。
なお、上述した撮影装置400は、当該撮影装置400に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、撮影装置400に、撮影装置の向きを検出する検出部421と、人物が歩く位置を示すガイド線を画面表示部上に表示する表示部422と、を実現させ、表示部422は、検出部421が検出した撮影装置の向きに応じて異なる前記ガイド線を表示するプログラムである。
また、上述した撮影装置400により実行されるガイド方法は、人物が歩行する様子を撮影する撮影装置400が、撮影装置の向きを検出し、人物が歩く位置を示すガイド線を画面表示部上に表示し、ガイド線を画面表示部上に表示する際には、検出した撮影装置の向きに応じて異なるガイド線を表示する、という方法である。
上述した構成を有する、プログラム、又は、ガイド方法、の発明であっても、上述した撮影装置400と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
[第4の実施形態]
次に、本発明の第4の実施形態について、図31を参照して説明する。図31は、
情報処理装置500の構成例を示している。
情報処理装置500は、例えば、図29を参照して説明した撮影装置400のハードウェア構成と同様の構成を有している。また、情報処理装置500は、当該情報処理装置500が有するプログラム群をCPUが取得して当該CPUが実行することで、図31に示す算出部521としての機能を実現することが出来る。
算出部521は、画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報と、に基づいて、画像データ中の所定位置における実際の長さを算出する。
このように、情報処理装置500は、算出部521を有している。このような構成により、算出部521は、各種情報に基づいて、画像データ中の所定位置における実際の長さを算出することが出来る。その結果、スマートフォンなどの撮影装置が取得した画像データに基づいて、実際の長さを用いた分析などを行うことが可能となる。
なお、上述した情報処理装置500は、当該情報処理装置500に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置500に、画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報と、に基づいて、画像データ中の所定位置における実際の長さを算出する算出部521を実現するためのプログラムである。
また、上述した情報処理装置500により実行される算出方法は、情報処理装置500が、画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報とを取得し、取得した情報に基づいて、画像データ中の所定位置における実際の長さを算出する、という方法である。
上述した構成を有する、プログラム、又は、算出方法、の発明であっても、上述した情報処理装置500と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
[第5の実施形態]
次に、本発明の第5の実施形態について、図32を参照して説明する。図32は、情報処理装置600の構成例を示している。
情報処理装置600は、例えば、図29を参照して説明した撮影装置400のハードウェア構成と同様の構成を有している。また、情報処理装置600は、当該情報処理装置600が有するプログラム群をCPUが取得して当該CPUが実行することで、図32に示す検出部621、出力部622としての機能を実現することが出来る。
検出部621は、情報処理装置の傾きを検出する。
出力部622は、情報処理装置の傾き方に応じて異なる、検出部621が検出した情報処理装置の傾きに応じた情報を出力する。
このように、情報処理装置600は、検出部621と出力部622とを有している。このような構成によると、出力部622は、検出部621が検出した情報処理装置の傾きに応じた情報を出力することが出来る。その結果、情報処理装置600を操作する操作者が出力された情報に応じて傾きの修正を行うことが可能となる。
なお、上述した情報処理装置600は、当該情報処理装置600に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置600に、情報処理装置600の傾きを検出する検出部621と、情報処理装置600の傾き方に応じて異なる、検出部621が検出した情報処理装置600の傾きに応じた情報を出力する出力部622と、を実現するためのプログラムである。
また、上述した情報処理装置600により実行される算出方法は、情報処理装置600が、情報処理装置600の傾きを検出し、情報処理装置の傾き方に応じて異なる、検出した情報処理装置の傾きに応じた情報を出力する、という方法である。
上述した構成を有する、プログラム、又は、出力方法、の発明であっても、上述した情報処理装置600と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
[第6の実施形態]
次に、本発明の第6の実施形態について、図33を参照して説明する。図33は、追跡装置700の構成例を示している。
追跡装置700は、例えば、図29を参照して説明した撮影装置400のハードウェア構成と同様の構成を有している。また、追跡装置700は、当該追跡装置700が有するプログラム群をCPUが取得して当該CPUが実行することで、図33に示す取得部721、追跡部722としての機能を実現することが出来る。
取得部721は、画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得する。
追跡部722は、取得部721が取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う。
このように、追跡装置700は、取得部721と追跡部722とを有している。このような構成により、追跡部722は、取得部721が取得した部位を示す情報に基づく追跡を行うことが出来る。これにより、容易な追跡を実現することが可能となる。
なお、上述した追跡装置700は、当該追跡装置700に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、追跡装置700に、画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得する取得部721と、取得部721が取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う追跡部722と、を実現するためのプログラムである。
また、上述した追跡装置700により実行される追跡方法は、追跡装置700が、画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得し、取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う、という方法である。
上述した構成を有する、プログラム、又は、追跡方法、の発明であっても、上述した追跡装置700と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるガイド方法などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
人物が歩行する様子を撮影する撮影装置が、
撮影装置の向きを検出し、
人物が歩く位置を示すガイド線を画面表示部上に表示し、
前記ガイド線を画面表示部上に表示する際には、検出した撮影装置の向きに応じて異なる前記ガイド線を表示する
ガイド方法。
(付記2)
付記1に記載のガイド方法であって、
撮影装置が縦向きであるか、または、横向きであるかに応じて、異なる前記ガイド線を表示する
ガイド方法。
(付記3)
付記1または付記2に記載のガイド方法であって、
撮影装置が縦向きである場合、画面手前奥方向に歩く人物をガイドするための前記ガイド線を表示する
ガイド方法。
(付記4)
付記1から付記3までのいずれか1項に記載のガイド方法であって、
撮影装置が横向きである場合、画面左右方向に歩く人物をガイドするためのガイド線を表示する
ガイド方法。
(付記5)
付記1から付記4までのいずれか1項に記載のガイド方法であって、
撮影装置の傾きを検出して、検出した傾きを示す情報を画面表示部上に表示する
ガイド方法。
(付記6)
付記1から付記5までのいずれか1項に記載のガイド方法であって、
撮影装置の傾きを検出して、検出した傾きに応じた情報を出力する
ガイド方法。
(付記7)
付記6に記載のガイド方法であって、
左右方向の傾きと、手前奥方向の傾きと、を検出して、左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる情報を出力する
ガイド方法。
(付記8)
付記6または付記7に記載のガイド方法であって、
左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる方法で調整した音を出力する
ガイド方法。
(付記9)
人物が歩行する様子を撮影する撮影装置であって、
撮影装置の向きを検出する検出部と、
人物が歩く位置を示すガイド線を画面表示部上に表示する表示部と、
を有し、
前記表示部は、前記検出部が検出した撮影装置の向きに応じて異なる前記ガイド線を表示する
撮影装置。
(付記10)
人物が歩行する様子を撮影する撮影装置に、
撮影装置の向きを検出する検出部と、
人物が歩く位置を示すガイド線を画面表示部上に表示する表示部と、
を実現させ、
前記表示部は、前記検出部が検出した撮影装置の向きに応じて異なる前記ガイド線を表示する
プログラム。
(付記11)
情報処理装置が、
画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報とを取得し、取得した情報に基づいて、画像データ中の所定位置における実際の長さを算出する
算出方法。
(付記12)
付記11に記載の算出方法であって、
所定の基準に基づいて長さを算出する基準線を決定し、決定した基準線の画像データ端から端までの実際の長さを算出する
算出方法。
(付記13)
付記12に記載の算出方法であって、
画像データ中の人物の足の位置に基づいて前記基準線を決定する
算出方法。
(付記14)
付記12または付記13に記載の算出方法であって、
画像データが示す画面上における前記基準線の位置の画面半分からの割合を算出し、算出した割合と、前記パラメータと、前記高さと、に基づいて、前記基準線の実際の長さを算出する
算出方法。
(付記15)
付記11から付記14までのいずれか1項に記載の算出方法であって、
前記パラメータは、撮影装置の垂直視野角と水平視野角を示す情報を含んでいる
算出方法。
(付記16)
付記11から付記15までのいずれか1項に記載の算出方法であって、
撮影装置の垂直視野角θと、水平視野角ψと、画面上において定められる基準線の位置の画面半分からの割合αと、高さhと、を用いる数式1に基づいて、実際の長さWを算出する
算出方法。
(付記17)
付記11から付記16までのいずれか1項に記載の算出方法であって、
算出した長さと、画像データの解像度と、に基づいて、人物の歩幅を算出する
算出方法。
(付記18)
付記17に記載の算出方法であって、
画像データにおける人物の左右の足の間のピクセル数を取得し、
算出した長さと、画像データの解像度と、取得したピクセル数と、に基づいて、人物の歩幅を算出する
算出方法。
(付記19)
画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報と、に基づいて、画像データ中の所定位置における実際の長さを算出する算出部を有する
情報処理装置。
(付記20)
情報処理装置に、
画像データを取得する撮影装置のパラメータと、画像データを取得する際の撮影装置の高さを示す情報と、に基づいて、画像データ中の所定位置における実際の長さを算出する算出部を実現するためのプログラム。
(付記21)
情報処理装置が、
情報処理装置の傾きを検出し、
情報処理装置の傾き方に応じて異なる、情報処理装置の傾きに応じた情報を出力する
出力方法。
(付記22)
付記21に記載の出力方法であって、
情報処理装置の左右方向の傾きと、手前奥方向の傾きと、を検出し、
左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる情報を出力する
出力方法。
(付記23)
付記21または付記22に記載の出力方法であって、
左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる方法で調整した音を出力する
出力方法。
(付記24)
付記23に記載の出力方法であって、
左右方向の傾きを検出した際に音程と音の長さのうちのいずれかを調整した音を出力し、手前奥方向の傾きを検出した際に音程と音の長さのうち左右方向の傾きを検出した際とは異なる方法で調整した音を出力する
出力方法。
(付記25)
付記21から付記24までのいずれか1項に記載の出力方法であって、
情報処理装置が傾いている場合に2種類の音を出力し、
情報処理装置が傾いていない場合に1種類の音を出力する
出力方法。
(付記26)
付記1から付記25までのいずれか1項に記載の出力方法であって、
情報処理装置の傾きを示す情報を画面表示部に表示する
出力方法。
(付記27)
情報処理装置の傾きを検出する検出部と、
情報処理装置の傾き方に応じて異なる、前記検出部が検出した情報処理装置の傾きに応じた情報を出力する出力部と、
を有する
情報処理装置。
(付記28)
付記27に記載の情報処理装置であって、
前記検出部は、情報処理装置の左右方向の傾きと、手前奥方向の傾きと、を検出し、
前記出力部は、前記検出部が左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる情報を出力する
情報処理装置。
(付記29)
情報処理装置に、
情報処理装置の傾きを検出する検出部と、
情報処理装置の傾き方に応じて異なる、前記検出部が検出した情報処理装置の傾きに応じた情報を出力する出力部と、
を実現するためのプログラム。
(付記30)
付記29に記載のプログラムであって、
前記検出部は、情報処理装置の左右方向の傾きと、手前奥方向の傾きと、を検出し、
前記出力部は、前記検出部が左右方向の傾きを検出した際と手前奥方向の傾きを検出した際とで異なる情報を出力する
プログラム。
(付記31)
情報処理装置が、
画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得し、
取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う
追跡方法。
(付記32)
付記31に記載の追跡方法であって、
認識した部位のうちの少なくとも一部を内包する内包図形を生成し、
生成した前記内包図形に応じた値に基づいて同一人物の追跡を行う
追跡方法。
(付記33)
付記32に記載の追跡方法であって、
画像データ間における、前記内包図形に応じた値の差に基づいて、同一人物の追跡を行う
追跡方法。
(付記34)
付記33に記載の追跡方法であって、
追跡対象の前記内包図形に応じた値と、追跡対象が属する画像データとは異なる画像データに含まれる人物に対応する前記内包図形に応じた値と、の間の差が所定値以内となる数が1つであった場合、差が所定値以内となる人物を追跡対象の人物と同一人物であると判断する
追跡方法。
(付記35)
付記34に記載の追跡方法であって、
前記所定値は、複数の画像データ間における前記内包図形に応じた値の変化具合に応じて定められる
追跡方法。
(付記36)
付記31から付記35までのいずれか1項に記載の追跡方法であって、
認識した部位の座標のうちの少なくとも一部の部位の座標の平均値を算出し、
算出した結果に基づいて同一人物の追跡を行う
追跡方法。
(付記37)
付記36に記載の追跡方法であって、
画像データ間における、前記平均値の差に基づいて、同一人物の追跡を行う
追跡方法。
(付記38)
付記36または付記37に記載の追跡方法であって、
追跡対象の前記平均値と、追跡対象が属する画像データとは異なる画像データに含まれる人物に対応する前記平均値と、の間の差に基づいて同一人物の追跡を行う
追跡方法。
(付記39)
画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得する取得部と、
前記取得部が取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う追跡部と、
を有する
追跡装置。
(付記40)
追跡装置に、
画像データ中の人物の骨格を認識することにより認識した人物の複数の部位を示す情報を取得する取得部と、
前記取得部が取得した情報に基づいて、複数の画像データ間における同一人物の追跡を行う追跡部と、
を実現するためのプログラム。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
なお、本発明は、日本国にて2020年3月25日に特許出願された特願2020-053977の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする。