JP5729260B2 - Computer program for character recognition, character recognition device, and character recognition method - Google Patents

Computer program for character recognition, character recognition device, and character recognition method Download PDF

Info

Publication number
JP5729260B2
JP5729260B2 JP2011240093A JP2011240093A JP5729260B2 JP 5729260 B2 JP5729260 B2 JP 5729260B2 JP 2011240093 A JP2011240093 A JP 2011240093A JP 2011240093 A JP2011240093 A JP 2011240093A JP 5729260 B2 JP5729260 B2 JP 5729260B2
Authority
JP
Japan
Prior art keywords
character
path
word
candidate
lattice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011240093A
Other languages
Japanese (ja)
Other versions
JP2013097590A (en
Inventor
勇作 藤井
勇作 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011240093A priority Critical patent/JP5729260B2/en
Publication of JP2013097590A publication Critical patent/JP2013097590A/en
Application granted granted Critical
Publication of JP5729260B2 publication Critical patent/JP5729260B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Discrimination (AREA)

Description

本発明は、例えば、媒体に表された文字列を撮影した画像から、その文字列に含まれるそれぞれの文字を認識する文字認識用コンピュータプログラム、文字認識装置及び文字認識方法に関する。   The present invention relates to a character recognition computer program, a character recognition device, and a character recognition method, for example, for recognizing each character included in a character string from an image of a character string represented on a medium.

近年、光学文字認識(Optical Character Recognition, OCR)と呼ばれる、紙またはディスプレイなどの媒体上に表された文字列を撮影した画像を解析することによってその文字列を認識し、電子データ化する文字認識技術が利用されている。このような文字認識技術において、認識された個々の文字の組合せに対して、単語または文章としての整合性を検証することで、認識精度を向上することが検討されている(例えば、特許文献1〜3を参照)。   In recent years, optical character recognition (Optical Character Recognition, OCR) is a character recognition that recognizes a character string by analyzing an image of the character string represented on a medium such as paper or a display, and converts it into electronic data. Technology is being used. In such a character recognition technique, it has been studied to improve recognition accuracy by verifying consistency as a word or a sentence with respect to each recognized combination of characters (for example, Patent Document 1). ~ 3).

例えば、特許文献1に開示された文書認識装置は、画像上の各文字パターンに対して認識候補文字群を求め、各文字パターンの認識候補文字群と町域名辞書とを照合することにより町域名を認識する。   For example, the document recognition apparatus disclosed in Patent Document 1 obtains a recognition candidate character group for each character pattern on the image, and collates the recognition candidate character group of each character pattern with a town name dictionary to identify a town name. Recognize

また、特許文献2に開示された文字認識装置は、個々の文字パターンを文字認識して複数の候補文字と各候補文字の確信度を求める。またこの文字認識装置は、候補文字の列の中から単語を検索し、検索された単語の生起確率を求める。そしてこの文字認識装置は、個々の文字の確信度と文字n-gram確率と単語の生起確率とを統合して最適な候補文字列を選択する。   Moreover, the character recognition apparatus disclosed by patent document 2 character-recognizes each character pattern, and calculates | requires the certainty degree of a some candidate character and each candidate character. The character recognition device searches for a word from the candidate character string and determines the occurrence probability of the searched word. The character recognition apparatus selects the optimum candidate character string by integrating the certainty factor of each character, the character n-gram probability, and the word occurrence probability.

また、特許文献3に開示された検索方法は、検索文字列に含まれる第1の文字とその第1の文字に対応する第2の文字に置き換えた派生文字列を生成し、検索対象文書から、検索文字列及び派生文字列を検索する。   Further, the search method disclosed in Patent Document 3 generates a derived character string in which a first character included in the search character string and a second character corresponding to the first character are generated, and is obtained from the search target document. The search character string and the derived character string are searched.

特開2000−148906号公報JP 2000-148906 A 特開平11−328316号公報JP-A-11-328316 特開2010−225137号公報JP 2010-225137 A

しかしながら、文字認識技術では、文字列中の個々の文字を認識する際に、一つの文字を二つの文字として誤認識することで、本来存在しないはずの文字が挿入されてしまったり、あるいは、本来存在しているはずの文字が欠落してしまうことがある。例えば、「動」という一つの文字が、「重」と「力」という二つの文字として誤認識されてしまうことがある。このような場合、認識された個々の文字を連結した文字列の長さは、本来の文字列の長さと異なることになる。そのため、特許文献1または特許文献2に開示された技術では、検索対象となる辞書において、認識された文字列と一致する単語を見つけることができなくなるおそれがあった。   However, in character recognition technology, when recognizing individual characters in a character string, one character may be misrecognized as two characters, resulting in insertion of a character that should not originally exist, Characters that should exist may be lost. For example, one character “movement” may be erroneously recognized as two characters “heavy” and “power”. In such a case, the length of the character string connecting the recognized individual characters is different from the original length of the character string. Therefore, with the technique disclosed in Patent Document 1 or Patent Document 2, there is a possibility that a word that matches the recognized character string cannot be found in the dictionary to be searched.

一方、特許文献3に開示された技術では、認識された一つの文字を予め登録された誤認識パターンに対応する複数の文字に置換したり、あるいは認識された複数の文字を一つの文字に置換することで派生文字列が生成される。そのため、この技術は、個々の文字を誤認識することで、認識された文字列の長さが本来の文字列の長さと異なる場合でも、正確に文字列を認識できる。   On the other hand, in the technique disclosed in Patent Document 3, one recognized character is replaced with a plurality of characters corresponding to a previously registered erroneous recognition pattern, or a plurality of recognized characters are replaced with one character. By doing so, a derived character string is generated. Therefore, this technique can recognize a character string accurately even if the length of the recognized character string is different from the length of the original character string by misrecognizing each character.

しかしながら、特許文献3に開示された技術では、認識対象となる文字列が長くなるほど、派生文字列の数も増えることになる。その結果、検索対象文書から、検索文字列及び派生文字列を検索するのに要する演算量が膨大となり、検索結果が得られるまでに要する時間も長くなってしまうおそれがあった。   However, in the technique disclosed in Patent Document 3, the number of derived character strings increases as the character string to be recognized becomes longer. As a result, the amount of calculation required to search the search character string and the derived character string from the search target document becomes enormous, and the time required to obtain the search result may be increased.

そこで、本明細書は、画像上の文字列に含まれる個々の文字の認識結果に誤りがある場合でも、その文字列を正確に認識できるとともに、文字列の認識に要する演算量を削減可能な文字認識用コンピュータプログラムを提供することを目的とする。   Therefore, the present specification can accurately recognize a character string even when there is an error in the recognition result of each character included in the character string on the image, and can reduce the amount of calculation required for character string recognition. An object is to provide a computer program for character recognition.

一つの実施形態によれば、文字認識用コンピュータプログラムが提供される。この文字認識用コンピュータプログラムは、媒体上に表された複数の文字を含む文字列を撮影した画像から、複数の文字のそれぞれごとに、その文字が写っていると推定される画像上の文字区間を検出し、複数の文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを求め、複数のパスのそれぞれについて、そのパスに対応する文字区間に写っている文字の候補である候補文字を少なくとも一つ求め、候補文字ラティスに含まれる複数のパスのうち、第1のパスと、その第1のパスと少なくとも一部が重なっている2以上の連続したパスのうちの第2のパスとを、第1のパスの候補文字及び第2のパスの候補文字を含み、かつ、第2のパスと同一の文字区間に対応する第3のパスで置換するか、あるいは第1のパスが上記の2以上の連続したパスの間に挿入されるように候補文字ラティスを修正し、単語辞書に登録された複数の単語のうち、修正された候補文字ラティスにおける連続する2以上のパスのそれぞれに含まれる候補文字の組み合わせと少なくとも一部が一致する単語を文字列に含まれる可能性のある単語として検出し、検出された単語の画像上の文字列中の位置を表す単語パスを候補文字ラティスに追加した候補文字及び単語ラティスを求め、候補文字及び単語ラティスにおいて、単語パスごとに、その単語パスに対応する単語が文字列に含まれる確からしさを表す評価値を求め、候補文字及び単語ラティスに含まれる単語パス及びパスの中から選択した文字列全体に対応する一列に連続した単語パス及びパスの配列ごとに評価値の合計値を求め、その合計値が最も高い配列に含まれる単語パス及びパスの順序に従って整列されたその単語パス及びパスに対応する単語と候補文字の組み合わせを画像上の文字列として推定することをコンピュータに実行させる命令を有する。   According to one embodiment, a computer program for character recognition is provided. This computer program for character recognition uses a character section on an image that is presumed to be captured for each of a plurality of characters from an image of a character string including a plurality of characters represented on a medium. Is obtained for each of the plurality of character sections, and a candidate character lattice that is a set of paths representing a relative positional relationship with other character sections is obtained. At least one candidate character that is a candidate for a character in the corresponding character section is obtained, and at least a part of the first pass overlaps the first pass among the plurality of passes included in the candidate character lattice. The second path of the two or more consecutive paths including the first path candidate character and the second path candidate character, and corresponding to the same character section as the second path Third pa Or the candidate character lattice is corrected so that the first pass is inserted between the two or more consecutive passes, and the corrected candidate among a plurality of words registered in the word dictionary A word that at least partially matches a combination of candidate characters included in each of two or more consecutive paths in the character lattice is detected as a word that may be included in the character string, and the character on the image of the detected word A candidate character and a word lattice obtained by adding a word path representing a position in the sequence to the candidate character lattice are obtained, and in the candidate character and the word lattice, for each word path, the probability that the word corresponding to the word path is included in the character string. An evaluation value that represents the word path and the word path included in the candidate character and the word lattice, and the word path and the continuous word path corresponding to the entire character string selected from the path. The total value of the evaluation values is obtained for each path array, and the word path included in the array having the highest total value and the word path and the combination of words corresponding to the path and candidate characters arranged according to the path order are displayed on the image. It has an instruction which makes a computer perform presumption as a character string.

本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
The objects and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims.
It should be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention as claimed.

ここに開示される文字認識用コンピュータプログラムは、画像上の文字列に含まれる個々の文字の認識結果に誤りがある場合でも、その文字列を正確に認識できるとともに、文字列の認識に要する演算量を削減できる。   The computer program for character recognition disclosed herein can accurately recognize a character string even if there is an error in the recognition result of each character included in the character string on the image, and the calculation required for character string recognition. The amount can be reduced.

一つの実施形態による文字認識装置の概略構成図である。It is a schematic block diagram of the character recognition apparatus by one Embodiment. 処理部の機能を示すブロック図である。It is a block diagram which shows the function of a process part. 画像に写った文字列及びその文字列に対して検出された文字区間の一例を示す図である。It is a figure which shows an example of the character string reflected in the image, and the character area detected with respect to the character string. 図3に示した文字列に対応する候補文字ラティスの一例を示す図である。It is a figure which shows an example of the candidate character lattice corresponding to the character string shown in FIG. 他の文字列に対する候補文字ラティスの一例を示す図である。It is a figure which shows an example of the candidate character lattice with respect to another character string. 候補文字ラティス修正処理の一例の動作フローチャートである。It is an operation | movement flowchart of an example of a candidate character lattice correction process. 候補文字ラティス修正処理の他の一例の動作フローチャートである。It is an operation | movement flowchart of another example of a candidate character lattice correction process. DPマッチングを用いた、最適パスの探索手順の説明図である。It is explanatory drawing of the search procedure of the optimal path | pass using DP matching. 図3に示した文字列に対して、検出された単語のパスを追加した候補文字・単語ラティスの一例を示す図である。It is a figure which shows an example of the candidate character and word lattice which added the path | pass of the detected word with respect to the character string shown in FIG. 文字認識処理の動作フローチャートである。It is an operation | movement flowchart of a character recognition process.

以下、図を参照しつつ、一つの実施形態による、文字認識装置について説明する。この文字認識装置は、紙あるいはディスプレイの画面などの媒体上に表された複数の文字を含む文字列を撮影した画像から、その文字列を認識して電子データ化する。そのために、この文字認識装置は、個々の文字が写っている文字区間に対応する、その文字区間の相対的な位置関係を表すパスの集合である候補文字ラティスを生成する。この文字認識装置は、演算量の削減を図るために、候補文字ラティスに含まれる、一つのパスが他のパスに対して少なくとも一部が重複しているときに、その重複を無くすように何れかのパスを修正することで、単語を検索する際のパスの組み合わせの数を削減する。さらにこの文字認識装置は、単語を検索する際に、パスごとの文字の複数の候補の組合せに対するあいまい検索を行うことで、個々の文字の誤認識により文字列中に含まれる可能性の有る単語が検出されなくなることを防止して、文字列の認識精度の向上を図る。   Hereinafter, a character recognition device according to an embodiment will be described with reference to the drawings. This character recognition device recognizes a character string from an image obtained by photographing a character string including a plurality of characters represented on a medium such as paper or a display screen, and converts the character string into electronic data. For this purpose, this character recognition device generates a candidate character lattice that is a set of paths corresponding to character sections in which individual characters are shown and representing the relative positional relationship of the character sections. In order to reduce the amount of computation, this character recognition device can be used to eliminate duplication when one path included in a candidate character lattice overlaps at least partly with respect to another path. By correcting these paths, the number of path combinations when searching for words is reduced. Furthermore, this character recognition device performs a fuzzy search on a combination of a plurality of candidate characters for each path when searching for a word, so that a word that may be included in a character string due to erroneous recognition of individual characters. Is prevented from being detected and the recognition accuracy of the character string is improved.

図1は、一つの実施形態による文字認識装置の概略構成図である。文字認識装置1は、画像取得部11と、出力部12と、記憶部13と、記憶媒体アクセス装置14と、処理部15とを有する。さらに文字認識装置1は、複数の操作ボタンといった入力装置と、電子データ化された文字列を表示する液晶ディスプレイなどの表示装置を有してもよい。処理部15は、画像取得部11、出力部12、記憶部13及び記憶媒体アクセス装置14と、例えば、バスを介して接続される。   FIG. 1 is a schematic configuration diagram of a character recognition device according to an embodiment. The character recognition device 1 includes an image acquisition unit 11, an output unit 12, a storage unit 13, a storage medium access device 14, and a processing unit 15. Furthermore, the character recognition device 1 may include an input device such as a plurality of operation buttons and a display device such as a liquid crystal display that displays a character string converted into electronic data. The processing unit 15 is connected to the image acquisition unit 11, the output unit 12, the storage unit 13, and the storage medium access device 14 via, for example, a bus.

画像取得部11は、例えば、媒体に表された文字列を撮影するデジタルカメラ、あるいはスキャナを有する。そして画像取得部11は、その文字列が写った画像を生成し、その画像を処理部15へ出力する。   The image acquisition unit 11 includes, for example, a digital camera or a scanner that captures a character string represented on a medium. Then, the image acquisition unit 11 generates an image showing the character string, and outputs the image to the processing unit 15.

あるいは、画像取得部11は、文字認識装置1を、デジタルカメラまたはカメラ付き携帯電話などの画像入力装置(図示せず)と接続するための通信インターフェース及びその制御回路を有してもよい。そのような通信インターフェースは、例えば、Universal Serial Bus(ユニバーサル・シリアル・バス、USB)などの周辺機器接続用の通信規格に従ったインターフェースとすることができる。
あるいは画像取得部11は、イーサネット(登録商標)などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
この場合には、画像取得部11は、画像入力装置または通信ネットワークに接続された他の機器から、文字列が写った画像を取得し、その画像を処理部15へ渡す。
Alternatively, the image acquisition unit 11 may include a communication interface for connecting the character recognition device 1 to an image input device (not shown) such as a digital camera or a camera-equipped mobile phone and a control circuit thereof. Such a communication interface can be an interface in accordance with a communication standard for connecting peripheral devices such as Universal Serial Bus (Universal Serial Bus, USB).
Alternatively, the image acquisition unit 11 may include a communication interface for connecting to a communication network in accordance with a communication standard such as Ethernet (registered trademark) and its control circuit.
In this case, the image acquisition unit 11 acquires an image showing a character string from the image input device or another device connected to the communication network, and passes the image to the processing unit 15.

出力部12は、例えば、文字認識装置1を他の機器と接続するための通信インターフェース及びその制御回路を有する。そのような通信インターフェースは、USBなどの周辺機器接続用の通信規格、あるいはイーサネット(登録商標)などの通信規格に従ったインターフェースとすることができる。
出力部12は、画像に写った文字列を処理部15が認識することにより生成された、電子データ化された文字列を処理部15から受け取り、その電子データ化された文字列を他の機器へ出力する。なお、画像取得部11と出力部12とは、一体化されていてもよい。
The output unit 12 includes, for example, a communication interface for connecting the character recognition device 1 to another device and its control circuit. Such a communication interface can be an interface according to a communication standard for connecting peripheral devices such as USB or a communication standard such as Ethernet (registered trademark).
The output unit 12 receives from the processing unit 15 a character string converted into electronic data, which is generated when the processing unit 15 recognizes the character string shown in the image, and receives the converted character string as another device. Output to. Note that the image acquisition unit 11 and the output unit 12 may be integrated.

記憶部13は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部13は、処理部15上で実行されるコンピュータプログラム、及び画像上の文字列を認識するために用いられる各種の情報、例えば、検索対象となる複数の単語が登録された単語辞書、パスごとの候補文字及び候補文字ラティスを記憶する。また記憶部13は、認識対象となる文字列が写った画像を記憶してもよい。   The storage unit 13 includes, for example, a readable / writable semiconductor memory and a read-only semiconductor memory. The storage unit 13 is a computer program executed on the processing unit 15 and various information used for recognizing the character string on the image, for example, a word dictionary in which a plurality of words to be searched are registered, The candidate character and candidate character lattice for each pass are stored. The storage unit 13 may store an image showing a character string to be recognized.

記憶媒体アクセス装置14は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体16にアクセスする装置である。記憶媒体アクセス装置14は、例えば、記憶媒体16に記憶された、処理部15上で実行される文字認識用コンピュータプログラムを読み込み、処理部15に渡すか、記憶部13に記憶させる。また記憶媒体アクセス装置14は、処理部15により生成された、電子データ化された文字列を記憶媒体16に書き込んでもよい。   The storage medium access device 14 is a device that accesses the storage medium 16 such as a magnetic disk, a semiconductor memory card, and an optical storage medium. For example, the storage medium access device 14 reads a computer program for character recognition executed on the processing unit 15 stored in the storage medium 16 and passes the computer program to the processing unit 15 or stores it in the storage unit 13. The storage medium access device 14 may write the character string converted into electronic data generated by the processing unit 15 into the storage medium 16.

処理部15は、1個または複数個のプロセッサ及びその周辺回路を有する。そして処理部15は、複数の文字を含む文字列が写った画像から、その文字列に含まれる各文字を認識し、各文字に対応する文字コードを文字列の先頭から順に並べることで電子データ化された文字列を生成する。   The processing unit 15 includes one or a plurality of processors and their peripheral circuits. Then, the processing unit 15 recognizes each character included in the character string from an image showing a character string including a plurality of characters, and arranges the character code corresponding to each character in order from the beginning of the character string, thereby electronic data. Generate a character string.

図2は、処理部15の機能を示すブロック図である。処理部15は、文字区間検出部21と、候補文字ラティス生成部22と、候補文字抽出部23と、候補文字ラティス修正部24と、単語検索部25と、推定部26とを有する。処理部15が有するこれらの各部は、例えば、処理部15が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。あるいは、処理部15が有するこれらの各部は、それぞれの機能を実現する回路が集積された集積回路として文字認識装置1に実装されてもよい。   FIG. 2 is a block diagram illustrating functions of the processing unit 15. The processing unit 15 includes a character section detection unit 21, a candidate character lattice generation unit 22, a candidate character extraction unit 23, a candidate character lattice correction unit 24, a word search unit 25, and an estimation unit 26. Each of these units included in the processing unit 15 is, for example, a functional module implemented by a computer program executed on a processor included in the processing unit 15. Alternatively, each of these units included in the processing unit 15 may be mounted on the character recognition device 1 as an integrated circuit in which circuits for realizing the respective functions are integrated.

文字区間検出部21は、画像上に写った文字列に含まれる複数の文字のそれぞれごとに、その文字が写っていると推定される区間である文字区間を検出する。   The character section detection unit 21 detects a character section that is a section in which the character is estimated to be captured for each of a plurality of characters included in the character string captured on the image.

本実施形態では、紙などの媒体に印刷された文字列のように、白い背景上に文字が黒く表現されているものを撮影した画像において、各画素の値は0〜255の範囲内の値を持ち、濃度が濃いほど、画素値も高いとする。なお、ディスプレイの画面に表示された文字列のように、背景の輝度よりも文字の輝度の方が高い場合には、輝度が高いほど、画素値も高くなるように画像は生成されてもよい。また認識対象である文字列は、いわゆる横書きの文字列であり、画像上で水平方向に沿っているとする。なお、認識対象の文字列が、いわゆる縦書きの文字列である場合には、下記の説明における水平方向と垂直方向とを入れ替えればよい。   In this embodiment, the value of each pixel is a value within the range of 0 to 255 in an image obtained by photographing a character represented in black on a white background, such as a character string printed on a medium such as paper. And the higher the density, the higher the pixel value. In addition, when the luminance of the character is higher than the luminance of the background, such as a character string displayed on the display screen, the image may be generated such that the higher the luminance is, the higher the pixel value is. . The character string to be recognized is a so-called horizontally written character string and is assumed to be along the horizontal direction on the image. If the character string to be recognized is a so-called vertical character string, the horizontal direction and the vertical direction in the following description may be switched.

上記のように、本実施形態では、画像上で文字が写っている画素の値は、文字が写っていない画素の値よりも高い。そのため、文字間の区切りに相当する画素の値の平均値は、文字が写っている画素の値の平均値よりも低くなる。そこで、文字区間検出部21は、画像中の一行の文字列に相当する領域に含まれる垂直方向のラインごとに、画素値の合計を求め、その合計値をその垂直ラインに対応する水平位置における画素値の投影値とする。そして文字区間検出部21は、投影値が所定の閾値以下となる位置を、文字の区切りとする。なお、所定の閾値は、例えば、投影値の合計を水平方向の画素数で割ることにより求めた投影値の平均値に所定の係数を乗じた値に設定される。なお、所定の係数は、1以下の正の値、例えば、0.5である。なお、文字区間検出部21は、特開平2−217978号公報に開示されている技術を用いて文字間の区切りを検出してもよい。また、文字区間検出部21は、画像の各画素を、文字が写っている文字画素と文字が写っていない背景画素とに2値化し、垂直方向のラインごとに文字画素の数を集計し、その文字画素の数を投影値としてもよい。この場合、画素を2値化するための閾値は、例えば、画像全体の画素値の平均値、あるいは、画素値の分布に対して判別分析することにより設定されてもよい。   As described above, in the present embodiment, the value of the pixel in which the character is shown on the image is higher than the value of the pixel in which the character is not shown. For this reason, the average value of the pixels corresponding to the separation between characters is lower than the average value of the pixels in which the characters are shown. Therefore, the character section detection unit 21 calculates the sum of the pixel values for each vertical line included in the region corresponding to the character string of one line in the image, and calculates the total value at the horizontal position corresponding to the vertical line. The projection value is a pixel value. The character section detection unit 21 sets a position where the projection value is equal to or less than a predetermined threshold as a character break. The predetermined threshold is set to a value obtained by multiplying the average value of the projection values obtained by dividing the total of the projection values by the number of pixels in the horizontal direction by a predetermined coefficient, for example. The predetermined coefficient is a positive value of 1 or less, for example, 0.5. Note that the character section detection unit 21 may detect a break between characters using a technique disclosed in Japanese Patent Application Laid-Open No. Hei 2-217978. Further, the character section detecting unit 21 binarizes each pixel of the image into a character pixel in which the character is reflected and a background pixel in which the character is not reflected, and totals the number of character pixels for each vertical line, The number of character pixels may be used as the projection value. In this case, the threshold value for binarizing the pixels may be set, for example, by discriminating and analyzing the average value of the pixel values of the entire image or the distribution of the pixel values.

文字区間検出部21は、画像を、水平方向に隣接する二つの文字間の区切りで挟まれた区間のそれぞれを、文字区間とする。文字区間検出部21は、文字区間ごとに一意な識別番号を割り当て、その一意な識別番号とともに、文字区間の左端と右端の水平方向の座標を記憶部13に記憶する。   The character section detection unit 21 sets each of the sections sandwiched between two characters adjacent to each other in the horizontal direction as a character section. The character section detection unit 21 assigns a unique identification number to each character section, and stores the horizontal coordinates of the left and right ends of the character section in the storage unit 13 together with the unique identification number.

なお、画像上の複数の行にわたって文字列が写っていることもある。そこで、画像上に複数の文字列が写っている可能性がある場合には、文字区間検出部21は、上記の文字間の区切りを検出する前に、行間の区切りを検出してもよい。この場合には、文字区間検出部21は、画像中の水平方向のラインごとに、画素値の合計を求め、その合計値をその水平ラインに対応する垂直位置における画素値の投影値とする。そして文字区間検出部21は、投影値が極小値かつ行区切り検出用の閾値以下となる位置を、行の区切りとする。なお、行区切り検出用の閾値は、例えば、水平方向のラインごとの投影値の合計を垂直方向の画素数で割ることにより求めた投影値の平均値に所定の係数(例えば、0.5)を乗じた値に設定される。文字区間検出部21は、画像を、垂直方向に隣接する二つの行の区切りで挟まれた領域ごとに分割し、その分割された画像を一つの文字列を表す画像とする。そして文字区間検出部21は、個々の文字列を表す画像ごとに、上記のように文字間の区切りを検出することで文字区間を検出する。   A character string may be shown over a plurality of lines on the image. Therefore, when there is a possibility that a plurality of character strings are reflected on the image, the character section detection unit 21 may detect the separation between lines before detecting the separation between the characters. In this case, the character section detection unit 21 calculates the sum of the pixel values for each horizontal line in the image, and sets the total value as the projection value of the pixel value at the vertical position corresponding to the horizontal line. Then, the character section detection unit 21 sets the position where the projection value is the minimum value and is equal to or less than the threshold for line break detection as the line break. Note that the threshold for detecting line breaks is obtained by, for example, multiplying the average value of projection values obtained by dividing the total projection value for each line in the horizontal direction by the number of pixels in the vertical direction by a predetermined coefficient (for example, 0.5). Value is set. The character section detection unit 21 divides the image into regions that are sandwiched between two adjacent rows in the vertical direction, and uses the divided image as an image representing one character string. Then, the character section detection unit 21 detects the character section by detecting a break between characters as described above for each image representing each character string.

また、文字列を撮影するカメラと、その文字列との位置関係によっては、文字列の行方向と、画像の水平方向とが一致しないことがある。そこで、文字区間検出部21は、例えば、画像を、所定角度(例えば、5度)ずつ、アフィン変換によって回転し、回転した画像において水平方向のラインごとに投影値を求めてもよい。この場合、文字区間検出部21は、投影値が極小値かつ、所定の閾値以下となるラインの数が最も多いときの回転角の画像を用いて各文字列を検出した後に、文字列ごとに文字区間を検出してもよい。   Also, depending on the positional relationship between the camera that captures the character string and the character string, the row direction of the character string may not match the horizontal direction of the image. Therefore, for example, the character section detection unit 21 may rotate an image by a predetermined angle (for example, 5 degrees) by affine transformation, and obtain a projection value for each horizontal line in the rotated image. In this case, the character section detection unit 21 detects each character string using the image of the rotation angle when the projection value is the minimum value and the number of lines having a predetermined threshold value or less is the largest, and then for each character string. A character interval may be detected.

さらに、文字のなかには、偏と旁からなる漢字のように、水平方向に沿って複数の分離した構成要素を持つ文字が含まれる。このような文字が文字列中に含まれていると、文字区間が文字の個々の構成要素ごとに検出されるおそれがある。   Furthermore, the characters include characters having a plurality of components separated along the horizontal direction, such as kanji characters composed of bias and 旁. If such a character is included in the character string, the character section may be detected for each individual component of the character.

図3は、画像に写った文字列及びその文字列に対して検出された文字区間の一例を示す図である。図3に示された「運動会の始まり」という文字列300に対して各垂直ラインの投影値を表すグラフ310が、文字列300の下方に示されている。また各点線320は、検出された文字間の区切りを表す。例えば、文字「動」に対して、二つの文字区間331、332が設定されていることが分かる。同様に、文字「の」、「始」及び「り」に対しても、それぞれ二つの文字区間が設定されている。   FIG. 3 is a diagram illustrating an example of a character string shown in an image and a character section detected for the character string. A graph 310 representing the projection value of each vertical line with respect to the character string 300 “start of athletic meet” shown in FIG. 3 is shown below the character string 300. Each dotted line 320 represents a break between detected characters. For example, it can be seen that two character sections 331 and 332 are set for the character “motion”. Similarly, two character sections are set for the characters “NO”, “START”, and “RI”, respectively.

そこで、文字区間検出部21は、検出された全ての文字区間のうち、一つの文字の一部に対応する可能性のある文字区間を抽出する。そのために、文字区間検出部21は、検出された全ての文字区間の水平方向の幅の平均値または最頻値を基準文字幅として算出する。そして文字区間検出部21は、連続する複数の文字区間の組のうち、その組に含まれる各文字区間の水平方向の幅の合計が基準文字幅未満となる組を連結したものも、一つの文字区間とする。   Therefore, the character section detection unit 21 extracts a character section that may correspond to a part of one character among all the detected character sections. For this purpose, the character section detection unit 21 calculates the average value or mode value of the widths of all detected character sections in the horizontal direction as the reference character width. The character section detection unit 21 is a combination of a plurality of sets of consecutive character sections in which a set in which the total horizontal width of each character section included in the set is less than the reference character width is connected. A character interval.

候補文字ラティス生成部22は、複数の文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを生成する。そのために、候補文字ラティス生成部22は、検出された全ての文字区間について、その文字区間の左端の座標及び右端の座標を比較して画像の左端側から順に並べることで候補文字ラティスを生成する。   The candidate character lattice generation unit 22 generates a candidate character lattice that is a set of paths that are set for each of a plurality of character segments and that represents a relative positional relationship with other character segments. Therefore, the candidate character lattice generation unit 22 generates candidate character lattices by comparing the left end coordinates and the right end coordinates of the detected character sections and arranging them in order from the left end side of the image. .

図4は、図3に示された文字列300に対応する候補文字ラティスの一例を示す図である。候補文字ラティス400は、16個のパスを有する。個々のパスは矢印で表されており、パスの上にそのパスの識別番号、すなわち、そのパスに対応する文字区間の識別番号が示されている。また、個々のパスに対応する文字及び文字の一部の構成要素が、パスの上方または下方に示されている。例えば、パス1は文字「運」に対応する。またパス2、パス3は、それぞれ、文字「動」の偏と旁に対応している。一方、パス2とパス3が統合されたパス20は、文字「動」に対応している。   FIG. 4 is a diagram showing an example of a candidate character lattice corresponding to the character string 300 shown in FIG. Candidate character lattice 400 has 16 paths. Each path is represented by an arrow, and an identification number of the path, that is, an identification number of a character section corresponding to the path is shown on the path. In addition, characters corresponding to individual paths and some components of the characters are shown above or below the paths. For example, path 1 corresponds to the character “luck”. Paths 2 and 3 respectively correspond to the deviation and wrinkle of the character “motion”. On the other hand, the path 20 obtained by integrating the path 2 and the path 3 corresponds to the character “motion”.

候補文字抽出部23は、個々のパスに対応する文字区間に写っている文字の候補である候補文字を少なくとも一つ抽出する。例えば、候補文字抽出部23は、画像から、個々の文字区間に相当する画像の一部をそれぞれ文字画像として切り出し、その文字画像を2値化する。なお、文字画像を2値化するための閾値は、例えば、その文字画像の平均画素値とすることができる。そして候補文字抽出部23は、2値化された文字画像と、個々の文字の形を表すテンプレートとの間でテンプレートマッチングを実行することにより、文字画像とテンプレート間の認識距離を求める。なお、テンプレートは、例えば、対応する文字のストロークが写っている画素の値が'255'であり、その他の画素の値が'0'である2値画像とすることができる。そして各テンプレートは、予め記憶部13に記憶される。また一つの文字に対して、書体またはサイズが異なる複数のテンプレートが準備されてもよい。認識距離は、例えば、2値化された文字画像とテンプレート間のハミング距離とすることができる。この場合、認識距離が小さいほど、テンプレートに表された文字がその文字画像に写っている可能性が高い。あるいは、候補文字抽出部23は、認識距離の代わりに、文字画像とテンプレート間の相互相関値を求めてもよい。この場合には、総合相関値が高いほど、テンプレートに表された文字がその文字画像に写っている可能性が高い。   The candidate character extraction unit 23 extracts at least one candidate character that is a candidate for a character shown in the character section corresponding to each path. For example, the candidate character extraction unit 23 cuts out a part of an image corresponding to each character section from the image as a character image, and binarizes the character image. The threshold value for binarizing the character image can be, for example, the average pixel value of the character image. Then, the candidate character extraction unit 23 obtains a recognition distance between the character image and the template by executing template matching between the binarized character image and a template representing the shape of each character. For example, the template may be a binary image in which the value of the pixel in which the stroke of the corresponding character is reflected is “255” and the value of the other pixel is “0”. Each template is stored in the storage unit 13 in advance. A plurality of templates with different typefaces or sizes may be prepared for one character. The recognition distance can be, for example, a Hamming distance between the binarized character image and the template. In this case, the smaller the recognition distance, the higher the possibility that the character represented in the template is reflected in the character image. Alternatively, the candidate character extraction unit 23 may obtain a cross-correlation value between the character image and the template instead of the recognition distance. In this case, the higher the overall correlation value, the higher the possibility that the character represented in the template is reflected in the character image.

候補文字抽出部23は、パスごとに、認識距離が小さい方から順に所定数のテンプレートを抽出し、抽出したテンプレートに対応する文字をそのパスの候補文字とする。そして候補文字抽出部23は、抽出した各候補文字に対して、認識距離が短い方から順に順位を付す。なお、所定数は、例えば、1〜5のうちの何れかに設定される。あるいは、候補文字抽出部23は、認識距離が所定距離以下となるテンプレートを全て抽出し、抽出したテンプレートに対応する文字をそのパスの候補文字としてもよい。所定距離は、例えば、テンプレート中に含まれる画素の7割〜8割が文字画像の画素と一致したときの認識距離とすることができる。この場合、候補文字抽出部23は、認識距離が所定距離以下となるテンプレートがないパスについては、認識距離が最小となるテンプレートに対応する文字をそのパスの候補文字とすることが好ましい。
なお、候補文字抽出部23は、画像上に写っている文字を認識する他の公知技術を用いて、パスごとの候補文字を求めてもよい。但しこの場合も、候補文字ごとに、そのパスに対応する文字区間に写っている可能性が高い方から順に順位が付されることが好ましい。
The candidate character extraction unit 23 extracts a predetermined number of templates in order from the smallest recognition distance for each path, and sets characters corresponding to the extracted templates as candidate characters of the path. Then, the candidate character extraction unit 23 ranks the extracted candidate characters in order from the shorter recognition distance. The predetermined number is set to any one of 1 to 5, for example. Alternatively, the candidate character extraction unit 23 may extract all templates whose recognition distance is equal to or less than a predetermined distance, and may use characters corresponding to the extracted template as candidate characters for the path. The predetermined distance can be, for example, a recognition distance when 70% to 80% of the pixels included in the template match the pixels of the character image. In this case, the candidate character extraction unit 23 preferably uses the character corresponding to the template with the smallest recognition distance as the candidate character of the path for the path without the template with the recognition distance equal to or smaller than the predetermined distance.
Note that the candidate character extraction unit 23 may obtain a candidate character for each pass by using another known technique for recognizing characters appearing on the image. However, in this case as well, it is preferable that each candidate character is ranked in order from the highest possibility that it appears in the character section corresponding to the path.

再度図4を参照すると、パスごとに、3個の候補文字が示されている。例えば、パス1に対して、'運'、'連'、'達'という3個の候補文字が示されている。
候補文字抽出部23は、パスごとに抽出された候補文字を表すコードを、その候補文字に対応する順位とともに、そのパスと関連付けて記憶部13に記憶する。
Referring again to FIG. 4, three candidate characters are shown for each pass. For example, three candidate characters “luck”, “ream”, and “achi” are shown for path 1.
The candidate character extraction unit 23 stores the code representing the candidate character extracted for each path in the storage unit 13 in association with the path together with the rank corresponding to the candidate character.

再度図4を参照すると、候補文字ラティス400には、文字列300全体に対応する一列に連続したパスの配列が複数存在する。そして、少なくとも一部が重なっているパス同士は排他的であり、同一のパスの配列には含まれない。例えば、パス2及びパス3が文字列300全体に対応するパスの配列の一部として選択されると、パス20はそのパスの配列には含まれない。逆に、パス20が文字列300全体に対応するパスの配列の一部として選択されると、パス2及びパス3はそのパスの配列には含まれない。   Referring again to FIG. 4, the candidate character lattice 400 includes a plurality of consecutive arrays of paths corresponding to the entire character string 300. The paths that overlap at least partially are exclusive, and are not included in the same path array. For example, if path 2 and path 3 are selected as part of a path array corresponding to the entire character string 300, the path 20 is not included in the path array. Conversely, when the path 20 is selected as a part of the path array corresponding to the entire character string 300, the path 2 and the path 3 are not included in the path array.

図5は、他の文字列に対する候補文字ラティスの一例を示す図である。図5に示す例では、「認知」という文字列500に対して、x2〜x6という5点の文字間の区切りが検出されている。またx1、x7は、それぞれ、文字列500の左端と右端に対応する。この例では、文字「認」、「知」それぞれの偏と旁の境界も文字間の区切りとして検出されている。そのため、文字列500には二文字しか含まれていないにもかかわらず、文字列500に対応する候補文字ラティス510は、8個のパスA1〜A8を含んでいる。したがって、排他的なパスの組(例えば、パスA1、A4とパスA6、パスA6とパスA7など)も多数存在する。その結果として、文字列500全体に対応する、一列に連続したパスの配列も多数存在する。   FIG. 5 is a diagram illustrating an example of a candidate character lattice for another character string. In the example illustrated in FIG. 5, a break between five characters x2 to x6 is detected for the character string 500 of “recognition”. X1 and x7 correspond to the left end and the right end of the character string 500, respectively. In this example, the boundary between each character “K” and “K” is detected as a break between characters. Therefore, even though the character string 500 includes only two characters, the candidate character lattice 510 corresponding to the character string 500 includes eight paths A1 to A8. Therefore, there are a large number of exclusive path pairs (for example, paths A1, A4 and A6, paths A6 and A7, etc.). As a result, there are also a large number of consecutive path arrays corresponding to the entire character string 500.

図4及び図5に示されるように、排他的なパスの組が増えると、文字列全体に対応するパスの配列の数も増加する。そして、文字列に含まれる単語の検索に失敗することを防止するためには、パスの配列ごとに単語が検索されることになるので、パスの配列の数が増えるほど、単語検索に要する演算量も増大する。   As shown in FIGS. 4 and 5, as the number of exclusive path sets increases, the number of path arrays corresponding to the entire character string also increases. In order to prevent a search for a word contained in a character string from failing, a word is searched for each path array. Therefore, as the number of path arrays increases, the calculation required for the word search is increased. The amount also increases.

そこで、候補文字ラティス修正部24は、画像に写った文字列全体に対応する一列に連続するパスの配列の数を削減するよう、排他的なパスの組に含まれるパスを修正することにより、候補文字ラティスを修正する。本実施形態では、候補文字ラティス修正部24は、以下の条件を満たすように候補文字ラティスを修正する。
(1)互いに排他的でない複数のパス、すなわち、文字列全体に対応する一列に連続するパスの同一の配列に含まれることが可能なパスの組については、候補文字ラティス修正部24は、それら複数のパスの順序を維持し、かつ、排他的でない状態を保つ。
(2)互いに排他的な複数のパスについては、候補文字ラティス修正部24は、長い方のパスを短い方のパスと一致させるよう修正した上で統合する。ただし、統合することによって(1)の条件が満たされなくなる場合には、候補文字ラティス修正部24は、長い方のパスを、そのパスに対して排他的なパスに隣接するように修正する。
(3)候補文字ラティス修正部24は、長い方のパスに対して排他的な相対的に短いパスが複数存在する場合には、長い方のパスをその複数の相対的に短いパスの何れと統合してもよい。あるいは、候補文字ラティス修正部24は、長い方のパスを複製して、複数の相対的に短いパスのそれぞれと統合してもよい。
(4)候補文字ラティス修正部24は、複数のパスを統合する際、各パスに対応する文字区間及び候補文字を、統合されたパスに対応付ける。
Therefore, the candidate character lattice correction unit 24 corrects the paths included in the exclusive path set so as to reduce the number of consecutive paths in a row corresponding to the entire character string shown in the image. Modify the candidate character lattice. In the present embodiment, the candidate character lattice correction unit 24 corrects the candidate character lattice so as to satisfy the following conditions.
(1) For a plurality of paths that are not mutually exclusive, that is, a set of paths that can be included in the same array of consecutive paths corresponding to the entire character string, the candidate character lattice correcting unit 24 Maintain the order of multiple paths and keep them non-exclusive.
(2) For a plurality of mutually exclusive paths, the candidate character lattice correcting unit 24 corrects and integrates the longer path with the shorter path. However, if the condition (1) is not satisfied by the integration, the candidate character lattice correction unit 24 corrects the longer path so as to be adjacent to the path exclusive to the path.
(3) If there are a plurality of relatively short paths exclusive to the longer path, the candidate character lattice correction unit 24 determines the longer path as any of the plurality of relatively short paths. You may integrate. Alternatively, the candidate character lattice correction unit 24 may duplicate the longer path and integrate it with each of a plurality of relatively short paths.
(4) When the candidate character lattice correcting unit 24 integrates a plurality of paths, the candidate character lattice correcting unit 24 associates the character section and the candidate character corresponding to each path with the integrated path.

図6は、候補文字ラティス修正部24により実行される、上記の各条件を満たしつつ、候補文字ラティスを修正するための候補文字ラティス修正処理の一例の動作フローチャートである。また以下の説明では、理解を容易にするために、適宜図5に示された候補文字ラティス500を参照する。   FIG. 6 is an operation flowchart of an example of candidate character lattice correction processing for correcting the candidate character lattice while satisfying each of the above conditions, which is executed by the candidate character lattice correcting unit 24. In the following description, the candidate character lattice 500 shown in FIG. 5 is referred to as appropriate for easy understanding.

候補文字ラティス修正部24は、複数のパスのうち、自身に対応する文字区間よりも短い文字区間に対応する他のパスと重ならないパスを確定グループαに分類する(ステップS101)。候補文字ラティス修正部24は、確定グループαに分類されなかったパスを未確定グループβに分類する(ステップS102)。   Candidate character lattice correction unit 24 classifies paths that do not overlap with other paths corresponding to character sections shorter than the character sections corresponding to the candidate character lattice correction unit α among the plurality of paths to the confirmed group α (step S101). The candidate character lattice correction unit 24 classifies the paths that have not been classified into the confirmed group α into the unconfirmed group β (step S102).

再度図5を参照すると、候補文字ラティス500に含まれる各パスには、それぞれのパスに対応する文字区間が短い方から順に識別番号A1〜A8が付されている。そしてパスA1〜パスA4は、自身の文字区間よりも短い文字区間に対応する他のパスと重ならない。そのため、パスA1〜A4は確定グループαに分類される。一方、パスA5〜A8は、自身の文字区間よりも短い文字区間に対応する他のパスと少なくとも一部が重なっている。例えば、パスA5の文字区間は、パスA2及びA3の文字区間と重なっており、パスA6の文字区間は、パスA1及びA4の文字区間と重なっている。そのため、パスA5〜A8は未確定グループβに分類される。   Referring to FIG. 5 again, each path included in the candidate character lattice 500 is assigned identification numbers A1 to A8 in order from the shorter character section corresponding to each path. The paths A1 to A4 do not overlap with other paths corresponding to a character section shorter than its own character section. Therefore, the paths A1 to A4 are classified into the confirmed group α. On the other hand, the paths A5 to A8 are at least partially overlapped with other paths corresponding to a character section shorter than its own character section. For example, the character section of path A5 overlaps with the character sections of paths A2 and A3, and the character section of path A6 overlaps with the character sections of paths A1 and A4. Therefore, the paths A5 to A8 are classified into the indeterminate group β.

次に、候補文字ラティス修正部24は、確定グループα内のパスを、文字列の先頭から終端へ向かう座標順にソートして修正パス列P={p[1],p[2],....}を生成する。さらに候補文字ラティス修正部24は、修正パス列P内の各修正パスp[k]に対応する、すなわち、修正パスp[k]に対して排他的なパスの集合である他の候補パス群{Qk}を空集合として初期化する(ステップS103)。例えば、候補文字ラティス500について、修正パス列Pは、下記の表1に示されるように、パスA1〜パスA4を、A1、A4、A3、A2の順に含む。

Figure 0005729260
なお、表1には、各修正パスp[k]について、元の候補文字ラティスにおけるパスの識別番号、パスに対応する文字区間(すなわち、その文字区間の左端及び右端の座標)、そのパスについて抽出された候補文字及び他の候補パス群が対応付けられる。例えば、修正パスp[1]には、識別番号A1、パスA1の文字区間[x1,x2]、候補文字「言」が対応付けられている。なお、候補文字が複数ある場合には、すべての候補文字が対応付けられる。例えば、パスA1に対して3個の候補文字「言」、「吉」、「忘」が抽出されている場合、これらの候補文字すべてが修正パスp[1]に対応付けられる。
また、この時点では、修正パス列Pに含まれる修正パスp[k]と未確定グループに属するパスとの位置関係は調べられていないので、各修正パスについての他の候補パス群は空集合となっている。 Next, the candidate character lattice correcting unit 24 sorts the paths in the confirmed group α in the coordinate order from the beginning to the end of the character string, and corrects the corrected path string P = {p [1], p [2],. ..} is generated. Further, the candidate character lattice correcting unit 24 corresponds to each corrected path p [k] in the corrected path sequence P, that is, another candidate path group that is a set of paths exclusive to the corrected path p [k]. {Qk} is initialized as an empty set (step S103). For example, for the candidate character lattice 500, the corrected path sequence P includes paths A1 to A4 in the order of A1, A4, A3, and A2, as shown in Table 1 below.
Figure 0005729260
In Table 1, for each corrected path p [k], the path identification number in the original candidate character lattice, the character section corresponding to the path (that is, the coordinates of the left and right ends of the character section), and the path The extracted candidate characters are associated with other candidate path groups. For example, the corrected path p [1] is associated with the identification number A1, the character section [x1, x2] of the path A1, and the candidate character “word”. When there are a plurality of candidate characters, all candidate characters are associated. For example, when three candidate characters “word”, “kichi”, and “forget” are extracted for the path A1, all these candidate characters are associated with the corrected path p [1].
At this time, since the positional relationship between the corrected path p [k] included in the corrected path sequence P and the path belonging to the indeterminate group has not been examined, the other candidate path groups for each corrected path are empty sets. It has become.

候補文字ラティス修正部24は、未確定グループβに属するパスの何れかを注目パスAとして選択する(ステップS104)。なお、候補文字ラティス修正部24は、例えば、未確定グループβに属するパスの中で対応する文字区間が最も短いパスから順に注目パスAとして選択する。あるいは、候補文字ラティス修正部24は、例えば、未確定グループβに属するパスの中で最も文字列の先頭に近いパスから順に注目パスAとして選択してもよい。そして候補文字ラティス修正部24は、修正パス列Pに含まれる修正パスp[k]のうち、注目パスAと少なくとも一部が重なる修正パスp[j]の何れかを選択する(ステップS105)。候補文字ラティス修正部24は、修正パスp[j]に対応する他の候補パスのうちで注目パスAと重ならないパスがあるか否か判定する(ステップS106)。修正パスp[j]に対応する他の候補パスが無いか、または、他の候補パスのうちで注目パスAと重ならないパスがなければ(ステップS106−No)、候補文字ラティス修正部24は、p[j]に対応する他の候補パス群{Qk}にパスAを追加する(ステップS107)。   The candidate character lattice correction unit 24 selects any of the paths belonging to the unconfirmed group β as the attention path A (step S104). Note that the candidate character lattice correction unit 24 selects, for example, the attention path A in order from the path having the shortest corresponding character section among the paths belonging to the unconfirmed group β. Alternatively, the candidate character lattice correcting unit 24 may select, for example, the attention path A in order from the path closest to the head of the character string among the paths belonging to the unconfirmed group β. Then, the candidate character lattice correction unit 24 selects, from among the correction paths p [k] included in the correction path sequence P, any one of the correction paths p [j] that at least partially overlaps the target path A (step S105). . The candidate character lattice correction unit 24 determines whether there is a path that does not overlap the target path A among the other candidate paths corresponding to the correction path p [j] (step S106). If there is no other candidate path corresponding to the corrected path p [j], or if there is no path that does not overlap with the target path A among the other candidate paths (step S106-No), the candidate character lattice correcting unit 24 , P [j], path A is added to another candidate path group {Qk} (step S107).

例えば、注目パスAがパスA5であれば、修正パスp[3]、すなわちパスA3または修正パスp[4]、すなわちパスA2が選択されることになる。例えば、修正パスp[3]が選択されたとすると、この時点では、修正パスp[3]に対応する他の候補パスは存在しない。したがって、修正パスp[3]の他の候補パス群にパスA5が追加される。   For example, if the target path A is the path A5, the correction path p [3], that is, the path A3 or the correction path p [4], that is, the path A2 is selected. For example, if the correction path p [3] is selected, there is no other candidate path corresponding to the correction path p [3] at this time. Accordingly, the path A5 is added to another candidate path group of the corrected path p [3].

ステップS107の後、あるいは、修正パスp[j]に対応する他の候補パスがあり、かつ、他の候補パスのうちで注目パスAと重ならないパスがある場合(ステップS106−Yes)、候補文字ラティス修正部24は注目パスAと重なる他の修正パスが有るか否か判定する(ステップS108)。注目パスAと重なる他の修正パスが有れば(ステップS108−Yes)、候補文字ラティス修正部24は、ステップS105以降の処理を繰り返す。   After step S107, or when there is another candidate path corresponding to the corrected path p [j] and there is a path that does not overlap with the target path A among the other candidate paths (step S106-Yes), the candidate The character lattice correction unit 24 determines whether there is another correction path that overlaps the target path A (step S108). If there is another correction path that overlaps the target path A (step S108—Yes), the candidate character lattice correction unit 24 repeats the processing from step S105 onward.

例えば、注目パスとしてのパスA5に対して最初に修正パスp[3]が選択されていると、候補文字ラティス修正部24は、次に修正パスp[4]、すなわち、パスA2を選択する。この時点では、修正パスp[4]に対応する他の候補パスは存在しない。したがって、修正パスp[4]の他の候補パス群にパスA5が追加される。   For example, when the correction path p [3] is first selected for the path A5 as the attention path, the candidate character lattice correction unit 24 next selects the correction path p [4], that is, the path A2. . At this time, there is no other candidate path corresponding to the corrected path p [4]. Accordingly, the path A5 is added to another candidate path group of the corrected path p [4].

一方、注目パスAと重なる他の修正パスがなければ(ステップS108−No)、候補文字ラティス修正部24は、注目パスAは何れかの修正パスp[j]の他の候補パス群{Qj}に追加されたか否か判定する(ステップS109)。注目パスAが何れかの修正パスp[j]の他の候補パス群{Qj}に追加されていれば(ステップS109−Yes)、候補文字ラティス修正部24は、未確定グループβ内に未注目のパスが残っているか否か判定する(ステップS111)。そして未注目のパスが残っていれば(ステップS111−Yes)、候補文字ラティス修正部24は、ステップS104以降の処理を繰り返す。   On the other hand, if there is no other correction path that overlaps the attention path A (step S108-No), the candidate character lattice correction unit 24 determines that the attention path A is one of the other candidate paths {Qj] } Is determined (step S109). If the target path A has been added to another candidate path group {Qj} of any correction path p [j] (step S109—Yes), the candidate character lattice correction unit 24 has not yet entered the unconfirmed group β. It is determined whether or not the target path remains (step S111). If an unfocused path remains (step S111—Yes), the candidate character lattice correction unit 24 repeats the processing after step S104.

例えば、パスA5の後、パスA6、A7が順次注目パスとして選択され、ステップS104〜S111の処理が行われたとする。この時点での修正パス列Pの対応表は以下のようになる。

Figure 0005729260
図5及び表2に示されるように、パスA6、パスA7は、修正パスp[1]、p[2]に対して、他の候補パスが無いか、あるいは他の候補パス群内にパスA6、A7と重ならないパスは無いので、修正パスp[1]、p[2]の他の候補群{Q1}、{Q2}にそれぞれ追加されている。 For example, it is assumed that after the path A5, the paths A6 and A7 are sequentially selected as the target path, and the processes in steps S104 to S111 are performed. The correspondence table of the corrected path sequence P at this time is as follows.
Figure 0005729260
As shown in FIG. 5 and Table 2, the path A6 and the path A7 have no other candidate paths with respect to the corrected paths p [1] and p [2], or are paths within other candidate path groups. Since there is no path that does not overlap with A6 and A7, they are added to the other candidate groups {Q1} and {Q2}, respectively, of the corrected paths p [1] and p [2].

一方、ステップS109にて、注目パスAが何れの修正パスp[j]の他の候補パス群{Qj}にも追加されていなければ(ステップS109−No)、候補文字ラティス修正部24は、修正パス列Pに対して、パスAと重なる複数の修正パスの間に、新たな修正パスとしてパスAを追加する(ステップS110)。   On the other hand, if the attention path A is not added to any other candidate path group {Qj} in any correction path p [j] in step S109 (step S109-No), the candidate character lattice correction unit 24 For the correction path sequence P, a path A is added as a new correction path between a plurality of correction paths overlapping the path A (step S110).

例えば、図5及び表2を参照すると、最後の未注目パスであるパスA8が注目パスに設定されたとすると、パスA8は修正パスp[2]、すなわちパスA4及び修正パスp[3]、すなわちパスA3と重なっている。しかし、修正パスp[2]の他の候補群{Q2}には、パスA8と重ならないパスA7が含まれている。同様に、修正パスp[3]の他の候補群{Q3}にも、パスA8と重ならないパスA5が含まれている。そのため、パスA8は、何れの修正パスp[j]の他の候補群にも追加されない。そして、パスA8の文字区間の途中に、修正パスp[2]に対応する文字区間と修正パスp[3]に対応する文字区間の境界が位置している。そのため、パスA8は、修正パスp[2]と修正パスp[3]の間に追加される。   For example, referring to FIG. 5 and Table 2, if the last unfocused path A8 is set as the focused path, the path A8 is the modified path p [2], that is, the path A4 and the modified path p [3], That is, it overlaps with the path A3. However, another candidate group {Q2} of the corrected path p [2] includes a path A7 that does not overlap the path A8. Similarly, the other candidate group {Q3} of the corrected path p [3] includes a path A5 that does not overlap with the path A8. Therefore, the path A8 is not added to any other candidate group of any correction path p [j]. A boundary between the character section corresponding to the correction path p [2] and the character section corresponding to the correction path p [3] is located in the middle of the character section of the path A8. Therefore, the path A8 is added between the correction path p [2] and the correction path p [3].

ステップS110の後、候補文字ラティス修正部24は、未確定グループβ内に未注目のパスが残っているか否か判定する(ステップS111)。そして未注目のパスが残っていれば(ステップS111−Yes)、候補文字ラティス修正部24は、ステップS104以降の処理を繰り返す。
一方、未注目のパスが残っていなければ(ステップS111−No)、候補文字ラティス修正部24は、他の候補パス群{Qk}についての候補文字を全て修正パスp[k]の候補文字として追加する(ステップS112)。そして修正パス列Pが、修正候補文字ラティスとなる。この場合、他の候補パス群{Qk}が空集合でない修正パスp[k]は、その修正パスp[k]に対応する確定グループα内のパス及び他の候補パス群{Qk}に含まれるパスを置換するものとなる。
その後、候補文字ラティス修正部24は、候補文字ラティス修正処理を終了する。
After step S110, the candidate character lattice correction unit 24 determines whether or not an unfocused path remains in the unconfirmed group β (step S111). If an unfocused path remains (step S111—Yes), the candidate character lattice correction unit 24 repeats the processing after step S104.
On the other hand, if there is no unfocused path remaining (step S111-No), the candidate character lattice correcting unit 24 sets all candidate characters for the other candidate path group {Qk} as candidate characters for the corrected path p [k]. It adds (step S112). Then, the correction path string P becomes a correction candidate character lattice. In this case, the modified path p [k] in which the other candidate path group {Qk} is not an empty set is included in the path in the fixed group α and the other candidate path group {Qk} corresponding to the modified path p [k]. Which will replace the path
Thereafter, the candidate character lattice correction unit 24 ends the candidate character lattice correction process.

表3は、最終的に作成された修正候補文字ラティスのパス及び候補文字の一覧である。

Figure 0005729260
修正候補文字ラティスの各パスには、そのパスに関連付けられた元の候補文字ラティスのパスの識別番号及びそのパスの候補文字がその順位とともに関連付けられる。表3に示されるように、修正候補文字ラティスに含まれる統合されたパスについての候補文字の数は元の個々のパスについての候補文字の数よりも増えるものの、修正候補文字ラティスは互いに排他的なパスの組を含んでいない。そのため、修正候補文字ラティスは、元の候補文字ラティスよりも簡単な構造を有している。 Table 3 is a list of paths and candidate characters of the correction candidate character lattice finally created.
Figure 0005729260
Each path of the correction candidate character lattice is associated with the path identification number of the original candidate character lattice associated with the path and the candidate character of the path together with its rank. As shown in Table 3, although the number of candidate characters for the integrated path included in the correction candidate character lattice is greater than the number of candidate characters for the original individual path, the correction candidate character lattices are mutually exclusive. Does not contain a complete set of paths. Therefore, the correction candidate character lattice has a simpler structure than the original candidate character lattice.

図7は、候補文字ラティス修正部24により実行される、上記の各条件を満たしつつ、候補文字ラティスを修正するための候補文字ラティス修正処理の他の一例の動作フローチャートである。また以下の説明においても、理解を容易にするために、適宜図5に示された候補文字ラティス500を参照する。   FIG. 7 is an operation flowchart of another example of candidate character lattice correction processing for correcting the candidate character lattice while satisfying each of the above conditions, which is executed by the candidate character lattice correction unit 24. Also in the following description, the candidate character lattice 500 shown in FIG. 5 is referred to as appropriate for easy understanding.

候補文字ラティス修正部24は、候補文字ラティスに含まれるパスの境界を先頭から順に全て抽出する(ステップS201)。そして候補文字ラティス修正部24は、(パスの境界の数-1)個の修正パスを含むパス記憶領域を記憶部13に設定する(ステップS202)。
例えば、候補文字ラティス500では、先頭から順にx1〜x7の7個の境界があるので、下記の表4のように、6個の修正パスを含むパス記憶領域が設定される。

Figure 0005729260
表4において、一番上の行は修正パスの先頭からの順序を表す。二番目の行は各修正パスに対応する区間の左端と右端の水平座標を表す。3番目の行は、修正パスに割り当てられた元の候補文字ラティスのパスの識別番号を表す。そして一番下の行は、修正パスに割り当てられたパスについての候補文字の集合を表す。この時点では、何れの修正パスにもパスは割り当てられていないので、下の2行は空欄となっている。 The candidate character lattice correction unit 24 extracts all the boundaries of the paths included in the candidate character lattice in order from the top (step S201). Then, the candidate character lattice correction unit 24 sets a path storage area including (number of path boundaries-1) correction paths in the storage unit 13 (step S202).
For example, in candidate character lattice 500, since there are seven boundaries x1 to x7 in order from the top, a path storage area including six correction paths is set as shown in Table 4 below.
Figure 0005729260
In Table 4, the top line represents the order from the beginning of the correction path. The second row represents the horizontal coordinates of the left and right ends of the section corresponding to each correction path. The third row represents the path identification number of the original candidate character lattice assigned to the modified path. The bottom line represents a set of candidate characters for the path assigned to the correction path. At this time, since no path is assigned to any of the correction paths, the lower two lines are blank.

候補文字ラティス修正部24は、各パスを、そのパスに対応する文字区間と修正パスの区間との重なり幅が最も大きい修正パスに割り当てる(ステップS203)。
例えば、x1=10、x2=25、x3=30、x4=40とする。この場合、パスA6は、修正パスM1[x1,x2]、M2[x2,x3]、M3[x3,x4]と重なっているが、このうち修正パスM1との重なり幅が最も大きい。そこで候補文字ラティス修正部24は、パスA6を修正パスM1に割り当てる。
表5は、全てのパスを何れかの修正パスに割り当てたときのパス記憶領域を表す。

Figure 0005729260
なお、表5では、簡単化のために、各パスについて一つの候補文字だけが示されている。 The candidate character lattice correction unit 24 assigns each path to a correction path having the largest overlap width between the character section corresponding to the path and the section of the correction path (step S203).
For example, x1 = 10, x2 = 25, x3 = 30, and x4 = 40. In this case, the path A6 overlaps with the correction paths M1 [x1, x2], M2 [x2, x3], and M3 [x3, x4], but the overlap width with the correction path M1 is the largest. Therefore, the candidate character lattice correction unit 24 assigns the path A6 to the correction path M1.
Table 5 shows path storage areas when all paths are assigned to any of the correction paths.
Figure 0005729260
In Table 5, for simplification, only one candidate character is shown for each path.

候補文字ラティス修正部24は、全てのパスが修正パスの何れかに割り当てられた後、1以上のパスが割り当てられた修正パスを先頭から順に抽出し、修正候補文字ラティスのパスとする(ステップS204)。そして候補文字ラティス修正部24は、抽出された修正パスに割り当てられたパスの候補文字を、修正候補文字ラティスのパスの候補文字とする(ステップS205)。この例でも、複数のパスが割り当てられた修正パスは、それら複数のパスを統合し、かつそれら複数のパスを置換するものとなる。
その後、候補文字ラティス修正部24は、候補文字ラティス修正処理を終了する。
After all paths are assigned to any of the correction paths, the candidate character lattice correction unit 24 sequentially extracts the correction paths to which one or more paths are assigned from the top, and sets the paths as the correction candidate character lattice (step). S204). Then, the candidate character lattice correction unit 24 sets the candidate character of the path assigned to the extracted correction path as the candidate character of the path of the correction candidate character lattice (step S205). In this example as well, a correction path to which a plurality of paths are assigned integrates the plurality of paths and replaces the plurality of paths.
Thereafter, the candidate character lattice correction unit 24 ends the candidate character lattice correction process.

例えば、表5に示されるように、修正パスM1、M3、M5、M6には1以上のパスが割り当てられている。そこで、修正パスM1、M3、M5、M6が修正候補文字ラティスのパスとして抽出される。表6は、最終的に得られる修正候補文字ラティスのパス及び候補文字の一覧である。

Figure 0005729260
For example, as shown in Table 5, one or more paths are assigned to the correction paths M1, M3, M5, and M6. Therefore, the correction paths M1, M3, M5, and M6 are extracted as paths for the correction candidate character lattice. Table 6 is a list of correction candidate character lattice paths and candidate characters that are finally obtained.
Figure 0005729260

なお、変形例によれば、ステップS203において、候補文字ラティス修正部24は、各パスを、そのパスと少なくとも一部が重なる全ての修正パスに割り当ててもよい。この場合、例えば、パスA6は、修正パスM1〜M3にそれぞれ割り当てられる。表7は、この変形例により全てのパスが何れかの修正パスに割り当てられたときのパス記憶領域を表す。

Figure 0005729260
Note that, according to the modification, in step S203, the candidate character lattice correction unit 24 may assign each path to all the correction paths that at least partially overlap the path. In this case, for example, the path A6 is assigned to each of the correction paths M1 to M3. Table 7 shows a path storage area when all paths are assigned to any of the correction paths according to this modification.
Figure 0005729260

上記のように、何れの候補文字ラティス修正処理が実行されても、修正候補文字ラティスは、排他的なパスを含まないので、文字列全体に対応する一列に連続したパスの配列は一通りとなる。   As described above, since any candidate character lattice correction process is executed, the correction candidate character lattice does not include an exclusive path. Therefore, there is a single array of paths that are continuous in a line corresponding to the entire character string. Become.

単語検索部25は、記憶部13に記憶された単語辞書に登録された複数の単語のうち、修正候補文字ラティスの少なくとも一部のパスの配列に含まれる候補文字の組み合わせと少なくとも一部が一致する単語を検出する。
本実施形態では、単語検索部25は、単語辞書中に登録されている単語を検索するために、動的計画法(Dynamic Programming)によるマッチング手法(以下、DPマッチングと呼ぶ)を利用する。
The word search unit 25 matches at least a part of a combination of candidate characters included in the array of at least a part of the correction candidate character lattice among a plurality of words registered in the word dictionary stored in the storage unit 13. Detect the word you want.
In the present embodiment, the word search unit 25 uses a matching method (hereinafter referred to as DP matching) based on dynamic programming in order to search for words registered in the word dictionary.

図8は、本実施形態により利用されるDPマッチングを用いた、最適パスの探索手順の説明図である。図8において、検索対象単語に含まれる文字数に1加算した数を縦軸の格子数、修正候補文字ラティスの少なくとも一部に含まれるパスの数に1加算した数を横軸の格子数として、碁盤目状に格子点が配置されている。この例では、検索対象単語810は「運動会」であり、3個の文字を含む。そして各文字は、先頭から順に、上から順に一つの行の格子点に対応付けられている。一方、修正候補文字ラティスのパス数は4個であり、先頭のパスから終端のパスまで左側から順に一つの列の格子点に対応付けられている。また各パスには、1以上の候補文字811〜814が対応付けられている。例えば、先頭のパスには、3個の候補文字「運」、「連」、「達」が対応付けられている。各パスの候補文字の中から選択した一つの文字を先頭側のパスから順に連結して得られる文字列を、ここでは入力文字列と呼ぶ。   FIG. 8 is an explanatory diagram of an optimum path search procedure using DP matching used in the present embodiment. In FIG. 8, the number obtained by adding 1 to the number of characters included in the search target word is the number of lattices on the vertical axis, and the number obtained by adding 1 to the number of paths included in at least a part of the correction candidate character lattice is the number of lattices on the horizontal axis. Grid points are arranged in a grid pattern. In this example, the search target word 810 is “athletic meet” and includes three characters. Each character is associated with a grid point in one row in order from the top in order from the top. On the other hand, the number of paths of the correction candidate character lattice is four, and the correction candidate character lattice is associated with lattice points in one column in order from the left side from the first path to the last path. Each path is associated with one or more candidate characters 811 to 814. For example, three candidate characters “luck”, “ream”, and “achi” are associated with the first path. A character string obtained by concatenating one character selected from the candidate characters of each path in order from the first path is referred to as an input character string here.

単語検索部25は、左上端の格子点から右下端の格子点へ向かう経路のうち最適な経路を探索する。評価値として、例えば、検索対象単語と入力文字列間の編集距離、あるいは検索対象単語と入力文字列間で一致する文字の個数が用いられる。評価値として編集距離が用いられる場合、単語検索部25は、評価値が最小となる経路を最短経路とする。この場合、左上端の格子点が最初の注目格子点となる。そして単語検索部25は、注目格子点の右側、下側及び右下側に隣接する格子点の何れかを次の注目格子点とする。その際、現在の注目格子点から右下に隣接する注目格子点へ遷移した場合に、次の注目格子点が属する行に対応する検索対象単語の文字(例えば、上から3番目の行であれば、「動」)と、注目格子点が属する列に対応する候補文字の何れかが一致するか否か判定する。そして一致すれば、編集距離に加算されるポイントは'0'となる。しかし、一致しなければ、編集距離に加算されるポイントは'+2'となる。なお、両者が一致しないことは、検索対象単語の次の注目格子点に対応する文字が置換されたことに相当する。また、文字の置換に相当する加算ポイントは、'+1'に設定されてもよい。   The word search unit 25 searches for an optimum route among the routes from the upper left lattice point to the lower right lattice point. As the evaluation value, for example, the edit distance between the search target word and the input character string, or the number of matching characters between the search target word and the input character string is used. When the edit distance is used as the evaluation value, the word search unit 25 sets the route having the smallest evaluation value as the shortest route. In this case, the grid point at the upper left corner is the first focused grid point. Then, the word search unit 25 sets one of the lattice points adjacent to the right side, the lower side, and the lower right side of the target lattice point as the next target lattice point. At that time, when a transition is made from the current target lattice point to a target lattice point adjacent to the lower right, the character of the search target word corresponding to the line to which the next target lattice point belongs (for example, the third row from the top For example, it is determined whether “motion”) matches any of the candidate characters corresponding to the column to which the target lattice point belongs. If they match, the point added to the edit distance is “0”. However, if they do not match, the point added to the edit distance is “+2”. The fact that the two do not match corresponds to the replacement of the character corresponding to the next target lattice point of the search target word. Further, the addition point corresponding to character replacement may be set to “+1”.

また、現在の注目格子点に対して下側に隣接する格子点が次の注目格子点となる場合、編集距離に加算されるポイントは'+1'となる。なお、この下側への遷移は、検索対象単語中の文字の欠落に相当する。さらに、現在の注目格子点に対して右側に隣接する格子点が次の注目格子点となる場合も、編集距離に加算されるポイントは'+1'となる。なお、この右側への遷移は、検索対象単語に対する文字の挿入に相当する。
図8に示した例では、矢印で示される経路820が最短経路となり、検索対象単語に対応する入力文字列として「運動☆会」が選択される。なお、☆マークは、挿入された文字を表し、ここでは、右から2番目のパスに対応する候補文字「カ」、「力」、「刀」の何れかである。
Further, when the lattice point adjacent to the lower side of the current target lattice point becomes the next target lattice point, the point added to the edit distance is “+1”. Note that this downward transition corresponds to a lack of characters in the search target word. Furthermore, even when the grid point adjacent to the right side with respect to the current target grid point becomes the next target grid point, the point added to the edit distance is “+1”. The transition to the right corresponds to the insertion of a character into the search target word.
In the example shown in FIG. 8, the route 820 indicated by the arrow is the shortest route, and “Exercise ☆ kai” is selected as the input character string corresponding to the search target word. The ☆ mark represents the inserted character, and here is one of the candidate characters “K”, “Power”, and “Sword” corresponding to the second path from the right.

単語検索部25は、検索対象単語と入力文字列間の文字の再現率及び文字の適合率が所定の閾値を超えた場合、修正候補文字ラティスが表す文字列中のその入力文字列に対応する位置において検索対象単語が検出されたと判定する。
なお、文字の再現率及び文字の適合率は、例えば、次式で表される。
文字の再現率=(入力文字列と検索対象単語間で一致する文字数)
/検索対象単語に含まれる文字数
文字の適合率=(入力文字列と検索対象単語間で一致する文字数)
/入力文字列に含まれる文字数
また、所定の閾値は、例えば、0.6〜0.8の範囲内の何れかの値に設定される。
The word search unit 25 corresponds to the input character string in the character string represented by the correction candidate character lattice when the character reproduction rate and the character matching rate between the search target word and the input character string exceed a predetermined threshold. It is determined that the search target word is detected at the position.
The character reproduction rate and the character matching rate are expressed by the following equations, for example.
Character recall: (Number of characters that match between the input string and the search word)
/ Number of characters in the search target word Character precision = (Number of matching characters between the input string and the search target word)
/ Number of characters included in input character string The predetermined threshold value is set to any value within the range of 0.6 to 0.8, for example.

あるいは、単語検索部25は、最短経路についての編集距離が所定の値以下である場合、その最短経路に対応する入力文字列に対応する位置において検索対象単語が抽出されたと判定してもよい。この場合、所定の値は、例えば、検索対象単語に含まれる文字数に、0.3〜0.4の範囲内の何れかの値を乗じた値とすることができる。   Alternatively, the word search unit 25 may determine that the search target word has been extracted at a position corresponding to the input character string corresponding to the shortest path when the edit distance for the shortest path is equal to or less than a predetermined value. In this case, for example, the predetermined value may be a value obtained by multiplying the number of characters included in the search target word by any value within the range of 0.3 to 0.4.

また、単語検索部25は、他のあいまい検索手法を用いて、修正候補文字ラティスに含まれるパスの少なくとも一部の配列に含まれる候補文字の組み合わせと少なくとも一部が一致する単語を検索してもよい。単語検索部25は、このようなあいまい検索手法として、例えば、特開2010-225137号公報に開示されている方法を用いることができる。または、単語検索部25は、喜田、「誤りを許したVLDCパタン照合アルゴリズム」、電子情報通信学会技術研究報告、COMP、コンピューテーション、103(622)、p61-68、2004年に記載された方法を用いることができる。   In addition, the word search unit 25 uses other fuzzy search methods to search for a word that at least partially matches a combination of candidate characters included in at least a part of the sequence included in the correction candidate character lattice. Also good. The word search unit 25 can use, for example, a method disclosed in Japanese Patent Laid-Open No. 2010-225137 as such an ambiguous search method. Or, the word search unit 25 was described in Kita, “VLDC pattern matching algorithm that allowed error”, IEICE technical report, COMP, Computing, 103 (622), p61-68, 2004. The method can be used.

単語検索部25は、単語辞書に登録された全ての単語に対して上述した処理を行って、文字列に含まれる単語を検索する。したがって、例えば、単語辞書に非常に多数の単語が登録されていると、例えば、10万個の単語が登録されていると、その全ての単語に対して上述した処理が行われることになる。
しかし、上記のように、単語検索部25は、個々の単語について、排他的なパスを含まない修正候補文字ラティスに対してあいまい検索を行うので、パスの組み合わせが複数存在する元の候補文字ラティスに対してあいまい検索を行うよりも大幅に演算量を削減できる。そのため、単語辞書に登録されている単語の数が増えるほど、演算量の削減効果も大きくなる。また単語検索部25は、文字の置換、挿入及び欠落の何れも許容して単語の検索を行うので、個々のパスに対する文字の誤認識が生じていたり、あるいは、検出された文字区間が誤っている場合でも、単語検索部25は、文字列に含まれる単語を正しく検索できる。
The word search unit 25 performs the above-described processing on all words registered in the word dictionary and searches for words included in the character string. Therefore, for example, if a large number of words are registered in the word dictionary, for example, if 100,000 words are registered, the above-described processing is performed on all the words.
However, as described above, the word search unit 25 performs an ambiguous search for the correction candidate character lattice that does not include an exclusive path for each word, so that the original candidate character lattice having a plurality of combinations of paths exists. Compared to the fuzzy search, the amount of calculation can be greatly reduced. Therefore, as the number of words registered in the word dictionary increases, the effect of reducing the amount of calculation increases. In addition, since the word search unit 25 searches for a word by allowing any of character replacement, insertion, and omission, there is a misrecognition of a character for each path, or a detected character section is erroneous. Even if there is, the word search unit 25 can correctly search for a word included in the character string.

単語検索部25は、候補文字ラティスに対して、検出された単語に対応するパスである単語パスを追加する。そして得られたラティスを、以下では便宜上、候補文字・単語ラティスと呼ぶ。なお、単語検索部25は、単語を検出する際に、DPマッチングの対象としたパスを知っているので、そのパスの位置に基づいて、単語パスを追加する位置を特定できる。さらに、単語検索部25は、検出された単語パスのそれぞれについて、対応する単語に含まれる各文字と一致する候補文字の順位及びその候補文字に対応する元の候補文字ラティスのパスの識別番号をその単語パスと関連付ける。   The word search unit 25 adds a word path that is a path corresponding to the detected word to the candidate character lattice. The obtained lattice is hereinafter referred to as a candidate character / word lattice for convenience. Since the word search unit 25 knows the path targeted for DP matching when detecting the word, the word search unit 25 can specify the position to add the word path based on the position of the path. Further, for each detected word path, the word search unit 25 determines the rank of candidate characters that match each character included in the corresponding word and the identification number of the path of the original candidate character lattice corresponding to the candidate character. Associate with that word path.

図9は、図3に示した文字列「運動会の始まり」に対して、検出された単語のパスを追加した候補文字・単語ラティスの一例を示す図である。図9に示された候補文字・単語ラティス900において、矢印で表されるパスのうち、パス1〜23が文字ごとのパスであり、パス31〜37が追加された単語パスである。   FIG. 9 is a diagram illustrating an example of a candidate character / word lattice obtained by adding a detected word path to the character string “start of athletic meet” illustrated in FIG. 3. In the candidate character / word lattice 900 shown in FIG. 9, among the paths represented by arrows, paths 1 to 23 are paths for each character, and paths 31 to 37 are added word paths.

推定部26は、候補文字・単語ラティスに基づいて、画像上に写った文字列を推定する。そのために、推定部26は、候補文字・単語ラティスに含まれる単語パスごとに、その単語パスに対応する単語の評価値を、例えば次式に従って算出する。
単語評価値={Σ(1-α(Mi-1))}n
ここで、Miは、単語検索部25により検出された単語における先頭からi番目の文字と一致すると判定された候補文字の順位を表す。ただし、i番目の文字と一致すると判定された候補文字が無かった場合には、Miは候補文字抽出部23が個々のパスについて抽出する候補文字の最大個数に1を加算した値に設定される。αは係数であり、Miの値が大きいほど(1-α(Mi-1))が0に近づくように、例えば、候補文字抽出部23が個々のパスについて抽出する候補文字の最大個数の逆数以下の正の値、例えば、0.1に設定される。したがって、単語パスに対応する単語に含まれる個々の文字と一致する候補文字の順位の合計が小さいほど、単語評価値は高くなる。またnは補正係数であり、例えば、1以上の値に設定される。特に、単語に含まれる文字数が増えるほど単語評価値も高くなるようにするためには、補正係数nは、1よりも大きい値に設定されることが好ましく、例えば、2に設定される。このように補正係数を設定することで、文字数が多い単語ほど、文字列に含まれる単語であると推定され易くなる。
The estimation unit 26 estimates a character string shown on the image based on the candidate character / word lattice. Therefore, for each word path included in the candidate character / word lattice, the estimation unit 26 calculates an evaluation value of a word corresponding to the word path, for example, according to the following equation.
Word evaluation value = {Σ (1-α (M i -1))} n
Here, M i represents the rank of candidate characters determined to match the i-th character from the beginning in the word detected by the word search unit 25. However, if there is no candidate character determined to match the i-th character, M i is set to a value obtained by adding 1 to the maximum number of candidate characters that the candidate character extraction unit 23 extracts for each path. The α is a coefficient, and for example, the maximum number of candidate characters that the candidate character extraction unit 23 extracts for each path so that (1-α (M i −1)) approaches 0 as the value of M i increases. Is set to a positive value equal to or less than the reciprocal of, for example, 0.1. Therefore, the smaller the sum of the ranks of candidate characters that match individual characters included in the word corresponding to the word path, the higher the word evaluation value. N is a correction coefficient, and is set to a value of 1 or more, for example. In particular, in order to increase the word evaluation value as the number of characters included in the word increases, the correction coefficient n is preferably set to a value larger than 1, for example, set to 2. By setting the correction coefficient in this way, a word with a larger number of characters can be more easily estimated to be a word included in the character string.

再度図9を参照すると、単語パス31に対応する単語「運動会」について、M1=M2=1、M3=2である。そのため、α=0.1、n=2とすれば、単語評価値は8.41となる。なお、図9において、単語パス31〜37が表す単語と並んで表記された数値がその単語についての単語評価値である。 Referring to FIG. 9 again, for the word “athletic meeting” corresponding to the word path 31, M 1 = M 2 = 1 and M 3 = 2. Therefore, if α = 0.1 and n = 2, the word evaluation value is 8.41. In FIG. 9, the numerical value written along with the word represented by the word paths 31 to 37 is the word evaluation value for the word.

また、推定部26は、単語パスでない、一つの文字を表すパスについての単語評価値を定数βに設定する。定数βは、例えば、0より大きく、2文字を含む単語についての単語評価値が取りうる最大値よりも小さい値、例えば、0.5に設定される。   In addition, the estimation unit 26 sets a word evaluation value for a path representing one character that is not a word path to a constant β. The constant β is set to, for example, a value that is larger than 0 and smaller than the maximum value that can be taken by a word evaluation value for a word including two characters, for example, 0.5.

推定部26は、候補文字・単語ラティスにおいて、文字列全体に対応する、一列に連続した単語パス及びパスの配列のそれぞれについて、単語評価値の総和を、その配列に対する連結パス評価値として求める。そして推定部26は、連結パス評価値が最大値となる配列に含まれる単語パス及びパスの順序に従って整列されたその単語パス及びパスに対応する単語と文字の列を、画像上に写っている文字列と推定する。なお、図9におけるパス5、6とパス21のように、単語評価値の和が等しい排他的な複数のパスが存在する場合、推定部26は、候補文字抽出部23により求められた認識距離の和が小さい方のパスを配列に含めるように選択する。また、単語評価値が最大となる配列に含まれるパスに対して複数の候補文字が有る場合には、推定部26は、順位が最も高い候補文字を選択する。
図9の例では、パス31→パス21→パス34の順序に従って選択された配列の連結パス評価値が最大となるので、推定部26は、それらのパスに対応する単語及び候補文字を並べた文字列「運動会の始まり」を、画像上に写っている文字列として推定する。
In the candidate character / word lattice, the estimation unit 26 obtains a sum of word evaluation values as a concatenated path evaluation value for each word path and each path array corresponding to the entire character string. Then, the estimation unit 26 shows on the image a word path and a string of words and characters corresponding to the word path and paths arranged in accordance with the order of the paths included in the array having the maximum connection path evaluation value. Inferred as a string. When there are a plurality of exclusive paths having the same sum of word evaluation values as in paths 5 and 6 and path 21 in FIG. 9, the estimation unit 26 recognizes the recognition distance obtained by the candidate character extraction unit 23. Choose the path with the smaller sum of to be included in the array. When there are a plurality of candidate characters for the path included in the array having the maximum word evaluation value, the estimation unit 26 selects the candidate character with the highest ranking.
In the example of FIG. 9, since the connected path evaluation value of the array selected according to the order of path 31 → pass 21 → pass 34 is maximized, the estimation unit 26 has arranged words and candidate characters corresponding to these paths. The character string “start of athletic meet” is estimated as a character string reflected on the image.

図10は、文字認識処理の動作フローチャートである。処理部15は、画像を受け取る度に、この文字認識処理を実行する。
文字区間検出部21は、画像上に写った文字列から、個々の文字のそれぞれごとに、その文字が写っていると推定される文字区間を検出する(ステップS301)。さらに文字区間検出部21は、1文字に対応する可能性の有る連続した2以上の文字区間を連結した区間も文字区間として検出する(ステップS302)。その後、候補文字ラティス生成部22は複数の文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを生成する(ステップS303)。
また候補文字抽出部23は、パスごとに候補文字を抽出する(ステップS304)。
FIG. 10 is an operation flowchart of the character recognition process. The processing unit 15 executes this character recognition process every time an image is received.
The character section detection unit 21 detects a character section in which the character is estimated to be captured for each individual character from the character string captured on the image (step S301). Furthermore, the character section detection unit 21 detects a section obtained by connecting two or more consecutive character sections that may correspond to one character as a character section (step S302). Thereafter, the candidate character lattice generation unit 22 generates a candidate character lattice that is a set of paths that are set for each of the plurality of character segments and that represents a relative positional relationship with other character segments (step S303).
The candidate character extraction unit 23 extracts candidate characters for each pass (step S304).

その後、候補文字ラティス修正部24は、互いに排他的なパスを統合するか、あるいは排他的なパスの一方の位置を修正することで修正候補文字ラティスを生成する(ステップS305)。具体的には、候補文字ラティス修正部24は、第1のパスと、第1のパスと少なくとも一部が重なっている2以上の連続したパスのうちの第2のパスとを、第1及び第2のパスの候補文字を含み、かつ第2のパスと同一の文字区間に対応する第3のパスで置換する。あるいは、候補文字ラティス修正部24は、第1のパスを、その連続したパスの間に挿入されるように修正する。   Thereafter, the candidate character lattice correcting unit 24 generates a correction candidate character lattice by integrating mutually exclusive paths or correcting one position of the exclusive path (step S305). Specifically, the candidate character lattice correction unit 24 performs a first pass and a second pass among two or more consecutive passes that overlap at least partly with the first pass. Replacement is performed with a third path that includes candidate characters for the second path and that corresponds to the same character section as the second path. Alternatively, the candidate character lattice correction unit 24 corrects the first pass so as to be inserted between the consecutive passes.

その後、単語検索部25は、単語辞書に登録されている複数の単語のうち、修正候補文字ラティスにおいて連続する2以上のパスのそれぞれに含まれる候補文字の組み合わせと少なくとも一部が一致する単語を検出する(ステップS306)。また、単語検索部25は、検出された単語に相当する単語パスを候補文字ラティスに追加して候補文字・単語ラティスを生成する(ステップS307)。
推定部26は、各パスについて求めた単語評価値の総和が最大となるパスの配列に相当する文字列を画像上に写っている文字列と推定する(ステップS308)。そして処理部15は、推定された文字列に含まれる各文字のコードを、推定された文字列の順序に従って並べることにより、画像上に写った文字列を電子データ化する。処理部15は、文字列を表す電子データを出力部12を介して他の機器へ出力する。あるいは、処理部15は、文字列を表す電子データを記憶部13に記憶する。その後、処理部15は、文字認識処理を終了する。なお、処理部15は、ステップS303とステップS304の処理の順序を入れ替えてもよい。
Thereafter, the word search unit 25 selects a word that at least partially matches a combination of candidate characters included in each of two or more consecutive paths in the correction candidate character lattice from among a plurality of words registered in the word dictionary. Detection is performed (step S306). The word search unit 25 adds a word path corresponding to the detected word to the candidate character lattice to generate a candidate character / word lattice (step S307).
The estimation unit 26 estimates that a character string corresponding to an array of paths that maximizes the sum of the word evaluation values obtained for each path is a character string appearing on the image (step S308). Then, the processing unit 15 converts the character strings included in the estimated character string into electronic data by arranging the codes of the characters included in the estimated character string according to the estimated order of the character strings. The processing unit 15 outputs electronic data representing a character string to another device via the output unit 12. Alternatively, the processing unit 15 stores electronic data representing a character string in the storage unit 13. Thereafter, the processing unit 15 ends the character recognition process. In addition, the process part 15 may replace the order of the process of step S303 and step S304.

以上に説明してきたように、この文字認識装置は、文字列中に含まれている単語を検索する前に、候補文字ラティスの構造を修正して互いに排他的なパスの組を無くすことで、その文字列を表すパスの配列の数を削減している。そのため、この文字認識装置は、単語検索の際の演算量を削減できるので、文字認識処理全体としての演算量も削減できる。さらにこの文字認識装置は、単語中の文字の置換、欠落または挿入を許容したあいまい検索手法により、文字列に含まれている可能性がある単語を検索する。そのため、この文字認識装置は、画像上の文字列に含まれる個々の文字の認識結果に誤りがあっても、文字列中に含まれる単語を検出できるので、その文字列を正確に認識できる。   As described above, this character recognition device corrects the structure of the candidate character lattice to eliminate mutually exclusive sets of paths before searching for words contained in the character string. The number of path arrays representing the character string has been reduced. Therefore, since this character recognition device can reduce the amount of calculation at the time of word search, the amount of calculation as the whole character recognition processing can also be reduced. Furthermore, this character recognition device searches for a word that may be included in the character string by an ambiguous search method that allows replacement, omission, or insertion of characters in the word. For this reason, the character recognition device can detect words included in the character string even if there is an error in the recognition result of each character included in the character string on the image, so that the character string can be recognized accurately.

なお、本発明は上記の実施形態に限られるものではない。例えば、推定部は、単語パスに対応する単語に含まれるそれぞれの文字と一致する候補文字についての認識距離の平均値が小さいほど、単語評価値を高くしてもよい。
また、文字区間検出部は、投影値に対する閾値を変更して文字の区切りを検出することによって、複数の文字区間を検出してもよい。例えば、文字区間検出部は、先ず、上記の実施形態と同様の閾値を用いて文字の区切りを検出することで、複数の文字区間を検出する。その後、文字区間検出部は、閾値をより低い値、例えば、元の閾値を1.2〜1.5で割った値に修正した後、再度各水平位置の投影値と修正後の閾値を比較して、修正後の閾値以下の投影値を持つ水平位置を文字の区切りとして再検出する。そして文字区間検出部は、再検出された文字の区切りで挟まれた区間を文字区間とする。これにより、文字の構成要素同士が近接する文字についても、その文字全体を含む文字区間が検出され易くなる。
The present invention is not limited to the above embodiment. For example, the estimation unit may increase the word evaluation value as the average value of the recognition distances for candidate characters that match each character included in the word corresponding to the word path is small.
Further, the character section detection unit may detect a plurality of character sections by changing a threshold for the projection value and detecting a character break. For example, the character section detection unit first detects a plurality of character sections by detecting a character break using a threshold value similar to that in the above embodiment. Thereafter, the character section detection unit corrects the threshold value to a lower value, for example, a value obtained by dividing the original threshold value by 1.2 to 1.5, and then compares the projection value of each horizontal position with the corrected threshold value again to correct the threshold value. A horizontal position having a projection value less than or equal to the later threshold is redetected as a character break. The character section detection unit sets a section between the redetected character breaks as a character section. This makes it easy to detect a character section including the entire character even for characters that are close to each other.

ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。   All examples and specific terms listed herein are intended for instructional purposes to help the reader understand the concepts contributed by the inventor to the present invention and the promotion of the technology. It should be construed that it is not limited to the construction of any example herein, such specific examples and conditions, with respect to showing the superiority and inferiority of the present invention. Although embodiments of the present invention have been described in detail, it should be understood that various changes, substitutions and modifications can be made thereto without departing from the spirit and scope of the present invention.

1 文字認識装置
11 画像取得部
12 出力部
13 記憶部
14 記憶媒体アクセス装置
15 処理部
16 記憶媒体
21 文字区間検出部
22 候補文字ラティス生成部
23 候補文字抽出部
24 候補文字ラティス修正部
25 単語検索部
26 推定部
DESCRIPTION OF SYMBOLS 1 Character recognition apparatus 11 Image acquisition part 12 Output part 13 Storage part 14 Storage medium access apparatus 15 Processing part 16 Storage medium 21 Character area detection part 22 Candidate character lattice generation part 23 Candidate character extraction part 24 Candidate character lattice correction part 25 Word search Part 26 Estimator

Claims (7)

媒体上に表された複数の文字を含む文字列を撮影した画像から、前記複数の文字のそれぞれごとに、当該文字が写っていると推定される前記画像上の文字区間を検出し、
複数の前記文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを求め、
複数の前記パスのそれぞれについて、当該パスに対応する前記文字区間に写っている文字の候補である候補文字を少なくとも一つ求め、
前記候補文字ラティスに含まれる複数の前記パスのうち、第1のパスと、前記第1のパスと少なくとも一部が重なっている2以上の連続したパスのうちの第2のパスとを、当該第1のパスの候補文字及び当該第2のパスの候補文字を含み、かつ、当該第2のパスと同一の文字区間に対応する第3のパスで置換するか、あるいは前記第1のパスが前記2以上の連続したパスの間に挿入されるように前記候補文字ラティスを修正し、
単語辞書に登録された複数の単語のうち、前記修正された候補文字ラティスにおける連続する2以上のパスのそれぞれに含まれる候補文字の組み合わせと少なくとも一部が一致する単語を前記文字列に含まれる可能性のある単語として検出し、当該検出された単語の前記文字列中の位置を表す単語パスを前記候補文字ラティスに追加した候補文字及び単語ラティスを求め、
前記候補文字及び単語ラティスにおいて、前記単語パスごとに、当該単語パスに対応する単語が前記文字列に含まれる確からしさを表す評価値を求め、
前記候補文字及び単語ラティスに含まれる前記単語パス及び前記パスの中から選択した前記文字列全体に対応する一列に連続した前記単語パス及び前記パスの配列ごとに、前記評価値の合計値を求め、当該合計値が最も高い配列に含まれる前記単語パス及び前記パスの順序に従って整列された当該単語パス及び当該パスに対応する単語と候補文字の組み合わせを前記文字列として推定する、
ことをコンピュータに実行させる文字認識用コンピュータプログラム。
From an image obtained by photographing a character string including a plurality of characters represented on the medium, for each of the plurality of characters, detecting a character section on the image that is estimated to include the character,
A candidate character lattice that is a set of paths representing a relative positional relationship with other character sections set for each of the plurality of character sections is obtained,
For each of the plurality of paths, obtain at least one candidate character that is a candidate for a character in the character section corresponding to the path,
Of the plurality of paths included in the candidate character lattice, a first path and a second path of two or more consecutive paths at least partially overlapping the first path, A first pass candidate character and a second pass candidate character are included and replaced with a third pass corresponding to the same character section as the second pass, or the first pass is Modifying the candidate character lattice to be inserted between the two or more consecutive passes;
Among the plurality of words registered in the word dictionary, the character string includes a word that at least partially matches a combination of candidate characters included in each of two or more consecutive paths in the modified candidate character lattice. A candidate character and a word lattice obtained by detecting a word as a potential word and adding a word path representing the position of the detected word in the character string to the candidate character lattice;
In the candidate character and the word lattice, for each word path, an evaluation value representing the probability that a word corresponding to the word path is included in the character string is obtained.
A total value of the evaluation values is obtained for each of the word path included in the candidate character and the word lattice and the word path and the array of the paths continuous in a line corresponding to the entire character string selected from the paths. The word path included in the array having the highest total value and the word path arranged according to the order of the paths and a combination of a word and a candidate character corresponding to the path are estimated as the character string.
A computer program for character recognition that causes a computer to execute the above.
前記候補文字ラティスを修正することは、前記2以上の連続するパスのうち、前記第1のパスに対応する前記文字区間と重なる幅が最大となる文字区間に対応するパスを前記2のパスとする、請求項1に記載の文字認識用コンピュータプログラム。   Modifying the candidate character lattice means that, among the two or more consecutive paths, a path corresponding to a character section having a maximum width overlapping with the character section corresponding to the first path is defined as the second path. The computer program for character recognition according to claim 1. 前記文字区間を求めることは、連続する2以上の前記文字区間のうち、当該2以上の文字区間を連結することにより得られる修正区間の幅が一つの文字の幅に相当する場合に、当該修正区間を文字区間として追加することを含む、請求項1または2に記載の文字認識用コンピュータプログラム。   The character section is obtained when the width of a correction section obtained by connecting the two or more character sections among two or more consecutive character sections corresponds to the width of one character. The computer program for character recognition according to claim 1, comprising adding a section as a character section. 前記候補文字を求めることは、複数の前記パスの少なくとも一つについて複数の候補文字を求めるとともに、当該パスについて求められた複数の候補文字のそれぞれに対して、当該パスに対応する前記文字区間に写っている確からしさが高い方から順に順位を設定し、
前記評価値を求めることは、前記単語パスに対応する単語に含まれる文字と一致する前記候補文字の順位の合計が小さいほど前記評価値を高くする、請求項1〜3の何れか一項に記載の文字認識用コンピュータプログラム。
Obtaining the candidate character is to obtain a plurality of candidate characters for at least one of the plurality of paths, and for each of the plurality of candidate characters obtained for the path, in the character section corresponding to the path. Set the order in descending order of the probability of being reflected,
4. The evaluation value according to claim 1, wherein obtaining the evaluation value increases the evaluation value as a total of ranks of the candidate characters that match characters included in the word corresponding to the word path is smaller. The computer program for character recognition described.
前記評価値を求めることは、前記単語パスに対応する単語に含まれる文字の数が多いほど前記評価値を高くする、請求項1〜4の何れか一項に記載の文字認識用コンピュータプログラム。   The computer program for character recognition according to any one of claims 1 to 4, wherein obtaining the evaluation value increases the evaluation value as the number of characters included in the word corresponding to the word path increases. 媒体上に表された複数の文字を含む文字列を撮影した画像を取得する画像取得部と、
複数の単語を登録した単語辞書を記憶する記憶部と、
前記画像から、前記複数の文字のそれぞれごとに、当該文字が写っていると推定される前記画像上の文字区間を検出する文字区間検出部と、
複数の前記文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを求める候補文字ラティス生成部と、
複数の前記パスのそれぞれについて、当該パスに対応する前記文字区間に写っている文字の候補である候補文字を少なくとも一つ求める候補文字抽出部と、
前記候補文字ラティスに含まれる複数の前記パスのうち、第1のパスと、前記第1のパスと少なくとも一部が重なっている2以上の連続したパスのうちの第2のパスとを、当該第1のパスの候補文字及び当該第2のパスの候補文字を含み、かつ、当該第2のパスと同一の文字区間に対応する第3のパスで置換するか、あるいは前記第1のパスが前記2以上の連続したパスの間に挿入されるように前記候補文字ラティスを修正する候補文字ラティス修正部と、
単語辞書に登録された複数の単語のうち、前記修正された候補文字ラティスにおける連続する2以上のパスのそれぞれに含まれる候補文字の組み合わせと少なくとも一部が一致する単語を前記文字列に含まれる可能性のある単語として検出し、当該検出された単語の前記文字列中の位置を表す単語パスを前記候補文字ラティスに追加した候補文字及び単語ラティスを求める単語検索部と、
前記候補文字及び単語ラティスにおいて、前記単語パスごとに、当該単語パスに対応する単語が前記文字列に含まれる確からしさを表す評価値を求め、前記候補文字及び単語ラティスに含まれる前記単語パス及び前記パスの中から選択した前記文字列全体に対応する一列に連続した前記単語パス及び前記パスの配列ごとに前記評価値の合計値を求め、当該合計値が最も高い配列に含まれる前記単語パス及び前記パスの順序に従って整列された当該単語パス及び当該パスに対応する単語と候補文字の組み合わせを前記文字列として推定する推定部と、
を有する文字認識装置。
An image acquisition unit that acquires an image of a character string including a plurality of characters represented on the medium;
A storage unit for storing a word dictionary in which a plurality of words are registered;
From the image, for each of the plurality of characters, a character section detection unit that detects a character section on the image that is estimated that the character is reflected,
A candidate character lattice generation unit for obtaining a candidate character lattice that is a set of paths representing a relative positional relationship with other character intervals set for each of the plurality of character segments;
A candidate character extraction unit that obtains at least one candidate character that is a candidate for a character in the character section corresponding to the path for each of the plurality of paths;
Of the plurality of paths included in the candidate character lattice, a first path and a second path of two or more consecutive paths at least partially overlapping the first path, A first pass candidate character and a second pass candidate character are included and replaced with a third pass corresponding to the same character section as the second pass, or the first pass is A candidate character lattice correction unit for correcting the candidate character lattice to be inserted between the two or more consecutive paths;
Among the plurality of words registered in the word dictionary, the character string includes a word that at least partially matches a combination of candidate characters included in each of two or more consecutive paths in the modified candidate character lattice. A word search unit for detecting candidate words and word lattices, which are detected as possible words, and a word path representing the position of the detected word in the character string is added to the candidate character lattice;
In the candidate character and word lattice, for each word path, an evaluation value representing the probability that a word corresponding to the word path is included in the character string is obtained, and the word path included in the candidate character and word lattice and The word path included in the array having the highest total value is obtained by calculating a total value of the evaluation values for each of the word path and the array of the paths that are continuous in a line corresponding to the entire character string selected from the paths. And an estimation unit that estimates the word path arranged according to the order of the paths and a combination of a word corresponding to the path and a candidate character as the character string,
A character recognition device.
媒体上に表された複数の文字を含む文字列を撮影した画像を取得し、
前記画像から、前記複数の文字のそれぞれごとに、当該文字が写っていると推定される前記画像上の文字区間を検出し、
複数の前記文字区間のそれぞれごとに設定された、他の文字区間との相対的な位置関係を表すパスの集合である候補文字ラティスを求め、
複数の前記パスのそれぞれについて、当該パスに対応する前記文字区間に写っている文字の候補である候補文字を少なくとも一つ求め、
前記候補文字ラティスに含まれる複数の前記パスのうち、第1のパスと、前記第1のパスと少なくとも一部が重なっている2以上の連続したパスのうちの第2のパスとを、当該第1のパスの候補文字及び当該第2のパスの候補文字を含み、かつ、当該第2のパスと同一の文字区間に対応する第3のパスで置換するか、あるいは前記第1のパスが前記2以上の連続したパスの間に挿入されるように前記候補文字ラティスを修正し、
単語辞書に登録された複数の単語のうち、前記修正された候補文字ラティスにおける連続する2以上のパスのそれぞれに含まれる候補文字の組み合わせと少なくとも一部が一致する単語を前記文字列に含まれる可能性のある単語として検出し、当該検出された単語の前記文字列中の位置を表す単語パスを前記候補文字ラティスに追加した候補文字及び単語ラティスを求め、
前記候補文字及び単語ラティスにおいて、前記単語パスごとに、当該単語パスに対応する単語が前記文字列に含まれる確からしさを表す評価値を求め、
前記候補文字及び単語ラティスに含まれる前記単語パス及び前記パスの中から選択した前記文字列全体に対応する一列に連続した前記単語パス及び前記パスの配列ごとに前記評価値の合計値を求め、当該合計値が最も高い配列に含まれる前記単語パス及び前記パスの順序に従って整列された当該単語パス及び当該パスに対応する単語と候補文字の組み合わせを前記文字列として推定する、
ことを含む方法。
Obtain an image of a character string that contains multiple characters represented on the medium,
From the image, for each of the plurality of characters, detect a character section on the image that is estimated that the character is reflected,
A candidate character lattice that is a set of paths representing a relative positional relationship with other character sections set for each of the plurality of character sections is obtained,
For each of the plurality of paths, obtain at least one candidate character that is a candidate for a character in the character section corresponding to the path,
Of the plurality of paths included in the candidate character lattice, a first path and a second path of two or more consecutive paths at least partially overlapping the first path, A first pass candidate character and a second pass candidate character are included and replaced with a third pass corresponding to the same character section as the second pass, or the first pass is Modifying the candidate character lattice to be inserted between the two or more consecutive passes;
Among the plurality of words registered in the word dictionary, the character string includes a word that at least partially matches a combination of candidate characters included in each of two or more consecutive paths in the modified candidate character lattice. A candidate character and a word lattice obtained by detecting a word as a potential word and adding a word path representing the position of the detected word in the character string to the candidate character lattice;
In the candidate character and the word lattice, for each word path, an evaluation value representing the probability that a word corresponding to the word path is included in the character string is obtained.
Obtaining the total value of the evaluation values for each word path and the array of the paths that are continuous in a row corresponding to the entire character string selected from the word path and the path included in the candidate character and word lattice; The word path included in the array having the highest total value and the word path aligned according to the order of the paths and a combination of a word and a candidate character corresponding to the path are estimated as the character string.
A method involving that.
JP2011240093A 2011-11-01 2011-11-01 Computer program for character recognition, character recognition device, and character recognition method Expired - Fee Related JP5729260B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011240093A JP5729260B2 (en) 2011-11-01 2011-11-01 Computer program for character recognition, character recognition device, and character recognition method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011240093A JP5729260B2 (en) 2011-11-01 2011-11-01 Computer program for character recognition, character recognition device, and character recognition method

Publications (2)

Publication Number Publication Date
JP2013097590A JP2013097590A (en) 2013-05-20
JP5729260B2 true JP5729260B2 (en) 2015-06-03

Family

ID=48619468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011240093A Expired - Fee Related JP5729260B2 (en) 2011-11-01 2011-11-01 Computer program for character recognition, character recognition device, and character recognition method

Country Status (1)

Country Link
JP (1) JP5729260B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6131765B2 (en) * 2013-08-06 2017-05-24 富士ゼロックス株式会社 Information processing apparatus and information processing program
JP2019159633A (en) * 2018-03-12 2019-09-19 セイコーエプソン株式会社 Image processing apparatus, image processing method, and image processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08243504A (en) * 1995-03-14 1996-09-24 Hitachi Ltd Address reading method
JPH10198761A (en) * 1997-01-09 1998-07-31 Oki Electric Ind Co Ltd Character recognizing method and device therefor
JP3080066B2 (en) * 1998-05-18 2000-08-21 日本電気株式会社 Character recognition device, method and storage medium
JP4802502B2 (en) * 2005-01-21 2011-10-26 株式会社日立製作所 Word recognition device and word recognition method

Also Published As

Publication number Publication date
JP2013097590A (en) 2013-05-20

Similar Documents

Publication Publication Date Title
Baró et al. Traffic sign recognition using evolutionary adaboost detection and forest-ECOC classification
CN111325110A (en) Form format recovery method and device based on OCR and storage medium
CN111340020B (en) Formula identification method, device, equipment and storage medium
JP6003705B2 (en) Information processing apparatus and information processing program
US20010051965A1 (en) Apparatus for rough classification of words, method for rough classification of words, and record medium recording a control program thereof
CN104992152A (en) Character recognition method and system based on template character library
JP6754120B2 (en) Programs, information storage media and character dividers
Xiong et al. Text detection in stores using a repetition prior
Gajjar et al. Intersection over Union based analysis of Image detection/segmentation using CNN model
US6560359B2 (en) Data processing method and apparatus
CN107533652B (en) Identification device, identification method, and recording medium
JP5729260B2 (en) Computer program for character recognition, character recognition device, and character recognition method
JP3917349B2 (en) Retrieval device and method for retrieving information using character recognition result
Lin et al. Region-based context enhanced network for robust multiple face alignment
JP6247103B2 (en) Form item recognition method, form item recognition apparatus, and form item recognition program
CN117496521A (en) Method, system and device for extracting key information of table and readable storage medium
CN115641573B (en) Text ordering method and device, electronic equipment and storage medium
JP5857634B2 (en) Word space detection device, word space detection method, and computer program for word space detection
JP6310155B2 (en) Character recognition device, character recognition method, and character recognition program
CN112667771A (en) Answer sequence determination method and device
JP5712415B2 (en) Form processing system and form processing method
JP2010020421A (en) Character recognizing apparatus, character recognizing method, computer program, and storage medium
Liu et al. A deep neural network to detect keyboard regions and recognize isolated characters
US11443552B2 (en) Image pattern similarity calculation device and recognition device
CN115546810B (en) Image element category identification method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150323

R150 Certificate of patent or registration of utility model

Ref document number: 5729260

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees