(57)【要約】【課題】所定マークを基準にコード領域を判定する方式等では、正しく判定できない劣化したコード画像の範囲を正しく判定できる手法を提供する。【解決手段】ＧＡＮの生成器３０２に、劣化した画像コードを含む入力画像１０１０を入力する。生成器３０２は、入力画像１０１０中のＱＲコードの推定領域を示す生成画像１０３０を生成するニューラルネットワークである。識別器３０４には、入力画像１０１０中のＱＲコードの正しい領域を示す正解画像１０２０と、生成器３０２が生成した生成画像１０３０のいずれかが入力される。識別器３０４は、入力された画像が正解画像１０２０、生成画像１０３０のいずれであるかを識別する。多数の入力画像１０１０、正解画像１０２０を入力して、識別器３０４が正しい識別ができるように生成器３０２及び識別器３０４を学習させる。学習済みの生成器３０２を、入力画像から画像コードの領域を求める手段として利用する。【選択図】図２
2020046736.tif 000002
【特許請求の範囲】
【請求項１】
劣化したコード画像を含むサンプル画像と、前記サンプル画像中の前記コード画像の領域を示す正解画像と、の組合せにより、入力画像内のコード画像の領域を判定するよう学習した学習済モデルと、
前記学習済モデルを用いて入力画像からコード画像の領域を抽出する抽出手段と、
を含む画像処理装置。
【請求項２】
前記学習済モデルは、ＧＡＮ（敵対的生成ネットワーク）を学習させることで生成されたものである、請求項１に記載の画像処理装置。
【請求項３】
前記学習済モデルは、前記ＧＡＮ内の生成器に対して前記サンプル画像を入力し、これに応じて前記生成器が生成した正解領域の推定画像と、前記サンプル画像に対応する前記正解画像と、を前記ＧＡＮ内の識別器に入力して両者を識別させる学習を行わせ、学習を済ませた前記ＧＡＮの前記生成器である、請求項２に記載の画像処理装置。
【請求項４】
劣化したコード画像と、これに対応する劣化前のコード画像と、の組合せにより、劣化した入力コード画像からその劣化が修復されたコード画像を生成するよう学習した修復用学習済モデルと、
前記入力画像のうち前記抽出手段により抽出された領域の画像を、前記修復用学習済モデルを用いて修復し、修復後の画像を復号手段に供給する修復手段と、
を更に含む請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記修復用学習済モデルは、第２のＧＡＮを学習させることで生成されたものである、請求項４に記載の画像処理装置。
【請求項６】
前記修復用学習済モデルは、前記第２のＧＡＮ内の生成器に対して前記劣化したコード画像を入力し、これに応じて当該生成器が生成した修復後コード画像の推定画像と、前記サンプル画像に対応する前記劣化前のコード画像と、を前記第２のＧＡＮ内の識別器に入力して両者を識別させる学習を行わせ、学習を済ませた前記第２のＧＡＮの前記生成器である、請求項５に記載の画像処理装置。
【請求項７】
コンピュータを、
劣化したコード画像を含むサンプル画像と、前記サンプル画像中の前記コード画像の領域を示す正解領域画像と、の組合せにより、入力画像内のコード画像の領域を判定するよう学習した学習済モデル、
前記学習済モデルを用いて入力画像からコード画像の領域を抽出する抽出手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
バーコード等の１次元画像コードやＱＲコード（登録商標）等の２次元画像コードといった画像コードが広く用いられている。画像コードを認識する装置の中には、撮影された画像内の未知の位置にある画像コードを検出し、認識する機能を持つものもある。
【０００３】
特許文献１に開示された仕組みでは、２次元コード抽出手段は、入力画像データを２値化した２値化画像に所定のぼかし処理を施し、暗画素が所定の割合以上に分布している画素集合を検出し、２次元コード候補とする。さらに、２値画像を用いて２次元コード候補が２次元コードの特徴を満たすかどうかを判定し、２次元コードを特定する。２次元コード認識手段は、２次元コードに対応する２値画像から基準画像パタンを検出する。基準画像パタンに基づく仮モジュールを２値化した２次元コードの画像に割り当て、デコード処理を行う。
【０００４】
特許文献２に開示された方法では、最初に検出された２つのファインダパターンの特性に基づいてパターンマッチングテンプレートを形成し、検出されたファインダパターンに近接する少なくとも１つの候補領域を判定する。この候補領域のコンテンツをパターンマッチングテンプレートと相関することにより少なくとも１つの候補領域においてＱＲコードの先に検出されなかった第３のファインダパターンを検出する。ＱＲコードの復号化は、識別された第３のファインダパターン及び最初に検出された２つのファインダパターンの各々を使用して実行する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５５０７１３４号明細書（特開２０１１−１４０１２号公報）
【特許文献２】特開２０１０−１７０５３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えばＦＡＸ送信やコピー等の繰り返し、筆記具等による記入の重なり、透かしやステガノグラフィ等の地紋の重なり、あるいはそれらの混合等により、コード画像が大きく劣化する場合がある。このような劣化により、例えば、コード画像の範囲を示すマークが潰れたり、コード画像の余白に暗い色となって、コード画像から周囲に暗い色の領域が大きく広がったりすることも起こりえる。このような場合、所定のマークを基準にコード画像の範囲を判定または推定する方式や、暗い色の割合が高い所定形状の領域をコード画像の範囲と判定する方式では、コード画像の範囲を正しく判定できない。
【０００７】
本発明は、所定のマークを基準にコード画像の領域を判定または推定する方式や、暗い色の割合が高い所定形状の領域をコード画像の領域と判定する方式では、正しく判定できない劣化したコード画像の領域を正しく判定できる手法を提供する。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、劣化したコード画像を含むサンプル画像と、前記サンプル画像中の前記コード画像の領域を示す正解画像と、の組合せにより、入力画像内のコード画像の領域を判定するよう学習した学習済モデルと、前記学習済モデルを用いて入力画像からコード画像の領域を抽出する抽出手段と、を含む画像処理装置である。
【０００９】
請求項２に係る発明は、前記学習済モデルは、ＧＡＮ（敵対的生成ネットワーク）を学習させることで生成されたものである、請求項１に記載の画像処理装置である。
【００１０】
請求項３に係る発明は、前記学習済モデルは、前記ＧＡＮ内の生成器に対して前記サンプル画像を入力し、これに応じて前記生成器が生成した正解領域の推定画像と、前記サンプル画像に対応する前記正解画像と、を前記ＧＡＮ内の識別器に入力して両者を識別させる学習を行わせ、学習を済ませた前記ＧＡＮの前記生成器である、請求項２に記載の画像処理装置である。
【００１１】
請求項４に係る発明は、劣化したコード画像と、これに対応する劣化前のコード画像と、の組合せにより、劣化した入力コード画像からその劣化が修復されたコード画像を生成するよう学習した修復用学習済モデルと、前記入力画像のうち前記抽出手段により抽出された領域の画像を、前記修復用学習済モデルを用いて修復し、修復後の画像を復号手段に供給する修復手段と、を更に含む請求項１〜３のいずれか１項に記載の画像処理装置である。
【００１２】
請求項５に係る発明は、前記修復用学習済モデルは、第２のＧＡＮを学習させることで生成されたものである、請求項４に記載の画像処理装置である。
【００１３】
請求項６に係る発明は、前記修復用学習済モデルは、前記第２のＧＡＮ内の生成器に対して前記劣化したコード画像を入力し、これに応じて当該生成器が生成した修復後コード画像の推定画像と、前記サンプル画像に対応する前記劣化前のコード画像と、を前記第２のＧＡＮ内の識別器に入力して両者を識別させる学習を行わせ、学習を済ませた前記第２のＧＡＮの前記生成器である、請求項５に記載の画像処理装置である。
【００１４】
請求項７に係る発明は、コンピュータを、劣化したコード画像を含むサンプル画像と、前記サンプル画像中の前記コード画像の領域を示す正解領域画像と、の組合せにより、入力画像内のコード画像の領域を判定するよう学習した学習済モデル、前記学習済モデルを用いて入力画像からコード画像の領域を抽出する抽出手段、として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１又は７に係る発明によれば、所定のマークを基準にコード画像の領域を判定または推定する方式や、暗い色の割合が高い所定形状の領域をコード画像の領域と判定する方式では、正しく判定できない劣化したコード画像の領域を正しく判定できる手法を提供することができる。
【００１６】
請求項２又は３に係る発明によれば、ＧＡＮを用いない方式よりも、コード画像の領域をより正確に求めることができる。
【００１７】
請求項４に係る発明によれば、劣化したコード画像を修復した上で復号手段に供給することができる。
【００１８】
請求項５又は６に係る発明によれば、ＧＡＮを用いない方式よりも、劣化したコード画像をより正確に修復することができる。
【図面の簡単な説明】
【００１９】
【図１】画像処理装置の一実施形態の機能構成を示す図である。
【図２】図１の画像処理装置の学習処理部をＧＡＮとして構成した場合の例を示す図である。
【図３】入力画像と正解画像の例を示す図である。
【図４】入力画像と正解画像の別の例を示す図である。
【図５】修復部を学習により構築する場合の、ＧＡＮベースの学習の仕組みを例示する図である。
【発明を実施するための形態】
【００２０】
図１を参照して、画像処理装置の一実施形態の機能構成を説明する。
【００２１】
この画像処理装置は、入力画像に含まれるバーコード等の画像コードが表すコード内容を認識する。この認識のために、画像処理装置は、入力画像中から位置が未知の画像コードを見つけ出す機能を持つ。
【００２２】
以下では、画像コードの一例としてＱＲコード（登録商標）を認識する場合の例を説明する。ただし、ＱＲコードを対象とするのはあくまで一例に過ぎず、本実施形態の手法はＱＲコード以外の画像コードの認識処理にも適用可能である。
【００２３】
図１に示す画像処理装置において、学習済モデル１０は、入力画像からその中に含まれる１以上のＱＲコードの存在領域を抽出する学習を済ませたモデルである。学習済モデル１０は、例えば学習済みのニューラルネットワークを規定するモデルであり、例えばニューラルネットワークを構成するノード（ニューロン）同士の間の結合の重み（強度）の情報の集合として表現される。
【００２４】
学習済モデル１０は、学習処理部３０の学習処理により生成される。学習処理部３０は、背景等のノイズやゆがみ等で劣化したＱＲコードを含んだ入力画像と、その入力画像におけるＱＲコードの領域を示した正解画像と、のペアを大量に用いて学習処理を行う。学習処理部３０が行う学習処理については、後で詳しく説明する。
【００２５】
画像入力部１２は、１以上のＱＲコードを含んだ入力画像の入力を受け付ける。
【００２６】
候補領域抽出部１４は、その入力画像から、ＱＲコードである蓋然性が高い領域（候補領域と呼ぶ）を抽出する。候補領域は、１つのＱＲコードと同形状、同サイズの領域である。この抽出のために、候補領域抽出部１４は、その入力画像を、学習済モデル１０を用いて処理する。候補領域抽出部１４の出力は、入力画像中の各候補領域を示す画像である。例えば、候補領域内の画素とそれ以外の領域の画素とを異なる値（例えば候補領域内は画素値１、それ以外は画素値０）で示した画像がその一例である。
【００２７】
候補領域指示部１６は、候補領域抽出部１４の出力した候補領域を示す画像から、各候補領域の位置情報を求めると共に、各候補領域にそれぞれ一意なラベル（識別情報）を付与する。候補領域の位置情報は、当該候補領域を規定する１以上の特徴点の座標の組である。候補領域が、入力画像のｘ軸及びｙ軸の各方向に沿った辺からなる矩形の領域である場合、その候補領域の位置情報は、その矩形領域の対角線上の２頂点の座標の組である。そして、候補領域指示部１６は、求めた各候補領域の位置情報及びラベルの情報を特徴量抽出部１８に指示する。
【００２８】
特徴量抽出部１８は、候補領域指示部１６から指示された各候補領域の位置情報を用いて、入力画像内の各候補領域の画像の特徴量をそれぞれ抽出する。抽出する特徴量は、当該候補領域の画像の白画素と黒画素の密度比、当該候補領域の縦横アスペクト比等である。白画素と黒画素の密度比は、例えば、その候補領域の画像を所定の閾値で二値化し、得られた二値画像中の白画素の数と黒画素の数の比として求めればよい。これら特徴量は、候補領域の画像がＱＲコードの画像に該当するかどうかの判定に用いられる。この判定は、学習済モデル１０により求められる候補領域に万が一ＱＲコード以外の画像が含まれている場合を考慮した安全措置である。特徴量抽出部１８は、抽出した各候補領域の特徴量を、各候補領域のラベルと対応付けて、画像コード抽出部２０に渡す。
【００２９】
画像コード抽出部２０は、各ラベルに対応する候補領域ごとに、当該候補領域の特徴量がＱＲコードの特徴量の範囲内にあれば、その候補領域がＱＲコードであると判定し、そうでなければその候補領域はＱＲコードでないと判定する。そして、ＱＲコードと判定した候補領域の画像を入力画像から抽出し、抽出した画像（ＱＲコード画像と呼ぶ）をラベルに対応付けて修復部２２に渡す。
【００３０】
修復部２２は、公知の方法、又は後で説明する特徴的な修復方法を用いて、各ラベルに対応するＱＲコード画像を修復する。この修復は、複写やファクシミリ送信、地紋、手書き等によるゆがみ、欠損、汚れ、ノイズ等により劣化したＱＲコード画像を、標準的なＱＲコード認識処理を行う復号部２４が復号できるよう修復する。
【００３１】
復号部２４は、修復部２２により修復されたＱＲコード画像に対して、公知のＱＲコード認識処理を実行することで、そのＱＲコード画像を復号する。
【００３２】
次に、学習処理部３０の構成を、図２に例示する。学習処理部３０は、ＧＡＮ（Generative adversarial networks：敵対的生成ネットワーク）を構成する生成器（ジェネレータ）３０２と識別器（ディスクリミネータ）３０４とを含む。
【００３３】
また、学習処理部３０は、学習用データとして、入力画像１０１０と正解画像１０２０のペアを多数保持している。入力画像１０１０は、図３（ａ）に示すように、複写やファクシミリ送信、地紋、手書き等によりゆがみ、欠損、汚れ、ノイズ等といった様々な形態の劣化が生じたＱＲコード１０１２を含んだ画像である。正解画像１０２０は、入力画像１０１０中のＱＲコード１０１２の占める領域（コード領域１０２２と呼ぶ）を示す画像である。すなわち、正解画像１０２０は、ＱＲコードの領域内の画素をその領域の外の画素とは区別可能な値で示した画像である。例えば、図３（ｂ）に示すように、入力画像１０１０中のＱＲコード１０１２の占める領域内の画素を黒（値１）、ＱＲコード１０１２でない領域の画素を白（値０）とする二値画像を正解画像１０２０として用いてもよい。
【００３４】
また、入力画像１０１０の別の例として、図４（ａ）に例示するように、１つの画像中に複数のＱＲコード１０１２を含んだものを用いてもよい。この場合、対応する正解画像１０２０としては、例えば、図４（ｂ）に示すように、入力画像１０１０中の各ＱＲコード１０１２の場所を黒とし、他の場所を白とした画像を用いる。
【００３５】
生成器３０２は、入力画像１０１０から生成画像１０３０を生成するニューラルネットワークである。生成画像１０３０は、入力画像１０１０に対応する正解画像１０２０を推定した画像である。例えば、生成画像１０３０は、図３（ｂ）の正解画像１０２０と同様、ＱＲコードの領域内の画素をその領域の外の画素とは区別可能な画素値で示す画像である。生成器３０２は、多数の入力画像１０１０を処理することで、より正確にコード領域１０２２を推定できるよう学習する。
【００３６】
識別器３０４は、入力された画像が、入力画像１０１０に対応する正解画像１０２０、及び入力画像１０１０から生成器３０２が生成した生成画像１０３０、のうちのいずれであるかを識別するニューラルネットワークである。学習処理部３０は、正解画像１０２０（とこれに対応する入力画像１０１０）又は生成画像１０３０（とこれに対応する入力画像１０１０）を識別器３０４に入力する。これに応じて、識別器３０４は、入力された画像が正解画像１０２０（正解:true）又は生成画像１０３０（偽物:false）のいずれであるかを識別し、その識別結果を示す信号を出力する。
【００３７】
学習処理部３０は、識別器３０４に入力した画像が正解、偽物のいずれであるかと、その識別器３０４からの出力信号とを比較し、その比較結果に基づく損失信号を生成器３０２及び識別器３０４の各々のニューラルネットワークのノード間の結合の重みパラメータにフィードバックする。これにより、生成器３０２と識別器３０４が学習を行う。
【００３８】
ＧＡＮを構成する生成器３０２及び識別器３０４は、前者が教師データ（正解画像１０２０）になるべく近い偽物（生成画像１０３０）を生成しようとし、後者がその偽物を正しく識別しようとするという形で、いわば互いに切磋琢磨しながら学習を進める。
【００３９】
学習処理部３０には、例えば「pix2pix」というアルゴリズム（Phillip Iso1a他による論文「Image-to-Image Translation with Conditional Adversarial Networks」、Berkeley AI Research (BAIR) Laboratory, UC Berkeley参照）と同様の方式を用いてもよい。この場合、生成器３０２の学習のために、識別器３０４の損失信号に加え、正解画像１０２０と生成画像１０３０との差もフィードバックする。
【００４０】
また、他の例として、Ｃｙｃｌｅ  ＧＡＮと呼ばれるＧＡＮを学習処理部３０に用いてもよい。Ｃｙｃｌｅ  ＧＡＮを用いた場合、入力画像のすべてに正解画像が用意されていない場合でも学習が可能である。
【００４１】
そして、本実施形態の画像処理装置では、以上に例示した手法により生成した学習済みの生成器３０２を、学習済モデル１０として用いる。この学習済モデル１０により、入力画像中のＱＲコードの領域（候補領域）を示す画像が生成される。
【００４２】
以上では、入力画像中のＱＲコードの領域を示す画像を生成するのにニューラルネットワークの学習済モデル１０を用いた。これと同様の手法を、修復部２２に適用してもよい。すなわち、ニューラルネットワークを、劣化したＱＲコードの画像から劣化前のＱＲコードの画像を生成するよう学習させ、学習済みのニューラルネットワークを修復部２２として用いるのである。
【００４３】
この場合のニューラルネットワークとしては、上記と同様、ＧＡＮを用いる。図５に、修復部２２の学習済モデルを生成するための、ＧＡＮを用いた学習処理部の例を示す。
【００４４】
この学習処理部は、学習用データとして、入力画像６０２と正解画像６０４のペアを多数保持している。入力画像６０２は、複写やファクシミリ送信、地紋、手書き等によりゆがみ、欠損、汚れ、ノイズ等といった様々な形態の劣化が生じたＱＲコードの画像である。正解画像６０４は、そのような劣化を受ける前の正常なＱＲコードの画像である。
【００４５】
生成器４０２は、入力画像６０２（劣化したＱＲコード）から、劣化前の正常なＱＲコードの画像に近い生成画像６０６を生成する。
【００４６】
識別器４０４には、正解画像６０４か、生成器４０２が生成した生成画像６０６かが入力される。識別器４０４は、入力された画像が、正解画像６０４と生成画像６０６（偽物）のいずれであるかを識別し、その識別結果を示す信号を出力する。
【００４７】
学習処理部は、識別器４０４に入力した画像が正解、偽物のいずれであるかと、その識別器４０４からの出力信号とを比較し、その比較結果に基づく損失信号を生成器４０２及び識別器４０４の各々のニューラルネットワークのノード間の結合の重みパラメータにフィードバックする。これにより、上述の学習処理部３０の場合と同様に、生成器４０２と識別器４０４が学習を行う。そして、学習済みの生成器４０２を、修復部２２として用いる。
【００４８】
以上に例示した画像処理装置は、例えば、コンピュータに上述の各機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）およびリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、フラッシュメモリやＳＳＤ（ソリッドステートドライブ）、ＨＤＤ（ハードディスクドライブ）等の固定記憶装置を制御するコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
【００４９】
また、画像処理装置の一部、例えば学習済モデル１０等のニューラルネットワークを、ハードウエア回路として構成してもよい。
【符号の説明】
【００５０】
１０  学習済モデル、１２  画像入力部、１４  候補領域抽出部、１６  候補領域指示部、１８  特徴量抽出部、２０  画像コード抽出部、２２  修復部、２４  復号部、３０  学習処理部、３０２  生成器、３０４  識別器、１０１０  入力画像、１０２０  正解画像、１０３０  生成画像。
【図１】
2020046736.tif 000003
【図２】
2020046736.tif 000004
【図３】
2020046736.tif 000005
【図４】
2020046736.tif 000006
【図５】
2020046736.tif 000007