(57)【要約】  複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置において、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部とを有することを特徴とする画像処理装置により達成される。
2014104151.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、
前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、
複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部と
を有することを特徴とする画像処理装置。
【請求項２】
前記個体生成部は、
遺伝的プログラミングを用いて、前記木構造に前記複数の画像フィルタを配列した個体群を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記個体生成部は、
前記目的画像をルートとして、前記複数の画像フィルタを木構造に配列し、所定階層において前記入力画像を終端ノードに選択することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記個体群に対して、遺伝的プログラミングを用いた進化過程処理を行う進化過程処理部を更に有し、
前記進化過程処理部は、交叉ペアの選択を前記階層毎に制限する交叉ペアの制限ルールを用いて、前記個体群に対して交叉処理を行うことを特徴とする請求項１項記載の画像処理装置。
【請求項５】
前記進化過程処理部は、突然変異の種類を前記階層毎に制限する突然変異の制限ルールを用いて、前記個体群に対して突然変異処理を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出方法であって、
記憶部に格納された、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の前記複数の画像フィルタに係る情報を管理するフィルタテーブルを参照し、
前記階層毎に、前記画像フィルタを前記フィルタテーブルから選択し、
前記木構造に前記複数の画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出方法。
【請求項７】
コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出プログラムであって、
記憶部に格納された、複数の画像処理により階層化された階層毎に、該階層毎に異なる前記複数の画像フィルタに係る情報を管理するフィルタテーブルを参照し、
前記階層毎に、前記画像フィルタを前記フィルタテーブルから選択し、
前記木構造に前記複数の画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出プログラム。
【請求項８】
撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいて学習データを選択する選択部と、
遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有するを特徴とする画像処理装置。
【請求項９】
前記画像の平均輝度、輝度ヒストグラム、空間周波数情報から前記特徴量を取得することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記遺伝的プログラミングを用いた学習過程において、生成途中の木構造状の前記処理プログラムから特徴量を算出し、学習データを再選別することを特徴とする請求項８記載の画像処理装置。
【請求項１１】
木構造状の前記処理プログラムから、該処理プログラムの各フィルタから前記画像の平均輝度を特徴量として取得することを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
前記学習データに対して前記特徴量によるクラスタリングを行い、分類されたサンプル群から代表サンプルを選択して、学習データを更新することを特徴とする請求項８記載の画像処理装置。
【請求項１３】
撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理方法であって、
初期学習時に前記画像の特徴量に基づいて学習データを選択し、
遺伝的プログラミングを用いた学習により前記木構造状の処理プログラムを生成する
ことを特徴とする画像処理方法。
【請求項１４】
撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理プログラムであって、
初期学習時に前記画像の特徴量に基づいて学習データを選択し、
遺伝的プログラミングを用いた学習により前記木構造状の処理プログラムを生成する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することに関する。
【背景技術】
【０００２】
従来より、外観検査では、カメラなどの撮像素子を用いて製品の外観を撮影し、欠陥の有無を判定することが行われている。特に、ＦＡ（ファクトリーオートメーション）分野においては、現場の撮影環境に応じたノイズや影、明るさの変動などが撮影画像に発生することが多く、欠陥部を抽出する画像処理アルゴリズムは環境変化にロバストな処理が望まれている。また、外観検査装置を運用していく中で、検査対象の変更や装置の改良を行った際、それに起因した環境の変化が発生し、画像処理アルゴリズムの再構築が必要となる場合がある。そのため、画像処理方法構築の容易性も求められている。【０００３】
一方、画像処理アルゴリズムの自動生成手法として、遺伝的プログラミングを画像処理に適用したツリー構造状画像変換自動生成法が提案されている。この手法は、構成する画像処理手法を木構造と考え、入力画像と目的となる処理結果の画像（目的画像）を用意し、遺伝的プログラミングを用いて、目的の処理に対し適応度の高い画像処理フィルタ群の木構造を最適化する手法である。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】ＡＣＴＩＴ: Automatic Construction of Tree-structural Image Transformation、情報メディア学会誌53、6、pp888-894、1999
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術となるＡＣＴＩＴにおいて、複雑な処理を木構造により表現するためには、フィルタ構造の基となる画像フィルタの種類と木構造の深さを大きくする必要がある。しかしながら、種類と深さが大きくなれば、フィルタ構造の組合せが爆発的に大きくなり、探索範囲が広くなることから目的の画像処理手法の探索性能が悪くなると言った問題があった。【０００６】
１つの側面において、本発明の目的は、目的画像に応じた画像処理の流れを予め指定して、木構造の階層毎に画像フィルタの種類を制限し、フィルタ構造の探索を行うことである。
【課題を解決するための手段】
【０００７】
本実施例の一態様によれば、画像処理装置は、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置において、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部とを有する。【０００８】
また、本実施例の一態様によれば、撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置は、初期学習時に前記画像の特徴量に基づいて学習データを選択する選択部と、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部とを有する。【０００９】
また、上記課題を解決するための手段として、コンピュータによって実行される特徴検出プログラム、その特徴検出プログラムを記録した記録媒体、及び特徴検出方法とすることもできる。
【発明の効果】
【００１０】
本実施例の一態様によれば、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、環境変化に対するロバストな画像処理を説明するための図である。
【図２】図２は、木構造状の画像処理アルゴリズムの一例を示す図である。
【図３】図３（Ａ）及び図３（Ｂ）は、第１実施例における特徴検出処理の概要を説明するための図である。
【図４】図４は、第１実施例における画像処理装置の機能構成例を示す図である。
【図５】図５は、第１実施例における画像処理装置のハードウェア構成を示す図である。
【図６】図６（Ａ）及び図６（Ｂ）は、第１実施例における初期個体の生成処理を説明するための図である。初期個体の生成処理を説明するための図である。
【図７】図７は、第１実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。
【図８】図８は、第１実施例におけるフィルタテーブルのデータ構成例を示す図である。
【図９】図９は、第１実施例における個体群情報によって表されるフィルタ構造例を示す図である。
【図１０】図１０は、第１実施例における進化過程処理を説明するための図である。
【図１１】図１１は、第１実施例における学習時の適応度の推移の比較を説明するための図である。
【図１２】図１２は、第１実施例における木構造の深さに対する組合せ数の比較を説明するための図である。
【図１３】図１３は、第２実施例における２つの個体間の適応度例を示す図である。
【図１４】図１４は、目的画像を得られない場合の例を示す図である。
【図１５】図１５は、第２実施例における画像処理装置の機能構成例を示す図である。
【図１６】図１６は、第１実施例における画像処理装置のハードウェア構成を示す図である。
【図１７】図１７は、第２実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。
【図１８】図１８は、振幅画像を示す図である。
【図１９】図１９（Ａ）、図１９（Ｂ）、及び図１９（Ｃ）は、特徴量の例を示す図である。
【図２０】図２０（Ａ）及び図２０（Ｂ）は、第２実施例における初期の特徴情報及びクラスタリングの例を示す図である。
【図２１】図２１は、第２実施例における１回目学習により更新された画像処理アルゴリズムの例を示す図である。
【図２２】図２２（Ａ）及び図２２（Ｂ）は、第２実施例における１回目学習時の特徴情報及びクラスタリングの例を示す図である。
【図２３】図２３は、第２実施例における２回目学習により更新された画像処理アルゴリズムの例を示す図である。
【図２４】図２４（Ａ）及び図２４（Ｂ）は、第２実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。
【図２５】図２５は、第２実施例における最大適応度を示す画像処理アルゴリズム８ａの認識率の推移を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。
［第１実施例］
図１は、環境変化に対するロバストな画像処理を説明するための図である。図１において、明るさ、位置等によって環境変化の異なる入力画像２に対して、ロバストな画像処理１を行うことによって、目的画像４を得る。即ち、ロバストな画像処理１は、環境変化の異なる複数の入力画像２に対して、目的画像４を得るための最適な処理を行う。目的画像４は、例えば、ＦＡ（ファクトリーオートメーション）において、製造物の欠陥部を抽出するための画像である。欠陥部は、即ち、抽出する特徴部とも言える。
【００１３】
この画像処理１において、構成される画像処理手法を、ＡＣＴＩＴ（非特許文献１）を参照することにより木構造と考えると、例えば、図２に示されるような構成となる。図２は、木構造状の画像処理アルゴリズムの一例を示す図である。図２に示すように、各入力画像２に対して構成される画像処理Ｆ１、Ｆ２、Ｆ３、Ｆ４、Ｆ５は、目的画像４をえるために木構造処理１ａを形成する。木構造処理１ａでは、遺伝的プログラミングによる最適化が行われる。
【００１４】
この例では、図２において上段の入力画像２に対して、画像処理Ｆ２、Ｆ３、及びＦ５が適用され目的画像４を得る。中段の入力画像２に対して、画像処理Ｆ１、Ｆ２、Ｆ３、及びＦ５が適用され目的画像４を得る。下段の入力画像２に対して、画像処理Ｆ４、Ｆ５が適用され目的画像４を得る。このように、木構造状の画像処理アルゴリズムでは、目的画像４をルートとする木構造を示す。
【００１５】
図３（Ａ）及び図３（Ｂ）は、第１実施例における特徴検出処理の概要を説明するための図である。図３（Ａ）において、遺伝的プログラミングによる最適化では、木構造状の画像処理フィルタ群を個体９とし、複数の初期個体から交叉処理と突然変異処理とを行い、新たな個体群１ｂ'を生成し、適応度の高い個体群１ｂ'（画像処理フィルタ群）と入れ替えながら、個体群１ｂを更新することで、最適な個体群１ｂ'を探索する。例えば、個体群１ｂから２つの画像処理フィルタ群を木構造状で表す個体９を交叉対象として選択し、２つの個体９内から夫々１つの画像処理フィルタを新たに突然変異として、互いに置き換えることで得た個体群から最適な個体群１ｂ'を探索する。
【００１６】
図３（Ｂ）より、適応度は、撮影した画像（入力画像２）に対して個体群１ｂの各個体９を用いて処理を行い、処理結果となる出力画像３と教師データである目的画像４の比較により算出する。
【００１７】
これにより、入力画像２である撮影画像と処理結果の目的となる目的画像４のセットを用意することで、自動的に最適な画像処理アルゴリズムを構築することができる。また、撮影環境の異なる入力画像と目的画像のセットを複数用意することで、ロバストな画像処理アルゴリズムの自動構成も可能となる。
【００１８】
図４は、第１実施例における画像処理装置の機能構成例を示す図である。図４において、画像処理装置１００は、初期個体生成部４１と、進化過程処理部４２と、個体適応計算部４３と、生存選択部４４と、個体入替部４５とを有する。これら処理部４１から４５は、後述されるＣＰＵ１１が対応するプログラムを実行することによる処理によって実現される。記憶部１３０には、フィルタテーブル３１、個体情報１ｂ−２、入替個体情報１ｄ、入力画像２、出力画像３、目的画像４等が記憶される。
【００１９】
初期個体生成部４１は、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出において、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを選択して、木構造状のフィルタ構造を生成する処理部である。
【００２０】
初期個体生成部４１は、遺伝的プログラミングを用いて、初期個体生成ルール５ｒ（図６（Ｂ））に従って、目的画像４をルートと考え、各ノードを構成する際、フィルタテーブル３１から階層に応じて種類分けされた画像フィルタを適宜選択して個体群１ｂを生成する。個体群１ｂは、木構造を形成し、記憶部１３０の個体情報１ｂ−２として格納される。
【００２１】
進化過程処理部４２は、個体群１ｂに対して進化過程処理を行う処理部である。進化過程処理部４２は、交差処理部４２−１と、突然変異処理部４２−２とを有し、交差処理部４２−１によって個体群１ｂから２個体を取り出して交差処理を行い、突然変異処理部４２−２によって新たに加えた２個体で置き換えることにより突然変異処理を行う。進化過程処理部４２によって、個体群１ｂが進化することにより、個体群情報１ｂ−２が更新される。
【００２２】
個体適応計算部４３は、各個体の適応度を計算する処理部である。適応度（fitness）は、木構造のフィルタ構造において、各入力画像２に対して得られる出力画像３と予め用意した目的画像４との差分によって求められ、例えば、次式の
【００２３】
【数１】
2014104151.tif 000003
によって得られる。
【００２４】
生存選択部４４は、最良個体を所定ルールに基づいて１個体を選択する処理部である。所定ルールは、例えば、最も適合度の高い個体を残すルーレットルール等を用いる。
【００２５】
個体入替部４５は、個体群１ｂに対して、突然変異対象の２個体と入れ替える新たな２個体をフィルタテーブルから選択する処理部である。入れ替える外部の２個体を示す入替個体情報１ｄが記憶部１３０に格納される。
【００２６】
ここで、進化過程処理部４２での処理が繰り返されることにより、個体群１ｂから最良個体を除いて、交叉対象の２個体と、突然変異対象の２個体とを選択し、交叉処理と突然変異処理とが夫々実行される。この繰り返し処理は、例えば、個体適応計算部４３にて、個体群１ｂの全体としての適応度を計算することによって、所定値以上の適応度に到達した時点で終了するようにすれば良い。
【００２７】
このようにして得られた最終的な個体群１ｂ（フィルタ構造）を用いて、ＬＳＩ等の品質検査における傷等の特徴検出を行なう。
【００２８】
上述したような第１実施例に係る処理を行う画像処理装置１００は、図５に示すようなハードウェア構成を有する。図５は、第１実施例における画像処理装置のハードウェア構成を示す図である。図５において、画像処理装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インタフェース）１７と、ドライブ１８とを有し、バスＢに接続される。
【００２９】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って画像処理装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００３０】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００３１】
入力装置１４は、マウス、キーボード等を有し、ユーザが画像処理装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力装置１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００３２】
画像処理装置１００によって行われる第１実施例に係る処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって画像処理装置１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライブ１８にセットされると、ドライブ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置１３にインストールされる。そして、プログラムが起動されると、補助記憶装置１３にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００３３】
次に、初期個体生成部４１によって行われる初期個体の生成処理について図６（Ａ）及び図６（Ｂ）で説明する。図６（Ａ）及び図６（Ｂ）は、第１実施例における初期個体の生成処理を説明するための図である。図６（Ａ）より、目的画像４の特徴を抽出するための画像処理では、出力画像dstをルートと考え、各ノードを構成する際、階層に応じて種類分けされた画像フィルタを適宜選択する。一定の階層まで進めば、終端ノードとして原画像src（入力画像に相当）を選択する。例えば、特徴領域の抽出の場合、まず出力画像dstの直前の処理は２値画像処理を選択する。
【００３４】
次に、予め定めた初期個体生成ルール５ｒ（図６（Ｂ））に基づき、ノード選択時に親ノードが２値画像処理の場合は２値画像処理もしくは閾値処理を選択し、親ノードが閾値処理または画像強調処理の場合は画像強調処理もしくは原画像srcを選択する。一定の階層まで進んだ場合は強制的に原画像srcを選択する。
【００３５】
これにより、一般的な処理の流れとして、入力画像⇒画像強調処理⇒閾値処理⇒２値画像処理⇒出力画像となる初期個体群が生成可能となる。図６（Ａ）では、画像強調処理用のフィルタをＦ、閾値処理用のフィルタをＴ、２値画像処理用のフィルタをＢで簡易的に表している。
【００３６】
第１実施例では、処理全体における全体ノードの深さと、処理の属性毎に、即ち、画像強調処理、閾値処理、２値画像処理毎に、全体ノードの深さを予め定義する。全体ノードの深さを２０以下（全体ノードの最大深さを２０まで）と定義し、更に、各階層（各処理）の深さ２０の内訳は、入力画像２の処理順に、画像強調処理用のフィルタは深さ５、閾値処理用のフィルタは深さ１、２値画像処理用のフィルタは深さ１４で割り当てられるとする。
【００３７】
この各階層の深さ定義に基づき、初期個体生成部４１によって、木構造のフィルタ構造が生成される初期個体の生成処理について、図７で説明する。
【００３８】
図７は、第１実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。図７において、初期個体生成部４１は、ルートの識別情報（目的画像４）を親ノードに、深さカウンタを１に初期設定する（ステップＳ１０）。
【００３９】
初期個体生成部４１は、親ノード（目的画像４）がルートか否かを判断する（ステップＳ１１）。親ノードがルートの場合（ステップＳ１１のＹＥＳ）、初期個体生成部４１は、フィルタテーブル３１を参照して、属性が２値画像処理であるフィルタからランダムに選択する（ステップＳ１２）。初期個体生成部４１は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【００４０】
一方、親ノードがルートでない場合（ステップＳ１１のＮＯ）、初期個体生成部４１は、親ノードの属性が２値画像処理か否かを判断する（ステップＳ１３）。２値画像処理である場合（ステップＳ１３のＹＥＳ）、初期個体生成部４１は、深さカウンタによって示されるノードの深さが１４以下か否かを判断する（ステップＳ１４）。ノードの深さが１４以下である場合（ステップＳ１４のＹＥＳ）、初期個体生成部４１は、フィルタテーブル３１を参照して、属性が２値画像処理又は閾値処理であるフィルタからランダムに選択して、選択ノードに設定する（ステップＳ１５）。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【００４１】
一方、選択ノードの深さが５より大きい場合（ステップＳ１４のＮＯ）、初期個体生成部４１は、フィルタテーブル３１を参照して、属性が閾値処理であるフィルタからランダムに選択して、選択ノードに設定する（ステップＳ１６）。初期個体生成部４１は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【００４２】
初期個体生成部４１は、親ノードの属性が２値画像処理でない場合（ステップＳ１７のＮＯ）、更に、深さカウンタによって示されるノードの深さが２０以下か否かを判断する（ステップＳ１７）。ノードの深さが２０以下である場合（ステップＳ１７のＹＥＳ）、初期個体生成部４１は、属性が画像強調処理であるフィルタ又は原画像からランダムに選択して、選択ノードに設定する（ステップＳ１８）。初期個体生成部４１は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【００４３】
一方、ノードの深さが２０より大きい場合（ステップＳ１７のＮＯ）、初期個体生成部４１は、原画像を選択して、選択ノードに設定する（ステップＳ１９）。初期個体生成部４１は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【００４４】
初期個体生成部４１は、深さカウンタを１インクリメントして（ステップＳ２０）、選択ノードが原画像か否かを判断する（ステップＳ２１）。選択ノードが原画像でない場合（ステップＳ２１のＮＯ）、初期個体生成部４１は、次のノードへ移動する処理を行う（ステップＳ２２）。選択ノードが親ノードに設定される。初期個体生成部４１は、ステップＳ１１へと戻り、上記同様の処理を行う。
【００４５】
一方、選択ノードが原画像である場合（ステップＳ２１のＹＥＳ）、初期個体生成部４１は、更に、未決定ノードが有るか否かを判断する（ステップＳ２３）。未決定ノードの判断は、記憶部１３０の個体群情報１ｂ−２から連結してない入力を有する選択済みノードが存在するか否かを判断すれば良い。未連結の入力へ分岐する未決定ノードが有る場合（ステップＳ２３のＹＥＳ）、初期個体生成部４１は、選択済みノードから連結される未決定ノードへ移動する（ステップＳ２４）。選択済みノードが親ノードとして設定される。また、選択済みノードの深さを深さカウンタに設定する。初期個体生成部４１は、ステップＳ１１へと戻り、上記同様の処理を行う。
【００４６】
一方、未決定ノードが無い場合（ステップＳ２３のＮＯ）、初期個体生成部４１は、この処理を終了する。
【００４７】
ステップＳ１４及びＳ１７におけるノード深さの判定値「１４」及び「２０」は、適宜ユーザによって設定可能としても良い。
【００４８】
図７のフローチャートにおいて参照されるフィルタテーブル３１は、例えば、図８に示すようなデータ構成を示す。図８は、第１実施例におけるフィルタテーブルのデータ構成例を示す図である。図８において、フィルタテーブル３１は、属性、深さ、処理名、識別情報、入力、出力等の項目を有する。
【００４９】
属性は、階層を特定する情報を示す。例えば、画像強調処理、閾値処理、２値画像処理等を指定する。深さは、階層に割り当てられた深さを入力画像の処理順に累積した値で示している。処理名は、フィルタの機能を示している。識別情報は、フィルタを識別するための情報である。入力は、フィルタへの入力数を示し、出力は、フィルタからの出力数を示す。
【００５０】
図８に示されるようなフィルタテーブル３１を用いて、図７に示すフローチャートに従って初期個体を生成した場合の、個体群情報１ｂ−２によって表されるフィルタ構造の木構造例について図９で説明する。図９は、第１実施例における個体群情報によって表されるフィルタ構造例を示す図である。図９中、（  ）内は深さカウンタから得た値を示している。
【００５１】
図９において、ルートに設定された目的画像dstから、深さ１で２値画像処理のフィルタBdil、深さ２で２値画像処理のフィルタBand、深さ３で閾値処理のフィルタT192、深さ４で閾値処理のフィルタFsoX7、そして原画像srcが連結される。
【００５２】
深さ２のフィルタBandは２入力を有するため、図７のステップＳ２３にて、連結されていない入力を持つフィルタBandが未決定ノードの有無判断で検出されると、個体群情報１ｂ−２において、フィルタBandに対応付けられている深さ２が深さカウンタに設定される。そして、ステップＳ１１からＳ２２の処理が繰り返されることにより、深さ６で２値画像処理のフィルタBdil、深さ７で２値画像処理のフィルタBopC、深さ８で閾値処理のフィルタTcan7、深さ９で画像強調処理のフィルタFsoX7、深さ１０で２値画像処理のフィルタFlap3、そして原画像srcが連結される。
【００５３】
上述したように、図７のステップＳ２３にて未連結の入力を持つ深さ５のフィルタBandが検出されることによって、深さ６で２値画像処理のフィルタBnc、深さ７で閾値処理のフィルタTcan7、深さ８で画像強調処理のフィルタFsoY3、深さ９で画像強調処理のフィルタFsub、深さ１０で画像強調処理のフィルタFsm9、そして原画像srcが連結される。
【００５４】
更に、図７のステップＳ２３にて未連結の入力を持つ深さ９のフィルタFsubが検出されることによって、原画像srcが連結される。
【００５５】
次に、進化過程処理部４２による進化過程処理について説明する。図１０は、第１実施例における進化過程処理を説明するための図である。第１実施例では、交叉処理部４２−１による交叉処理、及び、突然変異処理部４２−２による突然変異処理において、制限ルール１０ｒに基づいて夫々の処理が行われる。制限ルール１０ｒは、階層毎に、交叉ペアの選択、及び、突然変異の種類を制限する。
【００５６】
遺伝的プログラミングにおける交叉において、ペアとなる部分木のノード選択をそのノードの出力の種類に応じて選択する。特徴領域の抽出の場合、交叉のペアは、一方が画像強調処理（Ｆ）の場合は他方は画像強調処理（Ｆ）である必要があり、一方が閾値処理（Ｔ）または２値画像処理（Ｂ）である場合は、他方も閾値処理（Ｔ）または２値画像処理（Ｂ）である必要がある。また、突然変異に関しては、同じ種類のノード（フィルタ）を選択する。これにより、画像処理の流れを崩さず、進化過程における世代交代を行うことが可能となる。
【００５７】
次に、第１実施例を半田ボール部の検出処理へ適用した場合と、第１実施例を適用しない関連技術とについて比較説明する。特徴領域の検出を図６（Ａ）と同様に、画像強調＝＞閾値処理＝＞２値画像処理で行うものとし、構成要素となるフィルタの種類は、図８に示すフィルタテーブル３１を参照することによって選択される。初期個体生成ならびに進化過程での制限は図６（Ａ）及び図６（Ｂ）、図１０を採用する。
【００５８】
図１１は、第１実施例における学習時の適応度の推移の比較を説明するための図である。図１１において、木構造の深さ制限を２０、初期個体数を３０とし、世代数１０００までの学習時の最大適応度の推移を示す。同条件の関連技術に比べて第１実施例は、適応度の高い画像処理アルゴリズムを素早く探索できる。
【００５９】
図１２は、第１実施例における木構造の深さに対する組合せ数の比較を説明するための図である。図１２より、関連技術に比べて第１実施例では、階層数ｎ＝４の段階で組合せ数は約１／１０００となり、その後も劇的に組合せ数が低いことがわかる。
【００６０】
これにより、大まかな処理の流れを指定することで、探索範囲を絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
【００６１】
上述したように、第１実施例では、大まかな処理の流れを指定することで、関連技術（例えば、ＡＣＴＩＴ）における探索範囲を劇的に絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
【００６２】
上述した第１実施例における画像処理アルゴリズムでは、遺伝的プログラミング（ＧＰ）が用いられている。遺伝的プログラミングでは、学習データを基準として木構造状の画像処理フィルタ群を表す個体９を自動生成する。そのため、自動生成した個体群１ｂは、学習データと異なるタイプの入力画像に対して性能を発揮しない場合がある。
【００６３】
複数の画像処理フィルタによるフィルタ構造を表す個体９を大量な学習データを用いて自動生成した場合には、学習時間が膨大に増加し、運用上現実的ではない。そこで、サンプルデータから適用先の画像特徴を把握し適切に学習データを選択することで、汎用性の高いアルゴリズムを生成する第２実施例を以下に説明する。
［第２実施例］
画像処理フィルタ群を表す２つの個体９ａ及び９ｂ間の適応度の例について説明する。図１３は、第２実施例における２つの個体間の適応度例を示す図である。図１３において、第１実施例にて得られた２つの個体９ａ及び９ｂの適応度の例が示されている。
【００６４】
学習データ２３２には、予め選択された複数の原画像に相当する入力画像２と、複数の入力画像２の夫々に対応する目的画像４とが含まれる。
【００６５】
個体９ａ及び個体９ｂは、木構造状フィルタである。個体９ａは、画像処理フィルタ（以下、単に「フィルタ」と言う）Ｆ１、Ｆ２、Ｆ３、及びＦ５を有する。フィルタは、ノードとも言う。個体９ｂは、フィルタＦ２、Ｆ３、及びＦ５を有する。学習データ２３２の入力画像２を個体９ａで画像処理させた出力結果が出力画像３−１である。また、入力画像２を個体９ｂで画像処理させた出力結果が出力画像３−２である。
【００６６】
出力３−１及び出力３−２の目的画像４への適応度を計算した結果、出力３−１は適応度「０．９」を示し、出力３−２は適応度「０．６」を示す。この例では、同じ入力画像２に対して、個体９ｂより個体９ａのフィルタ群によって画像処理を行った方が適応度が良いという結果である。従って、個体９ａの木構造状フィルタが採用される。
【００６７】
このように、ツリー構造状画像変換自動生成法（ＧＰ）では、学習データ２３２を基準として木構造状フィルタの自動生成を行う。一方、自動生成した木構造状フィルタは、学習データ２３２と異なるタイプの入力画像に対して目的画像を得ることができない場合がある。第２実施例において、入力画像は、目的画像を得る対象の画像を言う。
【００６８】
図１４は、目的画像を得られない場合の例を示す図である。図１４では、個体９ａの木構造状フィルタを採用した場合で説明する。サンプルデータ２３１から選択した学習データ２３２により、個体９ａの木構造状フィルタによるアルゴリズムを生成する。以下、生成されたアルゴリズムを画像処理アルゴリズム８ａと言う。
【００６９】
サンプルデータ２３１は、過去に撮影した複数の入力画像２と、検出したい目的画像３等とを含む。各入力画像２に対応する目的画像４が用意され、各入力画像２と対応する目的画像３ｐとは関連付けられている。サンプルデータ２３１には、入力画像２ａ、２ｂ及び２ｃを含む。入力画像２ａ、２ｂ及び２ｃに対応する目的画像４は、目的画像４ａ、４ｂ、及び４ｃとする。
【００７０】
学習データ２３２は、サンプルデータ２３１から選択された入力画像２は、入力画像２ａ、２ｂ及び２ｃであることを示している。また、学習データ２３２によって、選択した入力画像２ａ、２ｂ及び２ｃに対応する目的画像４ａ、４ｂ、及び４ｃが指定される。
【００７１】
画像処理アルゴリズム８ａに対して撮影した画像２ａ'、２ｂ'及び２ｅを入力画像２inとして入力することで、出力結果３outを得る。出力結果３outでは、画像２ａ'に対して出力画像３ａ'、画像２ｂ'に対して出力画像３ｂ'、そして、画像２ｅ'に対して出力画像３ｅを得たことを示している。
【００７２】
画像２ｅ'は、学習データ２３２の目的画像４ａから４ｃのいずれにも類似していない。出力画像３ｅは、画像２ｅ'に対して画像処理アルゴリズム８ａによる画像処理を行った結果得た画像である。出力画像３ｅでは、特徴の抽出に失敗していることが分かる。
【００７３】
画像２ｅ'のように、学習データ２３２の目的画像４ａから４ｃのいずれにも類似していない画像が、画像処理アルゴリズム８ａによって画像処理された場合には、エラーとなる場合がある。
【００７４】
第２実施例では、適用先の画像特徴を捉えた学習を行い、また、適宜学習途中の木構造状フィルタによって学習データ２３２を見直すことで、汎用的な画像処理アルゴリズム８ａを取得する。
【００７５】
図１５は、第２実施例における画像処理装置の機能構成例を示す図である。図１５において、画像処理装置２００は、主に、生成部２１０と、検査部２３０とを有する。また、画像処理装置２００の記憶部２３０には、サンプルデータ２３１、学習データ２３２、入力画像２３２、入力画像２in、画像処理アルゴリズム８ａ、出力結果３out等のデータが記憶される。
【００７６】
生成部２１０は、汎用性の高い画像処理アルゴリズム８ａを生成する。生成部２１０は、更に、特徴分析部７１と、クラスタリング部７２と、学習データ選択部７３と、自動構成部７４と、フィルタ検証部７５と、特徴最分析部７６とを有する。
【００７７】
特徴分析部７１は、サンプルデータ２３１の特徴を分析する。サンプルデータ２３１には原画像である複数の入力画像２と目的画像３とが含まれている。特徴分析部７１は、サンプルデータ２３１の各入力画像２を分析することによって、画像特徴量を取得する。
【００７８】
特徴分析部７１によって取得される画像特徴量のパラメータは、入力画像２の平均輝度、輝度ヒストグラム、空間周波数情報等を含む。空間周波数情報には、角度成分と、周波数成分とが含まれる。
【００７９】
クラスタリング部７２は、特徴分析部７１によって得られた複数の成分の中から、主成分の特徴量に基づいてサンプルデータ２３１を分類する。主成分は、周波数成分、平均輝度、コントラスト等である。分類方法は、各特徴空間に対してクラスタの平均を用い、与えられたクラスタ数Ｋ個に分類するk-means法等を用いればよい。サンプルデータ２３１内の入力画像２は特徴量に基づいて分類される。
【００８０】
学習データ選択部７３は、クラスタリング部７２によって分類された各クラスから学習データを選択する。クラスタ毎に、入力画像２の特徴量の中心に近い入力画像２を代表サンプルとして選択すれば良い。代表サンプルとして選択された入力画像２を指定する学習データ２３２が記憶部２３２に格納される。学習データ２３２には、選択された入力画像２（代表サンプル）毎に分析した特徴量が記憶される。
【００８１】
自動構成部７４は、学習データ選択部７３によって選択された学習データ２３２を用いて、画像処理アルゴリズム８ａを生成する。画像処理アルゴリズム８ａの生成方法は、上述した第１実施例に従うものとする。画像処理アルゴリズム８ａは、与えられた処理の流れに従って、複数の画像処理フィルタが木構造状で組み合わされることで作成される。
【００８２】
フィルタ検証部７５は、自動生成した画像処理アルゴリズム８ａを用いてフィルタ検証を行なう。目的の処理精度を満たしていない場合、画像処理アルゴリズム８ａは、再構成される。
【００８３】
特徴再分析部７６は、画像処理アルゴリズム８ａを、サンプルデータ２３１内の各入力画像２に適用し、中間特徴情報２３３を取得する。中間特徴情報２３３は、画像処理アルゴリズム８ａの各フィルタによって得られる中間処理画像の特徴量を示す。
【００８４】
特徴再分析部７６によって得られた中間処理画像の特徴量に基づいて、クラスタリング部７２は、再度、サンプルデータ２３１の入力画像２をクラスタリングする。そして、代表サンプルとなる入力画像２が学習データ２３２となる。自動構成部７４は、学習データ２３２を用いて画像処理アルゴリズム８ａを再生成し、フィルタ検証部７５は、再生成された画像処理アルゴリズム８ａを検証する。
【００８５】
目的の処理精度を満たした時に、画像処理アルゴリズム８ａの生成が終了する。画像処理アルゴリズム８ａは、検査部２３０によって利用できる状態となる。
【００８６】
検査部２３０は、撮像装置９ａによって撮像された入力画像２inに対して画像処理アルゴリズム８ａを用いて画像処理を行い、その出力結果３outから入力画像２inの特徴を抽出する。検査部２３０は、更に、画像入力部８１と、画像処理部８２と、特徴抽出部８３とを有する。
【００８７】
画像入力部８１は、撮像装置９が撮像した入力画像２inを画像処理装置２００内に取り込む。入力画像２inは記憶部２３０に記憶される。
【００８８】
画像処理部８２は、入力画像２inに対して画像処理アルゴリズム８ａを適用して画像処理を行い、出力結果３outを記憶部２３０に出力する。
【００８９】
特徴抽出部８３は、出力結果３outから目的画像４に相当する特徴を示す領域を抽出した抽出結果２３９を記憶部２３０に出力する。
【００９０】
上述したような第１実施例に係る処理を行う画像処理装置２００は、図１６に示すようなハードウェア構成を有する。図１６は、第１実施例における画像処理装置のハードウェア構成を示す図である。図１６において、画像処理装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ１８と、インターフェース９ｆを有し、バスＢに接続される。
【００９１】
ＣＰＵ２１１は、主記憶装置１２に格納されたプログラムに従って画像処理装置２００を制御する。主記憶装置２１２には、ＲＡＭ（Random Access Memory）等が用いられ、ＣＰＵ２１１にて実行されるプログラム、ＣＰＵ２１１での処理に必要なデータ、ＣＰＵ２１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ２１１での処理に利用されるワークエリアとして割り付けられている。
【００９２】
補助記憶装置２１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置２１３に格納されているプログラムの一部が主記憶装置２１２にロードされ、ＣＰＵ２１１に実行されることによって、各種処理が実現される。記憶部２３０は、主記憶装置２１２及び／又は補助記憶装置２１３を有する。
【００９３】
入力装置２１４は、マウス、キーボード等を有し、ユーザが画像処理装置２００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ２１１の制御のもとに必要な各種情報を表示する。出力装置２１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ２１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００９４】
インターフェース９ｆは、撮像装置９ａと画像処理装置２００とを接続する。撮像装置９ａで撮影された画像２ａ'、２ｂ'等は、インターフェース９ｆを介して、ＣＰＵ２１１の制御により記憶部２３０に入力画像２inとして記憶される。撮像装置９ａは、ＣＣＤ（Charge Coupled Devices）カメラ等であればよい。
【００９５】
画像処理装置２００によって行われる第２実施例に係る処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体２１９によって画像処理装置２００に提供される。即ち、プログラムが保存された記憶媒体２１９がドライブ２１８にセットされると、ドライブ１８が記憶媒体２１９からプログラムを読み出し、その読み出されたプログラムがバスＢを介して補助記憶装置２１３にインストールされる。そして、プログラムが起動されると、補助記憶装置２１３にインストールされたプログラムに従ってＣＰＵ２１１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００９６】
図１５における生成部２１０と検査部２３０とは、ＣＰＵ２１１が対応するプログラムを実行することによって行われる処理によって実現される。
【００９７】
次に、生成部２１０による汎用性の高い画像処理アルゴリズム８ａを生成する生成処理について説明する。
【００９８】
図１７は、第２実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。図１７にて、生成部２１０において、初期のフィルタ構造群が生成される（ステップＳ２１１）。初期のフィルタ構造群により画像処理アルゴリズム８ａが記憶部１３０に作成される。
【００９９】
また、生成部２１０において、特徴分析部７１は、サンプルデータ２３１内の原画像である各入力画像２の画像特徴を分析する（ステップＳ２１２）。サンプルデータ２３１内の各入力画像２の画像特徴を分析した後、初期の画像処理アルゴリズム８ａを生成しても良い。
【０１００】
クラスタリング部７２は、特徴分析部７１によって得られた画像特徴のうち主成分の各特徴空間に対してクラスタの平均を求めて、サンプルデータ２３１内の入力画像２を複数のクラスに分類する（ステップＳ２１３）。
【０１０１】
そして、学習データ選択部７３は、クラスタリング部７２によって入力画像２が分類された各サンプル群から代表サンプルを学習データ２３２として選択する（ステップＳ２１４）。
【０１０２】
学習データ２３２が選択されると、自動構成部７４は、進化過程により画像処理アルゴリズム８ａを更新する（ステップＳ２１５）。フィルタ構造群の更新は、第１実施例においける進化過程処理と同様であるので、その説明を省略する。
【０１０３】
自動構成部７４は、生成した画像処理アルゴリズム８ａの適応度を算出する（ステップＳ２１６）。適応度の算出方法は、下記数２を用いればよいが、数２に限定するものではない。
【０１０４】
【数２】
2014104151.tif 000004
適用度は、画像処理アルゴリズム８ａが更新される毎に算出され記憶部１３０の作業領域に記憶される。記憶部１３０に記憶した適用度のうちで最大適応度が適応度閾値より大きいか否かを判断する（ステップＳ２１７）。最大適応度が適応度閾値より大きいことが、ステップＳ２１４で選択した学習データ２３２を用いた場合、即ち、ステップＳ２１５〜Ｓ２１７の繰り返しによる学習の終了条件となる。
【０１０５】
最大適応度が適応度閾値以下である場合、充分な精度を得られていないと判断し、自動構成部７４は、ステップＳ２１５へと進み、画像処理アルゴリズム８ａを進化させて更新する処理を繰り返す。
【０１０６】
一方、最大適応度が適応度閾値より大きいと判断した場合、フィルタ検証部７５による検証処理が行われる。フィルタ検証部７５は、サンプルデータ２３１に対する一致度を計算し、良不良判定を行う（ステップＳ２１９）。サンプルデータ２３１に対する一致度は、生成した画像処理アルゴリズム８ａにサンプルデータ２３１の各入力画像２を入力して得た出力結果３outと目的画像４との相関値で表される。下記数３を用いて一致度を計算する。
【０１０７】
【数３】
2014104151.tif 000005
数３で得られた一致度は、予め設定した一致度閾値よりも高い場合は良結果とし、低い場合を不良結果とする。良不良判定の一致度閾値は、目的のアルゴリズムの処理精度により決定する。領域抽出誤差を１０％以内にする場合、一致度閾値に０．９を設定する。一致度閾値を用いて、サンプルデータ２３１の全入力画像２のうち良判定となった個数をカウントしておく。
【０１０８】
そして、フィルタ検証部７５は、サンプルデータ２３１に対する良結果の割合を算出して認識率とする（ステップＳ２２０）。サンプルデータ２３１の全入力画像２の総数に対する良判定となった個数を計算して割合を求めれば良い。フィルタ検証部７５は、認識率が認識率閾値より大きいか否かを判断する（ステップＳ２２１）。
【０１０９】
認識率が認識率閾値以下の場合、特徴再分析部７６が、生成アルゴリズム８ａによる画像特徴を再分析する（ステップＳ２１８）。特徴再分析部７６は、生成アルゴリズム８ａに対して、サンプルデータ２３１の各入力画像２を入力し、各フィルタから特徴量を得る。各フィルタから得た特徴量を示す中間特徴情報２２３が記憶部１３０に格納される。
【０１１０】
クラスタリング部７２は、各入力画像２のフィルタ毎の特徴量を含む中間特徴情報２３３を参照して、再度、入力画像２を分類する（ステップＳ２３１）。そして、学習データ選択部２１４は、上述したように、各クラスの代表サンプルを学習データ２３２として選択する。その後の処理は上述した通りであるので、その説明を省略する。このような再分析処理は、認識率が認識率閾値より大きくなるまで繰り返される。
【０１１１】
認識率が認識率閾値より大きい場合、生成部２１０は、この画像処理アルゴリズムの生成処理を終了する。
【０１１２】
次に、特徴分析部７１及び特徴再分析部７６によって得られる画像特徴量について図１８及び図１９で説明する。図１８は、振幅画像を示す図である。図１８に示す振幅画像７ａは、入力画像２に対して２次元フーリエ変換を行って得た画像である。
【０１１３】
空間周波数情報は、周波数成分７ｂと、角度成分７ｃとを含む。振幅画像７ａの中心からの距離で領域を分割することによって、周波数成分７ｂを得る。周波数成分７ｂの特徴量は、分割領域の振幅平均で表される。また、振幅画像７ａの中心からの角度で領域を分割することによって、角度成分７ｃを得る。角度成分７ｃの特徴量は、分割領域の振幅平均で表される。
【０１１４】
図１９（Ａ）、図１９（Ｂ）、及び図１９（Ｃ）は、特徴量の例を示す図である。図１９（Ａ）から図１９（Ｃ）では、２つの入力画像２の特徴量の比較例を示している。図１９（Ａ）は、輝度ヒストグラムを示している。入力画像２を１０分割した領域毎の平均輝度を示している。
【０１１５】
図１９（Ｂ）は、角度成分を示している。振幅画像７ａを振幅画像７ａの中心からの角度で１０分割した領域毎の振幅平均を示す。図１９（Ｃ）は、周波数成分を示している。振幅画像７ａを振幅画像７ａの中心からの距離で１０分割した領域毎の振幅平均を示す。
【０１１６】
輝度ヒストグラム、角度成分、周波数成分は、複数のパラメータの一部分である。特徴分析部７１及び特徴再分析部７６では、数十種類のパラーメタでサンプルデータ２３１の各入力画像２を分析する。
【０１１７】
次に、学習過程におけるパラメータとクラスタリングの変化例を説明する。図２０（Ａ）及び図２０（Ｂ）は、第２実施例における初期の特徴情報及びクラスタリングの例を示す図である。図２０（Ａ）では、画像処理アルゴリズム８ａによる処理前の、１つの入力画像２の初期の特徴情報の例を示している。初期の特徴情報として、平均輝度、輝度ヒストグラム、角度成分、周波数成分等のパラメータ毎の値が記憶される。平均輝度は、入力画像２の全体の輝度の平均を示す。輝度ヒストグラム、角度成分、周波数成分は、分割領域毎の値を示す。サンプルデータ２３１内の各入力画像２に対して特徴情報が取得される。
【０１１８】
図２０（Ｂ）では、クラスタリング部７２が、初期の特徴情報に基づいて行った主成分分析の結果例を示す。この結果例では、サンプルデータ２３１内の入力画像２は、８個のサンプル群Ｇ１、Ｇ２、Ｇ３、Ｇ４、Ｇ５、Ｇ６、Ｇ７、及びＧ８に分類されたことを示している。サンプル群の個数は、８個に限定するものではなく、任意に設定可能である。
【０１１９】
このようなクラスタリング結果を用いて、学習データ選択部７３は、各サンプル群Ｇ１〜Ｇ８の代表サンプルを学習データ２３２として選択する。サンプル群Ｇ１の場合、中心当たりに位置する原画像Ｇ１ｒが代表サンプルとなる。他サンプル群Ｇ２〜Ｇ８についても同様の方法で代表サンプルが選択される。
【０１２０】
初期の学習データ２３２を用いて自動構成部７４により画像処理アルゴリズム８ａが更新され、フィルタ検証部７５によって画像処理アルゴリズム８ａが検証される（１回目学習）。ここでは、特徴再分析が必要であると判断されたとする。特徴再分析７６は、更新された画像処理アルゴリズム８ａでサンプルデータ２３１の原画像である各入力画像２の特徴量を取得する。
【０１２１】
図２１は、第２実施例における１回目学習により更新された画像処理アルゴリズムの例を示す図である。図２１において、１回目学習により更新された画像処理アルゴリズム８ａはフィルタＦ１、Ｆ２、Ｆ３、及びＦ４を有する。各入力画像２に対して画像処理アルゴリズム８ａを適用して対応する出力画像３を得る。
【０１２２】
フィルタＦ１による処理後に特徴量Ｂ１を取得し、フィルタＦ２による処理後に特徴量Ｂ２を取得する。また、フィルタＦ３による処理後に特徴量Ｂ３を取得し、フィルタＦ４による処理後に特徴量Ｂ４を取得する。特徴量Ｂ１からＢ４を示す中間特徴情報２３３が記憶部１３０に記憶される。
【０１２３】
サンプルデータ２３１の全入力画像２に対して画像処理アルゴリズム８ａを適用し、各フィルタＦ１〜Ｆ４によって得られる特徴量Ｂ１〜Ｂ４を取得する。
【０１２４】
１回目学習時の例について図２２（Ａ）及び図２２（Ｂ）で説明する。図２２（Ａ）及び図２２（Ｂ）は、第２実施例における１回目学習時の特徴情報及びクラスタリングの例を示す図である。
【０１２５】
図２２（Ａ）では、入力画像２の特徴情報に加えて、図２１の画像処理アルゴリズム８ａによる中間特徴情報２３３の例が示されている。各フィルタＦ１〜Ｆ４の処理後の中間画像の特徴量Ｂ１、Ｂ２、Ｂ３及びＢ４が、中間特徴情報２３３として記憶される。特徴量Ｂ１〜Ｂ４は、中間画像の輝度である。
【０１２６】
図２２（Ｂ）では、画像処理アルゴリズム８ａの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム８ａの出力成分として、中間特徴情報２３３を用いる。
【０１２７】
図２２（Ｂ）において、下方のサンプル群Ｇ１は、一致度が著しく低いサンプル群であることを示している。即ち、図２１に示す画像処理アルゴリズム８ａが不得手とするサンプル群をクラスタリングすることができる。
【０１２８】
上述したように、各サンプル群Ｇ１〜Ｇ８の代表サンプルを学習データ２３２とし、自動構成部７４により画像処理アルゴリズム８ａが更新され、フィルタ検証部７５によって画像処理アルゴリズム８ａが検証される（２回目学習）。更新された画像処理アルゴリズム８ａによって、認識率が認識閾値以上となり、目的の画像処理アルゴリズムを取得する。
【０１２９】
図２３は、第２実施例における２回目学習により更新された画像処理アルゴリズムの例を示す図である。図２３において、２回目学習により更新された画像処理アルゴリズム８ａはフィルタＦ１、Ｆ２、Ｆ３、Ｆ４、及びＦ５を有する。画像処理アルゴリズム８ａが目的の画像処理アルゴリズムとなり、第２実施例における生成部２１０での生成処理は終了する。
【０１３０】
しかしながら、ここでは、２回目学習により更新された画像処理アルゴリズム８ａによって特徴再分析を行ってみる。この画像処理アルゴリズム８ａにおいて、フィルタＦ１による処理後に特徴量Ｂ１を取得し、フィルタＦ２による処理後に特徴量Ｂ２を取得する。また、フィルタＦ３による処理後に特徴量Ｂ３を取得し、フィルタＦ４による処理後に特徴量Ｂ４を取得する。更に、フィルタＦ５による処理後に特徴量Ｂ５を取得する。特徴量Ｂ１からＢ５を示す中間特徴情報２３３が記憶部１３０に記憶される。
【０１３１】
図２４（Ａ）及び図２４（Ｂ）は、第２実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。
【０１３２】
図２４（Ａ）では、入力画像２の特徴情報に加えて、図２３の画像処理アルゴリズム８ａによる中間特徴情報２３３の例が示されている。各フィルタＦ１〜Ｆ５の処理後の中間画像の特徴量Ｂ１、Ｂ２、Ｂ３、Ｂ４、及びＢ５が、中間特徴情報２３３として記憶される。特徴量Ｂ１〜Ｂ５は、中間画像の輝度である。
【０１３３】
図２４（Ｂ）では、画像処理アルゴリズム８ａの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム８ａの出力成分として、中間特徴情報２３３を用いる。
【０１３４】
図２４（Ｂ）において、サンプル群Ｇ１〜Ｇ５、Ｇ７、及びＧ８が略同様に特徴空間の上方に纏まっている。下方に突出しているサンプル群Ｇ６が存在するものの、サンプル群Ｇ６に分類される入力画像２は極僅かである。
【０１３５】
上述より、第２実施例において生成した画像処理アルゴリズム８ａによって、サンプルデータ２３１内のどの入力画像２に対しても精度良く出力画像３を得ることができる。
【０１３６】
図２５は、第２実施例における最大適応度を示す画像処理アルゴリズム８ａの認識率の推移を示す図である。図２５に示すグラフでは、比較として、第２実施例の適用のない関連技術による認識率の推移も示している。
【０１３７】
第２実施例の適用のない関連技術とは、ユーザがサンプルデータ２３１から任意に学習データ２３２を選択し、ユーザによって選択された学習データ２３２を用いて遺伝的プログラミングを用いた学習過程によって、画像処理アルゴリズム８ａを生成する技術等である。
【０１３８】
第２実施例では、サンプルデータ２３１をクラスタリングして各サンプル群Ｇ１〜Ｇ８の代表サンプルを学習データ２３２に含めるため、サンプルデータ２３１に含まれる複数の入力画像２の特徴を全体的に網羅して学習することができる。従って、汎用性の高い画像処理アルゴリズム８ａを生成でき、図１４に示す出力画像３ｅのような特徴の検出不可能な画像処理とならないようにできる。
【０１３９】
第２実施例を適用した場合、初期段階から高い認識率を示すことが分かる。第２実施例により、学習の高速化が実現できる。
【０１４０】
上述したように、第２実施例では、適用先の画像特徴をとらえた学習データ２３２の選択と逐次的に再学習を行うことで、目的とする性能の良い画像処理アルゴリズム８ａを効率的に探索でき、学習速度の高速化し、学習精度を向上させる。
【０１４１】
本発明は、具体的に開示された第１及び第２実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１４２】
また、本願は２０１２年１２月２８日に出願した日本国特許出願２０１２−２８８４４０号に基づく優先権を主張するものであり同日本国出願の全内容を本願に参照により援用する。
【符号の説明】
【０１４３】
１            ロバストな画像処理
１ａ          木構造処理
１ｂ          個体群
１ｄ          入替個体情報
２            入力画像
２in          入力画像
３            出力画像
３out        出力結果
４            目的画像
５ｒ          初期個体生成ルール
８ａ          画像処理アルゴリズム
９            個体（画像処理フィルタ群）
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３１          フィルタテーブル
４１          初期個体生成部
４２          進化過程処理部
４２−１      交叉処理部
４２−２      突然変異処理部
４３          個体適応計算部
４４          生存選択部
４５          個体入替部
７１          特徴分析部
７２          クラスタリング部
７３          学習データ選択部
７４          自動構成部
７５          フィルタ検証部
７６          特徴再分析部
１００、２００        画像処理装置
１３０、２３０        記憶部
２３１        サンプルデータ
２３２        学習データ
２３３        中間特徴情報
２３９        出力結果
【図４】
2014104151.tif 000006
【図５】
2014104151.tif 000007
【図６】
2014104151.tif 000008
【図７】
2014104151.tif 000009
【図８】
2014104151.tif 000010
【図９】
2014104151.tif 000011
【図１０】
2014104151.tif 000012
【図１１】
2014104151.tif 000013
【図１２】
2014104151.tif 000014
【図１５】
2014104151.tif 000015
【図１６】
2014104151.tif 000016
【図１７】
2014104151.tif 000017
【図１９】
2014104151.tif 000018
【図２５】
2014104151.tif 000019
【図１】
2014104151.tif 000020
【図２】
2014104151.tif 000021
【図３】
2014104151.tif 000022
【図１３】
2014104151.tif 000023
【図１４】
2014104151.tif 000024
【図１８】
2014104151.tif 000025
【図２０】
2014104151.tif 000026
【図２１】
2014104151.tif 000027
【図２２】
2014104151.tif 000028
【図２３】
2014104151.tif 000029
【図２４】
2014104151.tif 000030
【手続補正書】
【提出日】平成27年6月25日(2015.6.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、
前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、
複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に前記複数の画像フィルタを配列した個体群を生成する個体生成部と
を有することを特徴とする画像処理装置。
【請求項２】
前記個体生成部は、
遺伝的プログラミングを用いて、前記木構造に前記複数の画像フィルタを配列した個体群を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記個体生成部は、
前記目的画像をルートとして、前記複数の画像フィルタを木構造に配列し、所定階層において前記入力画像を終端ノードに選択することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記個体群に対して、遺伝的プログラミングを用いた進化過程処理を行う進化過程処理部を更に有し、
前記進化過程処理部は、交叉ペアの選択を前記階層毎に制限する交叉ペアの制限ルールを用いて、前記個体群に対して交叉処理を行うことを特徴とする請求項１項記載の画像処理装置。
【請求項５】
前記進化過程処理部は、突然変異の種類を前記階層毎に制限する突然変異の制限ルールを用いて、前記個体群に対して突然変異処理を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出方法であって、
記憶部に格納された、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の前記複数の画像フィルタに係る情報を管理するフィルタテーブルを参照し、
前記階層毎に、前記画像フィルタを前記フィルタテーブルから選択し、
前記木構造に前記複数の画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出方法。
【請求項７】
撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいて学習データを選択する選択部と、
遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有するを特徴とする画像処理装置。
【請求項８】
前記画像の平均輝度、輝度ヒストグラム、空間周波数情報から前記特徴量を取得することを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記遺伝的プログラミングを用いた学習過程において、生成途中の木構造状の前記処理プログラムから特徴量を算出し、学習データを再選別することを特徴とする請求項７記載の画像処理装置。
【請求項１０】
木構造状の前記処理プログラムから、該処理プログラムの各フィルタから前記画像の平均輝度を特徴量として取得することを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記学習データに対して前記特徴量によるクラスタリングを行い、分類されたサンプル群から代表サンプルを選択して、学習データを更新することを特徴とする請求項７記載の画像処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
【図１】図１は、環境変化に対するロバストな画像処理を説明するための図である。
【図２】図２は、木構造状の画像処理アルゴリズムの一例を示す図である。
【図３】図３（Ａ）及び図３（Ｂ）は、第１実施例における特徴検出処理の概要を説明するための図である。
【図４】図４は、第１実施例における画像処理装置の機能構成例を示す図である。
【図５】図５は、第１実施例における画像処理装置のハードウェア構成を示す図である。
【図６】図６（Ａ）及び図６（Ｂ）は、第１実施例における初期個体の生成処理を説明するための図である。
【図７】図７は、第１実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。
【図８】図８は、第１実施例におけるフィルタテーブルのデータ構成例を示す図である。
【図９】図９は、第１実施例における個体群情報によって表されるフィルタ構造例を示す図である。
【図１０】図１０は、第１実施例における進化過程処理を説明するための図である。
【図１１】図１１は、第１実施例における学習時の適応度の推移の比較を説明するための図である。
【図１２】図１２は、第１実施例における木構造の深さに対する組合せ数の比較を説明するための図である。
【図１３】図１３は、第２実施例における２つの個体間の適応度例を示す図である。
【図１４】図１４は、目的画像を得られない場合の例を示す図である。
【図１５】図１５は、第２実施例における画像処理装置の機能構成例を示す図である。
【図１６】図１６は、第２実施例における画像処理装置のハードウェア構成を示す図である。
【図１７】図１７は、第２実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。
【図１８】図１８は、振幅画像を示す図である。
【図１９】図１９（Ａ）、図１９（Ｂ）、及び図１９（Ｃ）は、特徴量の例を示す図である。
【図２０】図２０（Ａ）及び図２０（Ｂ）は、第２実施例における初期の特徴情報及びクラスタリングの例を示す図である。
【図２１】図２１は、第２実施例における１回目学習により更新された画像処理アルゴリズムの例を示す図である。
【図２２】図２２（Ａ）及び図２２（Ｂ）は、第２実施例における１回目学習時の特徴情報及びクラスタリングの例を示す図である。
【図２３】図２３は、第２実施例における２回目学習により更新された画像処理アルゴリズムの例を示す図である。
【図２４】図２４（Ａ）及び図２４（Ｂ）は、第２実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。
【図２５】図２５は、第２実施例における最大適応度を示す画像処理アルゴリズムの認識率の推移を示す図である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
図３（Ａ）及び図３（Ｂ）は、第１実施例における特徴検出処理の概要を説明するための図である。図３（Ａ）において、遺伝的プログラミングによる最適化では、木構造状の画像処理フィルタ群を個体９とし、複数の初期個体に対して交叉処理と突然変異処理とを行い、新たな個体群１ｂ'を生成する。個体群１ｂは、適応度の高い個体群１ｂ'（画像処理フィルタ群）と入れ替えられることで、個体群１ｂが更新される。即ち、最適な個体群１ｂ'が探索される。例えば、個体群１ｂから２つの個体９を交叉対象として選択する。２つの個体９夫々は、木構造状の画像処理フィルター群に相当する。また、各個体９において、１つの画像処理フィルタ（ノードに相当）を突然変異により、他の画像処理フィルターに置き換える。これらを繰り返すことで、個体群１ｂが最適化される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
上述したような第１実施例に係る処理を行う画像処理装置１００は、図５に示すようなハードウェア構成を有する。図５は、第１実施例における画像処理装置のハードウェア構成を示す図である。図５において、画像処理装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、出力装置１６と、通信Ｉ／Ｆ（インタフェース）１７と、ドライブ１８とを有し、バスＢ１に接続される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
初期個体生成部４１は、親ノードの属性が２値画像処理でない場合（ステップＳ１３のＮＯ）、更に、深さカウンタによって示されるノードの深さが２０以下か否かを判断する（ステップＳ１７）。ノードの深さが２０以下である場合（ステップＳ１７のＹＥＳ）、初期個体生成部４１は、属性が画像強調処理であるフィルタ又は原画像からランダムに選択して、選択ノードに設定する（ステップＳ１８）。初期個体生成部４１は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部４１は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報１ｂ−２に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップＳ２０へと進む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
深さ２のフィルタBandは２入力を有するため、図７のステップＳ２３にて、連結されていない入力を持つフィルタBandが未決定ノードの有無判断で検出されると、個体群情報１ｂ−２において、フィルタBandに対応付けられている深さ２が深さカウンタに設定され、深さカウンタは深さ２からインクリメントされる。ステップＳ１１からＳ２２の処理が繰り返されることにより、深さ３で２値画像処理のフィルタBopC、深さ４で２値画像処理のフィルタBnot、そして深さ５で２値画像処理のフィルタBandが連結される。更に、深さ６で２値画像処理のフィルタBdil、深さ７で２値画像処理のフィルタBopC、深さ８で閾値処理のフィルタTcan7、深さ９で画像強調処理のフィルタFsoX7、深さ１０で２値画像処理のフィルタFlap3、そして原画像srcが連結される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
上述したように、図７のステップＳ２３にて未連結の入力を持つ深さ５のフィルタBandが検出される。従って、フィルタBandに対応付けられている深さ５が深さカウンタに設定され、深さカウンタは深さ５からインクリメントされる。深さ６で２値画像処理のフィルタBnc、深さ７で閾値処理のフィルタTcan7、深さ８で画像強調処理のフィルタFsoY3、深さ９で画像強調処理のフィルタFsub、深さ１０で画像強調処理のフィルタFsm9、そして原画像srcが連結される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
図１２は、第１実施例における木構造の深さに対する組合せ数の比較を説明するための図である。図１２より、関連技術に比べて第１実施例では、深さｎ＝４の段階で組合せ数は約１／１０００となり、その後も劇的に組合せ数が低いことがわかる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００６６
【補正方法】変更
【補正の内容】
【００６６】
出力画像３−１及び出力画像３−２の目的画像４への適応度を計算した結果、出力画像３−１は適応度「０．６」を示し、出力画像３−２は適応度「０．９」を示す。この例では、同じ入力画像２に対して、個体９ｂより個体９ａのフィルタ群によって画像処理を行った方が適応度が良いという結果である。従って、個体９ａの木構造状フィルタが採用される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
サンプルデータ２３１は、過去に撮影した複数の入力画像２と、検出したい目的画像３等とを含む。各入力画像２に対応する目的画像４が用意され、各入力画像２と対応する目的画像４とは関連付けられている。サンプルデータ２３１には、入力画像２ａ、２ｂ及び２ｃを含む。入力画像２ａ、２ｂ及び２ｃに対応する目的画像４は、目的画像４ａ、４ｂ、及び４ｃとする。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
画像処理アルゴリズム８ａに対して撮影した画像２ａ'、２ｂ'及び２ｅを入力画像２inとして入力することで、出力結果３outを得る。出力結果３outでは、画像２ａ'に対して出力画像３ａ'、画像２ｂ'に対して出力画像３ｂ'、そして、画像２ｅに対して出力画像３ｅを得たことを示している。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
画像２ｅは、学習データ２３２の目的画像４ａから４ｃのいずれにも類似していない。出力画像３ｅは、画像２ｅに対して画像処理アルゴリズム８ａによる画像処理を行った結果得た画像である。出力画像３ｅでは、特徴の抽出に失敗していることが分かる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
画像２ｅのように、学習データ２３２の目的画像４ａから４ｃのいずれにも類似していない画像が、画像処理アルゴリズム８ａによって画像処理された場合には、エラーとなる場合がある。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
図１５は、第２実施例における画像処理装置の機能構成例を示す図である。図１５において、画像処理装置２００は、主に、生成部２１０と、検査部２５０とを有する。また、画像処理装置２００の記憶部２３０には、サンプルデータ２３１、学習データ２３２、入力画像２３２、入力画像２in、画像処理アルゴリズム８ａ、出力結果３out等のデータが記憶される。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
生成部２１０は、汎用性の高い画像処理アルゴリズム８ａを生成する。生成部２１０は、更に、特徴分析部７１と、クラスタリング部７２と、学習データ選択部７３と、自動構成部７４と、フィルタ検証部７５と、特徴再分析部７６とを有する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
学習データ選択部７３は、クラスタリング部７２によって分類された各クラスから学習データを選択する。クラスタ毎に、入力画像２の特徴量の中心に近い入力画像２を代表サンプルとして選択すれば良い。代表サンプルとして選択された入力画像２を指定する学習データ２３２が記憶部２３０に格納される。学習データ２３２には、選択された入力画像２（代表サンプル）毎に分析した特徴量が記憶される。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
目的の処理精度を満たした時に、画像処理アルゴリズム８ａの生成が終了する。画像処理アルゴリズム８ａは、検査部２５０によって利用できる状態となる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
検査部２５０は、撮像装置９ａによって撮像された入力画像２inに対して画像処理アルゴリズム８ａを用いて画像処理を行い、その出力結果３outから入力画像２inの特徴を抽出する。検査部２５０は、更に、画像入力部８１と、画像処理部８２と、特徴抽出部８３とを有する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
画像入力部８１は、撮像装置９ａが撮像した入力画像２inを画像処理装置２００内に取り込む。入力画像２inは記憶部２３０に記憶される。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
上述したような第１実施例に係る処理を行う画像処理装置２００は、図１６に示すようなハードウェア構成を有する。図１６は、第２実施例における画像処理装置のハードウェア構成を示す図である。図１６において、画像処理装置２００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）２１１と、主記憶装置２１２と、補助記憶装置２１３と、入力装置２１４と、表示装置２１５と、出力装置２１６と、通信Ｉ／Ｆ（インターフェース）２１７と、ドライブ２１８と、インターフェース９ｆを有し、バスＢ２に接続される。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００９３
【補正方法】変更
【補正の内容】
【００９３】
入力装置２１４は、マウス、キーボード等を有し、ユーザが画像処理装置２００による処理に必要な各種情報を入力するために用いられる。表示装置２１５は、ＣＰＵ２１１の制御のもとに必要な各種情報を表示する。出力装置２１６は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信Ｉ／Ｆ２１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
図１５における生成部２１０と検査部２５０とは、ＣＰＵ２１１が対応するプログラムを実行することによって行われる処理によって実現される。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
図１７は、第２実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。図１７にて、生成部２１０において、初期のフィルタ構造群が生成される（ステップＳ２１１）。初期のフィルタ構造群により画像処理アルゴリズム８ａが記憶部２３０に作成される。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】０１０４
【補正方法】変更
【補正の内容】
【０１０４】
【数２】
2014104151.tif 000031
適用度は、画像処理アルゴリズム８ａが更新される毎に算出され記憶部２３０の作業領域に記憶される。記憶部２３０に記憶した適用度のうちで最大適応度が適応度閾値より大きいか否かを判断する（ステップＳ２１７）。最大適応度が適応度閾値より大きいことが、ステップＳ２１４で選択した学習データ２３２を用いた場合、即ち、ステップＳ２１５〜Ｓ２１７の繰り返しによる学習の終了条件となる。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
認識率が認識率閾値以下の場合、特徴再分析部７６が、生成した画像処理アルゴリズム８ａによる画像特徴を再分析する（ステップＳ２１８）。特徴再分析部７６は、生成した画像処理アルゴリズム８ａに対して、サンプルデータ２３１の各入力画像２を入力し、各フィルタから特徴量を得る。各フィルタから得た特徴量を示す中間特徴情報２２３が記憶部２３０に格納される。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
クラスタリング部７２は、各入力画像２のフィルタ毎の特徴量を含む中間特徴情報２３３を参照して、再度、入力画像２を分類する（ステップＳ２１３）。そして、学習データ選択部７３は、上述したように、各クラスの代表サンプルを学習データ２３２として選択する。その後の処理は上述した通りであるので、その説明を省略する。このような再分析処理は、認識率が認識率閾値より大きくなるまで繰り返される。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
認識率が認識率閾値より大きい場合、生成部２１０は、この画像処理アルゴリズム８ａの生成処理を終了する。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】０１１５
【補正方法】変更
【補正の内容】
【０１１５】
図１９（Ｂ）は、角度成分を示している。振幅画像７ａを振幅画像７ａの中心からの角度で１０分割した領域毎の振幅平均を示す。図１９（Ｃ）は、周波数成分を示している。振幅画像７ａを振幅画像７ａの中心からの距離で１０分割した領域毎の周波数平均を示す。
【手続補正２９】
【補正対象書類名】明細書
【補正対象項目名】０１２２
【補正方法】変更
【補正の内容】
【０１２２】
フィルタＦ１による処理後に特徴量Ｂ１を取得し、フィルタＦ２による処理後に特徴量Ｂ２を取得する。また、フィルタＦ３による処理後に特徴量Ｂ３を取得し、フィルタＦ４による処理後に特徴量Ｂ４を取得する。特徴量Ｂ１からＢ４を示す中間特徴情報２３３が記憶部２３０に記憶される。
【手続補正３０】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
しかしながら、ここでは、２回目学習により更新された画像処理アルゴリズム８ａによって特徴再分析を行ってみる。この画像処理アルゴリズム８ａにおいて、フィルタＦ１による処理後に特徴量Ｂ１を取得し、フィルタＦ２による処理後に特徴量Ｂ２を取得する。また、フィルタＦ３による処理後に特徴量Ｂ３を取得し、フィルタＦ４による処理後に特徴量Ｂ４を取得する。更に、フィルタＦ５による処理後に特徴量Ｂ５を取得する。特徴量Ｂ１からＢ５を示す中間特徴情報２３３が記憶部２３０に記憶される。
【手続補正３１】
【補正対象書類名】図面
【補正対象項目名】図２４
【補正方法】変更
【補正の内容】
【図２４】
2014104151.tif 000032
【手続補正書】
【提出日】平成28年8月16日(2016.8.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、
前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、
画像強調処理、閾値処理、及び２値画像処理で階層化した階層毎に、該階層に割り当てられた深さ以下で、１以上の該画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に、選択された前記画像フィルタを配列した個体群を生成する個体生成部と
を有することを特徴とする画像処理装置。
【請求項２】
前記個体生成部は、
遺伝的プログラミングを用いて、前記木構造に前記複数の画像フィルタを配列した個体群を生成することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記個体生成部は、
前記目的画像をルートとして、前記複数の画像フィルタを木構造に配列し、所定階層において前記入力画像を終端ノードに選択することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記個体群に対して、遺伝的プログラミングを用いた進化過程処理を行う進化過程処理部を更に有し、
前記進化過程処理部は、交叉ペアの選択を前記階層毎に制限する交叉ペアの制限ルールを用いて、前記個体群に対して交叉処理を行うことを特徴とする請求項１項記載の画像処理装置。
【請求項５】
前記進化過程処理部は、突然変異の種類を前記階層毎に制限する突然変異の制限ルールを用いて、前記個体群に対して突然変異処理を行うことを特徴とする請求項４記載の画像処理装置。
【請求項６】
コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出方法であって、
記憶部に格納された、画像強調処理、閾値処理、及び２値画像処理で階層化した階層毎に、該階層に対応する前記画像フィルタの情報を対応付けたフィルタテーブルを参照し、
前記階層に割り当てられた深さ以下で、１以上の該画像フィルタを前記フィルタテーブルから選択し、
前記木構造に、選択された前記画像フィルタを配列した個体群を生成する
ことを特徴とする特徴検出方法。
【請求項７】
撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいてクラスタに分類するクラスタリング部と、
前記クラスタ毎に、前記特徴量の中心に近い代表サンプルを選択する選択部と、
各クラスタから選択した複数の前記代表サンプルを指定した学習データを用いて、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有するを特徴とする画像処理装置。
【請求項８】
前記画像の平均輝度、輝度ヒストグラム、空間周波数情報から前記特徴量を取得することを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記遺伝的プログラミングを用いた学習過程において、生成途中の木構造状の前記処理プログラムから特徴量を算出し、学習データを再選別することを特徴とする請求項７記載の画像処理装置。
【請求項１０】
木構造状の前記処理プログラムから、該処理プログラムの各フィルタから前記画像の平均輝度を特徴量として取得することを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記学習データに対して前記特徴量によるクラスタリングを行い、分類されたサンプル群から代表サンプルを選択して、学習データを更新することを特徴とする請求項７記載の画像処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本実施例の一態様によれば、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、画像強調処理、閾値処理、及び２値画像処理で階層化した階層毎に、該階層に割り当てられた深さ以下で、１以上の該画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に、選択された前記画像フィルタを配列した個体群を生成する個体生成部とを有する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
また、本実施例の一態様によれば、撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいてクラスタに分類するクラスタリング部と、
前記クラスタ毎に、前記特徴量の中心に近い代表サンプルを選択する選択部と、
各クラスタから選択した複数の前記代表サンプルを指定した学習データを用いて、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有する。
【国際調査報告】
2014104151.tif 000033
2014104151.tif 000034
2014104151.tif 000035
2014104151.tif 000036