JP6152511B2 - 携帯端末装置、プログラムおよび補正方法 - Google Patents

携帯端末装置、プログラムおよび補正方法 Download PDF

Info

Publication number
JP6152511B2
JP6152511B2 JP2013072311A JP2013072311A JP6152511B2 JP 6152511 B2 JP6152511 B2 JP 6152511B2 JP 2013072311 A JP2013072311 A JP 2013072311A JP 2013072311 A JP2013072311 A JP 2013072311A JP 6152511 B2 JP6152511 B2 JP 6152511B2
Authority
JP
Japan
Prior art keywords
terminal device
user
mobile terminal
walking
angular velocity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013072311A
Other languages
English (en)
Other versions
JP2014196941A (ja
JP2014196941A5 (ja
Inventor
松本 真人
真人 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013072311A priority Critical patent/JP6152511B2/ja
Priority to CN201480017606.4A priority patent/CN105051492B/zh
Priority to PCT/JP2014/058466 priority patent/WO2014157310A1/ja
Publication of JP2014196941A publication Critical patent/JP2014196941A/ja
Priority to US14/864,166 priority patent/US10545031B2/en
Publication of JP2014196941A5 publication Critical patent/JP2014196941A5/ja
Application granted granted Critical
Publication of JP6152511B2 publication Critical patent/JP6152511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)
  • Studio Devices (AREA)
  • Gyroscopes (AREA)

Description

本発明は、観測対象物(特に歩行者)の運動に関する情報を測定するセンサを補正(較正)する技術に関する。
従来より、歩行者を目的地に誘導するためのアプリケーションが提案されている。そして、歩行者を正確に目的地に誘導するためには、歩行者の位置をリアルタイムで高精度に把握することが必要となる。歩行者の位置を測定する測位技術としては、歩行者が携帯する端末により衛星からの電波を受信するGPS(Global Positioning System)技術が一般的である。しかし、駅ビルや地下街といった屋内においては、端末が衛星からの電波を受信できないため、GPSによる測位は採用できない。このため、屋内における歩行者の誘導を実現する技術として、加速度センサや角速度センサ、あるいは磁気センサ等の自蔵センサを用いた相対的な測位技術が提案されている。自蔵センサによる相対的な測位は、例えば、歩行者の運動を自蔵センサにより検出し、進行方向と進行速度を推定し歩行者の移動ベクトルを算出することにより、実現される。
しかし、自蔵センサ(特に、ジャイロセンサ(角速度センサ))は、バイアスノイズが温度等の外乱により常に変化するため、定期的にキャリブレーションする必要がある。このような技術が、例えば、特許文献1ないし4に記載されている。特許文献1には、歩行者の動きから、当該歩行者が静止している状態を判定し、当該歩行者が静止している期間にジャイロバイアスの補正を行う技術が記載されている。また、特許文献2には、歩行者の進行方向を地図から推定して、ジャイロセンサの補正を行う技術が記載されている。また、特許文献3には、車両の進行方向をジャイロセンサから算出して、進行方向の変化量が閾値以下の場合に、当該車両の進行方向が直線であるとみなして、当該ジャイロセンサの補正を行う技術が記載されている。さらに、特許文献4には、車両から観測される白線や道路標識を基準として車両の位置を推定する技術が記載されている。
再公表2010−001968号公報 特許第5059933号公報 特開平07−324941号公報 特許第4897542号公報
ところが、特許文献1に記載されている技術では、歩行者が静止している期間が補正に不十分だった場合や、静止状態の検出に失敗したときには、誤った値で測位を始めることになるという問題があった。
また、歩行者は常に地図上の道や車線に沿って歩行するわけではなく、人を避けたり、道を横断したりといった状況がむしろ普通に発生する。したがって、特許文献2および特許文献4に記載されている技術では、地図上の進行方向が必ずしも実際の歩行者の進行方向ではないために、誤った補正がされるという問題があった。
また、歩行者の運動は、進行方向に対して常に正対しておらず、足や腕の動きに応じて比較的大きく変動する。さらに、歩行者の歩行動作における進行方向は、回転や振動、振り子運動、上下運動などの局所的で複雑な動きが合成されて、いわば巨視的に形成されている。したがって、特許文献3に記載されている技術では、巨視的に形成される歩行者の進行方向に関して、その変化量を適切に評価するための閾値を、局所的な動きを検出するジャイロセンサに適した値として決定することが難しいという問題があった。
そもそも、特許文献3および特許文献4は、動きに関して局所的に見ても巨視的に見てもあまり差のない車両のような物体に適用される技術であって、これらの技術をそのまま歩行者に適用するのは困難である。
本発明は、上記課題に鑑みてなされたものであり、歩行者の動きを検出するジャイロセンサを適切に補正する技術を提供することを目的とする。
上記の課題を解決するため、請求項1の発明は、ユーザによって携帯される携帯端末装置であって、前記携帯端末装置の移動における角速度を測定して角速度情報を取得するジャイロセンサと、前記携帯端末装置の移動における加速度を測定して加速度情報を取得する加速度センサと、前記携帯端末装置が移動している期間における周囲の被写体を撮像して画像情報を取得するカメラと、前記画像情報に基づいて前記被写体の動きベクトルを算出するベクトル演算手段と、前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する相関判定手段と、前記ベクトル演算手段により算出された前記被写体の動きベクトルと前記相関判定手段により判定された前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段とを備える。
また、請求項2の発明は、請求項1の発明に係る携帯端末装置であって、前記ベクトル演算手段は、前記画像情報をそれぞれが第1のサイズとなる複数のブロックに分割し、前記複数のブロックのそれぞれを前記第1のサイズよりも小さい第2のサイズとなる複数のサブブロックに分割し、前記複数のサブブロックごとにエッジ量を検出して、前記複数のブロックのそれぞれにおいてエッジ量が最大となるサブブロックを各ブロックの代表サブブロックとして決定し、決定した前記代表サブブロックの動きベクトルを算出することにより、前記被写体の動きベクトルを算出する。
また、請求項3の発明は、請求項2の発明に係る携帯端末装置であって、前記ベクトル演算手段は、前記代表サブブロックの動きベクトルを、前記ユーザの歩行周期単位に平均することにより、前記被写体の動きベクトルを求める。
また、請求項4の発明は、請求項2の発明に係る携帯端末装置であって、前記ベクトル演算手段は、前記ユーザの歩行周期に同期した演算タイミングで、前記代表サブブロックの動きベクトルを算出する。
また、請求項5の発明は、請求項4の発明に係る携帯端末装置であって、前記加速度センサにより取得された加速度情報に基づいて、歩行周期ごとに到来する、前記カメラの速度が最小となるタイミングを決定し、前記演算タイミングは、前記カメラの速度が最小となるタイミングとなるように決定される。
また、請求項6の発明は、請求項4の発明に係る携帯端末装置であって、前記演算タイミングは、前記ユーザの両足が着地しているときとなるように決定される。
また、請求項7の発明は、請求項2の発明に係る携帯端末装置であって、前記カメラは、前記ユーザの歩行周期に同期した撮像タイミングで、前記携帯端末装置が移動している期間における周囲の被写体を撮像する。
また、請求項8の発明は、請求項7の発明に係る携帯端末装置であって、前記加速度センサにより取得された加速度情報に基づいて、歩行周期ごとに到来する、前記カメラの速度が最小となるタイミングを決定し、前記演算タイミングは、前記カメラの速度が最小となるタイミングとなるように決定される。
また、請求項9の発明は、請求項7の発明に係る携帯端末装置であって、前記撮像タイミングは、前記ユーザの両足が着地しているときとなるように決定される。
また、請求項10の発明は、請求項3ないし9のいずれかの発明に係る携帯端末装置であって、前記歩行周期は、前記ユーザの歩行動作において、前記ユーザが左右の足をそれぞれ1歩ずつ進める時間に応じて決定されている。
また、請求項11の発明は、請求項1ないし10のいずれかの発明に係る携帯端末装置であって、前記相関関係には、前記ユーザの歩行動作による進行方向に対して前記カメラの撮像方向が正対する関係が含まれる。
また、請求項12の発明は、請求項11の発明に係る携帯端末装置であって、前記ユーザの歩行動作による進行方向に対して前記カメラの撮像方向が正対している場合において、前記直進歩行判定手段は、前記ベクトル演算手段により求められた前記被写体の動きベクトルが、画像情報において放射状となっている場合に、前記ユーザの歩行動作が直進状態であると判定する。
また、請求項13の発明は、ユーザによって携帯される携帯端末装置であって、前記携帯端末装置の移動における角速度を測定して角速度情報を取得するジャイロセンサと、前記携帯端末装置の移動における加速度を測定して加速度情報を取得する加速度センサと、前記携帯端末装置を所持したユーザの既知の歩行動作におけるパターンの特徴点を学習し、前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段とを備える。
また、請求項14の発明は、請求項13の発明に係る携帯端末装置であって、前記直進歩行判定手段は、前記ユーザの歩行動作における歩行周期に応じて、前記パターンとの比較を行う。
また、請求項15の発明は、請求項13の発明に係る携帯端末装置であって、前記歩行周期は、前記ユーザの歩行動作において、前記ユーザが左右の足をそれぞれ1歩ずつ進める時間に応じて決定されている。
また、請求項16の発明は、ユーザによって携帯されるコンピュータによる読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、前記コンピュータの移動における角速度を測定して角速度情報を取得するジャイロセンサと、前記コンピュータの移動における加速度を測定して加速度情報を取得する加速度センサと、前記コンピュータが移動している期間における周囲の被写体を撮像して画像情報を取得するカメラと、前記画像情報に基づいて前記被写体の動きベクトルを算出するベクトル演算手段と、前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する相関判定手段と、前記ベクトル演算手段により算出された前記被写体の動きベクトルと前記相関判定手段により判定された前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段とを備えるコンピュータとして機能させる。
また、請求項17の発明は、ユーザによって携帯されるコンピュータによる読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、前記コンピュータの移動における角速度を測定して角速度情報を取得するジャイロセンサと、前記コンピュータの移動における加速度を測定して加速度情報を取得する加速度センサと、前記コンピュータを携帯したユーザの既知の歩行動作におけるパターンの特徴点を学習し、前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段とを備えるコンピュータとして機能させる。
また、請求項18の発明は、補正方法であって、携帯端末装置の移動における角速度をジャイロセンサにより測定して角速度情報を取得する工程と、前記携帯端末装置の移動における加速度を加速度センサにより測定して加速度情報を取得する工程と、前記携帯端末装置が移動している期間における周囲の被写体をカメラにより撮像して画像情報を取得する工程と、前記カメラにより取得された前記画像情報に基づいて前記被写体の動きベクトルを算出する工程と、前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する工程と、算出された前記被写体の動きベクトルと前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する工程と、前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する工程とを有する。
また、請求項19の発明は、補正方法であって、携帯端末装置を所持したユーザの既知の歩行動作におけるパターンの特徴点を学習させる工程と、携帯端末装置の移動における角速度をジャイロセンサにより測定して角速度情報を取得する工程と、前記携帯端末装置の移動における加速度を加速度センサにより測定して加速度情報を取得する工程と、前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する工程と、前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する工程とを有する。
請求項1ないし12、請求項16および請求項18に記載の発明は、画像情報に基づいて被写体の動きベクトルを算出し、ジャイロセンサにより取得された角速度情報と加速度センサにより取得された加速度情報とに応じて、ユーザの歩行動作による進行方向とカメラの撮像方向との相対関係を判定し、算出された被写体の動きベクトルと当該相関関係とに応じて、ユーザが歩行動作における直進状態か否かを判定することにより、ユーザが歩行動作における直進状態であるか否かを精度よく判定することができる。
また、請求項13ないし15、請求項17および請求項19に記載の発明は、ジャイロセンサにより取得された角速度情報および加速度センサにより取得された加速度情報を、予め与えられる歩行動作におけるパターンと比較することにより、ユーザが歩行動作における直進状態か否かを判定することにより、ユーザが歩行動作における直進状態であるか否かを精度よく判定することができるとともに、カメラを設ける必要がない。
第1の実施の形態における携帯端末装置を示す図である。 第1の実施の形態における携帯端末装置のブロック図である。 第1の実施の形態における携帯端末装置が備える機能ブロックをデータの流れとともに示す図である。 第1の実施の形態におけるジャイロセンサに対する補正処理を示す流れ図である。 第1の実施の形態における代表サブブロック決定処理を示す流れ図である。 第1の実施の形態における代表サブブロック決定処理を示す流れ図である。 ベクトル演算部による画像情報の分割の様子を示す図である。 図7に示すブロックをベクトル演算部が分割する様子を示す図である。 第1の実施の形態における直進歩行検出処理を示す流れ図である。 ジャイロセンサ、加速度センサおよびカメラの座標系を示す図である。 ユーザの歩行動作における座標系を示す図である。 人の歩行動作における加速度αv,αwおよび角速度ωvとを例示する図である。 第2の実施の形態における携帯端末装置が備える機能ブロックをデータの流れとともに示す図である。 第2の実施の形態における携帯端末装置により実行される補正処理を示す流れ図である。 第2の実施の形態における直進歩行検出処理を示す流れ図である。 第3の実施の形態における携帯端末装置が備える機能ブロックをデータの流れとともに示す図である。 第3の実施の形態における携帯端末装置によって実行される補正処理を示す流れ図である。 第4の実施の形態における携帯端末装置のブロック図である。 第4の実施の形態における携帯端末装置が備える機能ブロックをデータの流れとともに示す図である。 第4の実施の形態における携帯端末装置によって実行される補正処理を示す流れ図である。
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。ただし、以下の説明において特に断らない限り、方向や向きに関する記述は、当該説明の便宜上、図面に対応するものであり、例えば実施品、製品または権利範囲等を限定するものではない。
<1. 第1の実施の形態>
図1は、第1の実施の形態における携帯端末装置1を示す図である。携帯端末装置1は、操作部12および表示部13を備えており、ユーザによって携帯される装置として構成されている。
以下の説明において、歩行者であるユーザの歩行動作は、当該ユーザが歩いているのか、走っているのかを区別しないものとする。また、歩行動作における「1歩」とは、人が片足を上げ始めてから、その足を前に出し、その足が地面に着き、次の足を上げ始めるまでの動作とする。また、「1複歩」とは、左右1歩ずつの動作を含む動作とする。さらに、「1複歩時間」とは、1複歩にかかる時間とする。
操作部12は、携帯端末装置1に対してユーザが指示を与えるために操作されるハードウェアである。操作部12としては、例えば、各種ボタン類やキー、回転セレクタ、タッチパネルなどが該当する。
表示部13は、ユーザに対して各種情報を表示することにより、情報を提供する機能を有するハードウェアである。表示部13としては、例えば、ランプやLED、液晶パネル、液晶ディスプレイ、有機ELディスプレイなどが該当する。
図2は、第1の実施の形態における携帯端末装置1のブロック図である。携帯端末装置1は、CPU10、記憶装置11、ジャイロセンサ14、加速度センサ15およびカメラ16を備えている。
CPU10は、記憶装置11に格納されているプログラム110を読み取りつつ実行し、各種データの演算や制御信号の生成等を行う。これにより、CPU10は、携帯端末装置1が備える各構成を制御するとともに、各種データを演算し作成する機能を有している。すなわち、携帯端末装置1は、一般的なコンピュータとして構成されている。
記憶装置11は、携帯端末装置1において各種データを記憶する機能を提供する。言い換えれば、記憶装置11が携帯端末装置1において電子的に固定された情報を保存する。特に、本実施の形態における記憶装置11は、プログラム110を記憶するために使用される。
記憶装置11としては、CPU10の一時的なワーキングエリアとして使用されるRAMやバッファ、読み取り専用のROM、不揮発性のメモリ(例えばNANDメモリなど)、比較的大容量のデータを記憶するハードディスク、専用の読み取り装置に装着された可搬性の記憶媒体(PCカード、SDカード、USBメモリなど)等が該当する。図2においては、あたかも記憶装置11が1つの構造物であるかのように図示している。しかし、通常、記憶装置11は、上記例示した各種装置(あるいは媒体)のうち、必要に応じて採用される複数種類の装置から構成されるものである。すなわち、本実施の形態において、記憶装置11は、データを記憶する機能を有する装置群の総称である。
また、現実のCPU10は高速にアクセス可能なRAMを内部に備えた電子回路である。しかし、このようなCPU10が備える記憶装置も、説明の都合上、記憶装置11に含めて説明する。すなわち、本実施の形態においては、一時的にCPU10自体が記憶するデータも、記憶装置11が記憶するとして説明する。
ジャイロセンサ14は、携帯端末装置1の移動における角速度を測定して角速度情報140(図3参照)を取得する。以下の説明では、ジャイロセンサ14が角速度情報140を取得する周期(サンプリング周期)を、「Ts」と称する。
加速度センサ15は、携帯端末装置1の移動における加速度を測定して加速度情報150(図3参照)を取得する。
詳細は図示しないが、カメラ16は、レンズやミラーなどの光学素子と、CCDなどの光電変換素子とを備えており、一般的なデジタルカメラとして構成されている。カメラ16は、少なくとも携帯端末装置1が移動している期間における周囲の被写体を撮像して画像情報160(図3参照)を取得する。
カメラ16は、CPU10からの制御信号に応じて、所定の撮像タイミングで撮像するように構成されている。第1の実施の形態におけるカメラ16は、撮像周期「Tc」で撮像を行い、新たな画像情報160を取得するものとする。
図3は、第1の実施の形態における携帯端末装置1が備える機能ブロックをデータの流れとともに示す図である。図に示す歩行周期演算部100、ベクトル演算部101、相関判定部102、直進歩行判定部103および補正部104は、CPU10がプログラム110に従って動作することにより実現される機能ブロックである。
歩行周期演算部100は、角速度情報140および加速度情報150を参照して、ユーザ(歩行者)の歩行動作における歩行周期を決定する。歩行周期演算部100は、決定した歩行周期をベクトル演算部101および補正部104に伝達する。また、詳細は後述するが、歩行周期演算部100は、ユーザの進行方向を相関判定部102に伝達する機能も有している。
ベクトル演算部101は、画像情報160に基づいて、画像情報160における被写体の動きベクトルを算出し、動きベクトル情報111を作成する機能を有している。ベクトル演算部101が動きベクトルを演算する間隔を、以下、演算間隔「Tv」と称する。動きベクトルは、演算間隔をおいて撮像された2枚の静止画像(画像情報160)を比較して演算される。したがって、演算間隔は、撮像間隔の整数倍となり、Tv=n×Tc(nは自然数。)である。
なお、ここにいう「画像情報160における被写体の動きベクトル」とは、厳密に言えば、ユーザの動作に従って携帯端末装置1が動くことによって生じる見かけ上の被写体の動きによる動きベクトルと、被写体自体の動きによって生じる動きベクトルとの合成である。しかし、以下の説明では、被写体は静止しているものとして扱い、被写体自体の動きによって生じる動きベクトルは無視するものとする。また、本実施の形態におけるベクトル演算部101は、歩行周期演算部100から伝達された歩行周期を、動きベクトル情報111に含めるものとする。
相関判定部102は、ジャイロセンサ14により取得された角速度情報140と、加速度センサ15により取得された加速度情報150とに応じて、ユーザの歩行動作による進行方向とカメラ16の撮像方向との相対関係を判定する。ただし、詳細は後述するが、本実施の形態における相関判定部102は、角速度情報140と加速度情報150とに基づいて歩行周期演算部100が歩行周期を演算する過程において求まる進行方向を利用する。
相関判定部102による判定結果は、相関判定情報112として記憶される。
直進歩行判定部103は、ベクトル演算部101により算出された動きベクトル情報111と相関判定部102により判定された相関関係(相関判定情報112)とに応じて、ユーザが歩行動作における直進状態か否かを判定する。
補正部104は、直進歩行判定部103によりユーザが歩行状態における直進状態であると判定されたことに応じて、ジャイロセンサ14のバイアス値(bv)を補正する機能を有している。また、すでに取得されている角速度情報140を過去に遡って補正する機能も有している。
以上が、第1の実施の形態における携帯端末装置1の構成および機能の説明である。次に、携帯端末装置1において、ジャイロセンサ14による測定値である角速度情報140を補正する補正方法について説明する。
図4は、第1の実施の形態におけるジャイロセンサ14に対する補正処理を示す流れ図である。
なお、携帯端末装置1では、図4に示す処理と並行して、あるいは、一部の処理を共有して、他の処理が行われていてもよい。他の処理とは、例えば、ユーザの位置を特定する測位処理や測位処理の結果を用いた行き先案内処理、経路記録処理などである。
また、図4に示す処理が開始されるまでに、携帯端末装置1では、所定の初期設定が実行されているものとする。初期設定には、ジャイロセンサ14および加速度センサ15による測定タイミングを計測するための測定タイマにTsをセットして起動する処理と、カメラ16による撮像タイミングを計測するための撮像タイマにTcをセットして起動する処理とが含まれるが、演算タイマは起動されない。動きベクトルを演算する処理は、少なくとも1枚の画像情報160が取得され、後述する代表サブブロックが決定されてからでなければ実行できないからである。
また、初期設定には、ジャイロセンサ14のバイアス値(bv)の初期値を設定する処理と、携帯端末装置1の姿勢(処理開始時の姿勢)を決定する処理とが含まれる。携帯端末装置1の初期姿勢を決定する手法としては、ユーザが携帯端末装置1の操作部12を操作して姿勢を入力する方法や、図示しない磁気センサの出力により姿勢を決定する方法などが想定される。
初期設定が終了すると、携帯端末装置1は、測定タイマと、撮像タイマと、演算タイマとを監視する状態となる(ステップS1,S5,S11)。この状態を、以下の説明では、「監視状態」と称する。ただし、監視状態において、携帯端末装置1は、ステップS1,S5,S11以外の他の処理を実行していてもよい。
監視状態において、測定タイマが0となり、測定タイミングが到来すると、CPU10は、ステップS1においてYesと判定し、測定タイマをTsにリセットしつつ(ステップS2)、ジャイロセンサ14および加速度センサ15の値をそれぞれ読み出す。これによって、携帯端末装置1の動きに関する角速度および加速度の測定が実行される(ステップS3)。
なお、ステップS3において読み出されるジャイロセンサ14の値は、未だバイアス値bvの補正(後述)がされていなければ、バイアス値bvの初期値に基づいて取得される。一方で、バイアス値bvの補正がされた後は、補正後のバイアス値bvの値により補正された値として取得される。
次に、CPU10は、読み出したジャイロセンサ14の値および加速度センサ15の値とに基づいて、角速度情報140および加速度情報150を作成し、記憶装置11に記録する(ステップS4)。なお、本実施の形態では、角速度情報140および加速度情報150は、過去の記録に上書きされるのではなく、履歴として取得順に記録されていくものとする。
このように、携帯端末装置1は、測定タイマの値が0となるごとに、ステップS1においてYesと判定し、ステップS2ないしS4の処理を実行する。したがって、携帯端末装置1では、測定周期Tsごとに角速度および加速度が測定される。なお、ステップS4を実行すると、携帯端末装置1は、再度、監視状態に戻る。
監視状態において、撮像タイマが0となり、撮像タイミングが到来すると、CPU10は、ステップS5においてYesと判定し、撮像タイマをTcにリセットしつつ(ステップS6)、周囲の被写体を撮像するようにカメラ16を制御する。これにより、カメラ16が撮像を行い(ステップS7)、画像情報160が作成され、記憶装置11に記録される。なお、ステップS7の処理においては、画像情報160の削除または上書きはされないものとする。すなわち、画像情報160は撮像順に記録されていくものとする。
撮像が実行され、新たな画像情報160が記録されると、CPU10は、演算タイミングを計測するための演算タイマが起動されているか否かを判定する(ステップS8)。演算タイマが起動されていない場合は、CPU10は演算タイマにTvをセットして起動し(ステップS9)、代表サブブロック決定処理を実行する(ステップS10)。一方、すでに演算タイマが起動されている場合は、ステップS9,S10をスキップして、監視状態に戻る。
図5および図6は、第1の実施の形態における代表サブブロック決定処理を示す流れ図である。
代表サブブロック決定処理が開始されると、まず、ベクトル演算部101は、最新の画像情報160を取得して、複数のブロックに分割する(ステップS21)。
図7は、ベクトル演算部101による画像情報160の分割の様子を示す図である。図7では、両側に商品陳列用の棚が配置された通路をユーザが進んでいるときに撮像される周囲の被写体(画像情報160)を例に示している。
ステップS21において、ベクトル演算部101は、画像情報160をそれぞれが第1のサイズとなる複数のブロックに分割する。各ブロックは、画像情報160の部分画像に相当する。図7に示す例では、画像情報160は、ブロック161,162,163,164の4つのブロックに分割されている。
次に、ベクトル演算部101は、ブロックカウンタiの値を「1」にリセットする(ステップS22)。ブロックカウンタiとは、処理中のブロックを識別するためのカウンタである。図7に示すように、本実施の形態におけるベクトル演算部101は、画像情報160を4つのブロックに分割するので、ブロックカウンタiの値は、「1」ないし「4」の整数である。
次に、ベクトル演算部101は、ブロックカウンタiに示されるi番目のブロックを、さらにサブブロックに分割する(ステップS23)。
図8は、図7に示すブロック161をベクトル演算部101が分割する様子を示す図である。なお、図8では、図7に示すブロック161を拡大して図示している。
ステップS23において、ベクトル演算部101は、i番目のブロックを第1のサイズよりも小さい第2のサイズとなる複数のサブブロックに分割する。各サブブロックは、画像情報160の部分画像に相当する。図8に示す例では、ブロック161は54個のサブブロックに分割されている。
ステップS23を実行すると、ベクトル演算部101は、最大エッジ量の値を「0」にリセットするとともに、サブブロックカウンタjの値を「1」にリセットする(ステップS24)。最大エッジ量とは、処理中のブロックに含まれるサブブロックの最大エッジ量を一時的に格納しておく変数である。また、サブブロックカウンタjとは、処理中のサブブロックを識別するためのカウンタである。図8に示すように、ベクトル演算部101は、1個のブロックを54個のサブブロックに分割するので、サブブロックカウンタjの値は、「1」ないし「54」の整数である。
次に、ベクトル演算部101は、ステップS23において分割した複数のサブブロックのうち、サブブロックカウンタjに示されるj番目のサブブロックのエッジ量を演算し(ステップS31)、求めたj番目のサブブロックのエッジ量が最大エッジ量より大きいか否かを判定する(ステップS32)。
ステップS32においてYesの場合、ベクトル演算部101は、j番目のエッジ量の値を新たに最大エッジ量とし(ステップS33)、i番目のブロックにおける代表サブブロックを識別するための識別子SBiに、「j」をセットする(ステップS34)。すなわち、1番目からj−1番目までのサブブロックのエッジ量よりも、j番目のサブブロックのエッジ量の方が大きい場合には、j番目のサブブロックのエッジ量が最大エッジ量として格納され、識別子SBiに「j」が格納される。
一方、ステップS32においてNoの場合、ベクトル演算部101は、j番目のサブブロックを代表サブブロックに決定することはないので、ステップS33,S34の処理をスキップする。
次に、ベクトル演算部101は、i番目のブロックについて全てのサブブロックに関するエッジ量の演算と評価が終了したか否かを判定する(ステップS35)。本実施の形態において、i番目のブロックにおけるサブブロックの数は54個であるから、例えば、ステップS35においてj≧54か否かを判定すればよい。
ステップS35においてNoの場合(未だ全てのサブブロックについて終了していない場合)、ベクトル演算部101は、jの値をインクリメントし(ステップS36)、ステップS31からの処理を繰り返す。すなわち、i番目のブロックの次のサブブロックについての処理を継続する。
一方、ステップS35においてYesの場合(全てのサブブロックについて終了している場合)、ベクトル演算部101は、最大エッジ量の値を「0」にリセットし(ステップS37)、i番目のブロックについての処理を終了する。すなわち、i番目のブロックの代表サブブロックを識別子SBiによって示されるサブブロックに決定する。
次に、ベクトル演算部101は、全てのブロックについて代表サブブロックの決定が終了したか否かを判定する(ステップS38)。本実施の形態において、ブロックの数は4個であるから、例えば、ステップS38においてi≧4か否かを判定すればよい。
ステップS38においてNoの場合(未だ全てのブロックについて終了していない場合)、ベクトル演算部101は、iの値をインクリメントし(ステップS39)、ステップS23からの処理を繰り返す。すなわち、次のブロックについての処理を継続する。
ステップS38においてYesの場合(全てのブロックについて終了している場合)、ベクトル演算部101は、代表サブブロック決定処理を終了し、図4の処理に戻る。
このようにして、ベクトル演算部101は、複数のサブブロックごとにエッジ量を検出して、複数のブロックのそれぞれにおいてエッジ量が最大となるサブブロックを各ブロックの代表サブブロックとして決定する。図8に示す例では、陳列棚の角部が含まれるサブブロック161aがブロック161の中の代表サブブロックとして決定されている。なお、図8には図示していないが、ブロック162,163,164の中からも、エッジ量が最大のサブブロックが、それぞれ代表サブブロックとして決定される。
携帯端末装置1は、代表サブブロックの動きベクトルに基づいて、携帯端末装置1の動きを検出しようとするものである。そして、動きベクトルを算出するには、画像におけるエッジ量が多い部分(サブブロック)を抽出して算出することが好ましい。
第1の実施の形態におけるベクトル演算部101は、先述のように、各ブロックにおける代表サブブロックを、当該ブロック内においてエッジ量が最大となるサブブロックに決定する。したがって、動きベクトルを精度よく算出することができる。
一方で、算出された動きベクトルによって携帯端末装置1の動き(ユーザの動き)を推定するためには、算出される動きベクトルの画像情報160における位置が分散している方が好ましい。すなわち、代表サブブロックが画像情報160内の様々な位置から選択されていることが好ましい。
第1の実施の形態におけるベクトル演算部101は、先述のように、画像情報160における1枚の静止画像を、一旦、4つのブロックに分割し、各ブロックの中からそれぞれ代表サブブロックを決定することにより、動きベクトルの算出対象となるサブブロックが、画像情報160内において局在することを抑制することができる。したがって、後述する処理において、ユーザの進行方向が直進状態か否かを正確に判定することができる。
図4に戻って、監視状態において、演算タイマが0となり、演算タイミングが到来すると、CPU10は、ステップS11においてYesと判定し、演算タイマをTvにリセットしつつ(ステップS12)、直進歩行検出処理を実行する(ステップS13)。
図9は、第1の実施の形態における直進歩行検出処理を示す流れ図である。
直進歩行検出処理が開始されると、直進歩行判定部103は、ユーザの歩行動作が直進歩行か否かを示す直進フラグをOFFにリセットする(ステップS41)。
次に、ベクトル演算部101が、最新の画像情報160における各代表サブブロックの位置を特定して、代表サブブロックを決定してから(代表サブブロックを決定した画像情報160が撮像されてから)当該最新の画像情報160が撮像されるまでの期間のそれぞれの代表サブブロックの動きベクトルを求める(ステップS42)。
なお、代表サブブロックを決定してから最新の画像情報160が撮像されるまでの期間は、演算タイマで管理されており、演算周期Tvである。すなわち、ステップS42では、Tvの間の動きベクトルが算出される。ただし、演算周期Tvに対して、撮像周期Tcが離散的であると見なせる場合、当該期間は、n×Tc(ただしn×Tc≦Tv<(n+1)×Tc)である。
次に、歩行周期演算部100が、ユーザの歩行動作における歩行周期を求める。
図10は、ジャイロセンサ14、加速度センサ15およびカメラ16の座標系を示す図である。携帯端末装置1において、ジャイロセンサ14、加速度センサ15およびカメラ16はいずれも固定されている。したがって、携帯端末装置1の姿勢が変化したとしても、ジャイロセンサ14、加速度センサ15およびカメラ16の相対的な位置関係は変化しない。
図10に示すように、第1の実施の形態における携帯端末装置1において、カメラ16の撮像方向をX軸とする。3軸の加速度センサ15の軸のうちの1つをX軸に一致させるように加速度センサ15を配置するとともに、他の2軸をそれぞれY軸とZ軸とする。これにより、加速度センサ15の出力は、X軸方向の加速度αxと、Y軸方向の加速度αyと、Z軸方向の加速度αzとなる。
次に、3軸回りの角速度を測定するジャイロセンサ14の3軸をそれぞれ、X軸、Y軸、Z軸に一致させるようにジャイロセンサ14を配置する。これにより、ジャイロセンサ14の出力は、X軸回りの角速度ωxと、Y軸回りの角速度ωyと、Z軸回りの角速度ωzとなる。
なお、このように配置することができなくても、ジャイロセンサ14、加速度センサ15およびカメラ16の相対的な位置関係(既知)は変化しないので、ジャイロセンサ14および加速度センサ15の出力値を既知の位置関係に基づいてX軸、Y軸およびZ軸のそれぞれに対応した値に変換することができる。
図11は、ユーザの歩行動作における座標系を示す図である。図11に示すように、重力と逆向き方向をV軸、ユーザの進行方向をW軸とする。ここで、ユーザの進行方向は水平面内に定義し、V軸とW軸とは互いに垂直であるものとする。さらに、W軸およびV軸と垂直となる軸をS軸とする。
まず、歩行周期演算部100は、従来のカルマンフィルタを用いて加速度情報150に基づいて重力方向ベクトルを推定する。このようにして推定された重力方向ベクトルの逆向き方向として、V軸が決定される。
V軸が決まると、歩行周期演算部100は、V軸にZ軸を合わせるように回転させ、このときの回転角θ1を取得する。次に、V軸にZ軸を合わせた状態(Z軸をθ1だけ回転させた状態)で、当該Z軸回りに360°回転させつつ、αyおよびαzを演算する。一般に、人の歩行動作においては、W軸方向(進行方向)の加速度が大きく、S軸方向(進行方向に対する左右方向)の加速度が小さいという特性がある。したがって、当該Z軸を360°回転させた中で、αzが最大でαyが最小となる回転角θ2を決定し、このときのX軸およびY軸をそれぞれW軸およびS軸と決定する。
このようにして求めた回転角θ1,θ2を用いることにより、歩行周期演算部100は、XYZ座標系の出力値を、WSV座標系に変換することができる。すなわち、加速度αx,αy,αzから、W軸方向の加速度αw、S軸方向の加速度αsおよびV軸方向の加速度αvを求めることができる。同様に、角速度ωx,ωy,ωzから、W軸回りの角速度ωw、S軸回りの角速度ωsおよびV軸回りの角速度ωvを求めることができる。
図12は、人の歩行動作における加速度αv,αwおよび角速度ωvとを例示する図である。
図12から明らかなように、加速度αv,αwは1歩周期であるが、角速度ωvは1複歩周期である。したがって、歩行動作の周期としては、1複歩周期を採用することが適切といえる。
また、角速度ωvは比較的複雑に変化するため、歩行周期を決定するためには、加速度αvまたは加速度αwを用いた方がよいこともわかる。例えば、加速度αwが極小値をとってから、さらに極小値を2回とるまでの期間が1複歩時間であり、歩行周期である。
このように、ステップS43において、歩行周期演算部100は、角速度情報140および加速度情報150に基づいて、歩行周期を決定する。なお、極小値の検出は、例えば、ゼロ交差法を採用することができる。
歩行周期が求まると、歩行周期演算部100は、求めた歩行周期をベクトル演算部101に伝達する。そして、ベクトル演算部101が、ステップS42で求めた動きベクトルを、歩行周期単位に平均をとり(ステップS44)、被写体の動きベクトルとする。このようにして、ベクトル演算部101が、被写体の動きベクトルを求めることにより、進行方向への動き以外の動きによる影響を抑制することができる。
次に、相関判定部102がユーザの進行方向を求める(ステップS45)。本実施の形態において、進行方向は、ステップS43が実行された時点で、歩行周期演算部100によりW軸方向として決定されている。したがって、本実施の形態における相関判定部102は、ステップS45において、改めて角速度情報140および加速度情報150から進行方向を求めることはせず、歩行周期演算部100から伝達されたW軸方向を用いる。
ステップS45が実行されると、相関判定部102は、X軸(カメラ16の向き)とW軸(進行方向)との関係から、カメラ16が進行方向に対して正対しているか否かを判定し(ステップS46)、判定結果を相関判定情報112として記憶装置11に格納する。相関判定情報112は、直進歩行判定部103によって参照される。
ステップS46においてYesと判定された場合、直進歩行判定部103は、ステップS44においてベクトル演算部101によって求められた被写体の動きベクトルが、画像情報160の中央付近から放射状になっているか否かを判定する(ステップS47)。そして、放射状になっている場合(ステップS47においてYes。)、ユーザの歩行動作が直進状態であると判定し、直進フラグをONにセット(ステップS49)してから直進歩行検出処理を終了する。放射状になっていない場合(ステップS47においてNo。)、ユーザの歩行動作は直進状態でないと判定し、直進フラグをOFFのまま維持して直進歩行検出処理を終了する。
一方、ステップS46においてNoと判定された場合、直進歩行判定部103は、ステップS44においてベクトル演算部101によって求められた被写体の動きベクトルが、進行方向と逆向きになっており、かつ、歩行動作に変化がない期間において大きさがほぼ一定であるか否かを判定する(ステップS48)。そして、ステップS48においてYesの場合、ユーザの歩行動作が直進状態であると判定し、直進フラグをONにセット(ステップS49)してから直進歩行検出処理を終了する。ステップS48においてNoの場合、ユーザの歩行動作は直進状態でないと判定し、直進フラグをOFFのまま維持して直進歩行検出処理を終了する。
これにより、直進歩行検出処理が終了するときには、ユーザの歩行動作が直進状態であるか否かが検出されて、直進フラグの状態として格納される。
図4に戻って、直進歩行検出処理が終了すると、直進歩行判定部103は、直進フラグの状態を補正部104に伝達する。そして、これにより補正部104が、ユーザの歩行状態が直進状態か否かを判定する(ステップS14)。
直進状態の場合(ステップS14においてYes。)、補正部104は、ジャイロセンサ14のバイアス値を補正する(ステップS15)。
ステップS15において、補正部104がジャイロセンサ14のバイアス値を補正する原理を説明する。なお、歩行者であるユーザを測位する場合において、ユーザのW軸回りおよびS軸回りの角速度ωw,ωsを考慮する必要性は乏しい。したがって、ここでは、V軸回りの角速度ωv(進行方向に影響する。)を補正する例について説明する。
図12に示したように、進行方向を決定する基となる角速度ωvは、1複歩周期である。したがって、補正部104は、まず、1複歩あたりの進行方向の変化量(ΔW)を求める。ΔWは、1複歩時間(すなわち歩行周期)のωvの積分値として、ΔW=Σ(ωv−bv)で求めることができる。
次に、補正部104は、測定周期Tsあたりのωvの平均値ωv(ave)を、ωv(ave)=ΔW/(歩行周期/Ts)により求める。そして、さらに、bv+ωv(ave)を新たなバイアス値bvとしてバイアス値bvを更新し補正する。
このようにして、ユーザの歩行動作が直進状態であった場合には(ステップS14においてYes。)、ステップS15が実行されて、ジャイロセンサ14のバイアス値bvが補正部104により補正される。したがって、以後、ジャイロセンサ14から出力される角速度情報140が補正される。
なお、測位処理や経路記録処理を実行するために進行方向を記録している場合には、直進歩行判定部103によってユーザの歩行動作が直進状態であると判定されている間は、角速度情報140や加速度情報150を参照せずに、進行方向の変化量を「0」として記録することが好ましい。
一方、ステップS14においてNoの場合(ユーザの歩行動作が直進状態でない場合)、補正部104は、ステップS15をスキップし、ジャイロセンサ14のバイアス値bvの補正は行わない。したがって、測位処理や経路記録処理を実行するために進行方向を記録している場合には、角速度情報140や加速度情報150に基づいて進行方向を記録することになる。ただし、ステップS15と同様の演算により、ΔWを求め、これを加算することにより進行方向を演算してもよい。
ステップS14においてNoと判定されるか、あるいは、ステップS15が実行されると、ベクトル演算部101は、新たな代表サブブロックを決定するために、代表サブブロック決定処理を実行する(ステップS16)。なお、ステップS16における代表サブブロック決定処理は、ステップS10と同様に実行可能であるため、説明は省略する。
ステップS16を実行すると、携帯端末装置1は、再び、監視状態に戻る。
以上のように、第1の実施の形態における携帯端末装置1は、携帯端末装置1の移動における角速度を測定して角速度情報140を取得するジャイロセンサ14と、携帯端末装置1の移動における加速度を測定して加速度情報150を取得する加速度センサ15と、携帯端末装置1が移動している期間における周囲の被写体を撮像して画像情報160を取得するカメラ16と、画像情報160に基づいて被写体の動きベクトル情報111を算出するベクトル演算部101と、ジャイロセンサ14により取得された角速度情報140と加速度センサ15により取得された加速度情報150とに応じて、ユーザの歩行動作による進行方向とカメラの撮像方向との相対関係を判定する相関判定部102と、ベクトル演算部101により算出された被写体の動きベクトル情報111と相関判定部102により判定された相関関係とに応じて、ユーザが歩行動作における直進状態か否かを判定する直進歩行判定部103と、直進歩行判定部103によりユーザが歩行状態における直進状態であると判定されたことに応じて、ジャイロセンサ14により取得される角速度情報140を補正する補正部104とを備える。これにより、ユーザが歩行動作における直進状態であるか否かを精度よく判定することができる。したがって、ジャイロセンサ14の補正を精度よく実現することができる。
また、ベクトル演算部101は、画像情報160をそれぞれが第1のサイズとなる複数のブロックに分割し、複数のブロックのそれぞれを第1のサイズよりも小さい第2のサイズとなる複数のサブブロックに分割し、複数のサブブロックごとにエッジ量を検出して、複数のブロックのそれぞれにおいてエッジ量が最大となるサブブロックを各ブロックの代表サブブロックとして決定し、決定した代表サブブロックの動きベクトルを算出することにより、被写体の動きベクトル情報111を算出する。これにより、動きベクトル情報111の算出対象となるサブブロックが、画像情報内において局在することを抑制することができる。したがって、歩行者の進行方向が直進状態か否かを正確に判定できる。
また、ベクトル演算部101は、代表サブブロックの動きベクトルを、ユーザの歩行周期単位に平均することによって被写体の動きベクトル情報111を求める。したがって、進行方向への動き以外の動きによる影響を抑制できる。
また、ユーザの歩行動作において、当該ユーザが左右の足をそれぞれ1歩ずつ進める時間(1複歩時間)に応じて歩行周期が決定されていることにより、V軸回りの角速度ωvの周期単位で処理することができ、精度が向上する。
相関判定部102によって判定する相関関係には、ユーザの歩行動作による進行方向に対してカメラ16の撮像方向が正対する関係が含まれることにより、直進状態を容易に判定できる。
ユーザの歩行動作による進行方向に対してカメラ16の撮像方向が正対している場合において、直進歩行判定部103は、ベクトル演算部101により求められた被写体の動きベクトルが、画像情報160において放射状となっている場合に、当該ユーザの歩行動作が直進状態であると判定する。これにより、効率よく、直進状態を判定することができる。
なお、各ブロックについて代表サブブロックを決定したときに、画像情報160の部分画像である各代表サブブロックのみを記録し、当該画像情報160を削除するか、あるいは、新たな画像情報160が取得されたときに上書きしてもよい。これにより、記憶しておくべき情報の容量を抑制することができる。
また、画像情報160において周辺部に位置するサブブロックが代表サブブロックに決定されると、当該代表サブブロックに相当する被写体がユーザの動きによって撮像範囲から外れてしまうことも考えられる。その場合は、動きベクトルを求めることができなくなるおそれがある。したがって、代表サブブロックを決定する場合には、画像情報160における周辺部に位置するサブブロックを候補から除外してもよい。あるいは、さらに、予測されるユーザの動き(方向や速度)に応じてどの位置のサブブロックを候補から除外するかを決定してもよい。
<2. 第2の実施の形態>
第1の実施の形態における携帯端末装置1では、代表サブブロックの動きベクトルを、歩行周期で平均することにより、進行方向の動き以外の動きによる影響を抑制すると説明した。しかし、進行方向の動き以外の動きによる影響を抑制する手法はこれに限定されるものではない。
図13は、第2の実施の形態における携帯端末装置1aが備える機能ブロックをデータの流れとともに示す図である。なお、第2の実施の形態における携帯端末装置1aにおいて、第1の実施の形態における携帯端末装置1と同様の構成については同符号を付し、適宜説明を省略する。
図13に示すように、携帯端末装置1aは、歩行周期演算部100の代わりに歩行周期演算部100aを備えている点と、ベクトル演算部101の代わりにベクトル演算部101aを備えている点とが、携帯端末装置1と異なっている。
歩行周期演算部100aは、歩行周期の代わりに、演算タイミングを演算してベクトル演算部101aに伝達する。
ベクトル演算部101aは、代表サブブロックの動きベクトルを、歩行周期に平均するのではなく、そのまま被写体の動きベクトルとして動きベクトル情報111を作成する。また、ベクトル演算部101aによる演算タイミングは、演算タイマによって決定されるのではなく、歩行周期演算部100aから通知される。
図14は、第2の実施の形態における携帯端末装置1aにより実行される補正処理を示す流れ図である。
第2の実施の形態における携帯端末装置1aは、第1の実施の形態における携帯端末装置1と同様の初期設定が実行された後、監視状態となる。また、監視状態において、携帯端末装置1aは、測定タイミングの到来と、撮像タイミングの到来と、演算タイミングの到来とを監視している(ステップS51,S55,S60)。
監視状態において、初期設定において起動された測定タイマTsが0となると、携帯端末装置1aは、ステップS51においてYesと判定し、ステップS52ないしS54の処理を実行する。なお、ステップS52ないしS54の処理は、第1の実施の形態におけるステップS2ないしS4の処理と同様であるため、説明は省略する。
監視状態において、初期状態において起動された撮像タイマTcが0となると、携帯端末装置1aは、ステップS55においてYesと判定し、ステップS56,S57の処理を実行する。なお、ステップS56,S57の処理は、第1の実施の形態におけるステップS6,S7の処理と同様であるため、説明は省略する。
ステップS57が実行されると、ベクトル演算部101aは、すでに代表サブブロックが決定されているか否かを判定する(ステップS58)。そして、未だ代表サブブロックが決定されていない場合には、代表サブブロック決定処理(ステップS59)を実行してから監視状態に戻る。一方、すでに代表サブブロックが決定されている場合には、ステップS59をスキップして、監視状態に戻る。なお、ステップS59における代表サブブロック決定処理は、第1の実施の形態におけるステップS10の処理と同様であるため、説明は省略する。
なお、携帯端末装置1aでは、演算タイマTvに相当する構成は設けられておらず、演算タイマTvを起動させる処理(ステップS9に相当する処理)が実行されることはない。
監視状態において、演算タイミングが到来すると、CPU10は、ステップS60においてYesと判定する。第1の実施の形態では、演算タイミングが到来したか否かは、演算タイマの値を参照して判定されていた。しかし、第2の実施の形態では、演算タイマは設けられていないので、演算タイマの値によってステップS60の判定を実行することはできない。
これまでに説明したように、歩行動作においては、歩行周期ごとに同じ歩行状態が繰り返される。したがって、同じ状態のときに撮像された画像情報160を比較すれば、進行方向の動き以外の動きを効率的にキャンセルすることができる。すなわち、歩行周期ごとに演算タイミングが到来するように、演算タイミングを歩行周期に同期させれば、進行方向の動き以外の動きによる影響を抑制することができる。
また、画像情報160にエッジ量検出処理を行って動きベクトルを演算する場合には、当該画像情報160における手ブレが少ない方が好ましい。手ブレは、主にカメラ16が動くことによって生じ、カメラ16の動く速度が速いほど手ブレが大きくなる。したがって、携帯端末装置1aは、カメラ16の速度が最小のときに演算タイミングが到来したと判定するように構成する。これにより、カメラ16によって撮像される画像情報160において、最も手ブレが少ない状態の画像情報160によって動きベクトルを演算することができ、精度が向上する。なお、カメラ16の速度が最小となるタイミングは、加速度αw,αs,αvに基づいて、決定することができる。
以上のことから、ベクトル演算部101aは、歩行周期ごとに到来する、カメラ16の速度が最小となるタイミングで演算タイミングが到来したと判定し、ステップS60においてYesと判定する。このようなタイミングは、歩行周期演算部100aによって検出されベクトル演算部101aに伝達される。
第2の実施の形態における歩行周期演算部100aは、ステップS60において、第1の実施の形態におけるステップS43(図9)と同様にして、歩行周期を求めることができる。また、ステップS60において歩行周期を求める過程で、加速度αw,αs,αvが求まるので、これに基づいてカメラ16の速度が最小となるタイミングも決定することができ、これをベクトル演算部101aに伝達する。このようにして、第2の実施の形態における携帯端末装置1aでは、演算タイミングの到来が検出される。
ステップS60においてYesと判定すると、携帯端末装置1aは、直進歩行検出処理を実行する(ステップS61)。
図15は、第2の実施の形態における直進歩行検出処理を示す流れ図である。
直進歩行検出処理が開始されると、直進歩行判定部103は、直進フラグをOFFとする(ステップS71)。次に、ベクトル演算部101aが、代表サブブロックの動きベクトルを求め、動きベクトル情報111を作成し、記憶装置11に格納する(ステップS72)。
すなわち、第2の実施の形態では、すでにステップS60の段階で歩行周期を求める処理が実行されているので、第1の実施の形態におけるステップS43に相当する処理は、第2の実施の形態では実行されない。
また、歩行周期に同期して代表サブブロックの動きベクトルが演算されているため、進行方向の動き以外の動きによる影響はすでにキャンセルされている。したがって、代表サブブロックの動きベクトルを歩行周期で平均する必要はなく、第1の実施の形態おけるステップS44に相当する処理は、第2の実施の形態では実行されず、ステップS72において求められた代表サブブロックの動きベクトルがそのまま被写体の動きベクトルとして動きベクトル情報111に格納される。
ステップS72が実行されると、携帯端末装置1aは、ステップS73を実行する。なお、ステップS73ないしS77の処理は、第1の実施の形態におけるステップS45ないしS49の処理と同様のため、説明は省略する。
ステップS61の直進歩行検出処理を終了すると、携帯端末装置1aは、ステップS62を実行する。なお、ステップS62が実行されてからの処理は、第1の実施の形態におけるステップS14が実行されてからの処理と同様であるため、説明は省略する。
以上のように、第2の実施の形態における携帯端末装置1aでは、ベクトル演算部101aが、ユーザの歩行周期に同期した演算タイミングで、代表サブブロックの動きベクトルを算出する。したがって、歩行周期単位に平均しなくても、進行方向への動き以外の動きによる影響を除去できる。
また、演算タイミングが、カメラ16の速度が最小のときとなるように決定される。したがって、進行方向への動き以外の動きによる影響を抑制することができるとともに、画像情報160のブレも抑制することができる。
なお、演算タイミングは、ユーザの両足が着地しているときとなるように決定されてもよい。この場合は、ユーザの体が最も安定している瞬間の動きベクトルを求めることができるため、やはり進行方向への動き以外の動きによる影響を抑制することができる。ユーザの両足が着地しているタイミングは、角速度ωw,ωs,ωv、および、加速度αw,αs,αvに基づいて歩行周期演算部100aにより検出することができる。
また、演算タイミングを歩行周期に同期させる手法としては、歩行周期演算部100aによって演算された歩行周期を、第1の実施の形態における演算タイマと同様の構成にセットし、当該演算タイマが0となるタイミングの到来をステップS60において監視することでも実現することができる。
また、第2の実施の形態では、歩行周期に同期してベクトル演算が実行されるため、ベクトル演算の演算周期が比較的長くなる。これにより、代表サブブロックに含まれる被写体の画像内における移動量が大きくなり、代表サブブロックの探索エリアが広がる懸念がある。しかしながら、携帯端末装置1aでは、角速度ωw,ωs,ωv、および、加速度αw,αs,αvに基づいて代表サブブロックの画像内における移動量を推定することができるため、このような問題を抑制することができる。これは以下に説明する第3の実施の形態においても同様である。
<3. 第3の実施の形態>
進行方向の動き以外の動きによる影響を抑制する手法は、第1の実施の形態および第2の実施の形態に示される手法に限定されるものではない。
図16は、第3の実施の形態における携帯端末装置1bが備える機能ブロックをデータの流れとともに示す図である。なお、第3の実施の形態における携帯端末装置1bにおいて、第1の実施の形態における携帯端末装置1と同様の構成については同符号を付し、適宜説明を省略する。
図16に示すように、携帯端末装置1bは、カメラ16の代わりにカメラ16bを備えている点と、歩行周期演算部100の代わりに歩行周期演算部100bを備えている点と、ベクトル演算部101の代わりにベクトル演算部101bを備えている点とが、携帯端末装置1と異なっている。
カメラ16bは、歩行周期演算部100bから通知される撮像タイミングに従って撮像を行い、画像情報160を取得する。
歩行周期演算部100bは、角速度情報140および加速度情報150に基づいて歩行周期を演算するとともに、歩行周期に同期したタイミングで撮像タイミングを決定し、カメラ16bに伝達する。その一方で、歩行周期演算部100bは、ベクトル演算部101bに対しては、歩行周期を伝達することはない。
ベクトル演算部101bは、演算タイマにより演算タイミングを決定するのではなく、新たな画像情報160が取得されたタイミングを演算タイミングとして、動きベクトルの演算を実行する。
図17は、第3の実施の形態における携帯端末装置1bによって実行される補正処理を示す流れ図である。
第3の実施の形態における携帯端末装置1bにおいても、第1の実施の形態における携帯端末装置1と同様の初期設定が実行された後に監視状態となる。しかし、携帯端末装置1bにおいては、撮像タイマは設けられていないため、当該初期設定には撮像タイマを起動する処理は含まれない。また、監視状態において、携帯端末装置1bは、測定タイミングの到来と、撮像タイミングの到来とを監視している(ステップS81,S85)。
監視状態において、初期設定において起動された測定タイマTsが0となると、携帯端末装置1bは、ステップS81においてYesと判定し、ステップS82ないしS84の処理を実行する。なお、ステップS82ないしS84の処理は、第1の実施の形態におけるステップS2ないしS4の処理と同様であるため、説明は省略する。
監視状態において、撮像タイミングになると、携帯端末装置1bは、ステップS85においてYesと判定する。第1の実施の形態では、撮像タイミングが到来したか否かは、撮像タイマの値を参照して判定されていた。しかし、第3の実施の形態では、撮像タイマは設けられていないので、撮像タイマの値によってステップS85の判定を実行することはできない。
第2の実施の形態においても説明したように、歩行動作においては、歩行周期ごとに同じ歩行状態が繰り返される。したがって、同じ状態のときに撮像された画像情報160を比較すれば、進行方向の動き以外の動きを効率的にキャンセルすることができる。すなわち、歩行周期ごとに撮像タイミングが到来するように、撮像タイミングを歩行周期に同期させれば、同じ状態のときに撮像された画像情報160のみを得ることができ、進行方向の動き以外の動きによる影響を抑制することができる。
また、画像情報160にエッジ量検出処理を行って動きベクトルを演算する場合には、当該画像情報160における手ブレが少ない方が好ましいことも第2の実施の形態で説明したとおりである。したがって、携帯端末装置1bは、カメラ16bの速度が最小のときに撮像タイミングが到来したと判定するように構成する。これにより、第2の実施の形態と同様に、カメラ16bによって撮像される画像情報160において、最も手ブレが少ない状態の画像情報160によって動きベクトルを演算することができ、精度が向上する。
すなわち、携帯端末装置1aは、演算タイミングを調整することによって、最適なタイミングの画像情報160を用いて動きベクトルを演算するように構成されていたが、携帯端末装置1bは、最適なタイミングの画像情報160のみを撮像するように構成されている。これによって、カメラ16bによる撮像回数を大幅に減らすことが可能となり、処理負荷が軽減されるとともに、消費電力も抑制される。
以上のことから、携帯端末装置1bは、歩行周期ごとに到来する、カメラ16bの速度が最小となるタイミングで撮像タイミングが到来したと判定し、ステップS85においてYesと判定する。このようなタイミングは、歩行周期演算部100bによって第2の実施の形態における歩行周期演算部100aと同様の手法により検出され、カメラ16bに伝達される。
ステップS85においてYesと判定されると、カメラ16bは撮像を行い、新たな画像情報160が記憶装置11に格納される(ステップS86)。
新たな画像情報160が格納されると、ベクトル演算部101bは、代表サブブロックがすでに決定済みか否かを判定し(ステップS87)、未だ代表サブブロックが決定されていない場合(ステップS87においてNo。)、代表サブブロック決定処理(ステップS91)を実行して監視状態に戻る。なお、ステップS91における代表サブブロック決定処理は、第1の実施の形態におけるステップS10の処理と同様であるため、説明は省略する。
一方、すでに代表サブブロックが決定されている場合(ステップS87においてYes。)、CPU10は、直進歩行検出処理を実行する(ステップS88)。なお、ステップS88における直進歩行検出処理は、第2の実施の形態における直進歩行検出処理(図15)と同様であるため、説明は省略する。
ステップS88の直進歩行検出処理を終了すると、携帯端末装置1bは、ステップS89を実行する。なお、ステップS89が実行されてからの処理は、第1の実施の形態におけるステップS14が実行されてからの処理と同様であるため、説明は省略する。
以上のように、第3の実施の形態における携帯端末装置1bは、カメラ16bが、ユーザの歩行周期に同期した撮像タイミングで、携帯端末装置1bが移動している期間における周囲の被写体を撮像する。これにより、歩行動作における一定の姿勢のときに撮像されることになる(撮像時の姿勢のバラツキを抑制できる)ため、進行方向への動き以外の動きベクトルの影響を除去することができる。また、間欠的に撮像することにより、カメラ16bによる消費電力を抑制することができる。
また、撮像タイミングが、カメラ16bの速度が最小のときとなるように決定される。したがって、進行方向への動き以外の動きによる影響を抑制することができるとともに、画像情報160のブレも抑制することができる。
なお、撮像タイミングは、ユーザの両足が着地しているときとなるように決定されてもよい。この場合は、ユーザの体が最も安定している瞬間の動きベクトルを求めることができるため、やはり進行方向への動き以外の動きによる影響を抑制することができる。ユーザの両足が着地しているタイミングは、角速度ωw,ωs,ωv、および、加速度αw,αs,αvに基づいて歩行周期演算部100bにより検出することができる。
また、撮像タイミングを歩行周期に同期させる手法としては、歩行周期演算部100bによって演算された歩行周期を、第1の実施の形態における撮像タイマと同様の構成にセットし、当該撮像タイマが0となるタイミングの到来をステップS85において監視することでも実現することができる。
なお、カメラ16bは歩行周期に同期したタイミングが到来する前後一定時間の間において撮像を行い、その間に取得された画像情報160のうち、実際に、カメラ16bの速度が最小のときに撮像された画像情報160を用いて動きベクトルを演算するように構成してもよい。人の歩行動作は一定の歩行周期となるわけではなく、多少のバラツキが生じる。したがって、予測した歩行周期において、実際には、同じ状態になっていない場合があり、予測した歩行周期によって撮像した画像情報160だけでは、状態がずれている場合がある。しかし、上記のように構成することにより、実際に、同じ状態になっていたか否かを判定しつつ、同じ状態になっていたときの画像情報160を用いて動きベクトルを演算できるので、精度が向上する。
<4. 第4の実施の形態>
上記第1ないし第3の実施の形態では、カメラ16,16bによって撮像される画像情報160を解析することにより、ユーザの歩行状態における直進状態を判定する例について説明した。しかし、ユーザの歩行状態における直進状態を判定する手法は、これに限定されるものではない。
図18は、第4の実施の形態における携帯端末装置1cのブロック図である。なお、第4の実施の形態における携帯端末装置1cにおいて、第1の実施の形態における携帯端末装置1と同様の構成については同符号を付し、適宜説明を省略する。図3と図18とを比較すれば明らかなように、携帯端末装置1cは、カメラ16を備えていない点が携帯端末装置1と異なっている。
図19は、第4の実施の形態における携帯端末装置1cが備える機能ブロックをデータの流れとともに示す図である。
携帯端末装置1cは、直進歩行判定部103cおよび補正部104とを備えている。直進歩行判定部103cおよび補正部104は、CPU10がプログラム110に従って動作することにより実現される機能ブロックである。
直進歩行判定部103cは、ジャイロセンサ14により取得された角速度情報140および加速度センサ15により取得された加速度情報150を、予め与えられる歩行動作におけるパターンと比較することにより、ユーザが歩行動作における直進状態か否かを判定する。
直進歩行判定部103cは、第1の実施の形態における歩行周期演算部100と同様に、角速度情報140および加速度情報150を、ユーザの歩行動作を示す座標系(W軸、S軸およびV軸)に変換して、角速度ωw,ωs,ωv、および、加速度αw,αs,αvを求める機能を有している。また、これらの値に応じて、歩行周期を演算する機能も有している。
ここで、加速度αw,αv、および、角速度ωsは、歩行運動における前進動作が反映される。また、角速度ωw,ωv、および、加速度αsは、歩行運動における旋回動作が反映される。また、すでに図12に示したように、加速度αw,αvは1歩単位の周期をもつものの、角速度ωvは1複歩単位の周期をもっている。
したがって、予め歩行状態が既知の、歩行動作におけるパターンについて1複歩単位で特徴点を抽出し、機械学習器(例えば、サポートベクターマシンやニューラルネット)に入力して学習させることによって、直進歩行判定部103cの機能を実現することができる。すなわち、第4の実施の形態においても、歩行周期は1複歩周期となる。
なお、学習させる歩行状態のパターンは、直進、右旋回、左旋回などが想定される。また、学習させる歩行状態のパターンには、保持状態の違いによるパターンも想定される。例えば、携帯端末装置1cを、手に持っている状態(手振り状態)、表示部13を閲覧している状態、ポケット等に入れている状態、通話している状態などが想定される。
図20は、第4の実施の形態における携帯端末装置1cによって実行される補正処理を示す流れ図である。
なお、図20に示す処理が開始されるまでに、携帯端末装置1cでは、携帯端末装置1cを所持したユーザの既知の歩行動作におけるパターンの特徴点を学習させる工程と、所定の初期設定とがすでに実行されているものとする。初期設定には、ジャイロセンサ14および加速度センサ15による測定タイミングを計測するための測定タイマにTsをセットして起動する処理と、ジャイロセンサ14のバイアス値(bv)の初期値を設定する処理と、携帯端末装置1cの姿勢(処理開始時の姿勢)を決定する処理とが含まれる。携帯端末装置1cの初期姿勢を決定する手法としては、ユーザが携帯端末装置1cの操作部12を操作して姿勢を入力する方法や、図示しない磁気センサの出力により姿勢を決定する方法などが想定される。
初期設定が終了すると、携帯端末装置1cは、測定タイマと、1複歩時間が経過したか否かとを監視する状態となる(ステップS101,S105)。この状態を、以下の説明では、「監視状態」と称する。ただし、監視状態において、携帯端末装置1cは、ステップS101,S105以外の他の処理を実行していてもよい。
監視状態において、測定タイマが0となり、測定タイミングが到来すると、CPU10は、ステップS101においてYesと判定し、測定タイマをTsにリセットしつつ(ステップS102)、ジャイロセンサ14および加速度センサ15の値をそれぞれ読み出す。これによって、携帯端末装置1cの動きに関する角速度および加速度の測定が実行される(ステップS103)。
なお、ステップS103において読み出されるジャイロセンサ14の値は、未だバイアス値bvの補正(後述)がされていなければ、バイアス値bvの初期値に基づいて取得される。一方で、バイアス値bvの補正がされた後は、補正後のバイアス値bvの値により補正された値として取得される。すなわち、補正部104は、ジャイロセンサ14のバイアス値bvを補正することにより、角速度情報140を補正する。
次に、CPU10は、読み出したジャイロセンサ14の値および加速度センサ15の値とに基づいて、角速度情報140および加速度情報150を作成し、記憶装置11に記録する(ステップS104)。なお、本実施の形態では、角速度情報140および加速度情報150は、過去の記録に上書きされるのではなく、履歴として取得順に記録されていくものとする。
このように、携帯端末装置1cは、測定タイマの値が0となるごとに、ステップS101においてYesと判定し、ステップS102ないしS104の処理を実行する。したがって、携帯端末装置1cでは、測定周期Tsごとに角速度および加速度が測定される。なお、ステップS104を実行すると、携帯端末装置1cは、再度、監視状態に戻る。
監視状態において、1複歩時間が経過している場合(ステップS105においてYes。)、直進歩行判定部103cは、ユーザの歩行状態が直進状態か否かを判定する(ステップS106)。第4の実施の形態において、ステップS105における判定は、1複歩時間が経過するたびにYesとなる。したがって、携帯端末装置1c(直進歩行判定部103c)は、歩行周期ごとに、その間に測定された角速度情報140および加速度情報150に基づいてパターン認識処理を行い、その間のユーザの歩行状態が直進状態であったか否かを判定する。
ユーザの歩行状態が直進状態の場合(ステップS106においてYes。)、補正部104は、ジャイロセンサ14のバイアス値を補正する(ステップS107)。ステップS107において、補正部104がジャイロセンサ14のバイアス値を補正する原理は、第1の実施の形態におけるステップS15と同様であるため、説明を省略する。
なお、携帯端末装置1cにおいても、測位処理や経路記録処理を実行するために進行方向を記録している場合には、直進歩行判定部103cによってユーザの歩行動作が直進状態であると判定されている間は、角速度情報140や加速度情報150を参照せずに、進行方向の変化量を「0」として記録することが好ましい。
一方、ステップS106においてNoの場合(ユーザの歩行動作が直進状態でない場合)、補正部104は、ステップS107をスキップし、監視状態に戻る。したがって、この場合、補正部104は、ジャイロセンサ14のバイアス値bvの補正は行わない。したがって、測位処理や経路記録処理を実行するために進行方向を記録している場合には、角速度情報140や加速度情報150に基づいて進行方向を記録することになる。ただし、ステップS15と同様の演算により、ΔWを求め、これを加算することにより進行方向を演算してもよい。
以上のように、第4の実施の形態における携帯端末装置1cは、携帯端末装置1cの移動における角速度を測定して角速度情報140を取得するジャイロセンサ14と、携帯端末装置1cの移動における加速度を測定して加速度情報150を取得する加速度センサ15と、ジャイロセンサ14により取得された角速度情報140および加速度センサ15により取得された加速度情報150を、予め与えられる歩行動作におけるパターンと比較することにより、ユーザが歩行動作における直進状態か否かを判定する直進歩行判定部103cと、直進歩行判定部103cによりユーザが歩行状態における直進状態であると判定されたことに応じて、ジャイロセンサ14により取得される角速度情報140を補正する補正部104とを備える。これにより、ユーザが歩行動作における直進状態であるか否かを精度よく判定することができる。
また、直進歩行判定部103cは、ユーザの歩行動作における歩行周期に応じて、パターンとの比較を行う。すなわち、連続的な動作として構成されている歩行動作を、歩行周期に区切って注目することによって効率的に特徴点を抽出することができるとともに、比較的短時間の動作によってパターン認識を実現することができる。したがって、比較的長い時間の連続した動作である歩行動作に対して、パターン認識を導入することが可能であるとともに、直進状態を検出する精度が向上する。また、第1ないし第3の実施の形態のように、カメラ16,16bを設ける必要がない。
また、歩行周期は、ユーザの歩行動作において、ユーザが左右の足をそれぞれ1歩ずつ進める時間(1複歩時間)に応じて決定されている。これにより、角速度ωvの周期と一致させることができるので、1歩時間周期を歩行周期とする場合に比べて精度が向上する。
<5. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、上記実施の形態に示した各工程は、あくまでも例示であって、上記に示した順序や内容に限定されるものではない。すなわち、同様の効果が得られるならば、適宜、順序や内容が変更されてもよい。
また、上記実施の形態に示した機能ブロック(例えば、歩行周期演算部100やベクトル演算部101など)は、CPU10がプログラム110に従って動作することにより、ソフトウェア的に実現されると説明した。しかし、これらの機能ブロックの一部または全部を専用の論理回路で構成し、ハードウェア的に実現してもよい。
また、上記実施の形態では、磁気センサを用いていなかったが、相対的な測位を実現するための自蔵センサとして、磁気センサを設けてもよい。
1,1a,1b,1c 携帯端末装置
10 CPU
100,100a,100b 歩行周期演算部
101,101a,101b ベクトル演算部
102 相関判定部
103,103c 直進歩行判定部
104 補正部
11 記憶装置
110 プログラム
111 動きベクトル情報
112 相関判定情報
12 操作部
13 表示部
14 ジャイロセンサ
140 角速度情報
15 加速度センサ
150 加速度情報
16,16b カメラ
160 画像情報
161,162,163,164 ブロック
161a サブブロック

Claims (19)

  1. ユーザによって携帯される携帯端末装置であって、
    前記携帯端末装置の移動における角速度を測定して角速度情報を取得するジャイロセンサと、
    前記携帯端末装置の移動における加速度を測定して加速度情報を取得する加速度センサと、
    前記携帯端末装置が移動している期間における周囲の被写体を撮像して画像情報を取得するカメラと、
    前記画像情報に基づいて前記被写体の動きベクトルを算出するベクトル演算手段と、
    前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する相関判定手段と、
    前記ベクトル演算手段により算出された前記被写体の動きベクトルと前記相関判定手段により判定された前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、
    前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段と、
    を備える携帯端末装置。
  2. 請求項1に記載の携帯端末装置であって、
    前記ベクトル演算手段は、前記画像情報をそれぞれが第1のサイズとなる複数のブロックに分割し、前記複数のブロックのそれぞれを前記第1のサイズよりも小さい第2のサイズとなる複数のサブブロックに分割し、前記複数のサブブロックごとにエッジ量を検出して、前記複数のブロックのそれぞれにおいてエッジ量が最大となるサブブロックを各ブロックの代表サブブロックとして決定し、決定した前記代表サブブロックの動きベクトルを算出することにより、前記被写体の動きベクトルを算出する携帯端末装置。
  3. 請求項2に記載の携帯端末装置であって、
    前記ベクトル演算手段は、前記代表サブブロックの動きベクトルを、前記ユーザの歩行周期単位に平均することにより、前記被写体の動きベクトルを求める携帯端末装置。
  4. 請求項2に記載の携帯端末装置であって、
    前記ベクトル演算手段は、前記ユーザの歩行周期に同期した演算タイミングで、前記代表サブブロックの動きベクトルを算出する携帯端末装置。
  5. 請求項4に記載の携帯端末装置であって、
    前記加速度センサにより取得された加速度情報に基づいて、歩行周期ごとに到来する、前記カメラの速度が最小となるタイミングを決定し、
    前記演算タイミングは、前記カメラの速度が最小となるタイミングとなるように決定される携帯端末装置。
  6. 請求項4に記載の携帯端末装置であって、
    前記演算タイミングは、前記ユーザの両足が着地しているときとなるように決定される携帯端末装置。
  7. 請求項2に記載の携帯端末装置であって、
    前記カメラは、前記ユーザの歩行周期に同期した撮像タイミングで、前記携帯端末装置が移動している期間における周囲の被写体を撮像する携帯端末装置。
  8. 請求項7に記載の携帯端末装置であって、
    前記加速度センサにより取得された加速度情報に基づいて、歩行周期ごとに到来する、前記カメラの速度が最小となるタイミングを決定し、
    前記撮像タイミングは、前記カメラの速度が最小となるタイミングとなるように決定される携帯端末装置。
  9. 請求項7に記載の携帯端末装置であって、
    前記撮像タイミングは、前記ユーザの両足が着地しているときとなるように決定される携帯端末装置。
  10. 請求項3ないし9のいずれかに記載の携帯端末装置であって、
    前記歩行周期は、前記ユーザの歩行動作において、前記ユーザが左右の足をそれぞれ1歩ずつ進める時間に応じて決定されている携帯端末装置。
  11. 請求項1ないし10のいずれかに記載の携帯端末装置であって、
    前記相関関係には、前記ユーザの歩行動作による進行方向に対して前記カメラの撮像方向が正対する関係が含まれる携帯端末装置。
  12. 請求項11に記載の携帯端末装置であって、
    前記ユーザの歩行動作による進行方向に対して前記カメラの撮像方向が正対している場合において、前記直進歩行判定手段は、前記ベクトル演算手段により求められた前記被写体の動きベクトルが、画像情報において放射状となっている場合に、前記ユーザの歩行動作が直進状態であると判定する携帯端末装置。
  13. ユーザによって携帯される携帯端末装置であって、
    前記携帯端末装置の移動における角速度を測定して角速度情報を取得するジャイロセンサと、
    前記携帯端末装置の移動における加速度を測定して加速度情報を取得する加速度センサと、
    前記携帯端末装置を所持したユーザの既知の歩行動作におけるパターンの特徴点を学習し、前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、
    前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段と、
    を備える携帯端末装置。
  14. 請求項13に記載の携帯端末装置であって、
    前記直進歩行判定手段は、前記ユーザの歩行動作における歩行周期に応じて、前記パターンとの比較を行う携帯端末装置。
  15. 請求項14に記載の携帯端末装置であって、
    前記歩行周期は、前記ユーザの歩行動作において、前記ユーザが左右の足をそれぞれ1歩ずつ進める時間に応じて決定されている携帯端末装置。
  16. ユーザによって携帯されるコンピュータによる読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、
    前記コンピュータの移動における角速度を測定して角速度情報を取得するジャイロセンサと、
    前記コンピュータの移動における加速度を測定して加速度情報を取得する加速度センサと、
    前記コンピュータが移動している期間における周囲の被写体を撮像して画像情報を取得するカメラと、
    前記画像情報に基づいて前記被写体の動きベクトルを算出するベクトル演算手段と、
    前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する相関判定手段と、
    前記ベクトル演算手段により算出された前記被写体の動きベクトルと前記相関判定手段により判定された前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、
    前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段と、
    を備えるコンピュータとして機能させるプログラム。
  17. ユーザによって携帯されるコンピュータによる読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、
    前記コンピュータの移動における角速度を測定して角速度情報を取得するジャイロセンサと、
    前記コンピュータの移動における加速度を測定して加速度情報を取得する加速度センサと、
    前記コンピュータを携帯したユーザの既知の歩行動作におけるパターンの特徴点を学習し、前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する直進歩行判定手段と、
    前記直進歩行判定手段により前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する補正手段と、
    を備えるコンピュータとして機能させるプログラム。
  18. 携帯端末装置の移動における角速度をジャイロセンサにより測定して角速度情報を取得する工程と、
    前記携帯端末装置の移動における加速度を加速度センサにより測定して加速度情報を取得する工程と、
    前記携帯端末装置が移動している期間における周囲の被写体をカメラにより撮像して画像情報を取得する工程と、
    前記カメラにより取得された前記画像情報に基づいて前記被写体の動きベクトルを算出する工程と、
    前記ジャイロセンサにより取得された角速度情報と前記加速度センサにより取得された加速度情報とに応じて、前記ユーザの歩行動作による進行方向と前記カメラの撮像方向との相対関係を判定する工程と、
    算出された前記被写体の動きベクトルと前記相関関係とに応じて、前記ユーザが歩行動作における直進状態か否かを判定する工程と、
    前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する工程と、
    を有する補正方法。
  19. 携帯端末装置を所持したユーザの既知の歩行動作におけるパターンの特徴点を学習させる工程と、
    携帯端末装置の移動における角速度をジャイロセンサにより測定して角速度情報を取得する工程と、
    前記携帯端末装置の移動における加速度を加速度センサにより測定して加速度情報を取得する工程と、
    前記ジャイロセンサにより取得された角速度情報および前記加速度センサにより取得された加速度情報を、前記パターンの特徴点と比較することにより、前記ユーザが歩行動作における直進状態か否かを判定する工程と、
    前記ユーザが歩行状態における直進状態であると判定されたことに応じて、前記ジャイロセンサにより取得される角速度情報を補正する工程と、
    を有する補正方法。
JP2013072311A 2013-03-29 2013-03-29 携帯端末装置、プログラムおよび補正方法 Expired - Fee Related JP6152511B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013072311A JP6152511B2 (ja) 2013-03-29 2013-03-29 携帯端末装置、プログラムおよび補正方法
CN201480017606.4A CN105051492B (zh) 2013-03-29 2014-03-26 移动终端装置、记录介质以及修正方法
PCT/JP2014/058466 WO2014157310A1 (ja) 2013-03-29 2014-03-26 携帯端末装置、記録媒体および補正方法
US14/864,166 US10545031B2 (en) 2013-03-29 2015-09-24 Portable terminal device, recording medium, and correction method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013072311A JP6152511B2 (ja) 2013-03-29 2013-03-29 携帯端末装置、プログラムおよび補正方法

Publications (3)

Publication Number Publication Date
JP2014196941A JP2014196941A (ja) 2014-10-16
JP2014196941A5 JP2014196941A5 (ja) 2016-04-14
JP6152511B2 true JP6152511B2 (ja) 2017-06-28

Family

ID=51624273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013072311A Expired - Fee Related JP6152511B2 (ja) 2013-03-29 2013-03-29 携帯端末装置、プログラムおよび補正方法

Country Status (4)

Country Link
US (1) US10545031B2 (ja)
JP (1) JP6152511B2 (ja)
CN (1) CN105051492B (ja)
WO (1) WO2014157310A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690904B1 (en) * 2013-09-09 2017-06-27 Scanadu Incorporated Signal-embedded signatures
GB2526806A (en) * 2014-06-03 2015-12-09 Here Global Bv Trail interpolation
JP2016090371A (ja) * 2014-11-04 2016-05-23 国立研究開発法人産業技術総合研究所 センサ情報を処理する情報処理装置、情報管理システム、情報表示システム、情報処理方法、プログラム、記録媒体及びサーバ装置
JP6539091B2 (ja) * 2015-04-09 2019-07-03 キヤノン株式会社 撮像装置およびその制御方法
JP6332212B2 (ja) 2015-09-18 2018-05-30 カシオ計算機株式会社 姿勢推定装置、姿勢推定方法及びプログラム
JP7199071B2 (ja) * 2017-07-06 2023-01-05 国立研究開発法人宇宙航空研究開発機構 移動型撮像装置
AU2017245322A1 (en) * 2017-10-10 2019-05-02 Canon Kabushiki Kaisha Method, system and apparatus for selecting frames of a video sequence
CN108469268A (zh) * 2018-03-15 2018-08-31 中国兵器工业集团第二四研究所苏州研发中心 一种基于微机械陀螺仪的计步方法
WO2020008878A1 (ja) * 2018-07-02 2020-01-09 ソニー株式会社 測位装置、測位方法、及びプログラム
CN108937742A (zh) * 2018-09-06 2018-12-07 苏州领贝智能科技有限公司 一种扫地机的陀螺仪角度修正方法和扫地机
EP3918990A4 (en) 2019-01-28 2022-02-09 Fujitsu Limited PROGRAM, SYSTEM AND PROCEDURE FOR IDENTIFICATION OF SENSOR ATTACHMENT/SOLUTION
JP6891913B2 (ja) * 2019-03-25 2021-06-18 カシオ計算機株式会社 電子表示装置及び表示制御方法
JP7240241B2 (ja) * 2019-04-24 2023-03-15 キヤノン株式会社 撮像装置及びその制御方法、姿勢角算出装置、プログラム、記憶媒体
CN110672099A (zh) * 2019-09-09 2020-01-10 武汉元生创新科技有限公司 一种用于室内机器人导航的航向校正方法和系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4897542A (ja) 1972-03-28 1973-12-12
JPS5059933A (ja) 1973-10-02 1975-05-23
JPH07324941A (ja) * 1994-06-02 1995-12-12 Matsushita Electric Ind Co Ltd オフセットドリフト補正装置
JP3915654B2 (ja) * 2002-10-18 2007-05-16 株式会社日立製作所 屋内位置検出装置及び屋内位置検出方法
JP2007279837A (ja) * 2006-04-03 2007-10-25 Advance Alpha:Kk 携帯型行動監視装置および行動監視システム
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
JP4897542B2 (ja) 2007-03-30 2012-03-14 三菱電機株式会社 自己位置標定装置、自己位置標定方法および自己位置標定プログラム
KR100886340B1 (ko) * 2007-04-04 2009-03-03 삼성전자주식회사 이동 로봇의 자이로 센서를 캘리브레이션하는 장치 및 방법
JP5189316B2 (ja) * 2007-04-25 2013-04-24 本田技研工業株式会社 ヨーレートセンサの出力判定装置および追従先行車判定装置
WO2010001968A1 (ja) 2008-07-02 2010-01-07 独立行政法人産業技術総合研究所 移動体の測位装置
JP4877395B2 (ja) * 2010-01-19 2012-02-15 セイコーエプソン株式会社 歩幅推測方法及び歩幅推測装置
CN101943912B (zh) * 2010-09-02 2015-09-23 北京理工大学 一种消除双足仿人机器人上身姿态晃动的控制方法
JP5059933B2 (ja) 2010-12-02 2012-10-31 株式会社エヌ・ティ・ティ・ドコモ 移動端末、システム及び方法
JP5704561B2 (ja) * 2011-01-12 2015-04-22 独立行政法人産業技術総合研究所 進行方向推定装置、携帯端末、制御プログラム、コンピュータ読み取り可能な記録媒体、および進行方向推定方法
US8498811B2 (en) * 2011-02-09 2013-07-30 SenionLab AB Method and device for indoor positioning
JP5849319B2 (ja) * 2011-12-05 2016-01-27 株式会社日立製作所 移動経路推定システム、移動経路推定装置及び移動経路推定方法
US8532675B1 (en) * 2012-06-27 2013-09-10 Blackberry Limited Mobile communication device user interface for manipulation of data items in a physical space
US9013617B2 (en) * 2012-10-12 2015-04-21 Qualcomm Incorporated Gyroscope conditioning and gyro-camera alignment
WO2015057623A2 (en) * 2013-10-14 2015-04-23 Nike Innovate C.V. Fitness training system for merging energy expenditure calculations from multiple devices

Also Published As

Publication number Publication date
JP2014196941A (ja) 2014-10-16
CN105051492A (zh) 2015-11-11
WO2014157310A1 (ja) 2014-10-02
US10545031B2 (en) 2020-01-28
US20160011004A1 (en) 2016-01-14
CN105051492B (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
JP6152511B2 (ja) 携帯端末装置、プログラムおよび補正方法
Cortés et al. ADVIO: An authentic dataset for visual-inertial odometry
JP7082545B2 (ja) 情報処理方法、情報処理装置およびプログラム
US9953461B2 (en) Navigation system applying augmented reality
EP2434256B1 (en) Camera and inertial measurement unit integration with navigation data feedback for feature tracking
US11227168B2 (en) Robust lane association by projecting 2-D image into 3-D world using map information
US8761439B1 (en) Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit
CN111445526B (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
US20080319664A1 (en) Navigation aid
CN107909614B (zh) 一种gps失效环境下巡检机器人定位方法
US20080279421A1 (en) Object detection using cooperative sensors and video triangulation
WO2016198009A1 (zh) 一种检测航向的方法和装置
KR101444685B1 (ko) 영상기반 멀티센서 데이터를 이용한 차량의 위치자세 결정 방법 및 장치
CN105339758A (zh) 使用重叠区域优化光束法平差
US10242281B2 (en) Hybrid orientation system
RU2019115873A (ru) Система слежения за объектами
JP6867254B2 (ja) 測定装置、ナビゲーションシステム、測定方法及びプログラム
JP2011163861A (ja) 地磁気センサ及び加速度センサを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法
CN111928847A (zh) 惯性测量单元位姿数据优化方法、装置及电子设备
JP5464706B2 (ja) 加速度センサ及び地磁気センサを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法
JP5742794B2 (ja) 慣性航法装置及びプログラム
Khoshelham et al. Vehicle positioning in the absence of GNSS signals: Potential of visual-inertial odometry
EP3227634B1 (en) Method and system for estimating relative angle between headings
US20090226094A1 (en) Image correcting device and method, and computer program
Huttunen et al. A monocular camera gyroscope

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160930

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170307

R150 Certificate of patent or registration of utility model

Ref document number: 6152511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees