JP6904477B2 - 情報処理装置、情報処理方法および情報処理プログラム - Google Patents

情報処理装置、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
JP6904477B2
JP6904477B2 JP2020504579A JP2020504579A JP6904477B2 JP 6904477 B2 JP6904477 B2 JP 6904477B2 JP 2020504579 A JP2020504579 A JP 2020504579A JP 2020504579 A JP2020504579 A JP 2020504579A JP 6904477 B2 JP6904477 B2 JP 6904477B2
Authority
JP
Japan
Prior art keywords
class
fitness
learning data
learning
information 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
JP2020504579A
Other languages
English (en)
Other versions
JPWO2019171524A1 (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 JPWO2019171524A1 publication Critical patent/JPWO2019171524A1/ja
Application granted granted Critical
Publication of JP6904477B2 publication Critical patent/JP6904477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0145Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being class adaptive, i.e. it uses the information of class which is determined for a pixel based upon certain characteristics of the neighbouring pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Physiology (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本件は、情報処理装置、情報処理方法および情報処理プログラムに関する。
遺伝的プログラミングによって、最適な解を求める技術が開示されている(例えば、特許文献1参照)。このような遺伝的プログラミングによって、良否判定対象に対して、良否の分類を行うクラス分類プログラムを自動生成する技術が望まれている。
国際公開第2017/06875号
しかしながら、遺伝的プログラミングによって、正解率に基づいてクラス分類プログラムを自動生成しようとすると、必ずしも汎化性の高いクラス分類プログラムが生成されるわけではない。
1つの側面では、本発明は、汎化性の高いクラス分類プログラムを生成することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
1つの態様では、情報処理装置は、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部と、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の識別器について、各学習データと識別境界との距離を取得する距離取得部と、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部と、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部と、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部と、を備える。
汎化性の高いクラス分類プログラムを生成することができる。
実施例1に係る情報処理装置の全体構成を例示するブロック図である。 情報処理装置がクラス分類プログラムを自動生成する際に実行するフローチャートを例示する図である。 遺伝的プログラミングの概要を説明するための図である。 最良個体に係るクラス分類プログラムを用いた検査処理を行う際に実行するフローチャートを例示する図である。 ステップS4の進化過程処理の詳細を例示するフローチャートである。 進化過程処理の概要を例示する図である。 各学習世代での最良個体1つに注目し、そのK−分割交差検定時の各学習データの識別マージン値を1次元軸上にプロットした模式図を例示する図である。 K−分割交差検定時の学習の概要を例示する図である。 (a)および(b)は各データの識別マージン値を求める過程を例示する図である。 適応度の算出処理を表すフローチャートを例示する図である。 (a)〜(d)は実施例1に従って検証した結果を示す図である。 実施例2に係る情報処理装置の全体構成を例示するブロック図である。 重み付けを例示する図である。 適応度の算出処理を表すフローチャートを例示する図である。 遺伝的処理部、入替部および画像処理部のハードウェア構成を説明するためのブロック図である。
以下、図面を参照しつつ、実施例について説明する。
図1は、実施例1に係る情報処理装置500の全体構成を例示するブロック図である。図1で例示するように、情報処理装置500は、画像撮影装置100、遺伝的処理部150、自動生成制御部200、画像処理部300、出力装置400などを備える。画像処理部300は、画像入力部10、学習部20、学習結果記憶部40、画像検査処理部50などとして機能する。学習部20は、画像変換部21、特徴量抽出部22、入力データ作成部23、パラメータ設定部24、全体識別器生成部25、識別マージン算出部26、統計量算出部27、ペナルティ算出部29、適応度算出部30などとして機能する。
画像撮影装置100は、カメラなどの撮影装置である。画像撮影装置100は、対象物を撮影する。対象物とは、クラス分類(良品/不良品の2クラス分類の場合は良否判定)の対象である。画像撮影装置100は、対象物を撮影することで、学習用画像、良否判定用画像などを取得する。学習用画像とは、良否判定用の識別器を生成するために用いる画像である。良否判定用画像とは、良否判定を行うための画像である。
出力装置400は、判定結果を出力するための表示装置などである。出力装置400は、画像検査処理部の検査結果として画面などに判定結果を表示する。
遺伝的処理部150および自動生成制御部200は、遺伝的プログラミング(GP:Genetic Programming)を用いてクラス分類プログラムを自動生成する。クラス分類プログラムは、それぞれ個別の画像処理を行うための複数の要素フィルタを備えている。これら複数の要素フィルタを木構造の形で組み合わせて一連のフィルタ処理を実行することにより、目的とするクラス分類を実現することができる。木構造フィルタ列の集団に対して、交叉または突然変異という遺伝的処理を施すことで、適応度の高いクラス分類プログラムの生成を行う。適応度とは、目的とするクラス分類結果に対して、自動生成した木構造フィルタ列の出力結果がどの程度良いものであるかの指標である。所定の閾値以上の適応度を持つ木構造フィルタが得られた場合に学習完了とみなす。その場合に得られた木構造フィルタ列が、目的のクラス分類を実行するクラス分類プログラムとなる。
図2は、情報処理装置500がクラス分類プログラムを自動生成する際に実行するフローチャートを例示する図である。図3は、遺伝的プログラミングの概要を説明するための図である。以下、図2および図3を参照しつつ、情報処理装置500がクラス分類プログラムを自動生成する処理について説明する。
まず、遺伝的処理部150は、初期個体を作成する(ステップS1)。図3において、円形状の「個体」として示したもののそれぞれが、木構造フィルタ列を有するクラス分類プログラムを表している。すなわち、1つの個体が1つのクラス分類プログラムであり、木構造のフィルタ列を有する。複数の初期個体を生成することで、親の母集団(集合)を生成することができる。
次に、遺伝的処理部150は、親の母集団から2個体をランダムに選択して取り出す(ステップS2)。次に、遺伝的処理部150は、ステップS2で取り出した2個体について、遺伝的処理を行うことで、子個体を生成する(ステップS3)。遺伝的処理とは、木構造のフィルタ列に対して交叉または突然変異の遺伝的処理を行う処理のことである。本実施例においては、遺伝的処理によって、画像変換部21による画像変換処理、特徴量抽出部22による特徴量抽出処理、およびパラメータ設定部24によるパラメータ設定処理が生成される。次に、遺伝的処理部150は、ステップS3で生成された子個体について、学習部20に進化過程処理を実行させる(ステップS4)。次に、遺伝的処理部150は、子個体について、学習部20に適応度を算出させる(ステップS5)。
次に、遺伝的処理部150は、全ての子個体が終了したか否かを判定する(ステップS6)。すなわち、自動生成制御部200は、ステップS2で取り出された2個体から全ての子個体の生成が終了したか否かを判定する。ステップS6で「No」と判定された場合、ステップS3から再度実行される。ステップS6で「Yes」と判定された場合、自動生成制御部200は、適応度に応じて個体を1つ決定する。例えば、自動生成制御部200は、適応度の最も高い個体を最良個体として1つ決定し、ルーレットによるランダム選択により個体を1つ決定する。自動生成制御部200は、決定した2つの個体を親の母集団の2個体と入れ替える(ステップS7)。
次に、自動生成制御部200は、親の母集団において、各個体の適応度のうち最大値が閾値を上回ったか否かを判定する(ステップS8)。ステップS8で「No」と判定された場合、ステップS2から再度実行される。ステップS8で「Yes」と判定された場合、自動生成制御部200は、適応度が閾値を上回る個体を最良個体として保存する(ステップS9)。具体的には、自動生成制御部200は、学習結果記憶部40に最良個体(クラス分類プログラム)を記憶させる。本実施例においては、自動生成制御部200は、最良個体を生成した場合の識別器についても、学習結果記憶部40に記憶させる。これにより、所望のクラス分類プログラムを自動生成することができる。
図4は、最良個体に係るクラス分類プログラムを用いた検査処理を行う際に実行するフローチャートを例示する図である。検査処理とは、学習の結果として得られた最良のクラス分類プログラムを用いて、実際に良否判定を必要とする対象物に対して良否判定を行う処理のことである。図4で例示するように、画像検査処理部50は、学習結果記憶部40に記憶されている最良個体の木構造フィルタを設定する(ステップS11)。すなわち、画像検査処理部50は、最良のクラス分類プログラムの画像変換処理および特徴量抽出部処理を設定する。次に、画像検査処理部50は、学習結果記憶部40に記憶されている最良個体の識別器を設定する(ステップS12)。
次に、画像検査処理部50は、画像入力部10から良否判定用画像を受け取る(ステップS13)。次に、画像検査処理部50は、ステップS13で受け取った良否判定用画像に対して画像変換処理を行う(ステップS14)。次に、画像検査処理部50は、変換後の良否判定用画像に対して、特徴量抽出処理を行う(ステップS15)。次に、画像検査処理部50は、ステップS15で抽出した特徴量を入力データとして識別器に入力する(ステップS16)。次に、画像検査処理部50は、識別器を用いて、入力データの良否を分類する(ステップS17)。次に、出力装置400は、画像検査処理部50の分類結果を出力する(ステップS18)。以上の処理により、最良個体に係るクラス分類プログラムを用いて、良否判定用画像の良否を分類することができる。
以下では、ステップS4の進化過程処理の詳細およびステップS5の適応度の算出処理の詳細について説明する。
図5は、ステップS4の進化過程処理の詳細を例示するフローチャートである。図6は、進化過程処理の概要を例示する図である。図5および図6を参照しつつ、ステップS4の進化過程処理の詳細について説明する。なお、進化過程処理は、個体ごとに定まっている。したがって、個体が異なると、進化過程処理において、画像変換部21、特徴量抽出部22、入力データ作成部23、パラメータ設定部24および全体識別器生成部25の処理内容が異なることになる。
図5および図6で例示するように、画像入力部10は、画像撮影装置100から受け取った複数枚の学習用画像のうち、未処理の学習用画像を学習部20に入力する(ステップS21)。図6で例示されている複数枚の学習用画像srcは、同じ学習用画像である。
次に、画像変換部21は、学習用画像srcに対して画像変換処理を行う(ステップS22)。図6で例示されている複数の画像変換フィルタCは、それぞれ異なる画像変換を行うフィルタを表している。図6の例では、1枚の学習用画像srcに対して異なる複数の画像変換フィルタCによって画像変換処理を行う場合、2枚の学習用画像srcを用いて1つの画像変換フィルタCによって画像変換処理を行う場合、などが含まれている。
次に、特徴量抽出部22は、変換後の学習用画像から特徴量を抽出する(ステップS23)。図6で例示されている複数の画像特徴抽出処理Fは、異なる画像抽出フィルタであってもよく、同じ画像抽出フィルタであってもよい。図6の例では、複数の画像変換フィルタCおよび複数の画像特徴抽出処理Fが形成する木構造が、木構造のフィルタ列に相当する。
次に、入力データ作成部23は、抽出した特徴量を入力データDとして全体識別器生成部25に入力する(ステップS24)。例えば、入力データDは、複数の特徴量をベクトル化した特徴ベクトルである。画像入力部10は、学習用画像が終了したか否かを判定する(ステップS25)。すなわち、画像入力部10は、未処理の学習用画像が残っていないかが判定される。ステップS25で「No」と判定された場合、ステップS21から再度実行される。この場合、ステップS21では、未処理の次の学習用画像が学習部20に入力されることになる。
ステップS25で「Yes」と判定された場合、パラメータ設定部24は、識別器のパラメータを設定することで、識別器プロパティを設定する(ステップS26)。本実施例においては、識別器としてSVM識別器を用いる。SVMは、機械学習型識別器のことであり、Support Vector Machineのことである。パラメータ設定部24は、例えば、絶対値の設定を行う絶対値フィルタPaを設定し、相対的な調節を行う相対値フィルタPrを設定する。
次に、全体識別器生成部25は、入力データ作成部23から入力された全ての入力データを用いて、パラメータ設定部24が設定した識別器プロパティに従って、識別器を生成する(ステップS27)。例えば、全体識別器生成部25は、4種類のSVMカーネル(LINEAR,POLYNOMIAL,RBF,SIGMOID)を設定することで、識別器を生成する。以上のステップS21〜ステップS27の処理の実行によって、進化過程処理が終了する。
続いて、ステップS5の適応度算出処理の詳細について説明する。まず、適応度の定義について説明する。例えば、適応度の定義において、学習用画像に基づく正解率を利用することが考えられる。正解率として、全ての学習用画像を用いて生成した識別器による学習用画像の正解率、学習用画像に対するK−分割交差検定の正解率、などが挙げられる。K−分割交差検定とは、学習用画像をK個のグループに分割して交差検定をK回繰り返し、その合計(正解率の平均)を正解率とみなすものである。分割数Kをfold数と呼ぶ。本実施例においては、一例としてK−分割交差検定の正解率について検討する。なお以降では簡略化のため、単に交差検定と記述する。
一般的には、交差検定の正解率が高いほど適応度が高くなるような適応度定義式を利用することにより、汎化性のある学習結果(クラス分類プログラム)を生成することができる。しかしながら、数量が限られた学習用画像では、汎化性が高い解が必ずしも得られないおそれがある。特に、学習用画像数が少ない場合は、正解率に差異が生じ難いため、汎化性能の不十分な学習結果が得られる場合がある。例えば、学習用画像が10枚の場合、正解率は10%間隔でしか得ることができず、適応度の差異が生じ難い。したがって、正解率が同じ学習結果の中で汎化性能の低い個体が選ばれる可能性もあり、必ずしも十分な分類精度を得ることができるわけではない。
そこで、本実施例では汎化性の高いクラス分類プログラムを生成するために、正解率だけでなく、交差検定時に得られる各学習用画像の識別境界からの距離を利用する。本実施例においては、一例として、当該距離として、各学習用画像の識別境界からのマージン値(SVM識別マージン値)を利用する。通常、SVMによるクラス分類では、内部で得られる評価スコア(識別マージン値)を利用し、そのマージン値が分類基準値より大きいか小さいかによって、2クラスの内のいずれのクラスに分類されるかを決めることになっている。
以下では、良否の判定を対象とし、分類基準値をゼロ、マージン値が正の場合に良(OK)と判定し、負の場合に不良(NG)と判定する場合について説明する。本実施例では、識別マージン値の統計量を利用し、OKデータ側の分布とNGデータ側の分布との差異(分離度)が大きいほど、適応度が高くなるように適応度を定義する。
図7は、各学習世代での最良個体1つに注目し、そのK−分割交差検定時の各学習用画像の識別マージン値を1次元軸上にプロットした模式図を例示する図である。図7の例では、学習用画像は10個で、そのうち学習用良データ(OKデータ)が5個で、学習用不良データ(NGデータ)が5個と仮定してある。
学習用良データの識別マージン値が正であれば良品として判定されていることになり、判定結果は正解となる。学習用良データの識別マージン値が負であれば不良品として判定されていることになり、判定結果は不正解となる。このようにして各世代の正解率を算出すると、例えば、第100世代では正解率=0.8となり、第200世代以降は正解率=1.0で一定となる。したがって、正解率だけを学習の基準にしている場合、それ以上は学習が進行しないことになる。
一方、汎化性能の高い学習結果を得るためには、図7で例示するように、世代が進むにつれて、識別マージン値のOK側およびNG側の分布が次第に拡大する(離れる)ことが望ましい。学習用画像において両方の分布が離れていれば、未知のデータが判定される場合に、余裕を持って正しく判定することが可能になる。本来、SVMは識別マージン値が最大となる学習結果を得るための手法であるが、学習途中の交差検定においては識別マージン値が最大となることが保証されていない。本実施例では、交差検定時の各学習用画像の識別マージン値の分布を拡大する方向に学習を進めることにより、汎化性の高い学習結果を得るものである。適応度の基本定義は下記式(1)のように表される。
適応度=正解率+交差検定識別マージン分離度 (1)
ここで、交差検定時の学習の概要および識別マージン値の算出方法について説明する。図8は、K−分割交差検定時の学習の概要を例示する図である。図8で例示するように、学習用良データが5個で、学習用不良データが5個の合計10個の学習用画像を用いるものとする。10個の学習用画像に対して交差検定をfold数=5で行う場合、図8のように判定評価用のデータを2個ずつ確保し、残りの8個を用いて部分評価識別器を生成する。生成された部分評価識別器を用いて確保していた2個のデータの良否判定を実施する。この手順を複数回(5回)繰り返すことで、複数個(5個)の部分評価識別器が生成され、学習用画像10個全ての良否判定を実行したことになり、正解率を求めることができる。この交差検定の正解率が高いということは、遺伝的プログラミングで生成した木構造要素フィルタが未知のデータに対しても効果的に働く可能性が高いことを示している。一方、全ての学習用画像を用いて生成した識別器について、学習用画像全体を処理することにより、その正解率および各データの識別マージン値を同様に求めることもできる。この場合の識別器は全体評価識別器と見なすことができる。識別マージン値の統計量を求める際に、この全体評価識別器についてのマージン値も含めて算出しても構わない。全体評価識別器および上記複数の部分評価識別器を合わせたものを評価識別器と呼ぶ。
図9(a)および図9(b)は、各データの識別マージン値(Mi)を求める過程を例示する図である。図9(a)は交差検定の3回目を例示し、図9(b)は4回目を例として挙げている。8個の学習用画像で生成した特徴空間内の識別境界に対して、残りの学習用画像2個がどれだけ離れているかを表す距離が、各学習用画像の識別マージン値として求められる。特徴空間を正規化することにより、この距離の基準を±1に設定することができる。
さらに具体的な例について説明する。遺伝的プログラミングの学習では、適応度を0.0〜1.0の範囲に正規化し、適応度が1.0に向かって増加して行くように学習を進めることが多い。そのためには、交差検定の識別マージン分離度をペナルティ項として適応度定義式に加える方式が適している。そこで、下記式(2)で表すように、分離度が大きいほどペナルティ量が小さくなるように定義し、最終的な適応度が増加するように設定することが好ましい。
適応度=正解率−SVM識別マージンペナルティ (2)
学習用良データの識別マージン値分布と学習用不良データの識別マージン値分布の距離(間隔)の指標としては、平均値、最大値、最小値などの基本統計量を用いることができる。この指標に基づいて、識別マージン値についてのペナルティ量の定義に関して、複数の定義式が考えられる。その代表例を下記式(3)〜(5)のように表す。
SVMマージンペナルティ=1.0/(OK側平均マージン値−NG側平均マージン値) (3)
SVMマージンペナルティ=1.0−(OK側最小マージン値−NG側最大マージン値) (4)
SVMマージンペナルティ=(OK側最小マージン値−1.0)+(−1.0−NG側最大マージン値) (5)
学習中に一つの定義を使い続けるだけでなく、複数の定義を切り替えて使用することなども可能である。例えば、学習の序盤は上記式(3)の定義に従い、学習の後半では上記式(4)の定義を用いることなども有効である。
上記のSVMマージンペナルティを用いる場合、適応度の定義も下記式(6)または下記式(7)のような異なった形式が考えられる。なお、各項に適当な係数を掛けることにより適応度の範囲を調節することも可能である。
適応度=正解率−SVM識別マージンペナルティ (6)
適応度=正解率−SVM識別マージンペナルティ−識別器ペナルティ (7)
ここで、識別器ペナルティとは、識別器について過学習を抑制するためのペナルティ項(特徴次元数・サポートベクトル数・木構造サイズなどにより構成)である。
図10は、以上のように説明した適応度の算出処理を表すフローチャートを例示する図である。図10で例示するように、適応度算出部30は、学習用画像に対して交差検定を行うことで、正解率を算出する(ステップS31)。次に、識別マージン算出部26は、各学習用画像の識別マージン値を算出することで識別マージン値を取得する(ステップS32)。次に、統計量算出部27は、識別マージン値の統計量を算出する(ステップS33)。次に、ペナルティ算出部29は、識別マージン値の統計量に基づいて、ペナルティ量を算出する(ステップS34)。次に、適応度算出部30は、識別器のペナルティ量を算出する(ステップS35)。次に、適応度算出部30は、適応度を算出する(ステップS36)。
本実施例によれば、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理が施される。遺伝的処理が施されたクラス分類プログラムに従って、第1クラス(良)に属する1以上の第1クラス学習データ(学習用良データ)および第2クラス(不良)に属する1以上の第2クラス学習データ(学習用不良データ)を用いて作成した複数の識別器について、各学習データと識別境界との距離が取得される。学習用良データおよび学習用不良データのそれぞれについて、識別境界との距離の分布の統計量が算出され、学習用良データの統計量と、学習用不良データの統計量とに基づいて、学習用良データと学習用不良データとの分離度が大きいほど高くなるような適応度が用いられる。この適応度に応じて、遺伝的処理が施されたクラス分類プログラムを親の集団のいずれかのクラス分類プログラムと入れ替えるか否かを決定することで、汎化性の高いクラス分類プログラムを自動生成することができるようになる。
図11(a)〜図11(d)は、本実施例に従って検証した結果を示す図である。図11(a)のように、円形部品の表面にキズが無い良画像と、円形部品の表面にキズ不良が生じた不良画像とを用いた。良品にも小さなキズ(短い線分で描画)は多数存在し、所定の長さ/太さ以上の線分だけをキズ不良と仮定している。図11(b)で例示するように、個体数50個、学習用画像40枚で400世代まで学習し、良否判定用画像160枚で良否判定の正解率を調べた。
学習時の適応度の定義式には、下記式(8)、(9)を用いた。SVM識別マージンペナルティが適応度に与える影響の度合いは、ペナルティ量に対して掛ける重みで調節することができる。重みを大きくすればペナルティ量の影響が相対的に大きくなる。図11の検証では、ペナルティ量として重み係数0.2を掛けて適応度を計算している。
適応度=正解率−SVM識別マージンペナルティ (8)
SVM識別マージンペナルティ=0.2×((1.0−OKmin))+(−1.0−NGmax)) (9)
OKmin:OKデータ側の最小マージン値
NGmax:NGデータ側の最大マージン値
図11(c)および図11(d)は、学習世代の進行に応じた適応度の変化を例示する。左側が、SVM識別マージンを考慮せずに正解率に応じて適応度を用いて学習した結果である。右側が、SVM識別マージンのクラス間分離度を利用した適応度定義式を用いて学習した結果である。実線が最大適応度を示し、点線が平均適応度を示している。いずれの学習条件でも順調に適応度が上昇しているのが確認できる。なお、識別マージンペナルティの分だけ、右側のグラフは全体的に数値が低下して見えている。
幾つかの世代について、良否判定用画像160枚に対する良否判定結果を比較して示す。SVM識別マージン値に基づく適応度を用いた右側の方が、数%程度の正解率の向上が確認できた。
実施例2では、学習用画像毎の識別マージン値の統計量を計算し、統計的にマージンの小さな学習用画像が識別に重要であるとみなして、その学習用画像の重み付けを大きくするように適応度を定義する。
図12は、実施例2に係る情報処理装置500aの全体構成を例示するブロック図である。図12で例示するように、情報処理装置500aが実施例に係る情報処理装置500と異なる点は、学習部20が重み算出部28をさらに備える点である。
図13は、重み付けを例示する図である。図13の例では、学習用画像は全部で8個とし、各世代で子個体を3個ずつ生成しながら遺伝的プログラミング学習を続ける様子を例示している。実施例1と同様に、交差検定によって得られた学習用画像のそれぞれの識別マージン値が8個ずつ描画されている。図13では、学習用画像ごとに模様分けして描かれている。
図13で例示するように、例えば、各世代で3個の子個体#1、#2、#3が生成される。これらは、それぞれ異なった木構造要素フィルタを備えており、別々の画像変換、画像特徴抽出、識別器生成パラメータに従って識別器を生成して交差検定を実行する。したがって、同じ学習用画像に対してそれぞれ異なる識別マージン値を持つことになる。しかしながら、例えば学習用不良データ#1のように、条件が異なっていても概ねいつも識別境界の近く(マージン値=0)に位置する学習用画像が存在する。一方で、学習用不良データ#4のように、識別境界から大きく離れたマージン値を持つ学習用画像も存在する。これは、画像検査のデータとして見た場合、学習用不良データ#1は良否判定が難しい不良品であり、学習用不良データ#4は不良品であることが明らかである場合が多い。
実施例1で目指したように、学習用良データと学習用不良データとの識別マージン値の分離度を高めるためには、識別の難しい学習用不良データ#1のマージン値が識別境界から離れる(負値の方向に大きくなる)ように学習を進めることが効果的と考えられる。したがって、学習用画像ごとに複数の画像分類プログラムあるいは複数の世代にわたって識別マージン値の統計量を計算し、平均マージン値(絶対値として算出)の小さなデータの重みを大きくし、学習用良データの分布と学習用不良データの分布との間の距離を求めるようにする。
図14は、以上のように説明した適応度の算出処理を表すフローチャートを例示する図である。図14のフローチャートが図10のフローチャートと異なる点は、ステップS33とステップS34との間に、ステップS33aが実行される点である。重み算出部28は、統計量の小さなデータの重みを大きくする(ステップS33a)。その後、ステップS34以降の処理が実行される。
本実施例によれば、識別境界に近い学習用画像ほど、重みが大きくなるように重み係数が算出される。この構成によれば、識別の難しい学習用画像が識別境界から離れるように学習が進むことになる。それにより、より汎化性の高いクラス分類プログラムを生成することができる。
なお、本実施例において、各学習用画像の重みの算出例として下記の方法を用いてもよい。
識別マージンペナルティ=各学習用画像の識別マージン値の重み付き平均
重み=1.0/各学習用画像の平均マージン
平均マージンは、直前の1世代、あるいは、所定の世代数における、全ての子個体についての識別マージン値の平均値(絶対値で算出)として求める。
(他の例)
交差検定の識別マージンの分離度が大きい場合は、同時に、交差検定の正解率も高くなっていることが予想される。従って、正解率を用いることなく、下式のように適応度を定義することも可能である。
適応度=交差検定識別マージン分離度
あるいは、ペナルティ項として捉えると
適応度=1.0−SVM識別マージンペナルティ
また、上記の適応度定義にも、識別器についてのペナルティ項(特徴次元数・サポートベクトル数・木構造サイズなど)を加えることもできる。なお、交差検定の使用に当たっては、K−分割交差検定のデータ分割の仕方を変えてデータをシャッフルしながら交差検定自体を複数回繰り返すことにより、学習用画像数以上にデータの使用回数を増大させて実施する方法も可能である。それにより、正解率や識別マージンの分布の統計量の算出精度を高めることもできる。
なお、上記各例では、良否判定という2クラス分類について説明したが、3分類以上の多クラス分類を行ってもよい。この場合、それぞれの2クラスに対して、識別境界との距離の分布の統計量を算出し、それぞれの2クラス分類についての適応度を統合することにより、多クラス分類の適応度を算出してもよい。
上記各例においては、良否判定(クラス分類)対象として画像を用いたが、それに限られない。音声データなどの他のデータをクラス分類対象としてもよい。
図15は、遺伝的処理部150、自動生成制御部200および画像処理部300のハードウェア構成を説明するためのブロック図である。図15で例示するように、遺伝的処理部150、自動生成制御部200および画像処理部300は、CPU101、RAM102、記憶装置103等を備える。CPU(Central Processing Unit)101は、中央演算処理装置である。
CPU101は、1以上のコアを含む。RAM(Random Access Memory)102は、CPU101が実行するプログラム、CPU101が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置103は、不揮発性記憶装置である。記憶装置103として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置103は、情報処理プログラムを記憶している。なお、本実施例においては遺伝的処理部150、自動生成制御部200および画像処理部300の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
上記各例において、遺伝的処理部150が、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部の一例である。識別マージン算出部26が、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の識別器について、各学習データと識別境界との距離を取得する距離取得部の一例である。統計量算出部27が、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部の一例である。適応度算出部30が、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部の一例である。自動生成制御部200が、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部の一例である。重み算出部28が、前記各学習データについて重み係数を算出する係数算出部の一例である。画像変換部21が、クラス分類プログラムに従って、前記画像データに対して画像変換処理を行う画像変換部の一例である。特徴量抽出部22が、前記画像変換部によって画像変換処理がなされた前記画像データから特徴量を抽出する特徴量抽出部の一例である。全体識別器生成部25が、前記特徴量を基に、前記評価識別器を生成する全体識別器生成部の一例である。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像入力部
20 学習部
21 画像変換部
22 特徴量抽出部
23 入力データ作成部
24 パラメータ設定部
25 全体識別器生成部
26 識別マージン算出部
27 統計量算出部
28 重み算出部
29 ペナルティ算出部
30 適応度算出部
40 学習結果記憶部
50 画像検査処理部
100 画像撮影装置
150 遺伝的処理部
200 自動生成制御部
300 画像処理部
400 出力装置
500 情報処理装置

Claims (11)

  1. 複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部と、
    前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得する距離取得部と、
    前記第1クラス学習データおよび前記第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部と、
    前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部と、
    前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部と、を備えることを特徴とする情報処理装置。
  2. 前記距離取得部は、前記複数の評価識別器として、前記各学習データの交差検定を行うことで作成された複数の部分評価識別器を用いることを特徴とする請求項1記載の情報処理装置。
  3. 前記各学習データについて重み係数を算出する係数算出部を備え、
    前記適応度算出部は、前記重み係数を用いて、前記適応度を算出することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記係数算出部は、前記識別境界に近い学習データほど、大きい重みを付すことを特徴とする請求項3記載の情報処理装置。
  5. 前記学習データは、画像データであり、
    クラス分類プログラムに従って、前記画像データに対して画像変換処理を行う画像変換部と、
    前記画像変換部によって画像変換処理がなされた前記画像データから特徴量を抽出する特徴量抽出部と、
    前記特徴量を基に、前記評価識別器を生成する全体識別器生成部と、を備えることを特徴とする請求項1〜4のいずれか一項に記載の情報処理装置。
  6. 学習データと識別境界との距離として、Support Vector Machineによって得られる正規化された識別マージンを用いることを特徴とする請求項1〜5のいずれか一項に記載の情報処理装置。
  7. 前記適応度には、前記学習データに対する正解率と、前記第1クラスと前記第2クラスとの分離度の評価値とを反映させてあることを特徴とする請求項1〜6のいずれか一項に記載の情報処理装置。
  8. 前記分離度の評価値は、交差検定識別マージン分離度であることを特徴とする請求項7記載の情報処理装置。
  9. 前記交差検定識別マージン分離度として、前記第1クラスの平均マージン値と前記第2クラスの平均マージン値との差、または前記第1クラスの最小マージン値と前記第2クラスの最小マージン値との差を用いることを特徴とする請求項8記載の情報処理装置。
  10. 遺伝的処理部が、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施し、
    距離取得部が、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得し、
    統計量算出部が、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出し、
    適応度算出部が、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出し、
    決定部が、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する、ことを特徴とする情報処理方法。
  11. コンピュータに、
    複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す処理と、
    前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得する処理と、
    前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する処理と、
    前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する処理と、
    前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する処理と、を実行させることを特徴とする情報処理プログラム。
JP2020504579A 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム Active JP6904477B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/008929 WO2019171524A1 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2019171524A1 JPWO2019171524A1 (ja) 2020-12-03
JP6904477B2 true JP6904477B2 (ja) 2021-07-14

Family

ID=67845690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020504579A Active JP6904477B2 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム

Country Status (3)

Country Link
US (1) US11284038B2 (ja)
JP (1) JP6904477B2 (ja)
WO (1) WO2019171524A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295953A (ja) 1994-04-22 1995-11-10 Hitachi Ltd 最適化問題の解の探索方法
US7640219B2 (en) * 2006-08-04 2009-12-29 NDSU - Research Foundation Parameter optimized nearest neighbor vote and boundary based classification
JP5418052B2 (ja) 2009-08-04 2014-02-19 株式会社ニコン 遺伝的処理装置、遺伝的処理方法およびプログラム
JP2013125524A (ja) 2011-12-16 2013-06-24 Hitachi High-Technologies Corp 学習用装置、および、遺伝子学習方法
JP6582641B2 (ja) 2015-07-07 2019-10-02 株式会社プロギア ゴルフクラブのスウィングの表示方法
JP6646234B2 (ja) 2015-10-22 2020-02-14 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Also Published As

Publication number Publication date
US20210006748A1 (en) 2021-01-07
US11284038B2 (en) 2022-03-22
JPWO2019171524A1 (ja) 2020-12-03
WO2019171524A1 (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
Shiohara et al. Detecting deepfakes with self-blended images
JP6798619B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN107527063B (zh) 信息处理装置、信息处理方法以及存储介质
JP5041229B2 (ja) 学習装置および方法、認識装置および方法、並びにプログラム
KR101434170B1 (ko) 추출된 데이터 특징을 이용한 학습 방법 및 장치
Alsmadi et al. Robust feature extraction methods for general fish classification
JP2011118694A (ja) 学習装置および方法、認識装置および方法、並びにプログラム
JP6102947B2 (ja) 画像処理装置及び特徴検出方法
JP5706647B2 (ja) 情報処理装置、およびその処理方法
US9418440B2 (en) Image segmenting apparatus and method
JP2010108476A (ja) 学習装置および方法、認識装置および方法、プログラム、並びに記録媒体
EP3822872A1 (en) Information processing device, information processing method, and information processing program
CN107111872A (zh) 信息处理装置、信息处理方法、及程序
CN109800781A (zh) 一种图像处理方法、装置及计算机可读存储介质
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
Raghavendra et al. Ensemble of statistically independent filters for robust contact lens detection in iris images
KR20190126430A (ko) 이미지 기반 위조 검출
Vijayakumar et al. Artery/vein classification of retinal blood vessels using feature selection
JP6904477B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20210042550A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
JP2012226607A5 (ja) 情報処理方法及び装置、パターン識別方法及び装置
US8755594B2 (en) Information processing device and method, and program
JP6113018B2 (ja) 対象検出装置
CN112801950B (zh) 一种基于几何失真度量的图像适配质量评价方法
Hosseini et al. Threshold feature selection (TFS), an improvement over forward selection in steganalysis feature selection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200501

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: 20210525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210607

R150 Certificate of patent or registration of utility model

Ref document number: 6904477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150