(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-19
(54)【発明の名称】文字認識装置及び文字認識装置による文字認識方法
(51)【国際特許分類】
G06V 30/24 20220101AFI20220412BHJP
G06V 30/146 20220101ALI20220412BHJP
G06T 7/00 20170101ALI20220412BHJP
【FI】
G06K9/62 620B
G06K9/32
G06T7/00 350C
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021549641
(86)(22)【出願日】2020-01-29
(85)【翻訳文提出日】2021-08-24
(86)【国際出願番号】 KR2020001333
(87)【国際公開番号】W WO2020175806
(87)【国際公開日】2020-09-03
(31)【優先権主張番号】10-2019-0022102
(32)【優先日】2019-02-25
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ベク,ヨンミン
(72)【発明者】
【氏名】イ,ファルソク
(72)【発明者】
【氏名】シン,スン
(72)【発明者】
【氏名】リイ,ヨンムー
【テーマコード(参考)】
5B029
5B064
5L096
【Fターム(参考)】
5B029AA02
5B029BB02
5B029CC21
5B029EE08
5B064AB02
5B064AB12
5B064BA01
5B064DA03
5L096AA06
5L096BA17
5L096CA02
5L096DA02
5L096FA16
5L096HA11
5L096KA04
(57)【要約】
【課題】
【解決手段】文字認識装置による入力データ内において、文字を認識する方法において、入力データを、文字検出モデルに入力する段階と、文字検出モデルから出力される出力データに基づき、入力データ内における単語領域の位置情報を獲得する段階と、獲得した位置情報に対応する部分データを、入力データから抽出する段階と、部分データを、文字認識モデルに入力し、部分データ内において、文字を認識する段階と、を含むことを特徴とする文字認識方法が開示される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
文字認識装置による入力データ内における文字認識方法であって、
入力データを、文字検出モデルに入力する段階と、
前記文字検出モデルから出力される出力データに基づき、前記入力データ内における単語領域の位置情報を獲得する段階と、
前記獲得した位置情報に対応する部分データを、前記入力データから抽出する段階と、
前記部分データを、文字認識モデルに入力し、前記部分データ内において、文字を認識する段階と、を含むことを特徴とする、
文字認識方法。
【請求項2】
前記出力データは、
前記入力データ内において、文字が存在する確率を、前記入力データに対応するデータ空間上に示す第1スコアマップ、及び前記入力データ内における文字間の連結性を、前記入力データに対応するデータ空間上に示す第2スコアマップを含むことを特徴とする、
請求項1に記載の文字認識方法。
【請求項3】
前記単語領域の位置情報を獲得する段階は、
前記第1スコアマップ内及び前記第2スコアマップ内の値と、臨界値との比較結果により、前記第1スコアマップ及び前記第2スコアマップを二進化する段階と、
二進化された前記第1スコアマップと二進化された前記第2スコアマップとを併合する段階と、
併合マップ内において、所定値を有する領域を決定する段階と、
前記決定された領域を含む単語領域の位置情報を決定する段階と、を含むことを特徴とする、
請求項2に記載の文字認識方法。
【請求項4】
前記単語領域の位置情報を決定する段階は、
前記決定された領域を含む最小サイズの単語ボックスを決定する段階と、
前記決定された単語ボックスの位置情報を、前記単語領域の位置情報と決定する段階と、を含むことを特徴とする、
請求項3に記載の文字認識方法。
【請求項5】
前記文字認識方法は、
学習用データ内において、文字が存在する確率をデータ空間上に示す第1GTスコアマップ、及び前記学習用データ内における文字間の連結性をデータ空間上に示す第2GTスコアマップを獲得する段階と、
前記学習用データを、前記文字検出モデルに入力する段階と、をさらに含むが、
前記学習用データに対応し、前記文字検出モデルから出力される第1スコアマップ及び第2スコアマップのそれぞれと、前記第1GTスコアマップ及び前記第2GTスコアマップとの比較結果により、前記文字検出モデルの内部加重値が更新されることを特徴とする、
請求項2に記載の文字認識方法。
【請求項6】
前記第1GTスコアマップを獲得する段階は、
前記学習用データ内の単語を含む単語ボックスを決定する段階と、
前記決定された単語ボックスに含まれた文字の個数により、前記単語ボックスを複数の文字ボックスに分割する段階と、
前記複数の文字ボックスのそれぞれに所定のイメージを合成し、前記第1GTスコアマップを生成する段階と、を含むことを特徴とする、
請求項5に記載の文字認識方法。
【請求項7】
前記第2GTスコアマップを生成する段階は、
前記複数の文字ボックスにおいて、互いに隣接した文字ボックス間の境目上に位置する連結ボックスを決定する段階と、
前記連結ボックスに所定のイメージを合成し、前記第2GTスコアマップを生成する段階と、を含むことを特徴とする、
請求項6に記載の文字認識方法。
【請求項8】
当該文字認識方法は、
前記部分データ内で認識された文字グループに所定の記号が含まれている場合、前記文字グループを、第1種類の情報と決定する段階をさらに含むことを特徴とする、
請求項1に記載の文字認識方法。
【請求項9】
前記入力データから抽出された部分データの個数は複数個であるが、
当該文字認識方法は、
複数の部分データのそれぞれで認識された文字グループを、前記入力データ内における前記複数の部分データの位置によって整列する段階をさらに含むことを特徴とする、
請求項1に記載の文字認識方法。
【請求項10】
当該文字認識方法は、
前記整列された文字グループにおいて、連続して整列された所定個数の文字グループに含まれた文字の個数に基づき、文字再認識が必要であるか否かということを決定する段階をさらに含むことを特徴とする、
請求項9に記載の文字認識方法。
【請求項11】
前記文字を認識する段階は、
前記文字検出モデルから出力される出力データを、前記文字認識モデルとしてさらに入力させ、前記部分データ内において、文字を認識する段階を含むことを特徴とする、
請求項1に記載の文字認識方法。
【請求項12】
前記入力データは、
原本イメージに対応し、特徴抽出モデルから出力された特徴マップを含むことを特徴とする、
請求項1に記載の文字認識方法。
【請求項13】
ハードウェアと結合し、請求項1に記載の文字認識方法を実行するために、媒体に保存された、プログラム。
【請求項14】
プロセッサと、
少なくとも1つのインストラクションを保存するメモリと、を含むが、
前記プロセッサは、前記少なくとも1つのインストラクションにより、
入力データを、文字検出モデルに入力し、
前記文字検出モデルから出力される出力データに基づき、前記入力データ内における単語領域の位置情報を獲得し、
前記獲得した位置情報に対応する部分データを、前記入力データから抽出し、
前記部分データを、文字認識モデルに入力し、前記部分データ内において、文字を認識することを特徴とする、
文字認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理分野に係り、さらに具体的には、イメージのようなデータから、文字を認識する文字認識装置及びその方法に関する。
【背景技術】
【0002】
フィンテック(fintech)技術の発展により、携帯電話などにカード情報を保存しておき、簡便に決済することができるようにするサービスが提供されている。クレジットカード、チェックカードのような実物カードイメージにおいて、カード番号及び有効期間のような情報を認識及び保存する技術であるならば、簡便決済サービスのための核心になる技術のうち一つである。
【0003】
しかしながら、カードイメージからの文字認識において、カード内に陽刻で印刷された文字が多数存在し、カード背景が多様であるので、カード番号及び有効期間を正確に認識することに技術障壁が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一実施形態による文字認識装置、及び文字認識装置による文字認識方法は、イメージなどのデータから、文字を正確且つ迅速に認識することを技術的課題にする。
【0005】
また、一実施形態による文字認識装置、及び文字認識装置による文字認識方法は、実物カードのイメージ内において文字を正確に認識し、フィンテック産業発展に寄与することを技術的課題にする。
【課題を解決するための手段】
【0006】
一実施形態による文字認識方法は、入力データを、文字検出モデルに入力する段階と、文字検出モデルから出力される出力データに基づき、入力データ内における単語領域の位置情報を獲得する段階と、獲得した位置情報に対応する部分データを、入力データから抽出する段階と、部分データを、文字認識モデルに入力し、部分データ内において、文字を認識する段階と、を含んでもよい。
【発明の効果】
【0007】
一実施形態による文字認識装置、及び文字認識装置による文字認識方法は、イメージのようなデータから、文字を正確且つ迅速に認識することができる。
【0008】
また、一実施形態による文字認識装置、及び文字認識装置による文字認識方法は、実物カードのイメージ内から文字を正確に認識し、フィンテック産業発展に寄与することができる。
【0009】
ただし、一実施形態による文字認識装置、及び文字認識装置による文字認識方法が達成することができる効果は、以上で言及したところに制限されるものではなく、言及されていない他の効果は、以下の記載から、本開示が属する技術分野において当業者であるならば、明確に理解することができるであろう。
【図面の簡単な説明】
【0010】
【
図1】一実施形態による文字認識装置を図示する図面である。
【
図2】一実施形態による文字認識方法について説明するためのフローチャートである。
【
図3】一実施形態による文字認識装置を介して文字が認識される過程について説明するための図面である。
【
図4】文字検出モデルによって出力される出力データを図示する例示的な図面である。
【
図5】文字検出モデルから出力された出力データに基づき、入力データ内における単語領域の位置情報を獲得する方法について説明するための図面である。
【
図6】
図5に図示された二進化過程及び併合過程について説明するための図面である。
【
図7】
図5に図示された単語ボックス決定過程について説明するための図面である。
【
図8】一実施形態による特徴抽出モデルの構造について説明するための図面である。
【
図9】一実施形態による文字認識モデルの構造について説明するための図面である。
【
図10】一実施形態による文字検出モデルの訓練方法について説明するためのフローチャートである。
【
図11】第1GTスコアマップを生成する方法について説明するための図面である。
【
図12】第2GTスコアマップを生成する方法について説明するための図面である。
【
図13】互いに隣接した文字ボックス間において、連結ボックスを決定する方法について説明するための図面である。
【
図14】一実施形態による文字認識装置の構成を図示するブロック図である。
【
図15】一実施形態による文字認識装置が適用されうるサーバ装置及びクライアント装置を図示する図面である。
【発明を実施するための形態】
【0011】
一実施形態による文字認識方法は、入力データを、文字検出モデルに入力する段階と、文字検出モデルから出力される出力データに基づき、入力データ内における単語領域の位置情報を獲得する段階と、獲得した位置情報に対応する部分データを、入力データから抽出する段階と、部分データを、文字認識モデルに入力し、部分データ内において、文字を認識する段階と、を含んでもよい。
【0012】
他の実施形態による文字認識装置は、プロセッサと、少なくとも1つのインストラクションを保存するメモリと、を含むが、プロセッサは、少なくとも1つのインストラクションにより、入力データを、文字検出モデルに入力し、文字検出モデルから出力される出力データに基づき、入力データ内における単語領域の位置情報を獲得し、獲得した位置情報に対応する部分データを、入力データから抽出し、部分データを、文字認識モデルに入力し、部分データ内において、文字を認識することができる。
【0013】
本開示は、多様な変更を加えることができ、さまざまな実施形態を有することができるが、特定実施形態を図面に例示し、それについて、詳細な説明を介して説明する。しかしながら、それは、本開示を特定の実施形態について限定するものではなく、本開示の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むと理解されなければならない。
【0014】
本実施形態についての説明において、関連公知技術に係わる具体的な説明が、要旨を必要以上に不明確にしうると判断される場合、その詳細な説明を省略する。また、本実施形態の説明過程で利用される数(例えば、第1、第2など)は、1つの構成要素を、他の構成要素と区分するための識別記号に過ぎない。
【0015】
また、本明細書において、一構成要素が他の構成要素と「連結される」とか「接続される」とか言及されたときには、前記一構成要素が、前記他の構成要素と直接連結されるか、あるいは直接接続されるかともされるが、特に反対となる記載が存在しない以上、中間に、他の構成要素を媒介させ、連結されたり接続されたりもすると理解されなければならないのである。
【0016】
また、本明細書において、「~部(ユニット)」、「モジュール」などと表現される構成要素は、2個以上の構成要素が1つの構成要素に合されるか、あるいは1つの構成要素がさらに細分化された機能別に、2個以上に分化されもする。また、以下で説明する構成要素それぞれは、自体が担当する主機能以外にも、他の構成要素が担当する機能のうち一部または全部の機能を追加して遂行することもでき、該構成要素それぞれが担当する主機能のうち一部機能が、他の構成要素によって専用担当されても遂行されるということは、言うまでもない。
【0017】
また、本明細書において「文字」は、は単語や文章を構成する基本文字単位を意味しうる、例えば、英語の場合には、それぞれのアルファベットが文字にも該当し、数字の場合には、「0」ないし「9」の数字それぞれが文字にも該当し、韓国語の場合であるならば、子音と母音とが結合された文字(例えば、「(外1)
」)、子音、母音及び子音が結合された文字(例えば、「(外2)
」)、単独で記載された子音(例えば、「(外3)
」)、単独で記載された母音(例えば、「(外4)
」)が文字に該当しうる。また、文字は、記号(例えば、「/」、「-」など)を含んでもよい。
【0018】
また、本明細書において「単語」は、少なくとも1つの文字を含む文字単位を意味しうる。「単語」を構成する文字は、互いに所定間隔以上離隔されていない。「単語」は、1つの文字からもなる。例えば、英語の不定詞「a」は、1つの文字からなっているが、周辺文字と所定距離以上離隔されている場合、「単語」に該当しうる。
【0019】
また、本明細書において「文字グループ」は、後述するいずれか1つの部分データから認識された少なくとも1つの文字を意味しうる。
【0020】
以下、本開示の技術的思想による実施形態について、順に詳細に説明する。
【0021】
図1は、一実施形態による文字認識装置100を図示する図面である。
【0022】
一実施形態による文字認識装置100は、入力データ10を獲得し、入力データ10内から文字50を認識する。入力データ10は、チェックカード、クレジットカードのような実物カードを撮影したイメージを含んでもよく、または後述するように、実物カードなどを撮影したイメージに基づき、特徴抽出モデル800から出力された特徴マップ(feature map)を含んでもよい。
【0023】
文字認識装置100は、入力データ10から、カード番号、有効期間のようなカード情報を、認識及び保存することができる。文字認識装置100によって認識及び保存されたカード情報は、物品などの購入のための代金支払いにも利用される。
【0024】
以下においては、
図2及び
図3を参照し、文字認識装置100の動作について説明する。
【0025】
図2は、一実施形態による文字認識方法について説明するためのフローチャートであり、
図3は、一実施形態による文字認識装置100を介して文字が認識される過程について説明するための図面である。
【0026】
S210段階において、文字認識装置100は、入力データ10を、文字検出モデル410に入力する。文字認識装置100は、文字検出モデル410を事前に保存することができる。文字検出モデル410は、学習用データに基づいても訓練される。
【0027】
S220段階において、文字認識装置100は、文字検出モデル410から出力される出力データ30に基づき、入力データ10内における単語領域の位置情報を獲得する。
【0028】
文字検出モデル410から出力される出力データ30は、入力データ10内において、文字が存在すると予想される地点の位置を示す。文字認識装置100は、出力データ30に基づき、入力データ10内において、少なくとも1つの文字を含む単語領域の位置情報を獲得する。
【0029】
S230段階において、文字認識装置100は、単語領域の位置情報に対応する部分データ40を、入力データ10から抽出する。一実施形態において、単語領域の位置情報が複数個で獲得された場合、各位置情報に対応する複数の部分データ40が、入力データ10からも抽出される。
【0030】
S240段階において、文字認識装置100は、部分データ40を、文字認識モデル420に入力し、部分データ40に含まれた文字50を認識する。部分データ40が複数個である場合、文字認識装置100は、複数の部分データ40それぞれを、文字認識モデル420に入力し、複数の部分データ40それぞれに含まれた文字50を認識することができる。
【0031】
一実施形態において、文字認識装置100は、文字検出モデル410の出力データ30を、部分データ40と共に、文字認識モデル420に入力することもできる。文字検出モデル410の出力データ30は、入力データ10内における個別文字の位置情報を含んでもよいので、文字認識モデル420の文字認識の正確度がさらに向上されうる。
【0032】
文字認識装置100は、認識された文字を保存するか、あるいはネットワークを介し、外部装置に伝送することができる。
【0033】
図4は、文字検出モデル410によって出力される出力データ30の一例を図示する例示的な図面である。
【0034】
出力データ30は、入力データ10内において文字が存在する確率を、入力データ10に対応するデータ空間(例えば、イメージ空間)上に示す第1スコアマップ31、及び入力データ10内における文字間の連結性(connectivity)を、入力データ10に対応するデータ空間上に示す第2スコアマップ33を含んでもよい。
【0035】
第1スコアマップ31内の各位置に保存された値(例えば、ピクセル値)は、当該位置に対応する入力データ10に文字が存在する確率を示すことができる。また、第2スコアマップ33内の各位置に保存された値(例えば、ピクセル値)は、当該位置に対応する入力データ10内において、複数の文字が互いに隣接する確率を示すことができる。
【0036】
位置対応関係に係わる計算を容易にするために、第1スコアマップ31及び第2スコアマップ33の大きさは、入力データ10と同一にもなる。
【0037】
後述するように、文字検出モデル410は、学習用データに対応して生成された第1GT(ground truth)スコアマップ及び第2GT(ground truth)スコアマップと類似した第1スコアマップ31及び第2スコアマップ33が出力されるようにも訓練される。
【0038】
文字認識装置100は、第1スコアマップ31及び第2スコアマップ33に基づき、入力データ10内における単語領域の位置情報を決定することができるが、それについては、
図5ないし
図7を参照して説明する。
【0039】
図5は、文字検出モデル410から出力された出力データ30に基づき、入力データ10内における単語領域の位置情報を獲得する方法について説明するための図面であり、
図6は、
図5に図示された二進化過程及び併合過程について説明するための図面であり、
図7は、
図5に図示された単語ボックス決定過程について説明するための図面である。
【0040】
S510段階及びS520段階において、文字認識装置100は、第1スコアマップ31内のデータ値を臨界値と比較し、第1スコアマップ31を二進化(binarization)し、第2スコアマップ33内のデータ値を臨界値と比較し、第2スコアマップ33を二進化する。一例において、文字認識装置100は、第1スコアマップ31内及び第2スコアマップ33内のデータ値のうち、臨界値以上のデータ値を、第1値に変更し、臨界値未満のデータ値を、第2値に変更することができる。
【0041】
図6に図示されているように、第1スコアマップ31及び第2スコアマップ33において、臨界値以上の値を有するデータは、二進化された第1スコアマップ601、及び二進化された第2スコアマップ603において、第1値を有するようにも変更され、第1スコアマップ31及び第2スコアマップ33において、臨界値未満の値を有するデータは、二進化された第1スコアマップ601及び二進化された第2スコアマップ603において、第2値を有するようにも変更される。
【0042】
第1スコアマップ31の二進化のための臨界値と、第2スコアマップ33の二進化のための臨界値は、互いに同一であってもよく、異なっていてもよい。
【0043】
S530段階において、文字認識装置100は、二進化された第1スコアマップ601と、二進化された第2スコアマップ603とを併合(merge)する。例えば、文字認識装置100は、二進化された第1スコアマップ601内と、二進化された第2スコアマップ603内とのデータ値を加えるか、あるいはOR演算を行い、併合マップ605を生成することができる。例えば、
図6に図示されているように、二進化された第1スコアマップ601内、及び二進化された第2スコアマップ603内の第1値を有するデータが、併合マップ605に共に含まれてもよい。そのような方法で併合マップ605は、入力データ10内において、文字が存在する可能性が高い領域606と、そうではない領域とに区分されうる。
【0044】
S540段階において、文字認識装置100は、併合マップ605を利用し、文字が含まれた領域を示す単語ボックス610を決定することになる。
【0045】
例えば、併合マップ605内において、同一(または、同一範囲)値を有し、互いに隣接するように連結された領域606の少なくとも一部を単語領域と決定し、決定された単語領域を含む単語ボックス610を決定することができる。一実施形態において、文字認識装置100は、併合マップ605内における単語領域区分のために、単語領域それぞれにつき、ラベリング(labeling)を行うこともできる。
【0046】
一実施形態において、文字認識装置100は、併合マップ605を利用して認識された領域606それぞれが、実際単語を含むか否かということを検証するために、追加確認を行うことができる。具体的には、例えば、併合マップ605内において、同一(または、同一範囲)値を有し、互いに隣接するように連結された領域606を、単語候補領域として置き、単語候補領域内の各データに対応する第1スコアマップ601の値内に、定められた臨界値より大きいものが1以上存在すれば、当該単語候補領域を単語領域に決定することができる。すなわち、各単語候補領域に対応する第1スコアマップ601の値のうち最大値と臨界値とを比較し、各単語候補領域が単語領域に該当するか否かということを検証することができる。
【0047】
そのようにすれば、文字と類似した背景があり、単語候補領域と決定された場合をフィルタリングすることができるのである。
【0048】
一実施形態において、文字認識装置100は、単語領域に該当すると検証されたデータの領域を含む最小サイズの単語ボックス610を決定することができる。
【0049】
文字認識装置100は、決定された単語ボックス610の位置情報(例えば、入力データ10上または併合マップ605上における単語ボックス610のコーナー位置値)を、単語領域の位置情報として決定することができる。
【0050】
単語領域の位置情報が決定されれば、文字認識装置100は、当該位置情報に対応する部分データ40を、入力データ10から抽出し、抽出された部分データ40を、文字認識モデル420に入力し、部分データ40内において、文字を認識することができる。
【0051】
前述のように、文字検出モデル410に入力される入力データ10は、原本イメージに基づき、特徴検出モデル800から出力される特徴マップを含むことにもなる。
図8は、特徴検出モデル800の構造について説明するための図面である。
【0052】
原本イメージ20は、特徴検出モデル800にも入力される。ここで、原本イメージ20は、特徴検出モデル800に入力されるイメージを意味するものであり、最初カードなどを撮影したイメージをコピーしたイメージまたは変形したイメージではないということを意味するものではない。
【0053】
原本イメージ20は、第1コンボリューション層805、第2コンボリューション層810、第3コンボリューション層815、第4コンボリューション層820、第5コンボリューション層825及び第6コンボリューション層830において、コンボリューション処理がなされる。第6コンボリューション層830の出力と、第5コンボリューション層825の出力とが連接(concatenation)演算され、第1アップコンボリューション層835に入力され、第1アップコンボリューション層835に入力された値は、コンボリューション処理836)、配置正規化(normalization)837、コンボリューション処理838及び配置正規化839を介し、第1アップサンプリング層840に入力される。第1アップサンプリング層840の出力は、第4コンボリューション層820の出力と連接演算され、第2アップコンボリューション層845及び第2アップサンプリング層850で処理される。第2アップサンプリング層850の出力は、第3コンボリューション層815の出力と連接演算され、第3アップコンボリューション層855と第3アップサンプリング層860とで処理され、該処理結果は、第2コンボリューション層810の出力と連接演算され、第4アップコンボリューション層865に入力される。そして、第4アップコンボリューション層865から出力された結果を、入力データ10として使用することができる。
【0054】
一実施形態において、入力データ10の横サイズ及び縦サイズは、原本イメージ20の横サイズ及び縦サイズの1/2日でもあるが、それに限定されるものではない。
【0055】
図8に図示された特徴検出モデル800の構造は、1つの例示であるのみ、コンボリューション層、アップコンボリューション層、アップサンプリング層の層数及び処理順序は、多様にも変形される。
【0056】
図9は、一実施形態による文字認識モデル420の構造について説明するための図面である。
【0057】
文字認識モデル420は、入力データ10から抽出された部分データ40を入力され、部分データ40内における文字50を認識する。文字認識モデル420は、コンボリューションネットワーク(convolution network)421、回帰型ニューラルネットワーク(RNN:recurrent neural network)423及びデコーダ(decoder)425を含んでもよい。
【0058】
コンボリューションネットワーク421は、少なくとも1層のコンボリューション層を含み、部分データ40をコンボリューション処理し、特徴マップを抽出する。一例示において、コンボリューションネットワーク421は、よく知られているVGG、ResNetなどを含んでもよいが、一実施形態において文字認識モデル420は、原本イメージ20の特徴マップ(すなわち、入力データ)から抽出された部分データ40を入力されうるので、必要とされるコンボリューション層の層数は、少ない。
【0059】
RNN 423は、部分データ40に対応する特徴マップから、特徴ベクトルのシーケンスを抽出する。RNN 423は、bi-LSTM(bidirectional long-short-term memory)を介し、連続する特徴ベクトルのコンテクスト(context)関係を把握することができる。
【0060】
デコーダ425は、特徴ベクトルのシーケンス情報から文字を抽出する。デコーダ425は、アテンション(attention)段階及び生成(generation)段階を遂行することができるが、該アテンション段階においてデコーダ425は、どのシーケンスから情報を取り出すかということを示す加重値を計算し、生成段階において、該加重値をシーケンスに適用し、LSTM(long-short-term memory)を介し、個別文字を抽出することができる。
【0061】
一方、一実施形態において、文字認識装置100は、さまざまな部分データ40それぞれで認識された文字グループを、所定基準によって分類することができる。一例において、文字認識装置100は、ある部分データ40で認識された文字グループに、所定記号(例えば、「/」)が含まれていれば、当該文字グループを、第1種類の情報と決定することができる。カード内有効期間には、年度と月とを区分するための所定記号が含まれていることが一般的であるので、文字認識装置100は、ある部分データ40で認識された文字グループに所定記号が含まれていれば、当該文字グループを、有効期間情報と決定することができるのである。
【0062】
もし所定記号が含まれている文字グループの個数が複数個である場合、文字認識装置100は、年度に該当する数字(例えば、記号を基準に、右側に位置する数字)が大きい文字グループを、有効期間情報と決定することができる。カードに有効期間と発給日とが含まれている場合、有効期間に含まれた年度が、発給日に含まれた年度より大きいので、文字認識装置100は、年度に該当する数字が大きい文字グループを、有効期間情報と決定することができるのである。
【0063】
また、一実施形態において、文字認識装置100は、複数の部分データ40それぞれで認識された文字グループにおいて、所定記号を含んでいない文字グループを、第2種類の情報と決定することができる。第2種類の情報は、例えば、カード番号情報を含んでもよい。
【0064】
また、一実施形態において、文字認識装置100は、複数の部分データ40それぞれで認識された文字グループを、入力データ10内における複数の部分データ40の位置によって整列することができる。一例として、文字認識装置100は、入力データ10内の左上端を基準に、Zスキャン方式で文字グループを整列することができる。
【0065】
文字認識装置100は、整列された文字グループにおいて、連続して整列された所定個数の文字グループに含まれた文字の個数に基づき、文字再認識が必要であるか否かということを決定することができる。一例として、文字認識装置100は、整列された文字グループにおいて、所定個数の数字をそれぞれ含みながら、連続して整列された所定個数の文字グループが存在する場合、文字認識が正確に行われ、文字再認識が必要ではないと決定することができる。一般的に、カード番号は、16個の数字を含むが、4個の数字同士1つの文字グループをなすという面において、文字認識装置100は、整列された文字グループにおいて、4個の数字を含む4個の文字グループが連続して整列されている場合、文字再認識が必要ではないと決定することができる。
【0066】
また、一実施形態において、文字認識装置100は、さまざまな部分データ40において認識された文字グループに、所定記号が存在しなければ、文字再認識が必要であると決定することができる。
【0067】
文字再認識が必要でる場合、文字認識装置100は、イメージ再撮影が必要であるという情報を、スピーカ、モニタなどを介して出力するか、あるいはネットワークを介し、外部装置に知らせることができる。一実施形態において、文字認識装置100が、カメラのプレビューイメージから文字を認識している最中、文字再認識が必要であると決定された場合、カメラを介して連続して撮影されているプレビューイメージから、文字を再認識することもできる。
【0068】
以下においては、
図10ないし
図13を参照し、文字検出モデル410を訓練させる方法について説明する。
【0069】
図10は、一実施形態による文字検出モデル410の訓練方法について説明するためのフローチャートである。
【0070】
S1010段階において、文字認識装置100は、学習用データ60内において、文字が存在する確率をデータ空間上に示す第1GTスコアマップ71、及び学習用データ60内における文字間の連結性をデータ空間上に示す第2GTスコアマップ73を獲得する。学習用データ60の横サイズ及び縦サイズは、入力データ10の横サイズ及び縦大きさと同一でもある。また、学習用データ60の横サイズ及び縦サイズは、第1GTスコアマップ71の横サイズ及び縦大きさと同一でもあり、第2GTスコアマップ73の横サイズ及び縦大きさとも同一でもある。
【0071】
一実施形態において、学習用データ60は、前述の原本イメージ20と同様に、カードのような対象体を撮影したイメージ、または当該イメージに基づいて抽出された特徴マップを含んでもよい。
【0072】
文字認識装置100は、学習用データ60から、第1GTスコアマップ71及び第2GTスコアマップ73のうち少なくとも一つを直接生成することもでき、あるいはネットワークや外部管理者を介し、第1GTスコアマップ71及び第2GTスコアマップ73のうち少なくとも一つを受信することもできる。
【0073】
第1GTスコアマップ71内の値は、当該地点において、学習用データ60に文字が位置する確率を示すことができる。また、第2GTスコアマップ73内の値は、当該地点において、複数の文字が互いに隣接する確率を示すことができる。
【0074】
S1020段階において、文字認識装置100は、学習用データ60を、文字検出モデル410に入力する。
【0075】
S1030段階において、学習用データ60に対応し、文字検出モデル410から出力される第1スコアマップ及び第2スコアマップそれぞれと、第1GTスコアマップ71及び第2GTスコアマップ73との比較結果により、文字検出モデル410の内部加重値が更新されうる。
【0076】
第1スコアマップ及び第2スコアマップそれぞれと、第1GTスコアマップ71及び第2GTスコアマップ73との比較結果により、ロス(loss)値が算出されうる。該ロス値は、例えば、L2 Loss値にも該当する。該ロス値は、その以外にも、L1 loss、smooth L1 lossのような多様な方法を利用することができる。算出されたロス値は、文字検出モデル410に入力され、文字検出モデル410は、ロス値により、内部加重値を更新することができる。
【0077】
図11は、第1GTスコアマップ71を生成する方法について説明するための図面であり、
図12は、第2GTスコアマップ73を生成する方法について説明するための図面である。また、
図13は、互いに隣接した文字ボックス62a,62b間において、連結ボックス63aを決定する方法について説明するための図面である。
【0078】
図11を参照すれば、学習用データ60内において、少なくとも1つの文字を含む単語領域につき、単語ボックス61a,61b,61c,61d,61eが決定される。そして、単語ボックス61a,61b,61c,61d,61e内に含まれた文字の個数により、単語ボックス61a,61b,61c,61d,61eが、少なくとも1つの文字ボックス62a,62b,62c,62dに分割される。例えば、いずれか1つの単語ボックス内に、4個の文字が含まれている場合、当該単語ボックスは、総4個の文字ボックスにも分割される。文字ボックス62a,62b,62c,62dそれぞれに、所定のイメージ1100、例えば、2Dガウシアンイメージが合成され、第1GTスコアマップ71が生成されうる。
【0079】
図12及び
図13を参照すれば、複数の文字ボックス62a,62b,62c,62dのうち、互いに隣接した文字ボックス間の境目L上に位置する連結ボックス63a,63b,63cが決定され、連結ボックス63a,63b,63cに、所定イメージ1100、例えば、2Dガウシアンイメージが合成され、第2GTスコアマップ73が生成されうる。
【0080】
連結ボックス63a,63b,63cは、互いに隣接した文字ボックスの内部空間に設定された複数の地点を連結することによっても決定される。具体的には、
図13に図示されているように、互いに隣接した文字ボックス62a,62bのうち、左側文字ボックス62a内の2個地点、及び右側文字ボックス62b内の2個地点を連結した連結ボックス63aが決定されうる。
【0081】
一例において、互いに隣接した左側文字ボックス62a及び右側文字ボックス62bのコーナーのうち、左側下端コーナーと右側上端コーナーとを連結し、左側上端コーナーと右側下端コーナーとを連結し、上部及び下部の三角形を決定し、当該三角形の中心点を連結することにより、連結ボックス63aが決定されうる。
【0082】
図14は、一実施形態による文字認識装置100の構成を図示するブロック図である。
【0083】
図14を参照すれば、文字認識装置100は、メモリ1410、通信モジュール1430及びプロセッサ1450を含んでもよい。メモリ1410には、少なくとも1つのインストラクションが保存され、プロセッサ1450は、少なくとも1つのインストラクションにより、文字検出及び文字検出モデル410の訓練を制御することができる。
【0084】
図14は、1つのメモリ1410、及び1つのプロセッサ1450のみを図示しているが、文字認識装置100は、複数のメモリ及び/または複数のプロセッサを含んでもよい。
【0085】
メモリ1410は、文字検出モデル410及び文字認識モデル420を保存することができる。また、メモリ1410は、特徴抽出モデル800をさらに保存することができる。
【0086】
プロセッサ1450は、文字検出モデル410に入力データ10を入力し、文字検出モデル410から出力される出力データに基づき、入力データ10内における単語領域の位置情報を獲得することができる。そして、プロセッサ1450は、獲得した位置情報に対応する部分データを、文字認識モデル420に入力し、文字認識モデル420から出力された文字情報を、メモリ1410、またはその他保存装置に保存することができる。
【0087】
一実施形態において、プロセッサ1450は、学習用データ60に基づき、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも一つを訓練させることができる。
【0088】
通信モジュール1430は、ネットワークを介し、外部装置とデータを送受信する。例えば、通信モジュール1430は、外部装置とイメージを送受信したり、入力データ10内で認識された文字情報を、外部装置と送受信したりすることができる。
【0089】
図15は、一実施形態による文字認識装置100が適用されうるサーバ装置1510及びクライアント装置1520を図示する図面である。
文字認識装置100は、サーバ装置1510に具現されるとかまたはクライアント装置1520に具現されることができる。
【0090】
文字認識装置100がサーバ装置1510でもって具現される場合、サーバ装置1510は、クライアント装置1520からイメージを受信し、受信されたイメージ内において、文字を認識して保存することができる。一例において、サーバ装置1510は、クライアント装置1520から受信されたイメージ内において認識された文字情報を、クライアント装置1520に伝送することもできる。また、サーバ装置1510は、クライアント装置1520を含む外部装置から、学習用データを受信したり、内部に保存された学習用データを利用したりし、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも1つの訓練を制御することもできる。
【0091】
文字認識装置100がクライアント装置1520でもって具現される場合、クライアント装置1520は、クライアント装置1520のカメラによって撮影されたイメージ内、またはクライアント装置1520に保存されたイメージ内において文字を認識し、保存することができる。
【0092】
一実施形態において、クライアント装置1520は、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも1つの実行のためのデータをサーバ装置1510から受信することができる。クライアント装置1520は、カメラモジュールを介して撮影されたイメージ、内部メモリに保存されたイメージ、または外部装置から受信されたイメージを、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも一つに入力させ、文字を認識することができる。
【0093】
クライアント装置1520は、外部装置から、学習用データを受信したり、内部に保存された学習用データを利用したりし、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも1つの訓練を制御することもできる。一具現例により、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも1つの実行のためのデータを、クライアント装置1520に提供したサーバ装置1510が、学習用データに基づき、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも1つの訓練を制御することもできる。その場合、サーバ装置1510は、訓練結果、更新された加重値情報のみを、クライアント装置1520に伝送し、クライアント装置1520は、受信された情報により、文字検出モデル410、文字認識モデル420及び特徴抽出モデル800のうち少なくとも一つを更新することができる。
【0094】
図15は、クライアント装置1520として、デスクトップPC(personal computer)を図示しているが、それに限定されるものではなく、クライアント装置1520は、ノート型パソコン、スマートフォン、タブレットPC、AI(artificial intelligence)ロボット、AIスピーカ、ウェアラブル機器などを含んでもよい。
【0095】
なお、前述の本開示の実施形態は、コンピュータで実行されうるプログラムに作成可能であり、該作成されたプログラムは、媒体にも保存される。
【0096】
該媒体は、コンピュータで実行可能なプログラムを続けて保存するか、あるいは実行またはダウンロードのために、臨時保存するものでもある。また、該媒体は、単一または数個のハードウェアが結合された形態の多様な記録手段または保存手段でもあるが、あるコンピュータシステムに直接接続される媒体に限定されるものではなく、ネットワーク上に分散存在するものでもある。該媒体の例示としては、ハードディスク、フロッピィーディスク及び磁気テープのような磁気媒体;CD-ROM(compact disc read only memory)及びDVD(digital versatile disc)のような光記録媒体;フロプティカルディスク(floptical disk)のような磁気・光媒体(magneto-optical medium);及びROM(read only memory)、RAM(random access memory)、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものでもある。また、他の媒体の例示として、アプリケーションを流通するアプリストアや、その他多様なソフトウェアを供給ないし流通するサイト、サーバなどで管理する記録媒体また保存媒体も挙げることができる。
【0097】
以上、本開示の技術的思想について、望ましい実施形態を挙げて詳細に説明したが、本開示の技術的思想は、前述の実施形態に限定されるものではなく、本開示の技術的思想の範囲内において、当分野において当業者により、さまざまな変形及び変更が可能である。
【国際調査報告】