(57)【要約】      （修正有）【課題】視覚的慣性距離計（Ｖｉｓｕａｌ  Ｉｎｅｒｔｉａｌ  Ｏｄｏｍｅｔｒｙ；ＶＩＯ）基盤のポーズ情報を取得する方法及び装置を提供する。【解決手段】ポーズ情報を取得する方法及び装置は、第１センサで撮影されたフレームから第１頂点を選択し、第２センサで検出された動き情報に基づいてフレーム間の回転情報を推定し、第１頂点のうち動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて推定された回転情報を補正し、第３頂点及び補正された回転情報に基づいて、フレーム間の移動情報を算出し、補正された回転情報及び移動情報を出力する。【選択図】図２
2020057358.tif 000002
【特許請求の範囲】
【請求項１】
第１センサで撮影された複数のフレームから第１頂点を選択するステップと、
第２センサで検出された動き情報に基づいて、前記フレーム間の回転情報を推定するステップと、
前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて、前記推定された回転情報を補正するステップと、
前記第３頂点及び前記補正された回転情報に基づいて、前記フレーム間の移動情報を取得するステップと、
前記補正された回転情報及び前記移動情報を出力するステップと、
を含む、ポーズ情報を取得する方法。
【請求項２】
前記回転情報を推定するステップは、
前記動き情報に基づいて、前記複数のフレームに対応する自体運動の状態を推定するステップと、
前記推定された状態に基づいて、前記フレーム間の回転情報を推定するステップと、
を含む、請求項１に記載のポーズ情報を取得する方法。
【請求項３】
前記状態を推定するステップは、第１視点の状態と第２視点の動き情報に基づいて、第２視点の状態を推定するステップを含む、請求項２に記載のポーズ情報を取得する方法。
【請求項４】
前記自体運動の状態は、前記回転情報を推定するための第１状態及び前記移動情報を推定するための第２状態を含む、請求項２に記載のポーズ情報を取得する方法。
【請求項５】
前記フレーム間の回転情報を推定するステップは、カルマンフィルタ、拡張されたカルマンフィルタ、繰り返し拡張されたカルマンフィルタ、無香料カルマンフィルタ、及び粒子フィルタのいずれか１つを用いて前記フレーム間の回転情報を推定するステップを含む、請求項１ないし４のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項６】
前記第２頂点は、前記回転情報に基づいて識別される、請求項１ないし５のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項７】
前記推定された回転情報を補正するステップは、
前記推定された回転情報に基づいて、前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去するステップと、
前記第３頂点に基づいて、前記フレーム間の回転情報を推定するステップと、
前記第３頂点に基づいて推定された回転情報を用いて、前記動き情報に基づいて推定された回転情報を補正するステップと、
を含む、請求項１ないし６のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項８】
前記フレームは、第１視点で撮影された第１フレーム及び第２視点で撮影された第２フレームを含み、
前記第２頂点を除去するステップは、
前記第１視点で推定された第１回転情報と、前記第２視点で推定された第２回転情報間の回転変化量を算出するステップと、
前記回転変化量に基づいて前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去するステップと、
を含む、請求項７に記載のポーズ情報を取得する方法。
【請求項９】
前記第３頂点に基づいて前記回転情報を推定するステップは、前記第３頂点に対してＰＮＰ関数、ガウス・ニュートン最適化（Ｇａｕｓｓ  Ｎｅｗｔｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数、及びレーベンバーグ・マーカート最適化（ｌｅｖｅｎｂｅｒｇ  ｍａｒｑｕａｒｄｔ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数のいずれか１つを適用して前記回転情報を推定するステップを含む、請求項７に記載のポーズ情報を取得する方法。
【請求項１０】
前記推定された回転情報を補正するステップは、前記第３頂点に基づいて推定された回転情報と前記動き情報に基づいて推定された回転情報の間の差に基づいて、前記フレームのうち少なくとも１つに対応する自体運動の状態を更新するステップを含む、請求項７に記載のポーズ情報を取得する方法。
【請求項１１】
前記移動情報を出力するステップは、前記補正された回転情報に基づいて、前記第３頂点が属するフレーム間の強度差に関するエネルギー関数が決定された目標値よりも小さくなるように前記移動情報を決定するステップを含む、請求項１ないし１０のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項１２】
電気エネルギー関数は、ガウス・ニュートン最適化関数、及びレーベンバーグ・マーカート最適化関数のいずれか１つを含む、請求項１１に記載のポーズ情報を取得する方法。
【請求項１３】
前記第１頂点を選択するステップは、
前記複数のフレームを分割するブロックごとに前記第１頂点を選択するステップと、
前記複数のフレームに含まれたクラスごとに前記第１頂点を選択するステップと、
のうち少なくとも１つを含む、請求項１ないし１２のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項１４】
前記ブロックごとに前記第１頂点を選択するステップは、
前記フレームそれぞれを一定の大きさのブロックに均等に分割するステップと、
前記均等に分割されたブロックそれぞれから前記第１頂点を選択するステップと、
を含む、請求項１３に記載のポーズ情報を取得する方法。
【請求項１５】
前記クラスごとに前記第１頂点を選択するステップは、
前記フレームそれぞれに含まれたピクセルの強度傾斜度の大きさ、方向、及び前記ピクセルと周辺ピクセルとの強度関係のうち少なくとも１つに基づいて複数のクラスに対応する候補頂点を決定するステップと、
前記複数のクラスそれぞれに含まれた候補頂点から前記第１頂点を選択するステップと、
を含む、請求項１３に記載のポーズ情報を取得する方法。
【請求項１６】
前記第１頂点を選択するステップは、
前記フレームそれぞれの中心にある頂点に第１加重値を与えるステップと、
前記フレームそれぞれの中心から外郭に行くほど次第に前記頂点に前記第１加重値に比べて少ない第２加重値を与えるステップと、
前記第１加重値及び前記第２加重値に基づいて、前記頂点のうち前記第１頂点を選択するステップと、
を含む、請求項１ないし１２のうちの何れか一項に記載のポーズ情報を取得する方法。
【請求項１７】
請求項１ないし請求項１６のいずれか一項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【請求項１８】
ポーズ情報を出力装置であって、
複数のフレームを撮影する第１センサと、
動き情報を検出する第２センサと、
少なくとも１つのプロセッサと、
を含み、前記プロセッサは、
前記複数のフレームから第１頂点を選択し、
前記動き情報に基づいて前記フレーム間の回転情報を推定し、
前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて前記推定された回転情報を補正し、
前記第３頂点及び前記補正された回転情報に基づいて前記フレーム間の移動情報を算出する、ポーズ情報を出力する装置。
【請求項１９】
前記プロセッサは、
前記動き情報に基づいて、前記複数のフレームに対応する自体運動の状態を推定し、
前記推定された状態に基づいて、前記フレーム間の回転情報を推定する、請求項１８に記載のポーズ情報を出力する装置。
【請求項２０】
前記プロセッサは、
前記推定された回転情報に基づいて、前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去し、
前記第１頂点のうち前記第２頂点を除いた第３頂点に基づいて、前記フレーム間の回転情報を推定し、
前記第３頂点に基づいて推定された回転情報を用いて、前記動き情報に基づいて推定された回転情報を補正する、請求項１８に記載のポーズ情報を出力する装置。
【請求項２１】
前記プロセッサは、前記補正された回転情報に基づいて、前記第３頂点が属するフレーム間の強度差に関するエネルギー関数が決定された目標値よりも小さくなるように前記移動情報を決定する、請求項１８に記載のポーズ情報を出力する装置。
【請求項２２】
前記フレームそれぞれは車両前方の走行映像を含む、請求項１８に記載のポーズ情報を出力する装置。
【請求項２３】
ポーズ検出装置であって、
映像フレームをキャプチャーする第１センサと、
動き情報を検出する第２センサと、
ヘッドアップディスプレイ（ＨＵＤ）と、
プロセッサと、
を含み、前記プロセッサは、
前記映像フレームから第１頂点を選択し、前記動き情報に基づいて前記映像フレーム間の回転情報を推定し、
前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて前記推定された回転情報を補正し、
前記第３頂点と前記補正された回転情報に基づいて前記映像フレーム間の変換情報を取得し、
前記補正された回転情報及び前記変換情報に基づいて、前記ヘッドアップディスプレイ上に仮想オブジェクトをレンダリングする、ポーズ検出装置。
【請求項２４】
前記映像フレーム、前記動き情報、前記回転情報、前記補正された回転情報、前記変換情報、並びに実行されるとき前記回転情報及び前記変換情報のうち任意の１つ又は任意の組合せを決定するようにプロセッサを指図する命令語を保存するメモリをさらに含む、請求項２３に記載のポーズ検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、視覚的慣性距離計（Ｖｉｓｕａｌ  Ｉｎｅｒｔｉａｌ  Ｏｄｏｍｅｔｒｙ；ＶＩＯ）基盤のポーズ情報を取得する方法及び装置に関する。
【背景技術】
【０００２】
映像に基づいた測位方法には、例えば、ＳｆＭ（Ｓｔｒｕｃｔｕｒｅ  ｆｒｏｍ  Ｍｏｔｉｏｎ）、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）、ＶＯ（Ｖｉｓｕａｌ  Ｏｄｏｍｅｔｒｙ）などのように様々な方法が存在する。このような測位方法は、ホモグラフィを用いて映像を撮影したカメラの位置及び撮影された映像における各ピクセルの深度値を算出して測位を行う。ホモグラフィは、カメラで撮影した連続的な一連の映像のピクセル間の相関関係を示す。しかし、このような測位方法では、動的オブジェクトの動きを追跡することで発生するトラッキング損失及び／又はトラッキング性能の低下による正確度の減少が発生する虞がある。それだけではなく、映像から特徴点を選択するとき外れ値（Ｏｕｔｌｉｅｒ）になる領域、言い換えれば、動的オブジェクトに対応する領域を繰り返し選択及び／又は除去するために多くのリソースが費やされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００３／０２１８６７２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一実施形態の目的は、カメラが撮影した映像情報と慣性測位装置（例えば、ＩＭＵセンサ）が検出した動き情報とをともに活用することで、カメラの動き（静的オブジェクトの動き）と動的オブジェクトの動きとを区分してポーズ情報をより正確に算出することにある。
【０００５】
一実施形態の目的は、慣性測位装置は、映像とは関係がなく動き情報を提供するため、動き情報を映像情報と結合することで、ポーズ情報の正確度及び演算速度を向上させることにある。
【０００６】
一実施形態の目的は、６自由度ポーズ情報のうち、回転情報（ＶＩＯ’ｓ  Ｒｏｔａｔｉｏｎ）を取得する過程と移動情報（ＶＩＯ’ｓ  Ｔｒａｎｓｌａｔｉｏｎ）を取得する過程とを分離して行うことで、回転情報の正確度を向上させることにある。
【０００７】
一実施形態の目的は、回転情報の算出時にＩＭＵセンサで検出された動き情報をフィルタを介して受信し、フィルタを介して伝えられる動き情報（に基づいて推定された回転情報）を映像情報によって推定された回転情報を補正するために利用することで、回転情報の正確度を向上させることにある。
【課題を解決するための手段】
【０００８】
一側面によれば、ポーズ情報を取得する方法は、第１センサで撮影された複数のフレームから第１頂点を選択するステップと、第２センサで検出された動き情報に基づいて、前記フレーム間の回転情報を推定するステップと、前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて、前記推定された回転情報を補正するステップと、前記第３頂点及び前記補正された回転情報に基づいて、前記フレーム間の移動情報を取得するステップと、前記補正された回転情報及び前記移動情報を出力するステップとを含む。
【０００９】
前記回転情報を推定するステップは、前記動き情報に基づいて、前記複数のフレームに対応する自体運動の状態を推定するステップと、前記推定された状態に基づいて、前記フレーム間の回転情報を推定するステップとを含み得る。
【００１０】
前記状態を推定するステップは、第１視点の状態と第２視点の動き情報に基づいて、第２視点の状態を推定するステップを含み得る。
【００１１】
前記自体運動の状態は、前記回転情報を推定するための第１状態及び前記移動情報を推定するための第２状態を含み得る。
【００１２】
前記フレーム間の回転情報を推定するステップは、カルマンフィルタ、拡張されたカルマンフィルタ、繰り返し拡張されたカルマンフィルタ、無香料カルマンフィルタ、及び粒子フィルタのいずれか１つを用いて前記フレーム間の回転情報を推定するステップを含み得る。
【００１３】
前記第２頂点は、前記回転情報に基づいて識別され得る。
【００１４】
前記推定された回転情報を補正するステップは、前記推定された回転情報に基づいて、前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去するステップと、前記第３頂点に基づいて、前記フレーム間の回転情報を推定するステップと、前記第３頂点に基づいて推定された回転情報を用いて、前記動き情報に基づいて推定された回転情報を補正するステップとを含み得る。
【００１５】
前記フレームは、第１視点で撮影された第１フレーム及び第２視点で撮影された第２フレームを含み、前記第２頂点を除去するステップは、前記第１視点で推定された第１回転情報と、前記第２視点で推定された第２回転情報間の回転変化量を算出するステップと、前記回転変化量に基づいて前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去するステップとを含み得る。
【００１６】
前記第３頂点に基づいて前記回転情報を推定するステップは、前記第３頂点に対してＰＮＰ関数、ガウス・ニュートン最適化（Ｇａｕｓｓ  Ｎｅｗｔｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数、及びレーベンバーグ・マーカート最適化（ｌｅｖｅｎｂｅｒｇ  ｍａｒｑｕａｒｄｔ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数のいずれか１つを適用して前記回転情報を推定するステップを含み得る。
【００１７】
前記推定された回転情報を補正するステップは、前記第３頂点に基づいて推定された回転情報と前記動き情報に基づいて推定された回転情報の間の差に基づいて、前記フレームのうち少なくとも１つに対応する自体運動の状態を更新するステップを含み得る。
【００１８】
前記移動情報を出力するステップは、前記補正された回転情報に基づいて、前記第３頂点が属するフレーム間の強度差に関するエネルギー関数が決定された目標値よりも小さくなるように前記移動情報を決定するステップを含み得る。
【００１９】
電気エネルギー関数は、ガウス・ニュートン最適化関数、及びレーベンバーグ・マーカート最適化関数のいずれか１つを含み得る。
【００２０】
前記第１頂点を選択するステップは、前記複数のフレームを分割するブロックごとに前記第１頂点を選択するステップと、前記複数のフレームに含まれたクラスごとに前記第１頂点を選択するステップと、のうち少なくとも１つを含み得る。
【００２１】
前記ブロックごとに前記第１頂点を選択するステップは、前記フレームそれぞれを一定の大きさのブロックに均等に分割するステップと、前記均等に分割されたブロックそれぞれから前記第１頂点を選択するステップとを含み得る。
【００２２】
前記クラスごとに前記第１頂点を選択するステップは、前記フレームそれぞれに含まれたピクセルの強度傾斜度の大きさ、方向、及び前記ピクセルと周辺ピクセルとの強度関係のうち少なくとも１つに基づいて複数のクラスに対応する候補頂点を決定するステップと、前記複数のクラスそれぞれに含まれた候補頂点から前記第１頂点を選択するステップとを含み得る。
【００２３】
前記第１頂点を選択するステップは、前記フレームそれぞれの中心にある頂点に第１加重値を与えるステップと、前記フレームそれぞれの中心から外郭に行くほど次第に前記頂点に前記第１加重値に比べて少ない第２加重値を与えるステップと、前記第１加重値及び前記第２加重値に基づいて、前記頂点のうち前記第１頂点を選択するステップとを含み得る。
【００２４】
一実施形態によると、ポーズ情報を出力する装置は、複数のフレームを撮影する第１センサと、動き情報を検出する第２センサと、前記複数のフレームから第１頂点を選択し、前記動き情報に基づいて前記フレーム間の回転情報を推定し、前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて前記推定された回転情報を補正し、前記第３頂点及び前記補正された回転情報に基づいて前記フレーム間の移動情報を算出する、少なくとも１つのプロセッサを含む。
【００２５】
前記プロセッサは、前記動き情報に基づいて、前記複数のフレームに対応する自体運動の状態を推定し、前記推定された状態に基づいて、前記フレーム間の回転情報を推定し得る。
【００２６】
前記プロセッサは、前記推定された回転情報に基づいて、前記第１頂点のうち動的オブジェクトに該当する第２頂点を除去し、前記第１頂点のうち前記第２頂点を除いた第３頂点に基づいて、前記フレーム間の回転情報を推定し、前記第３頂点に基づいて推定された回転情報を用いて、前記動き情報に基づいて推定された回転情報を補正し得る。
【００２７】
前記プロセッサは、前記補正された回転情報に基づいて、前記第３頂点が属するフレーム間の強度差に関するエネルギー関数が決定された目標値よりも小さくなるように前記移動情報を決定し得る。
【００２８】
前記フレームそれぞれは車両前方の走行映像を含み得る。
【００２９】
一実施形態によると、ポーズ検出装置は、映像フレームをキャプチャーする第１センサと、動き情報を検出する第２センサと、ヘッドアップディスプレイ（ＨＵＤ）と、前記映像フレームから第１頂点を選択し、前記動き情報に基づいて前記映像フレーム間の回転情報を推定し、前記第１頂点のうち、動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて前記推定された回転情報を補正し、前記第３頂点と前記補正された回転情報に基づいて前記映像フレーム間の変換情報を取得し、前記補正された回転情報及び前記変換情報に基づいて、前記ヘッドアップディスプレイ上に仮想オブジェクトをレンダリングするプロセッサを含む。
【００３０】
ポーズ検出装置は、前記映像フレーム、前記動き情報、前記回転情報、前記補正された回転情報、前記変換情報、及び実行されるとき前記回転情報及び前記変換情報のうち任意の１つ又は任意の組合せを決定するようにプロセッサを構成する命令語を含むメモリをさらに含み得る。
【発明の効果】
【００３１】
一側面によれば、カメラが撮影した映像情報と慣性測位装置（例えば、ＩＭＵセンサ）が検出した動き情報をともに活用することで、カメラの動き（静的オブジェクトの動き）と動的オブジェクトの動きとを区分してポーズ情報をより正確に算出することができる。
【００３２】
一側面によれば、慣性測位装置は、映像とは関係がなく動き情報を提供するため、動き情報を映像情報と結合することで、ポーズ情報の正確度及び演算速度を向上させることができる。
【００３３】
一側面によれば、６自由度ポーズ情報のうち回転情報（ＶＩＯ’ｓ  Ｒｏｔａｔｉｏｎ）を取得する過程と移動情報（ＶＩＯ’ｓ  Ｔｒａｎｓｌａｔｉｏｎ）を取得する過程を分離して行うことで、回転情報の正確度を向上させることができる。
【００３４】
一側面によれば、回転情報の算出時にＩＭＵセンサで検出された動き情報をフィルタを介して受信し、フィルタを介して伝えられる動き情報（に基づいて推定された回転情報）を映像情報によって推定された回転情報を補正するために利用することで、回転情報の正確度を向上させることができる。
【図面の簡単な説明】
【００３５】
【図１】一実施形態に係るポーズ情報を出力する過程を説明するための図である。
【図２】一実施形態に係るポーズ情報を取得する方法を示したフローチャートである。
【図３】一実施形態によりフレーム間の回転情報を推定する方法を示したフローチャートである。
【図４Ａ】実施形態によりフレーム間の回転情報を推定する方法を説明するための図である。
【図４Ｂ】実施形態によりフレーム間の回転情報を推定する方法を説明するための図である。
【図５Ａ】実施形態により推定された回転情報を補正する方法を説明するための図である。
【図５Ｂ】実施形態により推定された回転情報を補正する方法を説明するための図である。
【図６】一実施形態によりフレーム間の移動情報を算出する方法を説明するための図である。
【図７】一実施形態により複数のフレームから第１頂点を選択する方法を説明するための図である。
【図８Ａ】一実施形態により複数のフレームから第１頂点を選択する方法を説明するための図である。
【図８Ｂ】一実施形態により複数のフレームから第１頂点を選択する方法を説明するための図である。
【図８Ｃ】一実施形態により複数のフレームから第１頂点を選択する方法を説明するための図である。
【図８Ｄ】一実施形態により複数のフレームから第１頂点を選択する方法を説明するための図である。
【図９】他の実施形態に係るポーズ情報を取得する方法を示したフローチャートである。
【図１０】一実施形態係るポーズ情報を出力する装置のブロック図である。
【発明を実施するための形態】
【００３６】
下記で説明する実施形態は様々な変更が加えられることができる。特許出願の範囲がこのような実施形態によって制限も限定もされることはない。各図面に提示された同じ参照符号は同じ部材を示す。
【００３７】
本明細書で開示されている特定の構造的又は機能的な説明は単に実施形態を説明するための目的として例示されたものであり、実施形態は様々な異なる形態で実施され、本明細書に説明された実施形態に限定されることはない。
【００３８】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００３９】
異なる定義がされない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００４０】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略する。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【００４１】
図１は、一実施形態に係る出力装置がポーズ情報を出力する過程を説明するための図である。図１を参照すると、一実施形態により視覚的慣性距離計（Ｖｉｓｕａｌ  Ｉｎｅｒｔｉａｌ  Ｏｄｏｍｅｔｒｙ；ＶＩＯ）基盤のポーズ情報を出力する装置（以下、「出力装置」）１００の構成及び動作が示されている。ポーズ情報は、出力装置の回転に関する回転情報、出力装置の移動に関する移動情報、又はその組合せを含み得る。
【００４２】
一般的に、視覚距離計（Ｖｉｓｕａｌ  Ｏｄｏｍｅｔｒｙ）は、視覚的機能を用いてポーズ情報を推定する。しかし、映像内の動的オブジェクトが存在する場合、ポーズ情報を正確に推定できない。カメラで撮影された映像情報のみを用いて、カメラが動いているか、そうでなければ、周辺オブジェクトが動いているかを区分することは困難であるためである。また、視覚距離計を用いて突然の動きを推定することは困難である。これに対して、ＩＭＵ（Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）センサのような慣性測定装置は、突然の動きを円満に検出する一方、誤差が累積される特性に起因して、長い時間間隔での動きを持続的に検出することには適していない。
【００４３】
したがって、一実施形態では、カメラが撮影した映像情報と慣性測定装置が検出した動き情報をともに活用することで、カメラの動き（又は、カメラの動きによる映像内の静的オブジェクトの動き）と動的オブジェクトの動きを区分してポーズ情報をより正確に算出できる。慣性測定装置は、映像に関わらず動き情報を提供することができるため、一実施形態では、動き情報と映像情報を全て利用することによりポーズ情報の正確度及び演算速度を向上させることができる。
【００４４】
一実施形態に係る出力装置１００は、第１センサ１１０、第２センサ１２０、フィルタ１４０、頂点選択部１３０、回転情報取得部１５０、及び移動情報取得部１６０を含む。ここで、フィルタ１４０、頂点選択部１３０、回転情報取得部１５０、及び移動情報取得部１６０の動作は、出力装置１００のプロセッサによって実行される。より具体的に、プロセッサは、例えば、次の図１０に示すプロセッサ１０３０であり得る。
【００４５】
出力装置１００は、視覚的慣性距離計（ＶＩＯ）基盤で映像フレーム間の６自由度（６−Ｄｅｇｒｅｅ  ｏｆ  Ｆｒｅｅｄｏｍ（ＤＯＦ））ポーズの変化量を算出することでポーズ情報を出力する。ここで、６自由度ポーズは、３次元の移動情報（ｔｒａｎｓｌａｔｉｏｎ；Ｔ）と３次元の回転情報（ｏｒｉｅｎｔａｔｉｏｎ；Ｒ）を含む。移動情報Ｔは位置変化（例えば、並進運動）として理解され、回転情報Ｒはオリエンテーション変化（例えば、回転運動）として理解される。
【００４６】
第１センサ１１０は、複数の映像フレームを撮影する。第１センサ１１０は、例えば、カメラ、イメージセンサ又はビジョンセンサである。第１センサ１１０は、例えば、車両のウインドシールド、ダッシュボード、バックミラーなどのように車両の様々な位置に配置される。第１センサ１１０は、車両前方の走行映像を撮影する。第１センサ１１０は、例えば、第１視点で第１フレームを撮影し、第ｎ視点で他のフレームを撮影する。
【００４７】
本明細書で説明された車両は、例えば、自動車、トラック、トラクター、スクーター、バイク、サイクル、水陸両用自動車、雪上車、ボート、公共交通車両、バス、モノレール、列車、トラム、自律又は自動運転車両、無人車、電気自動車（ＥＶ）、ハイブリッドカー、スマート移動装置、又は無人航空機の１つ以上などのような運送、伝達、又は通信の任意のモードを示す。一例として、スマート移動装置は、例えば、電気輪、電気キックボード及び電気自転車のような移動性装置を含む。例えば、車両には、動力装置のある車両（例えば、耕うん機又はバイク）、自転車、又は、手車のように動力及び非動力車両が含まれる。
【００４８】
本明細書で説明された車両の他に、ここで説明された方法及び装置は、例えば、スマートフォン、歩行補助装置、着用可能装置、セキュリティー装置、ロボット、移動端末、及び様々なＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）装置に含まれる。
【００４９】
第２センサ１２０は、動き情報を検出する。第２センサ１２０は、単数であってもよく、複数であってもよい。第２センサ１２０は、例えば、ＩＭＵセンサ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサ、ＯＢＤなどを含む。第２センサ１２０は第１視点で第１動き情報を検出し、第２視点で第２動き情報を検出し、第ｎ視点で第３動き情報を検出する。
【００５０】
頂点選択部１３０は、第１センサ１１０で撮影された複数のフレームからポーズ情報の算出のために使用される領域を選択する。例えば、頂点選択部１３０は、フレームから視覚的慣性距離計（ＶＩＯ）の算出領域に該当する頂点（例えば、第１頂点）を選択する。
【００５１】
頂点選択部１３０は、様々な方式に基づいて頂点を選択する。頂点選択部１３０は、例えば、複数のフレームの領域で均等に頂点を選択する。又は、頂点選択部１３０は、例えば、ブロブ（ｂｌｏｂ）、エッジ（ｅｄｇｅ）、コーナー（ｃｏｒｎｅｒ）などのように複数のフレームに含まれた様々なクラスごとに頂点を選択する。その他にも、頂点選択部１３０は、複数のフレームを撮影するカメラのレンズによって歪曲された映像を復元するとき発生する誤差により、映像の中心で縁（外郭）に行くほど次第に映像の中心に比べて少ない数の頂点を選択する。頂点選択部１３０の動作について、次の図７ないし図８を参照して具体的に説明する。
【００５２】
フィルタ１４０は、第２センサ１２０で検出された動き情報に基づいて、複数のフレームに対応する自体運動の状態を推定する。自体運動は、環境内装置の３次元モーションであって、例えば、出力装置の回転モーション及び移動モーションを含む。フィルタ１４０は、例えば、観測値又は観察された値である動き情報に基づいて自体運動の状態を推定する。フィルタ１４０は、推定された状態に基づいて自体運動に関する情報を出力する。例えば、フィルタ１４０は、推定した状態に基づいて、フレーム間の回転情報Ｒｉｎｉｔｉａｌを推定する。フィルタ１４０は、回転情報Ｒｉｎｉｔｉａｌを回転情報取得部１５０に送信する。
【００５３】
ここで、第１センサ１１０が複数の映像フレームを撮影する視点と第２センサ１２０が動き情報を検出する視点との間には同期が合わない場合もある。例えば、第１センサ１１０が複数のフレームを撮影する視点間の間隔が第２センサ１２０が動き情報を検出する視点間の間隔に比べて時間が長いこともある。
【００５４】
フィルタ１４０は、第２センサ１２０が動き情報を検出した複数の視点のうち、第１センサ１１０が複数のフレームを撮影した視点に対応する一部の視点を選択し、選択された視点間の回転情報を推定及び送信する。
【００５５】
フィルタ１４０は、第２センサ１２０で検出された動き情報に基づいて、例えば、速度、ＩＭＵバイアス（例えば、角速度、加速度）、絶対位置などを推定する。ここで、動き情報は、例えば、ＩＭＵセンサのジャイロスコープによって検出されるピッチ（Ｐｉｔｃｈ）、ロール（Ｒｏｌｌ）ヨー（Ｙａｗ）の３軸回転情報と加速度センサによって検出される３次元空間で前後、上下、左右の３軸への移動情報、ＧＰＳ位置、ＯＢＤホイールオドメーター（ｗｈｅｅｌ  ｏｄｏｍｅｔｒｙ）、操向角情報、姿勢情報などを含む。フィルタ１４０の動作については、下記の図４Ａ及び図４Ｂを参照してより具体的に説明する。
【００５６】
回転情報取得部１５０は、フィルタ１４０から回転情報Ｒｉｎｉｔｉａｌを受信する。例えば、回転情報取得部１５０は、回転情報Ｒｉｎｉｔｉａｌを用いて頂点選択部１３０で選択された第１頂点から外れ値に該当する第２頂点を除く。例えば、回転情報取得部１５０は、第１頂点から第２頂点を除いた残りである第３頂点に基づいて回転情報Ｒｅｓｔｉｍａｔｅを推定する。例えば、回転情報取得部１５０は、推定された回転情報Ｒｅｓｔｉｍａｔｅをフィルタ１４０に送信する。ここで、外れ値に該当する第２頂点は、動的オブジェクトに該当する頂点であり得る。
【００５７】
以下、「第１頂点」は、第１センサ１１０によって撮影された複数のフレーム内のポーズ情報の算出のための領域から選択された頂点である。「第２頂点」は、第１頂点のうち動的オブジェクトに該当する頂点、言い換えれば、複数のフレームに含まれた静的オブジェクトの動きを把握するために除去されなければならない頂点である。第２頂点は、一実施形態でポーズ情報の算出のために排除されなければならない点で「外れ値（Ｏｕｔｌｉｅｒ）」のように呼んでもよい。「第３頂点」は、第１頂点から第２頂点を除去して残った残りの頂点、言い換えれば、静的オブジェクトに該当する頂点である。第３頂点は「インライヤー（Ｉｎｌｉｅｒ）」と呼んでもよい。
【００５８】
回転情報取得部１５０は、外れ値除去過程１５３及び回転情報評価過程１５６を行う。
【００５９】
外れ値除去１５３で、回転情報取得部１５０はフィルタ１４０から受信した、動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌに基づいて、第１頂点のうち外れ値（動的オブジェクトに該当する第２頂点）を除去する。
【００６０】
また、回転情報評価１５６で、回転情報取得部１５０は、外れ値除去１５３により伝えられた第３頂点に基づいて、フレーム間の回転情報Ｒｅｓｔｉｍａｔｅを推定する。例えば、視覚情報に基づいて回転情報を評価（又は、推定）するために、回転情報取得部１５０は、映像内頂点のピクセル強度を直接的に使用する方法を用いることができる。一実施形態において、映像内頂点のピクセル強度を直接使用する方法について例を挙げて説明するが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、例えば、映像から抽出された特徴を使用するよう、視覚情報に基づいて回転情報を評価（又は、推定）する他の方法が使用されてもよい。
【００６１】
回転情報取得部１５０は、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅをフィルタ１４０に伝達する。回転情報取得部１５０の動作については、下記の図５Ｂを参照してより具体的に説明する。
【００６２】
フィルタ１４０は、回転情報取得部１５０から回転情報Ｒｅｓｔｉｍａｔｅを受信する。フィルタ１４０は回転情報Ｒｅｓｔｉｍａｔｅを用いて回転情報Ｒｉｎｉｔｉａｌを補正し、最終的な回転情報Ｒ＊を出力する。例えば、回転情報取得部１５０から第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅを受信したフィルタ１４０は、回転情報Ｒｅｓｔｉｍａｔｅと動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌの間の差に基づいて自体運動の状態を更新する。フィルタ１４０は、更新された状態に基づいて最終的な回転情報Ｒ＊を出力する。回転情報は、クォータニオン（ｑｕａｔｅｒｎｉｏｎ）又はマトリックスなどの形態に表現される。
【００６３】
実施形態によると、第２センサ１２０に基づいて回転情報Ｒｉｎｉｔｉａｌを推定するフィルタ１４０の動作と、第１センサ１１０に基づいて回転情報Ｒｅｓｔｉｍａｔｅを推定する回転情報取得部１５０の動作とが互いに区分される。したがって、図１に示された例は、慣性情報の処理と視覚情報の処理が互いに緩く結合された（ｌｏｏｓｅｌｙ−ｃｏｕｐｌｅｄ）システムの特性を提供する。
【００６４】
また、実施形態によると、回転情報Ｒｉｎｉｔｉａｌに基づいて回転情報Ｒｅｓｔｉｍａｔｅの推定のための頂点を選択し、回転情報Ｒｅｓｔｉｍａｔｅに基づいて回転情報Ｒｉｎｉｔｉａｌを補正することで、最終回転情報Ｒ＊が出力される。したがって、図１に示された例は、慣性情報の処理と視覚情報の処理が互いに密着結合されたシステムの特性を提供する。
【００６５】
その結果、実施形態は、互いに緩く結合されたシステムの長所と互いに密着結合されたシステム両方の長所を全て含む技術を提供できる。例えば、第１センサ１１０の映像フレームだけで除去し難い動的オブジェクト領域の第２頂点をフィルタ１４０を介して統合された第２センサ１２０の状態情報を用いて除去することにより、演算速度が改善される。また、視覚情報基盤の推定結果が慣性情報基盤のフィルタにフィードバックされ、推定の正確度が改善される。
【００６６】
移動情報取得部１６０は、移動情報の変化量を算出する。移動情報取得部１６０は、第３頂点及びフィルタで最終的に補正された回転情報Ｒ＊に基づいて、フレーム間の移動情報Ｔ＊を算出する。移動情報取得部１６０の動作について、次の図６を参照してより具体的に説明する。
【００６７】
出力装置１００は、回転情報Ｒ＊及び移動情報Ｔ＊を出力する。
【００６８】
実施形態は、スマート車両などの拡張現実ナビゲーションシステムで仮想オブジェクトのためのポーズ情報を提供したり、自律走行車両のステアリングを助けるための視覚情報を生成したり、又は、車両の走行のための様々な制御情報を提供するために活用される。また、実施形態は、車両内走行補助又は完全自律走行のために設けられたＨＵＤ（Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙ）などの知能システムを含む機器に視覚情報を提供し、安全かつ快適な走行のために使用される。実施形態は、例えば、自律走行自動車、知能型自動車、スマートフォン、及びモバイル機器などに適用され得る。
【００６９】
図２は、一実施形態に係るポーズ情報を取得する方法を示したフローチャートである。図２に示す動作は、図２に示された順序及び方式で実行されることができるが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、一部動作の順序が変更されたり、一部の動作が省略されてもよい。図２に示された多くの動作が並列的又は同時に実行されてもよい。図２に示す１つ以上のブロック及び前記ブロックの組合せは、特定の機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図２の説明に加えて、図１に示す説明も図２に適用でき、参照によって結合されてもよい。したがって、前記の説明はここで繰り返すことはない。
【００７０】
図２を参照すると、一実施形態に係るポーズ情報を出力する装置（以下、「出力装置」）は、第１センサで撮影された複数のフレームから第１頂点を選択する（Ｓ２１０）。出力装置が第１頂点を選択する方法については、次の図７〜図８を参照して具体的に説明する。
【００７１】
出力装置は、第２センサで検出された動き情報に基づいて、フレーム間の回転情報を推定する（Ｓ２２０）。出力装置は、例えば、カルマンフィルタ（Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）、拡張されたカルマンフィルタ（Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）、繰り返し拡張されたカルマンフィルタ（Ｉｔｅｒａｔｅｄ  Ｅｘｔｅｎｄｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）、無香料カルマンフィルタ（Ｕｎｓｃｅｎｔｅｄ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）及び粒子フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）などを用いてフレーム間の回転情報を推定する。出力装置が自体運動の状態に基づいて、フレーム間の回転情報を推定する方法については、次の図３〜図４を参照して具体的に説明する。
【００７２】
出力装置は、第１頂点のうち動的オブジェクトに該当する第２頂点を除いた残りの頂点である第３頂点に基づいて、推定された回転情報を補正する（Ｓ２３０）。出力装置が推定された回転情報を補正する方法については、次の図５を参照して具体的に説明する。
【００７３】
出力装置は、第３頂点及び補正された回転情報に基づいて、フレーム間の移動情報を算出する（Ｓ２４０）。出力装置は、補正された回転情報に基づいて、第３頂点が属するフレーム間の強度差に関するエネルギー関数が目標値よりも小さくなるよう移動情報を決定する。エネルギー関数は、複数の関数、例えば、非線型関数を地域的に線形関数に近似して解を求めるガウス・ニュートン最適化（Ｇａｕｓｓ  Ｎｅｗｔｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数、及び初期の解が与えられれば初期の解から始めて繰り返し最適化された解を求めるレーベンバーグ・マーカート最適化（ｌｅｖｅｎｂｅｒｇ  ｍａｒｑｕａｒｄｔ  ｏｐｔｉｍｉｚａｔｉｏｎ）関数などを含む。ガウス・ニュートン最適化は、関数の傾斜と曲率を共に考慮しながら解を求める。出力装置が移動情報を算出する過程については、次の図６を参照して具体的に説明する。
【００７４】
出力装置は、ステップＳ２３０で補正された回転情報、及びステップＳ２４０で算出された移動情報を出力する（Ｓ２５０）。
【００７５】
図３は、一実施形態によりフレーム間の回転情報を推定する方法を示したフローチャートである。図３に示す動作は、図３に示された順序及び方式で実行され得るが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、一部動作の順序が変更されたり、一部動作が省略されてもよい。図３に示された多くの動作が並列的又は同時に実行されてもよい。図３に示す１つ以上のブロック及び前記ブロックの組合せは、特定の機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図３の説明に加えて、図１乃至２の説明も図３に適用でき、参照によって結合されてもよい。したがって、前記説明はここで繰り返すことはない。
【００７６】
図３を参照すると、一実施形態に係る出力装置は、動き情報に基づいて、複数のフレームに対応する自体運動の状態を推定する（Ｓ３１０）。出力装置は、例えば、第１視点の状態と第２視点の動き情報に基づいて、第２視点の状態を推定する。第２視点は現在の視点に該当し、第１視点は以前の視点に該当する。一実施形態によれば、自体運動の状態は、例えば、回転情報を推定するための第１状態及び移動情報を推定するための第２状態を含む。この場合、第１状態に応じて回転情報が推定され、第２状態に応じて移動情報が推定される。
【００７７】
出力装置は、ステップＳ３１０で推定された状態に基づいて、フレーム間の回転情報を推定する（Ｓ３２０）。一実施形態に係る出力装置のフィルタ１４０が自体運動の状態を推定し、フレーム間の回転情報を推定する方法については、次の図４Ａ及び図４Ｂを参照して具体的に説明する。
【００７８】
図４Ａは、一実施形態によりフレーム間の回転情報を推定する方法を説明するための図である。図４Ａを参照すると、複数のフレームに対応してフィルタ１４０が推定した自体運動の状態Ｓｔａｔｅｉ−１、Ｓｔａｔｅｉ、Ｓｔａｔｅｉ’が示されている。
【００７９】
フィルタ１４０は、センサ入力Ｉｉに基づいて、フレームに対応する自体運動の状態を推定する。ここで、センサ入力Ｉｉは、前述した第２センサで検出された動き情報に該当する。
【００８０】
フィルタ１４０は、ｉ−１視点の状態Ｓｔａｔｅｉ−１とｉ視点の動き情報Ｉｉに基づいて、ｉ視点の状態Ｓｔａｔｅｉを推定する。フィルタ１４０は、推定された状態ｉ−１視点の状態Ｓｔａｔｅｉ−１、ｉ視点の状態Ｓｔａｔｅｉに基づいて、フレーム間の回転情報Ｒｉｎｉｔｉａｌを「推定（Ｅｓｔｉｍａｔｅ）」する。一実施形態によれば、回転情報Ｒｉｎｉｔｉａｌはｉ−１視点の状態Ｓｔａｔｅｉ−１の出力値とｉ視点の状態Ｓｔａｔｅｉの出力値の間の回転変化量ΔＲに算出される。この場合、ｉ−１視点の状態Ｓｔａｔｅｉ−１は、第１センサ１１０によって第１フレームが撮影された視点に対応し、ｉ視点の状態Ｓｔａｔｅｉは、第１センサ１１０によって第２フレームが撮影された視点に対応する。
【００８１】
フィルタ１４０は、回転情報取得部１５０から第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅを受信する。ここで、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅは、回転情報Ｒｉｎｉｔｉａｌを補正するために用いてもよい。回転情報Ｒｅｓｔｉｍａｔｅは、例えば、ｉ−１視点で撮影された第１フレームとｉ視点で撮影された第２フレーム間の回転変化量ΔＲに該当する。
【００８２】
フィルタ１４０は、回転情報Ｒｅｓｔｉｍａｔｅを用いて回転情報Ｒｉｎｉｔｉａｌを「補正（Ｃｏｒｒｅｃｔ）」し、最終的な回転情報Ｒ＊を出力する。より具体的に、フィルタ１４０は、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅと動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌの間の差に基づいて、ｉ視点の自体運動の状態Ｓｔａｔｅｉを状態Ｓｔａｔｅｉ’に更新する。フィルタ１４０は、更新された状態Ｓｔａｔｅｉ’に基づいて最終的な回転情報Ｒ＊を出力する。例えば、最終回転情報Ｒ＊は、状態Ｓｔａｔｅｉ−１の出力値Ｏｉ−１と状態Ｓｔａｔｅｉ’の出力値Ｏｉ’の間の回転変化量ΔＲに算出される。
【００８３】
図４Ｂは、一実施形態に係るカルマンフィルタで回転情報を推定する方法を説明するための図である。図４Ｂを参照すると、カルマンフィルタでフレーム間の回転情報Ｒｉｎｉｔｉａｌを「推定（Ｅｓｔｉｍａｔｅ）」する推定過程４１０、及び回転情報Ｒｉｎｉｔｉａｌを「補正（Ｃｏｒｒｅｃｔ）」する補正過程４３０が示されている。一実施形態では、説明の便宜のためにフィルタ１４０の一実施に該当するカルマンフィルタの動作について説明するが、必ずこれに限定されることはない。カルマンフィルタの他にも、例えば、粒子フィルタなどのように様々なフィルタが記述された例示的な実施形態の思想及び範囲を逸脱することなく使用されてもよい。
【００８４】
推定過程４１０で、カルマンフィルタ（以下、「フィルタ」）の動作は次の通りである。
【００８５】
フィルタは、以前状態x^k-1と現在入力ukに基づいて、現在状態x^-kを決定する。フィルタは、誤差の共分散（ｅｒｒｏｒ  ｃｏｖａｒｉａｎｃｅ）値P-kも共に算出する。推定過程４１０で、現在状態x^-kに基づいて出力値
【００８６】
【数１】
2020057358.tif 000003
が決定されるが、フィルタで推定される状態は、隠れ値であるため状態を直接的に補正することが難しい。
【００８７】
フィルタは、補正過程４３０により、観測値zkと推定過程４１０の出力値
【００８８】
【数２】
2020057358.tif 000004
との差に基づいて状態を補正する。ここで、状態が補正される程度は、誤差の共分散P-kに基づいたカルマン利益Kkにより決定される。誤差の共分散P-kもカルマン利益KkによってPkに更新される。
【００８９】
前述した過程について、図１に示された出力装置の例示に適用すれば次の通りである。
【００９０】
例えば、ＩＭＵセンサは、動き情報に該当する角速度ｗと加速度ａを検出する。ここで、フィルタの自体運動の状態には、回転情報Ｒｉｎｉｔｉａｌを推定するためのｒ状態と、移動情報Ｔｉｎｉｔｉａｌを推定するためのｔ状態とが別々に存在する。
【００９１】
第１視点で、ＩＭＵセンサから動き情報ｗ１、ａ１が検出されれば、フィルタは、動き情報ｗ１、ａ１に基づいてｒ状態とｔ状態を更新する。フィルタは、動き情報ｗ１、ａ１に基づいてｒ０状態とｔ０状態をｒ１状態とｔ１状態に更新する。
【００９２】
第２視点で、ＩＭＵセンサから動き情報ｗ２、ａ２が検出されれば、フィルタは動き情報ｗ２、ａ２に基づいてｒ１状態とｔ１状態をｒ２状態とｔ２状態に更新する。
【００９３】
同じ方式で、第ｎ視点でＩＭＵセンサから動き情報ｗｎ、ａｎが検出されれば、フィルタは、動き情報ｗｎ、ａｎに基づいてｒｎ−１状態とｔ
ｎ−１状態をｒｎ状態とｔｎ状態に更新する。ＩＭＵセンサの動作が開始する初期視点（第０視点）に回転情報Ｒと移動情報Ｔは、初期化（例えば、０に設定）される。一実施形態では、各視点で推定された回転情報間の変化量及び移動情報間の変化量を用いるため、初期化値は以後の動作に影響を及ぼさない場合がある。
【００９４】
また、カメラは、第１視点で第１フレームを撮影し、第ｎ視点で第２フレームを撮影するものと仮定する。この場合、フィルタは、第１視点でｒ１状態による出力値Ｏ１と第ｎ視点でｒｎ状態による出力値Ｏｎの間のＯ変化量を算出し、Ｒｉｎｉｔｉａｌを出力する。
【００９５】
出力装置は、Ｒｉｎｉｔｉａｌを用いて映像情報から動的オブジェクトに該当する外れ値を除去し、外れ値が除去された頂点（第３頂点）に対してＰＮＰ関数を適用してＲｅｓｔｉｍａｔｅを算出する。Ｒｅｓｔｉｍａｔｅは、フィルタの観測値にフィードバックされる。
【００９６】
出力装置は、第ｎ視点のｒ状態を補正することによって、第ｎ視点で推定された出力Ｏｎ＝Ｏ１＋Ｒｉｎｉｔｉａｌのように表現される。また、Ｚｎ＝Ｏ１＋Ｒｅｓｔｉｍａｔｅのように表現される。
【００９７】
したがって、第ｎ視点のｒ状態を補正するために、観測値Ｚｎと出力値Ｏｎの間の差を用いてもよい。ここで、Ｚｎ−Ｏｎ＝Ｒｅｓｔｉｍａｔｅ−Ｒｉｎｉｔｉａｌであるため、出力装置は、この値（Ｒｅｓｔｉｍａｔｅ−Ｒｉｎｉｔｉａｌ）を用いてｒ状態を補正する。ここで、補正されたｒ状態に応じて出力値Ｏｎ’が決定される。
【００９８】
図５Ａは、一実施形態により推定された回転情報を補正する方法を示したフローチャートである。図５Ａに示す動作は、図５Ａに示された順序及び方式で実行されるが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、一部動作の順序が変更されたり、一部動作が省略されてもよい。図５Ａに示された多くの動作が並列的に又は同時に実行されてもよい。図５Ａに示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図５Ａの説明に加えて、図１ないし図４Ｂの説明についても図５Ａに適用でき、参照によって結合されてもよい。したがって、前記説明はここで繰り返すことはない。
【００９９】
図５Ａを参照すると、出力装置は、推定された回転情報に基づいて、第１頂点のうち動的オブジェクトに該当する第２頂点を除去する（Ｓ５１０）。出力装置は、第１視点と第２視点との間の回転情報Ｒｉｎｉｔｉａｌを推定する。出力装置は、回転情報ｉｎｉｔｉａｌに基づいて第１頂点のうち動的オブジェクトに該当する第２頂点を除去する。
【０１００】
出力装置は、第３頂点に基づいて、フレーム間の回転情報Ｒｅｓｔｉｍａｔｅを推定する（Ｓ５２０）。第３頂点は、第１頂点のうち第２頂点を除いた残りの頂点であり得る。出力装置は、第３頂点に対して、例えば、ＰＮＰ関数、ガウス・ニュートン最適化関数、及びレーベンバーグ・マーカート最適化関数などを適用して回転情報Ｒｅｓｔｉｍａｔｅを推定する。
【０１０１】
出力装置は、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅを用いて、動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌを補正する（Ｓ５３０）。出力装置は、第３頂点に基づいて推定された回転情報ｅｓｔｉｍａｔｅと、動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌの間の差に基づいて、フレームのうち少なくとも１つに対応する自体運動の状態を更新し得る。出力装置は、更新された自体運動の状態に応じて最終回転情報Ｒ＊を推定する。
【０１０２】
図５Ｂは、一実施形態により推定された回転情報を補正する方法を説明するための図である。図５Ｂを参照すると、回転情報を補正するための頂点選択部１３０、フィルタ１４０、及び回転情報取得部１５０間の動作が示されている。
【０１０３】
例えば、回転情報取得部１５０は、頂点選択部１３０から第１頂点を受信し、フィルタ１４０から回転情報Ｒｉｎｉｔｉａｌを受信する。例えば、回転情報取得部１５０は、第１頂点と回転情報Ｒｉｎｉｔｉａｌに基づいて外れ値除去過程１５３及び回転情報評価過程１５６を行う。
【０１０４】
例えば、外れ値除去過程１５３で、回転情報取得部１５０は、フィルタ１４０から受信した、動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌに基づいて、第１頂点のうち外れ値を除去する。外れ値除去過程１５３の実行によって、第１頂点のうち外れ値が除去された第３頂点が取得される。
【０１０５】
一実施形態によれば、回転情報取得部１５０は、フィルタ１４０から移動情報Ｔｉｎｉｔｉａｌをさらに受信する。例えば、回転情報取得部１５０は、回転情報Ｒｉｎｉｔｉａｌと移動情報Ｔｉｎｉｔｉａｌに基づいて、フレームそれぞれに含まれた頂点のマッチング関係を取得し得る。マッチング関係は、回転情報評価過程１５６で活用される。
【０１０６】
回転情報評価過程１５６で、回転情報取得部１５０は、外れ値除去１５３によって伝えられた第３頂点に基づいてフレーム間の回転情報を推定する。
【０１０７】
回転情報取得部１５０は、第３頂点に基づいて回転情報Ｒｉｎｉｔｉａｌの補正のための回転情報Ｒｅｓｔｉｍａｔｅをフィルタ１４０に送信する。回転情報取得部１５０は、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅが動き情報に基づいて推定された回転情報Ｒｉｎｉｔｉａｌとどれ程差があるか、又は、どれ程の誤差を有するかによって回転情報を評価する。
【０１０８】
回転情報取得部１５０は、第３頂点に基づいて推定された回転情報Ｒｅｓｔｉｍａｔｅをフィルタ１４０に伝達する。フィルタ１４０は、回転情報Ｒｅｓｔｉｍａｔｅを用いて回転情報Ｒｉｎｉｔｉａｌを補正して最終的な回転情報Ｒ＊を出力し得る。
【０１０９】
図６は、一実施形態によりフレーム間の移動情報を算出する方法を説明するための図である。図６を参照すると、移動情報を算出するためのフィルタ１４０、回転情報取得部１５０、及び移動情報取得部１６０間の動作が示されている。
【０１１０】
移動情報取得部１６０は、フレーム間の移動情報、言い換えれば、移動情報の変化量を算出する。移動情報取得部１６０は、回転情報取得部１５０から受信した第３頂点及びフィルタ１４０で最終的に補正された回転情報Ｒ＊に基づいて、フレーム間の移動情報Ｔ＊を算出する。
【０１１１】
移動情報取得部１６０は、回転情報Ｒ＊に基づいて第３頂点が属するフレーム間の強度差に関するエネルギー関数が決定された目標値よりも小さくなるよう移動情報を決定する。ここで、エネルギー関数は、「光度計エラー関数（ｐｈｏｔｏｍｅｔｒｉｃ  ｅｒｒｏｒ  ｆｕｎｃｔｉｏｎ）」とも呼ばれてもよい。エネルギー関数は、例えば、ガウス・ニュートン最適化関数、及びレーベンバーグ・マーカート最適化関数のいずれか１つであり得る。
【０１１２】
図７は、一実施形態によりフレームから第１頂点を選択する過程を説明するための図である。
【０１１３】
図７に示す動作は、図７に示された順序及び方式で実行されるが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、一部動作の順序が変更されたり、一部動作が省略されてもよい。図７に示された多くの動作が並列的又は同時に実行されてもよい。図７に示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図２に示す説明に加えて、図１ないし図６の説明についても図７に適用でき、参照によって結合されてもよい。したがって、前記説明はここで繰り返すことはない。
【０１１４】
図７を参照すると、一実施形態に係る頂点選択部１３０がバケット（Ｂｕｃｋｅｔｉｎｇ）方法７１０、候補選択（Ｃａｎｄｉｄａｔｅ  Ｓｅｌｅｃｔｉｏｎ）方法７２０、細心な選択（Ｃａｒｅｆｕｌ  Ｓｅｌｅｃｔｉｏｎ）方法７３０、及び放射型加重値（Ｒａｄｉａｌ  Ｗｅｉｇｈｔｉｎｇ）方法７４０により第１頂点を選択する過程が示されている。一実施形態の一実施として、頂点選択部１３０が前述した４種類の選択方法を順次行って第１頂点を選択することについて説明するが、必ずこれに限定されることはない。前述した４種類の選択方法は必要に応じて、選択方法のうち一部の方法のみが使用されてもよく、また、順次的な遂行順序が図７と異なってもよい。また、前述した４種類の選択方法は、実現形態により互いに結合されたり区分されてもよい。
【０１１５】
頂点選択部１３０がバケット方法７１０によって、複数のフレームの領域を一定の大きさのブロックに均等に分割し、各ブロックから均等に頂点を選択する。頂点選択部は、候補選択方法７２０により、ブロブ、エッジ、コーナーなどのようなクラスごとに頂点を選択してもよい。頂点選択部１３０は、細心な選択方法７３０により、ブロック及びクラスごとに頂点が均等に選択されるようにする。
【０１１６】
最後に、頂点選択部１３０は、フレームを撮影するカメラのレンズによる映像の歪曲を復元する過程で発生する誤差を勘案して頂点を選択し得る。頂点選択部１３０は、放射型加重値方法７４０により、各ブロックごと及び各クラスごとに均等に選択された頂点のうち、映像の中心にある頂点に大きい加重値を与え、中心から郊外にある頂点には小さい加重値を与えることで、映像の中心にある頂点が多く選択されるようにする。
【０１１７】
バケット方法７１０、候補選択方法７２０、細心な選択方法７３０、及び放射型加重値方法７４０による具体的な動作については、次の図８Ａ〜図８Ｄを参照して具体的に説明する。
【０１１８】
図８は、実施形態によりフレームから第１頂点を選択する方法を説明するための図である。
【０１１９】
図８Ａを参照すると、バケット（Ｂｕｃｋｅｔｉｎｇ）方法によって第１頂点を選択する方法が示されている。バケット方法は、フレーム８１０の各領域で第１頂点を均等に選択することで、視覚的慣性距離計（ＶＩＯ）の性能向上に役に立つ方法である。一実施形態に係る出力装置は、例えば、フレーム８１０それぞれをフレーム８２０のように一定の大きさのブロック（又は、バケット（ｂｕｃｋｅｔ））に均等に分割し得る。出力装置は、均等に分割されたブロックそれぞれから決定した数以上の第１頂点を選択する。
【０１２０】
図８Ｂを参照すると、候補選択（Ｃａｎｄｉｄａｔｅ  Ｓｅｌｅｃｔｉｏｎ）方法によって第１頂点を選択する方法が示されている。一実施形態に係る出力装置は、例えば、フレームそれぞれに含まれたピクセルの強度傾斜度の大きさ、方向、及びピクセルと周辺ピクセルとの強度関係のうち少なくとも１つに基づいて、複数のクラスに対応する候補頂点を決定する。ここで、複数のクラスは、例えば、コーナー、ブロブ、エッジなどを含む。ここで、ピクセルの強度傾斜度の大きさが大きいほど良い頂点に該当する。出力装置は、複数のクラスそれぞれに含まれた候補頂点から第１頂点を選択する。出力装置は、例えば、該当ピクセルの強度傾斜度の方向と周辺ピクセルの強度との関係を考慮して、フレーム８３０のようにコーナー、ブロブ、エッジなどの様々なクラスの候補頂点から第１頂点を選択し得る。
【０１２１】
図８Ｃを参照すると、細心な選択（Ｃａｒｅｆｕｌ  Ｓｅｌｅｃｔｉｏｎ）方法によって第１頂点を選択する方法が示されている。細心な選択方法は、上記で図８Ｂを参照して候補選択により選択された候補頂点を視覚的慣性距離計（ＶＩＯ）の性能を最適化できる方向として、さらに選別した方法である。
【０１２２】
一実施形態に係る出力装置は、第１頂点の選別時に複数のフレームを分割するブロックごと及びフレームに含まれたクラスごとに候補頂点のうち第１頂点を選択する。ここで、出力装置は、フレームの全ての領域及び全てのクラスで均等に第１頂点が選択されるよう、相対的に選択された頂点の個数の低いブロックに優先権を与える。また、出力装置は、該当ブロック内でも相対的に少なく選択されたクラスに該当する頂点を優先的に選択する。
【０１２３】
図８Ｄを参照すると、放射型加重値（Ｒａｄｉａｌ  Ｗｅｉｇｈｔｉｎｇ）方法によって第１頂点を選択する方法が示されている。一般的に、映像をレンズによるバレル歪曲（ｂａｒｒｅｌ  ｄｉｓｔｏｒｔｉｏｎ）を除去する歪曲の除去過程を経た後、視覚的慣性距離計（ＶＩＯ）で用いられる。ここで、歪曲の除去過程は、近似アルゴリズムによって実行されるため、映像の縁に行くほど誤差が大きくなる。したがって、映像の縁に行くほど相対的に少ない個数の頂点を使用することで、時間慣性距離計の性能を向上させることができる。
【０１２４】
放射型加重値方法は、前述した過程により選択された第１頂点が映像の中心から遠く位置するほど、少ない数が選択されるように調整する方法である。
【０１２５】
出力装置は、複数のフレーム８５０それぞれの中心にある頂点に第１加重値を与える。出力装置は、フレームそれぞれの中心から外郭に行くほど、次第に頂点に第１加重値に比べて少ない第２加重値を与える。例えば、第１加重値が０．８又は０．９であれば、第２加重値は０．７よりも小さい値を有する。出力装置は、第１加重値及び第２加重値に基づいて、頂点のうち第１頂点を選択する。出力装置は、第２加重値が付与された頂点と比較してさらに高い第１加重値が割り当てられた頂点をさらに多く選択し得る。
【０１２６】
図９は、他の実施形態に係るポーズ情報を取得する方法を示したフローチャートである。図９に示す動作は、図９に示された順序及び方式で実行されるが、説明された例示的な実施形態の思想及び範囲を逸脱することなく、一部動作の順序が変更されたり、一部動作が省略されてもよい。図９に示された多くの動作が並列的又は同時に実行されてもよい。図９に示す１つ以上のブロック及び前記ブロックの組合せは、特定機能を行う特殊目的のハードウェア基盤コンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。次の図９の説明に加えて、図１ないし図８Ａの説明についても図９に適用でき、参照によって結合れてもよい。したがって、前記説明はここで繰り返すことはない。
【０１２７】
図９を参照すると、一実施形態に係る出力装置は、第１センサで撮影された映像を検索する（Ｓ９１０）。例えば、カメラがモノカメラ（Ｍｏｎｏ  ｃａｍｅｒａ）である場合、出力装置は、単一ビューポイントに該当する映像を取得する。カメラがステレオカメラの場合、出力装置は、左側と右側のビューポイントに該当する映像を取得する。出力装置は、ステップＳ９１０で検索した映像から第１頂点を選択する（Ｓ９２０）。
【０１２８】
出力装置は、第２センサで検出された動き情報に基づいて、フィルタの６自由度ポーズ変化量を推定する（Ｓ９３０）。出力装置は、ステップＳ９３０で推定したポーズ変化量に基づいて第１頂点のうち、動的オブジェクトに該当する第２頂点、言い換えれば、外れ値を除去する（Ｓ９４０）。
【０１２９】
出力装置は、第１頂点のうち第２頂点を除いた第３頂点、言い換えれば、インライヤーに基づいて現在フレームの回転情報を評価して回転情報を算出する（Ｓ９５０）。出力装置は、ステップＳ９５０で算出した回転情報に基づいて、フィルタの状態を更新する（Ｓ９６０）。ここで、フィルタの状態は、現在フレームに対応する自体運動の状態に該当する。
【０１３０】
出力装置は、ステップＳ９６０で更新された状態値を用いてフィルタの回転情報を推定する（Ｓ９７０）。出力装置は、フィルタの回転情報に基づいて視覚距離計の移動情報を評価（又は、推定）する（Ｓ９８０）。出力装置は、インライヤーを対象に予め推定された回転情報を用いて、移動情報を推定する。
【０１３１】
図１０は、一実施形態係るポーズ情報を出力する装置のブロック図である。図１０を参照すると、一実施形態に係る出力装置１０００は、第１センサ１０１３及び第２センサ１０１６を含むセンサ１０１０及びプロセッサ１０３０を含む。出力装置１０００は、メモリ１０５０、通信インターフェース１０７０、及びディスプレイ１０９０をさらに含む。センサ１０１０、プロセッサ１０３０、メモリ１０５０、通信インターフェース１０７０、及びディスプレイ１０９０は、通信バス１００５を介して通信する。
【０１３２】
第１センサ１０１３は、例えば、イメージセンサ、又は、ビジョンセンサであってもよい。第１センサ１０１３は、例えば、車両の走行映像に該当する複数のフレームを撮影する。第２センサ１０１６は、動き情報を検出する。第２センサ１０１６は、例えば、加速度センサ、ジャイロセンサ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサ、ＩＭＵセンサ、レーダー（Ｒａｄａｒ）、ライダー（Ｌｉｄａｒ）などを含む。第２センサ１０１６は、例えば、ＧＰＳ座標、位置、姿勢などのような測位情報の他にも、速度、加速度、角速度、走行方向、車両のハンドルステアリング角度、及び車両の速度などの検出情報を検出する。
【０１３３】
プロセッサ１０３０は、図１〜図９を参照して前述した動作を行う。
【０１３４】
メモリ１０５０は、第１センサ１０１３で撮影された複数のフレーム及び／又は第２センサ１０１６で検出された動き情報を格納する。また、メモリ１０５０は、プロセッサ１０３０によって推定された回転情報、補正された回転情報及び移動情報を格納する。メモリ１０５０は、上述したプロセッサ１０３０での処理過程で生成される様々な情報を格納する。その他にも、メモリ１０５０は、各種のデータとプログラムなどを格納する。メモリ１０５０は、揮発性メモリ又は不揮発性メモリを含む。メモリ１０５０は、ハードディスクなどのような大容量格納媒体を備えて各種データを格納する。メモリ１０５０に対する具体的な内容は以下で説明する。
【０１３５】
出力装置１０００は、通信インターフェース１０７０を介してフレーム及び／又は動き情報を含む様々なセンサの検出情報を取得する。実施形態により、通信インターフェース１０７０は、出力装置１０００の外部に存在する他のセンサから検出情報を受信する。
【０１３６】
プロセッサ１０３０は、通信インターフェース１０７０及び／又はディスプレイ装置１０９０を介して補正された回転情報及び／又は移動情報を出力したり、又は、補正された回転情報及び／又は移動情報に基づいて仮想オブジェクトをディスプレイ装置１０９０に表示することで、拡張現実サービスを提供する。プロセッサ１０３０は、補正された回転情報及び／又は移動情報に基づいて仮想オブジェクトをディスプレイ装置１０９０上にレンダリングしてもよく、撮影されたフレームと共に表示してもよい。
【０１３７】
プロセッサ１０３０は、目的とする動作を実行させるための物理的な構造を有する回路を有するハードウェアで具現されたデータ処理装置であり得る。例えば、目的とする動作は、プログラムに含まれたコード又は命令を含む。例えば、ハードウェアで具現されたデータ処理装置は、マイクロプロセッサー、中央処理装置、プロセッサコア、マルチ・コアプロセッサ、マルチプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を含む。
【０１３８】
プロセッサ１０３０はプログラムを実行し、出力装置１０００を制御する。プロセッサ１０３０によって実行されるプログラムコードは、メモリ１０５０に格納される。プロセッサ１０３０に対する具体的な内容は以下で説明する。
【０１３９】
ディスプレイ１０９０は、プロセッサ１０３０によって決定された車両の補正された回転情報及び／又は移動情報を表示する。ディスプレイ１０９０は、補正された回転情報及び／又は車両の移動情報に基づいてディスプレイ１０９０上に仮想オブジェクトを表示する。一実施形態に係るディスプレイ１０９０は、ユーザインターフェースをレンダリングし、／又はユーザ入力を受信する能力を提供する１つ以上のハードウェア構成要素を含む物理的構造である。例えば、車両の補正された位置は、ヘッドアップディスプレイ（ＨＵＤ）装置を用いてウインドシールドガラス又は車両の個別画面に表示されたり、拡張現実ヘッドアップディスプレイ（ＡＲ  ＨＵＤ）に表示される。一例として、出力装置１０００は、車両の電子制御ユニット（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｎｔｒｏｌ  ｕｎｉｔ；ＥＣＵ）又は車両制御ユニット（ｖｅｈｉｃｌｅ  ｃｏｎｔｒｏｌ  ｕｎｉｔ；ＶＣＵ）に位置把握情報を送信する。電子制御ユニット又は車両制御ユニットは、車両のディスプレイ装置１３５０に位置把握情報を表示する。ただし、車両の補正された位置の表示は前述した例に限定されず、車両内の他の計器盤、車両インフォテインメントシステム、スクリーン又は車両のディスプレイパネルがディスプレイ機能を行うことができる。
【０１４０】
例えば、スマートフォン、及びメガネ式ディスプレイ（ｅｙｅ  ｇｌａｓｓ  ｄｉｓｐｌａｙ；ＥＧＤ）などのように出力装置１０００に動作可能に接続された他のディスプレイが、前述した例示的な実施形態の思想及び範囲を逸脱することなく使用され得る。出力装置１０００は、例えば、前述したポーズ情報を取得する方法を行う装置として、例えば、車両であってもよく、ナビゲーション、スマートフォンなどのようなユーザ装置であってもよい。
【０１４１】
出力装置１００、出力装置１０００、フィルタ１４０、ポイント選択器１３０、回転情報取得部、ＶＩＯ回転取得部１５０、移動情報取得部、ＶＩＯ移動取得部１６０、装置、ユニット、モジュール、装置及びここで説明された異なる構成要素はハードウェア構成要素によって実現され得る。
【０１４２】
実施形態に係る方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＹＩＪＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１４３】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【０１４４】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【０１４５】
１０００：出力装置
１０１０：センサ
１０１３：第１センサ
１０１６：第２センサ
１０３０：プロセッサ
１０５０：メモリ
１０７０：通信インターフェース
１０９０：ディスプレイ
【図１】
2020057358.tif 000005
【図２】
2020057358.tif 000006
【図３】
2020057358.tif 000007
【図４Ａ】
2020057358.tif 000008
【図４Ｂ】
2020057358.tif 000009
【図５Ａ】
2020057358.tif 000010
【図５Ｂ】
2020057358.tif 000011
【図６】
2020057358.tif 000012
【図７】
2020057358.tif 000013
【図８Ａ】
2020057358.tif 000014
【図８Ｂ】
2020057358.tif 000015
【図８Ｃ】
2020057358.tif 000016
【図８Ｄ】
2020057358.tif 000017
【図９】
2020057358.tif 000018
【図１０】
2020057358.tif 000019