(57)【要約】  画像コンテンツを認識する方法は、画像に、ニューラルネットワークを適用することを含み、ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える。方法は、隠れ層のうちの少なくとも１つの層の出力に、ニューラルネットワークブランチを適用することをさらに含み、ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する。推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力が生成される。【選択図】  図２
2020534604.tif 000002
【特許請求の範囲】
【請求項１】
画像のコンテンツを認識する方法であって、
ニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像のコンテンツに関する出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも１つの層の出力に適用することであって、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、
前記推定された画像のコンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を含む、方法。
【請求項２】
前記ニューラルネットワークブランチは、複数の出力値を生成する少なくとも１つのリカレント層を備える、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのリカレントニューラル層は、長・短期記憶（ＬＳＴＭ）層である、請求項２に記載の方法。
【請求項４】
前記ＬＳＴＭ層は、双方向層である、請求項３に記載の方法。
【請求項５】
前記複数の出力値またはその射影値を合計または平均し、それによって、前記推定誤差レベルを提供することをさらに含む、請求項２〜４のいずれかに記載の方法。
【請求項６】
前記ニューラルネットワークは、前記画像内の異なるウィンドウへの畳み込みニューラルサブネットワークの適用に各々が対応する、特徴ベクトルの集合を生成する前記畳み込みニューラルサブネットワークを備える、請求項１に記載の方法。
【請求項７】
前記ニューラルネットワークは、前記画像内の異なるウィンドウへの畳み込みニューラルサブネットワークの適用に各々が対応する、特徴ベクトルの集合を生成する前記畳み込みニューラルサブネットワークを備える、請求項２〜５のいずれかに記載の方法。
【請求項８】
前記ニューラルネットワークは、前記畳み込みニューラルサブネットワークから前記特徴ベクトルの集合を受け取るリカレントニューラルサブネットワークを備え、前記隠れ層のうちの前記少なくとも１つの層の前記出力は、前記リカレントニューラルサブネットワークの少なくとも１つの層の出力である、請求項６に記載の方法。
【請求項９】
前記ニューラルネットワークは、前記畳み込みニューラルサブネットワークから前記特徴ベクトルの集合を受け取るリカレントニューラルサブネットワークを備え、前記隠れ層のうちの前記少なくとも１つの層の前記出力は、前記リカレントニューラルサブネットワークの少なくとも１つの層の出力である、請求項７に記載の方法。
【請求項１０】
前記リカレントニューラルサブネットワークは、長・短期記憶（ＬＳＴＭ）層を備える、請求項８に記載の方法。
【請求項１１】
前記リカレントニューラルサブネットワークは、長・短期記憶（ＬＳＴＭ）層を備える、請求項９に記載の方法。
【請求項１２】
前記ＬＳＴＭ層のうちの少なくとも１つは、双方向層である、請求項１０に記載の方法。
【請求項１３】
前記ＬＳＴＭ層のうちの少なくとも１つは、双方向層である、請求項１１に記載の方法。
【請求項１４】
前記リカレントニューラルサブネットワークは、一連のベクトルを生成し、前記方法は、前記一連のベクトルのうちの各ベクトルの次元を文字体系の長さに対応する所定の次元に射影して、前記文字体系上の一連の確率分布を提供することを含み、各確率分布は、前記画像内の一領域に対応する、請求項８に記載の方法。
【請求項１５】
前記リカレントニューラルサブネットワークは、一連のベクトルを生成し、前記方法は、前記一連のベクトルのうちの各ベクトルの次元を文字体系の長さに対応する所定の次元に射影して、前記文字体系上の一連の確率分布を提供することを含み、各確率分布は、前記画像内の一領域に対応する、請求項９〜１３のいずれかに記載の方法。
【請求項１６】
前記ニューラルネットワークは、前記一連の確率分布を受け取り、前記推定を生成する、コネクショニスト時系列分類（ＣＴＣ）層を備える、請求項１４に記載の方法。
【請求項１７】
前記ニューラルネットワークは、前記一連の確率分布を受け取り、前記推定を生成する、コネクショニスト時系列分類（ＣＴＣ）層を備える、請求項１５に記載の方法。
【請求項１８】
前記ニューラルネットワークの前記適用の前に、前記画像の高さを所定の高さに変換することをさらに含む、請求項１に記載の方法。
【請求項１９】
前記ニューラルネットワークの前記適用の前に、前記画像の高さを所定の高さに変換することをさらに含む、請求項２〜１２のいずれかに記載の方法。
【請求項２０】
前記画像は、手書き記号の画像である、請求項１に記載の方法。
【請求項２１】
前記画像は、手書き記号の画像である、請求項２〜１８のいずれかに記載の方法。
【請求項２２】
前記画像は、機械印刷された記号の画像である、請求項１に記載の方法。
【請求項２３】
前記画像は、機械印刷された記号の画像である、請求項２〜１８のいずれかに記載の方法。
【請求項２４】
前記画像は、手書き記号を含む少なくとも１つの領域と、機械印刷された記号を含む少なくとも１つの領域と、を含む、請求項１に記載の方法。
【請求項２５】
前記画像は、手書き記号を含む少なくとも１つの領域と、機械印刷された記号を含む少なくとも１つの領域と、を含む、請求項２〜１８のいずれかに記載の方法。
【請求項２６】
前記画像は、銀行小切手の画像である、請求項１に記載の方法。
【請求項２７】
前記画像は、銀行小切手の画像である、請求項２〜１８のいずれかに記載の方法。
【請求項２８】
前記銀行小切手は、複数の銀行小切手項目欄を含み、前記方法は、前記銀行小切手項目欄のうちの少なくとも２つに対して別々に繰り返される、請求項２６に記載の方法。
【請求項２９】
前記銀行小切手は、複数の銀行小切手項目欄を含み、前記方法は、前記銀行小切手項目欄のうちの少なくとも２つに対して別々に繰り返される、請求項２７に記載の方法。
【請求項３０】
プログラム命令が記憶されたコンピュータ可読媒体を含む、コンピュータソフトウェア製品であって、前記命令は、コンピュータによって読み取られると、前記コンピュータに入力画像を受け取らせ、請求項１〜２８のいずれかに記載の方法を実行させる、コンピュータソフトウェア製品。
【請求項３１】
画像コンテンツを認識するためのシステムであって、
対象物を撮像して、その画像を提供する撮像システムと、
画像プロセッサと、を備え、前記画像プロセッサは、
前記画像を受け取ることと、
ニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも１つの層の出力に適用することであって、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、
前記推定された画像コンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成されている、システム。
【請求項３２】
画像コンテンツを認識するためのシステムであって、
通信ネットワークを介して画像を受け取るためのネットワークインタフェースと、
画像プロセッサと、を備え、前記画像プロセッサは、
ニューラルネットワークを前記画像に適用することであって、前記ニューラルネットワークは、前記画像を受け取るための入力層と、前記画像を処理するための複数の隠れ層と、前記隠れ層の出力に基づいて推定された画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、
ニューラルネットワークブランチを前記隠れ層のうちの少なくとも１つの層の出力に適用することであって、前記ニューラルネットワークブランチは、前記ニューラルネットワークから独立しており、前記推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、
前記推定された画像コンテンツおよび前記推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１７年９月１９日に出願された米国仮特許出願第６２／５６０，２７５号の優先権の利益を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【０００２】
本発明は、そのいくつかの実施形態では、画像処理に関し、特に、排他的ではないが、画像コンテンツ認識に関する。
【０００３】
光学式文字認識（ＯＣＲ）は、一般に、テキストの画像を、実際のテキスト文字を表すエンコーデングに変換することを含む。ラテン筆記体文字体系に基づくテキストのＯＣＲ技術は広く利用可能であり、非常に高い成功率を提供する。手書きテキストは、一般に、タイプ入力されたテキストとは異なる認識への課題を提示する。
【０００４】
リカレントニューラルネットワーク（ＲＮＮ：Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ）ならびにそれらの拡張、例えば長・短期記憶（ＬＳＴＭ：Ｌｏｎｇ−Ｓｈｏｒｔ−Ｔｅｒｍ−Ｍｅｍｏｒｙ）ネットワーク、隠れマルコフモデル（ＨＭＭ：Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｓ）、およびこれらの組み合わせなどに基づく手書き認識技術が当該技術分野で知られている［非特許文献１、非特許文献２、非特許文献３、非特許文献４、非特許文献５、非特許文献６］。
【０００５】
非特許文献７によって公開された別の方法は、低レベル記述子に対するガウス混合モデル（ＧＭＭ：Ｇａｕｓｓｉａｎ  Ｍｉｘｔｕｒｅ  Ｍｏｄｅｌ）の勾配の集合体として見ることができるフィッシャーベクトル（ＦＶ：Ｆｉｓｈｅｒ  Ｖｅｃｔｏｒｓ）として入力単語画像をコード化する。次いで、単語特性の集合に含まれる各２値属性に１つの、線形サポートベクトルマシン（ＳＶＭ：Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）分類子の集合をトレーニングする。正準相関分析（ＣＣＡ：Ｃａｎｏｎｉｃａｌ  Ｃｏｒｒｅｌａｔｉｏｎ  Ａｎａｌｙｓｉｓ）を使用して、予測属性のベクトルと、実際の単語から生成された２値属性ベクトルとをリンクさせる。
【０００６】
非特許文献８によって公開されたさらなる方法は、シーンテキスト認識のための合成データでトレーニングされた畳み込みニューラルネットワーク（ＣＮＮ：ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ）を使用する。
【０００７】
非特許文献９は、特徴抽出、数列モデル化、およびトランスクリプションを統一フレームワークに統合するニューラルネットワークを開示している。ネットワークは、畳み込み層、リカレント層、およびトランスクリプション層からなる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Ｓ．Ａ．Ａｚｅｅｍ  ａｎｄ  Ｈ．Ａｈｍｅｄ．Ｅｆｆｅｃｔｉｖｅ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｔｈｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ｏｆ  ｏｆｆｌｉｎｅ  ａｒａｂｉｃ  ｈａｎｄｗｒｉｔｔｅｎ  ｗｏｒｄｓ  ｕｓｉｎｇ  ｈｉｄｄｅｎ  ｍａｒｋｏｖ  ｍｏｄｅｌｓ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＪＤＡＲ），１６（４）：３９９−４１２，２０１３
【非特許文献２】Ｔ．Ｂｌｕｃｈｅ，Ｈ．Ｎｅｙ，ａｎｄ  Ｃ．Ｋｅｒｍｏｒｖａｎｔ．Ａ  ｃｏｍｐａｒｉｓｏｎ  ｏｆ  ｓｅｑｕｅｎｃｅ−ｔｒａｉｎｅｄ  ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ａｎｄ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｏｐｔｉｃａｌ  ｍｏｄｅｌｉｎｇ  ｆｏｒ  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ．Ｉｎ  Ｓｔａｔｉｓｔｉｃａｌ  Ｌａｎｇｕａｇｅ  ａｎｄ  Ｓｐｅｅｃｈ  Ｐｒｏｃｅｓｓｉｎｇ，ｐａｇｅｓ  １９９-２１０．Ｓｐｒｉｎｇｅｒ，２０１４
【非特許文献３】Ｐ．Ｄｏｅｔｓｃｈ，Ｍ．Ｋｏｚｉｅｌｓｋｉ，ａｎｄ  Ｈ．Ｎｅｙ．Ｆａｓｔ  ａｎｄ  ｒｏｂｕｓｔ  ｔｒａｉｎｉｎｇ  ｏｆ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｏｆｆｌｉｎｅ  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ．Ｉｎ  Ｆｒｏｎｔｉｅｒｓ  ｉｎ  Ｈａｎｄｗｒｉｔｉｎｇ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＦＨＲ），２０１４  １４ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ，ｐａｇｅｓ  ２７９-２８４．ＩＥＥＥ，２０１４
【非特許文献４】Ｈ．Ｅｌ  Ａｂｅｄ  ａｎｄ  Ｖ．Ｍａｒｇｎｅｒ．Ｉｃｄａｒ  ２００９−ａｒａｂｉｃ  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ  ｃｏｍｐｅｔｉｔｉｏｎ．Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＪＤＡＲ），１４（１）：３−１３，２０１１
【非特許文献５】Ｆ．Ｍｅｎａｓｒｉ，Ｊ．Ｌｏｕｒａｄｏｕｒ，Ａ．Ｂｉａｎｎｅ−Ｂｅｒｎａｒｄ，ａｎｄ  Ｃ．Ｋｅｒ−ｍｏｒｖａｎｔ．Ｔｈｅ  Ａ２ｉＡ  Ｆｒｅｎｃｈ  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｙｓｔｅｍ  ａｔ  ｔｈｅ  Ｒｉｍｅｓ−ＩＣＤＡＲ２０１１  ｃｏｍｐｅｔｉｔｉｏｎ．Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＳＰＩＥ，ｖｏｌｕｍｅ  ８２９７，２０１２
【非特許文献６】Ｆ．Ｓｔａｈｌｂｅｒｇ  ａｎｄ  Ｓ．Ｖｏｇｅｌ．Ｔｈｅ  ｑｃｒｉ  ｒｅｃｏｇｎｉｔｉｏｎ  ｓｙｓｔｅｍ  ｆｏｒ  ｈａｎｄｗｒｉｔｔｅｎ  ａｒａｂｉｃ．Ｉｎ  Ｉｍａｇｅ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｐｒｏｃｅｓｓｉｎｇ  ＩＣＩＡＰ  ２０１５，ｐａｇｅｓ  ２７６-２８６．Ｓｐｒｉｎｇｅｒ，２０１５
【非特許文献７】Ａｌｍａｚａｎ  ｅｔ  ａｌ．［Ｊ．Ａｌｍａｚａｎ，Ａ．Ｇｏｒｄｏ，Ａ．Ｆｏｒｎｅｓ，ａｎｄ  Ｅ．Ｖａｌｖｅｎｙ．Ｗｏｒｄ  ｓｐｏｔｔｉｎｇ  ａｎｄ  ｒｅｃｏｇｎｉｔｉｏｎ  ｗｉｔｈ  ｅｍｂｅｄｄｅｄ  ａｔｔｒｉｂｕｔｅｓ．ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ＆  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，（１２）：２５５２−２５６６，２０１４］
【非特許文献８】Ｊａｄｅｒｂｅｒｇ  ｅｔ  ａｌ．［Ｍ．Ｊａｄｅｒｂｅｒｇ，Ｋ．Ｓｉｍｏｎｙａｎ，Ａ．Ｖｅｄａｌｄｉ，ａｎｄ  Ａ．Ｚｉｓｓｅｒｍａｎ．  Ｓｙｎｔｈｅｔｉｃ  ｄａｔａ  ａｎｄ  ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｎａｔｕｒａｌ  ｓｃｅｎｅ  ｔｅｘｔ  ｒｅｃｏｇｎｉｔｉｏｎ．ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１４０６．２２２７，２０１４］
【非特許文献９】Ｓｈｉ  ｅｔ  ａｌ．，ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１５０７．０５７１７
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識する方法が提供される。方法は、ニューラルネットワークを画像に適用することを含む。ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える。方法は、隠れ層のうちの少なくとも１つの層の出力にニューラルネットワークブランチを適用することをさらに含む。ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する。方法は、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することをさらに含む。
【００１０】
本発明のいくつかの実施形態によれば、ニューラルネットワークブランチは、複数の出力値を生成する少なくとも１つのリカレント層を備える。本発明のいくつかの実施形態によれば、少なくとも１つのリカレントニューラル層は、長・短期記憶（ＬＳＴＭ）層である。本発明のいくつかの実施形態によれば、ＬＳＴＭ層は、双方向層である。
【００１１】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識する方法が提供される。方法は、ニューラルネットワークを画像に適用することを含む。ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える。方法は、２つの最も可能性のある認識に対してニューラルネットワークによって生成された出力確率を取得し、２つの確率間の比または差と相関する信頼スコアを割り当てることによって、信頼スコアを計算することをさらに含む。
【００１２】
本発明のいくつかの実施形態によれば、方法は、複数の出力値またはそれらの射影値を合計または平均し、それによって、推定誤差レベルを提供することを含む。
【００１３】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、画像内の異なるウィンドウへの畳み込みサブネットワークの適用に各々が対応する、特徴ベクトルの集合を生成する畳み込みニューラルサブネットワークを備える。
【００１４】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、畳み込みニューラルサブネットワークから特徴ベクトルの集合を受け取るリカレントニューラルサブネットワークを備え、隠れ層のうちの少なくとも１つの層の出力は、リカレントニューラルサブネットワークのうちの少なくとも１つの層の出力である。本発明のいくつかの実施形態によれば、リカレントニューラルサブネットワークは、ＬＳＴＭ層を備える。本発明のいくつかの実施形態によれば、ＬＳＴＭ層のうちの少なくとも１つは、双方向層である。
【００１５】
本発明のいくつかの実施形態によれば、リカレントニューラルサブネットワークは、一連のベクトルを生成し、方法は、一連のベクトルの各ベクトルの次元を文字体系の長さに対応する所定の次元に射影して、文字体系上の一連の確率分布を提供することを含み、各確率分布は、画像内の一領域に対応する。
【００１６】
本発明のいくつかの実施形態によれば、ニューラルネットワークは、一連の確率分布を受け取り、推定を生成するコネクショニスト時系列分類（ＣＴＣ：Ｃｏｎｎｅｃｔｉｏｎｉｓｔ  ｔｅｍｐｏｒａｌ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ）層を備える。
【００１７】
本発明のいくつかの実施形態によれば、方法は、ニューラルネットワークの適用前に、画像の高さを所定の高さに変換することを含む。
【００１８】
本発明のいくつかの実施形態によれば、画像は、手書き記号の画像である。
【００１９】
本発明のいくつかの実施形態によれば、画像は、機械印刷された記号の画像である。
【００２０】
本発明のいくつかの実施形態によれば、画像は、手書き記号を含む少なくとも１つの領域と、機械印刷された記号を含む少なくとも１つの領域と、を含む。
【００２１】
本発明のいくつかの実施形態によれば、画像は、銀行小切手の画像である。
【００２２】
本発明のいくつかの実施形態によれば、銀行小切手は、複数の銀行小切手項目欄を含み、方法は、銀行小切手項目欄のうちの少なくとも２つに対して別々に繰り返される。
【００２３】
本発明のいくつかの実施形態の一態様によれば、プログラム命令が記憶されたコンピュータ可読媒体を備え、命令は、コンピュータによって読み取られると、コンピュータに入力画像を受け取らせ、上記で概説したようにならびに任意選択的に、および好ましくは以下にさらに詳述するように、方法を実行させる、コンピュータソフトウェア製品が提供される。
【００２４】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識するためのシステムが提供される。システムは、対象物を撮像してその画像を提供するための撮像システムを備える。システムはまた、画像を受け取ることと、ニューラルネットワークを画像に適用することであって、ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、ニューラルネットワークブランチを隠れ層のうちの少なくとも１つの層の出力に適用することであって、ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成された画像プロセッサを備える。
【００２５】
本発明のいくつかの実施形態の一態様によれば、画像コンテンツを認識するためのシステムが提供される。システムは、通信ネットワークを介して画像を受け取るためのネットワークインタフェースを備える。システムはまた、ニューラルネットワークを画像に適用することであって、ニューラルネットワークは、画像を受け取るための入力層と、画像を処理するための複数の隠れ層と、隠れ層の出力に基づく推定画像コンテンツに関する出力を生成するための出力層と、を備える、適用することと、ニューラルネットワークブランチを隠れ層のうちの少なくとも１つの層の出力に適用することであって、ニューラルネットワークブランチは、ニューラルネットワークから独立しており、推定の推定誤差レベルに関する出力を生成するための出力層を有する、適用することと、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力を生成することと、を行うように構成された画像プロセッサを備える。
【００２６】
特に定義しない限り、本明細書で使用する全ての技術および／または科学用語は、本発明が属する技術分野の当業者により通常理解されるものと同じ意味を有する。本明細書に記載のものと同様のまたは等価な方法および材料を、本発明の実施形態の実施または試験に使用することができるが、例示的な方法および／または材料を下記に記載する。矛盾する場合、定義を含む特許明細書が優先する。加えて、材料、方法、および実施例は単なる例示であり、必ずしも限定を意図するものではない。
【００２７】
本発明の実施形態の方法および／またはシステムの実施には、選択されたタスクを手動で、自動で、またはそれらの組み合わせで実行または完了することを含むことができる。さらに、本発明の方法および／またはシステムの実施形態の実際の装置および装備によれば、いくつかの選択されたタスクは、ハードウェアによって、ソフトウェアによって、もしくはファームウェアによって、またはオペレーティングシステムを使用するそれらの組み合わせによって、実施することができる。
【００２８】
例えば、本発明の実施形態に従う選択されたタスクを実行するためのハードウェアは、チップまたは回路として実施することができる。ソフトウェアとして、本発明の実施形態に従う選択されたタスクは、任意の好適なオペレーティングシステムを使用するコンピュータによって実行される複数のソフトウェア命令として実施することができる。本発明の一例示的実施形態では、本明細書に記載されるような方法および／またはシステムの例示的実施形態に従う１つ以上のタスクは、複数の命令を実行するためのコンピューティングプラットフォームなどのデータプロセッサによって実行される。任意選択的に、データプロセッサは、命令および／もしくはデータを記憶するための揮発性メモリ、ならびに／または命令および／もしくはデータを記憶するための不揮発性記憶装置、例えば磁気ハードディスクおよび／もしくは取り外し可能な媒体などを含む。任意選択的に、ネットワーク接続も提供される。ディスプレイおよび／またはキーボードもしくはマウスなどのユーザ入力装置も任意選択的に設けられる。
【００２９】
本発明のいくつかの実施形態について、その例示のみを目的として添付の図面を参照して本明細書に記載する。以下、特に図面を詳細に参照して示す細部は、例示を目的とし、また本発明の実施形態の詳細な説明を目的とすることを強調する。同様に、図面と共に説明を見ることで、本発明の実施形態をどのように実践し得るかが当業者には明らかとなる。
【図面の簡単な説明】
【００３０】
図面中：
【図１】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適な方法のフローチャート図である。
【図２】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適なニューラルネットワークおよびニューラルネットワークブランチの代表的な例の概略図である。
【図３】本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適なコンピュータシステムの概略図である。
【図４】本発明のいくつかの実施形態に従って実行された実験に使用された３つのデータセットからの例示的画像を示す画像である。
【図５】本発明のいくつかの実施形態に従って実施された実験に使用された誤差予測ブランチのトレーニングプロセスの概略図である。
【図６】本発明のいくつかの実施形態に従って実施された実験で得られたＲＯＣ曲線を示す。
【図７Ａ】イスラエル、ヤブネ、Ｏｒｂｏｇｒａｐｈ  Ｌｔｄ．が所有し、同社から得られた試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図７Ｂ】イスラエル、ヤブネ、Ｏｒｂｏｇｒａｐｈ  Ｌｔｄ．が所有し、同社から得られた試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図８Ａ】ＩＡＭと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図８Ｂ】ＲＩＭＥＳと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図８Ｃ】ＳＶＴと称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図８Ｄ】ＩＣ１３と称された試験セットを使用して、本発明のいくつかの実施形態に従って実施された実験で生成されたＲＯＣ曲線を示す。
【図９】Ｏｒｂｏｇｒａｐｈ  Ｌｔｄ．が所有し、同社から得られ、本発明のいくつかの実施形態に従って実施された実験に使用された、試験セットからの非不合格画像例を示す。
【発明を実施するための形態】
【００３１】
本発明は、そのいくつかの実施形態では、画像処理に関し、特に、排他的ではないが、画像コンテンツ認識に関する。
【００３２】
本発明の少なくとも１つの実施形態を詳細に説明する前に、本発明は、必ずしもその用途が、以下の記載に示す、および／または図面および／または実施例で例示する、構成の詳細および要素の配置および／または方法に限定されるものではないことを理解するべきである。本発明は、他の実施形態が可能であり、また、さまざまな手段で実施または実行することが可能である。
【００３３】
図１は、本発明のさまざまな例示的実施形態に従う、画像コンテンツを認識するための好適な方法のフローチャート図である。別様に定義されない限り、以下に説明される動作は、多くの組み合わせまたは実行順序で、同時にまたは順次に実行され得ることが理解される。特に、フローチャート図の順序付けは限定的と考えられるべきではない。例えば、以下の説明またはフローチャート図に特定の順序で現れる２つ以上の動作を、異なる順序（例えば、逆の順序）で、または実質的に同時に実行することができる。さらに、以下に説明するいくつかの動作は任意選択的であり、実行されなくてもよい。
【００３４】
本明細書に記載の動作のうちの少なくとも一部は、データを受け取り、以下に説明される動作を実行するように構成されたデータ処理システム、例えば専用回路または汎用コンピュータによって実施することができる。動作のうちの少なくとも一部は、遠隔場所にあるクラウドコンピューティング施設によって実施することができる。
【００３５】
本実施形態の方法を実施するコンピュータプログラムは、一般に、通信ネットワーク、または、これらに限定されないが、フロッピーディスク、ＣＤ−ＲＯＭ、フラッシュメモリ装置、およびポータブルハードドライブなどの配布媒体によって、ユーザに配布することができる。通信ネットワークまたは配布媒体から、コンピュータプログラムをハードディスクまたは同様の中間記憶媒体にコピーすることができる。コンピュータプログラムは、コード命令をそれらの配布媒体またはそれらの中間記憶媒体からコンピュータの実行メモリにロードして、コンピュータを本発明の方法に従って動作するように構成することによって、実行することができる。動作中、コンピュータは、中間計算によって得られたデータ構造または値をメモリに記憶し、その後の動作で使用するために、これらのデータ構造または値を引き出すことができる。これらの全ての動作は、コンピュータシステムの当業者には周知である。
【００３６】
本明細書で説明される処理動作は、ＤＳＰ、マイクロコントローラ、ＦＰＧＡ、ＡＳＩＣなどのプロセッサ回路、または任意の他の慣用のおよび／もしくは専用のコンピューティングシステムによって実行することができる。
【００３７】
本実施形態の方法は、多くの形態で具現化することができる。例えば、方法動作を実行するためのコンピュータなどの、有形媒体上で具現化することができる。方法動作を実行するためのコンピュータ可読命令を含むコンピュータ可読媒体上で具現化することができる。また、有形媒体上のコンピュータプログラムを実行するように、またはコンピュータ可読媒体上の命令を実行するように構成されたデジタルコンピュータ機能を有する電子デバイスで具現化することもできる。
【００３８】
ここで図１を参照すると、方法は、１０で開始し、任意選択で、および好ましくは、画像が受け取られる１１に続く。画像は、典型的には、限定はされないが、文字、アクセント記号、数字および／または句読点記号を含む、文字体系に属する記号を含む。本発明のいくつかの実施形態では、画像は手書き記号を含み、その場合、文字体系は手書き記号の集合である。本発明のいくつかの実施形態では、画像は印刷された記号を含み、その場合、文字体系は印刷された記号の集合である。また、手書き記号および印刷された記号の両方を含む画像も考えられる。そのような画像の代表的な例は、そのうちのいくつかは手書き記号（例えば、数字および単語で表された額）を含み得、そのうちのいくつかは印刷された記号（例えば、口座番号、口座名義など）を含み得る、複数の項目欄を有する銀行小切手の画像である。
【００３９】
画像は、好ましくは、デジタル画像であり、画像をコンピュータ可読形式で記憶する記憶装置などの外部ソースから受け取り、かつ／または、限定はされないが、インターネットなどの通信ネットワークを介して方法動作を実行するデータプロセッサに送信することができる。本発明のいくつかの実施形態では、方法は、撮像システム、例えばスキャナまたはデジタルカメラを使用して画像を獲得することを含む。
【００４０】
方法は、任意選択的に、および好ましくは、入力画像がサイズ変更される１２に続く。この動作は、画像が外部ソースから入力として受け取られたときに特に有用である。サイズ変更は、当該技術分野で周知のように、画像の軸のうちのいずれかに沿って、所定の幅、所定の長さおよび／または所定の対角線に伸縮することを含むことができる。各軸に沿ったサイズ変更は独立とすることができる。例えば、方法は、幅を変更することなく、画像の高さのみを所定の高さに変換すること、またはその逆を行うことができ、あるいは異なる変換シナリオに従って高さおよび幅の両方を変換することができる。
【００４１】
１４において、ニューラルネットワークが画像に適用される。本実施形態に好適なニューラルネットワーク２０の代表的な例を図２のＡおよびＢに示す。ニューラルネットワーク２０は、典型的には、画像２２を受け取るための入力層２４と、画像を処理するための複数の隠れ層２６と、隠れ層２６の出力に基づく推定画像コンテンツに関する出力を生成するための出力層２８とを備える。ニューラルネットワークは、任意選択的に、および好ましくは、ニューラルネットワークが適用されるように設計された画像にそのサブセットが含まれる特定の文字体系に従って画像コンテンツを推定するように事前トレーニングされている。
【００４２】
本発明のいくつかの実施形態では、ニューラルネットワーク２０の隠れ層２６は、画像２２内の異なるウィンドウへの畳み込みサブネットワーク３０の適用に各々が対応する特徴ベクトルの集合３２を生成する畳み込みニューラルサブネットワーク３０（図２のＢを参照）を備える。特徴ベクトルの集合３２は、したがって、画像の一方の側から他方の側へ画像上を移動するウィンドウを表すことができる。任意選択的に、ただし必ずしもそうではないが、畳み込みニューラルサブネットワーク３０は、完全畳み込みニューラルサブネットワークである。
【００４３】
単一の値をネットワークまたはサブネットワークの各ニューロンに関連付ける完全結合ネットワークまたはサブネットワークとは異なり、畳み込みニューラルネットワークまたはサブネットワークは、値の配列を各ニューロンに関連付けることによって動作する。概念的に、この配列は、入力画像の小パッチと考えることができる。後続の層のためのニューロン値の変換は、乗算から畳み込みへと一般化される。これは、結合強度が、スカラー値ではなく畳み込みカーネルであることを意味する。これらのより複雑な変換には、より複雑なニューラルネットワーク行列が関与する。したがって、完全結合ネットワークまたはサブネットワークにおける行列は数値の配列からなるが、畳み込みニューラルネットワークまたはサブネットワークにおいては、各行列エントリはパッチをなすピクセルである。
【００４４】
ニューラルネットワーク２０は、任意選択的に、および好ましくは、畳み込みニューラルサブネットワーク３０から特徴ベクトルの集合３２を受け取るリカレントニューラルサブネットワーク３４を備えることができる。リカレントニューラルサブネットワーク３４は、任意選択的に、および好ましくは、１つ以上の長・短期記憶（ＬＳＴＭ）層、より好ましくは１つ以上の双方向ＬＳＴＭ層を使用する。
【００４５】
リカレントニューラルネットワークまたはサブネットワークは、入力としてさまざまな長さの数列（sequence）を受け入れるように設計されている。同じ重みの集合が、各数列要素の処理に使用される。そのようなサブネットワークは、層状に構築され、層の全てのニューロンは、前の層からの全てのニューロンの活性化を入力として受け入れ、さらに、並び（sequence）において前ステップで誘発された活性化との横方向の結合が存在する。双方向ニューラルネットワークまたはサブネットワークには、順方向に進む層と、逆方向に進む層と、が使用される。これらの２つのタイプの層は、並列に存在し、両方の活性化は、連結され、次の層への入力として働く。
【００４６】
長・短期記憶（ＬＳＴＭ）層には、単純な活性化の代わりにメモリセルが使用される。メモリセルへのアクセスは、ゲーティングと呼ばれる乗法係数によって制御される。各入力状態において、新しい入力のメモリセルに書き込まれるべき部分、メモリセルの現在の内容の忘れられるべき部分、およびコンテンツの出力されるべき部分、を決定するために、ゲートが使用される。例えば、出力ゲートが閉じられている場合（値０）、現在のニューロンに結合されているニューロンは、値０を受け取る。出力ゲートがゲート値０．５で部分的に開いている場合、ニューロンは、記憶されたメモリの現在値の半分を出力することができる。
【００４７】
リカレントニューラルサブネットワーク３４は、典型的には、ベクトルの列（sequence）３６を生成する。これらの実施形態では、方法は、任意選択的に、および好ましくは、列３６の各ベクトルの次元を、文字体系の長さに対応する所定の次元に射影し、したがって、各確率分布が画像内の一領域に対応する、文字体系上の一連の確率分布を提供する。本発明のいくつかの実施形態では、出力層２８は、一連の確率分布を受け取り、文字体系に従って画像コンテンツの推定を生成するコネクショニスト時系列分類（ＣＴＣ）層［Ｇｒａｖｅｓ  ｅｔ  ａｌ．，Ｃｏｎｎｅｃｔｉｏｎｉｓｔ  ｔｅｍｐｏｒａｌ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ：Ｌａｂｅｌｌｉｎｇ  ｕｎｓｅｇｍｅｎｔｅｄ  ｓｅｑｕｅｎｃｅ  ｄａｔａ  ｗｉｔｈ  ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ．Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２３ｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ，ＩＣＭＬ［１｝’｛２］０６、３６９〜３７６ページ、Ｎｅｗ  Ｙｏｒｋ，ＮＹ，ＵＳＡ，２００６．ＡＣＭ］を備える。
【００４８】
ＣＴＣ層は、ネットワークをトレーニングするため、およびネットワークを使用して画像のコンテンツを認識するための両方に使用することができる。前者では、損失関数が使用される。後者では、ＣＴＣデコーディングスキームは、任意選択的に、および好ましくは、出力を得るために使用される。これは、最も高い確率のデコーディングを得るためのグリーディデコーディングを使用して、またはｎ個の最も高い確率のデコーディング値を得るためのビームサーチスキームを使用して行うことができる。
【００４９】
方法は、任意選択的に、および好ましくは、１４に進み、そこで、ニューラルネットワークブランチ３８が隠れ層２６のうちの少なくとも１つの層の出力に適用される。ネットワークブランチ３８は、隠れ層２６のうちのいずれかの出力に適用される。ブランチ３８の１つ以上のリカレントニューラル層は、例えばＬＳＴＭ層、より好ましくは双方向ＬＳＴＭ層であり得る。典型的には、ブランチ３８は、リカレントニューラルサブネットワーク３４内の層のうちの１つの層の出力、例えばそのような層が使用される場合にはＬＳＴＭ層のうちの１つの層の出力に適用される。好ましくは、ただし必ずしもそうではないが、ネットワークブランチ３８は、リカレントニューラルサブネットワーク３４内の最初の層の出力、すなわち畳み込みニューラルサブネットワーク３０によって生成された特徴ベクトルの集合３２によって供給される層の出力に適用される。
【００５０】
ニューラルネットワークブランチ３８は、任意選択的に、および好ましくは、ニューラルネットワーク２０から独立している。ブランチ３８は、層２８によって生成された推定の推定誤差レベルに関する出力を生成する出力層４０を有する。任意選択的に、および好ましくは、ニューラルネットワークブランチ３８は、複数の出力値を生成する１つ以上のリカレント層４２を備える。方法は、任意選択的に、および好ましくは、出力値を合計して、推定誤差レベルを提供する。典型的には、リカレント層４２によって提供される出力値は、ベクトル値である。これらの実施形態では、リカレント層４２によって提供されるベクトル値の各々は、スカラーに射影され、それによって、任意選択的に、および好ましくは、その後に合計または平均することができる複数のスカラーを提供し、そのため、出力層４０によって生成される誤差レベルもまたスカラーである。
【００５１】
方法は、１５に進み、そこで、推定画像コンテンツおよび推定誤差レベルを示す、組み合わされた出力が生成される。組み合わされた出力は、表示装置上に表示すること、印刷媒体上に印刷すること、および／または通信ネットワークを介してリモートコンピュータに送信することができる。
【００５２】
方法は、１６で終了する。
【００５３】
図３は、典型的には、入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）回路１３４と、ハードウェア中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１３６（例えば、ハードウェアマイクロプロセッサ）と、典型的には揮発性メモリおよび不揮発性メモリの両方を含むハードウェアメモリ１３８とを備える、ハードウェアプロセッサ１３２を有するクライアントコンピュータ１３０の概略図である。ＣＰＵ１３６は、Ｉ／Ｏ回路１３４およびメモリ１３８と通信する。クライアントコンピュータ１３０は、好ましくは、プロセッサ１３２と通信するグラフィカルユーザインタフェース（ＧＵＩ：ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）１４２を備える。Ｉ／Ｏ回路１３４は、好ましくは、適切に構造化された形態の情報をＧＵＩ１４２と交換する。ハードウェアプロセッサ１５２、Ｉ／Ｏ回路１５４、ハードウェアＣＰＵ１５６、ハードウェアメモリ１５８を同様に含むことができるサーバコンピュータ１５０も示されている。クライアントコンピュータ１３０およびサーバコンピュータ１５０のＩ／Ｏ回路１３４および１５４は、有線または無線通信を介して互いに情報を通信するトランシーバとして動作することができる。例えば、クライアントコンピュータ１３０およびサーバコンピュータ１５０は、ローカルエリアネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイドエリアネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）またはインターネットなどのネットワーク１４０を介して通信することができる。サーバコンピュータ１５０は、いくつかの実施形態では、ネットワーク１４０を介してクライアントコンピュータ１３０と通信するクラウドコンピューティング施設のクラウドコンピューティングリソースの一部とすることができる。クライアントコンピュータ１３０に関連付けられたカメラまたはスキャナなどの撮像装置１４６もさらに示されている。
【００５４】
ＧＵＩ１４２とプロセッサ１３２とは、同じハウジング内で一緒に統合されてもよいし、または互いに通信する別個のユニットであってもよい。同様に、撮像装置１４６とプロセッサ１３２とは、同じハウジング内で一緒に統合されてもよいし、互いに通信する別個のユニットであってもよい。
【００５５】
ＧＵＩ１４２は、任意選択的に、および好ましくは、ＧＵＩ１４２がプロセッサ１３２と通信することを可能とする専用のＣＰＵおよびＩ／Ｏ回路（図示せず）を含むシステムの一部であってもよい。プロセッサ１３２は、ＣＰＵ１３６によって生成されたグラフィカルおよびテキスト出力をＧＵＩ１４２に発行する。プロセッサ１３２はまた、ユーザ入力に応答してＧＵＩ１４２によって生成された制御コマンドに関する信号をＧＵＩ１４２から受け取る。ＧＵＩ１４２は、これらに限定されないが、キーボードおよびディスプレイ、タッチスクリーンなど、当該技術分野で周知の任意のタイプのものとすることができる。好ましい実施形態では、ＧＵＩ１４２は、スマートフォン、タブレット、スマートウォッチなどのモバイルデバイスのＧＵＩである。ＧＵＩ１４２がモバイルデバイスのＧＵＩであるとき、プロセッサ１３２、モバイルデバイスのＣＰＵ回路は、プロセッサ１３２として機能することができ、本明細書に記載のコード命令を実行することができる。
【００５６】
クライアントコンピュータ１３０およびサーバコンピュータ１５０はさらに、１つ以上のコンピュータ可読記憶媒体１４４、１６４をそれぞれ備えることができる。媒体１４４および１６４は、好ましくは、本明細書でさらに詳述されるようなコンピュータコード命令を記憶する非一時的な記憶媒体であり、プロセッサ１３２および１５２は、これらのコード命令を実行する。コード命令は、それぞれのコード命令をそれぞれのプロセッサ１３２および１５２のそれぞれの実行メモリ１３８および１５８にロードすることによって実行することができる。
【００５７】
各記憶媒体１４４および１６４は、それぞれのプロセッサによって読み取られると、プロセッサに入力画像を受け取らせ、本明細書に記載されたように方法を実行させるプログラム命令を記憶することができる。本発明のいくつかの実施形態では、入力画像は、撮像装置１３０によって生成され、Ｉ／Ｏ回路１３４によってプロセッサ１３２に送信される。プロセッサ１３２は、上記でさらに詳述したように画像のコンテンツおよび推定の誤差を推定し、組み合わされた出力を、例えばＧＵＩ１４２上に表示する。代替的に、プロセッサ１３２は、ネットワーク１４０を介して、画像をサーバコンピュータ１５０に送信することができる。コンピュータ１５０は、画像を受け取り、上記でさらに詳述したように画像のコンテンツおよび推定の誤差を推定し、組み合わされた出力を、ネットワーク１４０を介してコンピュータ１３０に返送する。コンピュータ１３０は、組み合わされた出力を受け取り、ＧＵＩ１４２上に表示する。
【００５８】
本明細書で使用する「約」は、±１０％を指す。
【００５９】
「例示的」という用語は、本明細書では、「例、事例、または例示として機能する」ことを意味するために使用される。「例示的」として記載された任意の実施形態は、必ずしも、他の実施形態よりも好ましいまたは有利であると解釈されるものではなく、かつ／または他の実施形態からの特徴の組み込みを排除するものでもない。
【００６０】
「任意選択的に」という用語は、本明細書では、「いくつかの実施形態で提供され、他の実施形態では提供されない」ことを意味するために使用される。本発明の任意の特定の実施形態は、複数の「任意選択的な」特徴を、そのような特徴が競合しない限り、含むことができる。
【００６１】
用語「含む（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｖｉｎｇ）」およびその活用形は、「限定されるものではないが、含む（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」を意味する。
【００６２】
「〜からなる」という用語は、「含みかつ限定される」ことを意味する。
【００６３】
「から実質的になる」という用語は、組成物、方法または構造が追加の成分、工程および／または部分を含み得ることを意味する。但しこれは、追加の成分、工程および／または部分が、請求項に記載の組成物、方法または構造の基本的かつ新規な特性を実質的に変更しない場合に限られる。
【００６４】
本明細書において、単数形を表す「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかに他を示さない限り、複数をも対象とする。例えば、「化合物（ａ  ｃｏｍｐｏｕｎｄ）」または「少なくとも１種の化合物」には、複数の化合物が含まれ、それらの混合物をも含み得る。
【００６５】
本願全体を通して、本発明のさまざまな実施形態は、範囲形式にて示され得る。範囲形式での記載は、単に利便性および簡潔さのためであり、本発明の範囲の柔軟性を欠く制限ではないことを理解されたい。したがって、範囲の記載は、取りうる全ての部分範囲、およびその範囲内の個々の数値を具体的に開示していると考えるべきである。例えば、１〜６といった範囲の記載は、１〜３、１〜４、１〜５、２〜４、２〜６、３〜６等の部分範囲のみならず、その範囲内の個々の数値、例えば１、２、３、４、５および６も具体的に開示するものとする。これは、範囲の大きさに関わらず適用される。
【００６６】
本明細書において数値範囲を示す場合、それは示された範囲内の任意の引用数（分数または整数）を含むことを意図する。第１の指示数と第２の指示数「との間の範囲」という表現と、第１の指示数「から」第２の指示数「までの範囲」という表現は、本明細書で代替可能に使用され、第１の指示数および第２の指示数と、それらの間の分数および整数の全部を含むことを意図する。
【００６７】
明確さのために別個の実施形態に関連して記載した本発明の所定の特徴はまた、１つの実施形態において、これら特徴を組み合わせて提供され得ることを理解されたい。逆に、簡潔さのために１つの実施形態に関連して記載した本発明の複数の特徴はまた、別々に、または任意の好適な部分的な組み合わせ、または適当な他の記載された実施形態に対しても提供され得る。さまざまな実施形態に関連して記載される所定の特徴は、その要素なしでは特定の実施形態が動作不能でない限り、その実施形態の必須要件であると捉えてはならない。
【００６８】
上述したように、本明細書に記載され、特許請求の範囲に請求される本発明のさまざまな実施形態および態様は、以下の実施例によって実験的に支持されるものである。
【実施例】
【００６９】
ここで、上記の記載と共に本発明を限定することなく説明する以下の実施例に参照する。
【００７０】
本実施例は、手書きおよび印刷された銀行小切手に適用された光学式文字認識（ＯＣＲ）プロセスを説明した。適用されたプロセスは、本発明のいくつかの実施形態に従う方法を含み、ニューラルネットワークを画像に適用して、隠れ層の出力に基づいて画像コンテンツを推定し、ニューラルネットワークブランチを隠れ層のうちの１つの層の出力に適用して、画像コンテンツ推定の誤差レベルを推定した。
【００７１】
本実施例では、銀行小切手からの３つの異なる項目欄の実世界の画像を含む３つの異なるデータセットを使用した。データセットを、本明細書では、口座、ＣＡＲ、およびＬＡＲと名付け、ここで、口座は、口座番号の数字項目欄に対応し、ＣＡＲは、数字として書かれた小切手のドル額に対応し、ＬＡＲは、単語で書かれた小切手のドル額に対応する。図４のＡ〜Ｃは、ＬＡＲデータセット（図４のＡ、“ｓｅｖｅｎｔｙ  ｆｉｖｅ  ａｎｄ  ００”を示す）、ＣＡＲデータセット（図４のＢ、“４８６．３７”を示す）、および口座データセット（図４のＣ、“１６１０２０４１７”を示す）からの例示的な画像を示す。
【００７２】
各画像について、データセットは、その内容の基準トランスクリプションを含んでいた。
【００７３】
ネットワークアーキテクチャ
ネットワークアーキテクチャは、以下のとおりであった。ネットワークの認識部には、エンドツーエンドのトレーニング可能なネットワークを使用した。ネットワークは、トレーニングのために、画像およびそのトランスクリプションのみを取り入れた。本実施例では、画像の高さは、６４画素に正規化され、画像の幅およびトランスクリプションの長さは、任意の長さであった。アライメント情報は使用せずに、ネットワークをトレーニングした。
【００７４】
入力画像は、まず、畳み込み層、バッチ正規化層、および最大プーリング層からなるＶＧＧスタイルの畳み込みニューラルネットワークを通過する。本実施例では、活性化関数としてＲｅＬＵを使用したが、他の活性化関数も考えられる。本実施例では、プーリング層は、画像の高さを６４から１まで減少させ、また、画像の幅を１／８に減少させた。これで、寸法２×２を有する３つの最大プーリング層と、寸法２×１を有する３つの最大プーリング層と、が提供された。
【００７５】
各々２つのプーリング動作の間に３つの畳み込み層を使用した。本実施例では、畳み込み層の形状は、３×３およびパディング１であった。各畳み込み層の後に、バッチ正規化層および活性化関数を使用した。
【００７６】
畳み込み段階の出力は、一連の特徴ベクトルであり、各特徴ベクトルは、オリジナル画像のウィンドウに畳み込みネットワークを適用した結果であった。特徴ベクトルは、したがって、左から右へスライドするウィンドウで画像を見ることに対応していた。
【００７７】
得られた一連の特徴ベクトルを、本実施例では２つの双方向ＬＳＴＭ層を含むリカレントサブネットワークに入力として供給した。両方の双方向ＬＳＴＭ層は、１０２４単位を有する２つのＬＳＴＭ層の連結体として実現した。畳み込みおよびＬＳＴＭ層の後、長さ２０４８の可変長ベクトル列を得た。次いで、次元２０４８から所望の文字体系の長さへ線形射影を適用して、各々がオリジナル画像中の矩形受容項目欄に対応する、文字体系上の一連の確率分布を得た。
【００７８】
コネクショニスト時系列分類（ＣＴＣ）層を得られた数列に適用することによって、最終的なトランスクリプションを得た。この層は、前の層から来る確率ベクトルを与えられ、出力数例に対する確率を定義した。次いで、出力数列を、確率ベクトルに与えられた最も高い確率を有する数列であると定義した。トレーニングのために、損失関数を、ウィンドウごとの確率分布を与えられた正しいトランスクリプションの負の対数尤度として定義した。
【００７９】
誤差を予測する
本発明者らは、ＣＴＣトランスクリプション確率が画像の間違いラベル付けの予測因子として不十分であることを見出した。したがって、本発明者らは、ネットワークに誤差予測ブランチを付けた。誤差予測ブランチの入力は、ネットワークの中間からの層（隠れ層）であり、誤差予測ブランチの出力は、単一の数であり、それを、回帰タスクとしてのトランスクリプションにおける誤差の数の予測として（編集距離）、または、分類タスクとしての、トランスクリプションが正しいという対数確率として使用した。
【００８０】
図５は、ネットワークの誤差予測ブランチのトレーニングプロセスを示す。トレーニングには、ソース画像と、正しいトランスクリプションのみと、を使用した。トレーニングのための基底真実を、画像を数列予測ネットワークに通し、ネットワーク出力と基底真実との間に認められた誤差を計算し、この差に基づいて誤差予測ブランチをトレーニングすることにより計算した。
【００８１】
本実施例では、誤差予測ブランチは、最初の双方向ＬＳＴＭ層の出力を入力として取り入れた。長さ２０４８の各ベクトルを、より小さい次元のベクトル（本実施例では、長さ１２８のベクトル）に射影した。次いで、別の双方向ＬＳＴＭ層（本実施例では、１２８単位を有する）を、射影されたベクトルに適用した。ＬＳＴＭ層の各出力をスカラーに射影し、これらのスカラーを合計してスカラー出力を提供した。代替的に、（それらを合計するだけではなく）これらのスカラーを平均することによって、スカラー出力を提供して、例えば、結果に及ぼす画像幅の影響を低減することができる。このスカラー出力を、誤差予測ブランチの出力として定義し、分類プロセスの対数確率として使用した。
【００８２】
ＬＳＴＭから来る射影スカラーを合計または平均することにより、誤差検出の局所性がもたらされる。これは、方法が、検出されたラベルが基底真実と同じであるかどうかを予測する分類と、方法が、ネットワークが起こす誤差の数を予測する回帰プロセスとの両方について有利であった。分類では、ネットワークが２つの異なる位置で大きな値を出力する場合、最終的な和が大きくなり、これは、誤差の確率がより大きいという所見と一致する。回帰では、ネットワークが複数の誤差を起こす場合、誤差検出プロセスは、複数の位置において誤差を検出することが期待され、より多くの位置が高い値を取得するほど、誤差予測値はより高くなるはずである。
【００８３】
数列予測ネットワークおよび誤差予測ブランチのトレーニングは、同じデータセットで行わなかった。その理由は、深層ニューラルネットワークモデルは、典型的に、トレーニングセット上で過剰適合（ｏｖｅｒｆｉｔｔｉｎｇ）するからである。過剰適合が発生すると、損失関数および認識されるラベル付け誤差は、０になるかまたはそれに非常に近くなる。誤差予測ブランチをネットワークと一緒にトレーニングしようとすると、トレーニングの結果は、誤差予測子が常にゼロを出力することとなる。このため、トレーニングは、トランスクリプションを提供するネットワークをトレーニングセットでトレーニングし、検証セットで評価し、誤差予測ブランチを検証セットでトレーニングし、試験セットで評価するという、２段階動作とした。
【００８４】
実験結果
システムを、３つのデータセット（ＣＡＲ、ＬＡＲ、口座）でトレーニングし、良好な精度が達成された。誤差は、編集距離全長を、正しいストリングの長さで除算したものとして測定した。結果を、以下の表１にまとめて示す。表１では、ＬＡＲの項目欄全体精度の結果は、トランスクリプションデータを後処理した後に測定した。ドル額およびセント額の精度の測定は別々に行った。
【００８５】
【表１】
2020534604.tif 000003
【００８６】
誤差予測のために、一式の６つのモデルをトレーニングし、それらの結果を比較した。モデルのうちの３つは、得られたストリングが正しいかどうかを予測するための２値分類であり、３つは、編集距離に対する損失を最小化しようとする回帰モデルであった。
【００８７】
３つのモデルは、以下のとおりであった：
【００８８】
１．ＬＳＴＭ合計−上述したように、ＬＳＴＭ、射影および合計。
【００８９】
２．ＬＳＴＭ最終状態−双方向ＬＳＴＭを実行し、その最終状態ベクトルをとり、それを射影してスカラーを得る。
【００９０】
３．ＬＳＴＭ最終状態ＭＬＰ−双方向ＬＳＴＭを実行し、その最終状態ベクトルをとり、１つの隠れ層を有する小さなニューラルネットワークモデルをそれに実行してスカラーを得る。
【００９１】
図６は、ＣＡＲデータセットにおける６つ全てのモデルについてのＲＯＣ曲線と基準ＣＴＣスコアとを示す。ＲＯＣ曲線は、読み間違い率と全システム読み取り率とのトレードオフを示す。例えば、読み間違い率０．２と読み取り率０．９の点は、特定の信頼閾値を選ぶことにより、システムは、有効データの１０％を不合格とし、誤差数を８０％低減することを示す。異なる信頼性確認方法の有効性を比較するために、曲線下面積（ＡＵＣ：ａｒｅａ  ｕｎｄｅｒ  ｃｕｒｖｅ）測定法が使用される。図６に示すように、ＣＴＣスコアは、誤差予測のための測定値としては非常に劣悪である。対照的に、本実施形態のＬＳＴＭ合計分類は、ＡＵＣが０．８７であり、他の全てのモデルよりも著しく良好である。
【００９２】
各方法について、いくつかのベンチマークを使用し、スキャンされたドル額の実世界のトリミング画像を含む、イスラエル、ヤブネ、Ｏｒｂｏｇｒａｐｈ  Ｌｔｄ．が所有するデータセットで、追加の実験を行った。
【００９３】
以下の実験では、２つの技術を使用して信頼基準を求めた。以下では「ＣＴＣ比率」と称する第１の技術では、ニューラルネットワークブランチ３８を使用することなく、確率比を信頼度として使用した。この技術では、入力画像が与えられ、ＯＣＲモデルが第１および第２の最も蓋然性のある読み取り値に割り当てる確率を得る。第１の読み取り値が第２の読み取り値よりもはるかに蓋然性が高い場合には、高い信頼スコアが割り当てられる。そうでなければ、サンプルは曖昧であり、そのため、その信頼スコアは低下される。以下では「誤差予測（ＥｒｒＰｒｅｄ）」と称する第２の技術では、誤差予測ブランチをネットワークに追加し、ＯＣＲモデルが、入力を与えられ、判断を誤るか、またはサンプルは不合格とされるべきかを直接予測する。誤差予測ブランチにより、ニューラルネットワークブランチ３８（図２のＡ）が設けられた。
【００９４】
ベンチマークは、以下を含む：ＩＣＤＡＲ  ２０１３（ＩＣ１３）［Ｋａｒａｔｚａｓ  ｅｔ  ａｌ．，Ｉｃｄａｒ  ２０１３  ｒｏｂｕｓｔ  ｒｅａｄｉｎｇ  ｃｏｍｐｅｔｉｔｉｏｎ，Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ（ＩＣＤＡＲ），２０１３  １２ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ、１４８４〜１４９３ページ．ＩＥＥＥ，２０１３］、Ｓｔｒｅｅｔ  Ｖｉｅｗ  Ｔｅｘｔ（ＳＶＴ）［Ｗａｎｇ  ｅｔ  ａｌ．，Ｅｎｄ−ｔｏ−ｅｎｄ  ｓｃｅｎｅ  ｔｅｘｔ  ｒｅｃｏｇｎｉｔｉｏｎ．Ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ（ＩＣＣＶ），２０１１  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ、１４５７〜１４６４ページ、ＩＥＥＥ，２０１１］、ＩＡＭ［Ｍａｒｔｉ  ｅｔ  ａｌ．，Ｔｈｅ  ｉａｍ−ｄａｔａｂａｓｅ：  ａｎ  Ｅｎｇｌｉｓｈ  ｓｅｎｔｅｎｃｅ  ｄａｔａｂａｓｅ  ｆｏｒ  ｏｆｆｌｉｎｅ  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｊｏｕｒｎａｌ  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ，５（１）：３９−４６，２００２］、およびＲＩＭＥＳ［Ｇｒｏｓｉｃｋｉ  ｅｔ  ａｌ．，Ｉｃｄａｒ  ２００９  ｈａｎｄｗｒｉｔｉｎｇ  ｒｅｃｏｇｎｉｔｉｏｎ  ｃｏｍｐｅｔｉｔｉｏｎ，Ｄｏｃｕｍｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ，２００９．ＩＣＤＡＲ  ’０９．１０ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ、１３９８〜１４０２ページ、ＩＥＥＥ，２００９］。
【００９５】
ＩＣ１３データセットにおいて、試験セットは、ラベル付けされた境界枠を有する２５１個のシーン画像を含む。試験セットを、３文字以上の英数字のみを含むように制限し、約９００個のトリミングされたテキスト画像の試験セットを得た。
【００９６】
ＳＶＴデータセットは、グーグルストリートビューから収集された２４９個の画像からなる。単語画像を、これらの画像からトリミングし、６４７個のサンプルの試験セットを得た。
【００９７】
ＩＡＭデータセットは、６５７人の書き手による、スキャンされた手書き英語テキストからなり、合計１１５，３２０個のラベル付けされた単語画像となった。句読点および短い単語をフィルタ除去した後、４０，５２６個のサンプルのトレーニングセットを得た。
【００９８】
ＲＩＭＥＳデータセットは、１３００人による、スキャンされた手書きフランス語のテキストからなり、合計で６７，０００個の単語となった。句読点のない十分に長い単語に限定すると、トレーニングセットサイズは、３５，７２３個のサンプルとなった。
【００９９】
オルボグラフデータセットは、ドル額を示す項目欄を自動的にスキャンおよびトリミングした、１００万個のラベル付けされた画像からなる。このデータセットは、実世界の印刷文書からドル額がスキャンされたテキストサンプルを収集し、それらを手作業でラベル付けすることにより作成された。これは、フィルタリングされていない実世界データであるので、一定量の不合格サンプルを有し、それを使用して、本実施形態の方法をトレーニングした。図７Ａおよび図７Ｂは、オルボグラフデータセットの試験セットにおけるＲＯＣ曲線を示し、図７Ａは、試験セットの全ての画像についてのＲＯＣ曲線を示し、図７Ｂは、試験セットの非不合格画像についてのＲＯＣ曲線を示す。読み間違いとは、不合格画像が高い信頼スコアを受け取るか、または非不合格画像が高い信頼スコアを有する誤ったトランスクリプションを受け取るかのいずれかを意味する。
【０１００】
実験は、ＴｅｎｓｏｒＦｌｏｗで実施し、ｎＶｉｄｉａ  Ｔｉｔａｎ  ＸおよびｎＶｉｄｉａ  Ｋ８０でトレーニングした。ＣＴＣデコーディングは、探索ビームサイズ１００で使用した。トレーニングは、ＡＤＡＭ［Ｋｉｎｇｍａ  ｅｔ  ａｌ．，Ａ  ｍｅｔｈｏｄ  ｆｏｒ  ｓｔｏｃｈａｓｔｉｃ  ｏｐｔｉｍｉｚａｔｉｏｎ，ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１４１２．６９８０，２０１４］を使用して、初期学習率１０−４で行った。
【０１０１】
表２は、各ベンチマークについて得られた精度と、ベースラインおよび本実施形態の方法によって得られたＡＵＣとをまとめて示し、表３は、数値ドル額データセットについて得られた精度と、ベースラインおよび本実施形態の方法によって得られたＡＵＣとをまとめて示す。表３において、オルボグラフ（全て）に対する精度値は、全ての不合格サンプルを失敗としており、そういうわけで、正確な信頼信号の必要性を示す役割を果たしている。
【０１０２】
図８Ａ〜図８Ｄは、ベースラインＣＴＣベースの信頼スコアおよび本実施形態の方法の両方について、それぞれＩＡＭ、ＲＩＭＥＳ、ＳＶＴおよびＩＣ１３、ベンチマークに対するＲＯＣ曲線を示す。
【０１０３】
【表２】
2020534604.tif 000004
【０１０４】
【表３】
2020534604.tif 000005
【０１０５】
表２、表３および図８Ａ〜図８Ｄは、本実施形態の方法がＯＣＲ誤差を予測および防止することにおいて有効であることを示す。不合格サンプルを有しない全てのデータセットにおいて、確率比技術は非常に効果的であることが証明された。大きなデータセットでトレーニングする場合、確率比技術および誤差予測ブランチを使用する技術の両方で、非常に説得力のある結果が得られる。いかなる特定の理論にも拘束されることを望むものではないが、誤差予測ブランチを使用して得られる比較的低い精度は、データ不足によって説明される。
【０１０６】
オルボグラフのデータセットは、人工的ではなく、多くのサンプルを含むので、より良好なベンチマーク条件を提供する。さらに、このデータセットは、不合格サンプルを含むことによって、ＯＣＲシステムの実世界の条件および要件を模倣する。図７Ａおよび図７Ｂに示すように、不合格を考慮せずに誤差予測精度を測定する場合、両方の技術が非常に良好な性能を示し、確率比方法がわずかに有利である。しかしながら、不合格サンプルも考慮する場合、誤差予測ブランチを使用する技術は、とりわけ良好な結果を達成する。後者の技術は、誤差率を９９．７％低減することができ、一方、有効サンプルの１％しか不合格としない。
【０１０７】
図９は、定性的評価のために、異なるレベルの信頼度の、オルボグラフのドル額データセットからの非不合格画像例を示す。一番下位の信頼パーセンタイルからのサンプルは、トリミングされた印刷ドル額においてトレーニングされたＯＣＲモデルには、読み取ることが困難であると判明すると予想される。実際、１つのサンプルは手書きであり、１つは不完全なトリミングに起因する周囲の枠を含み、１つは無関係なテキストおよびマーキングを含み、他の２つはぼやけている。５番目のパーセンタイルのテキストは、もはや完全に判読可能であり、適度にトリミングされている。上位のパーセンタイルは、ラベル「＄０．００」を有するサンプルによって完全に占められていることに留意されたい。その理由は、データセットが多くのそのようなサンプルを含み、それで、本実施形態のニューラルネットワークが、高い信頼度でそれらを認識するように学習したからである。
【０１０８】
本実施例は、本実施形態の技術が、提案されたベースラインよりもはるかに優れていることを示し、印刷テキストＯＣＲ、手書きテキストＯＣＲ、およびシーンテキスト認識に適用可能であることを証明している。
【０１０９】
本発明をその特定の実施形態との関連で説明したが、多数の代替、修正、および改変が当業者には明らかであろう。したがって、そのような代替、修正および変種の全ては、添付の特許請求の範囲の趣旨および広い範囲内に含まれることを意図するものである。
【０１１０】
本明細書で言及した全ての刊行物、特許および特許出願は、個々の刊行物、特許および特許出願のそれぞれについて具体的かつ個別の参照により本明細書に組み込む場合と同程度に、それらの全体が参照により本明細書に組み込まれる。加えて、本願におけるいかなる参考文献の引用または特定は、このような参考文献が本発明の先行技術として使用できることの自認として解釈されるべきではない。また、各節の表題が使用される範囲において、必ずしも限定として解釈されるべきではない。
【図１】
2020534604.tif 000006
【図２】
2020534604.tif 000007
【図３】
2020534604.tif 000008
【図４】
2020534604.tif 000009
【図５】
2020534604.tif 000010
【図６】
2020534604.tif 000011
【図７Ａ】
2020534604.tif 000012
【図７Ｂ】
2020534604.tif 000013
【図８Ａ】
2020534604.tif 000014
【図８Ｂ】
2020534604.tif 000015
【図８Ｃ】
2020534604.tif 000016
【図８Ｄ】
2020534604.tif 000017
【図９】
2020534604.tif 000018
【国際調査報告】
2020534604.tif 000019
2020534604.tif 000020