JP5495657B2 - Character recognition device, character recognition program - Google Patents
Character recognition device, character recognition program Download PDFInfo
- Publication number
- JP5495657B2 JP5495657B2 JP2009181632A JP2009181632A JP5495657B2 JP 5495657 B2 JP5495657 B2 JP 5495657B2 JP 2009181632 A JP2009181632 A JP 2009181632A JP 2009181632 A JP2009181632 A JP 2009181632A JP 5495657 B2 JP5495657 B2 JP 5495657B2
- Authority
- JP
- Japan
- Prior art keywords
- code data
- character
- movement
- writing
- movement vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Character Discrimination (AREA)
Description
本発明は文字認識装置と文字認識プログラムに関するものであり、特に手書き文字を認識し、認識した文字をコンピュータなどに入力する入力装置に適用される文字認識装置と文字認識プログラムに関する。 The present invention relates to a character recognition device and a character recognition program, and more particularly to a character recognition device and a character recognition program applied to an input device that recognizes handwritten characters and inputs the recognized characters to a computer or the like.
従来のこの種の文字認識装置の一例は特許文献1に開示される。特許文献1によれば、個人認証装置は手書きデータ入力装置と署名照合装置とを備える。利用者は、手書きデータ入力装置に備えられる撮像手段を手で保持し空中で動かすことによって、空中に所定の文字を書く。手書きデータ入力装置に備えられる軌跡算出手段は、撮像手段の空中における位置変化である移動軌跡を手書きデータ(署名データ)として求める。署名照合装置は、その手書きデータと予め記憶手段に記憶してある参照データ(本人の署名データ)とを比較照合して、同一人による署名データであるかどうかを判断する。
An example of a conventional character recognition device of this type is disclosed in
また、文字認識装置の他の例は特許文献2に開示される。特許文献2によれば、空中で書いた文字を認識するためにスイッチ手段のオン/オフで筆記中か否かを判断し、筆記中と筆記中でないときのそれぞれの移動方向に基づいて手書き文字を認識するため、文字の画数に拘わらず文字を認識する。
Another example of the character recognition device is disclosed in
しかし、特許文献1の個人認証装置では、移動軌跡そのものを軌跡算出手段で算出して参照データと照合するため、移動軌跡や参照データの情報量が大きくなり、比較照合手段の演算量が大きく処理時間が長くなるという問題があった。また、基本的には一筆書きによるデータ入力および個人認証であり、複数の画数からなる文字を認識することはできない。
However, in the personal authentication device of
この点、特許文献2に開示された技術では、空中に書いた2以上の画数の文字であっても認識可能である。しかし、使用者は筆記中か否かを示すために筆のアップダウンを意識してスイッチのオンオフ操作を行う必要があり、素早く文字を書くことができなかったり筆記動作とスイッチ操作のタイミングがずれるという問題があった。
In this regard, with the technique disclosed in
上述の問題点に鑑み、本発明は演算量と処理時間を低減し、連続的に複数の画数からなる文字を筆記することが可能であり、筆記する場所や大きさや速度の制限が無い文字認識装置と文字認識プログラムを提供することを目的とする。 In view of the above-mentioned problems, the present invention reduces the amount of computation and processing time, can write characters consisting of a plurality of strokes continuously, and does not limit the place, size or speed of writing. An object is to provide a device and a character recognition program.
本発明の文字認識装置は、使用者の手指を撮像する撮像手段と、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段と、手指の移動を移動ベクトルとして検出する移動検出手段と、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段と、各文字を筆記した場合に発生する移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した辞書コードデータを記憶する辞書コードデータ記憶手段と、筆記コードデータと辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段とを備え、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、所定の閾値は、移動量の履歴に基づいて変更されることを特徴とする。 The character recognition device of the present invention includes an imaging unit that images a user's finger, an input period detection unit that detects an input period for writing a character and a transition period for moving to the next character according to a predetermined operation of the user, The movement detection means that detects the movement of the finger as a movement vector, and the movement vector detected by the movement detection means during the input period, including the transition to the next picture, are obtained and the written code data compressed in time series is obtained. writing code data acquisition means, codes, including the transition section of the motion vector that occurs when noted brush each character to Tsugiga, when the dictionary code data storing means for storing the dictionary code data compressed in accordance with sequences of If, by comparing the writing code data and the dictionary code data and a specific means for the user to identify handwritten characters, writing code data obtaining means, movement vector When the movement amount of the camera is less than or equal to a predetermined threshold value, it is determined to be in a stationary state. When the movement amount is larger than the predetermined threshold value, a movement vector is encoded according to the movement direction. The predetermined threshold value is changed based on the movement amount history. It shall be the feature.
又、本発明の文字認識プログラムは、コンピュータを、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段、手指の移動を移動ベクトルとして検出する移動検出手段、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段、筆記コードデータと予め準備された辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段として機能させ、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、所定の閾値を移動量の履歴に基づいて変更することを特徴とする。 Further, the character recognition program of the present invention, a computer, according to a predetermined operation of the user, the input period detecting means for detecting a transition period to move to input period and the next character to be written the character, move the movement of the finger vector A movement detection means for detecting, a writing code data acquisition means for encoding the movement vector detected by the movement detection means including the transition part to the next image during the input period, and acquiring the writing code data compressed in time series, writing the code data and to function as a pre-specified hand stage prepared dictionary code data and user by comparing identifies a handwritten character, writing code data acquisition means, the movement amount of the moving vector is the predetermined threshold value It is determined that it is in a stationary state at the following time, and when it is larger than a predetermined threshold, the movement vector is coded according to the moving direction, and the predetermined threshold is based on the movement amount history. It shall be the said to be more.
本発明の文字認識装置は、使用者の手指を撮像する撮像手段と、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段と、手指の移動を移動ベクトルとして検出する移動検出手段と、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段と、各文字を筆記した場合に発生する移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した辞書コードデータを記憶する辞書コードデータ記憶手段と、筆記コードデータと辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段とを備え、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、所定の閾値は、移動量の履歴に基づいて変更されることを特徴とする。これにより、使用者は連続的に複数の画数からなる文字を筆記することが可能であり、演算量と処理時間が低減され、筆記する場所や大きさや速度に拘らず文字を認識することが出来る。 The character recognition device of the present invention includes an imaging unit that images a user's finger, an input period detection unit that detects an input period for writing a character and a transition period for moving to the next character according to a predetermined operation of the user, The movement detection means that detects the movement of the finger as a movement vector, and the movement vector detected by the movement detection means during the input period, including the transition to the next picture, are obtained and the written code data compressed in time series is obtained. writing code data acquisition means, codes, including the transition section of the motion vector that occurs when noted brush each character to Tsugiga, when the dictionary code data storing means for storing the dictionary code data compressed in accordance with sequences of If, by comparing the writing code data and the dictionary code data and a specific means for the user to identify handwritten characters, writing code data obtaining means, movement vector When the movement amount of the camera is less than or equal to a predetermined threshold value, it is determined to be in a stationary state. When the movement amount is larger than the predetermined threshold value, a movement vector is coded according to the movement direction. It shall be the feature. As a result, the user can write characters consisting of a plurality of strokes continuously, the amount of calculation and processing time are reduced, and the characters can be recognized regardless of the place, size and speed of writing. .
又、本発明の文字認識プログラムは、コンピュータを、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段、撮像した手指の形状を検出する形状検出手段、手指の移動を移動ベクトルとして検出する移動検出手段、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段、筆記コードデータと予め準備された辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段として機能させ、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、所定の閾値を移動量の履歴に基づいて変更することを特徴とする。これにより、使用者は連続的に複数の画数からなる文字を筆記することが可能であり、演算量と処理時間が低減され、筆記する場所や大きさや速度に拘らず文字を認識することが出来る。 Further, the character recognition program of the present invention is an input period detecting means for detecting an input period for writing a character and a transition period for moving to the next character in accordance with a predetermined operation of the user, and detects the shape of the captured finger. Shape detection means for performing movement detection means for detecting the movement of a finger as a movement vector, and writing in which the movement vector detected by the movement detection means is coded including the transition to the next image during the input period and is compressed in time series writing the code data acquiring means for acquiring the code data, writing code data and compares prepared the dictionary code data is made to function as a specific hand stage the user to identify handwritten characters previously, writing code data acquiring means Is determined to be stationary when the movement amount of the movement vector is less than or equal to a predetermined threshold, and when the movement vector is larger than the predetermined threshold, the movement vector is coded according to the movement direction. However, it and changes based on the amount of movement of the history a predetermined threshold. As a result, the user can write characters consisting of a plurality of strokes continuously, the amount of calculation and processing time are reduced, and the characters can be recognized regardless of the place, size and speed of writing. .
(実施の形態1)
<構成>
図1は、本実施の形態の入力システム10の構成図である。図1を参照して、入力システム10は文字入力装置12を含み、文字入力装置12は文字認識プログラムを記憶し、文字認識装置としても機能する。この文字入力装置12は、ペン型の筐体(ケース)14を備えるとともに、このケース14の一部から操作部が露出するように配置されたスイッチ16を備える。又、入力システム10はコンピュータ20を備え、文字入力装置12とコンピュータ20とがケーブル(USBケーブルやIEEE1394ケーブルなど)18を用いて接続される。
(Embodiment 1)
<Configuration>
FIG. 1 is a configuration diagram of an
なお、本実施の形態では、ケーブル18を用いて文字入力装置12とコンピュータ20とを接続するようにしてあるが、これに限定される必要はなく、無線通信にて接続することも、文字入力装置12とコンピュータ20とが一体的に形成された入力システム10として構成することもできる。また、コンピュータ20としては、汎用のコンピュータ(デスクトップ、ラップトップ、PDAなど)は当然のこと、携帯電話機、車載ナビゲーション、AV商品から電子辞書まで内部にCPUを持つあらゆる製品が該当する。
In the present embodiment, the
したがって、入力システム10を構成する文字入力装置12とコンピュータ20とのハードウェアおよびソフトウェアの切り分け方は一体型を含めて色々と考えられるが、以下では、一例として、文字入力装置12は手書き文字を1文字単位で判定して、その候補或いは結果をコンピュータ20に送信するだけの機能を有し、コンピュータ20は、かな文字変換機能や予測機能等を有し、その操作を含めて全体を制御する構成として説明することにする。
Therefore, there are various ways of dividing the hardware and software of the
図2は文字入力装置12の電気的な構成を示すブロック図である。図2を参照して、文字入力装置12はCPU30を含み、CPU30は、内部バス32を介して、ROM34、RAM36および入出力(I/O)インターフェイス(以下、単に「インターフェイス」という。)38に接続される。また、文字入力装置12は、カメラ40および上述したスイッチ16を含み、このカメラ40およびスイッチ16はインターフェイス38および内部バス32を介してCPU30に接続される。このような回路コンポーネントがケース14に収納される。詳細な図示は省略するが、カメラ40は、そのレンズ部分がケース14の先端部14a(文字入力装置12の先端部)に露出するようにケース14内に配置される。また、図2では、スイッチ16がケース14に収納されるように記載してあるが、上述したように、スイッチ16はその操作部がケース14から露出するように配置される。さらに、図2では省略するが、上述したケーブル18の一方端がインターフェイス38に接続され、その他方端がコンピュータ20に接続される。
FIG. 2 is a block diagram showing an electrical configuration of the
<動作>
例えば、使用者がペンを持つように文字入力装置12を手指で把持し、文字(本実施の形態では、ひらがな)を書く。すると、文字入力装置12は使用者が書いた文字を認識し、認識した文字をコンピュータ20に入力する。以下、文字入力装置12における文字の認識方法について詳細に説明する。
<Operation>
For example, the user holds the
<文字の認識方法>
文字入力装置12では、カメラ40からの画像データがインターフェイス38およびバス32を介してCPU30に与えられる。本実施の形態では、CPU30は、カメラ40からの画像データを所定時間(1フレーム:1/30秒)毎に検出し、フレーム間(1つ手前のフレームと現フレームとの間)の動きベクトルを計算する。動きベクトルを計算する方法は既に周知であるため、ここでは詳細な説明は省略する。
<Character recognition method>
In the
CPU30は、計算した動きベクトルを用いるなどして、文字入力装置12の移動に関する情報(移動情報)を生成する。この情報は、図6に示すRAM36のデータ記憶領域に記憶される。本実施の形態では、移動情報は使用者が書いた文字についてのコードデータ(筆記コードデータ524)である。具体的には、CPU30はスイッチ16のオン/オフを検出し、文字単位で筆記中であるか否かを判断する。CPU30は、スイッチ16を押した状態(オン状態)では、文字単位で筆記中の入力期間であると判断してコード化を続け、スイッチ16を押していない状態(オフ状態)では、文字単位の筆記が完了し次文字に移る移行期間であると判断して、コード化を停止し入力文字の特定処理に入る。このように、CPU30は入力期間と移行期間を検出する入力期間検出手段として動作する。
CPU30 produces | generates the information (movement information) regarding the movement of the
ここでCPU30は、スイッチ16がオンである場合には、カメラ40からの画像データに基づいて計算した動きベクトルを筆記中の方向として検出する移動検出手段として動作する。なお、ここで用いる情報はスイッチ16がオンになった位置を原点にして原点からの距離と方向に基づくのではなく、フレーム間の動きベクトル情報そのものであり、それらを時系列に従って記述した筆記コードデータ524(移動情報)を生成する。本実施の形態では、図3に示すような方向コードデータ522を用意し、これを参照して、方向コードデータに変化が生じた時のみ方向コードを追加するように符号化(コード化)する。
Here, when the
図3に示す方向コードデータ522は、2次元方向を上下左右と斜め方向とを含む8つの方向(動き有りの方向)に分け、動きベクトルをその方向に応じてアルファベットに符号化するためのデータである。
The
具体的には、動き有りの方向としては、上方向に「h」が割り当てられ、この上方向から時計回りに45度回転した右斜め上方に「a」が割り当てられる。また、右方向に「b」が割り当てられ、この右方向から時計回りに45度回転した右斜め下方に「c」が割り当てられる。さらに、下方向に「d」が割り当てられ、この下方向から時計回りに45度回転した左斜め下方向に「e」が割り当てられる。そして、左方向に「f」が割り当てられ、この左方向から時計回りに時計回りに45度回転した左斜め上方に「g」が割り当てられる。 Specifically, “h” is assigned to the upward direction, and “a” is assigned to the upper right direction rotated 45 degrees clockwise from this upward direction. Further, “b” is assigned to the right direction, and “c” is assigned to the lower right side rotated 45 degrees clockwise from the right direction. Furthermore, “d” is assigned to the downward direction, and “e” is assigned to the diagonally downward left direction rotated 45 degrees clockwise from the downward direction. Then, “f” is assigned to the left direction, and “g” is assigned to the upper left diagonally rotated 45 degrees clockwise from the left direction.
また、動きが少ない動きベクトルについては、動きなしとして「S」が割り当てられる。ここで、「動きが少ない」とは、動きベクトルのスカラが所定の閾値(所定距離)未満であることを意味し、閾値は文字入力装置12の開発者や設計者によって設定される。ただし、動きベクトルは隣接するフレームの画像データに基づいて算出され、1フレームのような短い期間に人間が手指を動かす距離は非常に短いと考えられるため、所定値は比較的小さい値に設定される。また、本実施の形態では、動きが少ないのみならず、画像データから検出した動きベクトルの信頼性が低いと判定される場合にも、「S」に符号化する。
Also, “S” is assigned to a motion vector with little motion as no motion. Here, “there is little motion” means that the scalar of the motion vector is less than a predetermined threshold (predetermined distance), and the threshold is set by the developer or designer of the
なお、一般的に単一色の壁や床においても多少の信号レベル差があるため、これらに文字入力装置12(カメラ40のレンズ)を向けて文字を書いた場合でも、正確に動きベクトルを検出することができる。しかし、極端に暗すぎたり明るすぎる場合や、規則的な繰り返しパターンの画像データの場合には動きベクトルを誤検出する可能性がある。ただし、検出した動きベクトルの信頼性は、その検出のための演算の過程において概ね判定することができる。 In general, there is a slight difference in signal level even on a single color wall or floor. Therefore, even when characters are written with the character input device 12 (the lens of the camera 40) facing them, the motion vector is accurately detected. can do. However, there is a possibility that a motion vector is erroneously detected when it is extremely dark or too bright, or when image data has a regular repetitive pattern. However, the reliability of the detected motion vector can be generally determined in the process of calculation for the detection.
ここで、使用者が書いた文字に応じた筆記コードデータ524の生成方法について説明する。辞書コードデータ520の生成方法については、正しい書き順および筆(本実施の形態では、文字入力装置12)運びで、文字を書いた場合に生成される筆記コードデータ524の生成方法と同じであるため、重複した説明は省略する。ただし、辞書コードデータ520は、実際に文字を書くことなく正しい書き順および筆運びに従って筆記中方向コードデータ522の符号を並べることにより、生成するようにしてもよい。
Here, a method for generating the writing
たとえば、使用者が、図4に示すように、正しい書き順および筆運びで、ひらがなの「あ」を書く場合について説明する。「あ」は本来(1)と(3)と(5)の3画のストロークで構成されるが、筆のアップダウン操作を不要にするため、各ストローク間の(2)と(4)の筆運びが加わる。まず、スイッチ16をオンした状態で、(1)で示すように、横棒が書かれる。この時は、横棒の書き始めから書き終わりまで右方向或いはほぼ右方向であり、筆記中方向コードデータ522を参照することによって、「b」に符号化される。したがって、使用者が横棒を書き終えると、横棒の書き始めと書き終わりの筆記速度が低下した部分が「S」に符号化され、符号「SbS」のデータが筆記コードデータ524としてRAM36に記憶される。ここで、符号(アルファベット)はその符号が変化しない限り、つまり移動方向(動きベクトル)または移動速度が変化しない限り、追加的にRAM36に記憶されることはない。
For example, as shown in FIG. 4, a case where the user writes “a” in hiragana with the correct writing order and brush stroke will be described. “A” is originally composed of three strokes (1), (3) and (5), but in order to eliminate the need for brush up / down operations, (2) and (4) Brush strokes are added. First, with the
次に、(2)で示すストローク(1)の終了点からストローク(3)の開始点まで筆を運ぶと、移動方向は左斜め上であり、移動方向コードデータ522を参照することによって「g」のコードが追加され、ストローク(3)の開始点で筆が止まった時点では「S」のコードが追加されるため、筆記コードデータ524として、符号列「SbSgS」のデータがRAM36に記憶される。
Next, when the brush is carried from the end point of the stroke (1) shown in (2) to the start point of the stroke (3), the moving direction is diagonally left upward, and “g” is obtained by referring to the moving
次に、ストローク(3)の縦棒を筆記すると、縦棒の書き始めから書き終わりまで下向き或いはほぼ下向きであるため、方向コードデータ522を参照することによって、「d」に符号化される。このため、縦棒を書き終えた時点では、筆記コードデータ524として符号列「SbSgSdS」のデータがRAM36に記憶される。
Next, when writing the vertical bar of the stroke (3), it is downward or almost downward from the beginning of writing of the vertical bar to the end of writing, and therefore it is encoded to “d” by referring to the
次に、縦棒のストローク(3)の終了点からストローク(5)の開始点までの(4)の筆の運びでは、方向が右斜め上方であり、移動方向コードデータ522を参照して、「a」に符号化される。したがって、ストローク(5)の開始点で筆が止まった時点では「S」のコードが追加されるため、筆記コードデータ524として、符号列「SbSgSdSaS」のデータがRAM36に記憶される。
Next, in carrying the brush of (4) from the end point of the stroke (3) of the vertical bar to the start point of the stroke (5), the direction is diagonally upward to the right, and referring to the movement
最後に、使用者がストローク(5)を筆記している間は、移動方向が左斜め下方、左方、左斜め上方、上方、右斜め上方、右方、右斜め下方、下方、左斜め下の順で変化する。したがって、方向コードデータ522を参照することにより、「e」、「f」、「g」、「h」、「a」、「b」、「c」、「d」、「e」の順に符号化される。したがって、ストローク(5)を書き終えると、筆記コードデータ524として符号列「SbSgSdSaSefghabcdeS」のデータがRAM36に記憶される。このようにしてCPU30及びRAM36は、移動ベクトルをコード化し、時系列にしたがって圧縮した筆記コードデータ524を取得する筆記コードデータ取得手段として機能する。
Finally, while the user is writing the stroke (5), the moving direction is diagonally downward left, leftward, diagonally upward left, upward, diagonally upward right, diagonally downward right, downward, diagonally downward left. It changes in the order. Therefore, by referring to the
上述のように筆記コードデータ524は生成され、使用者が一文字の入力が終わったところでスイッチ16をオフにすると、その時点で筆記コードデータ524は一文字の最終的なコードデータとして、辞書コードデータ520(図6参照)に含まれる複数の文字についてのコードデータ(辞書コードデータ520a,520b,520c,…)の各々と比較され、その結果最も類似する辞書コードデータ520が示す文字に特定される。このようにして、使用者が書いた文字が認識される。
As described above, the writing
ここで、辞書コードデータ520は、複数の辞書コードデータ520a,520b,520c,…を含む。以下、この明細書においては、単に「辞書コードデータ520」という場合には、辞書コードデータ520a,520b,520c,…の各々を指す場合と、辞書コードデータ520a,520b,520c,…をまとめて指す場合とがある。各辞書コードデータ520a,520b,520c,…は、文字入力装置12を用いて各文字を正しい書き順および筆運びで書いた場合に、時系列に従って検出される移動方向が、移動方向コードデータ522が参照されることによって符号化され、生成される。
Here, the
ただし、本実施の形態では、辞書コードデータ520は後述するように、1文字に対して1つの辞書コードデータ520を記憶するようにしてあるが、1文字に対して複数の辞書コードデータ520を記憶するようにしてもよい。これは、たとえば「も」のように、使用者によって書き順が異なる文字に対応し、さらに文字の認識率を高めるためでもある。また、辞書コードデータ520は、例えば、使用前に使用者がすべて登録するようにしても良いし、学習する構成にしても良い。さらに、「い」と「り」、「こ」と「て」、「う」と「ち」と「ら」のように良く似た文字の辞書コードデータは、区別がつきやすいよう違いを強調したコードに修正しても良い。このようにCPU30及びRAM36は、辞書コードデータを作成し記憶する辞書コードデータ記憶手段として機能する。
However, in the present embodiment, the
<類似度の評価方法>
次に、本実施の形態における、筆記コードデータ524と辞書コードデータ520a,520b,520c,…との類似度の評価方法について図5を用いて説明する。類似度の評価には、時系列データに対して時間伸縮を含めたマッチングに適した方法として、例えばDPマッチングを利用することができる。
<Similarity evaluation method>
Next, a method for evaluating the similarity between the writing
DPマッチングの一例として、使用者が文字を書いたことにより筆記コードデータ524として符号列「SdcSaScdS」のデータが得られた場合について説明する。また、簡単のために、「い」の辞書コードデータを「SdSaScdS」、「し」の辞書コードデータを「SdcbaS」、として説明する。
As an example of DP matching, a case where data of a code string “SdcSaScdS” is obtained as writing
まず、図5(A)に示す筆記コードデータ524が得られると、図5(B)に示すように、筆記コードデータ524と各辞書コードデータ520から各コードデータ間の類似度を示す局所マトリックスを作成する。ここで、類似度は「0」が「合致」で、値が小さいほど類似していることを意味する。一般的に単純なDPマッチングの場合には、局所マトリクスは、例えば一致しない場合に「3」、一致する場合に「0」などが与えられる。しかしながら、方向コード「a」と「b」の方向差よりも「a」と「c」の方向差の方が大きく類似度は小さいため、単に一致/不一致のみを表現するのではなく方向コードの組合せに応じた類似度を与えることによって、より正確なマッチングが実現できると考えられる。
First, when the writing
次に、図5(C)で示した式にしたがって、経路(連続性)を含む類似度を示す累積マトリクス(図5(D))をP(0,0)から順次計算して行き、累積マトリックス計算の最後の値(図5(E))が各辞書コードデータとの類似度として得られる。「い」との類似度が「3」、「し」との類似度が「18」という結果になったことから、入力パターンは「し」よりも「い」に類似していることがわかる。同様に全ての文字の候補と類似度を算出して評価することで入力された文字を特定することができる。このようにして、CPU30は筆記コードデータと辞書コードデータを比較して使用者が筆記した文字を特定する特定手段として機能する。
Next, according to the equation shown in FIG. 5C, a cumulative matrix (FIG. 5D) indicating the degree of similarity including the path (continuity) is sequentially calculated from P (0, 0) and accumulated. The last value of the matrix calculation (FIG. 5E) is obtained as the similarity with each dictionary code data. Since the similarity to “I” is “3” and the similarity to “I” is “18”, the input pattern is more similar to “I” than “I”. . Similarly, it is possible to specify an input character by calculating and evaluating the similarity to all character candidates. In this way, the
すなわち、実施の形態1の文字認識装置は、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段と、手指の移動を移動ベクトルとして検出する移動検出手段と、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータ524を取得する移動情報取得手段と、各文字を正しい書き順および筆運びで筆記した場合に発生する移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した辞書コードデータを記憶する辞書コードデータ記憶手段と、移動情報取得手段が取得した筆記コードデータと辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段と、を備える。移動ベクトルをコード化することにより、演算量と処理時間を低減することが出来る。又、次画への移行部分を含めてコード化することによって、連続的に複数の画数からなる文字を筆記することができ、筆記する場所や大きさや速度の制限が無い文字認識装置となる。
That is, the character recognition device according to the first embodiment includes an input period detecting unit that detects an input period for writing a character and a transition period for moving to the next character according to a predetermined operation of the user, and movement of a finger as a movement vector. Movement detection means for detecting, movement information acquisition means for acquiring
<プログラム>
図6は、図1に示したRAM36のメモリマップを示す図解図である。ただし、RAM36に記憶されるプログラムや一部のデータはROM34からロードされる。図6に示すように、RAM36はプログラム記憶領域50とデータ記憶領域52を含む。プログラム記憶領域50は、文字認識プログラムと文字入力プログラム508を記憶する。文字認識プログラムは、メイン処理プログラム500、手指の動き検出プログラム502、コード化プログラム504および文字特定プログラム506によって構成される。
<Program>
FIG. 6 is an illustrative view showing a memory map of the
メイン処理プログラム500は、本実施の形態の文字認識のメインルーチンを処理するためのプログラムである。手指の動き検出プログラム502は、カメラ40からの画像を所定時間(たとえば、1フレーム)毎に検出し、1フレーム前の画像と現フレームの画像とを比較して手指の動きベクトルを検出(算出)するためのプログラムである。コード化プログラム504は、使用者が文字入力装置12を用いて空中で文字を書くときにその移動ベクトルを使用者の手指の移動方向に従って符号化し、符号を時系列に並べてコード化するためのプログラムである。
The
文字特定プログラム506は、使用者が書いた文字を特定するためのプログラムである。簡単に説明すると、使用者が書いた文字についてのコードデータ(筆記コードデータ524)と、辞書として予め登録してある各文字についてのコードデータ(辞書コードデータ520a,520b,520c,…)とを比較し、筆記コードデータ524と最も類似した(評価値が最も小さい)辞書コードデータ520に対応する文字を特定(決定)する。これにより、使用者が書いた文字が認識される。文字入力プログラム508は、文字特定プログラム506で特定(認識)された文字をコンピュータ20に入力(送信)するためのプログラムである。
The
データ記憶領域52には、辞書コードデータ520、方向データ522、筆記コードデータ524および評価用テーブルデータ526のようなデータが記憶されるとともに、筆記中フラグ528のようなフラグが記憶される。
The
辞書コードデータ520は、複数の辞書コードデータ520a,520b,520c,…を含む。辞書コードデータ520aは、ひらがなの「あ」を正しい書き順および筆運びで書いたときのコードデータであり、例えば符号列「SbSgSdSaSefghabcdeS」のデータで表わされる。また、辞書コードデータ520bは、ひらがなの「い」を正しい書き順および筆運びで書いたときのコードデータであり、例えば符号列「SdSaScdS」のデータで表わされる。辞書コードデータ520cは、ひらがなの「う」を正しい書き順および筆運びで書いたときのコードデータであり、というように以下は省略するが、他のひらがなについての辞書コードデータ520も記憶される。ただし、ひらがなに加えて、数字(0〜9)またはアルファベット(a〜z,A〜Z)或いはその両方についての辞書コードデータ520を記憶してもよい。また、文字以外の「バックスペース」、「エンターキー」や「方向キー」等の操作に対応したパターンを登録および記憶するようにしてもよい。
The
方向データ522は、例えば図3に示した方向コードデータ522である。上述したように、例えばスイッチ16がオンして使用者が一筆書きで文字を書くとき、その移動情報が方向コードデータ522を参照して符号化される。
The
筆記コードデータ524は、使用者が一筆書きで文字を書いたときに文字入力装置12自体の移動方向が時系列に従って符号化されたコードデータである。なお、詳細な説明は省略するが、コンピュータ20が1文字の入力は終了した(次の文字を入力する)と判定したり、文字がキャンセル(訂正)された場合に、コンピュータ20からのコマンドにしたがって筆記コードデータ524はリセット(消去)される。
The written
評価用テーブルデータ526は、辞書コードデータ520に登録された文字毎に評価値を記述できるように構成されたテーブルについてのデータであり、使用者が書いた文字を特定(認識)する場合に用いられる。具体的には、図7に示すように、候補文字が1文字ずつ記述され、筆記コードデータ524と各候補文字に対応する辞書コードデータ520との評価値が計算されると、計算された評価値が該当する候補文字に対応して記述される。ただし、評価用テーブルデータ526は文字が特定される毎にリセットされ、すべての評価値が消去される。
The
図6に戻って、筆記中フラグ528は筆記中か否かを判断するためのフラグであり、たとえば1ビットのレジスタで構成される。本実施の形態では、スイッチ16がオンであれば筆記中であり、一方、スイッチ16がオフであれば筆記中でない例を説明したが、スイッチをトグル動作にしたり、オンオフのスイッチを別に設けたり、ジェスチャー操作等でスイッチの代わりにすることが可能である。いずれにせよ筆記中か否かを判断し、文字単位の入力の開始から終了までの期間(入力期間)を示す。
Returning to FIG. 6, the writing
具体例としては、CPU30が図8に示すメインルーチン(全体処理)を実行する。CPU30は全体処理を開始すると、動きベクトルを生成する(ステップS1)。つまり、カメラ40から入力される画像データを1フレーム毎に検出し、直前のフレームの画像と現フレームの画像との動き(移動方向および移動量)を検出する。
As a specific example, the
次に、筆記中フラグ528がオンの時にステップS1で検出した動きベクトルから文字入力装置12の移動方向を検出して筆記コードデータ524を作成し(コード化処理)、コードが変化した時に筆記コードデータ524にコードを追加する(ステップS2)。そして、得られた筆記コードデータ524と各辞書コードデータ520との類似度を比較して入力された文字を特定する文字特定処理を実行する(ステップS3)。ステップS3で特定された文字はコンピュータ20に入力する(ステップS4)。なお、全体処理すなわちステップS1−S4のスキャンタイムが1フレームであり、この全体処理が繰り返し実行されることにより、動きベクトルは1フレーム毎に算出(検出)される。
Next, when the writing
なお、本実施の形態では、カメラ40をケース14の先端部14aに配置してカメラ40の画像から動きベクトルを検出することで文字入力装置12の移動を検出したが、他のセンサ、例えば加速度センサや角速度センサを搭載して文字入力装置12の移動を検出してもよい。
In the present embodiment, the movement of the
すなわち、実施の形態1に係る文字認識プログラムは、コンピュータを、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段、手指の移動を移動ベクトルとして検出する移動検出手段、入力期間中、移動検出手段で検出した前記移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した移動情報を取得する移動情報取得手段、移動情報取得手段が取得した移動情報と予め準備された辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段、として機能させる。移動ベクトルをコード化することにより、演算量と処理時間を低減することが出来る。又、次画への移行部分を含めてコード化することによって、連続的に複数の画数からなる文字を筆記することができ、筆記する場所や大きさや速度の制限が無い文字認識プログラムとなる。 That is, the character recognition program according to the first embodiment causes the computer to detect the input period detecting means for detecting the input period for writing a character and the transition period for moving to the next character in accordance with a predetermined operation of the user. Movement detection means for detecting as a movement vector, movement information acquisition means for acquiring movement information compressed in time series by coding the movement vector detected by the movement detection means including a transition part to the next picture during the input period Then, the movement information acquired by the movement information acquisition means is compared with the dictionary code data prepared in advance to function as specifying means for specifying the character written by the user. By coding the movement vector, the amount of calculation and the processing time can be reduced. In addition, by coding including the transition to the next image, it is possible to write characters consisting of a plurality of strokes continuously, and the character recognition program has no restrictions on the place, size and speed of writing.
<コードデータ検出精度の向上>
次に、筆記コードデータ524の検出精度の向上について説明する。動きベクトルの移動量(スカラ)が所定値未満であるときにコード「S」と符号化し、静止状態(動き量が少ない)と判定するが、この所定値(閾値)を適切に制御することが、検出精度を向上させるための第一の方法である。空中に文字を書く場合、状況や人によって文字の大きさや速度は大きく変動すると考えられる。大きな文字を書く場合や早く書く場合には、一旦筆を静止させたつもりでも動いていると判定する一方、小さい文字を書く場合やゆっくりと書いた場合には、筆を動かしているつもりでも静止状態であると誤検出することがある。そこで、大きな状況変化がない場合に使用者が書く速度や文字の大きさは、一般的に直前に書いた速度や文字の大きさや速度に近いと考える。そこで、直前の数文字分の文字を書く速度(フレーム間の移動量)の最大値と最小値および平均値を算出し、その値に基づいて静止状態であるか否かの閾値を変更することにより、上述の誤検出が削減できる。具体的には文字を書く速度が高い時には閾値を大きく、文字を書く速度が低い時には閾値を小さくするように適応的に制御を行う。
<Improved code data detection accuracy>
Next, improvement in detection accuracy of the written
すなわち、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、前記所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、当該所定の閾値は移動量の履歴に基づいて変更される。これにより、筆記スピードや文字の大小の個人差を考慮され、筆記コードデータ524の検出精度が向上する。
That is, the handwritten code data acquisition means determines that the movement vector is stationary when the movement amount of the movement vector is equal to or less than a predetermined threshold value, and encodes the movement vector according to the movement direction when the movement vector is larger than the predetermined threshold value. Changed based on volume history. Accordingly, the detection accuracy of the writing
第二の検出精度向上は、方向ベクトルの境界点でのハンチングの回避である。CPU30は、筆記コードデータ524に変化がない場合には新たにコードを追加しないため、例えば使用者が右方向に横棒を書くと、「bbb・・・」と同一の方向コードが連続し、結果として「b」とのみコード化される。一方、横棒を書いた時に少し傾いてしまうと、方向コードがbとcの境界付近になり「bcbcbc」と検出されてしまい、同一の方向コードの連続でないためそのまま「bcbcbc」とコード化されることになる。この場合、使用者は同じ横棒を書こうとしたにも拘らずコード化の結果が大きく異なり、誤検出となる。そこで、「bcb」の後に「c」が検出されてもコードを追加しない処理(ハンチング回避)を行う。この時「a」が検出された場合は普通通りコードを追加することで、「ふ」や「む」等に含まれるS字カーブ状の軌跡は正確に表現できる。
The second improvement in detection accuracy is to avoid hunting at the boundary point of the direction vector. Since the
すなわち、筆記コードデータ取得手段は、移動ベクトルが二つの方向を繰り返す時には繰り返し部分を削除してコード化する。これにより、ハンチングを回避でき筆記コードデータ524の検出精度が向上する。
That is, the handwritten code data acquisition means performs coding by deleting the repeated portion when the movement vector repeats two directions. Thereby, hunting can be avoided and the detection accuracy of the written
<効果>
実施の形態1の文字認識装置12によれば、既に述べた通り以下の効果を奏する。すなわち、文字認識装置は、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段と、手指の移動を移動ベクトルとして検出する移動検出手段と、入力期間中、移動検出手段で検出した移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータ524を取得する移動情報取得手段と、各文字を正しい書き順および筆運びで筆記した場合に発生する移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した辞書コードデータを記憶する辞書コードデータ記憶手段と、移動情報取得手段が取得した筆記コードデータと辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段と、を備える。移動ベクトルをコード化することにより、演算量と処理時間を低減することが出来る。又、次画への移行部分を含めてコード化することによって、連続的に複数の画数からなる文字を筆記することができ、筆記する場所や大きさや速度の制限が無い文字認識装置となる。
<Effect>
According to the
又、筆記コードデータ取得手段は、移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、前記所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、当該所定の閾値は移動量の履歴に基づいて変更される。これにより、筆記スピードや文字の大小の個人差を考慮され、筆記コードデータ524の検出精度が向上する。
The handwritten code data acquisition means determines that the movement vector is stationary when the movement amount of the movement vector is less than or equal to a predetermined threshold value, and encodes the movement vector according to the movement direction when the movement vector is larger than the predetermined threshold value. Changed based on volume history. Accordingly, the detection accuracy of the writing
さらに、筆記コードデータ取得手段は、移動ベクトルが二つの方向を繰り返す時には繰り返し部分を削除してコード化する。これにより、ハンチングを回避でき筆記コードデータ524の検出精度が向上する。
Further, the handwritten code data acquisition means performs coding by deleting the repeated portion when the movement vector repeats two directions. Thereby, hunting can be avoided and the detection accuracy of the written
又、実施の形態1の文字認識プログラムによれば、既に述べた通り以下の効果を奏する。すなわち、文字認識プログラムは、コンピュータを、使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段、手指の移動を移動ベクトルとして検出する移動検出手段、入力期間中、移動検出手段で検出した前記移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した移動情報を取得する移動情報取得手段、移動情報取得手段が取得した移動情報と予め準備された辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段、として機能させる。移動ベクトルをコード化することにより、演算量と処理時間を低減することが出来る。又、次画への移行部分を含めてコード化することによって、連続的に複数の画数からなる文字を筆記することができ、筆記する場所や大きさや速度の制限が無い文字認識プログラムとなる。 Further, according to the character recognition program of the first embodiment, the following effects can be obtained as already described. That is, the character recognition program causes the computer to detect an input period for writing a character and a transition period for moving to the next character according to a predetermined operation of the user, and a movement for detecting movement of a finger as a movement vector. A movement information acquisition means and a movement information acquisition means for acquiring movement information that is encoded in a time-series manner by encoding the movement vector detected by the movement detection means during the input period, including a transition portion to the next image. The acquired movement information is compared with dictionary code data prepared in advance to function as specifying means for specifying a character written by the user. By coding the movement vector, the amount of calculation and the processing time can be reduced. In addition, by coding including the transition to the next image, it is possible to write characters consisting of a plurality of strokes continuously, and the character recognition program has no restrictions on the place, size and speed of writing.
(実施の形態2)
<構成>
実施の形態1では、使用者が文字入力装置12のペン型の筐体14を手に持って空中に文字を書き、文字入力装置12がこれを認識したが、実施の形態2では、使用者はハンドフリーにて空中に文字を書き、文字入力装置がその文字を認識する。
(Embodiment 2)
<Configuration>
In the first embodiment, the user writes a character in the air while holding the pen-shaped
図9は、実施の形態2の入力システム90の使用例を示す図である。図9を参照して、入力システム90は文字入力装置92と表示部94を備えている。文字入力装置92は入力システム90に組み込まれており、例えば、同一筐体に内蔵され一体化している。文字入力装置92はカメラで使用者の手を撮像し、手の動きや形状から使用者が空中に書いた文字を認識する。文字入力装置92の認識結果は入力システム90に送信され、かな文字変換機能や予測機能を有する入力システム90は、表示部94の表示や操作を含めて全体を制御する。
FIG. 9 is a diagram illustrating a usage example of the
なお、本実施の形態では、文字入力装置92は入力システム90に内蔵され一体化するようにしてあるが、これに限定される必要はなく、実施の形態1のように分離されて有線や無線で通信するように構成してもよい。いずれにしても、文字入力装置92は手に持つのではなく、環境に設置して外から手の動きや形状を検出する構成とする。また、入力システム90としては、汎用のコンピュータ(デスクトップ、ラップトップ、PDAなど)は当然のこと、携帯電話機、車載ナビゲーション、AV商品から電子辞書まで内部にCPUを持つあらゆる製品が該当し、上位システムの入力システム90と下位コンポーネントの文字入力装置92の切り分けや構成も製品により色々と考えられる。
In the present embodiment, the
図10は文字入力装置92の電気的な構成を示すブロック図である。この図10を参照して、文字入力装置92はCPU30を含み、CPU30は、内部バス32を介してROM34、RAM36および入出力(I/O)インターフェイス(以下、単に「インターフェイス」という。)38に接続される。また、文字入力装置92はカメラ40を含み、このカメラ40はインターフェイス38と内部バス32を介してCPU30に接続される。ただし、カメラ40は、そのレンズ部分が使用者側を向いて使用者の手を撮像するように配置される(詳細な図示は省略)。
FIG. 10 is a block diagram showing an electrical configuration of the
<動作>
たとえば、使用者が文字入力装置92の前に手を出し、手を握ることで文字入力を開始し、手を握ったまま空中に一筆書きで文字を書いて、一文字が書き終われば手を開く動作を行う。すると文字入力装置92は、カメラ40で撮像した使用者の手の形から一文字を書く入力期間の開始と終了のタイミングを検出し、さらに筆記中の使用者の手の位置から筆跡を検出する。即ち、実施の形態1では、文字単位の入力期間の開始と終了の検出をスイッチ16のON/OFFによって検出していたが、実施の形態2では、カメラ40で撮像した手指の形からこれを検出する。又、実施の形態1では、カメラ40で撮像した画像全体の動きベクトルから筆記の方向を検出していたが、実施の形態2では、カメラで撮影した画像から手の位置を検出し、この手の動きから筆記の方向を検出する。その他の処理については、実施の形態1と同様の処理によって文字が認識できるので、カメラ40の撮像画像から手の形と動きを検出する方法について次に説明する。
<Operation>
For example, a user puts his hand in front of the
<手の形と動きの検出>
まず、前に出した手を検出する方法として、肌色情報を利用する手法がある。これは、一般的に手は肌色であるという前提に基づいて撮像画像から肌色に近い領域を抜き出し2値化するものである。原理上、使用者が手袋をしており手の色が肌色でない場合や、後ろに人の顔など肌色に近いものが存在する場合に誤検出してしまうという問題があるが、手が速く動く場合でも検出することが出来る。
<Detection of hand shape and movement>
First, as a method for detecting the hand that has been put out before, there is a method using skin color information. In general, a region close to skin color is extracted from the captured image and binarized based on the premise that the hand is skin color. In principle, there is a problem of false detection when the user wears gloves and the hand color is not skin color, or there is something close to skin color such as a human face behind, but the hand moves fast Even if it can be detected.
また別の方法としては、赤外線LEDの発光制御と、被写体との距離が近いほど赤外線の反射レベルが大きくなることを利用し、距離画像から前に出した手の領域を2値化画像として検出することが出来る。この方法では速い手の動きを検出することが苦手であるが、背景に人の顔など肌色に近い物が存在する場合でも正しく手を検出できるという利点がある。 As another method, using the infrared LED emission control and the fact that the infrared reflection level increases as the distance from the subject is closer, the hand area that is put forward from the distance image is detected as a binarized image. I can do it. This method is not good at detecting fast hand movements, but has the advantage that the hand can be detected correctly even when there is an object close to skin color such as a human face in the background.
図11は、上記の様な手法を用いて前に出した手を検出した2値化画像である。図11(A)のような2値化画像を検出すると、これから筆記の方向を検出するために手のひらの位置検出処理を行い、さらに筆記の開始から終了までの入力期間を検出するために手の形状判定処理を行う。以下、これらの処理について説明する。 FIG. 11 is a binarized image in which the hand that has been put out previously is detected using the above-described method. When a binarized image as shown in FIG. 11A is detected, palm position detection processing is performed in order to detect the direction of writing, and hand input is detected in order to detect an input period from the start to the end of writing. Perform shape determination processing. Hereinafter, these processes will be described.
手のひらの位置検出には重心が利用されることが多いが、腕が露出している場合には腕の伸びた方向に重心が移動してしまうため、正確な手のひらの位置を検出することが出来ない。そこで、一般的に前に出した手のひらの2値化領域は腕の2値化領域の幅よりも広くなることを利用する。例えば、図11(B)のように2値化領域の端からの距離が最大となる点を求め、この位置を手のひらの中心とする。そして、手のひら中心の移動ベクトルをコード化して筆記コードデータ524とする。このようにCPU30は、手指の位置を検出する位置検出手段として機能する。
The center of gravity is often used to detect the position of the palm, but if the arm is exposed, the center of gravity moves in the direction in which the arm extends, so the exact palm position can be detected. Absent. Therefore, it is generally used that the binarized region of the palm that has been put forward is wider than the width of the binarized region of the arm. For example, as shown in FIG. 11B, a point having the maximum distance from the end of the binarized area is obtained, and this position is set as the center of the palm. Then, the movement vector at the center of the palm is encoded to be written
手の形状判定処理では、一例として手を握った状態と開いた状態を判定する。上述の方法で検出した手のひらの中心を利用し、図11(C)に示すように、手のひら中心の位置より上側にある2値化領域に対して評価パラメータを求める。評価パラメータは、2値化領域の面積や2値化領域に外接する矩形又は円の面積、2値化領域の周囲長などである。手を握ると、手を開いた時に比べて(外接面積/2値化面積)や(周囲長/2値化面積)が小さくなるため、これらのパラメータを評価することによって形状判定が可能である。このように、CPU30は手指の形状を検出する形状検出手段としての機能も有し、手指の形状から入力期間と移行期間を検出する。
In the hand shape determination process, for example, a state in which the hand is held and a state in which the hand is opened are determined. Using the palm center detected by the above-described method, as shown in FIG. 11C, an evaluation parameter is obtained for a binarized region located above the palm center position. The evaluation parameters are the area of the binarized area, the area of a rectangle or circle circumscribing the binarized area, the perimeter of the binarized area, and the like. When the hand is held, (circumscribed area / binarized area) and (peripheral length / binarized area) are smaller than when the hand is opened. Therefore, the shape can be determined by evaluating these parameters. . As described above, the
すなわち、実施の形態2の文字認識装置は、使用者の手指を撮像する撮像手段(カメラ40)をさらに備え、入力期間検出手段は、撮像手段によって撮像した手指の形状を検出する形状検出手段を備え、形状検出手段の検出結果に基づいて入力期間と前記移行期間とを検出し、移動検出手段は、前記撮像手段によって撮像した手指の位置を検出する位置検出手段を備え、位置検出手段が検出する手指の位置変化から移動ベクトルを検出する。使用者は手にデバイスを持たずに空中に文字を筆記し、環境側に設置したカメラを利用して文字を認識するため、デバイスを持つ場合に比べてさらに自由度が高く便利な空中手書き入力が実現できる。 That is, the character recognition device according to the second embodiment further includes an imaging unit (camera 40) that images the user's finger, and the input period detection unit includes a shape detection unit that detects the shape of the finger captured by the imaging unit. An input period and the transition period are detected based on a detection result of the shape detection unit, and the movement detection unit includes a position detection unit that detects a position of a finger imaged by the imaging unit, and the position detection unit detects The movement vector is detected from the position change of the finger to be performed. The user writes the characters in the air without holding the device in his hand and recognizes the characters using the camera installed on the environment side, so the handwriting input in the air is more flexible and convenient than with a device. Can be realized.
なお、実施の形態1,2の文字認識装置は種々の用途に応用できる。例えば本発明をナビゲーションシステム等の車載機器に応用すると、運転者がハンドル横に手をかざし空中で一筆書きしたその動きをカメラで検出することによって文字入力が実現され、目的地設定や地名検索に利用できる。そのため、従来は50音で表示したタッチパネルを押すために視線をタッチパネルに向ける必要があったが、視線をそらすことなく文字入力が簡単かつ安全に行える。また、本発明をAV機器に応用すると、空中で一筆書きした動きをカメラで検出することにより文字入力が実現でき、予約番組検索や記録コンテンツ検索さらにはインターネット検索等に利用できる。そのため、従来の50音が表示されたアイコンを上下左右ボタンの操作で設定する方法や携帯電話で用いられる入力方法等に比べ、一筆書きで字を書くことから直感的で使い易い文字入力が実現できる。また、リモコンに本発明を適用すれば、カメラ内蔵のリモコンを机などに置き、その前で手を動かすことによって入力したり、リモコン自体を手で持って一筆書きすることにより入力することも可能である。これらの文字入力は、過去の履歴やコンテクストを利用した推論機能と組み合わせることにより、さらに効果を発揮する。 Note that the character recognition devices of the first and second embodiments can be applied to various uses. For example, when the present invention is applied to an in-vehicle device such as a navigation system, character input is realized by detecting the movement of the driver who draws a stroke in the air with his hand next to the handle, and for destination setting and name search Available. For this reason, conventionally, it has been necessary to direct the line of sight to the touch panel to press the touch panel displayed with 50 sounds, but character input can be performed easily and safely without diverting the line of sight. In addition, when the present invention is applied to an AV device, character input can be realized by detecting a stroke drawn in the air with a camera, and it can be used for reserved program search, recorded content search, and Internet search. Therefore, compared to the conventional method of setting icons with 50 sounds displayed by operating the up / down / left / right buttons and the input method used on mobile phones, it is possible to input characters intuitively and easily by writing with a single stroke. it can. In addition, if the present invention is applied to a remote control, it is possible to input by moving the hand in front of the remote control with a built-in camera on the desk, etc., or by writing with one hand holding the remote control itself It is. These character inputs are more effective when combined with an inference function using past history and context.
<効果>
実施の形態2の文字認識装置によれば、既に述べたとおり以下の効果を奏する。すなわち、文字認識装置は、使用者の手指を撮像する撮像手段(カメラ40)をさらに備え、入力期間検出手段は、撮像手段によって撮像した手指の形状を検出する形状検出手段を備え、形状検出手段の検出結果に基づいて入力期間と前記移行期間とを検出し、移動検出手段は、前記撮像手段によって撮像した手指の位置を検出する位置検出手段を備え、位置検出手段が検出する手指の位置変化から移動ベクトルを検出する。使用者は手にデバイスを持たずに空中に文字を筆記し、環境側に設置したカメラを利用して文字を認識するため、デバイスを持つ場合に比べてさらに自由度が高く便利な空中手書き入力が実現できる。
<Effect>
According to the character recognition device of the second embodiment, the following effects can be obtained as described above. That is, the character recognition device further includes an imaging unit (camera 40) that images the user's finger, and the input period detection unit includes a shape detection unit that detects the shape of the finger imaged by the imaging unit. The movement detection means includes a position detection means for detecting the position of the finger imaged by the imaging means, and the position change of the finger detected by the position detection means is detected based on the detection result of The movement vector is detected from The user writes the characters in the air without holding the device in his hand and recognizes the characters using the camera installed on the environment side, so the handwriting input in the air is more flexible and convenient than with a device. Can be realized.
10,90 入力システム、12,92 文字入力装置、14 筐体、16 スイッチ、30 CPU、36 RAM、40 カメラ、500 メイン処理プログラム、502 手指の動き検出プログラム、504 コード化プログラム、506 文字特定プログラム、508 文字入力プログラム、520 辞書コードデータ、522 方向データ、524 筆記コードデータ、526 評価用テーブルデータ、528 筆記中フラグ。
10,90 input system, 12,92 character input device, 14 housing, 16 switch, 30 CPU, 36 RAM, 40 camera, 500 main processing program, 502 finger motion detection program, 504 encoding program, 506
Claims (7)
使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段と、
手指の移動を移動ベクトルとして検出する移動検出手段と、
前記入力期間中、前記移動検出手段で検出した前記移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段と、
各文字を筆記した場合に発生する前記移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した辞書コードデータを記憶する辞書コードデータ記憶手段と、
前記筆記コードデータと前記辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段とを備え、
前記筆記コードデータ取得手段は、前記移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、前記所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、前記所定の閾値は、移動量の履歴に基づいて変更されることを特徴とする、
文字認識装置。 An imaging means for imaging a user's finger;
An input period detecting means for detecting an input period for writing a character and a transition period for moving to the next character according to a predetermined operation of the user;
Movement detection means for detecting movement of a finger as a movement vector;
During the input period, the movement vector detected by the movement detection unit is coded including a transition part to the next image, and the writing code data acquisition unit acquires the writing code data compressed according to time series;
Dictionary code data storage means for storing the dictionary code data encoded according to the time series, the movement vector generated when each character is written, including a transition portion to the next picture,
A specifying means for specifying a character written by a user by comparing the writing code data and the dictionary code data;
The writing code data acquisition means determines a stationary state when the movement amount of the movement vector is equal to or less than a predetermined threshold, and encodes the movement vector according to the movement direction when the movement vector is larger than the predetermined threshold. It is changed based on the movement amount history,
Character recognition device.
請求項1に記載の文字認識装置。 The input period detection means comprises a shape detection means for detecting the shape of a finger imaged by the imaging means,
The character recognition device according to claim 1.
前記移動検出手段は、前記撮像手段によって撮像した手指の位置を検出する位置検出手段を備え、前記位置検出手段が検出する手指の位置変化から前記移動ベクトルを検出することを特徴とする、請求項2に記載の文字認識装置。 The input period detection means detects the input period and the transition period based on the detection result of the shape detection means,
The movement detection unit includes a position detection unit that detects a position of a finger imaged by the imaging unit, and detects the movement vector from a change in a finger position detected by the position detection unit. 2. The character recognition device according to 2.
請求項1〜3のいずれかに記載の文字認識装置。 The dictionary code data storage means includes a plurality of the dictionary code data corresponding to each character, and in addition to the case of writing with the correct stroke order and stroke, the dictionary corresponding to the case of writing with the incorrect stroke order and stroke Comprising at least one code data,
The character recognition apparatus in any one of Claims 1-3.
使用者の所定動作に応じ、文字を筆記する入力期間と次文字に移る移行期間とを検出する入力期間検出手段、
手指の移動を移動ベクトルとして検出する移動検出手段、
前記入力期間中、前記移動検出手段で検出した前記移動ベクトルを次画への移行部分を含めてコード化し、時系列にしたがって圧縮した筆記コードデータを取得する筆記コードデータ取得手段、
前記筆記コードデータと予め準備された辞書コードデータとを比較して使用者が筆記した文字を特定する特定手段として機能させ、
前記筆記コードデータ取得手段は、前記移動ベクトルの移動量が所定の閾値以下の時に静止状態と判定し、前記所定の閾値より大きい場合に移動方向に従って移動ベクトルをコード化し、前記所定の閾値を移動量の履歴に基づいて変更することを特徴とする、
文字認識プログラム。 Computer
An input period detecting means for detecting an input period for writing a character and a transition period for moving to the next character in accordance with a predetermined operation of the user;
Movement detection means for detecting movement of a finger as a movement vector;
During the input period, the movement vector detected by the movement detection unit is coded including a transition part to the next picture, and the writing code data acquisition unit acquires the writing code data compressed according to time series,
The writing code data and the dictionary code data prepared in advance are compared to function as a specifying means for specifying the characters written by the user,
The handwritten code data acquisition means determines that the movement vector is stationary when the movement amount of the movement vector is equal to or less than a predetermined threshold, and encodes the movement vector according to the movement direction when the movement vector is larger than the predetermined threshold, and moves the predetermined threshold. Change based on the history of quantity,
Character recognition program.
請求項6に記載の文字認識プログラム。 The input period detection means includes a shape detection means for detecting the shape of a finger imaged by the imaging means ,
The character recognition program according to claim 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009181632A JP5495657B2 (en) | 2009-08-04 | 2009-08-04 | Character recognition device, character recognition program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009181632A JP5495657B2 (en) | 2009-08-04 | 2009-08-04 | Character recognition device, character recognition program |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011034437A JP2011034437A (en) | 2011-02-17 |
JP2011034437A5 JP2011034437A5 (en) | 2012-09-06 |
JP5495657B2 true JP5495657B2 (en) | 2014-05-21 |
Family
ID=43763431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009181632A Expired - Fee Related JP5495657B2 (en) | 2009-08-04 | 2009-08-04 | Character recognition device, character recognition program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5495657B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6406279B2 (en) * | 2016-02-22 | 2018-10-17 | マツダ株式会社 | Automotive braking system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02157986A (en) * | 1988-12-09 | 1990-06-18 | Nec Corp | Recognizing character type designating system |
JPH04195670A (en) * | 1990-11-28 | 1992-07-15 | Toshiba Corp | Handwritten character recognizing japanese syllabary to chinese character conversion system |
US5491758A (en) * | 1993-01-27 | 1996-02-13 | International Business Machines Corporation | Automatic handwriting recognition using both static and dynamic parameters |
JPH08211979A (en) * | 1995-02-02 | 1996-08-20 | Canon Inc | Hand shake input device and method |
JP3574246B2 (en) * | 1995-11-29 | 2004-10-06 | 株式会社リコー | Pattern recognition device |
JPH11143868A (en) * | 1997-11-07 | 1999-05-28 | Toshiba Corp | Character recognition device, input control method and storage medium |
JP2002259046A (en) * | 2001-02-28 | 2002-09-13 | Tomoya Sonoda | System for entering character and symbol handwritten in air |
JP4244614B2 (en) * | 2002-10-31 | 2009-03-25 | 株式会社日立製作所 | Handwriting input device, program, and handwriting input method system |
JP2008108051A (en) * | 2006-10-25 | 2008-05-08 | Funai Electric Co Ltd | Video recording and reproducing device, and character input system |
-
2009
- 2009-08-04 JP JP2009181632A patent/JP5495657B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011034437A (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9746934B2 (en) | Navigation approaches for multi-dimensional input | |
US8902198B1 (en) | Feature tracking for device input | |
US10209881B2 (en) | Extending the free fingers typing technology and introducing the finger taps language technology | |
US8754745B2 (en) | Method and electronic apparatus for creating biological feature data | |
CN109829368B (en) | Palm feature recognition method and device, computer equipment and storage medium | |
CN101751200B (en) | Space input method for mobile terminal and implementation device thereof | |
JP5604279B2 (en) | Gesture recognition apparatus, method, program, and computer-readable medium storing the program | |
US20130069867A1 (en) | Information processing apparatus and method and program | |
US20070018966A1 (en) | Predicted object location | |
US9746929B2 (en) | Gesture recognition using gesture elements | |
WO2015104257A1 (en) | Human-to-computer natural three-dimensional hand gesture based navigation method | |
EP2626813B1 (en) | Apparatus and method for guiding handwriting input for handwriting recognition | |
KR100630806B1 (en) | Command input method using gesture recognition device | |
CN111414837A (en) | Gesture recognition method and device, computer equipment and storage medium | |
JP2020067999A (en) | Method of virtual user interface interaction based on gesture recognition and related device | |
EP4307096A1 (en) | Key function execution method, apparatus and device, and storage medium | |
CN103713845B (en) | Method for screening candidate items and device thereof, text input method and input method system | |
US20230061557A1 (en) | Electronic device and program | |
JP2007200186A (en) | Character recognition device and character recognition program | |
JP5495657B2 (en) | Character recognition device, character recognition program | |
CN104714736A (en) | Control method and terminal for quitting full screen lock-out state | |
JP2016095795A (en) | Recognition device, method, and program | |
WO2019134606A1 (en) | Terminal control method, device, storage medium, and electronic apparatus | |
CN114821600A (en) | Virtual text recognition method, device, medium and electronic device | |
JP2005251222A (en) | Handwritten input device, handwritten input program, and program recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120723 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130813 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131126 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140110 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5495657 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |