(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023167500
(43)【公開日】2023-11-24
(54)【発明の名称】情報入力システム、情報入力方法、及び情報入力プログラム
(51)【国際特許分類】
G06F 3/0346 20130101AFI20231116BHJP
G06F 3/03 20060101ALI20231116BHJP
【FI】
G06F3/0346 425
G06F3/03 400F
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022078742
(22)【出願日】2022-05-12
(71)【出願人】
【識別番号】000108328
【氏名又は名称】ゼブラ株式会社
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100136722
【弁理士】
【氏名又は名称】▲高▼木 邦夫
(74)【代理人】
【識別番号】100224546
【弁理士】
【氏名又は名称】小松 龍
(72)【発明者】
【氏名】岩間 卓吾
(72)【発明者】
【氏名】武田 政樹
【テーマコード(参考)】
5B087
【Fターム(参考)】
5B087AA02
5B087AA07
5B087AB02
5B087AB09
5B087AD01
5B087BC03
5B087DD03
5B087DD17
(57)【要約】
【課題】高コスト化を抑制しつつ、ユーザによる入力情報を精度良く取得する。
【解決手段】一実施形態に係る情報入力システム1は、筆記具20の動作に関する観測値を動作センサ208から取得する取得部12と、観測値に基づいて、筆記具20の状態の推定値Epを推定する推定部15と、推定値Epに基づいて、筆記具20の軌跡T1を認識する認識部16と、筆記具20の軌跡T1が示す情報を、筆記具20による筆記情報D4として表示部13に出力する出力部19と、を備える。取得部12は、観測値として、互いに異なる種類の第1観測値Ma及び第2観測値Mgを取得する。推定部15は、第1観測値Ma及び第2観測値Mgを入力として、第1観測値Ma及び第2観測値Mgを説明変数とし推定値Epを目的変数とする推定モデルMを用いて、推定値Epを導出する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
入力機器の動作に関する観測値をセンサから取得する取得部と、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定する推定部と、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力する出力部と、を備え、
前記取得部は、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定部は、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力システム。
【請求項2】
前記センサは、前記入力機器の加速度の観測値を前記第1観測値として取得し、前記入力機器の角速度の観測値を前記第2観測値として取得する6軸センサである、請求項1に記載の情報入力システム。
【請求項3】
前記推定部は、
前記第1観測値を説明変数とし、前記推定値を導出するための第1暫定推定値を独立変数とする第1状態空間モデルを用いて、過去の前記第1暫定推定値に基づくフィルタ処理により、現在の前記第1暫定推定値を導出する第1暫定推定部と、
前記第2観測値を説明変数とし、前記推定値を導出するための第2暫定推定値を独立変数とする第2状態空間モデルを用いて、過去の前記第2暫定推定値に基づくフィルタ処理により、現在の前記第2暫定推定値を導出する第2暫定推定部と、
現在の前記第1暫定推定値及び前記第2暫定推定値の両方を説明変数とし、前記推定値を目的変数とする関係式を用いて、前記推定値を導出する推定値導出部と、を有する、請求項1又は2に記載の情報入力システム。
【請求項4】
前記推定値導出部は、現在の前記第1暫定推定値及び前記第2暫定推定値を加算することによって、前記推定値を導出する、請求項3に記載の情報入力システム。
【請求項5】
前記第1暫定推定部は、過去の前記第1暫定推定値と、前記第1観測値と前記第1観測値の予測値として得られる第1予測観測値との間の第1誤差と、前記第1誤差に対する現在の前記第1暫定推定値の補正率を示す第1比率とを用いて、現在の前記第1暫定推定値を導出し、
前記第2暫定推定部は、過去の前記第2暫定推定値と、前記第2観測値と前記第2観測値の予測値として得られる第2予測観測値との間の第2誤差と、前記第2誤差に対する現在の前記第2暫定推定値の補正率を示す第2比率とを用いて、現在の前記第2暫定推定値を導出する、請求項3に記載の情報入力システム。
【請求項6】
前記推定部は、
前記第1誤差及び前記第2誤差に応じて前記第1比率を調整する第1比率調整部と、
前記第2誤差及び前記第2誤差に応じて前記第2比率を調整する第2比率調整部と、を更に有する、請求項5に記載の情報入力システム。
【請求項7】
前記入力機器は、軸線方向の先端にペン先を有する筆記具である、請求項1又は2に記載の情報入力システム。
【請求項8】
前記推定部は、
前記第1観測値及び前記第2観測値を入力とする前記推定モデルを用いて、前記推定値として前記ペン先の位置の推定値を推定し、
前記第1観測値及び前記第2観測値を入力とする前記推定モデルを用いて、前記推定値として前記筆記具の姿勢の推定値を推定する、請求項7に記載の情報入力システム。
【請求項9】
プロセッサを備える情報入力システムにより実行される情報入力方法であって、
入力機器の動作に関する観測値をセンサから取得するステップと、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定するステップと、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力するステップと、を備え、
前記観測値を取得するステップでは、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定値を取得するステップでは、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力方法。
【請求項10】
入力機器の動作に関する観測値をセンサから取得するステップと、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定するステップと、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力するステップと、をコンピュータに実行させ、
前記観測値を取得するステップでは、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定値を取得するステップでは、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報入力システム、情報入力方法、及び情報入力プログラムに関する。
【背景技術】
【0002】
情報入力システムに関する技術として、例えば特許文献1~5に記載された技術が知られている。例えば特許文献1には、筆記具によって筆記された文字情報を認識する手書き文字認識装置が記載されている。この装置では、3軸方向の加速度及び角速度を検出するセンサ部(6軸センサ)が筆記具に設けられる。そして、センサ部から出力される加速度が積分器により2回積分されることによって、筆記具の位置が算出される。或いは、センサ部から出力される角速度が積分器により1回積分されることによって、筆記具の位置が算出される。算出された筆記具の位置に基づいて筆記具が描く軌跡が復元され、筆記具によって筆記された文字情報が認識される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018-067131号公報
【特許文献2】特開2021-033563号公報
【特許文献3】特表2016-530612号公報
【特許文献4】特開2013-125487号公報
【特許文献5】特開2003-114754号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した装置のように、筆記具の動作を検出するためのセンサとして、3軸方向の加速度及び角速度を検出する6軸センサが用いられる場合、これら加速度及び角速度に加えて3軸方向の磁気を検出する9軸センサが用いられる場合と比べて、文字情報を取得するための情報量が少ないため、文字情報の精度が低下しやすい。一方で、9軸センサは、6軸センサと比べて高価であるため、高コスト化を招き得る。
【0005】
本開示は、高コスト化を抑制しつつ、ユーザによる入力情報を精度良く取得できる情報入力システム、情報入力方法、及び情報入力プログラムを提供する。
【課題を解決するための手段】
【0006】
本開示の一形態に係る情報入力システムは、入力機器の動作に関する観測値をセンサから取得する取得部と、観測値に基づいて、現在の入力機器の状態の推定値を推定する推定部と、推定値の軌跡が示す情報を、入力機器による入力情報として表示装置に出力する出力部と、を備え、取得部は、観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、推定部は、第1観測値及び第2観測値を入力として、第1観測値及び第2観測値を説明変数とし推定値を目的変数とする推定モデルを用いて、推定値を導出する。
【0007】
本開示の一形態に係る情報入力方法は、プロセッサを備える情報入力システムにより実行される情報入力方法であって、入力機器の動作に関する観測値をセンサから取得するステップと、観測値に基づいて、現在の入力機器の状態の推定値を推定するステップと、推定値の軌跡が示す情報を、入力機器による入力情報として表示装置に出力するステップと、を備え、観測値を取得するステップでは、観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、推定値を取得するステップでは、第1観測値及び第2観測値を入力として、第1観測値及び第2観測値を説明変数とし推定値を目的変数とする推定モデルを用いて、推定値を導出する。
【0008】
本開示の一形態に係る情報入力プログラムは、入力機器の動作に関する観測値をセンサから取得するステップと、観測値に基づいて、現在の入力機器の状態の推定値を推定するステップと、推定値の軌跡が示す情報を、入力機器による入力情報として表示装置に出力するステップと、をコンピュータに実行させ、観測値を取得するステップでは、観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、推定値を取得するステップでは、第1観測値及び第2観測値を入力として、第1観測値及び第2観測値を説明変数とし推定値を目的変数とする推定モデルを用いて、推定値を導出する。
【0009】
上記の形態では、入力機器の動作に関する観測値として、互いに異なる種類の第1観測値及び第2観測値がセンサから取得される。そして、これら第1観測値及び第2観測値を入力として、第1観測値及び第2観測値を説明変数とし現在の筆記具の状態の推定値を目的変数とする推定モデルを用いて、推定値が導出される。このように第1観測値及び第2観測値の両方を説明変数として推定値を導出することによって、第1観測値が推定値の精度に及ぼす影響と、第2観測値が推定値の精度に及ぼす影響とを加味しながら、推定値に生じ得る誤差が小さくなるように推定値を導出することが可能となる。つまり、2種類の観測値に基づいて得られる情報を相互に参照しながら、推定値を精度良く導出することが可能となる。その結果、推定値に基づいて、ユーザによる入力情報を精度良く取得することができる。従って、上記の形態によれば、2種類の観測値を出力する6軸センサを用いた場合であっても、入力機器による入力情報を精度良く取得することが可能となる。更に、3種類の観測値を出力する9軸センサよりも安価な6軸センサを用いることで、高コスト化を抑えることが可能となる。
【0010】
センサは、入力機器の加速度の観測値を第1観測値として取得し、入力機器の角速度の観測値を第2観測値として取得する6軸センサであってもよい。この場合、高コスト化を抑えつつ入力情報を精度良く取得できるとの効果を好適に奏することができる。
【0011】
推定部は、第1観測値を説明変数とし、推定値を導出するための第1暫定推定値を独立変数とする第1状態空間モデルを用いて、過去の第1暫定推定値に基づくフィルタ処理により、現在の第1暫定推定値を導出する第1暫定推定部と、第2観測値を説明変数とし、推定値を導出するための第2暫定推定値を独立変数とする第2状態空間モデルを用いて、過去の第2暫定推定値に基づくフィルタ処理により、現在の第2暫定推定値を導出する第2暫定推定部と、現在の第1暫定推定値及び第2暫定推定値を説明変数とし、推定値を目的変数とする関係式を用いて、推定値を導出する推定値導出部と、を有してもよい。この場合、第1暫定推定部と第2暫定推定部と推定値導出部とによって、上述した推定モデルを簡易に構築できる。
【0012】
推定値導出部は、現在の第1暫定推定値及び第2暫定推定値を加算することによって、推定値を導出してもよい。この場合、第1暫定推定値及び記第2暫定推定値を加算する簡易な計算処理によって推定値を容易に導出できる。
【0013】
第1暫定推定部は、過去の第1暫定推定値と、第1観測値と第1観測値の予測値として得られる第1予測観測値との間の第1誤差と、第1誤差に対する現在の第1暫定推定値の補正率を示す第1比率とを用いて、現在の第1暫定推定値を導出し、第2暫定推定部は、過去の第2暫定推定値と、第2観測値と第2観測値の予測値として得られる第2予測観測値との間の第2誤差と、第2誤差に対する現在の第2暫定推定値の補正率を示す第2比率とを用いて、現在の第2暫定推定値を導出してもよい。この場合、第1状態空間モデルを用いた第1暫定推定値の導出と、第2状態空間モデルを用いた第2暫定推定値の導出とを好適に実現できる。
【0014】
推定部は、第1誤差及び第2誤差に応じて第1比率を調整する第1比率調整部と、第2誤差及び第2誤差に応じて第2比率を調整する第2比率調整部と、を更に有してもよい。この場合、第1観測値に基づいて得られる第1誤差と、第2観測値に基づいて得られる第2誤差とを相互に参照しながら、第1暫定推定値に生じ得る誤差が小さくなるように第1比率を設定できる。同様に、第1観測値に基づいて得られる第1誤差と、第2観測値に基づいて得られる第2誤差とを相互に参照しながら、第2暫定推定値に生じ得る誤差が小さくなるように第2比率を設定できる。その結果、第1比率に基づく第1暫定推定値と、第2比率に基づく第2暫定推定値とを精度良く導出でき、これら第1暫定推定値及び第2暫定推定値を用いて推定値を精度良く導出できる。
【0015】
入力機器は、軸線方向の先端にペン先を有する筆記具であってもよい。この場合、筆記具による筆記情報を入力情報として精度良く取得できる。
【0016】
推定部は、第1観測値及び第2観測値を入力とする推定モデルを用いて、推定値としてペン先の位置の推定値を推定し、第1観測値及び第2観測値を入力とする推定モデルを用いて、推定値として筆記具の姿勢の推定値を推定してもよい。この場合、同一の推定モデルを用いて2種類の推定値を導出できるので、推定値を導出する推定処理が複雑化する事態を抑制できる。
【発明の効果】
【0017】
本開示の一形態によれば、高コスト化を抑制しつつ、ユーザによる入力情報を精度良く取得できる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、一実施形態に係る情報入力システムの適用の一例を示す図である。
【
図2】
図2は、情報入力システムに関連するハードウェア構成の一例を示す図である。
【
図3】
図3は、情報入力システムが備える筆記具の構成の一例を示す断面図である。
【
図4】
図4は、情報入力システムに関連する機能構成の一例を示す図である。
【
図5】
図5は、設定部が設定する仮想面の一例を示す図である。
【
図6】
図6は、推定部の構成の一例を示す図である。
【
図7】
図7は、
図6の推定部の構成の一部をより詳細に示す図である。
【
図8】
図8は、認識部の構成の一例を示す図である。
【
図9】
図9は、仮想面に描画点が設定される様子を示す図である。
【
図10】
図10(a)及び
図10(b)は、キャリブレーション処理のイメージの一例を示す図である。
【
図11】
図11(a)及び
図11(b)は、キャリブレーション処理のイメージの一例を示す図である。
【
図13】
図13は、筆記情報が抽出されるイメージの一例を示す図である。
【
図14】
図14(a)は、現在筆跡情報の一例を示す図である。
図14(b)は、過去筆跡情報の一例を示す図である。
【
図15】
図15は、情報入力システムにおいて実施される情報入力方法の処理内容の一例を示すフローチャートである。
【
図16】
図16は、推定処理の一例を示すフローチャートである。
【
図17】
図17は、認識処理の一例を示すフローチャートである。
【
図18】
図18は、補正処理の一例を示すフローチャートである。
【
図19】
図19は、鑑定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、添付図面を参照しながら本開示の実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を適宜省略する。
【0020】
[情報入力システムの構成]
図1は、本実施形態に係る情報入力システム1の適用の一例を示す図である。情報入力システム1は、ユーザUによる筆記動作に関する筆記情報D4(入力情報)を電子機器の表示画面に入力するためのシステムである。情報入力システム1は、例えば、端末10と、筆記具20(入力機器)と、データベース30とを備える。筆記具20とは、文字、記号及びイラストなどの筆記に使用される道具である。筆記具20は、例えば、ボールペン、万年筆、マーカー及びシャープペンシルといった、インク又は黒鉛を用いて筆記できるペンであってもよいし、スタイラスペンといったポインティングデバイスであってもよい。ユーザUは、筆記具20を用いて筆記を行う筆記者としてよい。
【0021】
筆記具20は、近距離無線通信により端末10と接続されている。近距離無線通信は、例えば、Bluetooth(登録商標)又はWi-Fi(登録商標)などの通信方式としてよい。筆記具20と端末10との間の通信方式は限定されない。本実施形態においては、1つの筆記具20が端末10と通信を行う場合を例示するが、筆記具20の個数は限定されない。例えば、2つ以上の筆記具20が1つの端末10と通信を行ってもよい。
【0022】
端末10は、筆記者によって用いられるコンピュータである。端末10は、例えば高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、ヘッドマウントディスプレイ(HMD)、スマートグラス、或いはスマートウォッチ)、ラップトップ型パーソナルコンピュータ、又は携帯電話機などの携帯端末としてよい。端末10は、デスクトップ型パーソナルコンピュータなどの据置型端末としてもよい。端末10は、通信ネットワークを介してデータベース30と接続されている。通信ネットワークは、例えば、インターネットを含んで構成されてもよいし、イントラネットを含んで構成されてもよい。
【0023】
データベース30は、情報入力システム1によって用いられる各種のデータを記憶する非一時的な記憶装置である。本実施形態では、データベース30は、閾値情報D11と過去筆跡情報D12とを記録する。データベース30は、例えば、複数のユーザUについて閾値情報D11及び過去筆跡情報D12を記憶してもよい。データベース30は、単一のデータベースとして構築されてもよいし、複数のデータベースの集合であってもよい。
【0024】
図2は、情報入力システム1に関連するハードウェア構成の一例を示す図である。
図2は、端末10として機能する端末コンピュータ100を示す。端末コンピュータ100は、ハードウェア構成要素として、例えば、プロセッサ101と、主記憶部102と、補助記憶部103と、通信部104と、入力インタフェース105と、出力インタフェース106とを備える。プロセッサ101は、オペレーティングシステム及びアプリケーションプログラムを実行する演算装置である。プロセッサ101は、例えばCPU又はGPUであり得るが、プロセッサ101の種類はこれらに限定されない。
【0025】
主記憶部102は、端末10を実現させるためのプログラム、及びプロセッサ101から出力された演算結果などを記憶する装置である。主記憶部102は、例えばROM及びRAMのうちの少なくとも一つにより構成される。補助記憶部103は、一般に主記憶部102よりも大量のデータを記憶することが可能な装置である。補助記憶部103は、例えばハードディスク又はフラッシュメモリなどの不揮発性記憶媒体によって構成される。補助記憶部103は、端末コンピュータ100を端末10として機能させるためのクライアントプログラムP1と、各種のデータとを記憶する。通信部104は、通信ネットワークを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部104は、例えばネットワークカード又は無線通信モジュールにより構成される。
【0026】
入力インタフェース105は、ユーザUの操作又は動作に基づいてデータを受け付ける装置である。例えば、入力インタフェース105は、キーボード、操作ボタン、ポインティングデバイス、マイクロフォン、センサ、及びカメラのうちの少なくとも1つによって構成される。キーボード及び操作ボタンは、タッチパネル上に表示されてもよい。入力インタフェース105に入力されるデータは限定されない。例えば、入力インタフェース105は、キーボード、操作ボタン、又はポインティングデバイスによって、入力又は選択されたデータを受け付けてもよい。或いは、入力インタフェース105は、マイクロフォンにより入力された音声データを受け付けてもよい。或いは、入力インタフェース105は、カメラによって撮影された画像データ(例えば、映像データ又は静止画データ)を受け付けてもよい。
【0027】
出力インタフェース106は、端末コンピュータ100で処理されたデータを出力する装置である。例えば、出力インタフェース106は、モニタ、タッチパネル、HMD及びスピーカのうちの少なくとも1つによって構成される。モニタ、タッチパネル、HMDなどの表示装置は、処理されたデータを画面上に表示する。スピーカは、処理された音声データで示される音声を出力する。
【0028】
端末10の各機能要素は、情報入力システム1の一例であるクライアントプログラムP1をプロセッサ101又は主記憶部102に読み込ませて、プロセッサ101にそのプログラムを実行させることで実現される。クライアントプログラムP1は、端末10の各機能要素を実現するためのコードを含む。プロセッサ101は、クライアントプログラムP1に従って通信部104、入力インタフェース105または出力インタフェース106を動作させ、主記憶部102又は補助記憶部103におけるデータの読み出し及び書き込みを行う。この処理により端末10の各機能要素が実現される。
【0029】
クライアントプログラムP1は、CD-ROM、DVD-ROM、又は半導体メモリなどの有形の記録媒体に非一時的に記録された上で提供されてもよい。或いは、クライアントプログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
【0030】
図3は、筆記具20の構成の一例を示す模式図である。
図3は、筆記具20を軸線方向Lに沿う面において切断した際の断面を示している。本実施形態では、筆記具20がボールペンである場合を例示する。
図3に示すように、筆記具20は、例えば、筒部201と、リフィル203と、基板206と、圧力センサ207と、動作センサ208(センサ)とを備える。
【0031】
筒部201は、筆記具20の軸線方向Lに沿って延びる略円筒状の部材である。筒部201は、軸線方向Lの先端に開口202を有する。リフィル203は、その内部にインクが充填された円筒状の部材である。リフィル203は、筒部201の内径よりも小さい外径を有し、筒部201の内部に収容されている。リフィル203が筒部201に収容された状態において、リフィル203の先端(以下、「ペン先204」と称する)は、筒部201の開口202から露出する。基板206は、筒部201の内部において、リフィル203の基端205(すなわち、軸線方向Lにおいてペン先204とは反対側の端部)の後方に収容されている。筆記者が筒部201を把持し、ペン先204を媒体に押し当てることにより、リフィル203の内部のインクがペン先204からにじみ出る。従って、筆記者は、媒体にペン先204を押し当てた状態で筆記具20を動かすことで、筆記を行うことができる。
【0032】
圧力センサ207は、例えば、筒部201の内部においてリフィル203の基端205と基板206との間に設けられている。圧力センサ207は、筆記具20による筆記の際にペン先204が媒体から受ける圧力を筆圧として検出する。但し、空中での筆記動作が行われる場合には、筆記具20に筆圧が発生しないため、圧力センサ207は筆圧を検出しない。本実施形態では、空中で筆記動作が行われる状況を想定し、圧力センサ207が筆圧を検出する処理については説明を省略する。
【0033】
動作センサ208は、例えば、筒部201の内部の基板206に設けられている。動作センサ208は、筆記具20の動作を検出する。例えば、動作センサ208は、互いに直交する3軸方向の加速度を検出する加速度センサと、当該3軸方向の角速度を検出するジャイロセンサとを含む6軸センサである。この場合、動作センサ208は、筆記具20による筆記の際に、3軸方向の加速度の観測値(第1観測値)と3軸方向の角速度の観測値(第2観測値)とを検出する。
【0034】
筆記具20は、機能的構成として、通信部21及び取得部22を含む。取得部22は、筆記動作に伴い動作センサ208が検出した加速度及び角速度の観測値を、連続的又は所定頻度で断続的に取得する。通信部21は、取得部22が取得した加速度及び角速度の観測値を端末10に送信する。通信部21は、前述の通り、例えば、Bluetooth(登録商標)等の近距離無線通信により、端末10と通信可能である。通信部21及び取得部22は、簡易なコンピュータ装置として、筆記具20に組み込まれていてもよい。
【0035】
図4は、情報入力システム1に関連する機能構成の一例を示す図である。端末10は、機能要素として、通信部11と、取得部12と、表示部13(表示装置)と、設定部14と、推定部15と、認識部16と、調整部17と、鑑定部18と、出力部19とを有する。通信部11は、筆記具20の通信部21から送信される情報を受信する。筆記具20の通信部21から送信される情報には、例えば、筆記具20の取得部22が取得した加速度及び角速度の観測値が含まれる。取得部12は、通信部11が受信した加速度及び角速度の観測値を取得する。
【0036】
表示部13は、例えば、実空間(ワールド座標系)に対応付けられた仮想物体を表示する。表示部13は、例えば、ユーザUに装着されるHMDを含む情報処理端末などによって実現されてもよいし、タブレット端末及びプロジェクションマッピングなどによって実現されてもよい。表示部13は、例えば、ユーザUの目線と同様の撮像方向などで撮像し、撮像した画像に仮想空間を重畳して表示する。ユーザUは、表示部13を通して、実空間に配置された実体物の配置に応じた、現実にはない仮想物体を見ることができる。
【0037】
表示部13は、3次元座標である仮想空間を用いて仮想物体を表示する。表示部13は、仮想空間上の予め設定された位置に仮想物体を配置し、仮想空間と実空間との対応関係を算出する。以下の説明では、仮想空間における座標系を仮想座標系αという。表示部13は、実空間での撮像位置及び撮像方向に対応する仮想空間での位置及び方向から見た画像を、仮想物体の表示とする。つまり、表示部13は、仮想的なユーザUの視線から仮想物体を見た画像を表示する。上記の仮想物体の表示は、従来のMR技術を用いて実施することができる。
【0038】
設定部14は、仮想空間に仮想面Sを設定する。仮想面Sは、ユーザUによる筆記具20の筆記動作を認識するための仮想的な筆記面である。設定部14は、仮想空間の任意の位置に仮想面Sを設定する。設定部14が設定した仮想面Sは、表示部13によって仮想空間に表示される。
図5は、仮想面Sの一例を示す図である。
図5に示すように、仮想面Sは、例えば、仮想座標系αにおける任意の位置に設定される2次元の仮想平面である。以下、仮想面Sを規定する座標系をスクリーン座標系βという。
【0039】
仮想面Sは、
図5に示す例に限られず、例えば、3次元的に変化する仮想曲面であってもよい。この場合、仮想空間に表示される任意の3次元仮想物体の表面に仮想面Sを設定できる。仮想面Sの種類は、例えば、ユーザUからの入力を受け付けることによって決定される。従って、設定部14は、ユーザUからの入力を受け付けたときに、当該入力に対応する仮想面Sを仮想空間に設定する。設定部14は、ユーザUの入力に応じて仮想面Sを設定しなくてもよく、例えば、仮想空間の一定の位置に予め仮想面Sを設定してもよい。また、仮想面Sは、仮想空間に固定される必要はなく、仮想空間において移動するように設定されてもよい。
【0040】
図6は、推定部15の構成の一例を示す図である。推定部15は、仮想空間における筆記具20の状態の推定値を推定する。仮想空間における筆記具20の状態とは、仮想空間に配置される筆記具20の位置及び姿勢を意味する。従って、筆記具20の状態の推定値は、筆記具20の位置の推定値であってもよいし、筆記具20の姿勢の推定値であってもよい。筆記具20の位置の推定値は、例えば、ペン先204(
図5参照)の位置の推定値である。ペン先204の位置の推定値は、ペン先204の位置を示す仮想座標系αの座標値によって表される。筆記具20の姿勢の推定値とは、例えば、筆記具20の移動に伴って変化する軸線方向Lの角度の推定値である。筆記具20の角度の推定値は、例えば、仮想座標系αにおいて筆記具20の軸線方向Lの初期角度を基準としたときの、現在の筆記具20の軸線方向Lの角度としてよい。
【0041】
以下では、加速度の観測値を「第1観測値Ma」と称し、角速度の観測値を「第2観測値Mg」と称し、筆記具20の位置の推定値を「推定値Ep」と称し、筆記具20の姿勢の推定値を「推定値Es」と称する。なお、推定値Ep,Esを区別して説明しない場合には、推定値Ep,Esをまとめて推定値Eと称することがある。
【0042】
本実施形態では、推定部15は、2つの第1観測値Ma及び第2観測値Mgの両方を入力とする推定モデルMを用いて、推定値Eを推定する。推定モデルMは、第1観測値Ma及び第2観測値Mgの両方を説明変数とし推定値Eを目的変数とする計算モデルである。目的変数とは、推定モデルMによって求めたい値を示す変数である。目的変数は、ある数理モデルにおける従属変数であり、説明変数は、当該数理モデルにおける独立変数である。目的変数は、説明変数に応じて決定される。従って、推定モデルMにおいて、推定値Eは、第1観測値Ma及び第2観測値Mgの両方に依存して変化する。つまり、推定モデルMでは、推定値Eは、第1観測値Maに応じて変化し且つ第2観測値Mgに応じて変化する変数として設定される。
【0043】
推定モデルMは、推定値Eと、第1観測値Ma及び第2観測値Mgとを関係付ける1又は複数の関係式を含んで構築される。推定モデルMは、複数の関係式を含む場合、第1観測値Maから得られる値、及び第2観測値Mgから得られる値の両方を説明変数とし、推定値Eを目的変数とする関係式を少なくとも含んでいればよい。つまり、推定モデルMは、推定値Eと第1観測値Maと推定値Eとを直接的又は間接的に関係付ける関係式を少なくとも1つ含んでいればよい。
【0044】
第1観測値Ma及び第2観測値Mgの両方を推定モデルMに入力するとは、第1観測値Ma及び第2観測値Mgを同時に推定モデルMに入力することを意味する。ここでの同時とは、推定モデルMにおいて1つの推定処理が行われるタイミングと同じタイミングであることを意味する。1つの推定処理が行われるタイミングとは、推定値Eの推定に必要な少なくとも1つの入力値が入力されてから1つの推定値Eが出力されるまでの期間である。この期間のいずれかのタイミングで推定モデルMに第1観測値Ma及び第2観測値Mgが入力されたときに、第1観測値Ma及び第2観測値Mgが推定モデルMに同時に入力されたとみなしてよい。
【0045】
推定部15は、推定モデルMを用いて推定値Ep,Esを順次推定する。つまり、推定部15は、推定部15は、2つの第1観測値Ma及び第2観測値Mgの両方を入力とする推定モデルMを用いて、推定値Ep,Esの一方を推定した後、当該推定モデルMを用いて、推定値Ep,Esの他方を推定する。なお、推定部15は、推定値Ep,Esについてそれぞれ別の推定モデルMを有してもよく、この場合には、それぞれの推定モデルMを用いて推定値Ep,Esを同時に(すなわち、同じタイミングで)推定してもよい。
【0046】
推定部15は、推定値Epの推定処理を行うために、推定値Epを導出する前処理として第1暫定推定値Eap´及び第2暫定推定値Egp´を導出する。第1暫定推定値Eap´は、第1観測値Maを入力としてカルマンフィルタ理論に基づく演算(フィルタ処理)を行うことにより得られる任意の関数である。第2暫定推定値Egp´は、第2観測値Mgを入力としてカルマンフィルタ理論に基づく演算を行うことにより得られる任意の関数である。推定部15は、これら第1暫定推定値Eap´及び第2暫定推定値Egp´を用いて計算された結果が推定値Epとなるように、第1暫定推定値Eap´及び第2暫定推定値Egp´を導出する。
【0047】
同様に、推定部15は、推定値Esの推定処理を行うために、推定値Esを導出する前処理として第1暫定推定値Eas´及び第2暫定推定値Egs´を導出する。第1暫定推定値Eas´は、第1観測値Maを入力としてカルマンフィルタ理論に基づく演算を行うことにより得られる任意の関数である。第2暫定推定値Egs´は、第2観測値Mgを入力としてカルマンフィルタ理論に基づく演算を行うことにより得られる任意の関数である。推定部15は、これら第1暫定推定値Eas´及び第2暫定推定値Egs´を用いて計算された結果が推定値Esとなるように、第1暫定推定値Eas´及び第2暫定推定値Egs´を導出する。本実施形態では、推定値Epの推定処理を代表して説明するが、推定値Esの推定処理も、推定値Epの推定処理と同様に推定される。
【0048】
図6に示すように、推定部15は、これら推定値Ep,Esの推定処理を行うために、例えば、第1暫定推定部151と、第2暫定推定部152と、推定値導出部153と、比率設定部154とを有する。第1暫定推定部151は、第1観測値Maを入力として、カルマンフィルタ理論に基づく演算を行うことにより、第1暫定推定値Eap´を推定する。第1暫定推定部151は、第1観測値Maを説明変数とし第1暫定推定値Eap´を目的変数とする第1状態空間モデルを用いて、第1暫定推定値Eap´を導出する。
【0049】
第1状態空間モデルは、例えば、以下の式(1)及び式(2)を含んで構築される。式(1)において、Eap´
k-1は、前回の処理(k-1)で得られた暫定推定値である。Ma´
k-1は、前回の処理(k-1)で得られた第1観測値Ma
k-1の予測値である。Gaは、第1観測値Ma
k-1及び第1予測観測値Ma´
k-1のどちらを重要視するかを表すカルマンゲインと称される比率である。Eap´
kは、今回の処理(k)で得られる暫定推定値である。
【数1】
【数2】
【0050】
まず、第1暫定推定部151は、前回の処理(k-1)で得られた第1暫定推定値Eap´k-1に基づいて第1予測観測値Ma´k-1を予測する。そして、第1暫定推定部151は、第1観測値Mak-1と第1予測観測値Ma´k-1との第1誤差(Mak-1-Ma´k-1)を算出する。第1暫定推定部151は、第1予測観測値Ma´k-1と、第1誤差(Mak-1-Ma´k-1)と、前回の処理(k-1)で得られた第1暫定推定値Eap´k-1とを用いて、今回の処理(k)における第1暫定推定値Eap´kを推定する。第1暫定推定部151は、第1暫定推定値Eap´kの推定処理を繰り返す実行する。なお、繰返し実行される推定処理のうちの任意のk回目の処理を「処理(k)」と表している(kは自然数)。
【0051】
第2暫定推定部152は、第2観測値Mgを入力として、カルマンフィルタ理論に基づく演算を行うことにより、第2暫定推定値Egp´を推定する。第2暫定推定部152は、第2観測値Mgを説明変数とし第2暫定推定値Egp´を目的変数とする第2状態空間モデルを用いて、第2暫定推定値Egp´を導出する。第2状態空間モデルは、例えば、以下の式(3)及び式(4)を含んで構築される。式(3)において、Egp´
k-1は、前回の処理(k-1)で得られた暫定推定値である。Mg´
k-1は、前回の処理(k-1)で得られた第2観測値Mg
k-1の予測値である。Ggは、第2観測値Mg
k-1及び第2予測観測値Mg´
k-1のどちらを重要視するかを表すカルマンゲインと称される比率である。Egp´
kは、今回の処理(k)で得られる暫定推定値である。
【数3】
【数4】
【0052】
第2暫定推定部152は、前回の処理(k-1)で得られた第2暫定推定値Egp´k-1を用いて第2予測観測値Mg´k-1を予測する。そして、第2暫定推定部152は、第2観測値Mgk-1と第2予測観測値Mg´k-1との第2誤差(Mgk-1-Mg´k-1)を算出する。第2暫定推定部152は、第2予測観測値Mg´k-1と、第2誤差(Mgk-1-Mg´k-1)と、前回の処理(k-1)で得られた第2暫定推定値Egp´k-1とを用いて、今回の処理(k)における第2暫定推定値Egp´kを推定する。第2暫定推定部152は、上記の推定処理を繰り返し実行する。以上の処理によって、今回の処理(k)における第1暫定推定値Eap´k及び第2暫定推定値Egp´kが導出される。
【0053】
推定値導出部153は、第1暫定推定値Eap´
k及び第2暫定推定値Egp´
kを用いて今回の処理(k)における推定値Ep
kを推定する。推定値導出部153は、第1暫定推定値Eap´
k及び第2暫定推定値Egp´
kを説明変数とし推定値Ep
kを目的変数とする関係式を用いて、推定値Ep
kを導出する。このような関係式として、例えば、次の式(5)が用いられる。
【数5】
【0054】
式(5)では、第1暫定推定値Eap´kと第2暫定推定値Egp´kとが加算されることによって推定値Epkを導出される。この場合、第1暫定推定値Eap´kと第2暫定推定値Egp´kとを加算した結果が推定値Epkと等しくなるように、第1暫定推定値Eap´k及び第2暫定推定値Egp´kがそれぞれ設定される。なお、推定値Epkの導出方法は、式(5)に示す加算による方法に限られず、最終的に推定値Epkを導出できる方法であれば、第1暫定推定値Eap´kと第2暫定推定値Egp´kとを加算する以外の方法を採用してもよい。
【0055】
図7は、比率設定部154の構成の一例を示す図である。比率設定部154は、式(1)における第1比率Gaと、式(3)における第2比率Ggとを設定する。
図7に示すように、比率設定部154は、例えば、誤差取得部155と、第1比率調整部156と、第2比率調整部157と、を有する。誤差取得部155は、動作センサ208から第1観測値Ma
k-1及び第2観測値Mg
k-1を取得する。また、誤差取得部155は、第1暫定推定部151から第1予測観測値Ma´
k-1を取得し、第2暫定推定部152から第2予測観測値Mg´
k-1を取得する。そして、誤差取得部155は、第1観測値Ma
k-1と第1予測観測値Ma´
k-1との第1誤差(Ma
k-1-Ma´
k-1)と、第2観測値Mg
k-1と第2予測観測値Mg´
k-1との第2誤差(Mg
k-1-Mg´
k-1)とを取得する。以下では、簡単のため、第1誤差(Ma
k-1-Ma´
k-1)を第1誤差Daに置き換え、第2誤差(Mg
k-1-Mg´
k-1)を第2誤差Dgに置き換えて説明する。
【0056】
第1比率調整部156は、第1誤差Da及び第2誤差Dgに応じて、第1比率Gaを調整する。具体的には、第1比率調整部156は、次の式(6)を用いて第1比率Gaを調整する。第1比率Gaは、第1誤差Daに対する第1暫定推定値Eap´
kの補正率を示す。式(6)は、第1誤差Daと第2誤差Dgと第1比率Gaとを関係付ける関係式である。式(6)において、f1,f2は、第1誤差Da及び第2誤差Dgに基づいて第1比率Gaを導出するために任意に定義される関数である。Saは、第1誤差Daを正規化するための係数である。Sgは、第2誤差Dgを正規化するための係数である。
【数6】
【0057】
第1比率調整部156は、第1比率Gaを独立変数とし、第1誤差Da及び第2誤差Dgを従属変数とする式(6)を用いて、第1比率Gaを調整する。これにより、第1比率調整部156は、第1誤差Daと第2誤差Dgとを相互に参照しながら、第1比率Gaを決定することができる。第1比率調整部156は、例えば、第1誤差Daと第2誤差Dgとの合計が大きい場合に第1比率Gaが大きくなるように、且つ第1誤差Daと第2誤差Dgとの合計が小さい場合に第1比率Gaが小さくなるように、第1比率Gaをゼロから1の範囲内で調整する。第1比率調整部156は、例えば、第1誤差Da及び第2誤差Dgの合計が、想定される範囲の最大値となる場合に、第1比率Gaを1に設定してよい。
【0058】
第2比率調整部157は、第1誤差Da及び第2誤差Dgに応じて、第2比率Ggを調整する。具体的には、第2比率調整部157は、次の式(7)を用いて第2比率Ggを調整する。第2比率Ggは、第2誤差Dgに対する第2暫定推定値Egp´
kの補正率を示す。式(7)は、第1誤差Daと第2誤差Dgと第2比率Ggとを関係付ける関係式である。式(7)において、f3,f4は、第1誤差Da及び第2誤差Dgに基づいて第2比率Ggを導出するために任意に定義される関数である。Saは、第1誤差Daを正規化するための係数である。Sgは、第2誤差Dgを正規化するための係数である。
【数7】
【0059】
第2比率調整部157は、第2比率Ggを独立変数とし、第1誤差Da及び第2誤差Dgを従属変数とする式(7)を用いて、第2比率Ggを調整する。これにより、第2比率調整部157は、第1誤差Daと第2誤差Dgとを相互に参照しながら、第2比率Ggを決定することができる。第2比率調整部157は、例えば、第1誤差Daと第2誤差Dgとの合計が大きい場合に第2比率Ggが大きくなるように、且つ第1誤差Daと第2誤差Dgとの合計が小さい場合に第2比率Ggが小さくなるように、第2比率Ggをゼロから1の範囲内で調整する。第2比率調整部157は、例えば、第1誤差Da及び第2誤差Dgの合計が、想定される範囲の最大値となる場合に、第2比率Ggを1に設定してよい。
【0060】
以上のように、推定部15は、式(1)~式(5)を用いて、カルマンフィルタ理論に基づくフィルタリングを行うことにより、推定値Epを推定する。式(1)~式(5)は、第1観測値Maと第2観測値Mgと推定値Epとを関係付ける関係式であり、前述した推定モデルMを構築する。式(5)は、第1観測値Maから得られる第1暫定推定値Eap´及び第2観測値Mgから得られる第2暫定推定値Egp´を、推定値Epに関連付ける関係式である。推定部15は、このような式(1)~式(5)を用いることにより、2つの第1観測値Maから得られる情報と第2観測値Mgから得られる情報とを合成(マージ)させて1つの推定値Epを得ることができる。
【0061】
推定部15は、第1観測値Ma及び第2観測値Mgを合成させることで、第1観測値Maに基づいて得られる第1誤差Daと、第2観測値Mgに基づいて得られる第2誤差Dgとの2つの誤差情報を加味して、第1比率Ga及び第2比率Ggをそれぞれ精度良く調整することができる。その結果、推定部15は、第1比率Ga及び第2比率Ggに基づいて推定値Epを精度良く導出できる。
【0062】
なお、第1誤差Da及び第2誤差Dgには、動作センサ208の特性に依存して非線形性が生じている場合、或いは、温度変化等に依存して時間変化が生じている場合が考えられる。このような場合には、推定部15は、人工知能(AI)技術を用いて、第1誤差Da及び第2誤差Dgに生じる時間変化或いは非線形性を認識してもよい。このとき、たとえば、CNN(Convolutional Neural Network)を用いた機械学習が行われてもよいし、TCN(Temporal Covolutional Network)を用いた機械学習が行われてもよい。この場合、推定部15は、第1誤差Da及び第2誤差Dgに生じる時間変化或いは非線形性を考慮して、第1比率Ga及び第2比率Ggを調整してもよい。
【0063】
推定部15は、上述した推定処理と同様の処理を行うことにより、推定値Esを推定する。すなわち、推定部15は、上述した式(1)~式(5)において、第1暫定推定値Eap´及び第2暫定推定値Egp´を第1暫定推定値Eas´及び第2暫定推定値Egs´に置き替え、推定値Epを推定値Esに置き換えることで、上述した式(1)~式(5)と同様の推定処理によって推定値Esを推定する。
【0064】
図8は、認識部16の構成の一例を示す図である。認識部16は、推定部15が推定した推定値Ep,Esに基づく筆記具20の軌跡を認識する。
図8に示すように、認識部16は、例えば、仮想線設定部161と、描画点設定部162と、筆記情報取得部163とを有する。仮想線設定部161は、仮想空間に仮想線VL(仮想レイ)を設定する。
図9は、仮想線VLにより仮想面Sに描画点Pが設定される様子を示す図である。仮想線VLは、仮想面Sにおける描画点Pを設定するために仮想的に設定される直線である。
図9に示すように、仮想線VLは、筆記具20のペン先204から仮想面Sに向かって直線状に延びている。
【0065】
描画点Pは、仮想面Sに対する筆記具20の筆記動作を認識するために仮想面S上に設定される座標点である。推定値Epは、仮想座標系αにおけるペン先204の位置の座標値を示し、推定値Esは、仮想座標系αにおける筆記具20の姿勢(すなわち、軸線方向Lの角度)を示す。そこで、仮想線設定部161は、推定値Ep,Esを用いて、ペン先204の位置を通り且つ筆記具20の軸線方向Lに沿った直線を仮想線VLとして設定する。なお、推定値Epが示すペン先204の位置とは、正確には、仮想座標系αにおけるペン先204の位置を示す座標点(入力点)を意味する。
【0066】
仮想座標系αにおける筆記具20の姿勢は、筆記具20の軸線方向Lに沿った方向ベクトルVによって表すことができる。仮想座標系αにおけるスクリーン座標系βの原点の座標値を(x1、y1、z1)とし、仮想座標系αにおけるペン先204の位置の座標値を(x2、y2、z2)とし、方向ベクトルVを(Vx、Vy、Vz)とすると、仮想線VLは、座標値(x2、y2、z2)を通る方向ベクトル(Vx、Vy、Vz)に沿った直線として表される。
【0067】
具体的には、仮想線VLは、任意の実数(媒介変数)をtとして、次の式(8)によって表される。仮想線設定部161は、推定値Epと推定値Esと式(8)とを用いて、ペン先204の位置を通り且つ筆記具20の軸線方向Lに沿った仮想線VLを設定する。仮想線VLは、ペン先204からペン先204が向く方向に直線状に延び、仮想面Sと交差する。仮想線設定部161は、仮想線VLを示す仮想線情報D1を描画点設定部162に提供する。
【数8】
【0068】
描画点設定部162は、仮想線情報D1が示す仮想線VLと、仮想空間に設定される仮想面Sとの交点を、描画点Pとして設定する。仮想座標系αにおいて仮想面Sの法線ベクトルを(Nx、Ny、Nz)とすると、仮想面Sを示す平面方程式は、次の式(9)によって表される。そこで、描画点設定部162は、仮想線VLを示す式(8)を、仮想面Sを示す式(9)に代入することによって、仮想線VLと仮想面Sとの交点を求める。具体的には、式(8)を式(9)に代入すると、式(10)が得られる。式(10)をtについて解くと、式(11)が得られる。そして、式(11)を式(8)に代入することにより、仮想面Sと仮想線VLとの交点を求めることができる。
【数9】
【数10】
【数11】
【0069】
描画点設定部162は、仮想面Sと仮想線VLとの交点を描画点Pとして設定する。描画点設定部162は、例えば、描画点Pの位置を、スクリーン座標系βにおける座標値として設定する。描画点設定部162は、描画点Pの位置の座標値を含む座標情報D2を調整部17及び筆記情報取得部163に提供する。座標情報D2には、描画点Pの位置の座標値のほか、ペン先204の位置の座標値も含まれる。
【0070】
再び
図8を参照する。調整部17は、座標情報D2を参照して、仮想座標系αにおける仮想面Sと筆記具20との位置を調整する必要があるか否かを判定する。調整部17は、まず、仮想面Sの許容範囲内に描画点Pが位置しているか否かを判定する。許容範囲とは、例えば、仮想面Sの外縁よりも内側の範囲としてよい。この場合、調整部17は、仮想面S内に描画点Pが収まっているか否かを判定する。調整部17は、描画点Pが許容範囲内に位置していないと判定した場合、仮想面Sと筆記具20との位置を調整する必要があると判定し、筆記具20に対する仮想面Sの位置を基準位置に戻すキャリブレーション処理を実行する。一方、調整部17は、描画点Pが許容範囲内に位置していると判定した場合、仮想面Sと筆記具20との位置を調整する必要がないと判定し、キャリブレーション処理を実行しない。
【0071】
図10(a)、
図10(b)、
図11(a)、及び
図11(b)は、調整部17によるキャリブレーション処理のイメージの一例を示す図である。
図10(a)に示す状態では、筆記具20のペン先204が仮想面Sに向いており、描画点Pが仮想面S内に位置している。この状態から
図10(b)に示す状態に変化すると、ペン先204の向きが仮想面Sから逸れるため、仮想面Sに描画点Pが設定されない。このような場合に、調整部17は、仮想面S内に描画点Pが設定されるように、筆記具20に対する仮想面Sの位置を基準位置に戻すキャリブレーション処理を実行する。
【0072】
筆記具20に対する仮想面Sの位置が基準位置にある状態とは、例えば、ペン先204の向く先が仮想面Sの中心Scを向くように仮想面Sと筆記具20とが配置される状態としてよい。ペン先204の向く先が仮想面Sの中心Scを向く状態とは、ペン先204から延びる仮想線VLが仮想面Sの中心Scと交差する状態(すなわち、仮想線VLと仮想面Sとの交点が中心Scに位置する状態)である。ペン先204の向く先が仮想面Sの中心Scを向く状態であれば、筆記具20の軸線方向Lは、例えば仮想面Sの法線方向に対して傾いていてもよいし、仮想面Sの法線方向に沿っていてもよい。仮想面Sと筆記具20とが基準位置にある状態は、ペン先204の向く先が仮想面Sの中心Scを向いている状態に限らず、ペン先204の向く先が仮想面Sにおける中心Scからずれた位置を向いている状態であってもよい。つまり、ペン先204から延びる仮想線VLが仮想面Sと交差する状態であれば、仮想線VLと仮想面Sとの交点が仮想面Sの中心Scからずれていてもよい。
【0073】
調整部17は、キャリブレーション処理を実行する際、仮想面Sと筆記具20との位置が基準位置となるように、仮想座標系αにおいて仮想面S及び筆記具20の少なくとも一方を移動させる。このとき、調整部17は、仮想座標系αにおいて筆記具20を移動させずに仮想面Sのみを移動させてもよいし、仮想面Sを移動させずに筆記具20のみを移動させてもよいし、仮想面S及び筆記具20の両方を移動させてもよい。
【0074】
図11(a)及び
図11(b)に示す例では、調整部17は、仮想座標系αにおいて筆記具20に対して仮想面Sのみを回転させている。このとき、仮想面Sの回転に伴い、仮想座標系αにおいて仮想面Sを規定するスクリーン座標系βの位置も回転する。その結果、仮想面S及びスクリーン座標系βは、
図11(b)に示す位置に移動する。
図11(b)に示す状態では、ペン先204の向く先が仮想面Sの中心Scを向くように筆記具20と仮想面Sとの位置が調整されているので、ペン先204から延びる仮想線VLが仮想面Sの中心Scと交差する。これにより、仮想座標系αにおける仮想面Sと筆記具20との位置を基準位置に戻すキャリブレーション処理が完了する。
【0075】
図12は、筆記情報取得部163の構成の一例を示す図である。
図12に示すように、筆記情報取得部163は、例えば、軌跡情報取得部164と筆記情報抽出部165とを有する。軌跡情報取得部164は、例えば、座標列記録部166と距離計算部167とを含む。座標列記録部166は、描画点設定部162から座標情報D2を受け取ると、描画点Pの座標値を時系列で記録すると共に、ペン先204の座標値を時系列で記録する。座標列記録部166は、描画点Pの座標値とペン先204の座標値とを時系列で関連付けて記録する。座標列記録部166は、描画点Pの座標値を時系列で記録した描画点軌跡情報D31と、ペン先204の座標値を時系列で記録したペン先軌跡情報D32と、を距離計算部167及び筆記情報抽出部165に提供する。描画点軌跡情報D31は、仮想面Sにおける描画点Pの座標値の2次元的な軌跡を示す情報である。ペン先軌跡情報D32は、仮想空間におけるペン先204の座標値の3次元的な軌跡を示す情報である。
【0076】
距離計算部167は、描画点軌跡情報D31及びペン先軌跡情報D32を用いて、描画点Pとペン先204との距離を計算する。具体的には、距離計算部167は、描画点軌跡情報D31及びペン先軌跡情報D32から、或る時刻における描画点Pの座標値と、当該時刻におけるペン先204の座標値(すなわち、描画点Pの座標値に関連付けられたペン先204の座標値)との間の距離を計算する。距離計算部167は、計算した距離を時系列で記録し、描画点Pの座標値及びペン先204の座標値に時系列で関連付ける。距離計算部167は、描画点Pの座標値とペン先204の座標値との距離を示す距離情報D33を筆記情報抽出部165に提供する。結果として、軌跡情報取得部164は、描画点軌跡情報D31、ペン先軌跡情報D32、及び距離情報D33を含む情報を、筆記具20の軌跡を示す軌跡情報D3として筆記情報抽出部165に提供する。以下、ペン先204の座標値を単に「ペン先204」と称し、描画点Pの座標値を単に「描画点P」と称する。
【0077】
筆記情報抽出部165は、距離情報D33を参照しながら、描画点軌跡情報D31から、ユーザUが仮想面Sでの筆記を意図した描画点Pの軌跡を示す筆記情報D4を抽出する。筆記情報D4が示す描画点Pの軌跡は、例えば、筆記具20を用いて仮想面Sに筆記された文字を表す。従って、筆記情報D4は、例えば、ユーザUによって筆記された文字情報としてよい。描画点軌跡情報D31が示す描画点Pの軌跡は、一筆書きのようにつながった状態になっている。そのため、例えば筆記情報D4が文字情報を含むような場合には、描画点軌跡情報D31から、ユーザUが仮想面Sに対して筆記することを意図した描画点Pの軌跡と、ユーザUが仮想面Sに対して筆記することを意図しない描画点Pの軌跡とを判別することによって、仮想面Sにおいて筆記された文字を正確に抽出する必要がある。
【0078】
ユーザUが仮想面Sに対して筆記することを意図した描画点Pの軌跡とは、例えば、筆記情報D4が文字情報を含む場合に、文字ストロークの切れ目を除く描画点Pの座標値の軌跡としてよい。文字ストロークとは、仮想面Sに対して文字を構成する線を描画する動作をいい、文字ストロークの切れ目とは、文字を構成する任意の線と次の線との間の箇所をいう。ユーザUは、仮想面Sに対して筆記することを意図しない場合(すなわち、ユーザUが文字ストロークの切れ目に対応する動作を行う場合)、仮想面Sに対して筆記することを意図する場合(すなわち、ユーザUが文字ストロークの動作を行う場合)と比べて、仮想面Sから筆記具20から離す動作を行う。
【0079】
その結果、ユーザUが仮想面Sに対する筆記を意図しないで筆記具20を動作させる場合には、ユーザUが仮想面Sに対する筆記を意図して筆記具20を動作させる場合よりも、仮想面Sと筆記具20との距離が大きくなる。そこで、筆記情報抽出部165は、仮想面Sと筆記具20との距離の変化を参照して、描画点軌跡情報D31から、ユーザUが仮想面Sに対して筆記することを意図した描画点Pの軌跡を筆記情報D4として抽出する。具体的には、筆記情報抽出部165は、描画点Pとペン先204との距離の変化が、予め設定された閾値未満であるか否かを判定する。そして、筆記情報抽出部165は、描画点Pとペン先204との距離の変化が閾値未満であると判定した場合、当該距離の変化に関連付けられた描画点Pの軌跡を、ユーザUが仮想面Sでの筆記を意図した筆記情報D4として抽出する。
【0080】
一方、筆記情報抽出部165は、描画点Pとペン先204との距離の変化が閾値未満でないと判定した場合、当該距離の変化に関連付けられた描画点Pの軌跡を、ユーザUが仮想面Sでの筆記を意図した筆記情報D4でないと判断する。上記の「閾値」は、データベース30に記憶された閾値情報から得ることができる。上記の閾値は、例えば、情報入力システム1、情報入力システム1の提供者、又はユーザUにより予め設定されてよい。上記の閾値は、例えば、同一のユーザUの描画点Pとペン先204との距離の変化を示す過去の統計値に基づいて設定されてもよいし、ユーザUにより任意に設定されてもよい。人工知能(AI)技術を使って、同一のユーザUの描画点Pとペン先204との距離の変化の閾値が事前に設定されてもよい。
【0081】
図13は、筆記情報D4が抽出されるイメージの一例を示す図である。
図13に示すように、ユーザUは、文字を構成する線を筆記してから次の線を筆記する動作を行う際、仮想面Sと筆記具20とのSz軸方向の距離が大きくなる。
図13において、軌跡T1,T2は、筆記時のペン先204が仮想面Sにあると仮定したときのペン先204の軌跡を示している。実線で示した軌跡T1は、ユーザUが仮想面Sでの筆記を意図したペン先204の軌跡を示している。一方、破線で示した軌跡T2は、ユーザUが仮想面Sでの筆記を意図しない、空中でのペン先204の軌跡を示している。
【0082】
図13に示すように、ユーザUが仮想面Sでの筆記を意図する動作(すなわち、軌跡T1に対応する動作)を行う場合における描画点Pとペン先204との距離と比べて、ユーザUが仮想面Sでの筆記を意図しない動作(すなわち、軌跡T2に対応する動作)を行う場合における描画点Pとペン先204との距離の方が大きくなる。そこで、筆記情報抽出部165は、描画点Pとペン先204との距離の変化Δdが予め設定された閾値未満であるか否かを判定することによって、描画点軌跡情報D31から、軌跡T1が示す描画点Pの座標値を筆記情報D4として抽出する。
【0083】
筆記情報抽出部165は、描画点Pとペン先204との距離の変化Δdに基づいて筆記情報D4を抽出しなくてもよく、例えば、例えば、ペン先204の移動速度の変化に基づいて筆記情報D4を抽出してもよい。或いは、筆記情報抽出部165は、描画点Pとペン先204との距離の変化Δd、及びペン先204の移動速度の変化の両方に基づいて、筆記情報D4を抽出してもよい。
【0084】
筆記情報抽出部165は、抽出した筆記情報D4を出力部19に提供する。出力部19は、筆記情報D4を表示部13に出力する。表示部13は、仮想空間に配置された仮想面Sに筆記情報D4をリアルタイムに表示する。これにより、ユーザUは、仮想面Sに表示された筆記情報D4を見ることができる。出力部19は、表示部13に限らず、他の表示装置に筆記情報D4を出力してもよい。例えば、出力部19は、パーソナルコンピュータ、クラウドサーバ、又はスマートデバイス(スマートフォン或いはタブレット端末)などの表示画面に筆記情報D4を出力してもよい。
【0085】
再び
図12を参照する。鑑定部18は、ユーザUによる筆記動作が終了すると、軌跡情報取得部164に記録された軌跡情報D3を受け取り、筆記情報D4の鑑定を行う。鑑定部18は、ユーザUが筆記を終了したことを知らせる信号を受信したときに、ユーザUによる筆記動作が終了したと判断してもよいし、筆記動作が停止してから所定時間経過したタイミングで筆記動作が終了したと判断してもよい。鑑定部18は、例えば、非筆記情報抽出部181と、比較部182とを有する。非筆記情報抽出部181は、ペン先軌跡情報D32から、ユーザUが仮想面Sでの筆記を意図しないペン先204の軌跡を非筆記情報D5として抽出する。非筆記情報D5の抽出は、筆記情報D4を抽出する方法と同様に行うことができる。
【0086】
つまり、非筆記情報抽出部181は、描画点Pとペン先204との距離の変化Δdが、予め設定された閾値未満でないと判定した場合、当該距離の変化に関連付けられたペン先204の軌跡を、ユーザUが仮想面Sでの筆記を意図しない非筆記情報D5として抽出する。非筆記情報D5は、ペン先軌跡情報D32のうち、筆記情報D4を除く描画点軌跡情報D31に対応する情報である。一方、非筆記情報抽出部181は、描画点Pとペン先204との距離の変化Δdが閾値未満でないと判定した場合、当該距離の変化に関連付けられたペン先204の軌跡を、ユーザUが仮想面Sでの筆記を意図しない非筆記情報D5でないと判断する。
【0087】
比較部182は、非筆記情報抽出部181から非筆記情報D5を受け取り、筆記情報D4及び非筆記情報D5を含む情報を、現在のユーザUの筆跡を示す現在筆跡情報D45(後述する
図14(a)参照)として取得する。比較部182は、軌跡情報D3から筆記情報D4を抽出してもよいし、筆記情報抽出部165から筆記情報D4を受け取ってもよい。更に、比較部182は、データベース30から過去筆跡情報D12を取得する。過去筆跡情報D12は、過去のユーザUの筆跡を示す情報であり、現在筆跡情報D45に対応する。比較部182は、現在筆跡情報D45と過去筆跡情報D12とを比較する。具体的には、比較部182は、現在筆跡情報D45と過去筆跡情報D12との一致度を計算する。
【0088】
上記の「一致度」とは、現在筆跡情報D45と過去筆跡情報D12とがどれくらい類似しているかを示す指数である。現在筆跡情報D45が示す各座標値と、過去筆跡情報D12が示す各座標値とが似通っていれば、一致度は高くなり、そうでなければ一致度は低くなる。比較部182は、例えば、現在筆跡情報D45が示す各座標値と、過去筆跡情報D12が示す各座標値とを時系列でそれぞれ比較し、時系列ごとの座標値のずれの程度を一致度として算出してもよい。この場合、比較部182は、時系列ごとの座標値のずれの程度の統計値(例えば、平均値又は中央値)を一致度として算出してもよい。
【0089】
比較部182は、算出した一致度が予め設定された閾値以上であるか否かを判定する。比較部182は、一致度が閾値以上であると判定した場合、現在筆跡情報D45と過去筆跡情報D12とが同一であると判断し、現在筆跡情報D45を提供したユーザUと、過去筆跡情報D12を提供したユーザUとが同一人物であると判断する。一方、比較部182は、一致度が閾値以上でないと判定した場合、現在筆跡情報D45と過去筆跡情報D12とが同一でないと判断し、現在筆跡情報D45を提供したユーザUと、過去筆跡情報D12を提供したユーザUとが異なる人物であると判断する。
【0090】
上記の「閾値」は、データベース30に記憶された閾値情報D11から得ることができる。上記の閾値は、例えば、情報入力システム1、情報入力システム1の提供者、又はユーザUにより予め設定されてよい。上記の閾値は、例えば、現在筆跡情報D45と過去筆跡情報D12との一致度を示す過去の統計値に基づいて設定されてもよいし、ユーザUにより任意に設定されてもよい。人工知能(AI)技術を使って、現在筆跡情報D45と過去筆跡情報D12との一致度の閾値が事前に設定されてもよい。
【0091】
図14(a)は、現在筆跡情報D45のイメージの一例を示す図である。
図14(a)は、過去筆跡情報D12のイメージの一例を示す図である。
図14(a)及び
図14(b)に示す例では、現在筆跡情報D45の筆記情報D4は、過去筆跡情報D12のうち筆記情報D4に対応する過去筆記情報D14に類似している。しかし、現在筆跡情報D45の非筆記情報D5は、過去筆跡情報D12のうち非筆記情報D5に対応する過去非筆記情報D15とは大きく異なっている。この場合、比較部182は、過去筆記情報D14及び非筆記情報D5を含めた現在筆跡情報D45と、筆記情報D4及び過去非筆記情報D15を含めた過去筆跡情報D12とを全体的に比較する。
【0092】
その結果、比較部182は、現在筆跡情報D45と過去筆跡情報D12との一致度が閾値以上でないと判定し、現在筆跡情報D45と過去筆跡情報D12とが同一でないと判断し、現在筆跡情報D45を提供したユーザUと、過去筆跡情報D12を提供したユーザUとが異なる人物であると判断する。このように、比較部182は、単に筆記情報D4と過去筆記情報D14との比較のみを行うのではなく、ユーザUが筆記を意図しない非筆記情報D5と過去非筆記情報D15との比較を含めて、筆記情報D4の鑑定を行う。そのため、本実施形態では、
図14(a)及び
図14(b)に示すように、筆記情報D4と過去筆記情報D14とが類似している場合であっても、非筆記情報D5と過去非筆記情報D15との違いによって、ユーザUが本人でない(すなわち、ユーザUがなりすましである)と判断することができる。
【0093】
比較部182は、過去筆跡情報D12から過去筆記情報D14及び過去非筆記情報D15を抽出し、筆記情報D4と過去筆記情報D14との一致度、及び非筆記情報D5と過去非筆記情報D15との一致度をそれぞれ算出してもよい。この場合、比較部182は、それぞれの一致度が閾値以上であるか否かを判定してもよい。また、比較部182は、現在筆跡情報D45と過去筆跡情報D12とを比較する際に、ペン先204の動きの速度を比較してもよい。比較部182は、現在筆跡情報D45と過去筆跡情報D12との一致度が閾値以上であるか否かを判定することにより、筆記情報D4を提供したユーザUが本人であるか否かを鑑定する。そして、比較部182は、筆記情報D4を提供したユーザUが本人であるか否かを示す鑑定結果D6を出力部19に出力する。出力部19は、鑑定結果D6を表示部13に出力して表示部13に出力してもよいし、鑑定結果D6をスピーカなどの報知部に出力してもよい。
【0094】
[情報入力システムの動作]
続いて、本実施形態に係る情報入力システム1の動作について説明する。
図15は、情報入力システム1において実施される情報入力方法の処理内容の一例を示すフローチャートである。
【0095】
まず、
図15を参照して、情報入力システム1による処理の全体像を説明する。情報入力システム1による処理は、動作センサ208から第1観測値Ma及び第2観測値Mgを取得する観測処理(ステップS1)と、推定値Ep,Esを推定する推定処理(ステップS2)と、筆記具20の軌跡を認識する認識処理(ステップS3)と、筆記情報D4を出力する出力処理(ステップS4)と、に大別される。ステップS1~ステップS4は、例えば、所定の間隔を空けて繰り返し実行される。
【0096】
ステップS1では、筆記具20の動作に応じて、筆記具20の動作センサ208が加速度の第1観測値Ma及び角速度の第2観測値Mgを取得する。次に、端末10の取得部12が、動作センサ208からこれら第1観測値Ma及び第2観測値Mgを取得する。ステップS2では、推定部15が、第1観測値Ma及び第2観測値Mgに基づいて、筆記具20の位置の推定値Epと筆記具20の姿勢の推定値Epとをそれぞれ推定する。ステップS3では、認識部16が、推定値Ep,Esに基づいて仮想面Sに対する描画点Pを設定する。次に、認識部16は、描画点Pが示す軌跡に基づいて仮想面Sにおける筆記情報D4を取得する。ステップS4では、出力部19が、筆記情報D4を表示部13に出力する。以上のステップS1~ステップS4が繰り返されることにより、ユーザUは、筆記具20により筆記した筆記情報D4を、表示部13を介してリアルタイムで視認できる。
【0097】
図16は、推定部15が行う推定処理の一例を示すフローチャートである。推定部15は、
図16に示すフローに従って推定値Ep,Esを順次導出する。推定部15は、推定値Epを導出した後に推定値Esを導出してもよいし、推定値Esを導出した後に推定値Epを導出してもよい。ここでは、推定値Epを導出した後に推定値Esを導出する例について説明する。
【0098】
取得部12が第1観測値Ma及び第2観測値Mgを取得すると、誤差取得部155は、第1暫定推定部151から第1予測観測値Ma´k-1を取得し、第2暫定推定部152から第2予測観測値Mg´k-1を導取得する(ステップS21)。次に、誤差取得部155は、第1観測値Mak-1と第1予測観測値Ma´k-1との第1誤差Daを取得し、第2予測観測値Mg´k-1と第2観測値Mgk-1との第2誤差Dgを取得する(ステップS22)。
【0099】
次に、第1比率調整部156は、第1誤差Da及び第2誤差Dgを用いて第1比率Gaを設定する(ステップS23)。また、第2比率調整部157は、第1誤差Da及び第2誤差Dgを用いて第2比率Ggを設定する(ステップS24)。このとき、第1比率調整部156は、例えば、第1誤差Daと第2誤差Dgとの合計が大きい場合に第1比率Gaが大きくなるように、且つ第1誤差Daと第2誤差Dgとの合計が小さい場合に第1比率Gaが小さくなるように、第1比率Gaをゼロから1の範囲内で調整する。同様に、第2比率調整部157は、例えば、第1誤差Daと第2誤差Dgとの合計が大きい場合に第2比率Ggが大きくなるように、且つ第1誤差Daと第2誤差Dgとの合計が小さい場合に第2比率Ggが小さくなるように、第2比率Ggをゼロから1の範囲内で調整する。
【0100】
次に、第1暫定推定部151は、第1予測観測値Ma´k-1と、第1誤差Daと、第1比率Gaと、前回の処理(k-1)で得られた第1暫定推定値Eap´k-1とを用いて、カルマンフィルタ理論に基づくフィルタリングを行うことにより、今回の処理(k)における第1暫定推定値Eap´kを推定する(ステップS25)。また、第2暫定推定部152は、第2予測観測値Mg´k-1と、第2誤差Dgと、第2比率Ggと、前回の処理(k-1)で得られた第2暫定推定値Egp´k-1とを用いて、カルマンフィルタ理論に基づくフィルタリングを行うことにより、今回の処理(k)における第2暫定推定値Egp´kを推定する(ステップS26)。
【0101】
次に、推定値導出部153は、第1暫定推定値Eap´k及び第2暫定推定値Egp´kを用いて今回の処理(k)における推定値Epkを導出する(ステップS27)。推定値導出部153は、例えば、第1暫定推定値Eap´kと第2暫定推定値Egp´kとを加算することによって推定値Epkを導出する。以上の過程を経て推定値Epkが得られる。次に、推定部15は、推定値Esについても同様に、ステップS21~ステップS27を実行することにより、推定値Eskを導出する。以上のステップS21~ステップS27が繰り返されることにより、推定値Ep,Esが順次推定される。
【0102】
図17は、認識部16が行う認識処理の一例を示すフローチャートである。推定部15が推定値Ep,Esを推定すると、仮想線設定部161は、ペン先204の位置を通り且つ筆記具20の軸線方向Lに沿った直線を仮想線VLとして設定する(ステップS31)。仮想線VLは、ペン先204からペン先204が向く方向に直線状に延び、仮想面Sと交差する。次に、描画点設定部162は、仮想線VLと仮想面Sとの交点を算出する(ステップS32)。次に、描画点設定部162は、仮想線VLと仮想面Sとの交点を描画点Pとして設定する。描画点Pの位置は、例えば、スクリーン座標系βにおける座標値として設定される。
【0103】
次に、軌跡情報取得部164は、筆記具20の軌跡を示す軌跡情報D3を取得する(ステップS34)。軌跡情報D3は、描画点Pの座標値を時系列で記録した描画点軌跡情報D31と、ペン先204の座標値を時系列で記録したペン先軌跡情報D32と、描画点Pの座標値とペン先204の座標値との距離を示す距離情報D33とを含む。次に、筆記情報抽出部165は、距離情報D33を参照しながら、描画点軌跡情報D31から、ユーザUが仮想面Sでの筆記を意図した描画点Pの軌跡を示す筆記情報D4を抽出する(ステップS35)。筆記情報抽出部165は、例えば、距離情報D33が示す描画点Pとペン先204との距離の変化が、予め設定された閾値未満であるか否かを判定する。そして、筆記情報抽出部165は、描画点Pとペン先204との距離の変化が閾値未満であると判定した場合、当該距離の変化に関連付けられた描画点Pの軌跡を筆記情報D4として抽出する。
【0104】
図18は、調整部17が行う調整処理の一例を示すフローチャートである。描画点設定部162が描画点Pを設定すると(
図17のステップ33)、調整部17は、仮想面S内に描画点Pが位置しているか否かを判定する(ステップS51)。調整部17は、仮想面S内に描画点Pが位置していないと判定した場合(ステップS51:No)、仮想面Sと筆記具20との位置を調整する必要があると判定し、仮想座標系αにおける仮想面Sと筆記具20との位置を基準位置に戻すキャリブレーション処理を実行する(ステップS52)。調整部17は、キャリブレーション処理を実行した後、再びステップS51に戻る。一方、調整部17は、仮想面S内に描画点Pが位置していると判定した場合(ステップS51:Yes)、仮想面Sと筆記具20との位置を調整する必要がないと判定し、キャリブレーション処理を実行せずに再びステップS51に戻る。以上のステップS51,S52は、描画点Pが設定される度に繰り返し実行される。
【0105】
図19は、鑑定部18が行う鑑定処理の一例を示すフローチャートである。まず、鑑定部18は、ユーザUによる筆記動作が終了したか否かを判定する(ステップS61)。鑑定部18は、ユーザUによる筆記動作が終了していないと判定した場合(ステップS61:No)、ユーザUによる筆記動作が終了したと判定するまでステップS61を繰り返す。一方、鑑定部18は、ユーザUによる筆記動作が終了したと判定した場合(ステップS61:Yes)、軌跡情報D3から非筆記情報D5を抽出する。具体的には、非筆記情報抽出部181が、描画点Pとペン先204との距離の変化Δdに基づいて、ユーザUが仮想面Sでの筆記を意図しないペン先204の軌跡を非筆記情報D5として抽出する(ステップS62)。
【0106】
次に、比較部182は、筆記情報D4及び非筆記情報D5を含む情報を、現在のユーザUの筆跡を示す現在筆跡情報D45として取得し、現在筆跡情報D45と過去筆跡情報D12との一致度を計算する(ステップS63)。次に、比較部182は、現在筆跡情報D45と過去筆跡情報D12との一致度に基づいて筆記情報D4を鑑定する(ステップS64)。具体的には、比較部182は、一致度が予め設定された閾値以上であるか否かを判定する。比較部182は、一致度が閾値以上であると判定した場合、現在筆跡情報D45を提供したユーザUと過去筆跡情報D12を提供したユーザUとが同一人物であると判断する。つまり、比較部182は、筆記情報D4を提供したユーザUが本人であると判断する。一方、比較部182は、一致度が閾値以上でないと判定した場合、現在筆跡情報D45を提供したユーザUと過去筆跡情報D12を提供したユーザUとが異なる人物であると判断する。つまり、比較部182は、筆記情報D4を提供したユーザUがなりすましであると判断する。
【0107】
[作用効果]
以上に説明した、本実施形態に係る情報入力システム1、情報入力方法、及び情報入力プログラムが奏する作用効果について説明する。本実施形態では、筆記具20の動作に関する観測値として、互いに異なる種類の第1観測値Ma及び第2観測値Mgが動作センサ208から取得される。そして、これら第1観測値Ma及び第2観測値Mgを入力として、第1観測値Maと第2観測値Mgと筆記具20の状態の推定値Epとを関係付ける推定モデルMを用いて、推定値Epが導出される。このように第1観測値Ma及び第2観測値Mgの両方を説明変数として推定値Epを導出することによって、第1観測値Maが推定値Epの精度に及ぼす影響と、第2観測値Mgが推定値Epの精度に及ぼす影響とを加味しながら、推定値Epに生じ得る誤差が小さくなるように推定値Epを導出することが可能となる。つまり、2種類の観測値Ma,Mgに基づいて得られる情報を相互に参照しながら、推定値Epを精度良く導出することが可能となる。その結果、推定値Epに基づいて筆記情報D4を精度良く取得することができる。従って、上記の形態によれば、2種類の観測値Ma,Mgを出力する6軸センサを用いた場合であっても、筆記情報D4を精度良く取得することが可能となる。更に、3種類の観測値を出力する9軸センサよりも安価な6軸センサを用いることで、高コスト化を抑えることが可能となる。
【0108】
本実施形態のように、動作センサ208は、筆記具20の加速度の観測値を第1観測値Maとして取得し、筆記具20の角速度の観測値を第2観測値Mgとして取得する6軸センサであってもよい。この場合、高コスト化を抑えつつ筆記情報D4を精度良く取得できるとの効果を好適に奏することができる。
【0109】
本実施形態のように、推定部15は、第1観測値Maを入力として現在の第1暫定推定値Eap´を導出する第1暫定推定部151と、第2観測値Mgを入力として現在の第2暫定推定値Egp´を導出する第2暫定推定部152と、第1暫定推定値Eap´及び第2暫定推定値Egp´を入力として推定値Epを導出する推定値導出部153と、を有してもよい。この場合、第1暫定推定部151と第2暫定推定部152と推定値導出部153とによって、上述した推定モデルMを簡易に構築できる。
【0110】
本実施形態のように、推定値導出部153は、現在の第1暫定推定値Eap´及び第2暫定推定値Egp´を加算することによって、推定値Epを導出してもよい。この場合、第1暫定推定値Eap´及び第2暫定推定値Egp´を加算する簡易な計算処理によって推定値Epを容易に導出できる。
【0111】
本実施形態のように、第1暫定推定部151は、過去の第1暫定推定値Eap´と第1誤差Daと第1比率Gaとを用いて、現在の第1暫定推定値Eap´を導出してもよい。第2暫定推定部152は、過去の第2暫定推定値Egp´と第2誤差Dgと第2比率Ggとを用いて、現在の第2暫定推定値Egp´を導出してもよい。この場合、第1暫定推定値Eap´の導出と第2暫定推定値Egp´の導出とを好適に実現できる。
【0112】
本実施形態のように、推定部15は、第1誤差Da及び第2誤差Dgに応じて第1比率Gaを調整する第1比率調整部156と、第2誤差Dg及び第2誤差Dgに応じて第2比率Ggを調整する第2比率調整部157と、を有してもよい。この場合、第1観測値Maに基づいて得られる第1誤差Daと、第2観測値Mgに基づいて得られる第2誤差Dgとを相互に参照しながら、第1暫定推定値Eap´に生じ得る誤差が小さくなるように第1比率Gaを設定できる。同様に、第1観測値Maに基づいて得られる第1誤差Daと、第2観測値Mgに基づいて得られる第2誤差Dgとを相互に参照しながら、第2暫定推定値Egp´に生じ得る誤差が小さくなるように第2比率Ggを設定できる。その結果、第1比率Gaに基づく第1暫定推定値Eap´と、第2比率Ggに基づく第2暫定推定値Egp´とを精度良く導出でき、これら第1暫定推定値Eap´及び第2暫定推定値Egp´を用いて推定値Epを精度良く導出できる。
【0113】
本実施形態のように、軸線方向Lの先端にペン先204を有する筆記具20が用いられてもよい。この場合、筆記具20による筆記情報D4を精度良く取得できる。
【0114】
本実施形態のように、推定部15は、第1観測値Ma及び第2観測値Mgを入力とする推定モデルMを用いて、ペン先204の位置の推定値Epを推定し、第1観測値Ma及び第2観測値Mgを入力とする推定モデルMを用いて、筆記具20の姿勢の推定値Esを推定してもよい。この場合、同一の推定モデルMを用いて2種類の推定値Ep,Esを導出できるので、推定値Ep,Esを導出する推定処理が複雑化する事態を抑制できる。
【0115】
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上述した実施形態に限定されない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【0116】
上述した実施形態では、端末10が、機能要素として、通信部11と、取得部12と、表示部13と、設定部14と、推定部15と、調整部17と、認識部16と、鑑定部18と、出力部19とを有する場合を例示した。しかし、これらの機能要素の少なくともいずれか1つが筆記具20に実装されてもよい。これらの機能要素の全てが筆記具20に実装される場合には、情報入力システム1は、端末10を用いることなく、筆記情報D4の取得を行うことができる。情報入力システム1は、端末10とは別にサーバを備えてもよい。この場合、端末10が備える上記の各機能要素のうち少なくともいずれか1つがサーバに実装されてもよい。上述した実施形態では、端末10又はデータベース30が閾値情報D11及び過去筆跡情報D12などの各種情報を記憶する場合を例示した。しかし、筆記具20が記憶装置を備える場合には、当該記憶装置が各種情報を記憶してもよい。
憶してもよい。
【0117】
上述した実施形態では、動作センサ208が、加速度センサ及びジャイロセンサを有する場合を例示した。しかし、動作センサ208は、加速度センサ又はジャイロセンサに代えて、互いに直交する3軸方向の磁場を検出する磁場センサを有してもよいし、加速度センサ及びジャイロセンサに加えて磁場センサを有してもよい。また、上述した実施形態では、入力機器として筆記具20が用いられる場合を例示したが、ユーザUによる入力動作を検出可能な機器であれば、筆記具20以外の機器であってもよい。
【0118】
情報入力システム1において実行される処理手順は、上述した実施形態で示した例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【0119】
入力機器としての筆記具20の利用目的および利用場面は限定されない。筆記具20は、筆記を伴う学習の場面において利用されてもよいし、学習の場面以外の場面において利用されてもよい。筆記を伴う学習は、学校、自宅、又はそれ以外の場所において行われる学習であってもよい。筆記具20は、イラスト又は図表の作成の場面において利用されてもよい。入力情報システムは、上述した場面に限られず、筆記具20を例とする入力機器を利用する種々の場面に適用可能である。
【0120】
以下、本発明の要旨を示す。
[1] 入力機器の動作に関する観測値をセンサから取得する取得部と、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定する推定部と、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力する出力部と、を備え、
前記取得部は、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定部は、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力システム。
[2] 前記センサは、前記入力機器の加速度の観測値を前記第1観測値として取得し、前記入力機器の角速度の観測値を前記第2観測値として取得する6軸センサである、[1]に記載の情報入力システム。
[3] 前記推定部は、
前記第1観測値を説明変数とし、前記推定値を導出するための第1暫定推定値を独立変数とする第1状態空間モデルを用いて、過去の前記第1暫定推定値に基づくフィルタ処理により、現在の前記第1暫定推定値を導出する第1暫定推定部と、
前記第2観測値を説明変数とし、前記推定値を導出するための第2暫定推定値を独立変数とする第2状態空間モデルを用いて、過去の前記第2暫定推定値に基づくフィルタ処理により、現在の前記第2暫定推定値を導出する第2暫定推定部と、
現在の前記第1暫定推定値及び前記第2暫定推定値の両方を説明変数とし、前記推定値を目的変数とする関係式を用いて、前記推定値を導出する推定値導出部と、を有する、[1]又は[2]に記載の情報入力システム。
[4] 前記推定値導出部は、現在の前記第1暫定推定値及び前記第2暫定推定値を加算することによって、前記推定値を導出する、[3]に記載の情報入力システム。
[5] 前記第1暫定推定部は、過去の前記第1暫定推定値と、前記第1観測値と前記第1観測値の予測値として得られる第1予測観測値との間の第1誤差と、前記第1誤差に対する現在の前記第1暫定推定値の補正率を示す第1比率とを用いて、現在の前記第1暫定推定値を導出し、
前記第2暫定推定部は、過去の前記第2暫定推定値と、前記第2観測値と前記第2観測値の予測値として得られる第2予測観測値との間の第2誤差と、前記第2誤差に対する現在の前記第2暫定推定値の補正率を示す第2比率とを用いて、現在の前記第2暫定推定値を導出する、[3]又は[4]に記載の情報入力システム。
[6] 前記推定部は、
前記第1誤差及び前記第2誤差に応じて前記第1比率を調整する第1比率調整部と、
前記第2誤差及び前記第2誤差に応じて前記第2比率を調整する第2比率調整部と、を更に有する、[5]に記載の情報入力システム。
[7]
前記入力機器は、軸線方向の先端にペン先を有する筆記具である、[1]~[6]のいずれかに記載の情報入力システム。
[8] 前記推定部は、
前記第1観測値及び前記第2観測値を入力とする前記推定モデルを用いて、前記推定値として前記ペン先の位置の推定値を推定し、
前記第1観測値及び前記第2観測値を入力とする前記推定モデルを用いて、前記推定値として前記筆記具の姿勢の推定値を推定する、[7]に記載の情報入力システム。
[9] プロセッサを備える情報入力システムにより実行される情報入力方法であって、
入力機器の動作に関する観測値をセンサから取得するステップと、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定するステップと、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力するステップと、を備え、
前記観測値を取得するステップでは、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定値を取得するステップでは、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力方法。
[10] 入力機器の動作に関する観測値をセンサから取得するステップと、
前記観測値に基づいて、現在の前記入力機器の状態の推定値を推定するステップと、
前記推定値の軌跡が示す情報を、前記入力機器による入力情報として表示装置に出力するステップと、をコンピュータに実行させ、
前記観測値を取得するステップでは、前記観測値として、互いに異なる種類の第1観測値及び第2観測値を取得し、
前記推定値を取得するステップでは、前記第1観測値及び前記第2観測値を入力として、前記第1観測値及び前記第2観測値の両方を説明変数とし前記推定値を目的変数とする推定モデルを用いて、前記推定値を導出する、情報入力プログラム。
【符号の説明】
【0121】
1…情報入力システム、12…取得部、13…表示部(表示装置)、15…推定部、16…認識部、19…出力部、20…筆記具(入力機器)、151…第1暫定推定部、152…第2暫定推定部、153…推定値導出部、156…第1比率調整部、157…第2比率調整部、204…ペン先、208…動作センサ(センサ)、D4…筆記情報(入力情報)、Da…第1誤差、Dg…第2誤差、E,Ep,Es…推定値、Ma…第1観測値、Eap´,Eas´…第1暫定推定値、Mg…第2観測値、Egp´,Egs´…第2暫定推定値、Ga…第1比率、Gg…第2比率、L…軸線方向、M…推定モデル、Ma´…第1予測観測値、Mg´…第2予測観測値、T1…軌跡。