IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラモット・アット・テル・アビブ・ユニバーシテイ・リミテッドの特許一覧

特許7457647画像コンテンツ認識のための方法およびシステム
<>
  • 特許-画像コンテンツ認識のための方法およびシステム 図1
  • 特許-画像コンテンツ認識のための方法およびシステム 図2
  • 特許-画像コンテンツ認識のための方法およびシステム 図3
  • 特許-画像コンテンツ認識のための方法およびシステム 図4
  • 特許-画像コンテンツ認識のための方法およびシステム 図5
  • 特許-画像コンテンツ認識のための方法およびシステム 図6
  • 特許-画像コンテンツ認識のための方法およびシステム 図7A
  • 特許-画像コンテンツ認識のための方法およびシステム 図7B
  • 特許-画像コンテンツ認識のための方法およびシステム 図8A
  • 特許-画像コンテンツ認識のための方法およびシステム 図8B
  • 特許-画像コンテンツ認識のための方法およびシステム 図8C
  • 特許-画像コンテンツ認識のための方法およびシステム 図8D
  • 特許-画像コンテンツ認識のための方法およびシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】画像コンテンツ認識のための方法およびシステム
(51)【国際特許分類】
   G06V 30/194 20220101AFI20240321BHJP
   G06T 7/00 20170101ALI20240321BHJP
   G06V 20/62 20220101ALI20240321BHJP
   G06V 30/28 20220101ALI20240321BHJP
【FI】
G06V30/194
G06T7/00 350C
G06V20/62
G06V30/28
【請求項の数】 21
(21)【出願番号】P 2020515741
(86)(22)【出願日】2018-09-17
(65)【公表番号】
(43)【公表日】2020-11-26
(86)【国際出願番号】 IL2018051047
(87)【国際公開番号】W WO2019058372
(87)【国際公開日】2019-03-28
【審査請求日】2021-08-04
(31)【優先権主張番号】62/560,275
(32)【優先日】2017-09-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501177609
【氏名又は名称】ラモット・アット・テル・アビブ・ユニバーシテイ・リミテッド
【氏名又は名称原語表記】RAMOT AT TEL AVIV UNIVERSITY LTD.
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】ウルフ リオール
(72)【発明者】
【氏名】モア ノーム
【審査官】宮島 潤
(56)【参考文献】
【文献】特開2000-155803(JP,A)
【文献】特開2016-139176(JP,A)
【文献】米国特許出願公開第2016/0189010(US,A1)
【文献】特開2017-10543(JP,A)
【文献】特開平5-101029(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/00 - 30/12
G06V 30/18 - 30/222
G06V 30/226 - 30/32
G06V 30/42 - 30/424
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
画像の画像コンテンツを認識する方法であって、
特定の文字体系に従って画像コンテンツを推定するように事前トレーニングされているニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像コンテンツを備える出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも1つの層の出力に適用することであって、前記ニューラルネットワークブランチの入力は、前記隠れ層のうちの少なくとも1つの層の前記出力であり、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルを備える出力を生成するための出力層を有する、適用することと、
前記推定された画像コンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を含む、画像コンテンツを認識する方法。
【請求項2】
前記ニューラルネットワークブランチは、複数の出力値を生成する少なくとも1つのリカレントニューラル層を備える、請求項1に記載の画像コンテンツを認識する方法。
【請求項3】
前記少なくとも1つのリカレントニューラル層は、長・短期記憶(LSTM)層である、請求項2に記載の画像コンテンツを認識する方法。
【請求項4】
前記LSTM層は、双方向層である、請求項3に記載の画像コンテンツを認識する方法。
【請求項5】
前記複数の出力値を合計または平均し、それによって、前記合計または平均として前記推定誤差レベルを提供することをさらに含む、請求項2~4のいずれかに記載の画像コンテンツを認識する方法。
【請求項6】
前記複数の出力値は、複数のベクトルを備え、
各ベクトルをスカラ値に射影して複数のスカラ値を提供し、前記複数のスカラ値を合計または平均し、それによって前記推定誤差レベルを前記合計または平均として提供することを備える、
請求項2~4のいずれかに記載の画像コンテンツを認識する方法。
【請求項7】
前記ニューラルネットワークは、特徴ベクトルの集合を生成する畳み込みニューラルサブネットワークを備え、前記特徴ベクトルの各々は、前記画像内の異なるウィンドウへの前記畳み込みニューラルサブネットワークの適用の結果である、請求項1~6のいずれかに記載の画像コンテンツを認識する方法。
【請求項8】
前記ニューラルネットワークは、前記畳み込みニューラルサブネットワークから前記特徴ベクトルの集合を受け取るリカレントニューラルサブネットワークを備え、前記隠れ層のうちの前記少なくとも1つの層の前記出力は、前記リカレントニューラルサブネットワークの少なくとも1つの層の出力である、請求項7に記載の画像コンテンツを認識する方法。
【請求項9】
前記リカレントニューラルサブネットワークは、長・短期記憶(LSTM)層を備える、請求項8に記載の画像コンテンツを認識する方法。
【請求項10】
前記LSTM層のうちの少なくとも1つは、双方向層である、請求項9に記載の画像コンテンツを認識する方法。
【請求項11】
前記リカレントニューラルサブネットワークは、ベクトルのシーケンスを生成し、前記方法は、前記ベクトルのシーケンスのうちの各ベクトルの次元を前記文字体系の長さに対応する所定の次元に射影して、前記文字体系上の一連の確率分布を提供することを含み、各確率分布は、前記所定の次元の1つのベクトルによって表され、前記画像内のウィンドウに対応する、請求項8~10のいずれかに記載の画像コンテンツを認識する方法。
【請求項12】
前記ニューラルネットワークは、前記一連の確率分布を受け取り、前記推定を生成する、コネクショニスト時系列分類(CTC)層を備える、請求項11に記載の画像コンテンツを認識する方法。
【請求項13】
前記ニューラルネットワークの前記適用の前に、前記画像の高さを所定の高さに変換することをさらに含む、請求項1~9のいずれかに記載の画像コンテンツを認識する方法。
【請求項14】
前記画像は、手書き記号の画像である、請求項1~12のいずれかに記載の画像コンテンツを認識する方法。
【請求項15】
前記画像は、機械印刷された記号の画像である、請求項1~12のいずれかに記載の画像コンテンツを認識する方法。
【請求項16】
前記画像は、手書き記号を含む少なくとも1つの領域と、機械印刷された記号を含む少なくとも1つの領域と、を含む、請求項1~12のいずれかに記載の画像コンテンツを認識する方法。
【請求項17】
前記画像は、銀行小切手の画像である、請求項1~12のいずれかに記載の画像コンテンツを認識する方法。
【請求項18】
請求項17に記載の画像コンテンツを認識する方法であって、前記銀行小切手は、複数の銀行小切手項目欄を含み、前記方法は、前記銀行小切手項目欄のうちの少なくとも2つに対して別々に繰り返される、請求項17に記載の画像コンテンツを認識する方法。
【請求項19】
プログラム命令が記憶されたコンピュータ可読媒体であって、前記プログラム命令は、コンピュータによって読み取られると、前記コンピュータに入力画像を受け取らせ、請求項1~18のいずれかに記載の画像コンテンツを認識する方法を実行させるプログラム命令が記憶されたコンピュータ可読媒体。
【請求項20】
画像コンテンツを認識するためのシステムであって、
対象物を撮像して、前記対象物の画像を提供する撮像システムと、
回路を有する画像プロセッサと、を備え、前記画像プロセッサは、
前記画像を受け取ることと、
特定の文字体系に従って前記画像コンテンツを推定するように事前トレーニングされているニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも1つの層の出力に適用することであって、前記ニューラルネットワークブランチの入力は、前記隠れ層のうちの少なくとも1つの層の前記出力であり、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルを備える出力を生成するための出力層を有する、適用することと、
前記推定された画像コンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成されている、システム。
【請求項21】
画像コンテンツを認識するためのシステムであって、
クライアントコンピュータから通信ネットワークを介して画像を受け取るためのネットワークインタフェースと、
回路を備える画像プロセッサと、を備え、前記画像プロセッサは、
特定の文字体系に従って前記画像コンテンツを推定するように事前トレーニングされているニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像コンテンツを備える出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも1つの層の出力に適用することであって、前記ニューラルネットワークブランチの入力は、前記隠れ層のうちの少なくとも1つの層の前記出力であり、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルを備える出力を生成するための出力層を有する、適用することと、
前記推定された画像コンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成されている、システム。
【発明の詳細な説明】
【背景技術】
【0002】
本発明は、そのいくつかの実施形態では、画像処理に関し、特に、排他的ではないが、画像コンテンツ認識に関する。
【0003】
光学式文字認識(OCR)は、一般に、テキストの画像を、実際のテキスト文字を表すエンコーデングに変換することを含む。ラテン筆記体文字体系に基づくテキストのOCR技術は広く利用可能であり、非常に高い成功率を提供する。手書きテキストは、一般に、タイプ入力されたテキストとは異なる認識への課題を提示する。
【0004】
リカレントニューラルネットワーク(RNN:Recurrent Neural Networks)ならびにそれらの拡張、例えば長・短期記憶(LSTM:Long-Short-Term-Memory)ネットワーク、隠れマルコフモデル(HMM:Hidden Markov Models)、およびこれらの組み合わせなどに基づく手書き認識技術が当該技術分野で知られている[非特許文献1、非特許文献2、非特許文献3、非特許文献4、非特許文献5、非特許文献6]。
【0005】
非特許文献7によって公開された別の方法は、低レベル記述子に対するガウス混合モデル(GMM:Gaussian Mixture Model)の勾配の集合体として見ることができるフィッシャーベクトル(FV:Fisher Vectors)として入力単語画像をコード化する。次いで、単語特性の集合に含まれる各2値属性に1つの、線形サポートベクトルマシン(SVM:Support Vector Machine)分類子の集合をトレーニングする。正準相関分析(CCA:Canonical Correlation Analysis)を使用して、予測属性のベクトルと、実際の単語から生成された2値属性ベクトルとをリンクさせる。
【0006】
非特許文献8によって公開されたさらなる方法は、シーンテキスト認識のための合成データでトレーニングされた畳み込みニューラルネットワーク(CNN:convolutional neural networks)を使用する。
【0007】
非特許文献9は、特徴抽出、数列モデル化、およびトランスクリプションを統一フレームワークに統合するニューラルネットワークを開示している。ネットワークは、畳み込み層、リカレント層、およびトランスクリプション層からなる。
【先行技術文献】
【非特許文献】
【0008】
【文献】S.A.Azeem and H.Ahmed.Effective technique for the recognition of offline arabic handwritten words using hidden markov models.International Journal on Document Analysis and Recognition(IJDAR),16(4):399-412,2013
【文献】T.Bluche,H.Ney,and C.Kermorvant.A comparison of sequence-trained deep neural networks and recurrent neural networks optical modeling for handwriting recognition.In Statistical Language and Speech Processing,pages 199-210.Springer,2014
【文献】P.Doetsch,M.Kozielski,and H.Ney.Fast and robust training of recurrent neural networks for offline handwriting recognition.In Frontiers in Handwriting Recognition(ICFHR),2014 14th International Conference,pages 279-284.IEEE,2014
【文献】H.El Abed and V.Margner.Icdar 2009-arabic handwriting recognition competition.International Journal on Document Analysis and Recognition(IJDAR),14(1):3-13,2011
【文献】F.Menasri,J.Louradour,A.Bianne-Bernard,and C.Ker-morvant.The A2iA French handwriting recognition system at the Rimes-ICDAR2011 competition.In Proceedings of SPIE,volume 8297,2012
【文献】F.Stahlberg and S.Vogel.The qcri recognition system for handwritten arabic.In Image Analysis and Processing ICIAP 2015,pages 276-286.Springer,2015
【文献】Almazan et al.[J.Almazan,A.Gordo,A.Fornes,and E.Valveny.Word spotting and recognition with embedded attributes.IEEE Transactions on Pattern Analysis & Machine Intelligence,(12):2552-2566,2014]
【文献】Jaderberg et al.[M.Jaderberg,K.Simonyan,A.Vedaldi,and A.Zisserman. Synthetic data and artificial neural networks for natural scene text recognition.arXiv preprint arXiv:1406.2227,2014]
【文献】Shi et al.,arXiv preprint arXiv:1507.05717
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識する方法が提供される。方法は、ニューラルネットワークを画像に適用することを含む。ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える。方法は、隠れ層のうちの少なくとも1つの層の出力にニューラルネットワークブランチを適用することをさらに含む。ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する。方法は、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することをさらに含む。
【0010】
本発明のいくつかの実施形態によれば、ニューラルネットワークブランチは、複数の出力値を生成する少なくとも1つのリカレント層を備える。本発明のいくつかの実施形態によれば、少なくとも1つのリカレントニューラル層は、長・短期記憶(LSTM)層である。本発明のいくつかの実施形態によれば、LSTM層は、双方向層である。
【0011】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識する方法が提供される。方法は、ニューラルネットワークを画像に適用することを含む。ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える。方法は、2つの最も可能性のある認識に対してニューラルネットワークによって生成された出力確率を取得し、2つの確率間の比または差と相関する信頼スコアを割り当てることによって、信頼スコアを計算することをさらに含む。
【0012】
本発明のいくつかの実施形態によれば、方法は、複数の出力値またはそれらの射影値を合計または平均し、それによって、推定誤差レベルを提供することを含む。
【0013】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、画像内の異なるウィンドウへの畳み込みサブネットワークの適用に各々が対応する、特徴ベクトルの集合を生成する畳み込みニューラルサブネットワークを備える。
【0014】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、畳み込みニューラルサブネットワークから特徴ベクトルの集合を受け取るリカレントニューラルサブネットワークを備え、隠れ層のうちの少なくとも1つの層の出力は、リカレントニューラルサブネットワークのうちの少なくとも1つの層の出力である。本発明のいくつかの実施形態によれば、リカレントニューラルサブネットワークは、LSTM層を備える。本発明のいくつかの実施形態によれば、LSTM層のうちの少なくとも1つは、双方向層である。
【0015】
本発明のいくつかの実施形態によれば、リカレントニューラルサブネットワークは、ベクトルのシーケンスを生成し、方法は、ベクトルのシーケンスの各ベクトルの次元を文字体系の長さに対応する所定の次元に射影して、文字体系上の一連の確率分布を提供することを含み、各確率分布は、画像内の一領域に対応する。
【0016】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、一連の確率分布を受け取り、推定を生成するコネクショニスト時系列分類(CTC:Connectionist temporal classification)層を備える。
【0017】
本発明のいくつかの実施形態によれば、方法は、ニューラルネットワークの適用前に、画像の高さを所定の高さに変換することを含む。
【0018】
本発明のいくつかの実施形態によれば、画像は、手書き記号の画像である。
【0019】
本発明のいくつかの実施形態によれば、画像は、機械印刷された記号の画像である。
【0020】
本発明のいくつかの実施形態によれば、画像は、手書き記号を含む少なくとも1つの領域と、機械印刷された記号を含む少なくとも1つの領域と、を含む。
【0021】
本発明のいくつかの実施形態によれば、画像は、銀行小切手の画像である。
【0022】
本発明のいくつかの実施形態によれば、銀行小切手は、複数の銀行小切手項目欄を含み、方法は、銀行小切手項目欄のうちの少なくとも2つに対して別々に繰り返される。
【0023】
本発明のいくつかの実施形態の一態様によれば、プログラム命令が記憶されたコンピュータ可読媒体を備え、命令は、コンピュータによって読み取られると、コンピュータに入力画像を受け取らせ、上記で概説したようにならびに任意選択的に、および好ましくは以下にさらに詳述するように、方法を実行させる、コンピュータソフトウェア製品が提供される。
【0024】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識するためのシステムが提供される。システムは、対象物を撮像してその画像を提供するための撮像システムを備える。システムはまた、画像を受け取ることと、ニューラルネットワークを画像に適用することであって、ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、ニューラルネットワークブランチを隠れ層のうちの少なくとも1つの層の出力に適用することであって、ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成された画像プロセッサを備える。
【0025】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識するためのシステムが提供される。システムは、通信ネットワークを介して画像を受け取るためのネットワークインタフェースを備える。システムはまた、ニューラルネットワークを画像に適用することであって、ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、ニューラルネットワークブランチを隠れ層のうちの少なくとも1つの層の出力に適用することであって、ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成された画像プロセッサを備える。
【0026】
特に定義しない限り、本明細書で使用する全ての技術および/または科学用語は、本発明が属する技術分野の当業者により通常理解されるものと同じ意味を有する。本明細書に記載のものと同様のまたは等価な方法および材料を、本発明の実施形態の実施または試験に使用することができるが、例示的な方法および/または材料を下記に記載する。矛盾する場合、定義を含む特許明細書が優先する。加えて、材料、方法、および実施例は単なる例示であり、必ずしも限定を意図するものではない。
【0027】
本発明の実施形態の方法および/またはシステムの実施には、選択されたタスクを手動で、自動で、またはそれらの組み合わせで実行または完了することを含むことができる。さらに、本発明の方法および/またはシステムの実施形態の実際の装置および装備によれば、いくつかの選択されたタスクは、ハードウェアによって、ソフトウェアによって、もしくはファームウェアによって、またはオペレーティングシステムを使用するそれらの組み合わせによって、実施することができる。
【0028】
例えば、本発明の実施形態に従う選択されたタスクを実行するためのハードウェアは、チップまたは回路として実施することができる。ソフトウェアとして、本発明の実施形態に従う選択されたタスクは、任意の好適なオペレーティングシステムを使用するコンピュータによって実行される複数のソフトウェア命令として実施することができる。本発明の一例示的実施形態では、本明細書に記載されるような方法および/またはシステムの例示的実施形態に従う1つ以上のタスクは、複数の命令を実行するためのコンピューティングプラットフォームなどのデータプロセッサによって実行される。任意選択的に、データプロセッサは、命令および/もしくはデータを記憶するための揮発性メモリ、ならびに/または命令および/もしくはデータを記憶するための不揮発性記憶装置、例えば磁気ハードディスクおよび/もしくは取り外し可能な媒体などを含む。任意選択的に、ネットワーク接続も提供される。ディスプレイおよび/またはキーボードもしくはマウスなどのユーザ入力装置も任意選択的に設けられる。
【0029】
本発明のいくつかの実施形態について、その例示のみを目的として添付の図面を参照して本明細書に記載する。以下、特に図面を詳細に参照して示す細部は、例示を目的とし、また本発明の実施形態の詳細な説明を目的とすることを強調する。同様に、図面と共に説明を見ることで、本発明の実施形態をどのように実践し得るかが当業者には明らかとなる。
【図面の簡単な説明】
【0030】
図面中:
図1】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適な方法のフローチャート図である。
図2】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適なニューラルネットワークおよびニューラルネットワークブランチの代表的な例の概略図である。
図3】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適なコンピュータシステムの概略図である。
図4】本発明のいくつかの実施形態に従って実行された実験に使用された3つのデータセットからの例示的画像を示す画像である。
図5】本発明のいくつかの実施形態に従って実施された実験に使用された誤差予測ブランチのトレーニングプロセスの概略図である。
図6】本発明のいくつかの実施形態に従って実施された実験で得られたROC曲線を示す。
図7A】イスラエル、ヤブネ、Orbograph Ltd.が所有し、同社から得られた試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図7B】イスラエル、ヤブネ、Orbograph Ltd.が所有し、同社から得られた試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図8A】IAMと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図8B】RIMESと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図8C】SVTと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図8D】IC13と称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたROC曲線を示す。
図9】Orbograph Ltd.が所有し、同社から得られ、本発明のいくつかの実施形態に従って実施された実験に使用された、試験セットからの非不合格画像例を示す。
【発明を実施するための形態】
【0031】
本発明は、そのいくつかの実施形態では、画像処理に関し、特に、排他的ではないが、画像コンテンツ認識に関する。
【0032】
本発明の少なくとも1つの実施形態を詳細に説明する前に、本発明は、必ずしもその用途が、以下の記載に示す、および/または図面および/または実施例で例示する、構成の詳細および要素の配置および/または方法に限定されるものではないことを理解するべきである。本発明は、他の実施形態が可能であり、また、さまざまな手段で実施または実行することが可能である。
【0033】
図1は、本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適な方法のフローチャート図である。別様に定義されない限り、以下に説明される動作は、多くの組み合わせまたは実行順序で、同時にまたは順次に実行され得ることが理解される。特に、フローチャート図の順序付けは限定的と考えられるべきではない。例えば、以下の説明またはフローチャート図に特定の順序で現れる2つ以上の動作を、異なる順序(例えば、逆の順序)で、または実質的に同時に実行することができる。さらに、以下に説明するいくつかの動作は任意選択的であり、実行されなくてもよい。
【0034】
本明細書に記載の動作のうちの少なくとも一部は、データを受け取り、以下に説明される動作を実行するように構成されたデータ処理システム、例えば専用回路または汎用コンピュータによって実施することができる。動作のうちの少なくとも一部は、遠隔場所にあるクラウドコンピューティング施設によって実施することができる。
【0035】
本実施形態の方法を実施するコンピュータプログラムは、一般に、通信ネットワーク、または、これらに限定されないが、フロッピーディスク、CD-ROM、フラッシュメモリ装置、およびポータブルハードドライブなどの配布媒体によって、ユーザに配布することができる。通信ネットワークまたは配布媒体から、コンピュータプログラムをハードディスクまたは同様の中間記憶媒体にコピーすることができる。コンピュータプログラムは、コード命令をそれらの配布媒体またはそれらの中間記憶媒体からコンピュータの実行メモリにロードして、コンピュータを本発明の方法に従って動作するように構成することによって、実行することができる。動作中、コンピュータは、中間計算によって得られたデータ構造または値をメモリに記憶し、その後の動作で使用するために、これらのデータ構造または値を引き出すことができる。これらの全ての動作は、コンピュータシステムの当業者には周知である。
【0036】
本明細書で説明される処理動作は、DSP、マイクロコントローラ、FPGA、ASICなどのプロセッサ回路、または任意の他の慣用のおよび/もしくは専用のコンピューティングシステムによって実行することができる。
【0037】
本実施形態の方法は、多くの形態で具現化することができる。例えば、方法動作を実行するためのコンピュータなどの、有形媒体上で具現化することができる。方法動作を実行するためのコンピュータ可読命令を含むコンピュータ可読媒体上で具現化することができる。また、有形媒体上のコンピュータプログラムを実行するように、またはコンピュータ可読媒体上の命令を実行するように構成されたデジタルコンピュータ機能を有する電子デバイスで具現化することもできる。
【0038】
ここで図1を参照すると、方法は、10で開始し、任意選択で、および好ましくは、画像が受け取られる11に続く。画像は、典型的には、限定はされないが、文字、アクセント記号、数字および/または句読点記号を含む、文字体系に属する記号を含む。本発明のいくつかの実施形態では、画像は手書き記号を含み、その場合、文字体系は手書き記号の集合である。本発明のいくつかの実施形態では、画像は印刷された記号を含み、その場合、文字体系は印刷された記号の集合である。また、手書き記号および印刷された記号の両方を含む画像も考えられる。そのような画像の代表的な例は、そのうちのいくつかは手書き記号(例えば、数字および単語で表された額)を含み得、そのうちのいくつかは印刷された記号(例えば、口座番号、口座名義など)を含み得る、複数の項目欄を有する銀行小切手の画像である。
【0039】
画像は、好ましくは、デジタル画像であり、画像をコンピュータ可読形式で記憶する記憶装置などの外部ソースから受け取り、かつ/または、限定はされないが、インターネットなどの通信ネットワークを介して方法動作を実行するデータプロセッサに送信することができる。本発明のいくつかの実施形態では、方法は、撮像システム、例えばスキャナまたはデジタルカメラを使用して画像を獲得することを含む。
【0040】
方法は、任意選択的に、および好ましくは、入力画像がサイズ変更される12に続く。この動作は、画像が外部ソースから入力として受け取られたときに特に有用である。サイズ変更は、当該技術分野で周知のように、画像の軸のうちのいずれかに沿って、所定の幅、所定の長さおよび/または所定の対角線に伸縮することを含むことができる。各軸に沿ったサイズ変更は独立とすることができる。例えば、方法は、幅を変更することなく、画像の高さのみを所定の高さに変換すること、またはその逆を行うことができ、あるいは異なる変換シナリオに従って高さおよび幅の両方を変換することができる。
【0041】
14において、ニューラルネットワークが画像に適用される。本実施形態に好適なニューラルネットワーク20の代表的な例を図2のAおよびBに示す。ニューラルネットワーク20は、典型的には、画像22を受け取るための入力層24と、画像を処理するための複数の隠れ層26と、隠れ層26の出力に基づく推定画像コンテンツに関する出力を生成するための出力層28とを備える。ニューラルネットワークは、任意選択的に、および好ましくは、ニューラルネットワークが適用されるように設計された画像にそのサブセットが含まれる特定の文字体系に従って画像コンテンツを推定するように事前トレーニングされている。
【0042】
本発明のいくつかの実施形態では、ニューラルネットワーク20の隠れ層26は、画像22内の異なるウィンドウへの畳み込みサブネットワーク30の適用に各々が対応する特徴ベクトルの集合32を生成する畳み込みニューラルサブネットワーク30(図2のBを参照)を備える。特徴ベクトルの集合32は、したがって、画像の一方の側から他方の側へ画像上を移動するウィンドウを表すことができる。任意選択的に、ただし必ずしもそうではないが、畳み込みニューラルサブネットワーク30は、完全畳み込みニューラルサブネットワークである。
【0043】
単一の値をネットワークまたはサブネットワークの各ニューロンに関連付ける完全結合ネットワークまたはサブネットワークとは異なり、畳み込みニューラルネットワークまたはサブネットワークは、値の配列を各ニューロンに関連付けることによって動作する。概念的に、この配列は、入力画像の小パッチと考えることができる。後続の層のためのニューロン値の変換は、乗算から畳み込みへと一般化される。これは、結合強度が、スカラー値ではなく畳み込みカーネルであることを意味する。これらのより複雑な変換には、より複雑なニューラルネットワーク行列が関与する。したがって、完全結合ネットワークまたはサブネットワークにおける行列は数値の配列からなるが、畳み込みニューラルネットワークまたはサブネットワークにおいては、各行列エントリはパッチをなすピクセルである。
【0044】
ニューラルネットワーク20は、任意選択的に、および好ましくは、畳み込みニューラルサブネットワーク30から特徴ベクトルの集合32を受け取るリカレントニューラルサブネットワーク34を備えることができる。リカレントニューラルサブネットワーク34は、任意選択的に、および好ましくは、1つ以上の長・短期記憶(LSTM)層、より好ましくは1つ以上の双方向LSTM層を使用する。
【0045】
リカレントニューラルネットワークまたはサブネットワークは、入力としてさまざまな長さの数列(sequence)を受け入れるように設計されている。同じ重みの集合が、各数列要素の処理に使用される。そのようなサブネットワークは、層状に構築され、層の全てのニューロンは、前の層からの全てのニューロンの活性化を入力として受け入れ、さらに、並び(sequence)において前ステップで誘発された活性化との横方向の結合が存在する。双方向ニューラルネットワークまたはサブネットワークには、順方向に進む層と、逆方向に進む層と、が使用される。これらの2つのタイプの層は、並列に存在し、両方の活性化は、連結され、次の層への入力として働く。
【0046】
長・短期記憶(LSTM)層には、単純な活性化の代わりにメモリセルが使用される。メモリセルへのアクセスは、ゲーティングと呼ばれる乗法係数によって制御される。各入力状態において、新しい入力のメモリセルに書き込まれるべき部分、メモリセルの現在の内容の忘れられるべき部分、およびコンテンツの出力されるべき部分、を決定するために、ゲートが使用される。例えば、出力ゲートが閉じられている場合(値0)、現在のニューロンに結合されているニューロンは、値0を受け取る。出力ゲートがゲート値0.5で部分的に開いている場合、ニューロンは、記憶されたメモリの現在値の半分を出力することができる。
【0047】
リカレントニューラルサブネットワーク34は、典型的には、ベクトルの列(sequence)36を生成する。これらの実施形態では、方法は、任意選択的に、および好ましくは、列36の各ベクトルの次元を、文字体系の長さに対応する所定の次元に射影し、したがって、各確率分布が画像内の一領域に対応する、文字体系上の一連の確率分布を提供する。本発明のいくつかの実施形態では、出力層28は、一連の確率分布を受け取り、文字体系に従って画像コンテンツの推定を生成するコネクショニスト時系列分類(CTC)層[Graves et al.,Connectionist temporal classification:Labelling unsegmented sequence data with recurrent neural networks.In Proceedings of the 23rd International Conference on Machine Learning,ICML[1}’{2]06、369~376ページ、New York,NY,USA,2006.ACM]を備える。
【0048】
CTC層は、ネットワークをトレーニングするため、およびネットワークを使用して画像のコンテンツを認識するための両方に使用することができる。前者では、損失関数が使用される。後者では、CTCデコーディングスキームは、任意選択的に、および好ましくは、出力を得るために使用される。これは、最も高い確率のデコーディングを得るためのグリーディデコーディングを使用して、またはn個の最も高い確率のデコーディング値を得るためのビームサーチスキームを使用して行うことができる。
【0049】
方法は、任意選択的に、および好ましくは、14に進み、そこで、ニューラルネットワークブランチ38が隠れ層26のうちの少なくとも1つの層の出力に適用される。ネットワークブランチ38は、隠れ層26のうちのいずれかの出力に適用される。ブランチ38の1つ以上のリカレントニューラル層は、例えばLSTM層、より好ましくは双方向LSTM層であり得る。典型的には、ブランチ38は、リカレントニューラルサブネットワーク34内の層のうちの1つの層の出力、例えばそのような層が使用される場合にはLSTM層のうちの1つの層の出力に適用される。好ましくは、ただし必ずしもそうではないが、ネットワークブランチ38は、リカレントニューラルサブネットワーク34内の最初の層の出力、すなわち畳み込みニューラルサブネットワーク30によって生成された特徴ベクトルの集合32によって供給される層の出力に適用される。
【0050】
ニューラルネットワークブランチ38は、任意選択的に、および好ましくは、ニューラルネットワーク20から独立している。ブランチ38は、層28によって生成された推定の推定誤差レベルに関する出力を生成する出力層40を有する。任意選択的に、および好ましくは、ニューラルネットワークブランチ38は、複数の出力値を生成する1つ以上のリカレント層42を備える。方法は、任意選択的に、および好ましくは、出力値を合計して、推定誤差レベルを提供する。典型的には、リカレント層42によって提供される出力値は、ベクトル値である。これらの実施形態では、リカレント層42によって提供されるベクトル値の各々は、スカラーに射影され、それによって、任意選択的に、および好ましくは、その後に合計または平均することができる複数のスカラーを提供し、そのため、出力層40によって生成される誤差レベルもまたスカラーである。
【0051】
方法は、15に進み、そこで、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力が生成される。組み合わされた出力は、表示装置上に表示すること、印刷媒体上に印刷すること、および/または通信ネットワークを介してリモートコンピュータに送信することができる。
【0052】
方法は、16で終了する。
【0053】
図3は、典型的には、入出力(I/O:input/output)回路134と、ハードウェア中央処理装置(CPU:central processing unit)136(例えば、ハードウェアマイクロプロセッサ)と、典型的には揮発性メモリおよび不揮発性メモリの両方を含むハードウェアメモリ138とを備える、ハードウェアプロセッサ132を有するクライアントコンピュータ130の概略図である。CPU136は、I/O回路134およびメモリ138と通信する。クライアントコンピュータ130は、好ましくは、プロセッサ132と通信するグラフィカルユーザインタフェース(GUI:graphical user interface)142を備える。I/O回路134は、好ましくは、適切に構造化された形態の情報をGUI142と交換する。ハードウェアプロセッサ152、I/O回路154、ハードウェアCPU156、ハードウェアメモリ158を同様に含むことができるサーバコンピュータ150も示されている。クライアントコンピュータ130およびサーバコンピュータ150のI/O回路134および154は、有線または無線通信を介して互いに情報を通信するトランシーバとして動作することができる。例えば、クライアントコンピュータ130およびサーバコンピュータ150は、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)またはインターネットなどのネットワーク140を介して通信することができる。サーバコンピュータ150は、いくつかの実施形態では、ネットワーク140を介してクライアントコンピュータ130と通信するクラウドコンピューティング施設のクラウドコンピューティングリソースの一部とすることができる。クライアントコンピュータ130に関連付けられたカメラまたはスキャナなどの撮像装置146もさらに示されている。
【0054】
GUI142とプロセッサ132とは、同じハウジング内で一緒に統合されてもよいし、または互いに通信する別個のユニットであってもよい。同様に、撮像装置146とプロセッサ132とは、同じハウジング内で一緒に統合されてもよいし、互いに通信する別個のユニットであってもよい。
【0055】
GUI142は、任意選択的に、および好ましくは、GUI142がプロセッサ132と通信することを可能とする専用のCPUおよびI/O回路(図示せず)を含むシステムの一部であってもよい。プロセッサ132は、CPU136によって生成されたグラフィカルおよびテキスト出力をGUI142に発行する。プロセッサ132はまた、ユーザ入力に応答してGUI142によって生成された制御コマンドに関する信号をGUI142から受け取る。GUI142は、これらに限定されないが、キーボードおよびディスプレイ、タッチスクリーンなど、当該技術分野で周知の任意のタイプのものとすることができる。好ましい実施形態では、GUI142は、スマートフォン、タブレット、スマートウォッチなどのモバイルデバイスのGUIである。GUI142がモバイルデバイスのGUIであるとき、プロセッサ132、モバイルデバイスのCPU回路は、プロセッサ132として機能することができ、本明細書に記載のコード命令を実行することができる。
【0056】
クライアントコンピュータ130およびサーバコンピュータ150はさらに、1つ以上のコンピュータ可読記憶媒体144、164をそれぞれ備えることができる。媒体144および164は、好ましくは、本明細書でさらに詳述されるようなコンピュータコード命令を記憶する非一時的な記憶媒体であり、プロセッサ132および152は、これらのコード命令を実行する。コード命令は、それぞれのコード命令をそれぞれのプロセッサ132および152のそれぞれの実行メモリ138および158にロードすることによって実行することができる。
【0057】
各記憶媒体144および164は、それぞれのプロセッサによって読み取られると、プロセッサに入力画像を受け取らせ、本明細書に記載されたように方法を実行させるプログラム命令を記憶することができる。本発明のいくつかの実施形態では、入力画像は、撮像装置130によって生成され、I/O回路134によってプロセッサ132に送信される。プロセッサ132は、上記でさらに詳述したように画像のコンテンツおよび推定の誤差を推定し、組み合わされた出力を、例えばGUI142上に表示する。代替的に、プロセッサ132は、ネットワーク140を介して、画像をサーバコンピュータ150に送信することができる。コンピュータ150は、画像を受け取り、上記でさらに詳述したように画像のコンテンツおよび推定の誤差を推定し、組み合わされた出力を、ネットワーク140を介してコンピュータ130に返送する。コンピュータ130は、組み合わされた出力を受け取り、GUI142上に表示する。
【0058】
本明細書で使用する「約」は、±10%を指す。
【0059】
「例示的」という用語は、本明細書では、「例、事例、または例示として機能する」ことを意味するために使用される。「例示的」として記載された任意の実施形態は、必ずしも、他の実施形態よりも好ましいまたは有利であると解釈されるものではなく、かつ/または他の実施形態からの特徴の組み込みを排除するものでもない。
【0060】
「任意選択的に」という用語は、本明細書では、「いくつかの実施形態で提供され、他の実施形態では提供されない」ことを意味するために使用される。本発明の任意の特定の実施形態は、複数の「任意選択的な」特徴を、そのような特徴が競合しない限り、含むことができる。
【0061】
用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(having)」およびその活用形は、「限定されるものではないが、含む(including but not limited to)」を意味する。
【0062】
「~からなる」という用語は、「含みかつ限定される」ことを意味する。
【0063】
「から実質的になる」という用語は、組成物、方法または構造が追加の成分、工程および/または部分を含み得ることを意味する。但しこれは、追加の成分、工程および/または部分が、請求項に記載の組成物、方法または構造の基本的かつ新規な特性を実質的に変更しない場合に限られる。
【0064】
本明細書において、単数形を表す「a」、「an」、および「the」は、文脈が明らかに他を示さない限り、複数をも対象とする。例えば、「化合物(a compound)」または「少なくとも1種の化合物」には、複数の化合物が含まれ、それらの混合物をも含み得る。
【0065】
本願全体を通して、本発明のさまざまな実施形態は、範囲形式にて示され得る。範囲形式での記載は、単に利便性および簡潔さのためであり、本発明の範囲の柔軟性を欠く制限ではないことを理解されたい。したがって、範囲の記載は、取りうる全ての部分範囲、およびその範囲内の個々の数値を具体的に開示していると考えるべきである。例えば、1~6といった範囲の記載は、1~3、1~4、1~5、2~4、2~6、3~6等の部分範囲のみならず、その範囲内の個々の数値、例えば1、2、3、4、5および6も具体的に開示するものとする。これは、範囲の大きさに関わらず適用される。
【0066】
本明細書において数値範囲を示す場合、それは示された範囲内の任意の引用数(分数または整数)を含むことを意図する。第1の指示数と第2の指示数「との間の範囲」という表現と、第1の指示数「から」第2の指示数「までの範囲」という表現は、本明細書で代替可能に使用され、第1の指示数および第2の指示数と、それらの間の分数および整数の全部を含むことを意図する。
【0067】
明確さのために別個の実施形態に関連して記載した本発明の所定の特徴はまた、1つの実施形態において、これら特徴を組み合わせて提供され得ることを理解されたい。逆に、簡潔さのために1つの実施形態に関連して記載した本発明の複数の特徴はまた、別々に、または任意の好適な部分的な組み合わせ、または適当な他の記載された実施形態に対しても提供され得る。さまざまな実施形態に関連して記載される所定の特徴は、その要素なしでは特定の実施形態が動作不能でない限り、その実施形態の必須要件であると捉えてはならない。
【0068】
上述したように、本明細書に記載され、特許請求の範囲に請求される本発明のさまざまな実施形態および態様は、以下の実施例によって実験的に支持されるものである。
【実施例
【0069】
ここで、上記の記載と共に本発明を限定することなく説明する以下の実施例に参照する。
【0070】
本実施例は、手書きおよび印刷された銀行小切手に適用された光学式文字認識(OCR)プロセスを説明した。適用されたプロセスは、本発明のいくつかの実施形態に従う方法を含み、ニューラルネットワークを画像に適用して、隠れ層の出力に基づいて画像コンテンツを推定し、ニューラルネットワークブランチを隠れ層のうちの1つの層の出力に適用して、画像コンテンツ推定の誤差レベルを推定した。
【0071】
本実施例では、銀行小切手からの3つの異なる項目欄の実世界の画像を含む3つの異なるデータセットを使用した。データセットを、本明細書では、口座、CAR、およびLARと名付け、ここで、口座は、口座番号の数字項目欄に対応し、CARは、数字として書かれた小切手のドル額に対応し、LARは、単語で書かれた小切手のドル額に対応する。図4のA~Cは、LARデータセット(図4のA、“seventy five and 00”を示す)、CARデータセット(図4のB、“486.37”を示す)、および口座データセット(図4のC、“161020417”を示す)からの例示的な画像を示す。
【0072】
各画像について、データセットは、その内容の基準トランスクリプションを含んでいた。
【0073】
ネットワークアーキテクチャ
ネットワークアーキテクチャは、以下のとおりであった。ネットワークの認識部には、エンドツーエンドのトレーニング可能なネットワークを使用した。ネットワークは、トレーニングのために、画像およびそのトランスクリプションのみを取り入れた。本実施例では、画像の高さは、64画素に正規化され、画像の幅およびトランスクリプションの長さは、任意の長さであった。アライメント情報は使用せずに、ネットワークをトレーニングした。
【0074】
入力画像は、まず、畳み込み層、バッチ正規化層、および最大プーリング層からなるVGGスタイルの畳み込みニューラルネットワークを通過する。本実施例では、活性化関数としてReLUを使用したが、他の活性化関数も考えられる。本実施例では、プーリング層は、画像の高さを64から1まで減少させ、また、画像の幅を1/8に減少させた。これで、寸法2×2を有する3つの最大プーリング層と、寸法2×1を有する3つの最大プーリング層と、が提供された。
【0075】
各々2つのプーリング動作の間に3つの畳み込み層を使用した。本実施例では、畳み込み層の形状は、3×3およびパディング1であった。各畳み込み層の後に、バッチ正規化層および活性化関数を使用した。
【0076】
畳み込み段階の出力は、一連の特徴ベクトルであり、各特徴ベクトルは、オリジナル画像のウィンドウに畳み込みネットワークを適用した結果であった。特徴ベクトルは、したがって、左から右へスライドするウィンドウで画像を見ることに対応していた。
【0077】
得られた一連の特徴ベクトルを、本実施例では2つの双方向LSTM層を含むリカレントサブネットワークに入力として供給した。両方の双方向LSTM層は、1024単位を有する2つのLSTM層の連結体として実現した。畳み込みおよびLSTM層の後、長さ2048の可変長ベクトル列を得た。次いで、次元2048から所望の文字体系の長さへ線形射影を適用して、各々がオリジナル画像中の矩形受容項目欄に対応する、文字体系上の一連の確率分布を得た。
【0078】
コネクショニスト時系列分類(CTC)層を得られた数列に適用することによって、最終的なトランスクリプションを得た。この層は、前の層から来る確率ベクトルを与えられ、出力数例に対する確率を定義した。次いで、出力数列を、確率ベクトルに与えられた最も高い確率を有する数列であると定義した。トレーニングのために、損失関数を、ウィンドウごとの確率分布を与えられた正しいトランスクリプションの負の対数尤度として定義した。
【0079】
誤差を予測する
本発明者らは、CTCトランスクリプション確率が画像の間違いラベル付けの予測因子として不十分であることを見出した。したがって、本発明者らは、ネットワークに誤差予測ブランチを付けた。誤差予測ブランチの入力は、ネットワークの中間からの層(隠れ層)であり、誤差予測ブランチの出力は、単一の数であり、それを、回帰タスクとしてのトランスクリプションにおける誤差の数の予測として(編集距離)、または、分類タスクとしての、トランスクリプションが正しいという対数確率として使用した。
【0080】
図5は、ネットワークの誤差予測ブランチのトレーニングプロセスを示す。トレーニングには、ソース画像と、正しいトランスクリプションのみと、を使用した。トレーニングのための基底真実を、画像を数列予測ネットワークに通し、ネットワーク出力と基底真実との間に認められた誤差を計算し、この差に基づいて誤差予測ブランチをトレーニングすることにより計算した。
【0081】
本実施例では、誤差予測ブランチは、最初の双方向LSTM層の出力を入力として取り入れた。長さ2048の各ベクトルを、より小さい次元のベクトル(本実施例では、長さ128のベクトル)に射影した。次いで、別の双方向LSTM層(本実施例では、128単位を有する)を、射影されたベクトルに適用した。LSTM層の各出力をスカラーに射影し、これらのスカラーを合計してスカラー出力を提供した。代替的に、(それらを合計するだけではなく)これらのスカラーを平均することによって、スカラー出力を提供して、例えば、結果に及ぼす画像幅の影響を低減することができる。このスカラー出力を、誤差予測ブランチの出力として定義し、分類プロセスの対数確率として使用した。
【0082】
LSTMから来る射影スカラーを合計または平均することにより、誤差検出の局所性がもたらされる。これは、方法が、検出されたラベルが基底真実と同じであるかどうかを予測する分類と、方法が、ネットワークが起こす誤差の数を予測する回帰プロセスとの両方について有利であった。分類では、ネットワークが2つの異なる位置で大きな値を出力する場合、最終的な和が大きくなり、これは、誤差の確率がより大きいという所見と一致する。回帰では、ネットワークが複数の誤差を起こす場合、誤差検出プロセスは、複数の位置において誤差を検出することが期待され、より多くの位置が高い値を取得するほど、誤差予測値はより高くなるはずである。
【0083】
数列予測ネットワークおよび誤差予測ブランチのトレーニングは、同じデータセットで行わなかった。その理由は、深層ニューラルネットワークモデルは、典型的に、トレーニングセット上で過剰適合(overfitting)するからである。過剰適合が発生すると、損失関数および認識されるラベル付け誤差は、0になるかまたはそれに非常に近くなる。誤差予測ブランチをネットワークと一緒にトレーニングしようとすると、トレーニングの結果は、誤差予測子が常にゼロを出力することとなる。このため、トレーニングは、トランスクリプションを提供するネットワークをトレーニングセットでトレーニングし、検証セットで評価し、誤差予測ブランチを検証セットでトレーニングし、試験セットで評価するという、2段階動作とした。
【0084】
実験結果
システムを、3つのデータセット(CAR、LAR、口座)でトレーニングし、良好な精度が達成された。誤差は、編集距離全長を、正しいストリングの長さで除算したものとして測定した。結果を、以下の表1にまとめて示す。表1では、LARの項目欄全体精度の結果は、トランスクリプションデータを後処理した後に測定した。ドル額およびセント額の精度の測定は別々に行った。
【0085】
【表1】
【0086】
誤差予測のために、一式の6つのモデルをトレーニングし、それらの結果を比較した。モデルのうちの3つは、得られたストリングが正しいかどうかを予測するための2値分類であり、3つは、編集距離に対する損失を最小化しようとする回帰モデルであった。
【0087】
3つのモデルは、以下のとおりであった:
【0088】
1.LSTM合計-上述したように、LSTM、射影および合計。
【0089】
2.LSTM最終状態-双方向LSTMを実行し、その最終状態ベクトルをとり、それを射影してスカラーを得る。
【0090】
3.LSTM最終状態MLP-双方向LSTMを実行し、その最終状態ベクトルをとり、1つの隠れ層を有する小さなニューラルネットワークモデルをそれに実行してスカラーを得る。
【0091】
図6は、CARデータセットにおける6つ全てのモデルについてのROC曲線と基準CTCスコアとを示す。ROC曲線は、読み間違い率と全システム読み取り率とのトレードオフを示す。例えば、読み間違い率0.2と読み取り率0.9の点は、特定の信頼閾値を選ぶことにより、システムは、有効データの10%を不合格とし、誤差数を80%低減することを示す。異なる信頼性確認方法の有効性を比較するために、曲線下面積(AUC:area under curve)測定法が使用される。図6に示すように、CTCスコアは、誤差予測のための測定値としては非常に劣悪である。対照的に、本実施形態のLSTM合計分類は、AUCが0.87であり、他の全てのモデルよりも著しく良好である。
【0092】
各方法について、いくつかのベンチマークを使用し、スキャンされたドル額の実世界のトリミング画像を含む、イスラエル、ヤブネ、Orbograph Ltd.が所有するデータセットで、追加の実験を行った。
【0093】
以下の実験では、2つの技術を使用して信頼基準を求めた。以下では「CTC比率」と称する第1の技術では、ニューラルネットワークブランチ38を使用することなく、確率比を信頼度として使用した。この技術では、入力画像が与えられ、OCRモデルが第1および第2の最も蓋然性のある読み取り値に割り当てる確率を得る。第1の読み取り値が第2の読み取り値よりもはるかに蓋然性が高い場合には、高い信頼スコアが割り当てられる。そうでなければ、サンプルは曖昧であり、そのため、その信頼スコアは低下される。以下では「誤差予測(ErrPred)」と称する第2の技術では、誤差予測ブランチをネットワークに追加し、OCRモデルが、入力を与えられ、判断を誤るか、またはサンプルは不合格とされるべきかを直接予測する。誤差予測ブランチにより、ニューラルネットワークブランチ38(図2のA)が設けられた。
【0094】
ベンチマークは、以下を含む:ICDAR 2013(IC13)[Karatzas et al.,Icdar 2013 robust reading competition,Document Analysis and Recognition(ICDAR),2013 12th International Conference、1484~1493ページ.IEEE,2013]、Street View Text(SVT)[Wang et al.,End-to-end scene text recognition.In Computer Vision(ICCV),2011 IEEE International Conference、1457~1464ページ、IEEE,2011]、IAM[Marti et al.,The iam-database: an English sentence database for offline handwriting recognition,International Journal on Document Analysis and Recognition,5(1):39-46,2002]、およびRIMES[Grosicki et al.,Icdar 2009 handwriting recognition competition,Document Analysis and Recognition,2009.ICDAR ’09.10th International Conference、1398~1402ページ、IEEE,2009]。
【0095】
IC13データセットにおいて、試験セットは、ラベル付けされた境界枠を有する251個のシーン画像を含む。試験セットを、3文字以上の英数字のみを含むように制限し、約900個のトリミングされたテキスト画像の試験セットを得た。
【0096】
SVTデータセットは、グーグルストリートビューから収集された249個の画像からなる。単語画像を、これらの画像からトリミングし、647個のサンプルの試験セットを得た。
【0097】
IAMデータセットは、657人の書き手による、スキャンされた手書き英語テキストからなり、合計115,320個のラベル付けされた単語画像となった。句読点および短い単語をフィルタ除去した後、40,526個のサンプルのトレーニングセットを得た。
【0098】
RIMESデータセットは、1300人による、スキャンされた手書きフランス語のテキストからなり、合計で67,000個の単語となった。句読点のない十分に長い単語に限定すると、トレーニングセットサイズは、35,723個のサンプルとなった。
【0099】
オルボグラフデータセットは、ドル額を示す項目欄を自動的にスキャンおよびトリミングした、100万個のラベル付けされた画像からなる。このデータセットは、実世界の印刷文書からドル額がスキャンされたテキストサンプルを収集し、それらを手作業でラベル付けすることにより作成された。これは、フィルタリングされていない実世界データであるので、一定量の不合格サンプルを有し、それを使用して、本実施形態の方法をトレーニングした。図7Aおよび図7Bは、オルボグラフデータセットの試験セットにおけるROC曲線を示し、図7Aは、試験セットの全ての画像についてのROC曲線を示し、図7Bは、試験セットの非不合格画像についてのROC曲線を示す。読み間違いとは、不合格画像が高い信頼スコアを受け取るか、または非不合格画像が高い信頼スコアを有する誤ったトランスクリプションを受け取るかのいずれかを意味する。
【0100】
実験は、TensorFlowで実施し、nVidia Titan XおよびnVidia K80でトレーニングした。CTCデコーディングは、探索ビームサイズ100で使用した。トレーニングは、ADAM[Kingma et al.,A method for stochastic optimization,arXiv preprint arXiv:1412.6980,2014]を使用して、初期学習率10-4で行った。
【0101】
表2は、各ベンチマークについて得られた精度と、ベースラインおよび本実施形態の方法によって得られたAUCとをまとめて示し、表3は、数値ドル額データセットについて得られた精度と、ベースラインおよび本実施形態の方法によって得られたAUCとをまとめて示す。表3において、オルボグラフ(全て)に対する精度値は、全ての不合格サンプルを失敗としており、そういうわけで、正確な信頼信号の必要性を示す役割を果たしている。
【0102】
図8A図8Dは、ベースラインCTCベースの信頼スコアおよび本実施形態の方法の両方について、それぞれIAM、RIMES、SVTおよびIC13、ベンチマークに対するROC曲線を示す。
【0103】
【表2】
【0104】
【表3】
【0105】
表2、表3および図8A図8Dは、本実施形態の方法がOCR誤差を予測および防止することにおいて有効であることを示す。不合格サンプルを有しない全てのデータセットにおいて、確率比技術は非常に効果的であることが証明された。大きなデータセットでトレーニングする場合、確率比技術および誤差予測ブランチを使用する技術の両方で、非常に説得力のある結果が得られる。いかなる特定の理論にも拘束されることを望むものではないが、誤差予測ブランチを使用して得られる比較的低い精度は、データ不足によって説明される。
【0106】
オルボグラフのデータセットは、人工的ではなく、多くのサンプルを含むので、より良好なベンチマーク条件を提供する。さらに、このデータセットは、不合格サンプルを含むことによって、OCRシステムの実世界の条件および要件を模倣する。図7Aおよび図7Bに示すように、不合格を考慮せずに誤差予測精度を測定する場合、両方の技術が非常に良好な性能を示し、確率比方法がわずかに有利である。しかしながら、不合格サンプルも考慮する場合、誤差予測ブランチを使用する技術は、とりわけ良好な結果を達成する。後者の技術は、誤差率を99.7%低減することができ、一方、有効サンプルの1%しか不合格としない。
【0107】
図9は、定性的評価のために、異なるレベルの信頼度の、オルボグラフのドル額データセットからの非不合格画像例を示す。一番下位の信頼パーセンタイルからのサンプルは、トリミングされた印刷ドル額においてトレーニングされたOCRモデルには、読み取ることが困難であると判明すると予想される。実際、1つのサンプルは手書きであり、1つは不完全なトリミングに起因する周囲の枠を含み、1つは無関係なテキストおよびマーキングを含み、他の2つはぼやけている。5番目のパーセンタイルのテキストは、もはや完全に判読可能であり、適度にトリミングされている。上位のパーセンタイルは、ラベル「$0.00」を有するサンプルによって完全に占められていることに留意されたい。その理由は、データセットが多くのそのようなサンプルを含み、それで、本実施形態のニューラルネットワークが、高い信頼度でそれらを認識するように学習したからである。
【0108】
本実施例は、本実施形態の技術が、提案されたベースラインよりもはるかに優れていることを示し、印刷テキストOCR、手書きテキストOCR、およびシーンテキスト認識に適用可能であることを証明している。
【0109】
本発明をその特定の実施形態との関連で説明したが、多数の代替、修正、および改変が当業者には明らかであろう。したがって、そのような代替、修正および変種の全ては、添付の特許請求の範囲の趣旨および広い範囲内に含まれることを意図するものである。
【0110】
えて、本願におけるいかなる参考文献の引用または特定は、このような参考文献が本発明の先行技術として使用できることの自認として解釈されるべきではない。また、各節の表題が使用される範囲において、必ずしも限定として解釈されるべきではない。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8A
図8B
図8C
図8D
図9