JP6102947B2 - 画像処理装置及び特徴検出方法 - Google Patents

画像処理装置及び特徴検出方法 Download PDF

Info

Publication number
JP6102947B2
JP6102947B2 JP2014554520A JP2014554520A JP6102947B2 JP 6102947 B2 JP6102947 B2 JP 6102947B2 JP 2014554520 A JP2014554520 A JP 2014554520A JP 2014554520 A JP2014554520 A JP 2014554520A JP 6102947 B2 JP6102947 B2 JP 6102947B2
Authority
JP
Japan
Prior art keywords
image
image processing
filter
unit
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014554520A
Other languages
English (en)
Other versions
JPWO2014104151A1 (ja
Inventor
毅 長門
毅 長門
哲男 肥塚
哲男 肥塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2014104151A1 publication Critical patent/JPWO2014104151A1/ja
Application granted granted Critical
Publication of JP6102947B2 publication Critical patent/JP6102947B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Quality & Reliability (AREA)
  • Physiology (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することに関する。
従来より、外観検査では、カメラなどの撮像素子を用いて製品の外観を撮影し、欠陥の有無を判定することが行われている。特に、FA(ファクトリーオートメーション)分野においては、現場の撮影環境に応じたノイズや影、明るさの変動などが撮影画像に発生することが多く、欠陥部を抽出する画像処理アルゴリズムは環境変化にロバストな処理が望まれている。また、外観検査装置を運用していく中で、検査対象の変更や装置の改良を行った際、それに起因した環境の変化が発生し、画像処理アルゴリズムの再構築が必要となる場合がある。そのため、画像処理方法構築の容易性も求められている。
一方、画像処理アルゴリズムの自動生成手法として、遺伝的プログラミングを画像処理に適用したツリー構造状画像変換自動生成法が提案されている。この手法は、構成する画像処理手法を木構造と考え、入力画像と目的となる処理結果の画像(目的画像)を用意し、遺伝的プログラミングを用いて、目的の処理に対し適応度の高い画像処理フィルタ群の木構造を最適化する手法である。
ACTIT: Automatic Construction of Tree-structural Image Transformation、情報メディア学会誌53、6、pp888-894、1999
従来技術となるACTITにおいて、複雑な処理を木構造により表現するためには、フィルタ構造の基となる画像フィルタの種類と木構造の深さを大きくする必要がある。しかしながら、種類と深さが大きくなれば、フィルタ構造の組合せが爆発的に大きくなり、探索範囲が広くなることから目的の画像処理手法の探索性能が悪くなると言った問題があった。
1つの側面において、本発明の目的は、目的画像に応じた画像処理の流れを予め指定して、木構造の階層毎に画像フィルタの種類を制限し、フィルタ構造の探索を行うことである。
本実施例の一態様によれば複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、画像強調処理、閾値処理、及び2値画像処理階層化た階層毎に、該階層に割り当てられた深さ以下で、1以上の該画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に、選択された画像フィルタを配列した個体群を生成する個体生成部とを有する。
また、本実施例の一態様によれば、撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
初期学習時に前記画像の特徴量に基づいてクラスタに分類するクラスタリング部と、
前記クラスタ毎に、前記特徴量の中心に近い代表サンプルを選択する選択部と、
各クラスタから選択した複数の前記代表サンプルを指定した学習データを用いて、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
を有する。
また、上記課題を解決するための手段として、コンピュータによって実行される特徴検出プログラム、その特徴検出プログラムを記録した記録媒体、及び特徴検出方法とすることもできる。
本実施例の一態様によれば、目的画像に応じた画像処理に係るフィルタ構造を効率的に探索することができる。
図1は、環境変化に対するロバストな画像処理を説明するための図である。 図2は、木構造状の画像処理アルゴリズムの一例を示す図である。 図3(A)及び図3(B)は、第1実施例における特徴検出処理の概要を説明するための図である。 図4は、第1実施例における画像処理装置の機能構成例を示す図である。 図5は、第1実施例における画像処理装置のハードウェア構成を示す図である。 図6(A)及び図6(B)は、第1実施例における初期個体の生成処理を説明するための図である 図7は、第1実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。 図8は、第1実施例におけるフィルタテーブルのデータ構成例を示す図である。 図9は、第1実施例における個体群情報によって表されるフィルタ構造例を示す図である。 図10は、第1実施例における進化過程処理を説明するための図である。 図11は、第1実施例における学習時の適応度の推移の比較を説明するための図である。 図12は、第1実施例における木構造の深さに対する組合せ数の比較を説明するための図である。 図13は、第2実施例における2つの個体間の適応度例を示す図である。 図14は、目的画像を得られない場合の例を示す図である。 図15は、第2実施例における画像処理装置の機能構成例を示す図である。 図16は、第実施例における画像処理装置のハードウェア構成を示す図である。 図17は、第2実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。 図18は、振幅画像を示す図である。 図19(A)、図19(B)、及び図19(C)は、特徴量の例を示す図である。 図20(A)及び図20(B)は、第2実施例における初期の特徴情報及びクラスタリングの例を示す図である。 図21は、第2実施例における1回目学習により更新された画像処理アルゴリズムの例を示す図である。 図22(A)及び図22(B)は、第2実施例における1回目学習時の特徴情報及びクラスタリングの例を示す図である。 図23は、第2実施例における2回目学習により更新された画像処理アルゴリズムの例を示す図である。 図24(A)及び図24(B)は、第2実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。 図25は、第2実施例における最大適応度を示す画像処理アルゴリズム認識率の推移を示す図である。
以下、本発明の実施の形態を図面に基づいて説明する。
[第1実施例]
図1は、環境変化に対するロバストな画像処理を説明するための図である。図1において、明るさ、位置等によって環境変化の異なる入力画像2に対して、ロバストな画像処理1を行うことによって、目的画像4を得る。即ち、ロバストな画像処理1は、環境変化の異なる複数の入力画像2に対して、目的画像4を得るための最適な処理を行う。目的画像4は、例えば、FA(ファクトリーオートメーション)において、製造物の欠陥部を抽出するための画像である。欠陥部は、即ち、抽出する特徴部とも言える。
この画像処理1において、構成される画像処理手法を、ACTIT(非特許文献1)を参照することにより木構造と考えると、例えば、図2に示されるような構成となる。図2は、木構造状の画像処理アルゴリズムの一例を示す図である。図2に示すように、各入力画像2に対して構成される画像処理F1、F2、F3、F4、F5は、目的画像4をえるために木構造処理1aを形成する。木構造処理1aでは、遺伝的プログラミングによる最適化が行われる。
この例では、図2において上段の入力画像2に対して、画像処理F2、F3、及びF5が適用され目的画像4を得る。中段の入力画像2に対して、画像処理F1、F2、F3、及びF5が適用され目的画像4を得る。下段の入力画像2に対して、画像処理F4、F5が適用され目的画像4を得る。このように、木構造状の画像処理アルゴリズムでは、目的画像4をルートとする木構造を示す。
図3(A)及び図3(B)は、第1実施例における特徴検出処理の概要を説明するための図である。図3(A)において、遺伝的プログラミングによる最適化では、木構造状の画像処理フィルタ群を個体9とし、複数の初期個体に対して交叉処理と突然変異処理とを行い、新たな個体群1b'を生成する。個体群1bは、適応度の高い個体群1b'(画像処理フィルタ群)と入れ替えられることで、個体群1b更新され。即ち、最適な個体群1b'探索される。例えば、個体群1bから2つ個体9を交叉対象として選択する。2つの個体9は、木構造状の画像処理フィルター群に相当する。また、各個体9において、1つの画像処理フィルタ(ノードに相当)を突然変異により、他の画像処理フィルターに置き換える。これらを繰り返すことで個体群1bが最適化される
図3(B)より、適応度は、撮影した画像(入力画像2)に対して個体群1bの各個体9を用いて処理を行い、処理結果となる出力画像3と教師データである目的画像4の比較により算出する。
これにより、入力画像2である撮影画像と処理結果の目的となる目的画像4のセットを用意することで、自動的に最適な画像処理アルゴリズムを構築することができる。また、撮影環境の異なる入力画像と目的画像のセットを複数用意することで、ロバストな画像処理アルゴリズムの自動構成も可能となる。
図4は、第1実施例における画像処理装置の機能構成例を示す図である。図4において、画像処理装置100は、初期個体生成部41と、進化過程処理部42と、個体適応計算部43と、生存選択部44と、個体入替部45とを有する。これら処理部41から45は、後述されるCPU11が対応するプログラムを実行することによる処理によって実現される。記憶部130には、フィルタテーブル31、個体情報1b−2、入替個体情報1d、入力画像2、出力画像3、目的画像4等が記憶される。
初期個体生成部41は、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出において、複数の画像処理により階層化された階層毎に、該階層毎に異なる種類の画像フィルタを選択して、木構造状のフィルタ構造を生成する処理部である。
初期個体生成部41は、遺伝的プログラミングを用いて、初期個体生成ルール5r(図6(B))に従って、目的画像4をルートと考え、各ノードを構成する際、フィルタテーブル31から階層に応じて種類分けされた画像フィルタを適宜選択して個体群1bを生成する。個体群1bは、木構造を形成し、記憶部130の個体情報1b−2として格納される。
進化過程処理部42は、個体群1bに対して進化過程処理を行う処理部である。進化過程処理部42は、交差処理部42−1と、突然変異処理部42−2とを有し、交差処理部42−1によって個体群1bから2個体を取り出して交差処理を行い、突然変異処理部42−2によって新たに加えた2個体で置き換えることにより突然変異処理を行う。進化過程処理部42によって、個体群1bが進化することにより、個体群情報1b−2が更新される。
個体適応計算部43は、各個体の適応度を計算する処理部である。適応度(fitness)は、木構造のフィルタ構造において、各入力画像2に対して得られる出力画像3と予め用意した目的画像4との差分によって求められ、例えば、次式の

によって得られる。
生存選択部44は、最良個体を所定ルールに基づいて1個体を選択する処理部である。所定ルールは、例えば、最も適合度の高い個体を残すルーレットルール等を用いる。
個体入替部45は、個体群1bに対して、突然変異対象の2個体と入れ替える新たな2個体をフィルタテーブルから選択する処理部である。入れ替える外部の2個体を示す入替個体情報1dが記憶部130に格納される。
ここで、進化過程処理部42での処理が繰り返されることにより、個体群1bから最良個体を除いて、交叉対象の2個体と、突然変異対象の2個体とを選択し、交叉処理と突然変異処理とが夫々実行される。この繰り返し処理は、例えば、個体適応計算部43にて、個体群1bの全体としての適応度を計算することによって、所定値以上の適応度に到達した時点で終了するようにすれば良い。
このようにして得られた最終的な個体群1b(フィルタ構造)を用いて、LSI等の品質検査における傷等の特徴検出を行なう。
上述したような第1実施例に係る処理を行う画像処理装置100は、図5に示すようなハードウェア構成を有する。図5は、第1実施例における画像処理装置のハードウェア構成を示す図である。図5において、画像処理装置100は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インタフェース)17と、ドライブ18とを有し、バスBに接続される。
CPU11は、主記憶装置12に格納されたプログラムに従って画像処理装置100を制御する。主記憶装置12には、RAM(Random Access Memory)等が用いられ、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
補助記憶装置13には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、CPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12及び/又は補助記憶装置13を有する。
入力装置14は、マウス、キーボード等を有し、ユーザが画像処理装置100による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU11の制御のもとに必要な各種情報を表示する。出力装置16は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F17は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。通信I/F17による通信は無線又は有線に限定されるものではない。
画像処理装置100によって行われる第1実施例に係る処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によって画像処理装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
次に、初期個体生成部41によって行われる初期個体の生成処理について図6(A)及び図6(B)で説明する。図6(A)及び図6(B)は、第1実施例における初期個体の生成処理を説明するための図である。図6(A)より、目的画像4の特徴を抽出するための画像処理では、出力画像dstをルートと考え、各ノードを構成する際、階層に応じて種類分けされた画像フィルタを適宜選択する。一定の階層まで進めば、終端ノードとして原画像src(入力画像に相当)を選択する。例えば、特徴領域の抽出の場合、まず出力画像dstの直前の処理は2値画像処理を選択する。
次に、予め定めた初期個体生成ルール5r(図6(B))に基づき、ノード選択時に親ノードが2値画像処理の場合は2値画像処理もしくは閾値処理を選択し、親ノードが閾値処理または画像強調処理の場合は画像強調処理もしくは原画像srcを選択する。一定の階層まで進んだ場合は強制的に原画像srcを選択する。
これにより、一般的な処理の流れとして、入力画像⇒画像強調処理⇒閾値処理⇒2値画像処理⇒出力画像となる初期個体群が生成可能となる。図6(A)では、画像強調処理用のフィルタをF、閾値処理用のフィルタをT、2値画像処理用のフィルタをBで簡易的に表している。
第1実施例では、処理全体における全体ノードの深さと、処理の属性毎に、即ち、画像強調処理、閾値処理、2値画像処理毎に、全体ノードの深さを予め定義する。全体ノードの深さを20以下(全体ノードの最大深さを20まで)と定義し、更に、各階層(各処理)の深さ20の内訳は、入力画像2の処理順に、画像強調処理用のフィルタは深さ5、閾値処理用のフィルタは深さ1、2値画像処理用のフィルタは深さ14で割り当てられるとする。
この各階層の深さ定義に基づき、初期個体生成部41によって、木構造のフィルタ構造が生成される初期個体の生成処理について、図7で説明する。
図7は、第1実施例における初期個体の生成処理の一例を説明するためのフローチャート図である。図7において、初期個体生成部41は、ルートの識別情報(目的画像4)を親ノードに、深さカウンタを1に初期設定する(ステップS10)。
初期個体生成部41は、親ノード(目的画像4)がルートか否かを判断する(ステップS11)。親ノードがルートの場合(ステップS11のYES)、初期個体生成部41は、フィルタテーブル31を参照して、属性が2値画像処理であるフィルタからランダムに選択する(ステップS12)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b−2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、親ノードがルートでない場合(ステップS11のNO)、初期個体生成部41は、親ノードの属性が2値画像処理か否かを判断する(ステップS13)。2値画像処理である場合(ステップS13のYES)、初期個体生成部41は、深さカウンタによって示されるノードの深さが14以下か否かを判断する(ステップS14)。ノードの深さが14以下である場合(ステップS14のYES)、初期個体生成部41は、フィルタテーブル31を参照して、属性が2値画像処理又は閾値処理であるフィルタからランダムに選択して、選択ノードに設定する(ステップS15)。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b−2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、選択ノードの深さが5より大きい場合(ステップS14のNO)、初期個体生成部41は、フィルタテーブル31を参照して、属性が閾値処理であるフィルタからランダムに選択して、選択ノードに設定する(ステップS16)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b−2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
初期個体生成部41は、親ノードの属性が2値画像処理でない場合(ステップS13のNO)、更に、深さカウンタによって示されるノードの深さが20以下か否かを判断する(ステップS17)。ノードの深さが20以下である場合(ステップS17のYES)、初期個体生成部41は、属性が画像強調処理であるフィルタ又は原画像からランダムに選択して、選択ノードに設定する(ステップS18)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b−2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
一方、ノードの深さが20より大きい場合(ステップS17のNO)、初期個体生成部41は、原画像を選択して、選択ノードに設定する(ステップS19)。初期個体生成部41は、選択したフィルタの識別情報を選択ノードに設定する。また、初期個体生成部41は、選択ノードの出力と、親ノードの入力とを連結して、個体群情報1b−2に記録する。その際、深さカウンタ値も選択ノードと対応付けて記憶しておく。そして、ステップS20へと進む。
初期個体生成部41は、深さカウンタを1インクリメントして(ステップS20)、選択ノードが原画像か否かを判断する(ステップS21)。選択ノードが原画像でない場合(ステップS21のNO)、初期個体生成部41は、次のノードへ移動する処理を行う(ステップS22)。選択ノードが親ノードに設定される。初期個体生成部41は、ステップS11へと戻り、上記同様の処理を行う。
一方、選択ノードが原画像である場合(ステップS21のYES)、初期個体生成部41は、更に、未決定ノードが有るか否かを判断する(ステップS23)。未決定ノードの判断は、記憶部130の個体群情報1b−2から連結してない入力を有する選択済みノードが存在するか否かを判断すれば良い。未連結の入力へ分岐する未決定ノードが有る場合(ステップS23のYES)、初期個体生成部41は、選択済みノードから連結される未決定ノードへ移動する(ステップS24)。選択済みノードが親ノードとして設定される。また、選択済みノードの深さを深さカウンタに設定する。初期個体生成部41は、ステップS11へと戻り、上記同様の処理を行う。
一方、未決定ノードが無い場合(ステップS23のNO)、初期個体生成部41は、この処理を終了する。
ステップS14及びS17におけるノード深さの判定値「14」及び「20」は、適宜ユーザによって設定可能としても良い。
図7のフローチャートにおいて参照されるフィルタテーブル31は、例えば、図8に示すようなデータ構成を示す。図8は、第1実施例におけるフィルタテーブルのデータ構成例を示す図である。図8において、フィルタテーブル31は、属性、深さ、処理名、識別情報、入力、出力等の項目を有する。
属性は、階層を特定する情報を示す。例えば、画像強調処理、閾値処理、2値画像処理等を指定する。深さは、階層に割り当てられた深さを入力画像の処理順に累積した値で示している。処理名は、フィルタの機能を示している。識別情報は、フィルタを識別するための情報である。入力は、フィルタへの入力数を示し、出力は、フィルタからの出力数を示す。
図8に示されるようなフィルタテーブル31を用いて、図7に示すフローチャートに従って初期個体を生成した場合の、個体群情報1b−2によって表されるフィルタ構造の木構造例について図9で説明する。図9は、第1実施例における個体群情報によって表されるフィルタ構造例を示す図である。図9中、( )内は深さカウンタから得た値を示している。
図9において、ルートに設定された目的画像dstから、深さ1で2値画像処理のフィルタBdil、深さ2で2値画像処理のフィルタBand、深さ3で閾値処理のフィルタT192、深さ4で閾値処理のフィルタFsoX7、そして原画像srcが連結される。
深さ2のフィルタBandは2入力を有するため、図7のステップS23にて、連結されていない入力を持つフィルタBandが未決定ノードの有無判断で検出されると、個体群情報1b−2において、フィルタBandに対応付けられている深さ2が深さカウンタに設定され、深さカウンタは深さ2からインクリメントされステップS11からS22の処理が繰り返されることにより、深さ3で2値画像処理のフィルタBopC、深さ4で2値画像処理のフィルタBnot、そして深さ5で2値画像処理のフィルタBandが連結される。更に、深さ6で2値画像処理のフィルタBdil、深さ7で2値画像処理のフィルタBopC、深さ8で閾値処理のフィルタTcan7、深さ9で画像強調処理のフィルタFsoX7、深さ10で2値画像処理のフィルタFlap3、そして原画像srcが連結される。
上述したように、図7のステップS23にて未連結の入力を持つ深さ5のフィルタBandが検出される。従って、フィルタBandに対応付けられている深さ5が深さカウンタに設定され、深さカウンタは深さ5からインクリメントされる。深さ6で2値画像処理のフィルタBnc、深さ7で閾値処理のフィルタTcan7、深さ8で画像強調処理のフィルタFsoY3、深さ9で画像強調処理のフィルタFsub、深さ10で画像強調処理のフィルタFsm9、そして原画像srcが連結される。
更に、図7のステップS23にて未連結の入力を持つ深さ9のフィルタFsubが検出されることによって、原画像srcが連結される。
次に、進化過程処理部42による進化過程処理について説明する。図10は、第1実施例における進化過程処理を説明するための図である。第1実施例では、交叉処理部42−1による交叉処理、及び、突然変異処理部42−2による突然変異処理において、制限ルール10rに基づいて夫々の処理が行われる。制限ルール10rは、階層毎に、交叉ペアの選択、及び、突然変異の種類を制限する。
遺伝的プログラミングにおける交叉において、ペアとなる部分木のノード選択をそのノードの出力の種類に応じて選択する。特徴領域の抽出の場合、交叉のペアは、一方が画像強調処理(F)の場合は他方は画像強調処理(F)である必要があり、一方が閾値処理(T)または2値画像処理(B)である場合は、他方も閾値処理(T)または2値画像処理(B)である必要がある。また、突然変異に関しては、同じ種類のノード(フィルタ)を選択する。これにより、画像処理の流れを崩さず、進化過程における世代交代を行うことが可能となる。
次に、第1実施例を半田ボール部の検出処理へ適用した場合と、第1実施例を適用しない関連技術とについて比較説明する。特徴領域の検出を図6(A)と同様に、画像強調=>閾値処理=>2値画像処理で行うものとし、構成要素となるフィルタの種類は、図8に示すフィルタテーブル31を参照することによって選択される。初期個体生成ならびに進化過程での制限は図6(A)及び図6(B)、図10を採用する。
図11は、第1実施例における学習時の適応度の推移の比較を説明するための図である。図11において、木構造の深さ制限を20、初期個体数を30とし、世代数1000までの学習時の最大適応度の推移を示す。同条件の関連技術に比べて第1実施例は、適応度の高い画像処理アルゴリズムを素早く探索できる。
図12は、第1実施例における木構造の深さに対する組合せ数の比較を説明するための図である。図12より、関連技術に比べて第1実施例では、深さn=4の段階で組合せ数は約1/1000となり、その後も劇的に組合せ数が低いことがわかる。
これにより、大まかな処理の流れを指定することで、探索範囲を絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
上述したように、第1実施例では、大まかな処理の流れを指定することで、関連技術(例えば、ACTIT)における探索範囲を劇的に絞り込むことができ、適応度の高い画像処理アルゴリズムを高速に探索可能となる。
上述した第1実施例における画像処理アルゴリズムでは、遺伝的プログラミング(GP)が用いられている。遺伝的プログラミングでは、学習データを基準として木構造状の画像処理フィルタ群を表す個体9を自動生成する。そのため、自動生成した個体群1bは、学習データと異なるタイプの入力画像に対して性能を発揮しない場合がある。
複数の画像処理フィルタによるフィルタ構造を表す個体9を大量な学習データを用いて自動生成した場合には、学習時間が膨大に増加し、運用上現実的ではない。そこで、サンプルデータから適用先の画像特徴を把握し適切に学習データを選択することで、汎用性の高いアルゴリズムを生成する第2実施例を以下に説明する。
[第2実施例]
画像処理フィルタ群を表す2つの個体9a及び9b間の適応度の例について説明する。図13は、第2実施例における2つの個体間の適応度例を示す図である。図13において、第1実施例にて得られた2つの個体9a及び9bの適応度の例が示されている。
学習データ232には、予め選択された複数の原画像に相当する入力画像2と、複数の入力画像2の夫々に対応する目的画像4とが含まれる。
個体9a及び個体9bは、木構造状フィルタである。個体9aは、画像処理フィルタ(以下、単に「フィルタ」と言う)F、F、F、及びFを有する。フィルタは、ノードとも言う。個体9bは、フィルタF、F、及びFを有する。学習データ232の入力画像2を個体9aで画像処理させた出力結果が出力画像3−1である。また、入力画像2を個体9bで画像処理させた出力結果が出力画像3−2である。
出力画像3−1及び出力画像3−2の目的画像4への適応度を計算した結果、出力画像3−1は適応度「0.」を示し、出力画像3−2は適応度「0.」を示す。この例では、同じ入力画像2に対して、個体9bより個体9aのフィルタ群によって画像処理を行った方が適応度が良いという結果である。従って、個体9aの木構造状フィルタが採用される。
このように、ツリー構造状画像変換自動生成法(GP)では、学習データ232を基準として木構造状フィルタの自動生成を行う。一方、自動生成した木構造状フィルタは、学習データ232と異なるタイプの入力画像に対して目的画像を得ることができない場合がある。第2実施例において、入力画像は、目的画像を得る対象の画像を言う。
図14は、目的画像を得られない場合の例を示す図である。図14では、個体9aの木構造状フィルタを採用した場合で説明する。サンプルデータ231から選択した学習データ232により、個体9aの木構造状フィルタによるアルゴリズムを生成する。以下、生成されたアルゴリズムを画像処理アルゴリズム8aと言う。
サンプルデータ231は、過去に撮影した複数の入力画像2と、検出したい目的画像3等とを含む。各入力画像2に対応する目的画像4が用意され、各入力画像2と対応する目的画像とは関連付けられている。サンプルデータ231には、入力画像2a、2b及び2cを含む。入力画像2a、2b及び2cに対応する目的画像4は、目的画像4a、4b、及び4cとする。
学習データ232は、サンプルデータ231から選択された入力画像2は、入力画像2a、2b及び2cであることを示している。また、学習データ232によって、選択した入力画像2a、2b及び2cに対応する目的画像4a、4b、及び4cが指定される。
画像処理アルゴリズム8aに対して撮影した画像2a'、2b'及び2eを入力画像2inとして入力することで、出力結果3outを得る。出力結果3outでは、画像2a'に対して出力画像3a'、画像2b'に対して出力画像3b'、そして、画像2に対して出力画像3eを得たことを示している。
画像2は、学習データ232の目的画像4aから4cのいずれにも類似していない。出力画像3eは、画像2に対して画像処理アルゴリズム8aによる画像処理を行った結果得た画像である。出力画像3eでは、特徴の抽出に失敗していることが分かる。
画像2のように、学習データ232の目的画像4aから4cのいずれにも類似していない画像が、画像処理アルゴリズム8aによって画像処理された場合には、エラーとなる場合がある。
第2実施例では、適用先の画像特徴を捉えた学習を行い、また、適宜学習途中の木構造状フィルタによって学習データ232を見直すことで、汎用的な画像処理アルゴリズム8aを取得する。
図15は、第2実施例における画像処理装置の機能構成例を示す図である。図15において、画像処理装置200は、主に、生成部210と、検査部20とを有する。また、画像処理装置200の記憶部230には、サンプルデータ231、学習データ232、入力画像232、入力画像2in、画像処理アルゴリズム8a、出力結果3out等のデータが記憶される。
生成部210は、汎用性の高い画像処理アルゴリズム8aを生成する。生成部210は、更に、特徴分析部71と、クラスタリング部72と、学習データ選択部73と、自動構成部74と、フィルタ検証部75と、特徴分析部76とを有する。
特徴分析部71は、サンプルデータ231の特徴を分析する。サンプルデータ231には原画像である複数の入力画像2と目的画像3とが含まれている。特徴分析部71は、サンプルデータ231の各入力画像2を分析することによって、画像特徴量を取得する。
特徴分析部71によって取得される画像特徴量のパラメータは、入力画像2の平均輝度、輝度ヒストグラム、空間周波数情報等を含む。空間周波数情報には、角度成分と、周波数成分とが含まれる。
クラスタリング部72は、特徴分析部71によって得られた複数の成分の中から、主成分の特徴量に基づいてサンプルデータ231を分類する。主成分は、周波数成分、平均輝度、コントラスト等である。分類方法は、各特徴空間に対してクラスタの平均を用い、与えられたクラスタ数K個に分類するk-means法等を用いればよい。サンプルデータ231内の入力画像2は特徴量に基づいて分類される。
学習データ選択部73は、クラスタリング部72によって分類された各クラスから学習データを選択する。クラスタ毎に、入力画像2の特徴量の中心に近い入力画像2を代表サンプルとして選択すれば良い。代表サンプルとして選択された入力画像2を指定する学習データ232が記憶部23に格納される。学習データ232には、選択された入力画像2(代表サンプル)毎に分析した特徴量が記憶される。
自動構成部74は、学習データ選択部73によって選択された学習データ232を用いて、画像処理アルゴリズム8aを生成する。画像処理アルゴリズム8aの生成方法は、上述した第1実施例に従うものとする。画像処理アルゴリズム8aは、与えられた処理の流れに従って、複数の画像処理フィルタが木構造状で組み合わされることで作成される。
フィルタ検証部75は、自動生成した画像処理アルゴリズム8aを用いてフィルタ検証を行なう。目的の処理精度を満たしていない場合、画像処理アルゴリズム8aは、再構成される。
特徴再分析部76は、画像処理アルゴリズム8aを、サンプルデータ231内の各入力画像2に適用し、中間特徴情報233を取得する。中間特徴情報233は、画像処理アルゴリズム8aの各フィルタによって得られる中間処理画像の特徴量を示す。
特徴再分析部76によって得られた中間処理画像の特徴量に基づいて、クラスタリング部72は、再度、サンプルデータ231の入力画像2をクラスタリングする。そして、代表サンプルとなる入力画像2が学習データ232となる。自動構成部74は、学習データ232を用いて画像処理アルゴリズム8aを再生成し、フィルタ検証部75は、再生成された画像処理アルゴリズム8aを検証する。
目的の処理精度を満たした時に、画像処理アルゴリズム8aの生成が終了する。画像処理アルゴリズム8aは、検査部20によって利用できる状態となる。
検査部20は、撮像装置9aによって撮像された入力画像2inに対して画像処理アルゴリズム8aを用いて画像処理を行い、その出力結果3outから入力画像2inの特徴を抽出する。検査部20は、更に、画像入力部81と、画像処理部82と、特徴抽出部83とを有する。
画像入力部81は、撮像装置9が撮像した入力画像2inを画像処理装置200内に取り込む。入力画像2inは記憶部230に記憶される。
画像処理部82は、入力画像2inに対して画像処理アルゴリズム8aを適用して画像処理を行い、出力結果3outを記憶部230に出力する。
特徴抽出部83は、出力結果3outから目的画像4に相当する特徴を示す領域を抽出した抽出結果239を記憶部230に出力する。
上述したような第1実施例に係る処理を行う画像処理装置200は、図16に示すようなハードウェア構成を有する。図16は、第実施例における画像処理装置のハードウェア構成を示す図である。図16において、画像処理装置00は、コンピュータによって制御される端末であって、CPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、出力装置16と、通信I/F(インターフェース)17と、ドライブ18と、インターフェース9fを有し、バスBに接続される。
CPU211は、主記憶装置12に格納されたプログラムに従って画像処理装置200を制御する。主記憶装置212には、RAM(Random Access Memory)等が用いられ、CPU211にて実行されるプログラム、CPU211での処理に必要なデータ、CPU211での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、CPU211での処理に利用されるワークエリアとして割り付けられている。
補助記憶装置213には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置213に格納されているプログラムの一部が主記憶装置212にロードされ、CPU211に実行されることによって、各種処理が実現される。記憶部230は、主記憶装置212及び/又は補助記憶装置213を有する。
入力装置214は、マウス、キーボード等を有し、ユーザが画像処理装置200による処理に必要な各種情報を入力するために用いられる。表示装置15は、CPU211の制御のもとに必要な各種情報を表示する。出力装置216は、プリンタ等を有し、ユーザからの指示に応じて各種情報を出力するために用いられる。通信I/F217は、例えばインターネット、LAN(Local Area Network)等に接続し、外部装置との間の通信制御をするための装置である。通信I/F17による通信は無線又は有線に限定されるものではない。
インターフェース9fは、撮像装置9aと画像処理装置200とを接続する。撮像装置9aで撮影された画像2a'、2b'等は、インターフェース9fを介して、CPU211の制御により記憶部230に入力画像2inとして記憶される。撮像装置9aは、CCD(Charge Coupled Devices)カメラ等であればよい。
画像処理装置200によって行われる第2実施例に係る処理を実現するプログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体219によって画像処理装置200に提供される。即ち、プログラムが保存された記憶媒体219がドライブ218にセットされると、ドライブ18が記憶媒体219からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置213にインストールされる。そして、プログラムが起動されると、補助記憶装置213にインストールされたプログラムに従ってCPU211がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
図15における生成部210と検査部20とは、CPU211が対応するプログラムを実行することによって行われる処理によって実現される。
次に、生成部210による汎用性の高い画像処理アルゴリズム8aを生成する生成処理について説明する。
図17は、第2実施例における画像処理アルゴリズムの生成処理について説明するためのフローチャート図である。図17にて、生成部210において、初期のフィルタ構造群が生成される(ステップS211)。初期のフィルタ構造群により画像処理アルゴリズム8aが記憶部30に作成される。
また、生成部210において、特徴分析部71は、サンプルデータ231内の原画像である各入力画像2の画像特徴を分析する(ステップS212)。サンプルデータ231内の各入力画像2の画像特徴を分析した後、初期の画像処理アルゴリズム8aを生成しても良い。
クラスタリング部72は、特徴分析部71によって得られた画像特徴のうち主成分の各特徴空間に対してクラスタの平均を求めて、サンプルデータ231内の入力画像2を複数のクラスに分類する(ステップS213)。
そして、学習データ選択部73は、クラスタリング部72によって入力画像2が分類された各サンプル群から代表サンプルを学習データ232として選択する(ステップS214)。
学習データ232が選択されると、自動構成部74は、進化過程により画像処理アルゴリズム8aを更新する(ステップS215)。フィルタ構造群の更新は、第1実施例においける進化過程処理と同様であるので、その説明を省略する。
自動構成部74は、生成した画像処理アルゴリズム8aの適応度を算出する(ステップS216)。適応度の算出方法は、下記数2を用いればよいが、数2に限定するものではない。

適用度は、画像処理アルゴリズム8aが更新される毎に算出され記憶部30の作業領域に記憶される。記憶部30に記憶した適用度のうちで最大適応度が適応度閾値より大きいか否かを判断する(ステップS217)。最大適応度が適応度閾値より大きいことが、ステップS214で選択した学習データ232を用いた場合、即ち、ステップS215〜S217の繰り返しによる学習の終了条件となる。
最大適応度が適応度閾値以下である場合、充分な精度を得られていないと判断し、自動構成部74は、ステップS215へと進み、画像処理アルゴリズム8aを進化させて更新する処理を繰り返す。
一方、最大適応度が適応度閾値より大きいと判断した場合、フィルタ検証部75による検証処理が行われる。フィルタ検証部75は、サンプルデータ231に対する一致度を計算し、良不良判定を行う(ステップS219)。サンプルデータ231に対する一致度は、生成した画像処理アルゴリズム8aにサンプルデータ231の各入力画像2を入力して得た出力結果3outと目的画像4との相関値で表される。下記数3を用いて一致度を計算する。

数3で得られた一致度は、予め設定した一致度閾値よりも高い場合は良結果とし、低い場合を不良結果とする。良不良判定の一致度閾値は、目的のアルゴリズムの処理精度により決定する。領域抽出誤差を10%以内にする場合、一致度閾値に0.9を設定する。一致度閾値を用いて、サンプルデータ231の全入力画像2のうち良判定となった個数をカウントしておく。
そして、フィルタ検証部75は、サンプルデータ231に対する良結果の割合を算出して認識率とする(ステップS220)。サンプルデータ231の全入力画像2の総数に対する良判定となった個数を計算して割合を求めれば良い。フィルタ検証部75は、認識率が認識率閾値より大きいか否かを判断する(ステップS221)。
認識率が認識率閾値以下の場合、特徴再分析部76が、生成した画像処理アルゴリズム8aによる画像特徴を再分析する(ステップS218)。特徴再分析部76は、生成した画像処理アルゴリズム8aに対して、サンプルデータ231の各入力画像2を入力し、各フィルタから特徴量を得る。各フィルタから得た特徴量を示す中間特徴情報223が記憶部30に格納される。
クラスタリング部72は、各入力画像2のフィルタ毎の特徴量を含む中間特徴情報233を参照して、再度、入力画像2を分類する(ステップS213)。そして、学習データ選択部73は、上述したように、各クラスの代表サンプルを学習データ232として選択する。その後の処理は上述した通りであるので、その説明を省略する。このような再分析処理は、認識率が認識率閾値より大きくなるまで繰り返される。
認識率が認識率閾値より大きい場合、生成部210は、この画像処理アルゴリズム8aの生成処理を終了する。
次に、特徴分析部71及び特徴再分析部76によって得られる画像特徴量について図18及び図19で説明する。図18は、振幅画像を示す図である。図18に示す振幅画像7aは、入力画像2に対して2次元フーリエ変換を行って得た画像である。
空間周波数情報は、周波数成分7bと、角度成分7cとを含む。振幅画像7aの中心からの距離で領域を分割することによって、周波数成分7bを得る。周波数成分7bの特徴量は、分割領域の振幅平均で表される。また、振幅画像7aの中心からの角度で領域を分割することによって、角度成分7cを得る。角度成分7cの特徴量は、分割領域の振幅平均で表される。
図19(A)、図19(B)、及び図19(C)は、特徴量の例を示す図である。図19(A)から図19(C)では、2つの入力画像2の特徴量の比較例を示している。図19(A)は、輝度ヒストグラムを示している。入力画像2を10分割した領域毎の平均輝度を示している。
図19(B)は、角度成分を示している。振幅画像7aを振幅画像7aの中心からの角度で10分割した領域毎の振幅平均を示す。図19(C)は、周波数成分を示している。振幅画像7aを振幅画像7aの中心からの距離で10分割した領域毎の周波数平均を示す。
輝度ヒストグラム、角度成分、周波数成分は、複数のパラメータの一部分である。特徴分析部71及び特徴再分析部76では、数十種類のパラーメタでサンプルデータ231の各入力画像2を分析する。
次に、学習過程におけるパラメータとクラスタリングの変化例を説明する。図20(A)及び図20(B)は、第2実施例における初期の特徴情報及びクラスタリングの例を示す図である。図20(A)では、画像処理アルゴリズム8aによる処理前の、1つの入力画像2の初期の特徴情報の例を示している。初期の特徴情報として、平均輝度、輝度ヒストグラム、角度成分、周波数成分等のパラメータ毎の値が記憶される。平均輝度は、入力画像2の全体の輝度の平均を示す。輝度ヒストグラム、角度成分、周波数成分は、分割領域毎の値を示す。サンプルデータ231内の各入力画像2に対して特徴情報が取得される。
図20(B)では、クラスタリング部72が、初期の特徴情報に基づいて行った主成分分析の結果例を示す。この結果例では、サンプルデータ231内の入力画像2は、8個のサンプル群G1、G2、G3、G4、G5、G6、G7、及びG8に分類されたことを示している。サンプル群の個数は、8個に限定するものではなく、任意に設定可能である。
このようなクラスタリング結果を用いて、学習データ選択部73は、各サンプル群G1〜G8の代表サンプルを学習データ232として選択する。サンプル群G1の場合、中心当たりに位置する原画像G1rが代表サンプルとなる。他サンプル群G2〜G8についても同様の方法で代表サンプルが選択される。
初期の学習データ232を用いて自動構成部74により画像処理アルゴリズム8aが更新され、フィルタ検証部75によって画像処理アルゴリズム8aが検証される(1回目学習)。ここでは、特徴再分析が必要であると判断されたとする。特徴再分析76は、更新された画像処理アルゴリズム8aでサンプルデータ231の原画像である各入力画像2の特徴量を取得する。
図21は、第2実施例における1回目学習により更新された画像処理アルゴリズムの例を示す図である。図21において、1回目学習により更新された画像処理アルゴリズム8aはフィルタF1、F2、F3、及びF4を有する。各入力画像2に対して画像処理アルゴリズム8aを適用して対応する出力画像3を得る。
フィルタF1による処理後に特徴量B1を取得し、フィルタF2による処理後に特徴量B2を取得する。また、フィルタF3による処理後に特徴量B3を取得し、フィルタF4による処理後に特徴量B4を取得する。特徴量B1からB4を示す中間特徴情報233が記憶部30に記憶される。
サンプルデータ231の全入力画像2に対して画像処理アルゴリズム8aを適用し、各フィルタF1〜F4によって得られる特徴量B1〜B4を取得する。
1回目学習時の例について図22(A)及び図22(B)で説明する。図22(A)及び図22(B)は、第2実施例における1回目学習時の特徴情報及びクラスタリングの例を示す図である。
図22(A)では、入力画像2の特徴情報に加えて、図21の画像処理アルゴリズム8aによる中間特徴情報233の例が示されている。各フィルタF1〜F4の処理後の中間画像の特徴量B1、B2、B3及びB4が、中間特徴情報233として記憶される。特徴量B1〜B4は、中間画像の輝度である。
図22(B)では、画像処理アルゴリズム8aの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム8aの出力成分として、中間特徴情報233を用いる。
図22(B)において、下方のサンプル群G1は、一致度が著しく低いサンプル群であることを示している。即ち、図21に示す画像処理アルゴリズム8aが不得手とするサンプル群をクラスタリングすることができる。
上述したように、各サンプル群G1〜G8の代表サンプルを学習データ232とし、自動構成部74により画像処理アルゴリズム8aが更新され、フィルタ検証部75によって画像処理アルゴリズム8aが検証される(2回目学習)。更新された画像処理アルゴリズム8aによって、認識率が認識閾値以上となり、目的の画像処理アルゴリズムを取得する。
図23は、第2実施例における2回目学習により更新された画像処理アルゴリズムの例を示す図である。図23において、2回目学習により更新された画像処理アルゴリズム8aはフィルタF1、F2、F3、F4、及びF5を有する。画像処理アルゴリズム8aが目的の画像処理アルゴリズムとなり、第2実施例における生成部210での生成処理は終了する。
しかしながら、ここでは、2回目学習により更新された画像処理アルゴリズム8aによって特徴再分析を行ってみる。この画像処理アルゴリズム8aにおいて、フィルタF1による処理後に特徴量B1を取得し、フィルタF2による処理後に特徴量B2を取得する。また、フィルタF3による処理後に特徴量B3を取得し、フィルタF4による処理後に特徴量B4を取得する。更に、フィルタF5による処理後に特徴量B5を取得する。特徴量B1からB5を示す中間特徴情報233が記憶部30に記憶される。
図24(A)及び図24(B)は、第2実施例における目的の画像処理アルゴリズムの特徴情報及びクラスタリングの例を示す図である。
図24(A)では、入力画像2の特徴情報に加えて、図23の画像処理アルゴリズム8aによる中間特徴情報233の例が示されている。各フィルタF1〜F5の処理後の中間画像の特徴量B1、B2、B3、B4、及びB5が、中間特徴情報233として記憶される。特徴量B1〜B5は、中間画像の輝度である。
図24(B)では、画像処理アルゴリズム8aの出力成分、平均輝度、周波数成分による特徴空間で、クラスタリングを行った結果を示している。この例では、画像処理アルゴリズム8aの出力成分として、中間特徴情報233を用いる。
図24(B)において、サンプル群G1〜G5、G7、及びG8が略同様に特徴空間の上方に纏まっている。下方に突出しているサンプル群G6が存在するものの、サンプル群G6に分類される入力画像2は極僅かである。
上述より、第2実施例において生成した画像処理アルゴリズム8aによって、サンプルデータ231内のどの入力画像2に対しても精度良く出力画像3を得ることができる。
図25は、第2実施例における最大適応度を示す画像処理アルゴリズム8aの認識率の推移を示す図である。図25に示すグラフでは、比較として、第2実施例の適用のない関連技術による認識率の推移も示している。
第2実施例の適用のない関連技術とは、ユーザがサンプルデータ231から任意に学習データ232を選択し、ユーザによって選択された学習データ232を用いて遺伝的プログラミングを用いた学習過程によって、画像処理アルゴリズム8aを生成する技術等である。
第2実施例では、サンプルデータ231をクラスタリングして各サンプル群G1〜G8の代表サンプルを学習データ232に含めるため、サンプルデータ231に含まれる複数の入力画像2の特徴を全体的に網羅して学習することができる。従って、汎用性の高い画像処理アルゴリズム8aを生成でき、図14に示す出力画像3eのような特徴の検出不可能な画像処理とならないようにできる。
第2実施例を適用した場合、初期段階から高い認識率を示すことが分かる。第2実施例により、学習の高速化が実現できる。
上述したように、第2実施例では、適用先の画像特徴をとらえた学習データ232の選択と逐次的に再学習を行うことで、目的とする性能の良い画像処理アルゴリズム8aを効率的に探索でき、学習速度の高速化し、学習精度を向上させる。
本発明は、具体的に開示された第1及び第2実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
また、本願は2012年12月28日に出願した日本国特許出願2012−288440号に基づく優先権を主張するものであり同日本国出願の全内容を本願に参照により援用する。
1 ロバストな画像処理
1a 木構造処理
1b 個体群
1d 入替個体情報
2 入力画像
2in 入力画像
3 出力画像
3out 出力結果
4 目的画像
5r 初期個体生成ルール
8a 画像処理アルゴリズム
9 個体(画像処理フィルタ群)
11 CPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
16 出力装置
17 通信I/F
18 ドライブ
19 記憶媒体
31 フィルタテーブル
41 初期個体生成部
42 進化過程処理部
42−1 交叉処理部
42−2 突然変異処理部
43 個体適応計算部
44 生存選択部
45 個体入替部
71 特徴分析部
72 クラスタリング部
73 学習データ選択部
74 自動構成部
75 フィルタ検証部
76 特徴再分析部
100、200 画像処理装置
130、230 記憶部
231 サンプルデータ
232 学習データ
233 中間特徴情報
239 出力結果

Claims (11)

  1. 複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る画像処理装置であって、
    前記複数の画像フィルタに係る情報を管理するフィルタテーブルを記憶した記憶部と、
    画像強調処理、閾値処理、及び2値画像処理階層化た階層毎に、該階層に割り当てられた深さ以下で、1以上の該画像フィルタを前記フィルタテーブルから選択することによって、前記木構造に、選択された画像フィルタを配列した個体群を生成する個体生成部と
    を有することを特徴とする画像処理装置。
  2. 前記個体生成部は、
    遺伝的プログラミングを用いて、前記木構造に前記複数の画像フィルタを配列した個体群を生成することを特徴とする請求項1記載の画像処理装置。
  3. 前記個体生成部は、
    前記目的画像をルートとして、前記複数の画像フィルタを木構造に配列し、所定階層において前記入力画像を終端ノードに選択することを特徴とする請求項2記載の画像処理装置。
  4. 前記個体群に対して、遺伝的プログラミングを用いた進化過程処理を行う進化過程処理部を更に有し、
    前記進化過程処理部は、交叉ペアの選択を前記階層毎に制限する交叉ペアの制限ルールを用いて、前記個体群に対して交叉処理を行うことを特徴とする請求項1項記載の画像処理装置。
  5. 前記進化過程処理部は、突然変異の種類を前記階層毎に制限する突然変異の制限ルールを用いて、前記個体群に対して突然変異処理を行うことを特徴とする請求項4記載の画像処理装置。
  6. コンピュータによって実行される、複数の画像フィルタを木構造に配列して、異なる環境の複数の入力画像に対して特徴を示す目的画像を得る特徴検出方法であって、
    記憶部に格納された、画像強調処理、閾値処理、及び2値画像処理階層化た階層毎に、該階層に対応する画像フィルタ情報を対応付けたフィルタテーブルを参照し、
    前記階層に割り当てられた深さ以下で、1以上の該画像フィルタを前記フィルタテーブルから選択し、
    前記木構造に、選択された画像フィルタを配列した個体群を生成する
    ことを特徴とする特徴検出方法。
  7. 撮像装置により撮像された画像に対し、複数のフィルタを木構造状に構成した処理プログラムを施す画像処理装置であって、
    初期学習時に前記画像の特徴量に基づいてクラスタに分類するクラスタリング部と、
    前記クラスタ毎に、前記特徴量の中心に近い代表サンプルを選択する選択部と、
    各クラスタから選択した複数の前記代表サンプルを指定した学習データを用いて、遺伝的プログラミングを用いた学習により前記処理プログラムを生成する自動構成部と
    を有するを特徴とする画像処理装置。
  8. 前記画像の平均輝度、輝度ヒストグラム、空間周波数情報から前記特徴量を取得することを特徴とする請求項7記載の画像処理装置。
  9. 前記遺伝的プログラミングを用いた学習過程において、生成途中の木構造状の前記処理プログラムから特徴量を算出し、学習データを再選別することを特徴とする請求項7記載の画像処理装置。
  10. 木構造状の前記処理プログラムから、該処理プログラムの各フィルタから前記画像の平均輝度を特徴量として取得することを特徴とする請求項9記載の画像処理装置。
  11. 前記学習データに対して前記特徴量によるクラスタリングを行い、分類されたサンプル群から代表サンプルを選択して、学習データを更新することを特徴とする請求項7記載の画像処理装置。
JP2014554520A 2012-12-28 2013-12-26 画像処理装置及び特徴検出方法 Active JP6102947B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012288440 2012-12-28
JP2012288440 2012-12-28
PCT/JP2013/084785 WO2014104151A1 (ja) 2012-12-28 2013-12-26 画像処理装置及び特徴検出方法

Publications (2)

Publication Number Publication Date
JPWO2014104151A1 JPWO2014104151A1 (ja) 2017-01-12
JP6102947B2 true JP6102947B2 (ja) 2017-03-29

Family

ID=51021227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554520A Active JP6102947B2 (ja) 2012-12-28 2013-12-26 画像処理装置及び特徴検出方法

Country Status (3)

Country Link
US (1) US9710877B2 (ja)
JP (1) JP6102947B2 (ja)
WO (1) WO2014104151A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6375778B2 (ja) * 2014-08-26 2018-08-22 大日本印刷株式会社 画像処理方法および画像処理装置
WO2016208037A1 (ja) * 2015-06-25 2016-12-29 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム
CN108475425B (zh) * 2016-01-20 2022-03-08 富士通株式会社 图像处理装置、图像处理方法及计算机可读取的记录介质
WO2018078735A1 (ja) * 2016-10-26 2018-05-03 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN110998655B (zh) * 2017-07-25 2023-10-20 富士胶片株式会社 损伤图创建方法、损伤图创建装置、损伤图创建系统及记录介质
WO2019049365A1 (ja) 2017-09-11 2019-03-14 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7028317B2 (ja) * 2018-05-18 2022-03-02 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN108986017B (zh) * 2018-06-29 2023-06-20 北京微播视界科技有限公司 图像特效处理方法、装置和计算机可读存储介质
JP7439467B2 (ja) * 2019-06-11 2024-02-28 富士電機株式会社 情報処理装置、情報処理システム、モデルの学習方法
JP7314723B2 (ja) * 2019-08-31 2023-07-26 東洋製罐グループホールディングス株式会社 画像処理システム、及び画像処理プログラム
JP7468088B2 (ja) 2020-02-18 2024-04-16 東洋製罐グループホールディングス株式会社 画像処理システム、及び画像処理プログラム
JP7483405B2 (ja) 2020-02-25 2024-05-15 キヤノン株式会社 学習装置、電子機器、学習方法、電子機器の制御方法およびプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343554A (en) * 1988-05-20 1994-08-30 John R. Koza Non-linear genetic process for data encoding and for solving problems using automatically defined functions
US5140530A (en) * 1989-03-28 1992-08-18 Honeywell Inc. Genetic algorithm synthesis of neural networks
US5245696A (en) * 1990-11-21 1993-09-14 Ricoh Co. Ltd. Evolution and learning in neural networks: the number and distribution of learning trials affect the rate of evolution
JPH09330406A (ja) 1996-06-10 1997-12-22 Fuji Facom Corp 学習支援装置およびパターン認識装置
JP2873955B1 (ja) 1998-01-23 1999-03-24 東京工業大学長 画像処理方法および装置
GB9824829D0 (en) * 1998-11-12 1999-01-06 Marconi Comm Ltd An intelligent network service creation method and system
US6813615B1 (en) * 2000-09-06 2004-11-02 Cellomics, Inc. Method and system for interpreting and validating experimental data with automated reasoning
US6400849B1 (en) * 2000-10-20 2002-06-04 Shih-Jong J. Lee Image processing system with enhanced processing and memory management
JP2006048370A (ja) 2004-08-04 2006-02-16 Kagawa Univ パターン認識方法、それに用いられる教示データ生成方法およびパターン認識装置
US7142992B1 (en) * 2004-09-30 2006-11-28 Kla-Tencor Technologies Corp. Flexible hybrid defect classification for semiconductor manufacturing
EP1830320A4 (en) * 2004-12-24 2010-10-20 Nat Univ Corp Yokohama Nat Uni IMAGE PROCESSOR
JP4862150B2 (ja) * 2005-09-21 2012-01-25 国立大学法人横浜国立大学 進化計算システム及び進化計算方法
JP4512578B2 (ja) * 2006-10-27 2010-07-28 株式会社ブリヂストン 分離フィルタ決定装置及びタイヤ検査装置
JP2009064162A (ja) * 2007-09-05 2009-03-26 Fuji Heavy Ind Ltd 画像認識システム
JP4548472B2 (ja) * 2007-10-18 2010-09-22 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP5284863B2 (ja) * 2009-04-30 2013-09-11 独立行政法人理化学研究所 画像処理装置、画像処理方法およびプログラム
US10321840B2 (en) * 2009-08-14 2019-06-18 Brainscope Company, Inc. Development of fully-automated classifier builders for neurodiagnostic applications
US9250931B2 (en) * 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US9990712B2 (en) * 2015-04-08 2018-06-05 Algotec Systems Ltd. Organ detection and segmentation

Also Published As

Publication number Publication date
US20150287160A1 (en) 2015-10-08
US9710877B2 (en) 2017-07-18
WO2014104151A1 (ja) 2014-07-03
JPWO2014104151A1 (ja) 2017-01-12

Similar Documents

Publication Publication Date Title
JP6102947B2 (ja) 画像処理装置及び特徴検出方法
AU2014344497B2 (en) Image object category recognition method and device
CN106909654B (zh) 一种基于新闻文本信息的多级分类系统及方法
US9430743B2 (en) Composite defect classifier
JP5880454B2 (ja) 画像識別装置及びプログラム
JP4556120B2 (ja) 情報処理装置および方法、並びにプログラム
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
JPWO2019026104A1 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN107273910B (zh) 过滤器学习方法及利用过滤器检测测试图像中的对象的方法、学习装置及对象识别支持装置
US20120133789A1 (en) Data clustering method and device, data processing apparatus and image processing apparatus
CN108140133A (zh) 程序生成装置、程序生成方法及生成程序
EP3822872A1 (en) Information processing device, information processing method, and information processing program
KR20170109304A (ko) 객체 인식을 위한 캐스케이드 분류기의 병렬 학습 방법
CN108280236A (zh) 一种基于LargeVis的随机森林可视化数据分析方法
CN112101572A (zh) 模型优化方法、装置、设备和介质
KR102313215B1 (ko) 특징 생성 기술을 이용한 머신러닝 기반 결함 분류 장치 및 방법
JP2007200246A (ja) 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体
JP6177649B2 (ja) データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法
CN112085164A (zh) 一种基于无锚框网络的区域推荐网络提取方法
JP6356015B2 (ja) 遺伝子発現情報解析装置、遺伝子発現情報解析方法、及びプログラム
US20210042550A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
JP2004192555A (ja) 情報管理方法、情報管理装置及び情報管理プログラム
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
CN112199285B (zh) 一种测试案例优选方法、装置及电子设备
US11676050B2 (en) Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6102947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150