(57)【要約】【課題】  画像から検出対象を見つけ出す画像処理技術において画像処理をより最適化することが可能な画像処理システムを提供する。【解決手段】  有閉路を含み得るネットワーク状に複数の機能単位の実行順序を定義する一又は二以上の個体情報を記憶する個体群記憶部と、学習用又は検証用の画像を入力する画像入力部と、出力情報を評価するための教師情報を入力する教師情報入力部と、個体情報にもとづいて画像を処理し、出力情報を生成する画像処理部と、出力情報と教師情報を比較して評価値を計算し、この評価値にもとづき個体情報を順位付けする評価値計算部と、個体情報の順位付け情報にもとづいて、個体情報の選択又は変更を行って、個体群記憶部を更新する遺伝子操作部を備え、画像処理部による処理に、画像における検出対象を計数する処理が含まれ、教師情報及び出力情報が、画像における検出対象の個数を示す数値である。【選択図】  図１
2020038637.tif 000002
【特許請求の範囲】
【請求項１】
生物の進化を数学的に模擬した最適化手法である遺伝的操作を用いて、画像から検出対象を検出する画像処理を最適化する画像処理システムであって、
有閉路を含み得るネットワーク状に複数の機能単位の実行順序を定義する一又は二以上の個体情報を記憶する個体群記憶部と、
学習用又は検証用の画像を入力する画像入力部と、
出力情報を評価するための教師情報を入力する教師情報入力部と、
前記個体情報にもとづいて前記画像を処理し、前記出力情報を生成する画像処理部と、
前記出力情報と前記教師情報を比較して評価値を計算し、この評価値にもとづき前記個体情報を順位付けする評価値計算部と、
前記個体情報の順位付け情報にもとづき前記個体情報の選択又は変更を行って、前記個体群記憶部を更新する遺伝子操作部と、を備え、
前記画像処理部による処理に、前記画像における検出対象を計数する処理が含まれ、
前記教師情報及び前記出力情報が、前記画像における検出対象の個数を示す数値である
ことを特徴とする画像処理システム。
【請求項２】
前記画像処理部による処理に、ノイズ除去、補正処理、２値化処理、エッジ検出処理、及び四則演算処理の少なくともいずれかが含まれることを特徴とする請求項１記載の画像処理システム。
【請求項３】
前記画像処理部による処理に、前記画像における一定範囲の特徴量を算出する処理、及び前記特徴量にもとづいて前記一定範囲が検出対象であるか否かを判定する処理が含まれることを特徴とする請求項１又は２記載の画像処理システム。
【請求項４】
前記遺伝的操作部が、
前記評価値が高い個体情報を次世代に残すエリート保存部と、
前記評価値にもとづいて、一定の確率で個体情報を次世代に残す選択部と、
２つの個体情報の一部を相互に交換する交叉処理部と、
選択された１つの個体情報の一部又は全部をランダムに書き換える突然変異部と、を有する
ことを特徴とする請求項１〜３のいずれかに記載の画像処理システム。
【請求項５】
前記ネットワークが、機能単位と向きが付いたリンクにより構成される有向ネットワークであり、直線構造と木構造を含むことを特徴とする請求項１〜４のいずれかに記載の画像処理システム。
【請求項６】
前記画像入力部が、検査用の画像を入力し、最も評価値の高い個体情報にもとづき前記画像処理部によって前記検査用の画像を処理して得られた処理結果情報を記憶する処理結果記憶部を備えたことを特徴とする請求項１〜５のいずれかに記載の画像処理システム。
【請求項７】
前記画像処理部による処理に、検出対象を表す検出対象画像を作成する処理が含まれ、
前記教師情報及び前記出力情報に、検出対象を表す検出対象画像が含まれる
ことを特徴とする請求項１〜６のいずれかに記載の画像処理システム。
【請求項８】
生物の進化を数学的に模擬した最適化手法である遺伝的操作を用いて、画像から検出対象を検出する画像処理を最適化する画像処理プログラムであって、
コンピュータを、
有閉路を含み得るネットワーク状に複数の機能単位の実行順序を定義する一又は二以上の個体情報を記憶する個体群記憶部、
学習用又は検証用の画像を入力する画像入力部、
出力情報を評価するための教師情報を入力する教師情報入力部、
前記個体情報にもとづいて前記画像を処理し、前記出力情報を生成する画像処理部、
前記出力情報と前記教師情報を比較して評価値を計算し、この評価値にもとづき前記個体情報を順位付けする評価値計算部、及び、
前記個体情報の順位付け情報にもとづき前記個体情報の選択又は変更を行って、前記個体群記憶部を更新する遺伝子操作部として機能させ、
前記画像処理部による処理に、前記画像における検出対象を計数する処理が含まれ、
前記教師情報及び前記出力情報が、前記画像における検出対象の個数を示す数値である
ことを特徴とする画像処理プログラム。
【請求項９】
前記遺伝的操作部が、
前記評価値が高い個体情報を次世代に残すエリート保存部、
前記評価値にもとづいて、一定の確率で個体情報を次世代に残す選択部、
２つの個体情報の一部を相互に交換する交叉処理部、及び、
選択された１つの個体情報の一部又は全部をランダムに書き換える突然変異部を有する
ことを特徴とする請求項８記載の画像処理プログラム。
【請求項１０】
前記画像処理部による処理に、検出対象を表す検出対象画像を作成する処理が含まれ、
前記教師情報及び前記出力情報に、検出対象を表す検出対象画像が含まれる
ことを特徴とする請求項８又は９記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から検出対象を見つけ出す画像処理技術に関し、特に画像処理を最適化する画像処理システムに関する。
【背景技術】
【０００２】
従来、画像から検出対象を見つけ出す画像処理技術において、入力画像に画像処理を行って得られた出力画像を教師画像と比較して評価値を算出することにより、画像処理を最適化する方法が行われている。
この方法では、画像における検出対象領域と非検出対象領域の比率にもとづいて評価値が悪化する場合があること、教師画像を生成するために手間がかかること、及びコンピュータによる最適化のために人の過度な干渉が必要になることが問題となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４７９９４４号公報
【特許文献２】特許第４８６２１５０号公報
【特許文献３】特許第５０１１５３３号公報
【特許文献４】特開２００８−１５８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、画像から検出対象を見つけ出す画像処理技術として、特許文献１に記載の方法を挙げることができる。
この方法では、遺伝的プログラミング（ＧＰ）による並列型画像フィルタ自動生成システムにサイズ依存型交叉を導入している。これにより、複数の実舗装画像からクラックが存在する画像をフィルタ構築の訓練データに選定採用することで、様々なタイプの画像からクラックの抽出用画像フィルタを自動的に構築し、これを用いて損傷レベルの評価が行われている。
【０００５】
また、このようないわゆる進化的計算を用いる技術として、特許文献２〜４に記載の進化的計算システムを挙げることができる。これらの進化的計算システムによれば、それぞれのシステムにおける処理のアルゴリズムの最適化を図ることが可能になっている。
【０００６】
しかしながら、これらの技術を用いても、入力画像に画像処理を行って得られた出力画像を教師画像と比較することによって画像処理を最適化する場合には、上述のように、検出対象領域の割合により評価値が悪化すること、教師画像の生成に手間がかかること、及び人の過度な干渉が必要になるという課題があった。
例えば、出力画像を教師画像と比較するために最小二乗法などを用いて各ピクセルに対して輝度の差で評価を行うと、検出対象物のサイズにもとづいて、同じ非検出の場合でも評価値に大きな相違が発生していた。
【０００７】
本発明者らは、このような検出対象物のサイズの評価値への影響が、画像処理の最適化の障害になっていると考え、入力画像に画像処理を行って検出対象の個数を示す出力情報を作成し、これを教師情報としての数値と比較することによって、上記の課題を解消できることに想到した。また、進化的計算において、遺伝的ネットワークプログラミング（ＧＮＰ）の手法を採用することにより、最適化の自由度を向上させることを可能にして、本発明を完成させた。
【０００８】
すなわち、本発明は、画像から検出対象を見つけ出す画像処理技術において、画像処理をより最適化することが可能な画像処理システム、及び画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の画像処理システムは、生物の進化を数学的に模擬した最適化手法である遺伝的操作を用いて、画像から検出対象を検出する画像処理を最適化する画像処理システムであって、有閉路を含み得るネットワーク状に複数の機能単位の実行順序を定義する一又は二以上の個体情報を記憶する個体群記憶部と、学習用又は検証用の画像を入力する画像入力部と、出力情報を評価するための教師情報を入力する教師情報入力部と、前記個体情報にもとづいて前記画像を処理し、前記出力情報を生成する画像処理部と、前記出力情報と前記教師情報を比較して評価値を計算し、この評価値にもとづき前記個体情報を順位付けする評価値計算部と、前記個体情報の順位付け情報にもとづいて、前記個体情報の選択又は変更を行って、前記個体群記憶部を更新する遺伝子操作部とを備え、前記画像処理部による処理に、前記画像における検出対象を計数する処理が含まれ、前記教師情報及び前記出力情報が、前記画像における検出対象の個数を示す数値である構成としてある。
【００１０】
また、本発明の画像処理システムを、前記画像処理部による処理に、検出対象を表す検出対象画像を作成する処理が含まれ、前記教師情報及び前記出力情報に、検出対象を表す検出対象画像が含まれる構成とすることも好ましい。
【００１１】
また、本発明の画像処理プログラムは、生物の進化を数学的に模擬した最適化手法である遺伝的操作を用いて、画像から検出対象を検出する画像処理を最適化する画像処理プログラムであって、コンピュータを、有閉路を含み得るネットワーク状に複数の機能単位の実行順序を定義する一又は二以上の個体情報を記憶する個体群記憶部、学習用又は検証用の画像を入力する画像入力部、出力情報を評価するための教師情報を入力する教師情報入力部、前記個体情報にもとづいて前記画像を処理し、前記出力情報を生成する画像処理部、前記出力情報と前記教師情報を比較して評価値を計算し、この評価値にもとづき前記個体情報を順位付けする評価値計算部、及び、前記個体情報の順位付け情報にもとづいて、前記個体情報の選択又は変更を行って、前記個体群記憶部を更新する遺伝子操作部として機能させ、前記画像処理部による処理に、前記画像における検出対象を計数する処理が含まれ、前記教師情報及び前記出力情報が、前記画像における検出対象の個数を示す数値である構成としてある。
【００１２】
また、本発明の画像処理プログラムを、前記画像処理部による処理に、検出対象を表す検出対象画像を作成する処理が含まれ、前記教師情報及び前記出力情報に、検出対象を表す検出対象画像が含まれる構成とすることも好ましい。
【発明の効果】
【００１３】
本発明によれば、画像から検出対象を見つけ出す画像処理技術において、画像処理をより最適化することが可能な画像処理システム、及び画像処理プログラムの提供が可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第一実施形態の画像処理装置の構成を示すブロック図である。
【図２】本発明の第一実施形態の画像処理装置による処理手順を示すフローチャートである。
【図３】本発明の第一実施形態の画像処理装置による処理手順における遺伝子操作の処理手順を示すフローチャートである。
【図４】本発明の第二実施形態の画像処理装置の構成を示すブロック図である。
【図５】本発明の第二実施形態の画像処理装置による処理手順を示すフローチャートである。
【図６】実施例及び参考例で用いたノードの機能（画像処理：ノイズ除去）を示す説明図である。
【図７】実施例及び参考例で用いたノードの機能（画像処理：輝度補正、組合せ）を示す説明図である。
【図８】実施例及び参考例で用いたノードの機能（画像処理：２値化）を示す説明図である。
【図９】実施例及び参考例で用いたノードの機能（画像処理：エッジ検出）を示す説明図である。
【図１０】実施例及び参考例で用いたノードの機能（画像処理：エッジ検出、四則演算）を示す説明図である。
【図１１】実施例及び参考例で用いたノードの機能（検出対象判定）を示す説明図である。
【図１２】実施例及び参考例による学習とその結果を比較した説明図（No,1-4）である。
【図１３】実施例及び参考例による学習とその結果を比較した説明図（No,5-8）である。
【図１４】実施例及び参考例による検証結果を比較した説明図（No,1-3）である。
【図１５】実施例及び参考例による学習における正規化した評価値の遷移のグラフを示す図である。
【図１６】実施例の学習によって得られた個体情報の構造を示す図である。
【図１７】実施例の学習によって得られた個体情報で用いられたノードの機能を示す図である。
【図１８】参考例の学習によって得られた個体情報の構造を示す図である。
【図１９】参考例の学習によって得られた個体情報で用いられたノードの機能を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の画像処理システム、及び画像処理プログラムの実施形態について詳細に説明する。ただし、本発明は、以下の実施形態、及び後述する実施例の具体的な内容に限定されるものではない。
【００１６】
［第一実施形態］
まず、本発明の第一実施形態に係る画像処理システム、及び画像処理プログラムの第一実施形態について、図１〜図３を参照して説明する。図１は、本実施形態の画像処理システムに対応する画像処理装置の構成を示すブロック図であり、図２は、同画像処理装置による処理手順を示すフローチャートである。また、図３は、同画像処理装置による処理手順における遺伝子操作の処理手順を示すフローチャートである。
【００１７】
本実施形態の画像処理システムは、生物の進化を数学的に模擬した最適化手法である遺伝的操作を用いて、画像から検出対象を検出する画像処理を最適化する。
具体的には、本実施形態の画像処理装置１は、図１に示すように、機能単位記憶部１０、個体生成部１１、個体群記憶部１２、画像入力部１３、画像記憶部１４、教師情報入力部１５、教師情報記憶部１６、画像処理部１７、出力情報記憶部１８、評価値計算部１９、評価結果記憶部２０、及び遺伝子操作部２１を備えている。
本実施形態の画像処理装置１におけるこれらの各構成は、図１に示すように一個の情報処理装置に全て備えることができる。また、これらの各構成は、複数の情報処理装置からなる画像処理システムの各装置に分散して備えてもよい。これは、後述する第二実施形態についても同様である。
【００１８】
機能単位記憶部１０は、ある処理を実行する機能単位であるノード（遺伝子に相当する）をノード番号ごとに記憶する。本実施形態において、このノードとして、画像処理を行うための様々なものを用いることができ、後述する実施例では、図６〜図１１に示すものを用いている。
また、これらのノードは、それぞれの処理の実行に用いるパラメータが存在する場合には、そのパラメータと共に機能単位記憶部１０に記憶される。
【００１９】
さらに、ノードとして、何ら処理を実行しないものを用いてもよく、複数の処理を実行する機能単位をまとめたものを１個のノード（ノードセット）として用いてもよい。ノードとして何ら処理を実行しないものを含めて用いることにより、例えば個体情報を生成するための初期ノード数の設定値が多すぎた場合などに、実質的なノード数を減らすことができる。
【００２０】
本明細書において、「画像処理」には、ノイズ除去のための各種フィルター処理や、輝度補正などの補正処理、２値化処理、エッジ検出処理、四則演算等の狭義の画像処理の他、これに伴って実行され得る検出対象判定処理、及び出力処理などが含まれる。
【００２１】
個体生成部１１は、機能単位記憶部１０に記憶されているノードを用いて、複数のノードの配列からなる個体情報を生成する。このとき、個体生成部１１は、複数のノードにもとづいて、複数の個体情報をランダムに生成することができる。
またこのとき、個体生成部１１は、個体情報において、有閉路を含み得るネットワーク状に複数のノードの実行順序を定義することができる。このネットワークは、向きが付いたリンクにより構成される有向ネットワークであり、フィードバックが含まれることがある。また、このネットワークには、直線構造と木構造も含まれ得る。
【００２２】
このような個体情報を用いれば、直線構造や木構造のみからなる個体情報を用いる場合に比較して、より柔軟な表現力を持つネットワーク構造を含めて学習を行うことができるため、最適解（実用上の最適解，実用解）を導き出す上で優位性がある。すなわち、問題に対してどの構造体が最適解になるかは人が事前に把握することができないため、機械学習の前に構造体の条件を決定することは難しい。このため、個体情報として、有閉路を含み得るネットワーク状に複数のノードの実行順序を定義するものを使用して、幅広い条件で最適解を探索することは、真の最適解を導き出せる可能性を高める上で有効と考えられる。
【００２３】
個体群記憶部１２は、個体生成部１１によって生成された複数の個体情報からなる個体群を記憶する。この個体群として、一の世代又は複数の世代を個体群記憶部１２に記憶させることができ、世代番号ごとに個体情報を個体群記憶部１２に記憶させることができる。
後述する評価値計算部１９は、世代ごとに個体情報を順位付けして、順位付け情報を評価結果記憶部２０に記憶させることができる。
【００２４】
画像入力部１３は、学習用又は検証用の画像を画像処理装置１に入力して、画像識別情報ごとに画像記憶部１４に記憶させる。
教師情報入力部１５は、画像識別情報に対応させて、出力情報を評価するための教師情報を入力し、当該画像識別情報ごとに教師情報記憶部１６に記憶させる。本実施形態において、教師情報は、当該画像識別情報に対応する画像における検出対象の個数を示す数値である。
検出対象（検出対象要素）とは、画像における欠陥（クラック、キズ、汚れなど）、特定の部品、特定の柄等とすることができる。なお、検出対象が画像の全体に相当する場合もあり得る。
【００２５】
ここで、教師情報を画像にする場合、最小二乗法による評価では、検出対象物の大きさに評価値が影響を強く受けるため、小さい検出対象がない場合よりも、大きい検出対象の形状が異なる方が、評価値が悪化し易くなる。
例えば、ある画像において三角形を検出対象とした場合に、サイズが１０ピクセルの三角形が検出されなかったとする。
このとき、同じ画像におけるより大きい三角形の出力が教師画像のものよりも一回り小さくなったとすると、その差が１０ピクセル以上であれば、１０ピクセルの三角形が無いことより評価値が悪化することになる。このため、機械学習では小さい三角より大きい三角を教師画像に近づけた方が評価値が良くなる傾向になり、小さい三角形より大きい三角形を一致させるように進化が進み、局所解に陥り易い状態になる。これに対して、本実施形態では検出対象の大きさに拘わらず、未検出の誤差が同一になるため、局所解に陥り難くなっている。
【００２６】
画像処理部１７は、画像記憶部１４から画像を入力すると共に、個体群記憶部１２から個体情報を入力して、その個体情報にもとづき当該個体情報に含まれる複数のノードを順次実行する。
このとき、各ノードは、画像から得られる情報を用いて、それぞれの機能に対応する処理を実行する。また、各ノードは、その処理結果にもとづいて、処理結果に対応する次のノードを選択的に実行し得る。したがって、個体情報に含まれるノードであっても、画像処理において、必ずしも全てのノードが実行される訳ではない。勿論、個体情報における全てのノードが実行される場合はある。また、フィードバックが行われることによって、一つの個体情報において１つのみ定義されているノードが、複数回実行されることもあり得る。
【００２７】
また、ノードの機能としては、上述したように、ノイズ除去のための各種画像フィルター処理や、輝度補正などの補正処理、２値化処理、エッジ検出処理、四則演算等の狭義の画像処理がある。これらは、画像処理部１７によって、主として、検出対象候補を見つけるための処理として行われる。
【００２８】
また、ノードの機能としての検出対象判定処理は、画像処理部１７によって、画像における一定範囲の検出対象候補をラベリングしてその特徴量を計算し、閾値などにもとづいて、その特徴量を備えた検出対象候補が、正しい検出対象であるか否かを判定する処理として行われる。
なお、検出対象判定処理において、非検出対象候補をラベリングしてその特徴量を計算し、閾値などにもとづきその特徴量を備えていないことにより、検出対象でないことを判定する処理を行うこともできる。
【００２９】
さらに、画像処理部１７は、出力情報を生成して出力する。
具体的には、画像における検出対象を計数（カウント）して出力情報を生成する。そして、この出力情報を当該画像の画像識別情報ごとで、かつ個体情報の識別情報ごとに出力情報記憶部１８に記憶させることができる。
このように、本実施形態における画像処理部１７によって得られる出力情報は、画像における検出対象の個数を示す数値として生成される。
【００３０】
なお、画像における検出対象の個数を示す数値を取得する機能を評価値計算部１９に行わせることもできる。すなわち、画像処理部１７により画像処理された後の画像にもとづいて、評価値計算部１９が検出対象の個数を示す数値を取得し、これにもとづき評価値を計算する構成とすることも可能である。
【００３１】
評価値計算部１９は、出力情報記憶部１８から出力情報を入力すると共に、教師情報記憶部１６からその出力情報に対応する画像識別情報に対応する教師情報を入力する。
そして、出力情報と教師情報を比較して評価値を計算し、得られた評価値を当該画像の画像識別情報ごとで、かつ個体情報の識別情報ごとに評価結果記憶部２０に記憶させることができる。
このとき、評価値計算部１９は、出力情報と教師情報を用いて、最小二乗法により、平均二乗誤差を評価値として算出することができる。
【００３２】
また、評価値計算部１９は、個体群記憶部１２に記憶されている全ての個体情報（又は１世代分の個体情報）につき評価値を計算し終えて評価結果記憶部２０に記憶させた場合などに、これらの評価値にもとづき個体情報を順位付け（ランキング）して、得られた順位付け情報を評価結果記憶部２０に記憶させることができる。
【００３３】
さらに、評価値計算部１９は、画像処理部１７による画像処理を終了するか否かを判定するための終了判定を行うことができる。終了判定は、終了条件を満たすか否かにもとづき行うことができ、終了条件を満たす場合、画像処理部１７による画像の処理を終了させて、画像処理装置１による処理を終了させることができる。そして、評価結果記憶部２０に記憶された最も評価値の高い個体情報が、画像処理を行うための最適化された個体情報として得られる。
【００３４】
終了条件としては、予め設定した全ての世代の個体群について画像処理を完了した場合や、一定の世代数以上で進化が発生していない場合などを挙げることができる。
進化が発生していない場合とは、評価値が、比較対象の時点よりも高くなっていない場合である。なお、後述する実施例では、評価値として平均二乗誤差を用いているため、評価値の小さいほうが良い個体情報となる。したがって、一定の世代数について画像処理を行って評価値が小さくなっていなければ、進化していないと判定できる。
【００３５】
なお、評価値計算部１９からこの終了判定の機能を分離して、本実施形態の画像処理装置１において終了判定を行うための終了判定部を備えてもよい。
【００３６】
遺伝子操作部２１は、評価結果記憶部２０における個体情報の順位付け情報にもとづいて、個体情報の選択又は変更を行って、個体群記憶部１２を更新する。
具体的には、遺伝子操作部２１は、評価値が高い個体情報を次世代に残すエリート個体保存部と、評価値にもとづいて、一定の確率で個体情報を次世代に残す個体選択部と、２つの個体情報の一部を相互に交換する交叉部と、選択された１つの個体情報の一部又は全部をランダムに書き換える突然変異部とを有するものとすることができる。
【００３７】
エリート個体保存部は、各世代の個体群において、一番評価値の良い個体情報などを、無条件で次世代に残す処理を行うことができる。
個体選択部は、各世代の個体群において、評価値の順位の高い個体情報を高い確率で選択して、次世代に残す処理を行うことができる。
【００３８】
交叉部は、交叉処理として、複数の個体情報の各ノードの配列における同一（ノード番号）の並びについて、ある確率で入れ替える１様交叉を行うことができる。また、交叉部は、交叉処理として、各ノードの配列における同一の並びの１点を境として、一方の配列を相互に入れ替える１点交叉や、同一の並びの複数点を境として配列を相互に入れ替える複数点交叉を行うこともできる。交叉部は、このような交叉処理を、個体選択部により選択された個体情報に対して行うことができる。
【００３９】
突然変異部は、突然変異処理として、機能単位記憶部１０に記憶されているノードを用いて、個体情報ごとに一定の確率でその個体情報の一部を書き換えたり、その個体情報の全てを書き換えることができる。突然変異部は、このような突然変異処理を、個体選択部により選択された個体情報に対して行うことができる。また、突然変異部は、突然変異処理として、機能単位記憶部１０に記憶されているノードを用いて、新しい個体情報を生成することもできる。
【００４０】
なお、同じ個体情報にもとづいて生成された同系列個体が増えると、多様性が失われて進化が袋小路（数学的に局所解に陥った状態）に入ってしまう。一方、同系列以外の個体を増やしすぎると、ランダム探索に近づき、効率的な進化が行われない。
そこで、学習初期では多様性を持たせるために、同系列以外の個体を増やすように突然変異部による処理を行い、学習中期では効率的な進化を実施するために、個体選択部により同系列を増やすことが好ましい。また、進化が止まった場合には、再度多様性を持たせるために突然変異部により同系列以外を増やすことなどを好適に行うことができる。
【００４１】
そして、遺伝子操作部２１は、新たな世代の個体群を生成して、個体群記憶部１２に記憶させる。このとき、遺伝子操作部２１は、前の世代の個体群を上書きすることにより、個体群記憶部１２を更新することができる。また、複数世代の個体群を世代ごとに記憶させることにより、個体群記憶部１２を更新することもできる。
【００４２】
次に、本実施形態の画像処理装置による処理手順について、図２及び図３を参照して説明する。
まず、画像処理装置１における画像入力部１３が、画像を入力する（ステップ１０）。また、教師情報入力部１５が、教師情報としての数値を入力する（ステップ１１）。そして、個体生成部１１によって、初期個体群が生成される（ステップ１２）。
このとき、個体生成部１１は、機能単位記憶部１０からノードをランダムに選択して配列することにより個体情報を生成して、個体情報の識別情報ごとに個体群記憶部１２に記憶させることができる。また、個体生成部１１は、複数の個体情報からなる個体群を一つの世代として、世代番号ごとに複数の世代の個体群を個体群記憶部１２に記憶させることもできる。
【００４３】
次に、画像処理部１７は、個体群記憶部１２における個体群の世代ごとに、個体群における全ての個体情報について画像処理を実行する（ステップ１３、１４、１５）。
このとき、画像処理部１７は、個体情報ごとに出力情報として、画像における検出対象の個数を示す数値を出力して、出力情報記憶部１８に記憶させる。
【００４４】
次に、評価値計算部１９は、個体情報ごとに、出力情報と教師情報を比較して、評価値を計算する（ステップ１６）。
このとき、評価値計算部１９による評価値の計算において、例えば最小二乗法を用いて、評価値として平均二乗誤差を算出することができる。
また、評価値計算部１９は、得られた評価値を評価結果記憶部２０に個体情報ごとに記憶させる。
そして、当該世代の全ての個体情報について、画像の処理から評価値の計算及び記憶までの処理を繰り返し実行する。
【００４５】
次に、評価値計算部１９は、評価結果記憶部２０に記憶されている評価値にもとづいて、個体情報の順位付けを行う（ステップ１７）。
また、評価値計算部１９は、終了条件が満たされているか否かの判定処理を行う（ステップ１８）。終了条件が満たされている場合、画像処理装置１による処理を終了する。
【００４６】
終了条件が満たされていない場合、遺伝子操作部２１は、遺伝子操作処理を実行する（ステップ１９）。
具体的には、図３に示すように、遺伝子操作部２１におけるエリート個体保存部は、最も評価値の高い個体情報を次世代の個体群の個体情報として選択する（ステップ２０）。
また、遺伝子操作部２１における個体選択部は、評価値の順位の高い個体情報ほど高い確率で次世代の個体群の個体情報として選択する（ステップ２１）。
【００４７】
さらに、遺伝子操作部２１における交叉部は、個体選択部により選択された個体情報に対して、交叉処理を実行して、新たな個体情報を生成する（ステップ２２）。
また、遺伝子操作部２１における突然変異部は、個体選択部により選択された個体情報にもとづいて、またはこれらの個体情報を用いることなく、突然変異処理を行い、新たな個体情報を生成する（ステップ２３）。
なお、エリート個体保存部、個体選択部、交叉部、突然変異部による各処理の順序を、各処理を実行可能な順序の範囲で入れ替えて実行してもよい。
【００４８】
このような本実施形態の画像処理装置によれば、画像から検出対象を見つけ出す画像処理技術において、入力画像に画像処理を行って検出対象の個数を示す出力情報を作成し、その出力情報に対して、教師情報としての数値を用いて比較することができる。このため、画像内の検出対象のサイズに拘わらず評価値を同一とすることができ、検出対象領域の割合により評価値が悪化する問題を解消することが可能である。また、従来、教師画像の生成に手間がかかっていた問題や人の過度な干渉が必要になっていた問題を解消することも可能となる。
【００４９】
［第二実施形態］
次に、本発明の第二実施形態に係る画像処理システム、及び画像処理プログラムについて、図４及び図５を参照して説明する。図４は、本実施形態の画像処理システムに対応する画像処理装置の構成を示すブロック図であり、図５は、同画像処理装置による処理手順を示すフローチャートである。
【００５０】
本実施形態の画像処理装置１ａは、図４に示すように、機能単位記憶部１０ａ、個体生成部１１ａ、個体群記憶部１２ａ、画像入力部１３ａ、画像記憶部１４ａ、教師情報入力部１５ａ、教師情報記憶部１６ａ、画像処理部１７ａ、出力情報記憶部１８ａ、評価値計算部１９ａ、評価結果記憶部２０ａ、及び遺伝子操作部２１ａを備えている。また、個体群記憶部１２ａは、親個体群記憶部１２１ａと子個体群記憶部１２２ａを備えている。
【００５１】
本実施形態の画像処理装置１ａにおける機能単位記憶部１０ａ、画像入力部１３ａ、画像記憶部１４ａ、教師情報入力部１５ａ、教師情報記憶部１６ａ、出力情報記憶部１８ａ、及び評価結果記憶部２０ａは、第一実施形態と同様のものとすることができる。また、本実施形態の画像処理装置１ａにおけるその他の構成についても、以下に説明する点を除いて、第一実施形態と同様のものとすることができる。
【００５２】
個体生成部１１ａは、機能単位記憶部１０に記憶されているノードを用いて、複数のノードの配列からなる個体情報を生成する。このとき、個体生成部１１ａは、第一実施形態と同様に、個体情報において、有閉路を含み得るネットワーク状に複数のノードの実行順序を定義することができる。
また、本実施形態における個体生成部１１ａは、個体情報として、複数の親個体情報をランダムに生成し、これら親個体情報からなる初期の親個体群を親個体群記憶部１２１ａに記憶させることができる。
【００５３】
遺伝子操作部２１ａは、親個体群記憶部１２１ａにおける親個体情報に対して遺伝子操作を実行する。
具体的には、まず、親個体群記憶部１２１ａにおける親個体群からランダムに、子個体情報を生成する親個体情報を選択する。
【００５４】
遺伝子操作部２１ａにおけるエリート個体保存部は、選択された親個体情報と同一の子個体情報からなる子個体群を子個体群記憶部１２２ａに記憶させることができる。
そして、遺伝子操作部２１ａにおける交叉部は、選択された親個体情報に対して交叉処理を実行して、複数の子個体情報を生成し、これら子個体情報からなる子個体群を子個体群記憶部１２２ａに記憶させることができる。
また、遺伝子操作部２１ａにおける突然変異部は、機能単位記憶部１０に記憶されているノードを用いて、選択された親個体情報に対して突然変異処理を実行して、一定の確率で親個体情報の一部を書き換えたり、その全てを書き換えることによって得られた子個体情報からなる子個体群を子個体群記憶部１２２ａに記憶させることができる。また、突然変異部は、突然変異処理として、機能単位記憶部１０ａに記憶されているノードを用いて、新しい個体情報を生成することもできる。
【００５５】
さらに、遺伝子操作部２１ａは、評価結果記憶部２０ａにおける子個体情報の順位付け情報にもとづいて、一番評価値の良い子個体情報及び確率で選択された子個体情報を、親個体群からランダムに選択された上記の親個体情報と入れ替えることなどによって、親個体群記憶部１２１ａにおける親個体情報を更新することができる。
【００５６】
画像処理部１７ａは、画像記憶部１４ａから画像を入力すると共に、子個体群記憶部１２２ａから子個体情報を入力して、その子個体情報にもとづき当該子個体情報に含まれる複数のノードを順次実行する。そして、画像処理部１７ａは、画像における検出対象を計数して出力情報を生成し、この出力情報を当該画像の画像識別情報ごとで、かつ子個体情報の識別情報ごとに出力情報記憶部１８ａに記憶させることができる。
【００５７】
評価値計算部１９ａは、出力情報記憶部１８ａから出力情報を入力すると共に、教師情報記憶部１６ａからその出力情報に対応する画像識別情報に対応する教師情報を入力する。
そして、出力情報と教師情報を比較して評価値を計算し、得られた評価値を当該画像の画像識別情報ごとで、かつ子個体情報の識別情報ごとに評価結果記憶部２０ａに記憶させることができる。
【００５８】
また、評価値計算部１９ａは、個体群記憶部１２ａにおける子個体群記憶部１２２ａに記憶されている全ての子個体情報（又は１世代分の子個体情報）につき評価値を計算し終えて評価結果記憶部２０ａに記憶させた場合などに、これらの評価値にもとづき子個体情報を順位付けして、得られた順位付け情報を評価結果記憶部２０ａに記憶させることができる。
さらに、評価値計算部１９ａは、画像処理部１７ａによる画像処理を終了するか否かを判定するための終了判定を行うことができる。
【００５９】
次に、本実施形態の画像処理装置の処理手順について、図５を参照して説明する。
まず、画像処理装置１ａにおける画像入力部１３ａが、画像を入力する（ステップ３０）。また、教師情報入力部１５ａが、教師情報としての数値を入力する（ステップ３１）。そして、個体生成部１１ａによって、初期の親個体群が生成される（ステップ３２）。
【００６０】
このとき、個体生成部１１ａは、機能単位記憶部１０ａからノードをランダムに選択して配列することにより親個体情報を生成して、親個体情報の識別情報ごとに個体群記憶部１２ａにおける親個体群記憶部１２１ａに記憶させることができる。この親個体群記憶部１２１ａにおける親個体群は、後述する親個体群の更新処理によって更新され、設定された世代について以下の処理が繰り返し行われる（ステップ３３）。
【００６１】
遺伝子操作部２１ａは、親個体群記憶部１２１ａにおける親個体群からランダムに、子個体情報を生成する親個体情報を選択する。（ステップ３４）。そして、選択された親個体情報に対して遺伝子操作を実行する（ステップ３５）。なお、ステップ３４の親個体情報の選択を、ステップ３５の遺伝子操作の一部として、実行してもよい。
【００６２】
すなわち、遺伝子操作部２１ａは、ランダムに選択された親個体情報に対して交叉処理や突然変異処理を実行して、複数の子個体情報を生成し、これら子個体情報からなる子個体群を子個体群記憶部１２２ａに記憶させる。
【００６３】
次に、画像処理部１７ａは、子個体群記憶部１２２ａにおける全ての子個体情報について画像の処理を実行する（ステップ３６、３７）。
このとき、画像処理部１７ａは、子個体情報ごとに出力情報として、画像における検出対象の個数を示す数値を出力して、出力情報記憶部１８ａに記憶させる。
【００６４】
次に、評価値計算部１９ａは、子個体情報ごとに、出力情報と教師情報を比較して評価値を計算し（ステップ３８）、得られた評価値を評価結果記憶部２０に子個体情報ごとに記憶させる。
そして、子個体群記憶部１２２ａにおける全ての子個体情報について、画像の処理から評価値の計算及び記憶までの処理を繰り返し実行する。
【００６５】
次に、評価値計算部１９ａは、評価結果記憶部２０ａに記憶されている評価値にもとづいて、子個体情報の順位付けを行う（ステップ３９）。
そして、遺伝子操作部２１は、評価結果記憶部２０ａにおける子個体情報の順位付け情報にもとづいて、一番評価値の良い子個体情報及び確率で選択された子個体情報を、親個体群からランダムに選択された上記の親個体情報と入れ替えることにより、個体群記憶部１２における親個体群記憶部１２１ａの親個体情報を更新する（ステップ４０）。
【００６６】
また、評価値計算部１９ａは、終了条件が満たされているか否かの判定処理を行い（ステップ４１）、終了条件が満たされている場合、画像処理装置１ａによる処理を終了する。
【００６７】
画像処理装置１ａによる処理を終了させる場合、評価値計算部１９ａは、最終世代における全ての個体情報につき評価値を計算し、評価値にもとづき個体情報を順位付けして、得られた順位付け情報を評価結果記憶部２０ａに記憶させることができる。
【００６８】
このような本実施形態の画像処理装置によれば、親個体群から親を選択して子個体情報を生成する時に遺伝子操作が実行されると共に、子個体情報を親個体群における親個体情報と入れ替えることで、親個体群を更新することができる。これにより、第一実施形態に比較して、進化の多様性をより保った状態で、最適な個体情報を探すことが可能となっている。
【００６９】
［第三実施形態］
次に、本発明の第三実施形態に係る画像処理システム、及び画像処理プログラムについて説明する。本実施形態の画像処理システムは、教師情報として、画像における検出対象の個数を示す数値と、画像における検出対象の画像（以下、検出対象画像）を用いる点で、第一実施形態と相違する。その他の点は、第一実施形態と同様である。
【００７０】
すなわち、本実施形態の画像処理システムに相当する画像処理装置１ｃは、図示しないが、機能単位記憶部１０ｃ、個体生成部１１ｃ、個体群記憶部１２ｃ、画像入力部１３ｃ、画像記憶部１４ｃ、教師情報入力部１５ｃ、教師情報記憶部１６ｃ、画像処理部１７ｃ、出力情報記憶部１８ｃ、評価値計算部１９ｃ、評価結果記憶部２０ｃ、及び遺伝子操作部２１ｃを備えている。
【００７１】
本実施形態の画像処理装置１ｃにおいて、教師情報入力部１５ｃは、画像識別情報に対応させて、出力情報を評価するための教師情報として、当該画像識別情報に対応する画像における検出対象の個数を示す数値と、同画像における検出対象画像を入力し、当該画像識別情報ごとに教師情報記憶部１６ｃに記憶させる。
【００７２】
また、本実施形態において、画像処理部１７ｃは、画像における検出対象を計数し、得られた検出対象の個数を示す数値と、画像における検出対象画像とを出力情報として生成する。そして、この出力情報を当該画像の画像識別情報ごとで、かつ個体情報の識別情報ごとに出力情報記憶部１８ｃに記憶させることができる。
このように、本実施形態における画像処理部１７ｃによって得られる出力情報は、画像における検出対象の個数を示す数値及び検出対象画像として生成される。
【００７３】
評価値計算部１９ｃは、出力情報と教師情報を用いて、検出対象要素の画像（１ピクセルごとの差）と個数に対して重み付けを行い、これらを足し合わせた数値を評価値として算出することができる。具体的には、例えば、以下の式により評価値を算出することができる。
教師画像との平均二乗誤差×重み１．０＋教師個数との平均二乗誤差×重み０．１
【００７４】
このような本実施形態の画像処理装置によれば、画像から検出対象を見つけ出す画像処理技術において、入力画像に画像処理を行って検出対象の個数を示す数値と検出対象画像を含む出力情報を作成し、その出力情報を教師情報である検出対象の個数を示す数値及び検出対象画像と比較することができる。このため、教師情報として検出対象の個数を示す数値のみを用いる場合に比較して、より優れた個体情報を効率良く生成することが可能となる。
【００７５】
例えば、境界線がはっきりとしていない検出対象について、教師情報として画像のみを用いる場合、与えた教師情報の画像の境界線は人が決定した物であるため決定した人間による差違が発生し、良質な学習が行えない可能性がある。しかし、教師情報に個数を用いた場合、このような影響を受けない。そのため、教師情報として検出対象の個数と画像を組み合わせて教師情報とすることで、より良い個体情報が得られる可能性を高めることが可能である。
【００７６】
上記実施形態の画像処理装置は、本発明の画像処理プログラムに制御されたコンピュータを用いて実現することができる。コンピュータのＣＰＵは、画像処理プログラムにもとづいてコンピュータの各構成要素に指令を送り、画像処理装置の動作に必要となる所定の処理、例えば、個体生成処理、画像処理、評価値計算処理、遺伝子操作処理等を行わせる。このように、本発明の画像処理装置における各処理、動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
【００７７】
プログラムは予めＲＯＭ，ＲＡＭ等の記録媒体に格納され、コンピュータに実装された記録媒体から当該コンピュータにプログラムを読み込ませて実行されるが、例えば通信回線を介してコンピュータに読み込ませることもできる。
また、プログラムを格納する記録媒体は、例えば半導体メモリ、磁気ディスク、光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
【００７８】
以上説明したように、本発明の実施形態に係る画像処理システム、及び画像処理プログラムによれば、画像から検出対象を見つけ出す画像処理技術において画像処理をより最適化することが可能である。
【実施例】
【００７９】
以下、本発明の実施形態に係る画像処理装置を用いて、画像から検出対象を検出する画像処理を最適化した実験について、図６〜図１９を用いて説明する。
実施例として、本発明の第二実施形態に係る画像処理装置を使用した。
また、参考例として、本発明の第二実施形態に係る画像処理装置の一部を変更したものを使用した。具体的には、参考例では教師情報として画像情報を用いるように変更した。
【００８０】
また、参考例において、画像処理部は、検出対象の個数示す数値を出力情報として生成せずに、検出対象を表示する画像を出力情報として生成させ、出力情報記憶部に記憶させた。また、評価値計算部は、教師情報としての画像情報と出力情報をピクセルごとに比較して平均二乗誤差を算出し、これを評価値として評価結果記憶部に記憶させた。また、遺伝子操作は実施例と同様に行った。
【００８１】
ここで、評価値は、実施例では数値である出力情報と教師情報を用いて検出対象の個数の差にもとづき平均二乗誤差を計算し、参考例では画像である出力情報と教師情報を用いて１ピクセルごとの差にもとづき平均二乗誤差を計算しているため、これらをそのまま比較することはできない。そこで、これらの評価値が、０〜１の間になるように、以下の式を用いて評価値の正規化を行った。
【数１】
2020038637.tif 000003
【００８２】
機能単位記憶部に記憶させたノードを図６〜図１１に示す。図６に示すノードは、画像処理（ノイズ除去）を行うものであり、図７に示すノードは、画像処理（輝度補正、組合せ）を行うものであり、図８に示すノードは、画像処理（２値化）を行うものであり、図９に示すノードは、画像処理（エッジ検出）を行うものであり、図１０に示すノードは、画像処理（エッジ検出、四則演算）を行うものであり、図１１に示すノードは、検出対象判定を行うものである。
【００８３】
画像入力部により入力する学習用及び検証用の画像としては、様々な大きさと形状をもつ丸、三角、四角を表示したものなどを使用した。参考例では教師情報として学習用の画像から三角形を選択して表示した２値化画像を使用し、実施例では教師情報として学習用の画像における三角形の個数を示す数値を使用した。
【００８４】
実施例及び参考例ともに、学習で使用した入力画像の数は８枚であり、検証で使用した入力画像の枚数は３枚である。
個体生成部により生成させる初期の親個体情報の個数を１５０個とし、２個の親個体情報をランダムに選択して親個体群からは削除し、これらの親個体情報に対して遺伝子操作を実行して、５２個の子個体情報を生成した（親と同一個体：2、一様交叉個体：20、突然変異個体：30）。
【００８５】
また、画像処理を行って、子個体情報の評価結果にもとづいて、評価値が一番よい子個体情報と確率で選択された子個体情報の２個の子個体情報を選択し、これらの子個体情報を親個体情報として親個体群に戻し、以上の処理を設定した世代数分繰り返し実行した。
最大の世代数を５０００世代に設定し、進化がストップしたと判定された場合（正規化後の評価値が０になった場合）、処理を終了した。
【００８６】
その結果を図１２〜図１９に示す。図１２及び図１３は、実施例及び参考例による学習とその結果を比較した説明図であり、図１４は、実施例及び参考例による検証結果を比較した説明図である。また、図１５は、実施例及び参考例による学習における正規化した評価値の遷移のグラフを示す図である。さらに、図１６は、実施例の学習によって得られた個体情報の構造を示す図であり、図１７は、実施例の学習によって得られた個体情報で用いられたノードの機能を示す図である。また、図１８は、参考例の学習によって得られた個体情報の構造を示す図であり、図１９は、参考例の学習によって得られた個体情報で用いられたノードの機能を示す図である。
【００８７】
図１２〜図１４において、参考例の「検出誤差」は、出力画像にある白い物体を目視で数えて、教師画像との誤差を計算した結果である。
また、「備考」の「実施例において検出対象と認識した箇所」は、参考情報として作成したものであり、画像処理部において作成された２値化画像にもとづいて、実施例の出力情報が画像の何処についてその数がカウントされたのかを確認し、そのカウントされた部分に白丸を付したものである。
「出力」に示された画像及び数値は、評価値が一番良い個体情報によるものが示されている。すなわち、これらの出力情報の出力に用いられた個体情報が、実施例及び参考例における最終的に得られた個体情報である。
【００８８】
図１２及び図１３に示す学習結果においては、実施例及び参考例ともに検出誤差は発生しなかった。しかしながら、評価値の推移を観察すると、図１５に示すように、実施例では４１２世代で評価値が０となり、学習処理が終了している。これに対して、参考例では評価値は０にならず、最大学習回数（設定した最大世代数）まで世代を重ねた。これは参考例の場合、１ピクセルごとに出力画像と教師画像を比較しているため、１ピクセルでも違う箇所があると０にならないことに起因している。
【００８９】
図１４に示す検証結果においては、実施例では検出誤差は発生しなかった。また、教師情報を検出対象の数としているが、「備考」に示されるように、検出した箇所は全て三角形であり、検出対象が正確に計数されていた。
【００９０】
これに対して、参考例ではサンプルNo.2に検出誤差が生じていた。出力画像を参照すると、教師画像と大幅に違うことが分かる。すなわち、３個の三角形の他、背景が１個の検出対象として認識された結果、検出誤差が１となっている。これは学習データに対して過学習が発生したことに起因していると考えられる。すなわち、学習において背景について過学習がなされて、サンプルNo.2の背景を検出対象として誤認識したと推定される。
【００９１】
また、図１６〜図１９に示されるように、実施例の学習によれば、参考例よりも優れた個体情報が得られていると考えられ、参考例よりも少ない学習回数でこれを得ることができている。そして、実施例の学習によって得られた個体情報によれば、参考例よりも正確な画像処理を行うことが可能になっている。
【００９２】
本発明は、以上の実施形態及び実施例に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、画像処理装置における各構成を複数の情報処理装置に分散して持たせたり、ノードとして実施例で用いたもの以外のものを含めて使用したりすることができる。
また、上記の画像処理装置を画像検査用に用い、画像処理装置を、画像入力部が検査用の画像を入力し、最も評価値の高い個体情報にもとづき画像処理部によって検査用の画像を処理して得られた処理結果情報を記憶する処理結果記憶部を備えた構成とするなど適宜変更することが可能である。
さらに、第二実施形態と第三実施形態を組み合わせた構成とすることもできる。
【産業上の利用可能性】
【００９３】
本発明は、設備や製品などの画像データにもとづき検査などを行う場合であって、画像処理が最適化された画像検査用の情報処理装置を得るために、好適に利用することが可能である。
【符号の説明】
【００９４】
１，１ａ  画像処理装置
１０，１０ａ  機能単位記憶部
１１，１１ａ  個体生成部
１２，１２ａ  個体群記憶部
１２１ａ  親個体群記憶部
１２２ａ  子個体群記憶部
１３，１３ａ  画像入力部
１４，１４ａ  画像記憶部
１５，１５ａ  教師情報入力部
１６，１６ａ  教師情報記憶部
１７，１７ａ  画像判定部
１８，１８ａ  出力情報記憶部
１９，１９ａ  評価値計算部
２０，２０ａ  評価結果記憶部
２１，２１ａ  遺伝子操作部
【図１】
2020038637.tif 000004
【図２】
2020038637.tif 000005
【図３】
2020038637.tif 000006
【図４】
2020038637.tif 000007
【図５】
2020038637.tif 000008
【図６】
2020038637.tif 000009
【図７】
2020038637.tif 000010
【図８】
2020038637.tif 000011
【図９】
2020038637.tif 000012
【図１０】
2020038637.tif 000013
【図１１】
2020038637.tif 000014
【図１２】
2020038637.tif 000015
【図１３】
2020038637.tif 000016
【図１４】
2020038637.tif 000017
【図１５】
2020038637.tif 000018
【図１６】
2020038637.tif 000019
【図１７】
2020038637.tif 000020
【図１８】
2020038637.tif 000021
【図１９】
2020038637.tif 000022