(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126021
(43)【公開日】2024-09-19
(54)【発明の名称】ディープラーニングベースの光学文字認識方法およびシステム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240911BHJP
G06T 7/11 20170101ALI20240911BHJP
G06T 7/70 20170101ALI20240911BHJP
G06V 10/82 20220101ALI20240911BHJP
G06V 20/62 20220101ALI20240911BHJP
G06V 30/14 20220101ALI20240911BHJP
G06N 3/0455 20230101ALI20240911BHJP
G06N 3/0475 20230101ALI20240911BHJP
【FI】
G06T7/00 350C
G06T7/11
G06T7/70 Z
G06V10/82
G06V20/62
G06V30/14 340A
G06N3/0455
G06N3/0475
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024034245
(22)【出願日】2024-03-06
(31)【優先権主張番号】10-2023-0029535
(32)【優先日】2023-03-06
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】P 2023035601
(32)【優先日】2023-03-08
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】キル,テホ
(72)【発明者】
【氏名】ソ,ソクミン
(72)【発明者】
【氏名】キム,ドンヒョン
(72)【発明者】
【氏名】キム,ソンヒョン
(72)【発明者】
【氏名】イ,バド
(72)【発明者】
【氏名】キム,ユンシク
(72)【発明者】
【氏名】キム,デヒ
(72)【発明者】
【氏名】ソン,カヨン
【テーマコード(参考)】
5B029
5L096
【Fターム(参考)】
5B029CC25
5L096AA06
5L096BA17
5L096CA15
5L096EA39
5L096FA44
5L096FA52
5L096FA59
5L096FA64
5L096FA67
5L096FA69
5L096GA10
5L096GA30
5L096GA34
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
【課題】本開示は、少なくとも1つのプロセッサによって実行されるディープラーニングベースの光学文字認識方法を提供する。
【解決手段】ディープラーニングベースの光学文字認識方法は、イメージから少なくとも1つのテキスト領域を検出する段階と、少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成する段階と、イメージおよび少なくとも1つのリファレンスポイントに基づいて、イメージから少なくとも1つのテキストを抽出する段階とを含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行されるディープラーニングベースの光学文字認識(Optical Character Recognition、OCR)方法において、
イメージから少なくとも1つのテキスト領域を検出する段階と、
前記少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成する段階と、
前記イメージおよび前記少なくとも1つのリファレンスポイントに基づいて、前記イメージから少なくとも1つのテキストを抽出する段階と、
を含む、ディープラーニングベースの光学文字認識方法。
【請求項2】
前記少なくとも1つのリファレンスポイントのそれぞれは、前記少なくとも1つのテキスト領域それぞれの中心点を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項3】
前記イメージから少なくとも1つのテキスト領域を検出する段階は、
前記イメージから単語(word)単位のテキストに関連するフィーチャ(features)を抽出する段階と、
前記フィーチャに基づいて、前記少なくとも1つのテキスト領域の位置情報を生成する段階と、
を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項4】
前記少なくとも1つのテキスト領域は、第1テキスト領域と第2テキスト領域とを含み、
前記少なくとも1つのリファレンスポイントは、前記第1テキスト領域に関連する第1リファレンスポイントと、前記第2テキスト領域に関連する第2リファレンスポイントとを含み、
前記イメージから少なくとも1つのテキストを抽出する段階は、
前記イメージおよび前記第1リファレンスポイントに基づいて、前記第1テキスト領域から第1テキストを抽出する段階と、
前記第1テキストを抽出する段階の少なくとも一部と並列で、前記イメージおよび前記第2リファレンスポイントに基づいて、前記第2テキスト領域から第2テキストを抽出する段階と、
を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項5】
前記イメージから少なくとも1つのテキストを抽出する段階は、
前記少なくとも1つのリファレンスポイントに隣接する複数のオフセット(offset)ポイントを生成する段階と、
前記イメージおよび前記複数のオフセットポイントに基づいて、前記イメージから少なくとも1つのテキストを抽出する段階と、
を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項6】
前記複数のオフセットポイントは、前記複数のオフセットポイントに隣接する領域にアテンション(attention)してテキストを抽出するようにガイドする、請求項5に記載のディープラーニングベースの光学文字認識方法。
【請求項7】
前記抽出されたテキストは単語単位のテキストであり、
前記方法は、
前記抽出されたテキストに対する分類スコア(classification score)を用いて、前記抽出されたテキストに含まれている少なくとも1つの文字(character)それぞれを自己回帰的に(autoregressively)検出する段階をさらに含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項8】
前記イメージ内における前記少なくとも1つの文字それぞれの位置および角度を予測する段階をさらに含む、請求項7に記載のディープラーニングベースの光学文字認識方法。
【請求項9】
前記イメージから少なくとも1つのテキスト領域を検出する段階は、
前記イメージからライン単位のテキストに関連するフィーチャを抽出する段階と、
前記フィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成する段階と、
を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項10】
前記イメージから少なくとも1つのテキスト領域を検出する段階は、
前記イメージから段落(paragraph)単位のテキストに関連するフィーチャを抽出する段階と、
前記フィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成する段階と、
を含む、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項11】
前記イメージから少なくとも1つのテキスト領域を検出する段階は、
前記イメージから少なくとも1つの単語単位のテキスト領域を検出する段階と、
前記イメージから少なくとも1つのライン単位のテキスト領域を検出する段階と、
前記イメージから少なくとも1つの段落単位のテキスト領域を検出する段階と、を含み、
前記単語単位のテキスト領域を検出する段階と、前記ライン単位のテキスト領域を検出する段階と、前記段落単位のテキスト領域を検出する段階とは、少なくとも部分的に並列で実行される、請求項1に記載のディープラーニングベースの光学文字認識方法。
【請求項12】
前記抽出されたテキストが含まれているライン単位のテキスト領域または段落単位のテキスト領域のうちの少なくとも1つの位置情報を検出する段階をさらに含む、請求項11に記載のディープラーニングベースの光学文字認識方法。
【請求項13】
請求項1~12のいずれか一項に記載の方法をコンピュータで実行するためにコンピュータ読み取り可能なコンピュータプログラム。
【請求項14】
光学文字認識システムであって、
イメージから少なくとも1つのテキスト領域を検出し、前記少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成する検出器(detector)と、
前記イメージおよび前記少なくとも1つのリファレンスポイントに基づいて、前記イメージから少なくとも1つのテキストを抽出する認識器(recognizer)と、
を含む、光学文字認識システム。
【請求項15】
前記イメージから少なくとも1つのテキストに関連するフィーチャを抽出するバックボーン(backbone)と、
前記フィーチャを符号化するトランスフォーマーエンコーダ(transformer encoder)と、
をさらに含む、請求項14に記載の光学文字認識システム。
【請求項16】
前記検出器は、
セグメンテーション(segmentation)マップにより前記イメージからテキスト領域の境界ポリゴン(bounding polygon)を抽出し、
前記境界ポリゴンから前記テキスト領域の中心座標を抽出し、
前記中心座標を前記リファレンスポイントとして決定する、請求項14に記載の光学文字認識システム。
【請求項17】
前記認識器は、変形可能なアテンション(deformable attention)により、前記イメージおよび前記少なくとも1つのリファレンスポイントを参照しながら、前記少なくとも1つのテキスト領域に関連するテキストインスタンスから少なくとも1つのテキストを自己回帰的に予測する、請求項14に記載の光学文字認識システム。
【請求項18】
前記認識器は、
第1テキスト領域に関連する第1リファレンスポイントおよび前記イメージに基づいて、前記イメージから第1テキストを抽出する第1認識器と、
第2テキスト領域に関連する第2リファレンスポイントおよび前記イメージに基づいて、前記イメージから第2テキストを抽出する第2認識器と、を含み、
前記第1認識器および前記第2認識器は、少なくとも部分的に並列でテキスト抽出を実行する、請求項14に記載の光学文字認識システム。
【請求項19】
前記認識器は、
前記抽出されたテキストに対する分類スコアを用いて、前記抽出されたテキストに含まれている少なくとも1つの文字それぞれを自己回帰的に検出し、前記イメージ内における前記少なくとも1つの文字それぞれの位置および角度を予測する、請求項14に記載の光学文字認識システム。
【請求項20】
前記検出器は、
単語単位のテキスト領域を検出する第1検出器と、
ライン単位のテキスト領域を検出する第2検出器と、
段落単位のテキスト領域を検出する第3検出器と、を含み、
前記第1検出器、前記第2検出器および前記第3検出器は、少なくとも部分的に並列でテキスト領域検出を実行する、請求項14に記載の光学文字認識システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、光学文字認識方法およびシステムに関するもので、具体的には、イメージに含まれているテキスト領域を参照するためのリファレンスポイント(reference point:参照点)を生成することによって、イメージおよびリファレンスポイントに基づいてイメージからテキストを抽出するディープラーニングベースの光学文字認識方法およびシステムに関するものである。
【背景技術】
【0002】
光学文字認識(OCR)は、イメージからテキストを検出し、検出されたテキストがどのようなテキストであるかを認識する技術のことを意味する。従来の光学文字認識技術は、文書の文字を認識するために使用されてきた。しかし、道端の看板などのように、日常の中でよく見かけるテキストを認識しようとすると、場合の数が様々で技術的難易度が高い。例えば、ななめまたは屈曲のあるイメージに含まれているテキストの場合、長方形ではなく様々な形態のテキスト領域が存在し得るため、テキストを認識することが難しくなり得る。このように、周辺環境やオブジェクトに表示されているテキストをシーンテキスト(scene text)と称する。
【0003】
このようなシーンテキストを認識するために、従来の技術は、検出器(detector)を用いてイメージからテキストの領域を検出し、検出された領域の大きさを調整するなどで編集して認識器(recognizer)に伝達する第1段階と、認識器を用いて当該テキストを認識する第2段階とで構成される。しかしながら、このような従来技術は、テキスト領域を検出できないと、テキスト認識がともに失敗することとなり、検出された領域の大きさを調整する際にテキストの内容が失われ得る。また、各段階で実行される人工ニューラルネットワークを重複して学習するため、計算資源(リソース)の効率が低下し得る。さらには、検出器を更新する場合、認識器も新たに学習する必要があるため、関連サービスの管理またはメンテナンスの面で不利となり得る。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】韓国公開特許第10-2015-0125376号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、前記のような問題点を解決するためのディープラーニングベースの光学文字認識方法およびシステム(装置)を提供する。
【課題を解決するための手段】
【0006】
本開示は、方法、装置(システム)、またはコンピュータ読み取り可能なコンピュータプログラムを含む様々な方法により実現され得る。
【0007】
本開示の一実施例によると、ディープラーニングベースの光学文字認識方法は、イメージから少なくとも1つのテキスト領域を検出する段階と、少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成する段階と、イメージおよび少なくとも1つのリファレンスポイントに基づいて、イメージから少なくとも1つのテキストを抽出する段階とを含み得る。
【0008】
本開示の一実施例による方法をコンピュータで実行するために、コンピュータ読み取り可能なコンピュータプログラムが提供され得る。
【0009】
本開示の一実施例による光学文字認識システムであって、イメージから少なくとも1つのテキスト領域を検出し、少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成する検出器と、イメージおよび少なくとも1つのリファレンスポイントに基づいて、イメージから少なくとも1つのテキストを抽出する認識器とを含み得る。
【発明の効果】
【0010】
本開示の様々な実施例によると、イメージのテキスト領域を検出する過程にミスがあっても、イメージ全体とリファレンスポイントとを利用することにより、イメージからテキストを正しく抽出することができる。すなわち、テキスト領域の検出ミスが発生しても、テキスト内容の損失を防止することができる。また、最終的なテキスト認識結果が検出されたテキスト領域にもっぱら依存しないので、イメージ内の回転しているテキスト抽出にも強みを有し得る。
【0011】
本開示の様々な実施例によると、2つの段階ではなく1つの段階で検出器および認識器が一度に学習されるので、学習の効率性が向上され得る。また、検出されたテキスト領域の大きさを調整しないで、イメージおよびリファレンスポイントを利用することにより、長い文字が歪んだり切られたりした状態で認識エラーが発生する現象を防止し得る。さらには、バックボーンから抽出されたマルチスケールフィーチャを検出器および認識器に共有することにより、モデルの性能および推論速度が向上され得る。
【0012】
本開示の様々な実施例によると、イメージ内の関心領域をプーリングまたはマスキングしないで、リファレンスポイントおよび全体のイメージフィーチャ(feature)を利用することにより、イメージ内のテキストが認識および復号(decoding)され得る。これにより、関心領域の検出にミスがあっても、テキストの抽出がスムーズに行われ得る。
【0013】
本開示の様々な実施例によると、イメージ内の交差テキスト、テキスト内のテキスト、様々な文字体および大きさのような複雑なシーンテキストがより正確に抽出され得る。また、最終的なテキスト認識結果がイメージ内のテキスト領域の検出に大きく依存しないので、テキスト領域の検出ミスに強みを有し得る。さらには、イメージ内のテキストが回転していても、正しくテキストが抽出され得る。
【0014】
本開示の様々な実施例によると、特定の単語単位のテキストがどのテキスト領域に含まれるかマッチングすることにより、検出されたテキストをより有機的に連結し得る。これにより、光学文字認識により文書からテキストを抽出した後、翻訳サービスを提供する過程で、より優れた品質の翻訳サービスが提供され得る。
【0015】
本開示の効果は、以上で言及した効果に制限されず、言及されていない他の効果は、請求範囲の記載から本開示が属する技術分野において通常の知識を有する者(「通常の技術者」という)に明確に理解され得ることである。
【0016】
本開示の実施例は、以下に説明する添付の図面を参照して説明され、ここで類似の参照番号は類似の要素を示すが、これに限定されない。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本開示の一実施例による光学文字認識方法の一例を示す。
【
図2】
図2は、本開示の一実施例による光学文字認識のために、情報処理システムが複数のユーザ端末と通信可能のように連結された構成を例示する概要図である。
【
図3】
図3は、本開示の一実施例によるユーザ端末および情報処理システムの内部構成を示すブロック図である。
【
図4】
図4は、本開示の一実施例による光学文字認識システムを例示する概要図である。
【
図5】
図5は、本開示の一実施例により、イメージからテキストを抽出する一例を示す図である。
【
図6】
図6は、本開示の一実施例による光学文字認識システムのプロセスの一例を示す図である。
【
図7】
図7は、本開示の一実施例による光学文字認識結果の一例を示す図である。
【
図8】
図8は、本開示の一実施例により文字単位のテキストが検出される一例を示す図である。
【
図9】
図9は、本開示の一実施例により、文書でライン単位および段落単位のテキスト領域を検出する一例を示す図である。
【
図10】
図10は、本開示の一実施例による方法を例示するフローチャートである。
【発明を実施するための形態】
【0018】
以下、本開示の実施のための具体的な内容を添付の図面を参照して詳細に説明する。ただし、以下の説明では、本開示の要旨を不要に曖昧にする恐れがある場合、周知の機能や構成に関する具体的な説明は省略する。
【0019】
添付の図面において、同一または対応する構成要素には同じ参照符号が付与されている。また、以下の実施例の説明において、同一または対応する構成要素を重複して記載することが省略され得る。しかしながら、構成要素に関する記述が省略されても、そのような構成要素がある実施例に含まれないものと意図するものではない。
【0020】
開示された実施例の利点および特徴、そしてそれらを達成する方法は、添付の図面とともに後述の実施例を参照すると明確になることである。しかし、本開示は、以下に開示される実施例に限定されるものではなく、互いに異なる様々な形態で実現することができ、単に本実施例は、本開示が完全たるものとなるようにし、本開示が通常の技術者に発明の範囲を適切に知らせるために提供されるのみのものである。
【0021】
本明細書で使用される用語について簡単に説明し、開示された実施例について具体的に説明する。本明細書で使用される用語は、本開示における機能を考慮しながら、なるべく現在広く使用されている一般的な用語を選択しているが、これは、関連分野に従事する技術者の意図または判例、新たな技術の出現などによって変わり得る。また、特定の場合は、出願人が任意に選定した用語もあり、その場合、該当する発明の説明において詳細にその意味を記載する。したがって、本開示で使用される用語は、単なる用語の名称ではなく、その用語が有する意味と、本開示全般にわたる内容に基づいて定義されるべきである。
【0022】
本明細書における単数の表現は、文脈上明らかに単数のものと特定しない限り、複数の表現を含む。また、複数の表現は、文脈上明らかに複数のものと特定しない限り、単数の表現を含む。明細書全体においてある部分がある構成要素を含むと言う場合、それは、特に反する記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含み得ることを意味する。
【0023】
さらに、本明細書で使用される「モジュール」または「部(ユニット)」という用語は、ソフトウェアまたはハードウェア構成要素を意味し、「モジュール」または「部」は何らかの役割を果たす。されど、「モジュール」または「部」は、ソフトウェアまたはハードウェアに限定される意味ではない。「モジュール」または「部」は、アドレッシング(アドレス指定)可能な記憶媒体にあるように構成されてもよく、1つまたはそれ以上のプロセッサを再生するように構成されてもよい。したがって、一例として、「モジュール」または「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、または変数のうちの少なくとも1つを含み得る。構成要素と「モジュール」または「部」は、中で提供される機能はより小さい数の構成要素および「モジュール」または「部」で結合されるか、または追加の構成要素と「モジュール」または「部」にさらに分離され得る。
【0024】
本開示の一実施例によると、「モジュール」または「部」は、プロセッサおよびメモリで実現され得る。「プロセッサ」は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、ステートマシンなどを含むよう広く解釈されるべきである。いくつかの環境において、「プロセッサ」は、カスタム半導体(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指すこともあり得る。「プロセッサ」は、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアと結合した1つ以上のマイクロプロセッサの組み合わせ、または他の任意のそのような構成の組み合わせのような処理デバイスの組み合わせを指すこともあり得る。また、「メモリ」は、電子情報を保存可能な任意の電子コンポネントを含むよう広く解釈されるべきである。「メモリ」は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読み取り専用メモリ(PROM)、消去プログラマブル読み取り専用メモリ(EPROM)、電気的に消去可能なPROM(EEPROM)、フラッシュメモリ、磁気または光データ記憶装置、レジスタなどのようなプロセッサ読み取り可能媒体の様々な類型を指すこともあり得る。プロセッサがメモリから情報の読み取りおよび/またはメモリに情報の書き込みができるならば、メモリはプロセッサと電子通信状態にあると称される。プロセッサに集積されたメモリは、プロセッサと電子通信状態にある。
【0025】
本開示において、「システム」は、サーバー装置とクラウド装置のうちの少なくとも1つの装置を含み得るが、これらに限定されるものではない。例えば、システムは、1つ以上のサーバー装置で構成され得る。他の例として、システムは1つ以上のクラウド装置で構成され得る。また他の例として、システムは、サーバー装置とクラウド装置とが一緒に構成され動作し得る。
【0026】
本開示において、「ディスプレイ」は、コンピューティング装置に関連する任意のディスプレイ装置を指すことがあり、例えば、コンピューティング装置によって制御されるか、またはコンピューティング装置から提供された任意の情報/データを表示し得る任意のディスプレイ装置を指し得る。
【0027】
本開示において、「複数のAのそれぞれ」または「複数のAそれぞれ」は、複数のAに含まれているすべての構成要素のそれぞれを指すか、または複数のAに含まれている一部構成要素のそれぞれを指し得る。
【0028】
任意の形態のテキストインスタンス(text instance)を認識するエンドツーエンド(end-to-end)シーンテキストスポッティング(scene text spotting)技術は、大きな改善を成し遂げた。シーンテキスト検出のための一般的な方法は、単一のテキストインスタンスのフィーチャ(feature)を制限するために、関心領域をプーリング(pooling)するか、またはセグメンテーションマスキング(segmentation masking)することである。しかし、検出が正確ではない場合(例えば、1つ以上の文字が切られてしまう場合など)、このような方法における認識器は正しい文字イメージシーケンスを復号または生成することが困難であり得る。
【0029】
本開示においては、例えば、シーンテキストスポッティング問題において、検出器だけでは単語の境界を正確に決定することが難しいと言うことを考慮して、検出に拘束されない(detection-agnostic)エンドツーエンド認識器を含む光学文字認識方法を提供する。本開示の方法は、検出されたテキスト領域を使用する代わりに、各テキストに対して1つのリファレンスポイントを用いて検出器と認識器とを連結することにより、検出器と認識器との間の緊密な依存度を減少させ得る。また、本開示の方法によると、認識器が全体イメージのフィーチャとともにリファレンスポイントとして表示されたテキストを認識し得る。つまり、テキストを認識するためにたった1つのポイントのみを必要とするので、任意の形態の検出器または境界ポリゴン(bounding polygon)なしで、イメージからテキストが抽出され得る。加えて、本開示は、正規(regular:規則的)および不規則(arbitrarily)形態のテキストスポットベンチマーク(text spotting benchmarks)において競争力があり、テキスト検出エラーに対して強い(robust)光学文字認識方法およびシステムを提供し得る。
【0030】
エンドツーエンド・シーンテキストスポッティング技術は、情報抽出、イメージ検索、視覚的クエリ応答など、さまざまな分野で活用されている。一般に、エンドツーエンド・シーンテキストスポッティングのパイプラインは、検出器および認識器で構成される。検出器は、ボックスまたはポリゴン形態でイメージ内のテキストインスタンスをローカライズ(localize)し、認識器は、ローカライズされた各テキスト領域を入力として受け、イメージの各パッチ内の文字を復号する。
【0031】
従来のシーンテキストスポッティング・パイプラインは、検出器と認識器との間にやや緊密に結合されたフレームワーク(framework)を使用していた。特に、検出器にてテキスト領域に対する認識エラーが発生すると、認識対象テキストの一部が切られたテキストのみが含まれているイメージが認識器に供給され得る。この場合、該当パイプラインの認識性能は、検出器および認識器が出力するイメージパッチの性能に大きく左右され得る。近年、エンドツーエンド・シーンテキストスポッティング方法は、関心領域(Region Of Interest、ROI)プーリングまたはマスキングを用いてフィーチャを抽出し、認識器の入力領域を単一単語に制限することによって、より弱く結合されたフレームワークを使用する。認識器にローカライズされたフィーチャを使用すると、検出器において切られた領域に対する認識器の依存度は減り得るが、検出器のエラーは依然として蓄積され、認識失敗事例が発生し得る。また、フィーチャプーリングとマスキングは、最終アプリケーションに正確な境界情報が必要でなくても、エンドツーエンド・シーンテキストスポッティングモデルを学習させるために、境界ボックスまたは境界ポリゴンのあるデータが必要である。
【0032】
本開示は、検出結果の精度への依存性を大きく緩和する、新たなエンドツーエンド認識器を提供する。正確なテキスト領域を抽出するために、検出器に依存する代わりに、検出器が各テキストインスタンスに対するリファレンスポイントを生成し得る。その後、認識器は、当該リファレンスポイント周囲のテキストを総合的に認識し得る。具体的に、認識器にリファレンスポイントが与えられると、認識器は、テキストシーケンスを復号する間に特定のテキストインスタンスの領域をアテンション(attention)するように学習され得る。また、検出器に単一リファレンスポイントのみを再度要請するので、より一層多様な検出アルゴリズムおよびアノテーション(annotation)が適用され得る。さらには、プーリング作業とポリゴンタイプのアノテーションなしで、回転または屈曲のあるテキストインスタンスが自然に処理され得る。
【0033】
本開示において、「テキスト領域」は、イメージ内のテキストが含まれている領域を指し得る。ここで、テキスト領域は、四角形状の境界ボックス(bounding box)形態で表示され得るが、これに限定されず、多角形状の境界ポリゴン(bounding polygon)形態で表示され得る。また、テキスト領域は、頂点の座標で構成され得る。例えば、テキスト領域が境界ボックス形態の場合、テキスト領域は、左上端(top-left)座標値、右上端(top-right)座標値、右下端(bottom-right)座標値、および左下端(bottom-left)座標値で構成され得る。
【0034】
本開示において、「認識器(recognizer)」は、光学文字認識システムにおいて、イメージ内のテキスト領域を認識するモジュールのことを指し得る。また、認識器は、テキストデコーダ(text decoder)を含み得る。すなわち、認識器は、テキスト領域を認識して文字イメージシーケンスを生成し、テキストデコーダを用いて文字イメージシーケンスをテキストに変換し得る。
【0035】
図1は、本開示の一実施例による光学文字認識方法を例示する。第1例示110は、従来の光学文字認識方法の例示である。従来の光学文字認識方法は、検出器を用いてイメージからテキスト領域112を検出し、検出されたテキスト領域112の大きさを調整して認識器に伝達する第1段階と、認識器を用いて検出されたテキスト領域112でテキストを認識する第2段階とを含む。しかし、このような従来の方法では、検出器がテキスト領域112を誤って検出した場合、テキスト認識がともに失敗し得る。また、検出されたテキスト領域112の大きさが調整される際にテキストの内容が失われ得る。そして、各段階で実行される人工ニューラルネットワークを重複して学習する必要があるため、計算資源の効率が低下し得る。さらには、検出器を更新する場合、認識器も新たに学習する必要があるため、関連サービスの管理またはメンテナンスの時間およびコストが増加し得る。
【0036】
第2例示120は、本開示の光学文字認識方法の例示である。一実施例において、イメージから少なくとも1つのテキスト領域が検出され得る。具体的には、イメージから単語単位のテキストに関連するフィーチャが抽出され得る。また、フィーチャに基づいて、少なくとも1つのテキスト領域の位置情報が生成され得る。なお、テキスト領域の位置情報は、テキスト領域の境界ボックスまたは境界ポリゴンの頂点座標であり得る。
【0037】
一実施例において、テキスト領域に関連するリファレンスポイント122が生成され得る。なお、リファレンスポイント122は、テキスト領域の中心点を含み得る。この場合、テキスト領域の中心点は、テキスト領域の位置情報に基づいて決定され得る。図に示すように、テキスト領域の境界ボックスが「ゴマ」を含む場合、「ゴマ」の中心部分にリファレンスポイント122が生成され得る。リファレンスポイントが表示される例示は、
図7を参照して詳細に後述する。
【0038】
一実施例において、イメージおよびリファレンスポイント122に基づいて、イメージからテキストが認識または抽出され得る。具体的には、リファレンスポイント122に隣接する複数のオフセットポイント124_1~124_4が生成され得る。なお、複数のオフセットポイント124_1~124_4は、認識器が複数のオフセットポイント124_1~124_4に隣接する領域にアテンションして、テキストを抽出するようにガイドし得る。また、イメージおよび複数のオフセットポイント124_1~124_4に基づいて、イメージから少なくとも1つのテキストが抽出され得る。例えば、認識器は、イメージで複数のオフセットポイント124_1~124_4をアテンションすることによって、イメージから「ゴマ」を抽出し得る。
図1では、オフセットポイントが4つのものと示しているが、これに限定されない。
【0039】
一実施例において、複数のテキスト抽出が、少なくとも部分的に並列で実行され得る。例えば、第1テキスト領域として「ゴマ」が含まれている領域が検出され、第2テキスト領域として「スティック」が含まれている領域が検出され得る。この場合、第1テキスト領域に第1リファレンスポイントが生成され、第2テキスト領域に第2リファレンスポイントがそれぞれ生成され得る。また、イメージおよび第1リファレンスポイントに基づいて、第1テキスト領域から「ゴマ」が抽出され得る。さらに、「ゴマ」を抽出することと少なくとも部分的に並列で、イメージおよび第2リファレンスポイントに基づいて、第2テキスト領域から「スティック」が抽出され得る。
【0040】
このような構成により、イメージのテキスト領域を検出する過程にミスがあっても、イメージ全体とリファレンスポイントを利用することにより、イメージからテキストを正しく抽出し得る。すなわち、テキスト領域の検出ミスが発生しても、テキスト内容の損失を防止し得る。また、最終的なテキスト認識結果が検出されたテキスト領域にもっぱら依存しないので、イメージ内の回転しているテキスト抽出にも強みを有し得る。
【0041】
図2は、本開示の一実施例による光学文字認識のために、情報処理システム230が複数のユーザ端末210_1、210_2、210_3と通信可能に連結された構成を示す概要図である。図に示すように、複数のユーザ端末210_1、210_2、210_3は、ネットワーク220を介して光学文字認識サービスを提供し得る情報処理システム230と連結され得る。なお、複数のユーザ端末210_1、210_2、210_3は、光学文字認識サービスの提供を受けるユーザの端末を含み得る。
【0042】
一実施例において、情報処理システム230は、光学文字認識サービス提供などに関連するコンピュータ実行可能なプログラム(例えばダウンロード可能アプリケーション)およびデータを保存、提供、および実行し得る1つ以上のサーバー装置および/またはデータベース、またはクラウドコンピューティングサービスベースの1つ以上の分散コンピューティング装置および/または分散データベースを含み得る。
【0043】
情報処理システム230によって提供される光学文字認識サービスは、複数のユーザ端末210_1、210_2、210_3のそれぞれに設けられた光学文字認識サービスアプリケーションのウェブブラウザまたはウェブブラウザ拡張プログラムなどによりユーザに提供され得る。例えば、情報処理システム230は、光学文字認識サービスアプリケーションなどにより、ユーザ端末210_1、210_2、210_3から受信するイメージ内のテキスト抽出要請に対する情報を提供したり、対応したりする処理を行い得る。
【0044】
複数のユーザ端末210_1、210_2、210_3は、ネットワーク220を介して情報処理システム230と通信し得る。ネットワーク220は、複数のユーザ端末210_1、210_2、210_3と情報処理システム230との間の通信が可能となるように構成され得る。ネットワーク220は、設置環境に応じて、例えば、イーサネット(Ethernet、登録商標)、有線ホームネットワーク(Power Line Communication)、電話回線通信装置およびRSシリアル通信等の有線ネットワーク、移動体通信ネットワーク、WLAN(Wireless LAN)、Wi-Fi(登録商標)、Bluetooth(登録商標)、およびZigBee(登録商標)等のような無線ネットワークまたはその組み合わせで構成され得る。通信方式は制限されず、ネットワーク220が含み得る通信網(一例として、移動体通信ネットワーク、有線インターネット、無線インターネット、放送通信網、衛星通信網など)を活用する通信方式だけでなく、ユーザ端末210_1、210_2、210_3間の近距離無線通信も含まれ得る。
【0045】
図2において、携帯電話端末210_1、タブレット端末210_2およびPC端末210_3が、ユーザ端末の例として示されているが、これに限定されず、ユーザ端末210_1、210_2、210_3は、有線および/または無線通信が可能で、光学文字認識サービスアプリケーションまたはウェブブラウザなどが設置され実行され得る任意のコンピューティング装置であり得る。例えば、ユーザ端末は、AIスピーカ、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノートブック、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPC、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイス、セットトップボックスなどを含み得る。また、
図2には、3つのユーザ端末210_1、210_2、210_3が、ネットワーク220を介して情報処理システム230と通信するものと示されているが、これに限定されず、異なる数のユーザ端末がネットワーク220を介して情報処理システム230と通信するように構成されても良い。
【0046】
図2には、ユーザ端末210_1、210_2、210_3が、情報処理システム230から光学文字認識サービスの提供を受けるものと示されているが、これに限定されない。例えば、情報処理システム230との通信なしで、ユーザ端末210_1、210_2、210_3に設けられた光学文字認識プログラム/アプリケーションにより、光学文字認識サービスが提供され得る。また、情報処理システム230が単一装置として示されているが、これに限定されず、情報処理システム230は複数の装置で構成され得る。
【0047】
図3は、本開示の一実施例によるユーザ端末210および情報処理システム230の内部構成を示すブロック図である。ユーザ端末210は、アプリケーション、ウェブブラウザなどが実行可能で、有/無線通信が可能な任意のコンピューティング装置のことを指し、例えば、
図2の携帯電話端末210_1、タブレット端末210_2、PC端末210_3などを含み得る。図に示すように、ユーザ端末210は、メモリ312、プロセッサ314、通信モジュール316、および入出力インターフェース318を含み得る。同様に、情報処理システム230は、メモリ332、プロセッサ334、通信モジュール336、および入出力インターフェース338を含み得る。
図3に示すように、ユーザ端末210および情報処理システム230は、それぞれの通信モジュール316、336を用いて、ネットワーク220を介して情報および/またはデータの通信ができるように構成され得る。また、入出力装置320は、入出力インターフェース318を介して、ユーザ端末210に情報および/またはデータを入力するか、またはユーザ端末210から生成された情報および/またはデータを出力するように構成され得る。
【0048】
メモリ312、332は、非一時的な任意のコンピュータ読み取り可能な記録媒体を含み得る。一実施例によると、メモリ312、332は、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような非消滅性大容量記憶装置(permanent mass storage device)を含み得る。他の例として、ROM、SSD、フラッシュメモリ、ディスクドライブなどのような非消滅性大容量記憶装置は、メモリとは区別される別途の永久記憶装置としてユーザ端末210または情報処理システム230に含まれ得る。また、メモリ312、332には、オペレーティングシステムと少なくとも1つのプログラムコードが保存され得る。
【0049】
このようなソフトウェア構成要素は、メモリ312、332とは別のコンピュータで読み取り可能な記録媒体からロードされ得る。このような別のコンピュータで読み取り可能な記録媒体は、そのようなユーザ端末210および情報処理システム230に直接連結可能な記録媒体を含み得るが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含み得る。他の例として、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではなく、通信モジュール316、336を介してメモリ312、332にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションの設置ファイルを配布するファイル配布システムが、ネットワーク220を介して提供するファイルによって設置されるコンピュータプログラムに基づいてメモリ312、332にロードされ得る。
【0050】
プロセッサ314、334は、基本的な算術、ロジック、および入出力演算を実行することによって、コンピュータプログラムの命令を処理するように構成され得る。命令は、メモリ312、332または通信モジュール316、336によってプロセッサ314、334に提供され得る。例えば、プロセッサ314、334は、メモリ312、332のような記録装置に保存されたプログラムコードにより、受信される命令を実行するように構成され得る。
【0051】
通信モジュール316、336は、ネットワーク220を介してユーザ端末210と情報処理システム230とが互いに通信するための構成または機能を提供することができ、ユーザ端末210および/または情報処理システム230が、他のユーザ端末または他のシステム(一例として、別途のクラウドシステムなど)と通信するための構成または機能を提供し得る。一例として、ユーザ端末210のプロセッサ314が、メモリ312などの記録装置に保存されたプログラムコードにより生成した要請またはデータ(例えば、イメージ内のテキスト抽出要請など)は、通信モジュール316の制御により、ネットワーク220を介して情報処理システム230に伝達され得る。逆に、情報処理システム230のプロセッサ334の制御により提供される制御信号や命令が、通信モジュール336とネットワーク220を経て、ユーザ端末210の通信モジュール316を介してユーザ端末210に受信され得る。
【0052】
入出力インターフェース318は、入出力装置320とのインターフェースのための手段であり得る。一例として、入力装置は、オーディオセンサおよび/またはイメージセンサを含むカメラ、キーボード、マイクロフォン、マウスなどの装置を含み、出力装置は、ディスプレイ、スピーカ、ハプティック(触覚)フィードバックデバイス(haptic feedback device)などのような装置を含み得る。他の例として、入出力インターフェース318は、タッチスクリーンなどのように、入力および出力を実行するための構成または機能が1つに統合された装置とのインターフェースのための手段であり得る。例えば、ユーザ端末210のプロセッサ314が、メモリ312にロードされたコンピュータプログラムの命令を処理することにおいて、情報処理システム230や他のユーザ端末が提供する情報および/またはデータを用いて構成されるサービス画面などが、入出力インターフェース318を介してディスプレイに表示され得る。
図3では、入出力装置320がユーザ端末210に含まれないように示されているが、これに限定されず、ユーザ端末210と1つの装置で構成され得る。また、情報処理システム230の入出力インターフェース338は、情報処理システム230と連結されるか、または情報処理システム230が含み得る入力または出力のための装置(図示せず)とのインターフェースのための手段であり得る。
図3では、入出力インターフェース318、338が、プロセッサ314、334とは別に構成された要素として示されているが、これに限定されず、入出力インターフェース318、338がプロセッサ314、334に含まれるようにも構成され得る。
【0053】
ユーザ端末210および情報処理システム230は、
図3の構成要素よりもさらに多い構成要素を含み得る。しかし、大部分の従来技術的な構成要素を明確に示す必要はない。一実施例において、ユーザ端末210は、前述の入出力装置320のうち少なくとも一部を含むように実現され得る。また、ユーザ端末210は、トランシーバ(transceiver)、GPS(Global Positioning system)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含み得る。例えば、ユーザ端末210がスマートフォンである場合、一般にスマートフォンが含んでいる構成要素を含むことができ、例えば、加速度センサ、ジャイロセンサ、マイクモジュール、カメラモジュール、各種物理的ボタン、タッチパネルを用いたボタン、入出力ポート、振動のためのバイブレータなどの様々な構成要素が、ユーザ端末210にさらに含まれるように実現され得る。
【0054】
光学文字認識サービスアプリケーションなどのためのプログラムが動作している間、プロセッサ314は、入出力インターフェース318に接続されたタッチスクリーン、キーボード、オーディオセンサおよび/またはイメージセンサを含むカメラ、マイクロフォンなどの入力装置を介して入力または選択されたテキスト、イメージ、映像、音声および/または動作などを受信することができ、受信されたテキスト、イメージ、映像、音声および/または動作などをメモリ312に保存するか、または通信モジュール316およびネットワーク220を介して情報処理システム230に提供し得る。
【0055】
ユーザ端末210のプロセッサ314は、入出力装置320、他のユーザ端末、情報処理システム230、および/または複数の外部システムから受信した情報および/またはデータを管理、処理および/または保存するように構成され得る。プロセッサ314によって処理された情報および/またはデータは、通信モジュール316およびネットワーク220を介して情報処理システム230に提供され得る。ユーザ端末210のプロセッサ314は、入出力インターフェース318を介して入出力装置320に情報および/またはデータを転送して出力し得る。例えば、プロセッサ314は、受信した情報および/またはデータをユーザ端末210の画面に表示し得る。
【0056】
情報処理システム230のプロセッサ334は、複数のユーザ端末210および/または複数の外部システムから受信した情報および/またはデータを管理、処理、および/または保存するように構成され得る。プロセッサ334によって処理された情報および/またはデータは、通信モジュール336およびネットワーク220を介してユーザ端末210に提供し得る。
【0057】
図4は、本開示の一実施例による光学文字認識システムの一例を示す概要図である。一実施例において、光学文字認識システムは、バックボーン(backbone、図示せず)、トランスフォーマーエンコーダ(transformer encoder)420、検出器(detector)(または、ロケーションヘッド(location head))430、および認識器(recognizer)440を含み得る。なお、認識器440は、テキストデコーダ(text decoder)を含み得る。
【0058】
一実施例において、トランスフォーマーエンコーダ420は、バックボーンで生成されたマルチスケールフィーチャマップ(multi-scale feature maps)を結合し得る。また、検出器430は、テキストインスタンスおよび境界ボックスのリファレンスポイント432を設定し得る。さらに、認識器440は、入力されたイメージ410のマルチスケールフィーチャおよびリファレンスポイント432に基づいてテキスト領域を認識することによって、文字イメージシーケンスを生成し、テキストデコーダを用いて生成された文字イメージシーケンスをテキストに変換し得る。
【0059】
一実施例において、入力されたイメージ410がバックボーンに提供されることによって、入力イメージ410からフィーチャマップ(例えば、C2、C3、C4、C5)が抽出され得る。なお、抽出されたフィーチャマップの解像度は、それぞれ入力されたイメージ410の解像度の1/4、1/8、1/16、1/32であり得る。また、フィーチャマップは、FC(fully-connected)レイヤーおよびグループ正規化(group normalization)を適用することによって、複数のチャネル(例えば、256チャネル)に投影され得る。その後、投影されたフィーチャマップはマージされ(L2+L3+L4+L5)×256サイズのフィーチャトークンに平坦化され連結され得る。ここで、Liは、Ci(またはH/2i×W/2i)の平坦化された長さ(flattened length)を表し得る。この場合、トランスフォーマーエンコーダ420は、それを入力として精製されたフィーチャ(refined feature)を出力し得る。精製されたフィーチャが検出器430を経てリファレンスポイント432とともに使用されることによって、認識器440は、テキストインスタンス内で自己回帰的に(autoregressively)テキストシーケンスを生成し得る。
【0060】
一実施例において、トランスフォーマーエンコーダ420において、入力長に応じて線形に拡張する変形可能なアテンション(deformable attention)が使用され得る。従来のセルフアテンション(self-attention)の学習ないし推論に要されるコストは、入力長に応じて2次的に(quadratically)増加するため、マルチスケールフィーチャの連結にトランスフォーマーを使用することは非効率的であり得る。それに対し、変形可能なアテンションは、より高い効率性および正確な位置認識結果をエンコーダおよびデコーダに提供し得る。変形可能なアテンションは、下記の式1のように計算され得る。
【0061】
【数1】
ここで、x(v、p)は、位置pのフィーチャ値vからフィーチャを抽出する双線形補間法(bilinear-interpolation)を表す。また、Kはサンプリングされたキーポイントの数であり、kはキーインデックスを表す。hはアテンションヘッドのインデックスであり、W
h
o∈R
C×CmおよびW
h
k∈R
Cm×Cは線形投影(linear projection)であり得る。そして、P
ref、ΔP
hqkおよびA
hqkそれぞれは、リファレンスポイント、サンプリングオフセットおよびアテンション重みであり得る。さらに、P
ref、ΔP
hqkおよびA
hqkは、クエリ(query)フィーチャに対する線形投影を適用することによって計算され得る。この場合、A
hqkにソフトマックス(softmax)が適用され得る。また、エンコーダ420で[0,1]×[0,1]に正規化された座標のある固定された基準点が使用され得る。
【0062】
一実施例において、位置情報を用いてテキストオブジェクトを認識するために、マルチスケールフィーチャからテキストを検出する検出器430を用いて、リファレンスポイント(または、テキストインスタンスの中心位置)432が予測され得る。また、セグメンテーション(segmentation)マップにより、テキストインスタンスの境界ポリゴンが抽出され得る。例えば、フィーチャマップC2に対応するフィーチャからL2サイズのフィーチャトークンが抽出され(H/4、W/4)のサイズに再構成され得る。また、転置畳み込み(transposed convolution)、グループ正規化およびReLU(Rectified Linear Unit)からなるセグメンテーションヘッドを使用して、バイナリおよびしきい値マップ(binary and threshold map)が取得され得る。加えて、感知された境界ポリゴンにおいて、テキストインスタンスの中心座標がリファレンスポイント432として決定され得る。ここでは、セグメンテーションベースの検出方法を用いてテキストが検出されるものとして説明したが、これに限定されず、様々な形態の検出方法が適用され得る。
【0063】
一実施例において、例えば、トランスフォーマーデコーダからなるテキストデコーダを含む認識器440は、変形可能なアテンション444によりイメージ410およびリファレンスポイント432を参照しながら、テキスト領域に関連するテキストインスタンスからテキストシーケンスを自己回帰的に予測し得る。この場合、テキストデコーダのためのクエリQは、テキスト埋め込み(embedding)、位置埋め込み、およびリファレンスポイントqrefを含み得る。また、テキストデコーダのキー(key)Kおよび値(value)Vは、トランスフォーマーエンコーダ420のフィーチャトークンであり得る。クエリQは、セルフアテンション442、変形可能なアテンション444およびフィードフォワードレイヤ(feed-forward layer)446を介して伝達され得る。
【0064】
一実施例において、認識器440の学習段階において、テキスト領域の境界ボックスがイメージからサンプリングされ、境界ボックスの中心座標がテキストデコーダのリファレンスポイント432として使用され得る。これにより、検出器430および認識器440それぞれは、独立して学習され得る。また、モデルの予測と実際の値との間の座標差を減らすために、学習段階で中心座標が下記の式2を使用してランダムに変更され得る。
【0065】
【数2】
ここで、p
cは正解ポリゴンの中心点を表し、p
tl、p
tr、p
blはそれぞれ左上端座標、右上端座標、および左下端座標を表す。また、推論段階において、検出段階で抽出したテキスト領域の中心点がリファレンスポイントとして使用され得る。
【0066】
一実施例において、学習に使用される損失関数Lは、下記の式3のように表され得る。
【0067】
【数3】
ここで、L
rは自己回帰テキスト認識損失を表し、L
s、L
bおよびL
tのそれぞれは、微分可能な2進化(differentiable binarization)の損失であって、確率マップ、バイナリマップおよびしきい値マップに対する損失を表す。また、文字列シーケンスの予測確率と該当テキスト境界ボックスに対応する正解テキストラベル間のソフトマックス交差エントロピー(softmax cross entropy)が、L
rとして計算され得る。微分可能な2進化の実行後、L
sに対してハードネガティブマイニング(hard negative mining)とともに二値交差エントロピーが適用され、L
bに対してダイス損失(dice loss)が適用され、L
tに対してL
1距離損失が適用され得る。
【0068】
一実施例において、推論段階では、検出器430の確率マップ(probability map)が使用され得る。この場合、確率マップは指定されたしきい値に2進化され、連結された構成要素はバイナリマップで領域として抽出され得る。なお、抽出された領域の大きさは、実際のテキスト領域よりも小さくあり得る。これにより、抽出された領域は、下記の式4のように表されるVattiクリッピングアルゴリズムのオフセットDを用いて拡張され得る。
【0069】
【数4】
ここで、Aは、ポリゴン領域の面積であり、Lは、ポリゴンの周囲値(perimeter)であり、rは、予め決定された拡張因子(dilation factor)を表し得る。拡張領域でポリゴンが抽出された後、計算された中心座標は、認識器440にリファレンスポイント432として提供され得る。結果的に、認識器440は、リファレンスポイント432を参照して、該当テキスト領域において文字シーケンスを予測し得る。
【0070】
このような構成により、2つの段階ではなく1つの段階で検出器および認識器が一度に学習されるので、学習の効率性が向上され得る。また、検出されたテキスト領域の大きさを調整しないで、イメージおよびリファレンスポイントを利用することにより、長い文字が歪んだり切られたりした状態で認識エラーが発生する現象を防止し得る。さらには、バックボーンから抽出されたマルチスケールフィーチャを検出器および認識器に共有することによって、モデルの性能および推論速度が向上され得る。
【0071】
図5は、本開示の一実施例により、イメージ510からテキストを抽出する一例を示す図である。一実施例において、リファレンスポイント512およびオフセットポイント514_1~514_4を用いて、イメージ510からテキストが認識され得る。具体的には、変形可能なアテンションを含む認識器520によりイメージ510のフィーチャおよびリファレンスポイント512を参照することによって、各文字が順次に、そして自己回帰的に復号され得る。なお、変形可能なアテンションは、イメージ510のフィーチャ全体に対してアテンションを実行せず、いくつかのポイントのみをサンプリングしてアテンションを実行し得る。すなわち、リファレンスポイント512およびオフセットポイント514_1~514_4を用いてアテンションが行われ得る。
【0072】
一実施例において、オフセットポイント514_1~514_4は、リファレンスポイント512に隣接する位置に生成され得る。具体的には、複数のオフセットポイント514_1~514_4それぞれの位置は、リファレンスポイント512の座標からモデルが予測したオフセットを加算することによって算出され得る。この場合、認識器520は、オフセットポイント514_1~514_4のキーおよび値によってアテンションを実行する位置を決定し得る。これにより、認識器520は、リファレンスポイント512を中心として、周囲のオフセットポイント514_1~514_4とともにアテンションして、自己回帰的に文字を生成する方法でテキストを復号し得る。例えば、認識器520は、オフセットポイント514_1~514_4を参照することによって、「ゴマ」の各文字を順次、そして自己回帰的に復号し得る。
図5では、複数のオフセットポイント514_1~514_4が4つのものと示されているが、これに限定されない。
【0073】
このような構成により、イメージ内の関心領域をプーリングまたはマスキングしないで、リファレンスポイントおよび全体のイメージフィーチャを利用することによって、イメージ内のテキストが認識および復号され得る。これにより、関心領域の検出にミスがあっても、テキストの抽出がスムーズに行われ得る。
【0074】
図6は、本開示の一実施例による光学文字認識システムのプロセスの一例を示す図である。一実施例において、バックボーン620は、イメージ610からイメージフィーチャ(またはマルチスケールフィーチャマップ)を生成し得る。また、トランスフォーマーエンコーダ630は、イメージフィーチャをチューニングおよび符号化し得る。
【0075】
一実施例において、単語検出器(word detector)640は、イメージ610が符号化されたフィーチャから単語単位のテキスト位置を検出し得る。具体的に、単語検出器640は、単語単位のテキストに関連するフィーチャを抽出し得る。また、単語検出器640はフィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成し得る。さらに、単語検出器640は、テキスト領域の位置情報に基づいてリファレンスポイントを生成し得る。なお、リファレンスポイントは、検出されたテキスト領域の中心点であり得る。
【0076】
一実施例において、単語検出器640によって生成されたリファレンスポイントおよびイメージ610の符号化されたフィーチャに基づいて、認識器(recognizer1~N)650_1~650_Nは、イメージ610内のテキストを認識し、抽出し得る。具体的に、認識器650_1~650_Nは、リファレンスポイントに隣接する複数のオフセットポイントを生成し得る。また、認識器650_1~650_Nは、リファレンスポイントおよび複数のオフセットポイントにアテンションすることにより、イメージ610内のテキストを認識して、文字イメージシーケンスを生成し得る。さらに、認識器650_1~650_Nは、生成された文字イメージシーケンスを復号することによって、テキストに変換し得る。
【0077】
一実施例において、単語検出器640は、イメージ610が符号化されたフィーチャから複数のテキスト領域を少なくとも部分的に並列で検出し得る。この場合、テキスト領域それぞれに対してリファレンスポイントが生成され得る。これにより、N個のテキスト領域それぞれに対して、認識器650_1~650_Nは並列でテキストを抽出し得る。
【0078】
一実施例において、ライン検出器(line detector)660は、イメージ610が符号化されたフィーチャにおいて、ライン単位のテキスト位置を検出し得る。具体的に、ライン検出器660は、ライン単位のテキストに関連するフィーチャを抽出し得る。また、ライン検出器660はフィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成し得る。ライン単位のテキスト位置が検出される例示は、
図9を参照して詳細に後述する。
【0079】
一実施例において、段落検出器(paragraph detector)670は、イメージ610が符号化されたフィーチャにおいて、段落単位のテキスト位置を検出し得る。具体的に、段落検出器670は、段落単位のテキストに関連するフィーチャを抽出し得る。また、段落検出器670はフィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成し得る。段落単位のテキスト位置が検出される例示は、
図9を参照して詳細に後述する。
【0080】
一実施例において、単語検出器640、ライン検出器660および段落検出器670は、並列でトランスフォーマーエンコーダ630に連結され得る。すなわち、単語検出器640、ライン検出器660および段落検出器670は、各々のレベルで単語、ラインおよび段落単位のテキスト領域を少なくとも部分的に並列で検出し得る。
【0081】
一実施例において、検出された各々のレベルにおけるテキスト領域は、後処理(post-processing)段階680により互いに関連付けられ得る。具体的に、単語検出器640によって検出された単語の位置、ライン検出器660によって検出されたラインの位置、および段落検出器670によって検出された段落の位置が互いにマッチングされ得る。これにより、認識部650_1~650_Nによって抽出されたテキストが含まれているライン単位のテキスト領域の位置情報および/または段落単位のテキスト領域の位置情報が検出され得る。
【0082】
図7は、本開示の一実施例による光学文字認識結果の一例を示す図である。第1例示710は、従来の光学文字認識結果の例示である。従来の光学文字認識方法は、関心領域をプーリングまたはマスキングすることによって、イメージ内のテキストを抽出する。この場合、複雑で密集したテキストまたは幾何学的形状のテキストの抽出が失敗し得る。例えば、従来の光学文字認識方法は、幾何学的形状が含まれ曖昧である「HOME」において、幾何学的形状の「O」のせいで「ME」のみを関心領域として決定し得る。このようなテキスト検出の失敗によって、イメージ内のテキスト認識も失敗し得る。
【0083】
第2例示720は、本開示の光学文字認識結果の例示である。本開示の光学文字認識方法は、関心領域をプーリングまたはマスキングすることなく、テキスト領域を検出してリファレンスポイント(
図7で「+」の形状で示される)を生成し得る。この場合、認識器は、検出されたテキスト領域に大きく依存しなくて良い。言い換えると、テキスト領域の検出結果が不正確であっても、認識器は抽出されたイメージ全体を考慮して、リファレンスポイントに集中することにより、イメージ内のテキストを正しく抽出し得る。
【0084】
このような構成により、イメージ内の交差テキスト、テキスト内のテキスト、様々な文字体および大きさなどの複雑なシーンテキストが、より正確に抽出され得る。また、最終的なテキスト認識結果が、イメージ内のテキスト領域の検出に大きく依存しないので、テキスト領域の検出ミスに強みを有し得る。さらに、イメージ内のテキストが回転していても、正しくテキストが抽出され得る。
【0085】
図8は、本開示の一実施例により文字単位のテキストが検出される一例を示す図である。一実施例において、認識器810が単語単位のテキストを認識した後、文字(character)単位のテキストが検出され得る。具体的には、光学文字認識モデルが重くならないように、認識器810に自己回帰デコーダ(auto-regressive decoder)820が追加され得る。なお、自己回帰デコーダ820は、抽出されたテキストに対する分類スコア(classification score)を用いて、抽出されたテキストに含まれている文字それぞれを自己回帰的に認識し得る。
【0086】
一実施例において、自己回帰デコーダ820は、認識された文字それぞれの位置(location)および角度(angle)を予測することによって、文字それぞれを認識すると同時に検出し得る。また、自己回帰デコーダ820は、学習により、外国語およびすべての文字の方向に対して正しく文字を認識して検出し得る。
図8に示すように、自己回帰デコーダ820は、「c、h、o、c、o…」それぞれを検出し得る。
【0087】
一実施例において、自己回帰デコーダ820を学習させるために疑似ラベリング(pseudo-labeling)が適用され得る。具体的に、教師モデル(teacher model)は、ラベル付けされたデータを学習し得る。この場合、学習された教師モデルは、弱くラベル付けされた(weakly-labeled)データに対して、疑似ラベルデータを生成し得る。ここで、弱くラベル付けされたデータは、イメージで単語単位のテキスト領域が検出されたデータを含み得る。また、疑似ラベルデータは、教師モデルが弱くラベル付けされたデータで文字を検出したデータを含み得る。その後、自己回帰デコーダ820は、学生モデル(student model)として、疑似ラベル付けされたデータおよびラベル付けされたデータをいずれも学習し得る。
【0088】
図9は、本開示の一実施例により、文書でライン単位および段落単位のテキスト領域を検出する一例を示す図である。第1例示910は、本開示の光学文字認識方法により、文書で単語単位のテキストが検出された例示である。また、第2例示920は、本開示の光学文字認識方法により、文書でライン単位のテキストが検出された例示である。そして、第3例示930は、本開示の光学文字認識方法により、文書で段落単位のテキストが検出された例示である。
【0089】
一実施例において、トランスフォーマーエンコーダから抽出されたフィーチャを用いて、文書からテキストに関連するフィーチャが抽出され得る。また、フィーチャに基づいて、単語検出器、ライン検出器および段落検出器のそれぞれにおいて、単語、ラインおよび段落単位で光学文字認識が行われ得る。この場合、単語検出器、ライン検出器および段落検出器は、それぞれのレベルでテキストを少なくとも部分的に並列で検出し得る。また、後処理段階において、特定単語単位のテキストがどのライン単位のテキスト領域およびどの段落単位のテキスト領域に含まれるかマッチングされ得る。
【0090】
このような構成により、特定単語単位のテキストがどのテキスト領域に含まれるかマッチングすることによって、検出されたテキストをより有機的に連結し得る。これにより、光学文字認識によって文書からテキストを抽出した後、翻訳サービスを提供する過程で、より優れた品質の翻訳サービスが提供され得る。
【0091】
図10は、本開示の一実施例による方法1000の一例を示すフローチャートである。一実施例において、方法1000は、少なくとも1つのプロセッサによって行われ得る。方法1000は、プロセッサがイメージから少なくとも1つのテキスト領域を検出することから開始され得る(S1010)。具体的に、プロセッサは、イメージから単語単位のテキストに関連するフィーチャを抽出し得る。また、プロセッサはフィーチャに基づいて、少なくとも1つのテキスト領域の位置情報を生成し得る。
【0092】
その後、プロセッサは、少なくとも1つのテキスト領域に関連する少なくとも1つのリファレンスポイントを生成し得る(S1020)。なお、少なくとも1つのリファレンスポイントそれぞれは、少なくとも1つのテキスト領域それぞれの中心点を含み得る。
【0093】
その後、プロセッサは、イメージおよび少なくとも1つのリファレンスポイントに基づいて、イメージから少なくとも1つのテキストを抽出し得る(S1030)。具体的に、プロセッサは、少なくとも1つのリファレンスポイントに隣接する複数のオフセットポイントを生成し得る。なお、複数のオフセットポイントは、認識器が複数のオフセットポイントに隣接する領域にアテンションして、テキストを抽出するようにガイドし得る。また、プロセッサは、イメージおよび複数のオフセットポイントに基づいて、イメージから少なくとも1つのテキストを抽出し得る。
【0094】
一実施例において、少なくとも1つのテキスト領域は、第1テキスト領域と第2テキスト領域とを含み得る。また、少なくとも1つのリファレンスポイントは、第1テキスト領域に関連する第1リファレンスポイントと、第2テキスト領域に関連する第2リファレンスポイントとを含み得る。この場合、プロセッサは、イメージおよび第1リファレンスポイントに基づいて、第1テキスト領域から第1テキストを抽出し得る。さらに、プロセッサは、第1テキストを抽出する段階の少なくとも一部と並列で、イメージおよび第2リファレンスポイントに基づいて、第2テキスト領域から第2テキストを抽出し得る。
【0095】
一実施例において、抽出されたテキストは単語単位のテキストであり得る。この場合、プロセッサは、抽出されたテキストに対する分類スコアを用いて、抽出されたテキストに含まれている少なくとも1つの文字それぞれを自己回帰的に検出し得る。また、プロセッサは、イメージ内における少なくとも1つの文字それぞれの位置および角度を予測し得る。
【0096】
一実施例において、プロセッサはイメージからライン単位のテキストに関連するフィーチャを抽出し得る。フィーチャに基づいて、プロセッサは少なくとも1つのテキスト領域の位置情報を生成し得る。
【0097】
一実施例において、プロセッサは、イメージから段落単位のテキストに関連するフィーチャを抽出し得る。フィーチャに基づいて、プロセッサは少なくとも1つのテキスト領域の位置情報を生成し得る。
【0098】
一実施例において、プロセッサは、イメージから少なくとも1つの単語単位のテキスト領域を検出し得る。また、プロセッサは、イメージから少なくとも1つのライン単位のテキスト領域を検出し得る。そして、プロセッサは、イメージから少なくとも1つの段落単位のテキスト領域を検出し得る。この場合、単語単位のテキスト領域を検出し、ライン単位のテキスト領域を検出し、段落単位のテキスト領域を検出することは、少なくとも部分的に並列で行われ得る。さらに、プロセッサは、抽出されたテキストが含まれているライン単位のテキスト領域または段落単位のテキスト領域のうちの少なくとも1つの位置情報を検出し得る。
【0099】
前術の方法は、コンピュータで実行するためにコンピュータ読み取り可能な記録媒体に保存されているコンピュータプログラムとして提供され得る。媒体は、コンピュータで実行可能なプログラムを保存し続けるか、実行またはダウンロードのために一時的に保存するものでもあり得る。また、媒体は、単一または複数のハードウェアが結合された形態の様々な記録手段または保存手段であり得るが、任意のコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものでもあり得る。媒体の例としては、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような光磁気媒体(magneto optical medium)、およびROM、RAM、フラッシュメモリなどを含んで、プログラム命令語が保存されるように構成されたものがあり得る。また、他の媒体の例として、アプリケーションを流通するアプリストアや他の様々なソフトウェアを供給ないし流通するサイト、サーバーなどで管理する記録媒体ないし記憶媒体も挙げられる。
【0100】
本開示の方法、動作、または技法は、様々な手段によっても実現され得る。例えば、そのような技法は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせによって実現されてもよい。本願の開示に連係して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズム段階は、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせによっても実現され得ることを通常の技術者は理解することである。ハードウェアおよびソフトウェアのこのような相互代替を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、および段階がそれらの機能的観点から一般的に前記において説明されている。そのような機能がハードウェアとして実現されるか、またはソフトウェアとして実現されるかは、特定のアプリケーションおよびシステム全体に課される設計要件によって変わる。通常の技術者は、それぞれの特定アプリケーションのために様々な方法で説明された機能を実現し得るが、そのような実現は本開示の範囲から逸脱するものと解釈されるべきではない。
【0101】
ハードウェア実現において、技法を実行するめに用いられるプロセスユニットは、1つ以上のASIC、DSP、デジタル信号処理装置(digital signal processing devices、DSPD)、プログラマブル論理装置(programmable logic devices、PLD)、フィールドプログラマブルゲートアレイ(field programmable gate arrays、FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本開示に説明の機能を実行するように設計された他の電子ユニット、コンピュータ、またはそれらの組み合わせ内において実現されてもよい。
【0102】
したがって、本開示に連係して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、DSP、ASIC、FPGA、または他のプログラマブル論理デバイス、ディスクリートゲートやトランジスタロジック、ディスクリートハードウェアコンポネンツ、または本願に説明されている機能を実行するように設計されたものの任意の組み合わせによって実現または実行されることもあり得る。汎用プロセッサは、マイクロプロセッサでもあり得るが、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシーンでもあり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連携する1つ以上のマイクロプロセッサ、または任意の他の構成の組み合わせとして実現されてもよい。
【0103】
ファームウェアおよび/またはソフトウェアの実現において、技法は、ランダムアクセスメモリ(random access memory、RAM)、読み取り専用メモリ(read-only memory、ROM)、不揮発性RAM(nonvolatile random access memory;NVRAM)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、コンパクトディスク(compact disc、CD)、磁気または光学データストレージデバイスなどのようなコンピュータ読み取り可能媒体上に保存されている命令として実現されてもよい。命令は、1つ以上のプロセッサによって実行可能でもあり、本開示に説明された機能の特定の態様をプロセッサに実行させることもできる。
【0104】
ソフトウェアで実現される場合、前記技法は、1つ以上の命令またはコードとしてコンピュータ読み取り可能な媒体上に保存されるか、またはコンピュータ読み取り可能な媒体を介して転送されてもよい。コンピュータ読み取り可能な媒体は、ある場所から他の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含んで、コンピュータ記憶媒体および通信媒体のいずれも含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体でもあり得る。非制限的な例として、このようなコンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光学ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、もしくは、所望のプログラムコードを命令またはデータ構造の形態で移送または保存するために使用されてよく、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。さらに、任意の接続が、コンピュータ読み取り可能媒体と適切に称される。
【0105】
例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、撚線、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波のような無線技術を用いて、ウェブサイト、サーバー、または他のリモートソースから転送されると、同軸ケーブル、光ファイバケーブル、撚線、デジタル加入者回線、または赤外線、無線、およびマイクロ波のような無線技術は、媒体の定義内に含まれる。本願で使用されるディスク(disk)およびディスク(disc)は、CD、レーザーディスク、光ディスク、DVD(digital versatile disc)、フロッピーディスク、およびブルーレイディスクを含み、ここで、ディスク(disks)は通常磁気的にデータを再生する反面、ディスク(discs)はレーザーを用いて光学的にデータを再生する。前記の組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれるべきである。
【0106】
ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または公知の任意の他の形態の記憶媒体内に常駐してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取るか、または記憶媒体に情報の書き込みができるよう、プロセッサに連結され得る。あるいは、記憶媒体はプロセッサに統合されてもよい。プロセッサと記憶媒体は、ASIC内に存在してもよい。ASICは、ユーザ端末内に存在してもよい。または、プロセッサと記憶媒体とは、ユーザ端末において個別の構成要素として存在してもよい。
【0107】
以上で説明した実施例は、1つ以上の独立型コンピュータシステムにおいて、現在開示されている主題の態様を活用するものとして記述されているが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境と連携して実現されてもよい。さらには、本開示において主題の態様は、複数のプロセスチップや装置にて実現されてもよく、ストレージは複数の装置にわたって類似の影響を受けることともなり得る。このような装置は、PC、ネットワークサーバー、およびポータブル装置をも含み得る。
【0108】
本明細書においては、本開示が一部の実施例に関連して説明されたが、本開示の発明が属する技術分野の通常の技術者が理解し得る本開示の範囲から逸脱しない範囲で様々な変形および変更が行われ得る。また、そのような変形および変更は、本明細書に添付の特許請求の範囲内に属するものと考えられるべきである。
【符号の説明】
【0109】
110:第1例示
112:テキスト領域
120:第2例示
122:リファレンスポイント
124_1~124_4:複数のオフセットポイント