JP6804908B2 - Estimator, estimation method and computer program - Google Patents

Estimator, estimation method and computer program Download PDF

Info

Publication number
JP6804908B2
JP6804908B2 JP2016178774A JP2016178774A JP6804908B2 JP 6804908 B2 JP6804908 B2 JP 6804908B2 JP 2016178774 A JP2016178774 A JP 2016178774A JP 2016178774 A JP2016178774 A JP 2016178774A JP 6804908 B2 JP6804908 B2 JP 6804908B2
Authority
JP
Japan
Prior art keywords
unit
estimation
data
motion
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.)
Active
Application number
JP2016178774A
Other languages
Japanese (ja)
Other versions
JP2018042672A (en
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.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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 Toshiba Corp, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2016178774A priority Critical patent/JP6804908B2/en
Publication of JP2018042672A publication Critical patent/JP2018042672A/en
Application granted granted Critical
Publication of JP6804908B2 publication Critical patent/JP6804908B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本発明の実施形態は、推定装置、推定方法及びコンピュータプログラムに関する。 Embodiments of the present invention relate to estimation devices, estimation methods and computer programs.

現在、GPS(Global Positioning System)を使用できない屋内にて歩行者を測位する方法として、歩行者が所持した端末のセンサ情報から位置推定を行う方法が存在する。しかしながら、民生用に用いられる端末は、ノイズやオフセット等の誤差及びゼロ速度更新を行うタイミングを検出できないため加速度と角速度の積算による測位は難しいという問題がある。そこで、歩行中のセンサ波形をパターン認識し、その歩行動作や歩数、歩幅を推定し、歩行者の測位を行う方法がある。しかしながら、この方法では、歩行方向や移動距離の推定の精度で問題がある。このように、従来の技術では、歩行方向、歩行状態及び歩幅などの歩行に関する情報を精度良く推定できない場合があった。 Currently, as a method of positioning a pedestrian indoors where GPS (Global Positioning System) cannot be used, there is a method of estimating a position from sensor information of a terminal possessed by the pedestrian. However, terminals used for consumer use have a problem that positioning by integrating acceleration and angular velocity is difficult because errors such as noise and offset and timing of zero speed update cannot be detected. Therefore, there is a method of recognizing a pattern of a sensor waveform during walking, estimating the walking motion, the number of steps, and the stride length, and positioning the pedestrian. However, this method has a problem in the accuracy of estimating the walking direction and the moving distance. As described above, in the conventional technique, it may not be possible to accurately estimate information on walking such as walking direction, walking state, and stride length.

特開2004−264028号公報Japanese Unexamined Patent Publication No. 2004-264028 特開2005−114537号公報Japanese Unexamined Patent Publication No. 2005-114537 特開2012−145457号公報Japanese Unexamined Patent Publication No. 2012-145457

本発明が解決しようとする課題は、歩行に関する情報の推定精度を向上させることができる推定装置、推定方法及びコンピュータプログラムを提供することである。 An object to be solved by the present invention is to provide an estimation device, an estimation method, and a computer program capable of improving the estimation accuracy of information related to walking.

実施形態の推定装置は、取得部と、姿勢推定部と、座標変換部と、角度算出部と、フィルタ処理部と、単位動作抽出部と、動作推定部と、方向推定部と、距離推定部とを持つ。取得部は、人物の3軸の加速度ベクトルデータの時系列データである加速度データ及び3軸の角速度ベクトルデータの時系列データである角速度データを加速度センサ及び角速度センサから取得する。姿勢推定部は、前記取得部によって取得された前記加速度データ及び前記角速度データに基づいて、前記加速度センサ及び前記角速度センサの姿勢を推定する。座標変換部は、前記姿勢推定部によって推定された前記加速度センサ及び前記角速度センサの姿勢に基づいて、前記加速度データ及び前記角速度データの座標変換を行う。角度算出部は、前記座標変換部によって座標変換された後の前記角速度データから移動方向の時系列データを算出する。フィルタ処理部は、前記座標変換部によって座標変換された後の前記加速度データ及び前記角速度データに対してある一定の周波数成分の値を通過させるフィルタ処理を行う。単位動作抽出部は、前記フィルタ処理部によってフィルタ処理が施された前記加速度データから合成ベクトルの大きさが三角関数の1周期の形状となる範囲を前記人物が行う動作を表す単位動作区間として検出し、検出した前記単位動作区間内の加速度データ及び角速度データを前記単位動作区間毎の推定用時系列データとして抽出する。動作推定部は、前記単位動作抽出部によって抽出された前記推定用時系列データと、予め保持している前記人物の各動作のテンプレートパターンとを比較し、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する。方向推定部は、前記推定用時系列データと、前記動作推定部が推定した推定結果とに基づいて、移動方向を推定する。距離推定部は、前記推定用時系列データと前記動作推定部が推定した推定結果とに基づいて、前記人物の移動距離推定する。
The estimation device of the embodiment includes an acquisition unit, a posture estimation unit, a coordinate conversion unit, an angle calculation unit, a filter processing unit, a unit motion extraction unit, a motion estimation unit, a direction estimation unit, and a distance estimation unit. And have. The acquisition unit acquires the acceleration data which is the time-series data of the three-axis acceleration vector data of the person and the angular velocity data which is the time-series data of the three-axis angular velocity vector data from the acceleration sensor and the angular velocity sensor. The posture estimation unit estimates the postures of the acceleration sensor and the angular velocity sensor based on the acceleration data and the angular velocity data acquired by the acquisition unit. The coordinate conversion unit performs coordinate conversion of the acceleration data and the angular velocity data based on the postures of the acceleration sensor and the angular velocity sensor estimated by the attitude estimation unit. The angle calculation unit calculates time-series data in the moving direction from the angular velocity data after coordinate conversion by the coordinate conversion unit. The filter processing unit performs a filter process for passing the value of a certain frequency component to the acceleration data and the angular velocity data after the coordinate conversion by the coordinate conversion unit. The unit motion extraction unit detects a range in which the magnitude of the composite vector becomes the shape of one cycle of the triangular function from the acceleration data filtered by the filter processing section as a unit motion section representing the motion performed by the person. Then, the detected acceleration data and angular velocity data in the unit operation section are extracted as estimation time series data for each unit operation section. The motion estimation unit compares the estimation time series data extracted by the unit motion extraction unit with the template pattern of each motion of the person held in advance, and moves and moves without changing the direction of the sensor. Estimate the behavior without. The direction estimation unit estimates the moving direction based on the estimation time series data and the estimation result estimated by the motion estimation unit. The distance estimation unit, the time series data for the estimation, on the basis of the estimation result of the movement-estimating unit has estimated, estimates the movement distance of the person.

第1の実施形態における推定装置100の機能構成を表す概略ブロック図。The schematic block diagram which shows the functional structure of the estimation apparatus 100 in 1st Embodiment. 動作推定部71の構成を表す概略ブロック図。The schematic block diagram which shows the structure of the motion estimation part 71. 距離推定部73の構成を表す概略ブロック図。The schematic block diagram which shows the structure of the distance estimation part 73. 第1の実施形態における推定装置100の処理の流れを示すフローチャート。The flowchart which shows the process flow of the estimation apparatus 100 in 1st Embodiment. センサ座標軸を示す図。The figure which shows the sensor coordinate axis. センサ座標軸からのグローバル座標変換の概要を示す図。The figure which shows the outline of the global coordinate transformation from a sensor coordinate axis. ローパスフィルタの一例を示す図。The figure which shows an example of a low-pass filter. 典型的な一歩の波形の一例を示す図。The figure which shows an example of the waveform of a typical step. ローパスフィルタの適用効果を説明するための図。The figure for demonstrating the effect of applying a low-pass filter. 前歩きと後ろ歩きのテンプレートパターンを示す図。The figure which shows the template pattern of the front walk and the back walk. 進行方向加速度の一例を示す図。The figure which shows an example of the traveling direction acceleration. 一連の歩行動作において1歩1歩について前歩きテンプレートと後ろ歩きテンプレートとのDTW距離を算出した結果を示す図。The figure which shows the result of having calculated the DTW distance between the front walk template and the back walk template for each step in a series of walking motions. 移動を伴わない動作における合成ノルムの波形パターンの一例を示す図。The figure which shows an example of the waveform pattern of the synthetic norm in the operation without movement. 歩行に伴うセンサ向きの変化を説明するための図。The figure for demonstrating the change of the sensor orientation with walking. 1歩間のデータに基づいて進行方向を推定する際の説明図。Explanatory drawing when estimating the traveling direction based on the data of one step. センサの向きから進行方向の推定を行う方法を説明するための図。The figure for demonstrating the method of estimating the traveling direction from the direction of a sensor. 歩幅モデルの一例を示す図。The figure which shows an example of a stride model. 変数の自動選択の一例を示す図。The figure which shows an example of the automatic selection of a variable. 第2の実施形態における推定装置100aの機能構成を表す概略ブロック図。The schematic block diagram which shows the functional structure of the estimation apparatus 100a in 2nd Embodiment. 第2の実施形態における推定装置100aの処理の流れを示すフローチャート。The flowchart which shows the processing flow of the estimation apparatus 100a in 2nd Embodiment. 畳み込みを利用した深層学習の一例を示す図。The figure which shows an example of deep learning using convolution. 第3の実施形態における推定装置100bの機能構成を表す概略ブロック図。The schematic block diagram which shows the functional structure of the estimation apparatus 100b in 3rd Embodiment. 第3の実施形態における推定装置100bの処理の流れを示すフローチャート。The flowchart which shows the process flow of the estimation apparatus 100b in 3rd Embodiment. 記憶層の一例を示す図。The figure which shows an example of the storage layer.

以下、実施形態の推定装置、推定方法及びコンピュータプログラムを、図面を参照して説明する。
実施形態における推定装置は、人物に備え付けられるセンサ又は人物が所持する端末に備えられるセンサから時系列のデータを取得し、取得したデータに基づいて人物の歩行に関する情報を推定する。ここで、センサは、例えば、加速度センサ及び角速度センサである。また、人物の歩行に関する情報とは、動作、移動方向(進行方向ともいう)及び移動距離などである。以下の説明では、人物の歩行に関する情報として、動作、移動方向及び移動距離を例に説明する。以下、具体的な構成について複数の実施形態(第1の実施形態〜第3の実施形態)を例に説明する。
Hereinafter, the estimation device, the estimation method, and the computer program of the embodiment will be described with reference to the drawings.
The estimation device in the embodiment acquires time-series data from a sensor installed in the person or a sensor provided in a terminal possessed by the person, and estimates information about walking of the person based on the acquired data. Here, the sensors are, for example, an acceleration sensor and an angular velocity sensor. In addition, the information related to the walking of a person includes movement, moving direction (also referred to as traveling direction), moving distance, and the like. In the following description, movement, movement direction, and movement distance will be described as examples of information regarding walking of a person. Hereinafter, a plurality of embodiments (first embodiment to third embodiment) will be described as examples of specific configurations.

(第1の実施形態)
図1は、第1の実施形態における推定装置100の機能構成を表す概略ブロック図である。推定装置100は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、推定プログラムを実行する。推定プログラムの実行によって、推定装置100は、取得部10、姿勢推定部20、座標変換部30、角度算出部40、フィルタ処理部50、単位動作抽出部60、推定部70を備える装置として機能する。なお、推定装置100の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、推定プログラムは、電気通信回線を介して送受信されてもよい。
(First Embodiment)
FIG. 1 is a schematic block diagram showing a functional configuration of the estimation device 100 according to the first embodiment. The estimation device 100 includes a CPU (Central Processing Unit), a memory, an auxiliary storage device, and the like connected by a bus, and executes an estimation program. By executing the estimation program, the estimation device 100 functions as a device including an acquisition unit 10, a posture estimation unit 20, a coordinate conversion unit 30, an angle calculation unit 40, a filter processing unit 50, a unit motion extraction unit 60, and an estimation unit 70. .. All or a part of each function of the estimation device 100 may be realized by using hardware such as ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), and FPGA (Field Programmable Gate Array). The estimation program may also be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a flexible disk, a magneto-optical disk, a portable medium such as a ROM (Read Only Memory) or a CD-ROM, or a storage device such as a hard disk built in a computer system. In addition, the estimation program may be transmitted and received via a telecommunication line.

取得部10は、加速度センサ及び角速度センサから時系列データとして、3軸の加速度ベクトルの時系列データ(以下、「加速度データ」という。)及び3軸の角速度ベクトルの時系列データ(以下、「角速度データ」という。)を取得する。この際、取得部10は、加速度データ及び角速度データを、タイムスタンプ付のデータとして取得する。
姿勢推定部20は、取得部10によって取得された加速度データ及び角速度データに基づいて、各データを取得したセンサの姿勢を推定する。
座標変換部30は、姿勢推定部20によって推定されたセンサの姿勢に基づいて、加速度データ及び角速度データの座標変換を行う。
The acquisition unit 10 receives three-axis acceleration vector time-series data (hereinafter referred to as “acceleration data”) and three-axis angular velocity vector time-series data (hereinafter, “angular velocity”) as time-series data from the acceleration sensor and the angular velocity sensor. Data ") is acquired. At this time, the acquisition unit 10 acquires the acceleration data and the angular velocity data as data with a time stamp.
The attitude estimation unit 20 estimates the attitude of the sensor that acquired each data based on the acceleration data and the angular velocity data acquired by the acquisition unit 10.
The coordinate conversion unit 30 performs coordinate conversion of acceleration data and angular velocity data based on the attitude of the sensor estimated by the attitude estimation unit 20.

角度算出部40は、座標変換後の角速度データから移動方向の時系列データを算出する。
フィルタ処理部50は、座標変換後の加速度データ及び角速度データに対してフィルタ処理を行う。
単位動作抽出部60は、フィルタ処理が施された加速度データ及び角速度データと、角度算出部40によって算出された移動方向の時系列データとに基づいて、時系列データから単位動作区間毎にデータを抽出する。ここで、単位動作とは、例えば人物が行う動作を構成する最小単位の動作を表す。人物が行う動作としては、例えば三歩歩き、二回ジャンプ、二回しゃがむ等が挙げられる。人物が行う動作が三歩歩きである場合には、各一歩が単位動作である。また、人物が行う動作が二回ジャンプである場合には、各ジャンプを構成している動作それぞれが単位動作である。ジャンプを構成している動作としては、例えば、踏ん張る動作と、飛ぶ動作とがある。すなわち、二回ジャンプには、4つの単位動作(例えば、踏ん張る動作と、飛ぶ動作とが2回ずつ行われるため)が含まれる。また、人物が行う動作が二回しゃがむである場合には、単位動作としてしゃがむ動作と、立つ動作とがある。すなわち、二回しゃがむには、4つの単位動作(例えば、しゃがむ動作と、立つ動作とが2回ずつ行われるため)が含まれる。単位動作区間とは、単位動作の時間区間である。例えば、上記例の場合(人物が行う動作が三歩歩きである場合)には、単位動作区間は一歩の時間区間である。
The angle calculation unit 40 calculates time series data in the moving direction from the angular velocity data after coordinate conversion.
The filter processing unit 50 performs filter processing on the acceleration data and the angular velocity data after the coordinate conversion.
The unit motion extraction unit 60 obtains data for each unit motion section from the time series data based on the filtered acceleration data and angular velocity data and the time series data in the moving direction calculated by the angle calculation unit 40. Extract. Here, the unit movement represents, for example, the movement of the smallest unit constituting the movement performed by a person. Examples of actions performed by a person include walking three steps, jumping twice, and crouching twice. When the movement performed by the person is a three-step walk, each step is a unit movement. When the movement performed by the person is a jump twice, each of the movements constituting each jump is a unit movement. The movements that make up the jump include, for example, a stepping movement and a flying movement. That is, the double jump includes four unit movements (for example, because the stepping motion and the flying motion are performed twice each). Further, when the movement performed by the person is crouching twice, there are a squatting movement and a standing movement as unit movements. That is, crouching twice includes four unit movements (for example, because the crouching movement and the standing movement are performed twice each). The unit operation interval is a time interval of unit operation. For example, in the case of the above example (when the movement performed by the person is a three-step walk), the unit movement section is a time section of one step.

推定部70は、単位動作抽出部60によって抽出された単位動作区間毎のデータに基づいて、人物の歩行に関する情報(動作、移動方向及び移動距離)を推定する。推定部70は、動作推定部71、方向推定部72及び距離推定部73を備える。動作推定部71は、単位動作抽出部60によって抽出された単位動作区間毎のデータと、環境情報とに基づいて、その単位動作区間毎のデータにおける動作を推定する。環境情報は、センサがある周囲の環境に関する情報であり、例えば地磁気、気圧、気温、湿度、照度、音量、臭度、酸素濃度等の気体濃度及びビーコン等の無線電波状況である。方向推定部72は、単位動作抽出部60によって抽出された単位動作区間毎のデータに基づいて、そのデータにおける移動方向を推定する。例えば、方向推定部72は、前歩き、後ろ歩きの際に、センサ前正面を基準としてどの方向に移動しているかを表す移動方向を推定する。距離推定部73は、単位動作抽出部60によって抽出された単位動作区間毎のデータと、動作推定部71から出力された動作推定結果と、ユーザパラメータと、キャリブレーションデータとに基づいて、そのデータにおける移動距離を推定する。ユーザパラメータは、身長、性別、年齢などの人物の情報を表す。キャリブレーションデータは、オフセット、モデルパラメータなどである。 The estimation unit 70 estimates information (movement, movement direction, movement distance) regarding walking of a person based on the data for each unit movement section extracted by the unit movement extraction unit 60. The estimation unit 70 includes a motion estimation unit 71, a direction estimation unit 72, and a distance estimation unit 73. The motion estimation unit 71 estimates the motion in the data for each unit motion section based on the data for each unit motion section extracted by the unit motion extraction unit 60 and the environmental information. The environmental information is information about the surrounding environment where the sensor is located, for example, the gas concentration such as geomagnetism, atmospheric pressure, temperature, humidity, illuminance, volume, odor, oxygen concentration, and radio wave condition such as beacon. The direction estimation unit 72 estimates the moving direction in the data based on the data for each unit motion section extracted by the unit motion extraction unit 60. For example, the direction estimation unit 72 estimates a movement direction indicating which direction the sensor is moving with reference to the front surface in front of the sensor when walking forward or backward. The distance estimation unit 73 is based on the data for each unit motion section extracted by the unit motion extraction unit 60, the motion estimation result output from the motion estimation section 71, the user parameters, and the calibration data. Estimate the distance traveled in. User parameters represent personal information such as height, gender, and age. The calibration data includes offsets, model parameters, and the like.

図2は、動作推定部71の構成を表す概略ブロック図である。図2に示すように、動作推定部71は、動作DB711、歩行外動作パターンマッチング部712、歩行方向データパターンマッチング部713及び動作判定部714を備える。
動作DB711は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。動作DB711は、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する際に利用されるテンプレートパターンを記憶する。本実施形態においてセンサの向きを変化させない移動動作とは、前歩き、後歩き、カニ歩き(左右)等の人物の歩行による体の回転を伴わない動作である。本実施形態において移動を伴わない動作とは、しゃがむ、垂直ジャンプ、足踏み、体の回転、屈伸、背伸び、腕ふり及び挙手等の人物が位置している場所で行われる動作である。
FIG. 2 is a schematic block diagram showing the configuration of the motion estimation unit 71. As shown in FIG. 2, the motion estimation unit 71 includes an motion DB 711, a non-walking motion pattern matching section 712, a walking direction data pattern matching section 713, and a motion determination section 714.
The operation DB 711 is configured by using a storage device such as a magnetic hard disk device or a semiconductor storage device. The operation DB 711 stores a template pattern used for estimating a movement operation that does not change the direction of the sensor and an operation that does not involve movement. In the present embodiment, the moving motion that does not change the direction of the sensor is a motion that does not involve rotation of the body due to walking of a person such as forward walking, backward walking, and crab walking (left and right). In the present embodiment, the motion without movement is an motion performed in a place where a person is located, such as crouching, vertical jumping, stepping, body rotation, bending / stretching, back stretching, arm swinging, and raising hands.

歩行外動作パターンマッチング部712は、単位動作抽出部60によって抽出された単位動作区間毎のデータと、動作DB711に記憶されているテンプレートパターンとに基づいて移動を伴わない動作のマッチングを行う。
歩行方向データパターンマッチング部713は、単位動作抽出部60によって抽出された単位動作区間毎のデータと、動作DB711に記憶されているテンプレートパターンとに基づいてセンサの向きを変化させない移動動作のマッチングを行う。
動作判定部714は、歩行外動作パターンマッチング部712及び歩行方向データパターンマッチング部713のマッチング結果に基づいて動作を判定する。動作判定部714は、動作の判定結果を動作の推定結果として出力する。
The non-walking motion pattern matching unit 712 performs motion matching without movement based on the data for each unit motion section extracted by the unit motion extraction unit 60 and the template pattern stored in the motion DB 711.
The walking direction data pattern matching unit 713 matches the movement motion that does not change the direction of the sensor based on the data for each unit motion section extracted by the unit motion extraction unit 60 and the template pattern stored in the motion DB 711. Do.
The motion determination unit 714 determines the motion based on the matching results of the non-walking motion pattern matching section 712 and the walking direction data pattern matching section 713. The motion determination unit 714 outputs the motion determination result as the motion estimation result.

図3は、距離推定部73の構成を表す概略ブロック図である。図3に示すように、距離推定部73は、変換部731、歩幅モデルDB732及び歩幅算出部733を備える。
変換部731は、単位動作抽出部60によって抽出された単位動作区間毎のデータを、周波数領域の情報に変換する。
歩幅モデルDB732は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。歩幅モデルDB732は、歩幅モデルを記憶する。
歩幅算出部733は、変換部731によって変換された周波数領域の情報と、歩幅モデルDB732に記憶されている歩幅モデルと、ユーザパラメータと、キャリブレーションデータとに基づいて歩幅を推定する。歩幅算出部733が推定する歩幅は一歩の移動距離である。
FIG. 3 is a schematic block diagram showing the configuration of the distance estimation unit 73. As shown in FIG. 3, the distance estimation unit 73 includes a conversion unit 731, a stride model DB 732, and a stride calculation unit 733.
The conversion unit 731 converts the data for each unit operation section extracted by the unit operation extraction unit 60 into information in the frequency domain.
The stride model DB732 is configured by using a storage device such as a magnetic hard disk device or a semiconductor storage device. The stride model DB732 stores the stride model.
The stride calculation unit 733 estimates the stride based on the frequency domain information converted by the conversion unit 731, the stride model stored in the stride model DB732, the user parameters, and the calibration data. The stride estimated by the stride calculation unit 733 is the distance traveled by one step.

図4は、第1の実施形態における推定装置100の処理の流れを示すフローチャートである。取得部10は、加速度センサ及び角速度センサから時系列データとして、加速度データ及び角速度データを取得する(ステップS101)。取得部10は、取得した加速度データ及び角速度データを姿勢推定部20及び座標変換部30に出力する。姿勢推定部20は、取得部10から出力された加速度データ及び角速度データを入力とする。姿勢推定部20は、入力された加速度データ及び角速度データに基づいて、加速度データ及び角速度データの取得元のセンサの姿勢角を推定する(ステップS102)。センサの姿勢角の推定には、例えば参考文献1に記載されている姿勢角推定装置を用いてもよいし、一般的によく知られている姿勢推定方法を使用してもよい。(参考文献1:特開2004−264028号公報)ここで、姿勢角とは、グローバル座標系におけるセンサ座標系の姿勢を一意に決定するものである。図5は、センサ座標軸を示す図である。図5に示すように、センサ座標軸として、鉛直方向、進行方向及び横方向の3軸が用いられる。姿勢推定部20は、姿勢角の推定結果を座標変換部30に出力する。 FIG. 4 is a flowchart showing a processing flow of the estimation device 100 according to the first embodiment. The acquisition unit 10 acquires acceleration data and angular velocity data as time-series data from the acceleration sensor and the angular velocity sensor (step S101). The acquisition unit 10 outputs the acquired acceleration data and angular velocity data to the attitude estimation unit 20 and the coordinate conversion unit 30. The attitude estimation unit 20 inputs the acceleration data and the angular velocity data output from the acquisition unit 10. The attitude estimation unit 20 estimates the attitude angle of the sensor from which the acceleration data and the angular velocity data are acquired based on the input acceleration data and the angular velocity data (step S102). For the estimation of the attitude angle of the sensor, for example, the attitude angle estimation device described in Reference 1 may be used, or a generally well-known attitude estimation method may be used. (Reference 1: Japanese Unexamined Patent Publication No. 2004-264028) Here, the posture angle uniquely determines the posture of the sensor coordinate system in the global coordinate system. FIG. 5 is a diagram showing sensor coordinate axes. As shown in FIG. 5, three axes of the vertical direction, the traveling direction, and the horizontal direction are used as the sensor coordinate axes. The attitude estimation unit 20 outputs the estimation result of the attitude angle to the coordinate conversion unit 30.

座標変換部30は、取得部10から出力された加速度データ及び角速度データと、座標変換部30から出力された推定結果とを入力とする。座標変換部30は、入力された姿勢角の推定結果から、加速度データ及び角速度データの座標を変換(センサ座標からグローバル座標に変換)する(ステップS103)。具体的には、座標変換部30は、回転行列や四元数などによって、二つの座標系間の変換を行う。図6は、センサ座標軸からのグローバル座標変換の概要を示す図である。座標変換には、クォータニオンを用いた姿勢演算アルゴリズム等の一般的によく知られている手法が用いられてもよいし、その他の手法が用いられてもよい。座標変換部30は、座標変換後の角速度データを角度算出部40に出力する。また、座標変換部30は、座標変換後の加速度データ及び角速度データをフィルタ処理部50に出力する。 The coordinate conversion unit 30 inputs the acceleration data and the angular velocity data output from the acquisition unit 10 and the estimation result output from the coordinate conversion unit 30. The coordinate conversion unit 30 converts the coordinates of the acceleration data and the angular velocity data (converts from the sensor coordinates to the global coordinates) from the input estimation result of the posture angle (step S103). Specifically, the coordinate conversion unit 30 performs conversion between two coordinate systems using a rotation matrix, a quaternion, or the like. FIG. 6 is a diagram showing an outline of global coordinate transformation from the sensor coordinate axis. For the coordinate transformation, a generally well-known method such as a posture calculation algorithm using a quaternion may be used, or another method may be used. The coordinate conversion unit 30 outputs the angular velocity data after the coordinate conversion to the angle calculation unit 40. Further, the coordinate conversion unit 30 outputs the acceleration data and the angular velocity data after the coordinate conversion to the filter processing unit 50.

角度算出部40は、座標変換部30から出力された座標変換後の角速度データを入力とする。角度算出部40は、入力された座標変換後の角速度データを積分し、進行方向軸、鉛直方向軸及び横方向軸について角度を算出する(ステップS104)。鉛直方向軸の角度はユーザが水平面においてどの方向に移動しているかを示し、進行方向軸の角度はユーザの横方向の揺れを示し、横方向軸の角度はユーザの前後の揺れを示している。 The angle calculation unit 40 inputs the angular velocity data after coordinate conversion output from the coordinate conversion unit 30. The angle calculation unit 40 integrates the input angular velocity data after coordinate conversion, and calculates angles for the traveling direction axis, the vertical direction axis, and the lateral direction axis (step S104). The angle of the vertical axis indicates the direction in which the user is moving in the horizontal plane, the angle of the traveling axis indicates the lateral sway of the user, and the angle of the lateral axis indicates the sway of the user back and forth. ..

フィルタ処理部50は、座標変換部30から出力された座標変換後の加速度データ及び角速度データを入力とする。フィルタ処理部50は、入力された座標変換後の加速度データ及び角速度データのそれぞれのデータに対して、ある一定の周波数成分の値を通過させるフィルタ処理を行う(ステップS105)。例えば、フィルタ処理部50は、加速度データに対して歩行動作の一般的な周波数(例えば、2Hz)を通過させるローパスフィルタを適用する。これは歩行動作において、着地時に衣服が振動し、センサの測定値に振動成分が重畳することがある。これにより、一歩区間の検出に誤差が生じ、これが歩幅の誤差となり移動距離の推定誤差が大きくなってしまう場合がある。そこで、フィルタ処理部50は、このような問題を低減させるためにローパスフィルタを適用する。ここで、ローパスフィルタの一例を図7に示す。また、例えば、フィルタ処理部50は、角速度データに対してドリフトの影響を低減するため、ハイパスフィルタを適用する。フィルタ処理部50は、フィルタ処理後の加速度データ及び角速度データを単位動作抽出部60に出力する。 The filter processing unit 50 inputs the acceleration data and the angular velocity data after the coordinate conversion output from the coordinate conversion unit 30. The filter processing unit 50 performs a filter process for passing the value of a certain frequency component to each of the input coordinate-converted acceleration data and angular velocity data (step S105). For example, the filter processing unit 50 applies a low-pass filter that passes a general frequency (for example, 2 Hz) of walking motion to acceleration data. This is because the clothes vibrate at the time of landing in the walking motion, and the vibration component may be superimposed on the measured value of the sensor. As a result, an error occurs in the detection of the one-step section, which becomes an error in the stride length, and the estimation error of the moving distance may become large. Therefore, the filter processing unit 50 applies a low-pass filter in order to reduce such a problem. Here, an example of a low-pass filter is shown in FIG. Further, for example, the filter processing unit 50 applies a high-pass filter in order to reduce the influence of drift on the angular velocity data. The filter processing unit 50 outputs the acceleration data and the angular velocity data after the filter processing to the unit motion extraction unit 60.

単位動作抽出部60は、角度算出部40から出力された角度データと、フィルタ処理部50から出力されたフィルタ処理後の加速度データ及び角速度データとを入力とする。単位動作抽出部60は、入力された加速度データから合成ベクトルのノルムを算出する(ステップS106)。合成ベクトルのノルムとしては合成ベクトルの大きさを使用してよい。単位動作抽出部60は、算出した合成ベクトルのノルムに基づいて単位動作区間が検出できたか否かを判定する(ステップS107)。単位動作は、図8に示すような典型的な1歩の動作と等価であるそのため、単位動作抽出部60は、合成ベクトルの大きさが三角関数の1周期の形状となる部分を単位動作区間として検出する。この際、加速度データに対してローパスフィルタを適用していないと、図9に示すように合成ベクトルにも振動等の高周波成分が重畳されてしまい、単位動作区間が正しく検出できなくなる。 The unit motion extraction unit 60 inputs the angle data output from the angle calculation unit 40, and the acceleration data and the angular velocity data after the filter processing output from the filter processing unit 50. The unit motion extraction unit 60 calculates the norm of the composite vector from the input acceleration data (step S106). The magnitude of the composite vector may be used as the norm of the composite vector. The unit motion extraction unit 60 determines whether or not the unit motion interval can be detected based on the calculated norm of the composite vector (step S107). Since the unit motion is equivalent to the typical one-step motion as shown in FIG. 8, the unit motion extraction unit 60 sets the portion where the magnitude of the composite vector is the shape of one cycle of the trigonometric function as the unit motion section. Detect as. At this time, if the low-pass filter is not applied to the acceleration data, high-frequency components such as vibrations are superimposed on the composite vector as shown in FIG. 9, and the unit operation section cannot be detected correctly.

単位動作区間が検出できなかった場合(ステップS107−NO)、推定装置100はステップS101以降の処理を繰り返し実行する。
一方、単位動作区間が検出できた場合(ステップS107−YES)、単位動作抽出部60は単位動作区間毎に、単位動作区間内の加速度データと、角速度データと、角度データとを推定用時系列データとして抽出する(ステップS108)。単位動作抽出部60は、抽出した推定用時系列データを動作推定部71、方向推定部72及び距離推定部73に出力する。
When the unit operation section cannot be detected (step S107-NO), the estimation device 100 repeatedly executes the processes after step S101.
On the other hand, when the unit motion section can be detected (step S107-YES), the unit motion extraction unit 60 estimates the acceleration data, the angular velocity data, and the angle data in the unit motion section for each unit motion section. Extract as data (step S108). The unit motion extraction unit 60 outputs the extracted time series data for estimation to the motion estimation unit 71, the direction estimation unit 72, and the distance estimation unit 73.

動作推定部71は、環境情報と、単位動作抽出部60から出力された推定用時系列データとを入力とする。動作推定部71は入力された推定用時系列データから、単位動作区間における動作を推定する(ステップS109)。具体的には、動作推定部71は、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する。 The motion estimation unit 71 inputs the environmental information and the estimation time series data output from the unit motion extraction unit 60. The motion estimation unit 71 estimates the motion in the unit motion section from the input estimation time series data (step S109). Specifically, the motion estimation unit 71 estimates a movement motion that does not change the direction of the sensor and a motion that does not involve movement.

動作推定部71は、センサの向きを変化させない移動動作を推定する際、図10に示すテンプレートパターンと比較して、テンプレートに近い動作を結果とする。図10は、前歩きと後ろ歩きのテンプレートパターンを示す図である。図10において、横軸は時間を表し、縦軸は振幅を表す。図10には、2つのテンプレートパターン81及び82が示されている。図10に示すテンプレートパターンのうち、テンプレートパターン81は前歩きのテンプレートパターンを表し、テンプレートパターン82は後ろ歩きのテンプレートパターンを表す。動作推定部71は、このようなテンプレートパターンを動作DB711に予め保持している。ここで、動作推定部71の具体的な処理について説明する。 When estimating the movement motion that does not change the orientation of the sensor, the motion estimation unit 71 results in an motion that is closer to the template as compared with the template pattern shown in FIG. FIG. 10 is a diagram showing template patterns for forward walking and backward walking. In FIG. 10, the horizontal axis represents time and the vertical axis represents amplitude. FIG. 10 shows two template patterns 81 and 82. Among the template patterns shown in FIG. 10, the template pattern 81 represents the template pattern for walking forward, and the template pattern 82 represents the template pattern for walking backward. The motion estimation unit 71 holds such a template pattern in the motion DB 711 in advance. Here, the specific processing of the motion estimation unit 71 will be described.

例えば、進行方向の加速度が図11の左側に示す波形であった場合、図10の前歩きのテンプレートと形状が似ているため、動作推定部71は前歩きと推定する。一方、進行方向の加速度が図11の右側に示す波形であった場合、図10の後ろ歩きのテンプレートと形状が似ているため、動作推定部71は後ろ歩きと推定する。動作推定部71は、同様に、横方向の加速度においても右方向、左方向のテンプレートと比較して、似ている方向を推定結果とする。この際、動作推定部71は、似ているかどうかを加速度波形とテンプレート波形のユークリッド距離を用いて判定してもよいし、DTW(Dynamic Time Warping)距離を用いて判定してもよいし、その他の手法を用いてもよい。そして、動作推定部71は、距離が最も近いテンプレートを最も似ているものとすればよい。この距離を用いて類似度を評価する場合、それぞれの波形の振幅を規格化して評価してもよい。例えば、すべての波形の振幅が−1〜1となるように、振幅の大きさを規格化すればよい。 For example, when the acceleration in the traveling direction has the waveform shown on the left side of FIG. 11, the motion estimation unit 71 estimates that the movement is forward walking because the shape is similar to that of the forward walking template of FIG. On the other hand, when the acceleration in the traveling direction has the waveform shown on the right side of FIG. 11, the motion estimation unit 71 estimates that the vehicle is walking backward because the shape is similar to the template for walking backward in FIG. Similarly, the motion estimation unit 71 makes an estimation result in a direction similar to that of the template in the right direction and the left direction in the acceleration in the lateral direction. At this time, the motion estimation unit 71 may determine whether or not they are similar by using the Euclidean distance of the acceleration waveform and the template waveform, may determine by using the DTW (Dynamic Time Warping) distance, and the like. You may use the method of. Then, the motion estimation unit 71 may set the template having the shortest distance to be the most similar. When evaluating the similarity using this distance, the amplitude of each waveform may be standardized and evaluated. For example, the magnitude of the amplitude may be standardized so that the amplitudes of all the waveforms are -1 to 1.

図12は、一連の歩行動作において1歩1歩について前歩きテンプレートと後ろ歩きテンプレートとのDTW距離を算出した結果を示す図である。この結果から、加速度波形と前歩きテンプレートとのDTW距離が、加速度波形と後ろ歩きテンプレートとのDTW距離と比べて小さいため、動作推定部71は動作として前歩きと推定する。このように、動作推定部71は、保有しているテンプレートと最も特徴(波形)が似ている動作を採用すればよい。なお、動作推定部71は、テンプレートとの距離が全て閾値よりも大きい場合には、移動していないと推定することができる。図13に、移動を伴わない動作における合成ノルムの波形パターンの一例を示す。図13に示すように、移動を伴わない動作であっても、単位動作波形の組み合わせで構成されていることが分かる。したがって、動作推定部71は、単位動作毎にパターンマッチングにより状態遷移させながら推定することにより、移動を伴わない動作であっても動作を推定することができる。また、動作が一つに決まらない場合には動作不明として分類してもよい。また、動作が不明の場合には、環境情報を活用して、移動しているか、移動していないかを推定することも可能である。その後、動作推定部71は、動作の推定結果を方向推定部72及び外部の装置に出力する。 FIG. 12 is a diagram showing the result of calculating the DTW distance between the forward walking template and the backward walking template for each step in a series of walking motions. From this result, since the DTW distance between the acceleration waveform and the forward walking template is smaller than the DTW distance between the acceleration waveform and the backward walking template, the motion estimation unit 71 estimates that the motion is forward walking. As described above, the motion estimation unit 71 may adopt the motion having the most similar characteristics (waveform) to the possessed template. If the distances from the template are all larger than the threshold value, the motion estimation unit 71 can estimate that the template is not moving. FIG. 13 shows an example of the waveform pattern of the synthetic norm in the operation without movement. As shown in FIG. 13, it can be seen that even the operation without movement is composed of a combination of unit operation waveforms. Therefore, the motion estimation unit 71 can estimate the motion even if the motion does not involve movement by estimating while changing the state by pattern matching for each unit motion. Moreover, when the operation is not decided to be one, it may be classified as the operation unknown. In addition, when the operation is unknown, it is possible to estimate whether or not the vehicle is moving by utilizing the environmental information. After that, the motion estimation unit 71 outputs the motion estimation result to the direction estimation unit 72 and an external device.

方向推定部72は、単位動作抽出部60から出力された推定用時系列データと、動作推定部71から出力された動作推定結果とを入力とする。方向推定部72は、入力された推定用時系列データと、動作推定結果とに基づいて移動方向を推定する(ステップS110)。具体的には、方向推定部72は、図14に示すように、前歩き、後ろ歩き時における1歩において、どの程度回転するかを推定する。図14のθ=0の場合は常にまっすぐな直線運動をしていると推定することができる。人間は腰を捻りながら歩行するため、図14に示すようにセンサの向きは三角関数の波形のようになる。この際、センサの向きは2歩で1周期となるような変化をするのが通常である。したがって、まず方向推定部72は、2歩間のセンサ向きの平均角速度を算出する。次に、方向推定部72は、算出結果に1歩分の時間を乗じる。これにより1歩間の回転量を推定することができ、これが進行方向となる。 The direction estimation unit 72 inputs the estimation time series data output from the unit motion extraction unit 60 and the motion estimation result output from the motion estimation unit 71. The direction estimation unit 72 estimates the moving direction based on the input estimation time series data and the motion estimation result (step S110). Specifically, as shown in FIG. 14, the direction estimation unit 72 estimates how much the rotation occurs in one step during forward walking and backward walking. When θ = 0 in FIG. 14, it can be estimated that the motion is always straight and linear. Since humans walk while twisting their hips, the orientation of the sensor is like the waveform of a trigonometric function as shown in FIG. At this time, the orientation of the sensor is usually changed so as to have one cycle in two steps. Therefore, the direction estimation unit 72 first calculates the average angular velocity for the sensor between two steps. Next, the direction estimation unit 72 multiplies the calculation result by the time for one step. This makes it possible to estimate the amount of rotation per step, which is the direction of travel.

また、2歩分平均角速度を算出するには、時間遅延やバッファが必要となる。そのため、図15に示すように、1歩間のデータだけでも同様に進行方向を推定することができる。また、方向推定部72は、図16に示すように、対象とする1歩において角度データの中から、合成ノルムが最小値となる時刻と、最大値となる時刻とを内分する時刻(図16において点Pで示される時刻)に該当する角度を移動方向と推定してもよい。ここで、内分する時刻は、例えば、最小値となる時刻と、最大値となる時刻とを1:3に内分する時刻である。この内分する時刻は、人物が足を上げてから着地するまでの動作に関する時刻である。通常、歩行時に足をあげたまま静止などの行動はせず、足を上げてから着地するまでは一定のリズムで実行するために比較的ロバストな方法であると考えられる。その後、方向推定部72は、方向の推定結果を外部の装置に出力する。 In addition, a time delay and a buffer are required to calculate the average angular velocity for two steps. Therefore, as shown in FIG. 15, the traveling direction can be similarly estimated only by the data of one step. Further, as shown in FIG. 16, the direction estimation unit 72 internally divides the time when the composite norm becomes the minimum value and the time when the composite norm becomes the maximum value from the angle data in one target step (FIG. The angle corresponding to the time indicated by the point P at 16) may be estimated as the moving direction. Here, the time for internal division is, for example, a time for internally dividing the minimum value time and the maximum value time at a ratio of 1: 3. The time to be internally divided is the time related to the movement of the person from raising his / her foot to landing. Normally, it is considered to be a relatively robust method because it does not take any action such as standing still with the legs raised when walking, and it is executed with a constant rhythm from the time when the legs are raised until the landing. After that, the direction estimation unit 72 outputs the direction estimation result to an external device.

距離推定部73は、単位動作抽出部60から出力された推定用時系列データと、動作推定部71から出力された動作推定結果と、ユーザパラメータと、キャリブレーションデータとを入力とする。変換部731は、入力された推定用時系列データにおける加速度データを周波数領域のデータに変換することによってパワースペクトルを算出する。変換部731は、算出したパワースペクトルを歩幅算出部733に出力する。歩幅算出部733は、変換部731から出力されたパワースペクトルと、外部装置から入力されたユーザパラメータと、歩幅モデルDB732より読み出した歩幅モデルパラメータとに基づいて歩幅を算出する。歩幅算出部733は、算出した歩幅を移動距離の推定結果とする(ステップS111)。一般的な歩幅を推定するモデルは、以下の式1に示すweinbergモデルである。 The distance estimation unit 73 inputs the estimation time series data output from the unit motion extraction unit 60, the motion estimation result output from the motion estimation unit 71, user parameters, and calibration data. The conversion unit 731 calculates the power spectrum by converting the acceleration data in the input estimation time series data into the data in the frequency domain. The conversion unit 731 outputs the calculated power spectrum to the stride calculation unit 733. The stride calculation unit 733 calculates the stride based on the power spectrum output from the conversion unit 731, the user parameters input from the external device, and the stride model parameters read from the stride model DB 732. The stride calculation unit 733 uses the calculated stride as the estimation result of the moving distance (step S111). The model for estimating a general stride is the Weinberg model shown in Equation 1 below.

Figure 0006804908
Figure 0006804908

weinbergモデルは、鉛直方向の加速度の最大値と最小値の差分を利用し、パラメータKを個人毎にキャリブレーションする必要がある。なお、本手法では、ユーザパラメータをモデルの入力にするため、個人毎にキャリブレーションする必要はない。また、本手法では、加速度をパワースペクトルに変換して使用するため、ノイズの影響を受けにくくなることが期待できる。歩幅モデルに使用するパワースペクトルの係数は、歩行の周波数2Hzに最も近い周波数のパワースペクトルを使用してもよいし、10Hz以下の周波数のパワースペクトルをしてもよい。本手法で用いる歩幅モデルを図17に示す。図17に示すように、本手法で用いる歩幅モデルには、パワースペクトル係数を用いている。この際、図18に示すように、さまざまな変数選択法を使用して、変数を選択し、汎化性能の向上を狙ってもよい。 In the Wienberg model, it is necessary to calibrate the parameter K for each individual by using the difference between the maximum value and the minimum value of the acceleration in the vertical direction. In this method, since the user parameters are input to the model, it is not necessary to calibrate each individual. Further, in this method, since the acceleration is converted into a power spectrum and used, it can be expected that it will be less affected by noise. As the coefficient of the power spectrum used in the stride model, the power spectrum having a frequency closest to the walking frequency of 2 Hz may be used, or the power spectrum having a frequency of 10 Hz or less may be used. The stride model used in this method is shown in FIG. As shown in FIG. 17, the power spectrum coefficient is used in the stride model used in this method. At this time, as shown in FIG. 18, various variable selection methods may be used to select variables and aim at improving generalization performance.

また、事前の歩幅モデルを使用して推定した歩幅結果と実測値が異なる場合には、その差分をオフセットとして入力し、以降の推定結果にはオフセットを加味した値を推定結果として出力してもよい。また、新しい歩幅モデルのパラメータを入力して、歩幅モデルを更新してもよい。その後、距離推定部73は、移動距離の推定結果を外部の装置に出力する。なお、動作推定部71、方向推定部72、距離推定部73では、出力値をN歩毎に出力したり、M秒(Mは実数)毎に出力したり、さまざまな出力タイミングを取ることができる。また、距離推定部73は、移動距離を出力するだけでなく、初期点の座標を入力しておくことにより絶対座標値を出力してもよい。 If the stride result estimated using the previous stride model is different from the measured value, the difference may be input as an offset, and the value with the offset added may be output as the estimation result for the subsequent estimation results. Good. You may also update the stride model by entering parameters for the new stride model. After that, the distance estimation unit 73 outputs the estimation result of the travel distance to an external device. The motion estimation unit 71, the direction estimation unit 72, and the distance estimation unit 73 can output the output value every N steps, output every M seconds (M is a real number), and take various output timings. it can. Further, the distance estimation unit 73 may not only output the moving distance but also output the absolute coordinate value by inputting the coordinates of the initial point.

以上のように構成された推定装置100によれば、歩行方向、歩行状態及び歩幅の推定精度を向上させることが可能になる。具体的には、推定装置100は、取得した加速度データ及び角速度データに基づいて、単位動作区間を検出し、検出した単位動作区間内の加速度データ、角速度データ及び角度データから単位動作中の動作を推定する。推定装置100は、動作を推定する際に、保持している移動動作のテンプレートと、加速度データとを比較することによって移動動作を推定する。また、推定装置100は、2歩間のセンサ向きの平均角速度に基づいて進行方向を推定する。また、推定装置100は、時系列データにおける加速度データを周波数領域のデータに変換することによってパワースペクトルを算出し、算出したパワースペクトルと、歩幅モデルパラメータとに基づいて歩幅を算出する。そのため、歩行に関する情報の推定精度を向上させることが可能になる。
また、推定装置100は、測位に関わる演算量を削減し、振動等のノイズに対してロバスト性が向上し、移動方向や移動距離の推定精度が向上させることができる。
According to the estimation device 100 configured as described above, it is possible to improve the estimation accuracy of the walking direction, the walking state, and the stride length. Specifically, the estimation device 100 detects the unit operation section based on the acquired acceleration data and the angular velocity data, and performs the operation during the unit operation from the acceleration data, the angular velocity data, and the angle data in the detected unit operation section. presume. When estimating the motion, the estimation device 100 estimates the motion motion by comparing the template of the motion motion held and the acceleration data. Further, the estimation device 100 estimates the traveling direction based on the average angular velocity of the sensor for two steps. Further, the estimation device 100 calculates the power spectrum by converting the acceleration data in the time series data into the data in the frequency domain, and calculates the stride based on the calculated power spectrum and the stride model parameter. Therefore, it is possible to improve the estimation accuracy of information related to walking.
Further, the estimation device 100 can reduce the amount of calculation related to positioning, improve robustness against noise such as vibration, and improve the estimation accuracy of the movement direction and the movement distance.

角度算出部40は、積分する以外にも、角速度データの単純な総和を角度としてもよいし、ドリフトなどの誤差要因を排除するために、ある一定の周波数成分を持つ角速度データのみで積分して角度を算出してもよい。 In addition to integrating, the angle calculation unit 40 may use a simple sum of the angular velocity data as the angle, or integrates only the angular velocity data having a certain frequency component in order to eliminate error factors such as drift. The angle may be calculated.

(第2の実施形態)
図19は、第2の実施形態における推定装置100aの機能構成を表す概略ブロック図である。推定装置100aは、バスで接続されたCPUやメモリや補助記憶装置などを備え、推定プログラムを実行する。推定プログラムの実行によって、推定装置100aは、取得部10、姿勢推定部20、座標変換部30、フィルタ処理部50、単位動作抽出部60、推定部70aを備える装置として機能する。なお、推定装置100aの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、推定プログラムは、電気通信回線を介して送受信されてもよい。
(Second Embodiment)
FIG. 19 is a schematic block diagram showing a functional configuration of the estimation device 100a according to the second embodiment. The estimation device 100a includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes an estimation program. By executing the estimation program, the estimation device 100a functions as a device including an acquisition unit 10, a posture estimation unit 20, a coordinate conversion unit 30, a filter processing unit 50, a unit motion extraction unit 60, and an estimation unit 70a. In addition, all or a part of each function of the estimation device 100a may be realized by using hardware such as ASIC, PLD and FPGA. The estimation program may also be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a flexible disk, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, or a storage device such as a hard disk built in a computer system. In addition, the estimation program may be transmitted and received via a telecommunication line.

推定装置100aは、単位動作抽出部60及び推定部70に代えて単位動作抽出部60a及び推定部70aを備える点、角度算出部40を備えない点で推定装置100と構成が異なる。推定装置100aは、他の構成については推定装置100と同様である。そのため、推定装置100a全体の説明は省略し、単位動作抽出部60a及び推定部70aについて説明する。 The estimation device 100a is different from the estimation device 100 in that the unit motion extraction unit 60a and the estimation unit 70a are provided instead of the unit motion extraction unit 60 and the estimation unit 70, and the angle calculation unit 40 is not provided. The estimation device 100a is the same as the estimation device 100 in other configurations. Therefore, the description of the entire estimation device 100a will be omitted, and the unit motion extraction unit 60a and the estimation unit 70a will be described.

単位動作抽出部60aは、フィルタ処理が施された加速度データ及び角速度データと、角度算出部40によって算出された移動方向の時系列データとに基づいて、時系列データから単位動作毎にデータを抽出する。
推定部70aは、単位動作抽出部60aによって抽出された単位動作区間毎のデータに基づいて、人物の動作、移動方向及び移動距離を推定する。推定部70aは、深層学習部74、学習結果記憶部75、フォーマット変換部76及び深層学習推定部77を備える。
The unit motion extraction unit 60a extracts data for each unit motion from the time series data based on the filtered acceleration data and angular velocity data and the time series data in the moving direction calculated by the angle calculation unit 40. To do.
The estimation unit 70a estimates the movement, movement direction, and movement distance of the person based on the data for each unit movement section extracted by the unit movement extraction unit 60a. The estimation unit 70a includes a deep learning unit 74, a learning result storage unit 75, a format conversion unit 76, and a deep learning estimation unit 77.

深層学習部74は、単位動作区間中の角速度データ及び加速度データと、正しい動作と、移動方向と、移動距離とを学習用データとして外部から入力し、入力した学習用データに基づいて、深層学習推定部77で使用するパラメータを学習する。深層学習部74は、外部から学習開始信号が入力された際に学習を行う。学習開始信号とは、深層学習部74による学習を実行させるための信号である。学習開始信号及び学習用データは、外部の入力装置を用いて入力されてもよい。入力装置は、例えば、キーボード、マウス等である。
学習結果記憶部75は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。学習結果記憶部75は、深層学習部74が学習したパラメータを記憶する。
The deep learning unit 74 inputs angular velocity data and acceleration data in a unit motion section, correct motion, movement direction, and travel distance as learning data from the outside, and deep learning is based on the input learning data. The parameters used in the estimation unit 77 are learned. The deep learning unit 74 performs learning when a learning start signal is input from the outside. The learning start signal is a signal for executing learning by the deep learning unit 74. The learning start signal and learning data may be input using an external input device. The input device is, for example, a keyboard, a mouse, or the like.
The learning result storage unit 75 is configured by using a storage device such as a magnetic hard disk device or a semiconductor storage device. The learning result storage unit 75 stores the parameters learned by the deep learning unit 74.

フォーマット変換部76は、単位動作抽出部60によって抽出された時系列データと、外部から入力される環境情報とを固定長フォーマットのデータに変換する。
深層学習推定部77は、角速度データと加速度データとの周波数領域の情報及び外部から入力されるユーザパラメータと、学習結果記憶部75に記憶されているパラメータとに基づいて単位動作区間における人物の歩行に関する情報を推定する。
The format conversion unit 76 converts the time-series data extracted by the unit motion extraction unit 60 and the environment information input from the outside into fixed-length format data.
The deep learning estimation unit 77 walks a person in a unit operation section based on information in the frequency domain of angular velocity data and acceleration data, user parameters input from the outside, and parameters stored in the learning result storage unit 75. Estimate information about.

図20は、第2の実施形態における推定装置100aの処理の流れを示すフローチャートである。図20において図4と同様の処理については、図4と同様の符号を付して説明を省略する。ステップS107の処理において、単位動作区間が検出できた場合(ステップS107−YES)、単位動作抽出部60aは単位動作区間毎に、単位動作区間内の加速度データと、角速度データと、角度データと、環境情報とを推定用時系列データとして抽出する(ステップS201)。単位動作抽出部60aは、抽出した推定用時系列データをフォーマット変換部76に出力する。 FIG. 20 is a flowchart showing a processing flow of the estimation device 100a in the second embodiment. In FIG. 20, the same processing as in FIG. 4 is designated by the same reference numerals as in FIG. 4, and the description thereof will be omitted. When the unit motion section can be detected in the process of step S107 (step S107-YES), the unit motion extraction unit 60a determines the acceleration data, the angular velocity data, the angle data, and the angle data in the unit motion section for each unit motion section. Environmental information is extracted as time-series data for estimation (step S201). The unit motion extraction unit 60a outputs the extracted time series data for estimation to the format conversion unit 76.

フォーマット変換部76は、単位動作抽出部60aから出力された推定用時系列データを入力とする。フォーマット変換部76は、入力された推定用時系列データから周波数情報を算出する(ステップS201)。具体的には、フォーマット変換部76は、深層学習には入力データを固定長にする必要があるため一歩毎に時系列の長さが異なるために、推定用時系列データにおける加速度データ、角速度データ及び環境データを内挿、外挿等の手法により単位動作間のデータ長をある一定の固定長フォーマットに変換する。ここでは、その一例として、フォーマット変換部76は、各時系列データのそれぞれのパワースペクトルと、FFT係数とを算出し、固定数のパワースペクトルと、FFT係数とを固定長フォーマットデータとして深層学習推定部77に出力する(ステップS202)。 The format conversion unit 76 inputs the estimation time series data output from the unit motion extraction unit 60a. The format conversion unit 76 calculates frequency information from the input estimation time series data (step S201). Specifically, the format conversion unit 76 needs to make the input data a fixed length for deep learning, and therefore the time series length differs for each step. Therefore, the acceleration data and the angular velocity data in the estimation time series data And, the data length between unit operations is converted into a certain fixed length format by the method of interpolation, extrapolation, etc. of the environmental data. Here, as an example, the format conversion unit 76 calculates each power spectrum and FFT coefficient of each time series data, and deep learning estimation using a fixed number of power spectra and FFT coefficient as fixed length format data. Output to unit 77 (step S202).

深層学習推定部77は、学習結果記憶部75に記憶されているパラメータと、フォーマット変換部76から出力された固定長フォーマットデータとを入力とする。深層学習推定部77は、入力された固定長フォーマットデータに含まれるパワースペクトルのうち、歩行の周波数を含むパワースペクトルを使用し、固定長のパワースペクトルデータとして、深層学習モデル(多層ニューラルネットワーク)に入力し、動作、移動方向、移動距離を推定する。深層学習モデルには、全結合型の多層ニューラルネットワークだけでなく、畳み込み層、およびプーリングを用いた多層ニューラルネットワークを用いてもよい。ここで、畳み込み層の数を、一歩動作(フェーズ例:反動をつける、足を上げる、足を下ろす、着地)のフェーズ数から決定したり、プーリング層のフィルタサイズを歩行周波数成分付近のパワースペクトルの幅を基に決定したりしてもよい。なお、深層学習モデルのフィルタ係数等のパラメータは事前に学習しておく必要がある。このために、外部から入力する、単位動作期間中のデータを周波数領域に変換したパワースペクトルと、これに対応した正解動作、移動方向、移動距離とをセットにした学習用データを入力し、深層学習部74において深層学習モデルの学習を行い、この結果を深層学習推定部77に保存しておく。図21に畳み込みを利用した深層学習の一例を示す。 The deep learning estimation unit 77 inputs the parameters stored in the learning result storage unit 75 and the fixed-length format data output from the format conversion unit 76. The deep learning estimation unit 77 uses the power spectrum including the walking frequency among the power spectra included in the input fixed-length format data, and uses the power spectrum as the fixed-length power spectrum data in the deep learning model (multilayer neural network). Enter and estimate the movement, movement direction, and movement distance. For the deep learning model, not only a fully connected multi-layer neural network but also a convolution layer and a multi-layer neural network using pooling may be used. Here, the number of convolution layers is determined from the number of phases of one-step movement (phase example: recoil, foot up, foot down, landing), and the filter size of the pooling layer is determined by the power spectrum near the walking frequency component. It may be determined based on the width of. It is necessary to learn the parameters such as the filter coefficient of the deep learning model in advance. For this purpose, the power spectrum, which is input from the outside and is obtained by converting the data during the unit operation period into the frequency domain, and the learning data, which is a set of the corresponding correct operation, movement direction, and movement distance, are input and deep. The learning unit 74 learns the deep learning model, and the result is stored in the deep learning estimation unit 77. FIG. 21 shows an example of deep learning using convolution.

以上のように構成された推定装置100aによれば、深層学習を適用することにより、大規模な歩行データによる学習が可能となる。その際、事前に学習しておく歩幅モデルの自動化による省力化を実現でき、個人差や日変動などに対するロバスト性を大幅に向上させることができる。 According to the estimation device 100a configured as described above, learning by large-scale walking data becomes possible by applying deep learning. At that time, labor saving can be realized by automating the stride model to be learned in advance, and robustness against individual differences and daily fluctuations can be greatly improved.

(第3の実施形態)
図22は、第3の実施形態における推定装置100bの機能構成を表す概略ブロック図である。推定装置100bは、バスで接続されたCPUやメモリや補助記憶装置などを備え、推定プログラムを実行する。推定プログラムの実行によって、推定装置100bは、取得部10、姿勢推定部20、座標変換部30、フィルタ処理部50、推定部70bを備える装置として機能する。なお、推定装置100bの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、推定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、推定プログラムは、電気通信回線を介して送受信されてもよい。
(Third Embodiment)
FIG. 22 is a schematic block diagram showing the functional configuration of the estimation device 100b according to the third embodiment. The estimation device 100b includes a CPU, a memory, an auxiliary storage device, and the like connected by a bus, and executes an estimation program. By executing the estimation program, the estimation device 100b functions as a device including an acquisition unit 10, a posture estimation unit 20, a coordinate conversion unit 30, a filter processing unit 50, and an estimation unit 70b. In addition, all or a part of each function of the estimation device 100b may be realized by using hardware such as ASIC, PLD and FPGA. The estimation program may also be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a flexible disk, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, or a storage device such as a hard disk built in a computer system. In addition, the estimation program may be transmitted and received via a telecommunication line.

推定装置100bは、推定部70に代えて推定部70bを備える点、角度算出部40及び単位動作抽出部60を備えない点で推定装置100と構成が異なる。推定装置100bは、他の構成については推定装置100と同様である。そのため、推定装置100b全体の説明は省略し、推定部70bについて説明する。 The estimation device 100b is different from the estimation device 100 in that the estimation unit 70b is provided instead of the estimation unit 70, and the angle calculation unit 40 and the unit motion extraction unit 60 are not provided. The estimation device 100b is the same as the estimation device 100 in other configurations. Therefore, the description of the entire estimation device 100b will be omitted, and the estimation unit 70b will be described.

推定部70bは、フィルタ処理部50によってフィルタ処理が施された加速度データ及び角速度データに基づいて、人物の歩行に関する情報を推定する。推定部70bは、深層学習部74b、学習結果記憶部75、深層学習推定部77b及び単位データ抽出部78を備える。
深層学習部74bは、一定時間中の角速度データ及び加速度データと、正しい動作、移動方向、移動距離とを学習用データとして外部から入力し、入力した学習用データに基づいて、深層学習推定部77bで使用するパラメータを学習する。深層学習部74bは、外部から学習開始信号が入力された際に学習を行う。
The estimation unit 70b estimates information on walking of a person based on acceleration data and angular velocity data filtered by the filtering unit 50. The estimation unit 70b includes a deep learning unit 74b, a learning result storage unit 75, a deep learning estimation unit 77b, and a unit data extraction unit 78.
The deep learning unit 74b inputs the angular velocity data and the acceleration data during a certain period of time, and the correct motion, moving direction, and moving distance as learning data from the outside, and based on the input learning data, the deep learning estimation unit 77b. Learn the parameters used in. The deep learning unit 74b performs learning when a learning start signal is input from the outside.

学習結果記憶部75は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。学習結果記憶部75は、深層学習部74bが学習したパラメータを記憶する。
単位データ抽出部78は、フィルタ処理部50から出力されたフィルタ処理後の加速度データ及び角速度データと、環境情報とに基づいて、ある一定の時間で時系列データを抽出する。
深層学習推定部77bは、ある一定時間中の角速度データ及び加速度データと、外部から入力するユーザパラメータと、学習結果記憶部75に記憶されているパラメータとに基づいて、この時間における動作、移動方向、移動距離を推定する。
The learning result storage unit 75 is configured by using a storage device such as a magnetic hard disk device or a semiconductor storage device. The learning result storage unit 75 stores the parameters learned by the deep learning unit 74b.
The unit data extraction unit 78 extracts time-series data at a certain time based on the acceleration data and the angular velocity data after the filter processing output from the filter processing unit 50 and the environmental information.
The deep learning estimation unit 77b is based on angular velocity data and acceleration data during a certain period of time, user parameters input from the outside, and parameters stored in the learning result storage unit 75, and operates and moves in this time. , Estimate the distance traveled.

図23は、第3の実施形態における推定装置100bの処理の流れを示すフローチャートである。図23において図4と同様の処理については、図4と同様の符号を付して説明を省略する。ステップS105の処理がなされると、単位データ抽出部78はフィルタ処理部50から出力されたフィルタ処理後の加速度データ及び角速度データを取得する。単位データ抽出部78は、N秒分の加速度データ及び角速度データを蓄積したか否か判定する(ステップS301)。この判定は、推定用時系列データとして深層学習推定部77bに入力するためである。N秒分のデータを蓄積していない場合(ステップS301−NO)、推定装置100bはステップS101以降の処理を繰り返し実行する。 FIG. 23 is a flowchart showing a processing flow of the estimation device 100b according to the third embodiment. In FIG. 23, the same processing as in FIG. 4 is designated by the same reference numerals as in FIG. When the processing of step S105 is performed, the unit data extraction unit 78 acquires the acceleration data and the angular velocity data after the filtering processing output from the filter processing unit 50. The unit data extraction unit 78 determines whether or not the acceleration data and the angular velocity data for N seconds have been accumulated (step S301). This determination is for inputting to the deep learning estimation unit 77b as time series data for estimation. When the data for N seconds is not accumulated (step S301-NO), the estimation device 100b repeatedly executes the processes after step S101.

一方、N秒分の加速度データ及び角速度データを蓄積している場合(ステップS301−YES)、単位データ抽出部78は蓄積しているN秒分の加速度データ及び角速度データを推定用時系列データとして深層学習推定部77bに出力する。深層学習推定部77bは、学習結果記憶部75に記憶されているパラメータと、単位データ抽出部78から出力された推定用時系列データとを入力とする。深層学習推定部77bは、入力された推定用時系列データと、パラメータと、深層学習モデルを使用して、動作、移動方向及び移動距離を推定する(ステップS302)。本実施形態では、記憶層を有する深層学習(リカレント型多層ニューラルネットワーク)を使用する。このモデルは、記憶層を有するため、時系列データを入力することが可能である。図24に記憶層の一例を示す。記憶層を有する場合でも、畳込み型の深層学習を適用することが可能なので併用することができる。 On the other hand, when N seconds of acceleration data and angular velocity data are accumulated (step S301-YES), the unit data extraction unit 78 uses the accumulated N seconds of acceleration data and angular velocity data as time series data for estimation. It is output to the deep learning estimation unit 77b. The deep learning estimation unit 77b inputs the parameters stored in the learning result storage unit 75 and the estimation time series data output from the unit data extraction unit 78. The deep learning estimation unit 77b estimates the motion, the moving direction, and the moving distance by using the input estimation time series data, the parameters, and the deep learning model (step S302). In this embodiment, deep learning having a storage layer (recurrent type multi-layer neural network) is used. Since this model has a storage layer, it is possible to input time series data. FIG. 24 shows an example of the storage layer. Even if it has a storage layer, it can be used together because it is possible to apply convolutional deep learning.

以上のように構成された推定装置100bによれば、記憶機能を持つ深層学習を適用することにより、第1の実施形態及び第2の実施形態のように単位動作の切り出しが不要となり、測位アルゴリズムをすべて深層学習内で実施することができ、学習データ規模に応じて推定精度を大幅に向上させることが可能になる。 According to the estimation device 100b configured as described above, by applying deep learning having a memory function, it is not necessary to cut out the unit operation as in the first embodiment and the second embodiment, and the positioning algorithm Can be carried out within deep learning, and the estimation accuracy can be significantly improved according to the scale of learning data.

以上説明した少なくともひとつの実施形態によれば、人物の角速度データ及び加速度データの時系列データから得られる人物が行う動作を表す単位動作区間毎のデータを抽出する単位動作抽出部60と、単位動作抽出部60によって抽出された単位動作区間毎のデータに基づいて、そのデータにおける人物の歩行に関する情報を推定する推定部70を持つことにより、歩行に関する情報の推定精度を向上させることができる。 According to at least one embodiment described above, the unit motion extraction unit 60 for extracting the data for each unit motion section representing the motion performed by the person obtained from the time series data of the angular velocity data and the acceleration data of the person, and the unit motion By having the estimation unit 70 that estimates the information about the walking of a person in the data based on the data for each unit motion section extracted by the extraction unit 60, the estimation accuracy of the information about walking can be improved.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, as well as in the scope of the invention described in the claims and the equivalent scope thereof.

10…取得部,20…姿勢推定部,30…座標変換部,40…角度算出部,50…フィルタ処理部,60、60a…単位動作抽出部,70、70a、70b…推定部,71…動作推定部,711…動作DB,712…歩行外動作パターンマッチング部,713…歩行方向データパターンマッチング部,714…動作判定部,72…方向推定部,73…距離推定部,74、74b…深層学習部,75…学習結果記憶部,76…フォーマット変換部,77、77b…深層学習推定部,78…単位データ抽出部,731…変換部,732…歩幅モデルDB,733…歩幅算出部,74…深層学習部,100、100a、100b…推定装置 10 ... acquisition unit, 20 ... attitude estimation unit, 30 ... coordinate conversion unit, 40 ... angle calculation unit, 50 ... filter processing unit, 60, 60a ... unit motion extraction unit, 70, 70a, 70b ... estimation unit, 71 ... motion Estimating unit, 711 ... Motion DB, 712 ... Out-of-walking motion pattern matching unit, 713 ... Walking direction data pattern matching unit, 714 ... Motion determination unit, 72 ... Direction estimation unit, 73 ... Distance estimation unit, 74, 74b ... Deep learning Unit, 75 ... Learning result storage unit, 76 ... Format conversion unit, 77, 77b ... Deep learning estimation unit, 78 ... Unit data extraction unit, 731 ... Conversion unit, 732 ... Stride model DB, 733 ... Stride calculation unit, 74 ... Deep learning unit, 100, 100a, 100b ... Estimator

Claims (7)

人物の3軸の加速度ベクトルデータの時系列データである加速度データ及び3軸の角速度ベクトルデータの時系列データである角速度データを加速度センサ及び角速度センサから取得する取得部と、
前記取得部によって取得された前記加速度データ及び前記角速度データに基づいて、前記加速度センサ及び前記角速度センサの姿勢を推定する姿勢推定部と、
前記姿勢推定部によって推定された前記加速度センサ及び前記角速度センサの姿勢に基づいて、前記加速度データ及び前記角速度データの座標変換を行う座標変換部と、
前記座標変換部によって座標変換された後の前記角速度データから移動方向の時系列データを算出する角度算出部と、
前記座標変換部によって座標変換された後の前記加速度データ及び前記角速度データに対してある一定の周波数成分の値を通過させるフィルタ処理を行うフィルタ処理部と、
前記フィルタ処理部によってフィルタ処理が施された前記加速度データから合成ベクトルの大きさが三角関数の1周期の形状となる範囲を前記人物が行う動作を表す単位動作区間として検出し、検出した前記単位動作区間内の加速度データ及び角速度データを前記単位動作区間毎の推定用時系列データとして抽出する単位動作抽出部と、
前記単位動作抽出部によって抽出された前記推定用時系列データと、予め保持している前記人物の各動作のテンプレートパターンとを比較し、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する動作推定部と、
前記推定用時系列データと、前記動作推定部が推定した推定結果とに基づいて、移動方向を推定する方向推定部と、
前記推定用時系列データと前記動作推定部が推定した推定結果とに基づいて、前記人物の移動距離推定する距離推定部と、
を備える推定装置。
An acquisition unit that acquires acceleration data, which is time-series data of three-axis acceleration vector data of a person, and angular velocity data, which is time-series data of three-axis angular velocity vector data, from an acceleration sensor and an angular velocity sensor.
A posture estimation unit that estimates the postures of the acceleration sensor and the angular velocity sensor based on the acceleration data and the angular velocity data acquired by the acquisition unit.
A coordinate conversion unit that performs coordinate conversion of the acceleration data and the angular velocity data based on the postures of the acceleration sensor and the angular velocity sensor estimated by the attitude estimation unit.
An angle calculation unit that calculates time-series data in the moving direction from the angular velocity data after coordinate conversion by the coordinate conversion unit.
A filter processing unit that performs a filter process for passing a certain frequency component value through the acceleration data and the angular velocity data after the coordinate conversion by the coordinate conversion unit.
From the acceleration data filtered by the filtering unit, a range in which the magnitude of the composite vector becomes the shape of one cycle of the triangular function is detected as a unit operation section representing the operation performed by the person, and the detected unit. A unit motion extraction unit that extracts acceleration data and angular velocity data in the motion section as estimation time series data for each unit motion section.
The estimation time-series data extracted by the unit motion extraction unit is compared with the template pattern of each motion of the person held in advance, and the movement motion that does not change the direction of the sensor and the motion that does not involve movement are performed. Motion estimation unit to estimate and
A direction estimation unit that estimates the movement direction based on the estimation time series data and the estimation result estimated by the motion estimation unit.
And time-series data for the estimation, on the basis of the estimation result of the movement-estimating unit has estimated the distance estimation unit that estimates a movement distance of the person,
Estimator equipped with.
前記動作推定部が推定する前記センサの向きを変化させない移動動作には、前歩き、後歩き、左右への移動のカニ歩きが含まれる、請求項1に記載の推定装置。 The estimation device according to claim 1, wherein the movement motion that does not change the direction of the sensor estimated by the motion estimation unit includes forward walking, backward walking, and crab walking of movement to the left and right. 前記動作推定部は、全てのテンプレートパターンとの類似度が、ある一定値より小さい場合には移動していないと推定する、請求項1又は2に記載の推定装置。 The estimation device according to claim 1 or 2, wherein the motion estimation unit estimates that the movement is not moving when the similarity with all the template patterns is smaller than a certain value. 前記方向推定部は、対象とする一歩及びその一歩前の平均角速度を算出し、前記平均角速度に一歩の時間を乗じた角度を移動方向とする、請求項1から3のいずれか一項に記載の推定装置。 The direction estimation unit is described in any one of claims 1 to 3, wherein the direction estimation unit calculates the target step and the average angular velocity one step before the target step, and sets the angle obtained by multiplying the average angular velocity by the time of one step as the moving direction. Estimator. 前記方向推定部は、対象とする一歩において、前記角速度データから得られる合成ベクトルのノルムが最小値となる時刻と、最大値となる時刻を内分する時刻に該当する角度を移動方向と推定する、請求項1から3のいずれか一項に記載の推定装置。 The direction estimation unit estimates the angle corresponding to the time when the norm of the composite vector obtained from the angular velocity data is the minimum value and the time when the maximum value is internally divided in the target step as the moving direction. , The estimation device according to any one of claims 1 to 3. 人物の3軸の加速度ベクトルデータの時系列データである加速度データ及び3軸の角速度ベクトルデータの時系列データである角速度データを加速度センサ及び角速度センサから取得する取得ステップと、
前記取得ステップにおいて取得された前記加速度データ及び前記角速度データに基づいて、前記加速度センサ及び前記角速度センサの姿勢を推定する姿勢推定ステップと、
前記姿勢推定ステップにおいて推定された前記加速度センサ及び前記角速度センサの姿勢に基づいて、前記加速度データ及び前記角速度データの座標変換を行う座標変換ステップと、
前記座標変換ステップにおいて座標変換された後の前記角速度データから移動方向の時系列データを算出する角度算出ステップと、
前記座標変換ステップにおいて座標変換された後の前記加速度データ及び前記角速度データに対してある一定の周波数成分の値を通過させるフィルタ処理を行うフィルタ処理ステップと、
前記フィルタ処理ステップにおいてフィルタ処理が施された前記加速度データから合成ベクトルの大きさが三角関数の1周期の形状となる範囲を前記人物が行う動作を表す単位動作区間として検出し、検出した前記単位動作区間内の加速度データ及び角速度データを前記単位動作区間毎の推定用時系列データとして抽出する単位動作抽出ステップと、
前記単位動作抽出ステップにおいて抽出された前記推定用時系列データと、予め保持している前記人物の各動作のテンプレートパターンとを比較し、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する動作推定ステップと、
前記推定用時系列データと、前記動作推定ステップにおいて推定した推定結果とに基づいて、移動方向を推定する方向推定ステップと、
前記推定用時系列データと前記動作推定ステップにおいて推定した推定結果とに基づいて、前記人物の移動距離推定する距離推定ステップと、
を有する推定方法。
An acquisition step of acquiring acceleration data, which is time-series data of 3-axis acceleration vector data of a person, and angular velocity data, which is time-series data of 3-axis angular velocity vector data, from an acceleration sensor and an angular velocity sensor.
A posture estimation step that estimates the postures of the acceleration sensor and the angular velocity sensor based on the acceleration data and the angular velocity data acquired in the acquisition step.
A coordinate conversion step that performs coordinate conversion of the acceleration data and the angular velocity data based on the postures of the acceleration sensor and the angular velocity sensor estimated in the posture estimation step, and
An angle calculation step for calculating time series data in the moving direction from the angular velocity data after coordinate conversion in the coordinate conversion step, and
A filter processing step that performs a filter process for passing a certain frequency component value through the acceleration data and the angular velocity data after the coordinate conversion in the coordinate conversion step, and
From the acceleration data filtered in the filtering step, a range in which the magnitude of the composite vector becomes the shape of one cycle of the triangular function is detected as a unit operation section representing the operation performed by the person, and the detected unit. A unit motion extraction step for extracting acceleration data and angular velocity data in the motion section as estimation time series data for each unit motion section, and
The estimation time-series data extracted in the unit motion extraction step is compared with the template pattern of each motion of the person held in advance, and the motion motion that does not change the orientation of the sensor and the motion that does not involve movement are performed. Motion estimation step to estimate and
A direction estimation step for estimating the movement direction based on the estimation time series data and the estimation result estimated in the motion estimation step,
And time-series data for the estimation, on the basis of the estimation result estimated in the motion estimation step, a distance estimation step of estimating a moving distance of the person,
Estimating method with.
人物の3軸の加速度ベクトルデータの時系列データである加速度データ及び3軸の角速度ベクトルデータの時系列データである角速度データを加速度センサ及び角速度センサから取得する取得ステップと、
前記取得ステップにおいて取得された前記加速度データ及び前記角速度データに基づいて、前記加速度センサ及び前記角速度センサの姿勢を推定する姿勢推定ステップと、
前記姿勢推定ステップにおいて推定された前記加速度センサ及び前記角速度センサの姿勢に基づいて、前記加速度データ及び前記角速度データの座標変換を行う座標変換ステップと、
前記座標変換ステップにおいて座標変換された後の前記角速度データから移動方向の時系列データを算出する角度算出ステップと、
前記座標変換ステップにおいて座標変換された後の前記加速度データ及び前記角速度データに対してある一定の周波数成分の値を通過させるフィルタ処理を行うフィルタ処理ステップと、
前記フィルタ処理ステップにおいてフィルタ処理が施された前記加速度データから合成ベクトルの大きさが三角関数の1周期の形状となる範囲を前記人物が行う動作を表す単位動作区間として検出し、検出した前記単位動作区間内の加速度データ及び角速度データを前記単位動作区間毎の推定用時系列データとして抽出する単位動作抽出ステップと、
前記単位動作抽出ステップにおいて抽出された前記推定用時系列データと、予め保持している前記人物の各動作のテンプレートパターンとを比較し、センサの向きを変化させない移動動作及び移動を伴わない動作を推定する動作推定ステップと、
前記推定用時系列データと、前記動作推定ステップにおいて推定した推定結果とに基づいて、移動方向を推定する方向推定ステップと、
前記推定用時系列データと前記動作推定ステップにおいて推定した推定結果とに基づいて、前記人物の移動距離推定する距離推定ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
An acquisition step of acquiring acceleration data, which is time-series data of 3-axis acceleration vector data of a person, and angular velocity data, which is time-series data of 3-axis angular velocity vector data, from an acceleration sensor and an angular velocity sensor.
A posture estimation step that estimates the postures of the acceleration sensor and the angular velocity sensor based on the acceleration data and the angular velocity data acquired in the acquisition step.
A coordinate conversion step that performs coordinate conversion of the acceleration data and the angular velocity data based on the postures of the acceleration sensor and the angular velocity sensor estimated in the posture estimation step, and
An angle calculation step for calculating time series data in the moving direction from the angular velocity data after coordinate conversion in the coordinate conversion step, and
A filter processing step that performs a filter process for passing a certain frequency component value through the acceleration data and the angular velocity data after the coordinate conversion in the coordinate conversion step, and
From the acceleration data filtered in the filtering step, a range in which the magnitude of the composite vector becomes the shape of one cycle of the triangular function is detected as a unit operation section representing the operation performed by the person, and the detected unit. A unit motion extraction step for extracting acceleration data and angular velocity data in the motion section as estimation time series data for each unit motion section, and
The estimation time-series data extracted in the unit motion extraction step is compared with the template pattern of each motion of the person held in advance, and the motion motion that does not change the orientation of the sensor and the motion that does not involve movement are performed. Motion estimation step to estimate and
A direction estimation step for estimating the movement direction based on the estimation time series data and the estimation result estimated in the motion estimation step,
And time-series data for the estimation, on the basis of the estimation result estimated in the motion estimation step, a distance estimation step of estimating a moving distance of the person,
A computer program that lets a computer run.
JP2016178774A 2016-09-13 2016-09-13 Estimator, estimation method and computer program Active JP6804908B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016178774A JP6804908B2 (en) 2016-09-13 2016-09-13 Estimator, estimation method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016178774A JP6804908B2 (en) 2016-09-13 2016-09-13 Estimator, estimation method and computer program

Publications (2)

Publication Number Publication Date
JP2018042672A JP2018042672A (en) 2018-03-22
JP6804908B2 true JP6804908B2 (en) 2020-12-23

Family

ID=61693916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016178774A Active JP6804908B2 (en) 2016-09-13 2016-09-13 Estimator, estimation method and computer program

Country Status (1)

Country Link
JP (1) JP6804908B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102113218B1 (en) * 2018-03-16 2020-05-20 울산과학기술원 A Unified Deep Learning Model for Time Series Data Prediction
WO2020008878A1 (en) * 2018-07-02 2020-01-09 ソニー株式会社 Positioning device, positioning method, and program
JP7321511B2 (en) * 2019-08-08 2023-08-07 国立大学法人 筑波大学 Determination device, light irradiation device, and program
JP7408132B2 (en) * 2019-12-02 2024-01-05 地方独立行政法人東京都健康長寿医療センター Dementia assessment program and dementia assessment device
JP7222385B2 (en) * 2020-09-28 2023-02-15 カシオ計算機株式会社 Measuring device, measuring method and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4243684B2 (en) * 2003-10-07 2009-03-25 独立行政法人産業技術総合研究所 Walking motion detection processing device and walking motion detection processing method
JPWO2011068184A1 (en) * 2009-12-03 2013-04-18 独立行政法人産業技術総合研究所 Mobile positioning device
JP5417204B2 (en) * 2010-01-28 2014-02-12 日本電信電話株式会社 Walking information extraction device, walking information extraction method, and walking information extraction program
JP2013195143A (en) * 2012-03-16 2013-09-30 Nikon Corp Position detecting device, electronic apparatus, position detecting system, and program
JP6123279B2 (en) * 2012-12-18 2017-05-10 富士通株式会社 Waveform detection apparatus, waveform detection method, and waveform detection program
JP6268945B2 (en) * 2013-02-04 2018-01-31 株式会社リコー Inertial device, method and program
JP6080078B2 (en) * 2014-08-18 2017-02-15 高知県公立大学法人 Posture and walking state estimation device

Also Published As

Publication number Publication date
JP2018042672A (en) 2018-03-22

Similar Documents

Publication Publication Date Title
JP6804908B2 (en) Estimator, estimation method and computer program
KR102292683B1 (en) Method and apparatus for gait task recognition
US8983124B2 (en) Moving body positioning device
Lan et al. Using smart-phones and floor plans for indoor location tracking-Withdrawn
Feigl et al. A bidirectional LSTM for estimating dynamic human velocities from a single IMU
US10126108B2 (en) Apparatus and method for classifying orientation of a body of a mammal
EP3908805A1 (en) Method and system for tracking a mobile device
JP2013531781A (en) Method and system for detecting zero speed state of object
TWI582389B (en) Navigation system for inertial positioning with gait detection method
EP2613124A2 (en) Robust method for signal segmentation for motion classification in personal navigation
Abadleh et al. Noise segmentation for step detection and distance estimation using smartphone sensor data
Lee et al. A step length estimation based on motion recognition and adaptive gait cognition using a smartphone
CN114459469B (en) Multi-motion state navigation method and device and intelligent wearable equipment
CN104457741A (en) Human arm movement tracing method based on ant colony algorithm error correction
CN109099922A (en) A kind of indoor orientation method based on physical field
Li et al. An indoor positioning error correction method of pedestrian multi-motions recognized by hybrid-orders fraction domain transformation
KR101609813B1 (en) Apparatus and method for counting step in smartphone
CN115655265A (en) Pedestrian navigation indoor positioning method based on inertial sensing
KR20170073541A (en) Device and system for monitoring micturition or ejaculation based on user's posture or change in posture, method of monitoring micturition or ejaculation, and computer-readable recording medium for implementing same method
Chen et al. Pedestrian positioning with physical activity classification for indoors
CN108051001A (en) A kind of robot movement control method, system and inertia sensing control device
KR101962045B1 (en) Apparatus and method for testing 3-dimensional position
CN112741617A (en) CSI-based omnidirectional gait detection algorithm
Wahdan et al. Varying step length estimation using nonlinear system identification
Susi Gait analysis for pedestrian navigation using MEMS handheld devices

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170913

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201016

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: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201203

R150 Certificate of patent or registration of utility model

Ref document number: 6804908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150