(57)【要約】【課題】それぞれ別々の特徴に対応するための学習を行った複数の画像処理手段を固定的な順序で画像に対して適用する方式よりも、より良い画像処理結果を得る。【解決手段】順序計画部２０は、入力画像から、その入力画像に対して適切な画像変換フィルタ３２の適用順序（すなわち順序計画）を求める。このために順序計画部２０は、学習用画像とその学習用画像にとって最良の結果が得られる順序計画とのペアを用いて学習済みである。画像処理制御部４０は、画像処理機構３０が備える画像変換フィルタ３２群を、順序計画部２０が求めた順序計画に従ってその入力画像に適用する。これにより、入力画像から処理結果画像が求められる。処理結果画像は、ＯＣＲ装置等の後段の処理装置にて更に処理される。【選択図】図１
2020154600.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ画像に含まれ得る異なる特徴に対応するための学習を行った複数の画像処理手段と、
入力された画像に含まれる特徴に応じて前記複数の画像処理手段の順序を決定する決定手段と、
前記入力された画像に対して、前記決定手段が決定した順序で前記画像処理手段を適用する適用手段と、
を含む画像処理装置。
【請求項２】
学習用画像と、この学習用画像についての画像処理結果が最良となる前記順序と、を前記決定手段に入力することにより、前記学習用画像を入力した場合に前記最良となる前記順序を出力するよう前記決定手段を学習させる学習手段、
を更に含む、請求項１に記載の画像処理装置。
【請求項３】
前記学習手段は、前記学習用画像についての前記画像処理結果が最良となる前記順序が複数ある場合に、それら複数の順序のうち、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に、前記学習用画像と対応付けて前記決定手段に学習させる、ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記学習手段は、
前記画像処理手段の母集団から前記複数の画像処理手段を選択する選択手段を含み、
前記選択手段は、前記母集団に含まれる前記画像処理手段のうち、前記学習用画像に当該画像処理手段を適用したときの画像処理結果が良い順に、前記複数の画像処理手段を選択する、
請求項２又は３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記入力された画像が含む１以上の特徴を抽出し、抽出した前記１以上の特徴の組合せに基づいて前記順序を決定する、請求項１に記載の画像処理装置。
【請求項６】
前記決定手段は、１以上の前記特徴の組合せに対応する前記順序を規定する順序規定情報を参照して、前記入力された画像から抽出した前記１以上の特徴の組合せに対応する前記順序を決定する、請求項５に記載の画像処理装置。
【請求項７】
前記順序規定情報は、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に選択するように規定する情報である、請求項６に記載の画像処理装置。
【請求項８】
前記決定手段は、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に、前記入力された画像に適用するものに決定する、請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項９】
コンピュータを、
それぞれ画像に含まれ得る異なる特徴に対応するための学習を行った複数の画像処理手段、
入力された画像に含まれる特徴に応じて前記複数の画像処理手段の順序を決定する決定手段、
前記入力された画像に対して、前記決定手段が決定した順序で前記画像処理手段を適用する適用手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
画像の変換、加工、生成等といった画像処理を機械学習により学習した装置を用いて、画像処理を行うシステムが増えてきている。
【０００３】
特許文献１には、撮影した文書に対するＯＣＲ（光学文字認識）処理において、前処理、レイアウト分析、文字認識処理等を、ニューラルネットワークを利用して行うシステムが開示されている。
【０００４】
画像処理の対象となる画像には、地紋、印影、色背景、網掛け等といった何種類かの特徴が含まれる場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−００８８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像に含まれ得る複数の特徴のすべてに対応した画像処理を１つの画像処理手段に学習させることは不可能ではないが、精度や汎化性が低下したり、学習の効率が悪かったり、追加学習の際の品質の担保が困難になったりするなどの問題がある。そこで、複数の画像処理手段にそれぞれ別々の特徴に対応する画像処理を学習させ、それら画像処理手段を組み合わせて用いることで、それら複数の特徴のすべてに対応した画像処理を実現することが考えられる。
【０００７】
ところが、ある特徴に対応するための学習を行った画像処理手段は、その画像処理手段が学習した画像に含まれなかった別の特徴を含んだ画像が入力されると、予期せぬ処理結果を出力し、後段の画像処理手段の処理に悪影響をもたらす場合がある。
【０００８】
例えば、網掛けを含むが地紋は含まないサンプル画像で網掛けの除去を学習した画像処理手段は、網掛けと地紋の両方を含んだ画像が入力された場合、網掛けの除去について所期の性能を発揮できず、また地紋に対しても予期せぬ変換を加えてしまう場合がある。この結果、次に地紋除去を行う画像処理手段が、その変換が加わった地紋を適切に除去できないことも起こり得る。逆に、同じ画像に対して、それら２つの画像処理手段を逆の順に適用すると、先に地紋が除去された結果、網掛けの除去が適切に行われ、最終的な画像処理結果が最初の順序の場合よりも良好になる、といったことも起こり得る。
【０００９】
このように、複数の特徴に対応する複数の画像処理手段を画像に対して適用する順序が変わると、最終的な画像処理結果の品質が顕著に変わってくることがある。
【００１０】
本発明は、それぞれ別々の特徴に対応するための学習を行った複数の画像処理手段を固定的な順序で画像に対して適用する方式よりも、より良い画像処理結果を得ることができる仕組みを提供する。
【課題を解決するための手段】
【００１１】
請求項１に係る発明は、それぞれ画像に含まれ得る異なる特徴に対応するための学習を行った複数の画像処理手段と、入力された画像に含まれる特徴に応じて前記複数の画像処理手段の順序を決定する決定手段と、前記入力された画像に対して、前記決定手段が決定した順序で前記画像処理手段を適用する適用手段と、を含む画像処理装置である。
【００１２】
請求項２に係る発明は、学習用画像と、この学習用画像についての画像処理結果が最良となる前記順序と、を前記決定手段に入力することにより、前記学習用画像を入力した場合に前記最良となる前記順序を出力するよう前記決定手段を学習させる学習手段、を更に含む、請求項１に記載の画像処理装置である。
【００１３】
請求項３に係る発明は、前記学習手段は、前記学習用画像についての前記画像処理結果が最良となる前記順序が複数ある場合に、それら複数の順序のうち、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に、前記学習用画像と対応付けて前記決定手段に学習させる、ことを特徴とする請求項２に記載の画像処理装置である。
【００１４】
請求項４に係る発明は、前記学習手段は、前記画像処理手段の母集団から前記複数の画像処理手段を選択する選択手段を含み、前記選択手段は、前記母集団に含まれる前記画像処理手段のうち、前記学習用画像に当該画像処理手段を適用したときの画像処理結果が良い順に、前記複数の画像処理手段を選択する、請求項２又は３に記載の画像処理装置である。
【００１５】
請求項５に係る発明は、前記決定手段は、前記入力された画像が含む１以上の特徴を抽出し、抽出した前記１以上の特徴の組合せに基づいて前記順序を決定する、請求項１に記載の画像処理装置である。
【００１６】
請求項６に係る発明は、前記決定手段は、１以上の前記特徴の組合せに対応する前記順序を規定する順序規定情報を参照して、前記入力された画像から抽出した前記１以上の特徴の組合せに対応する前記順序を決定する、請求項５に記載の画像処理装置である。
【００１７】
請求項７に係る発明は、前記順序規定情報は、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に選択するように規定する情報である、請求項６に記載の画像処理装置である。
【００１８】
請求項８に係る発明は、前記決定手段は、並列して適用する異なる前記画像処理手段の数が多い手順ほど優先的に、前記入力された画像に適用するものに決定する、請求項１〜４のいずれか１項に記載の画像処理装置である。
【００１９】
請求項９に係る発明は、コンピュータを、それぞれ画像に含まれ得る異なる特徴に対応するための学習を行った複数の画像処理手段、入力された画像に含まれる特徴に応じて前記複数の画像処理手段の順序を決定する決定手段、前記入力された画像に対して、前記決定手段が決定した順序で前記画像処理手段を適用する適用手段、として機能させるためのプログラムである。
【発明の効果】
【００２０】
請求項１、５又は９に係る発明によれば、それぞれ別々の特徴に対応するための学習を行った複数の画像処理手段を固定的な順序で画像に対して適用する方式よりも、より良い画像処理結果を得ることができる。
【００２１】
請求項２に係る発明によれば、複数の画像処理手段の順序を決定するルールが明確に分からない場合でも、多数の学習用画像についての学習により、決定手段がその順序を決定できるようにすることができる。
【００２２】
請求項３、７又は８に係る発明によれば、入力される画像に対する画像処理結果の劣化がより少ない順序を優先的に選ぶよう決定手段を学習させることができる。
【００２３】
請求項４に係る発明によれば、入力された画像に対して、母集団に含まれるすべての画像処理手段を適用する場合と比べて、その画像処理結果の劣化を低減することができる。
【００２４】
請求項６に係る発明によれば、決定手段に多数の学習用画像を学習させる方式と比べて、決定手段の構築にかかる時間が短くて済む。
【図面の簡単な説明】
【００２５】
【図１】実施形態の画像処理装置の構成を例示する図である。
【図２】画像変換フィルタを学習により構築する方法を例示する図である。
【図３】画像処理機構における複数の画像処理部（例えば画像変換フィルタ）の適用順序の一例を示す図である。
【図４】画像処理機構における複数の画像処理部（例えば画像変換フィルタ）の適用順序の別の例を示す図である。
【図５】順序計画部を学習により構築するための仕組みを備えた画像処理装置の構成を例示する図である。
【図６】順序計画部を学習により構築する手順を例示する図である。
【図７】学習用画像に対して使用する画像変換フィルタを選択する処理を説明するための図である。
【図８Ａ】画像変換フィルタを学習用画像に適用する順序のパターンを求める処理を説明するための図である。
【図８Ｂ】画像変換フィルタを学習用画像に適用する順序のパターンを求める処理を説明するための図である。
【図９】順序計画部となるニューラルネットワークの学習に用いる学習データを説明するための図である。
【図１０】順序計画部を学習させる方法を説明するための図である。
【図１１】順序計画部の別の例の内部構造を例示する図である。
【図１２】特徴抽出部を学習させる方法を説明するための図である。
【発明を実施するための形態】
【００２６】
＜実施形態の全体像＞
図１に、本発明に係る画像処理装置の実施形態の構成を例示する。
【００２７】
図１の画像処理装置は、画像受付部１０、順序計画部２０、画像処理機構３０、画像処理制御部４０を含む。
【００２８】
この画像処理装置は、入力画像を、後段の処理装置の処理に適した品質の処理結果画像に変換する装置である。処理結果画像は、入力画像に対する画像処理装置の画像処理結果の一例である。後段の処理装置としては、例えばＯＣＲ（光学文字認識）装置や、画像中から個人の顔を識別する顔識別装置等が考えられる。
【００２９】
画像受付部１０は、外部から入力画像の入力を受け付ける。
【００３０】
画像処理機構３０は、複数の画像処理手段を含んでいる。図示例では、画像処理手段として、Ｎ個の画像変換フィルタ３２（すなわち第１画像変換フィルタ３２−１、第２画像変換フィルタ３２−２、・・・第Ｎ画像変換フィルタ３２−Ｎ）と、二値化合成部３４とを含む。画像変換フィルタ３２は、画像に対して、後述する下線除去や網掛除去等の何らかの変換を施すフィルタである。二値化合成部３４は、入力される複数の画像をそれぞれ二値化した後、画素毎のＡＮＤをとる合成を行う。二値化合成部３４は、後段の処理装置がＯＣＲ装置である場合に特に有益な画像処理手段である。画像処理機構３０が含む画像変換フィルタ３２の集合は、画像処理手段の母集団の一例である。
【００３１】
個々の画像処理手段、例えば図示したＮ個の画像変換フィルタ３２と二値化合成部３４は、コンピュータ上で実行されるソフトウエアとして実装されていてもよいし、固定的なハードウエア回路として構成されていてもよい。また、個々の画像処理手段は、ＦＰＧＡ（Field-Programmable Gate Array）やＤＲＰ（Dynamically Reconfigurable Processor）のように構成が可変の回路や、ニューロチップのようにソフトウエア的に様々な能力のニューラルネットワークを構成可能な回路を用いて実装してもよい。
【００３２】
入力画像に対して画像処理装置が行う画像処理では、画像処理機構３０が備える画像処理手段の全てが必要なわけではなく、そのうちの一部の画像処理手段を組み合わせて用いるだけで十分な場合が多い。したがって、画像処理機構３０は、個々の画像処理手段をハードウエア回路として実装する場合でも、それら全てについて固定的なハードウエア回路を持っている必要はない。この場合、画像処理装置は、自らが有する有限個の構成可変の回路やニューロチップのそれぞれを、入力画像に対する画像処理において使用すると決定した各画像処理手段としてそれぞれ構成すればよい。そして、それら画像処理手段同士の間の入出力関係の配線を構成することで、その入力画像に適した画像処理のための回路が出来上がる。画像処理手段をソフトウエアとして実装する場合は、入力画像に対して使用すると決定した各画像処理手段のソフトウエアを、使用する順に実行することで、その入力画像に適した画像処理のための処理フローが出来上がる。
【００３３】
順序計画部２０は、入力画像を所望の品質の処理結果画像に変換するためにその入力画像に対して、画像処理機構３０が備える複数の画像処理手段のうちのどれをどの順に適用するかを示す順序計画を生成する。すなわち、順序計画部２０は、入力画像が入力されると、その入力画像のための順序計画を出力する。順序計画には、複数の画像処理手段が直列に適用されるという直列の順序を表すものだけでなく、いくつかの画像処理手段が並列に実行される部分を含んだ順序を表すものもあり得る。順序計画部は、画像処理手段の順序を決定する決定手段の一例である。
【００３４】
画像処理制御部４０は、順序計画部２０が出力した順序計画に従って、入力画像に対して画像処理機構３０内の各画像処理手段の処理を順に適用していくという制御を行う。画像処理制御部４０は、決定手段が決定した順序で画像処理手段を適用する適用手段の一例である。
【００３５】
次に、図１に示した画像処理装置の構成をとる理由の一つを、具体例を参照しつつ説明する。ここで具体例として、帳票の画像をＯＣＲ装置に入力し、その帳票内の各欄内の文字列を認識する場合を考える。この場合、帳票の画像には、下線、網掛、印影（例えば社印）、地紋等といった、認識すべき帳票内の文字列に対してはノイズとなる特徴が含まれる場合が少なくない。このためＯＣＲ結果の正解率を向上させるためには、入力画像からそれらノイズとなる特徴を除去することが重要となる。
【００３６】
このようなノイズとなる特徴（以下、ノイズ特徴と呼ぶ）群を除去する画像処理を、ニューラルネットワークに学習させることを考える。この場合、入力画像に含まれる可能性がある全ての種類のノイズ特徴の除去を１つのニューラルネットワークに学習させると、精度や汎化性が低下したり、学習の効率が悪かったり、追加学習の際の品質の担保が困難になったりする。これに対し、個々の特徴ごとに個別のニューラルネットワークにその除去を学習させると、個々のニューラルネットワークはそれぞれ対応する特徴を精度よく除去することが可能になる。
【００３７】
そこで、入力画像に含まれる多様なノイズ特徴に対処するために、それら個々のノイズ特徴の除去を学習した複数のニューラルネットを組み合わせることが考えられる。入力画像に対して、それら個々の特徴を除去するニューラルネットワークを順に適用していくことで、入力画像に含まれるそれらノイズ特徴を除去する。
【００３８】
ここで問題となるのが、個々のニューラルネットワークはそれぞれ個別に学習を行うので、個々のニューラルネットワークは、あり得る全てのケースに対応した学習をしているとは期待できないことである。第１のノイズ特徴を除去する学習を済ませたニューラルネットワークが、その学習において、第１のノイズ特徴に対して別の第２のノイズ特徴が重畳した画像をサンプル画像として学習していない場合もある。この場合、第１のノイズ特徴に第２のノイズ特徴が重畳した画像が入力された場合、そのニューラルネットワークは、その画像から第１のノイズ特徴を適切に除去できない可能性があるばかりか、まったく予想できない処理結果の画像を出力してしまう場合すらあり得る。このように１つのニューラルネットワークが十分な品質の処理結果を出力できないと、後続の画像処理を担うニューラルネットワークの処理結果も悪化し、その画像の最終的な処理結果の画像の品質が後段の処理装置の処理に悪影響を与えることとなる。
【００３９】
しかし、入力画像に対して画像処理を適用する順序を適切に決めることで、最終的な処理結果の画像の品質を満足なものとすることができるケースも少なくない。例えば第１のノイズ特徴と第２のノイズ特徴を含んだ入力画像を、第１のノイズ特徴を除去する第１のニューラルネットワークと第２のノイズ特徴を除去する第２のニューラルネットワークとを用いて処理する場合を考える。この場合、入力画像を第１のニューラルネットワーク、第２のニューラルネットワークの順で処理すると処理結果の画像の品質が不十分なのに対し、その逆の順で処理すると処理結果の画像が十分な品質となる場合がある。
【００４０】
このようなことに鑑み、この実施形態では、順序計画部２０により、入力画像に適した画像処理手段の適用順序を求めるのである。
【００４１】
なお、ここでは、画像処理手段としてのニューラルネットワークが、ノイズ特徴を除去する場合を例にとったが、画像処理手段が行う画像処理はノイズ特徴の除去に限らない。この他にも、画像処理手段は、画像が含む特徴を強調したり、変換したり、というように、特徴の除去以外の処理を行うものであってもよい。すなわち、個々の画像処理手段は、入力画像に含まれるいくつかの特徴のうち、当該画像処理手段に対応する特徴に対して、その特徴に対応する何らかの画像処理を行うものであればよい。
【００４２】
ただし、以下では、説明を簡潔にするために、図１に示した各画像変換フィルタ３２（これは画像処理手段の一例）は、それぞれ入力画像に含まれるノイズ特徴のうち自分に対応するものを除去する処理を行うものである場合を例に取る。
【００４３】
次に、画像変換フィルタ３２の構築の仕方の例を示す。以下の例では、Ｎ個の画像変換フィルタ３２は、それぞれニューラルネットワークに対して、対応する画像変換を学習させることにより構成されているものとする。ニューラルネットワークは、ソフトウエア的に構成されるものであってもよいし、ハードウエア回路として構成されるものであってもよい。
【００４４】
画像変換フィルタ３２は、例えば、ＧＡＮ（敵対的生成ネットワーク）を用いて構成してもよい。ＧＡＮを用いて画像変換フィルタを構成する仕組みの一例を、図２を参照して説明する。図２に示すＧＡＮは、生成器（ジェネレータ）１０２と識別器（ディスクリミネータ）１０４とを含む。
【００４５】
このＧＡＮは、あらかじめ用意した学習データ１２０のセットを用いて学習する。このセットに含まれる個々の学習データ１２０は、学習用画像１２２と正解画像１２４のペアを含む。学習用画像１２２は、構成しようとしている画像変換フィルタ３２に対応するノイズ特徴を含んだ画像である。学習用画像１２２とペアになる正解画像１２４は、その学習用画像１２２からそのノイズ特徴を除去して得られる画像である。
【００４６】
生成器１０２は、学習用画像１２２から生成画像１２６を生成するニューラルネットワークである。生成画像１２６は、学習用画像１２２に対応する正解画像１２４を推定した画像である。すなわち、生成器１０２は、ノイズ特徴を含んだ学習用画像１２２から、ノイズ特徴を含まない正解画像１２４に近い生成画像１２６を生成する。生成器１０２は、多数の学習用画像１２２を用いて学習することで、より正解画像１２４に近い生成画像１２６を生成できるようになる。
【００４７】
識別器１０４は、入力された画像が、学習用画像１２２に対応する正解画像１２４、及び学習用画像１２２から生成器１０２が生成した生成画像１２６、のうちのいずれであるかを識別するニューラルネットワークである。学習制御部１１０は、正解画像１２４又は生成画像１２６を識別器１０４に入力する。これに応じて、識別器１０４は、入力された画像が正解画像１２４（言い換えれば、本物:real）又は生成画像１２６（言い換えれば偽物:fake）のいずれであるかを識別し、その識別結果を示す信号を出力する。また、識別器１０４は、その識別結果の確信度を出力してもよい。確信度とは、その識別結果が正解である蓋然性（すなわち確からしさの度合い）を示す評価値である。
【００４８】
識別結果判定部１０６は、識別器１０４の識別結果が正しいか誤りかを判定する。例えば、識別器１０４に入力された画像が正解画像１２４であり、これに対する識別器１０４の識別結果が「正解画像」である場合には、その識別結果は正しい。また例えば、識別器１０４に入力された画像が生成画像１２６であり、これに対する識別器１０４の識別結果が「正解画像」である場合には、その識別結果は誤りである。識別結果判定部１０６には、識別器１０４に入力された画像が正解画像１２４と生成画像１２６のいずれであるかを示す解答情報が与えられ、その解答情報を参照することで、識別器１０４の識別結果が正しいか誤りかを判定する。識別結果判定部１０６の判定結果（すなわち、正しいか誤りかを示す情報）から求められる損失信号が識別器１０４及び生成器１０２にフィードバックされる。識別器１０４及び生成器１０２は、この損失信号に基づいて学習を行う。また、損失信号に加え、又はその代わりに、確信度の情報を、学習のために識別器１０４及び生成器１０２にフィードバックしてもよい。なお、識別結果判定部１０６の判定結果のフィードバックによる識別器１０４及び生成器１０２の学習の手法は、従来のＧＡＮで用いられているものと同様のものでよい。
【００４９】
画像比較部１０８は、正解画像１２４と、この正解画像１２４に対応する学習用画像１２２から生成器１０２が生成した生成画像１２６とを比較し、比較結果を示す信号を生成器１０２にフィードバックする。比較結果を示す信号は、例えば正解画像１２４と生成画像１２６の差分を示す信号である。生成器１０２は、前述した識別結果判定部１０６からの損失信号と、この画像比較部１０８からの比較結果の信号とに基づいて学習を行う。この学習も従来技術を用いればよい。
【００５０】
学習制御部１１０は、生成器１０２及び識別器１０４の学習を制御する。学習制御部１１０は、学習データ１２０を読み込み、これに含まれる学習用画像１２２を生成器１０２に、学習用画像１２２及び正解画像１２４を識別器１０４に入力する。また学習制御部１１０は、この入力に応じて識別結果判定部１０６及び画像比較部１０８が出力する信号を、生成器１０２及び識別器１０４にフィードバックすることで、生成器１０２及び識別器１０４を学習させる。生成器１０２及び識別器１０４は、フィードバックされた信号に応じて、各々のニューラルネットワークのノード間の結合の重みパラメータを更新することにより、学習を行う。
【００５１】
ＧＡＮを構成する生成器１０２及び識別器１０４は、前者が教師データ（正解画像１２４）になるべく近い偽物（生成画像１２６）を生成しようとし、後者がその偽物を正しく識別しようとするという形で、いわば互いに切磋琢磨しながら学習を進める。
【００５２】
この画像処理装置の学習には、例えば「pix2pix」というアルゴリズム（Phillip Iso1a他による論文「Image-to-Image Translation with Conditional Adversarial Networks」、Berkeley AI Research (BAIR) Laboratory, UC Berkeley参照）と同様の方式を用いてもよい。また、他の例として、Ｃｙｃｌｅ  ＧＡＮと呼ばれるＧＡＮと同様の仕組み用いてもよい。Ｃｙｃｌｅ  ＧＡＮを用いた場合、入力画像のすべてに正解画像が用意されていない場合でも学習が可能である。
【００５３】
次に、図３及び図４を参照して、順序計画部２０による順序計画の決定処理の例を説明する。図３及び図４に示す例は、画像処理機構３０が、画像変換フィルタ３２として、下線を除去する下線除去部３２ａ、印影を除去する印影除去部３２ｂ、及び網掛を除去する網掛除去部３２ｃを含む場合の例である。
【００５４】
図３の例は、印影除去部３２ｂは画像に下線が含まれる場合（特に印影と下線が重畳している場合）に性能が低下し、網掛除去部３２ｃは画像に印影又は下線が含まれる場合（特に印影又は下線が網掛と重畳している場合）に性能が低下する場合の例である。なお、下線除去部３２ａは、画像に網掛及び印影が含まれていても下線除去の品質に悪影響を受けず、印影除去部３２ｂは画像に網掛が含まれていても印影除去の品質に悪影響を受けないものとする。
【００５５】
この例では、下線、印影、及び網掛の３つのノイズ特徴を含む入力画像が入力された場合、順序計画部２０は、図３に示すように、下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃの順序で画像処理を実行するという順序計画を出力する。なお、入力画像には、下線、印影、網掛以外のノイズ特徴は含まれていないものとする。この順序計画に従えば、最初の下線除去部３２ａは、入力画像に含まれる網掛及び印影に悪影響を受けずにその画像中の下線を除去する。下線除去後の画像は、印影除去部３２ｂに入力される。印影除去部３２ｂは、入力された画像に含まれる網掛に悪影響を受けずにその画像中の印影を除去する。印影除去後の画像は、網掛除去部３２ｃに入力される。この画像には下線も印影も含まれていないので、網掛除去部３２ｃは、その画像に含まれる網掛を適切に除去する。この結果、網掛除去部３２ｃから出力される処理結果画像には、ＯＣＲにとってノイズとなる下線、印影、及び網掛のいずれも含まれないので、後段のＯＣＲ装置がその処理結果画像を処理した場合、高精度のＯＣＲ結果が得られる。
【００５６】
図４の例は、以下の条件が分かっている場合のものである。すなわち、印影除去部３２ｂは、入力される画像に下線が含まれる場合は性能が低下するが、入力される画像に網掛が含まれていても性能が低下しない。またこの例では、網掛除去部３２ｃは、入力される画像に下線が含まれる場合は性能が低下するが、入力される画像に印影が含まれていても性能が低下しない。また、下線除去部３２ａは、画像に網掛及び印影が含まれていても性能は低下しない。
【００５７】
この条件下で、下線、印影、及び網掛の３つのノイズ特徴を含む入力画像（ａ）が入力された場合、順序計画部２０は、下線除去部３２ａの後で印影除去部３２ｂと網掛除去部３２ｃとが並列に処理を行うという順序計画を出力する。この順序計画では、印影除去部３２ｂと網掛除去部３２ｃの処理結果が二値化合成部３４にて処理され、その処理結果の画像が後段のＯＣＲ装置に入力される。
【００５８】
この順序計画に従えば、最初の下線除去部３２ａは、入力画像（ａ）に含まれる網掛及び印影に悪影響を受けずにその画像中の下線を除去する。下線除去後の画像（ｂ）は、印影除去部３２ｂと網掛除去部３２ｃとにそれぞれ入力される。印影除去部３２ｂは、入力された画像に含まれる網掛に悪影響を受けずにその画像中の印影を除去する。印影除去後の画像（ｃ）は二値化合成部３４に入力される。また網掛除去部３２ｃは、入力された画像に含まれる印影に悪影響を受けずにその画像中の網掛を除去する。網掛除去後の画像（ｄ）は二値化合成部３４に入力される。二値化合成部３４は、入力された画像（ｃ）及び（ｄ）をそれぞれ二値化し、二値化後のそれら両画像を画素毎のＡＮＤ演算により合成する。印影除去及び網掛除去は、いずれも画像に含まれる要素を除去する処理なので、画素毎のＡＮＤ演算を行えば、並列実行される相手方の除去処理で残った部分が除去されることになり、それら両方の除去処理を実行した場合と実質的に同じ処理結果となる。また、この例では、後段の処理がＯＣＲ処理なので、ＡＮＤ合成前に二値化しても問題がない。
【００５９】
なお、図４の例の条件では、入力画像に対して、例えば下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃの順に直列に処理を実行しても、図４の順序の場合と同等の品質の処理結果が得られる。このように同等の品質の処理結果が得られる順序が複数ある場合、順序計画部２０は、それら複数のうちで並列実行される画像変換フィルタ３２の数が多い順序ほど優先的に選択するようにしてもよい。図４の条件の例では、下線除去の後印影除去と網掛除去を並列に実行する第１の順序と、下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃの順に直列に実行する第２の順序とで最終的な処理結果の画像の品質が同等である場合、第１の順序が選択される。
【００６０】
以上に説明したように、本実施形態では、入力画像に対して複数の画像変換フィルタ３２の変換処理を適用する場合に、考え得る適用順序のうち、最終的な処理結果画像が最良となる順序を順序計画部２０により求める。そして、求めた順序に従って画像処理制御部４０が、入力画像に対してそれら画像変換フィルタ３２を順に適用していく。
【００６１】
ここで、最終的な処理結果画像が「最良」であるとは、後段の処理装置がその処理結果画像を処理したときの処理結果の品質又は精度が、考え得るすべての適用順序でそれぞれ入力画像を処理した場合の後段の処理装置の処理結果の品質の中で最良であることである。例えば、後段の処理装置がＯＣＲ装置である場合、入力画像に対するそのＯＣＲ装置のＯＣＲ結果の精度が最も高いと予想される適用順序が、処理結果画像が最良となる順序である。
【００６２】
なお、処理結果画像が最良となる順序が複数ある場合もある。例えば前述した図４の条件において、下線除去部３２ａの後印影除去部３２ｂと網掛除去部３２ｃを並列に実行する第１の順序と、下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃの順に直列に実行する第２の順序とは、ともに処理結果画像が最良となる。
【００６３】
処理結果画像が最良となる順序が複数ある場合、順序計画部２０は、それら最良の順序のうち、並列実行される画像変換フィルタ３２の数が多いものほど優先的に選択する。例えば、ある入力画像に対して第１〜第４の４つの画像変換フィルタ３２を適用する必要がある場合を考える。この場合において、第１の画像変換フィルタ３２の適用後に第２〜第４の画像変換フィルタ３２を並列に適用する第１順序と、第１、第２の画像変換フィルタ３２を順に適用した後に第３と第４の画像変換フィルタ３２を並列に適用する第２順序とが、共に処理結果画像の品質が最良であるとする。この場合、順序計画部２０は、並列実行する画像変換フィルタ３２の数がより多い第１順序の方を、その入力画像に適用する順序として選択する。
【００６４】
このように処理結果画像の品質が同じであれば、並列実行する画像変換フィルタ３２の数が多い順序を優先的に選択することには、次の意義がある。
【００６５】
第１に、処理結果画像の劣化の度合いが少なくなる。この点について詳しく説明する。画像に対して画像変換フィルタ３２を適用すると、その画像変換フィルタ３２が対象としている特徴については十分な品質の処理結果が得られる。しかし、画像変換フィルタ３２は画像全体に作用するので、その画像内のその特徴以外の部分の品質を多少なりとも悪化させる。したがって、複数の画像変換フィルタ３２を直列に順に画像に適用すると、画像変換フィルタ３２の数だけ画像の劣化が蓄積することとなる。これに対して、その適用順序の中に図４の例のようにいくつかの画像変換フィルタ３２を並列に適用する部分があると、その並列する数に応じた分だけ、入力画像が画像変換を受ける回数が少なくなる。例えば、入力画像に３つの画像変換フィルタ３２を適用する場合に、それら３つを直列に適用すると入力画像は３回の画像変換を受けることになり、３回分の画像の劣化が蓄積する。これに対して、同じ３つの画像変換フィルタ３２を適用する場合であっても、そのうちの２つの画像変換フィルタ３２が並列に実行される適用順序であれば、個々の並列の経路において、入力画像は２回の画像変換を受けるだけであり、蓄積される画像の劣化は２回分に留まる。同じ数の画像変換フィルタ３２を適用するのであれば、並列に実行される画像変換フィルタ３２の数が多いほど、入力画像が受ける劣化の回数が少なくなるので、最終的な処理結果画像の劣化も少なくなる。
【００６６】
第２の意義は、個々の画像変換フィルタ３２をハードウエア回路として実装する場合、並列して実行する画像変換フィルタ３２の数が多いほど、並列化の効果により処理に要する時間が短縮されるということである。この意義は、ＤＲＰやニューロチップのように、実行する処理の内容をプログラマブルに可変できるハードウエア回路を用いる場合にも該当する。すなわち、画像処理装置が備える限られた数のそのようなプログラマブルなハードウエア回路を使い回して複数の画像変換フィルタ３２として用いる場合でも、いくつかの画像変換フィルタ３２を複数のハードウエア回路で同時並列して構成できれば、並列化により処理時間が短くなる。
＜順序計画部の構築の例１＞
【００６７】
次に、本実施形態の画像処理装置における順序計画部２０の構築方法を例示する。本実施形態では、機械学習技術により順序計画部２０に入力画像から順序計画を生成する処理を学習させる。この例では、順序計画部２０は、学習のためのニューラルネットワークを内蔵している。
【００６８】
図５に示す例は、順序計画部２０の学習のためのシステムを画像処理装置内に組み込んだ場合のものである。図５において、図１に示した構成要素と同じものには同じ符号を付す。
【００６９】
図５に示す画像処理装置は、学習制御部５０と学習ＤＢ（データベース）５２を含む。学習制御部５０は、順序計画部２０の学習のための処理を制御する装置であり、学習手段の一例である。学習ＤＢ５２は、その学習に用いる学習データを保持するデータベースである。学習ＤＢ５２には、まず、学習に用いる多数の学習用画像が記憶されている。学習用画像は、画像処理機構３０の画像処理で対処すべき１以上の特徴（例えばノイズ特徴）が含まれた画像である。含まれる特徴は学習用画像ごとに異なっていてもよい。学習用画像（すなわちサンプル）は、この画像処理装置の使用目的に応じて用意される。例えば、ある企業のある種類の帳票を文字認識するためにこの画像処理装置を使用する場合には、その企業のその種類の過去の帳票の画像データ（例えばＰＤＦ形式のデータ）が学習用データとして学習ＤＢ５２内に用意される。
【００７０】
この例では、順序計画部２０が含むニューラルネットワークは、画像を入力とし、その画像に適用すべき順序計画を出力とする。すなわち、この例では、順序計画部２０が１つのニューラルネットワークとして実装される。
【００７１】
図６に、この例における学習制御部５０の処理手順を例示する。この例の手順は、大きく分けると、学習データペアの作成段階（Ｓ１０〜Ｓ２２）と、それら学習データペアを用いてニューラルネットワークを学習させる段階（Ｓ２４）とからなる。学習データペアの作成段階（Ｓ１０〜Ｓ２２）の処理は、学習ＤＢ５２内の学習用画像ごとに繰り返し実行される（Ｓ２２）。また、学習データペアの作成段階は、適用する画像変換フィルタを決定する段階（Ｓ１０〜Ｓ１４）と、フィルタ実行順序を決定する段階（Ｓ１６〜Ｓ２０）とからなる。
【００７２】
まず適用する画像変換フィルタを決定する段階（Ｓ１０〜Ｓ１４）の処理について、更に図７を参照しつつ説明する。この段階では、学習制御部５０は、学習ＤＢ５２が有する学習用画像ごとに、その学習用画像を、画像処理機構３０が有する各画像変換フィルタ３２に入力する（Ｓ１０）。そして、この入力に対してその画像変換フィルタ３２から出力される画像を、後段の処理装置、例えばＯＣＲ装置に入力する（Ｓ１２）。後段の処理装置は、入力された画像を処理して処理結果を出力する。例えばＯＣＲ装置は、ＯＣＲ結果と共にそのＯＣＲ結果の確信度を出力する。そして、学習制御部５０は、その学習用画像について、確信度が所定の閾値を超えた画像変換フィルタ３２を抽出する（Ｓ１４）。
【００７３】
例えば、図７に示す例では、学習制御部５０は、画像処理機構３０が備える下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃ等の各画像変換フィルタ３２に、それぞれ学習用画像を処理させ、その処理の結果の画像をＯＣＲ装置６０に処理させる。そして、ＯＣＲ装置６０が出力する確信度を取得する。そして、下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃ等のうちで、その学習用画像の処理結果をＯＣＲ装置６０に認識させたときの確信度が閾値を超えたものを抽出する。
【００７４】
Ｓ１４では、抽出する画像変換フィルタ３２の数に上限を設けてもよい。この場合、学習制御部５０は、確信度が閾値を超える画像変換フィルタ３２の数がその上限を超えている場合には、確信度が高い方から順に、その上限の個数までの画像変換フィルタ３２を抽出する。学習制御部５０は、学習用画像ごとに、その学習用画像について抽出した画像変換フィルタ３２の組を記憶する。
以上に説明した、適用する画像変換フィルタを決定する段階（Ｓ１０〜Ｓ１４）の処理は、画像処理手段の母集団から複数の画像処理手段を選択する選択手段の一例である。
【００７５】
次に、フィルタ実行順序を決定する段階（Ｓ１６〜Ｓ２０）の処理について、更に図８Ａ及び図８Ｂを参照しつつ説明する。この段階では、学習制御部５０は、学習用画像ごと、その学習用画像を、Ｓ１４で抽出した画像変換フィルタ３２群を組み合わせて構成可能な順序パターンの各々に従って処理する（Ｓ１６）。そして、順序パターンごとに、その順序パターンに従った処理により得られた画像を後段の処理装置、例えばＯＣＲ装置６０に処理させ、その処理結果の確信度を得る（Ｓ１８）。
【００７６】
例えば、Ｓ１４で下線除去部３２ａ、印影除去部３２ｂ及び網掛除去部３２ｃという３つの画像変換フィルタ３２が抽出された場合、構成可能な順序パターンには、図８Ａ及び図８Ｂに示すものが含まれる。
【００７７】
例えば、図８Ａに示す順序パターン１は、それら３つを並列に実行するという順序を示す。この場合、それら３つの各々による学習用画像の処理結果は、二値化合成部３４により二値化及び合成され、その合成により得られた画像がＯＣＲ装置６０に入力される。ＯＣＲ装置６０は、その画像に対して文字認識を実行し、認識結果と確信度を出力する。順序パターン２及び３は、それら３つの画像変換フィルタ３２のうち１つをまず実行し、その次に残りの２つを並列に実行するという順序の例である。並列に実行される２つの画像変換フィルタ３２の出力画像は二値化合成部３４により二値化され合成された上で、ＯＣＲ装置６０に入力される。
【００７８】
図８Ｂに示す順序パターンｋは、学習用画像をまず下線除去部３２ａと印影除去部３２ｂにそれぞれ入力し、その各々の処理結果の画像をそれぞれ網掛除去部３２ｃで処理させるという順序を示す。すなわち、順序パターンｋは、抽出された３つの画像変換フィルタ３２のうちまず２つを並列に実行し、それら２つの処理結果の画像を残りの１つで処理させるという順序の一例である。順序パターン２及び３とは異なり、先に２つの画像変換フィルタ３２を並列に実行すると、その各々の処理結果に対して個別に残りの１つの画像変換フィルタ３２を適用する必要がある。並列経路の各々の網掛除去部３２ｃの処理結果は、二値化合成部３４により二値化され合成された上で、ＯＣＲ装置６０に入力される。
【００７９】
図８Ｂに示す順序パタ−ン（Ｎ−１）及びＮは、それら３つの画像変換フィルタ３２を直列に実行する順序の例である。直列に実行する場合には、二値化合成部３４の処理はなくてもよい。
【００８０】
図８Ａ及び図８Ｂに示した順序パターンは、Ｓ１４で抽出された全て（すなわち図示例では３つ）の画像変換フィルタ３２を用いるものであった。しかし、Ｓ１６〜Ｓ１８では、Ｓ１４で抽出された画像変換フィルタ３２のうちの一部のみを用いた順序パターンについて更に試行してもよい。例えば、図８Ａ及び図８Ｂに示した下線除去部３２ａ、印影除去部３２ｂ及び網掛除去部３２ｃのうちの２つのみを含んだ順序パターンについても、同様に学習用画像に適用して確信度を求めてもよい。
【００８１】
図６の説明に戻ると、Ｓ１６及びＳ１８にて、ある学習用画像を各順序パターンで処理した場合についての確信度が求められると、次に学習制御部５０は、それらのうち確信度が最高となる順序パターンを選択する（Ｓ２０）。Ｓ２０で学習制御部５０は、確信度が文字通り最高の順序パターンを１つ選択してもよいし、条件を満たす範囲内で確信度が高い順に複数の順序パターンを選択してもよい。個々での条件は、例えば、選択する順序パターンの上限数であってもよいし、確信度が閾値以上の順序パターンを選択するという条件であってもよい。
【００８２】
また、学習制御部５０は、確信度が最高の順序パターンを上限数以内で選択する場合に、確信度が同等（例えば互いの確信度の差が許容範囲内）であれば、並列して実行する画像変換フィルタ３２の数が多い順序パターンを優先的に選択する。これにより、順序計画部２０となるニューラルネットワークは、学習用画像に対応する順序パターンとして、並列して実行する画像変換フィルタ３２の数が多い順序パターンほど優先的に学習することとなる。
【００８３】
学習制御部５０は、選択した１以上の順序パターンをその学習用画像と対応付けて学習ＤＢ５２に記憶する。学習用画像と、選択された１以上の順序パターンと、のペアを、学習データペアと呼ぶ。
【００８４】
学習制御部５０は、学習ＤＢ５２に記憶されたすべての学習用画像について、Ｓ１０〜Ｓ２０の処理を繰り返す（Ｓ２２）。すべての学習用画像についてＳ１０〜Ｓ２０の処理が終わった段階では、学習ＤＢ５２内には、図９に例示する学習データが記憶されている。この例の学習データには、複数の学習データペアが含まれる。例えば、学習データペアノうちの最初のもの（図示例の「ペア１」）は、１番目の学習用画像（すなわち「学習用画像＃１」）と、その学習用画像について最も確信度が高かった順序パターンの情報と、を含む。ペア１の順序パターンは、Ｎという識別情報で識別されるものであり、具体的な順序は、下線除去部３２ａ、印影除去部３２ｂ、網掛除去部３２ｃをこの順に直列で実行する順序を示す。図では、説明のために、ペアに含まれる順序パターンに対応する順序を明示しているが、実際の学習データペアでは、順序パターンの識別情報があれば足りる。なお、図９の例のペア１〜３に含まれる順序パターンは下線除去、印影除去、網掛除去の３つの画像処理の順序であるのに対し、ペア４に含まれる順序パターンは、網掛除去に代えて地紋除去を含む３つの画像処理の順序である。これは、学習用画像に適した順序パターンを構成する画像処理（例えば画像変換フィルタ３２）は、学習用画像ごとに異なる場合があることを示す例である。
【００８５】
図６の説明に戻ると、Ｓ２２で全ての学習用画像についての処理が完了したと判定されると、学習制御部５０は、順序計画部２０となるべきニューラルネットワークを、学習データペア群により学習させる（Ｓ２４）。すなわち、学習データペアに含まれる学習用画像及び順序パターンを、ニューラルネットワークの入力及び教師データとして用いることにより、ニューラルネットワークを学習させる。
【００８６】
図１０を参照して更に詳しく説明すると、学習制御部５０は、学習データペアごとに、そのペアに含まれる学習用画像を、順序計画部２０となるべきニューラルネットワーク２００に入力する。次に、学習制御部５０は、その入力に対してニューラルネットワーク２００が出力した順序計画と、その学習データペアに含まれる順序パターンとの損失（すなわち誤差）を求める。そして学習制御部５０は、その損失をニューラルネットワーク２００にフィードバックすることにより、そのニューラルネットワーク２００を学習させる。なお、あくまで一例であるが、ここで用いるニューラルネットワーク２００は、ＣＮＮ（Convolutional Neural Network）であってもよい。
【００８７】
学習制御部５０は、所定の学習終了条件が達成されるまで（Ｓ２６）、各学習データペアを用いて繰り返しニューラルネットワーク２００を学習させる。学習終了条件は、例えば学習ＤＢ５２内に記憶されたすべての学習データペアについての学習が完了することであってもよいし、所定数個の学習データペアについての学習が完了することであってもよい。また、ニューラルネットワーク２００の学習が収束することを学習終了条件としてもよい。そして、学習終了条件が達成されると（すなわちＳ２６の判定結果がＹｅｓ）、学習制御部５０は、ニューラルネットワーク２００の学習を終了する。
【００８８】
このようにして学習が済んだニューラルネットワーク２００が、順序計画部２０として使用されることとなる。このようにして構築された順序計画部２０は、画像が入力されると、その画像に適した順序計画を出力する。
＜順序計画部の構築の例２＞
【００８９】
以上に例示したのは、順序計画部２０全体をニューラルネットワーク２００として構成するものであった。しかし、これはあくまで一例にすぎない。
【００９０】
別の例として、図１１に示すように、順序計画部２０を特徴抽出部２２と順序選択部２４との組合せとして構成してもよい。
【００９１】
特徴抽出部２２は、入力画像に含まれる特徴（例えば前述のノイズ特徴）を抽出する。特徴抽出部２２の出力は、入力画像から抽出した特徴のリスト（すなわち図示の「特徴リスト」）である。この例ではこの特徴抽出部２２をニューラルネットワークにより構成する。
【００９２】
順序選択部２４は、その特徴リストに含まれる１以上の特徴の組合せから、それら１以上の特徴に対処するために適切な順序計画を選択する。順序選択部２４は、その選択にあたり、ルールテーブル２５を参照する。図１１に例示したルールテーブル２５は、画像変換フィルタ３２ごとに、その画像変換フィルタ３２の識別情報（すなわち「フィルタＩＤ」）と、事前条件と、事後条件とを規定している。事前条件は、前提条件と禁止条件を含む。前提条件及び禁止条件は、それぞれ、当該画像変換フィルタ３２が適用される画像について成り立つ条件、及び成り立ってはいけない条件である。事後条件は、その画像変換フィルタ３２が出力される画像について成り立つ条件である。例えば、フィルタＩＤが「１」の画像変換フィルタ３２は、前提条件「印影あり」が示すように、印影を含む画像へ適用されるものであり、且つ、禁止条件「下線あり」が示すように、下線を含む画像への適用は禁止される。また、事後条件「印影なし」が示すように、その画像変換フィルタ３２は、印影が除去された画像を出力する。また、フィルタＩＤが「４」の画像変換フィルタ３２は、「××」という名前の特徴を含んだ画像に適用されるが、印影又は網掛のうちの少なくとも一方を含む画像への適用は禁止され、入力された画像から特徴「××」が除去された画像を生成する。ルールテーブル２５は、個々の画像変換フィルタ３２についての既知の知識に基づいて、予め作成されている。
【００９３】
順序選択部２４は、入力された特徴リストに含まれる特徴ごとに、前提条件がその特徴を「あり」としている画像変換フィルタ３２をルールテーブル２５から抽出する。これにより特徴ごとに、その特徴に「対応する画像変換フィルタ３２」が１以上求められる。次に、順序選択部２４は、特徴リストに含まれる特徴ごとに、その特徴に「対応する画像変換フィルタ３２」を１つずつ選ぶ。そして、順序選択部２４は、特徴ごとに選んだ「対応する画像変換フィルタ３２」から構成可能な順序パターンを、並列する画像変換フィルタ３２の数が多い順序パターンから順に評価する。
【００９４】
この評価では、次の２つの点を調べる。
【００９５】
第１に、順序選択部２４は、その順序パターンを構成する「対応する画像変換フィルタ３２」の組合せにより、特徴リストに含まれるすべての特徴について対応できるかどうかを判定する。この判定は、それら「対応する画像変換フィルタ３２」の事後条件に基づき行う。順序パターンを構成する「対応する画像変換フィルタ３２」の組合せでは、それらすべての特徴に対応できない場合、順序選択部２４は、その順序パターンを採用しない。
【００９６】
第２に、順序選択部２４は、その順序パターンを構成する各「対応する画像変換フィルタ３２」の禁止条件により、その順序パターンが示す順序が禁止されるかどうかチェックする。順序選択部２４は、このチェックにおいて禁止されることが分かった順序パターンは採用しない。
【００９７】
順序選択部２４は、これら第１及び第２の評価にて、特徴リストに含まれるすべての特徴について対応でき、かつ、禁止条件により禁止されない順序パターンを採用する。
【００９８】
例えば、図１１に例示したルールテーブル２５を用いる場合において、入力画像から下線、印影、及び網掛という３つのノイズ特徴が抽出された場合を考える。そして、これらノイズ特徴に応じて、フィルタＩＤが「１」、「２」、「３」である３つの画像変換フィルタ３２が抽出されたとする。この場合、順序選択部２４は、まずそれら３つの画像変換フィルタ３２の事後条件を調べることにより、それら３つを用いれば、下線、印影、及び網掛という３つのノイズ特徴のすべてに対応できる（すなわちこの場合は、除去できる）ことを確認する。すなわちそれら３つの画像変換フィルタ３２の組合せは、上述した第１の評価ポイントについて合格であることが分かる。
【００９９】
そこで次に順序選択部２４は、それら３つの画像変換フィルタ３２から構成可能な順序パターンのうち、並列実行する画像変換フィルタ３２の数が最も多いもの、すなわちそれら３つを並列実行するもの、が禁止条件により禁止されるか否かをチェックする。例えば、フィルタＩＤが「１」の画像変換フィルタ３２は、入力画像に下線が含まれることが禁止条件である。ところが、対象とする入力画像には下線が含まれるので、この画像変換フィルタ３２にその入力画像を入力することは禁止条件に抵触する。したがって、順序選択部２４は、それら３つの画像変換フィルタ３２を並列に実行するという最初の順序パターンは、禁止条件により採用不可と判定する。そこで、順序選択部２４は、並列実行する画像変換フィルタ３２の数が次に多い、すなわち２つの画像変換フィルタ３２を並列実行する順序パターンについて評価する。この場合、
【０１００】
例えば、順序選択部２４が、２つの画像変換フィルタ３２をまず並列に実行し、その各々の変換結果に残りの１つの画像変換フィルタを適用する順序パターンについて評価するとする。この場合、フィルタＩＤが「１」、「２」、「３」のうちのどの２つを最初に並列実行したとしても、入力画像には下線、印影、及び網掛という３つのノイズ特徴が含まれているので、その２つのうち少なくとも一方は必ず禁止条件に抵触する。このため、２つの画像変換フィルタ３２をまず並列に実行する順序パターンは，いずれも不採用と判定される。
【０１０１】
次に順序選択部２４は、それら３つの画像変換フィルタ３２のうちの１つをまず入力画像に適用し、その１つによる変換結果の画像に残りの２つを並列に適用する順序パターンを評価する。例えば、フィルタＩＤが「３」の画像変換フィルタ３２（すなわち下線除去を行うフィルタ）を最初に適用し、次に残りの２つの画像変換フィルタ３２を並列に適用する順序パターンを評価するとする。この場合、フィルタＩＤが「３」の画像変換フィルタ３２は禁止条件がないので、入力画像が下線、印影、及び網掛の３つを含んでいても適用可能である。この画像変換フィルタ３２の出力する画像は、下線を含まず、印影と網掛のみを含む。この次に並列に適用されるフィルタＩＤが「１」及び「２」の２つの画像変換フィルタ３２は、共に禁止条件は画像に下線が含まれることだけなので、最初の下線除去のフィルタの出力を入力しても禁止条件には抵触しない。したがって、この順序パターンは、用いるどの画像変換フィルタ３２の禁止条件にも抵触しないので、順序選択部２４は、この順序パターンを採用する。すなわち、順序選択部２４は、この順序パターンを、その入力画像に適用する順序計画として選択する。
【０１０２】
この例では、順序選択部２４は、並列して実行する画像変換フィルタ３２の数が多い順序パターンから順に評価し、含まれるすべての画像変換フィルタ３２の禁止条件に抵触しない最初の順序パターンを見つけると、その順序パターンを採用する。したがって、順序選択部２４が採用する順序パターンは、いずれの禁止条件でも禁止されない順序パターンのうち、並列して実行する画像変換フィルタ３２の数が最も多いものとなる。
【０１０３】
以上に例示したルールテーブル２５は、順序規定情報の一例である。また、「入力画像から抽出された各特徴に対応する画像変換フィルタ３２の組合せから構成可能な順序パターンのうち並列実行する画像変換フィルタ３２の数が多いものから順に評価して、最初に見つかった、禁止条件で禁止されない順序パターンを採用する」という手順も、順序規定情報の一例である。また、この手順とルールテーブル２５との組合せも、順序規定情報の一例である。
【０１０４】
次に、特徴抽出部２２のニューラルネットワークを学習させる方法について例示する。この学習のために、図１２に例示する様に、学習用画像と、その学習用画像に含まれる特徴（例えばノイズ特徴）のリストと、のペアを多数用意し、学習ＤＢ５２に登録しておく。学習制御部５０は、それらペアごとに、そのペアに含まれる学習用画像をニューラルネットワーク２２０に入力する。このニューラルネットワーク２２０は、入力された画像に含まれる特徴のリストを出力する。学習制御部５０は、ニューラルネットワーク２２０が出力した特徴のリストと、その学習用画像に対応付けて学習ＤＢ５２に登録されている特徴のリストとを比較し，それら両者の誤差を表す損失を求める。そして、その損失をニューラルネットワーク２２０にフィードバックすることにより、ニューラルネットワーク２２０を学習させる。所定の学習終了条件が満たされるまで、それらペアを用いてニューラルネットワーク２２０を学習させる。このようにして学習が済んだニューラルネットワーク２２０を特徴抽出部２２として用いる。
【０１０５】
図５に示した例では、順序計画部２０に含まれるニューラルネットワークを学習させる学習制御部５０及び学習ＤＢ５２が画像処理装置内に含まれていたが、これは一例に過ぎない。この代わりに、画像処理装置の外部に、ニューラルネットワークと学習制御部５０と学習ＤＢ５２とを備えたシステムを用意し、このシステムにて、上述した方法で、そのニューラルネットワークを学習させてもよい。この場合、学習済みのニューラルネットワークを規定する規定情報を、そのシステムから画像処理装置内の順序計画部２０にダウンロードすればよい。ダウンロードする規定情報は、例えば、学習済みのニューラルネットワークの各層のノード構成、各層のノード間を結ぶ結合のパターン、及びそれら各結合の重み、等を規定する情報等である。
【０１０６】
また以上の例では、順序計画部２０がニューラルネットワークを含む例を説明したが、順序計画部２０は、ニューラルネットワーク以外の機械学習方式を用いた装置を含むものであってもよい。
【０１０７】
以上に説明した画像処理装置は、コンピュータに上述のその画像処理装置を構成する要素群の機能を表すプログラムを実行させることにより実現してもよい。ここで、コンピュータは、例えば、ハードウエアとして、ＣＰＵ等のマイクロプロセッサ、ランダムアクセスメモリ（ＲＡＭ）及びリードオンリメモリ（ＲＯＭ）等のメモリ（一次記憶）、フラッシュメモリやＳＳＤ（ソリッドステートドライブ）、ＨＤＤ（ハードディスクドライブ）や等の固定記憶装置を制御するコントローラ、各種Ｉ／Ｏ（入出力）インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがＲＡＭに読み出されＣＰＵ等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。また、それら画像処理装置の要素のうちの一部又は全部がハードウエア回路として構成されてもよい。
【符号の説明】
【０１０８】
１０  画像受付部、２０  順序計画部、２２  特徴抽出部、２４  順序選択部、２５  ルールテーブル、３０  画像処理機構、３２  画像変換フィルタ、３２ａ  下線除去部、３２ｂ  印影除去部、３２ｃ  網掛除去部、３４  二値化合成部、４０  画像処理制御部、５０  学習制御部、５２  学習ＤＢ、６０  ＯＣＲ装置、１０２  生成器、１０４  識別器、１０６  識別結果判定部、１０８  画像比較部、１１０  学習制御部、２００，２２０  ニューラルネットワーク。
【図１】
2020154600.tif 000003
【図２】
2020154600.tif 000004
【図３】
2020154600.tif 000005
【図４】
2020154600.tif 000006
【図５】
2020154600.tif 000007
【図６】
2020154600.tif 000008
【図７】
2020154600.tif 000009
【図８Ａ】
2020154600.tif 000010
【図８Ｂ】
2020154600.tif 000011
【図９】
2020154600.tif 000012
【図１０】
2020154600.tif 000013
【図１１】
2020154600.tif 000014
【図１２】
2020154600.tif 000015