(57)【要約】  不良モード込み良否判定識別器を生成する際の処理量を低減するため、プログラム生成部は、２つのクラスに予め分類された学習画像を２つのクラスに分類する画像分類プログラム（良否判定プログラム）を遺伝的プログラミングに基づいて自動生成し、自動生成した良否判定プログラムに対し、３つ以上のクラスに予め分類された学習画像を与え、学習画像を３つ以上のクラスに分類する不良モード込み良否判定識別器を生成する。
2020012523.tif 000002
【特許請求の範囲】
【請求項１】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成する第１生成部と、
前記第１生成部が自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する第２生成部と、を備える情報処理装置。
【請求項２】
前記第２生成部が生成した前記多クラス画像分類器を用いて、画像を前記３つ以上のクラスに分類する分類部を更に備える請求項１に記載の情報処理装置。
【請求項３】
前記第１学習画像群に含まれる画像と、前記第２学習画像群に含まれる画像は同一であり、前記３つ以上のクラスに予め分類された前記第２学習画像群を２つのクラスに分類しなおすことで前記第１学習画像群を作成する作成部を更に備える請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記第２生成部は、前記良品画像及び前記不良品画像の少なくとも一方を細分化した複数クラスに分類する多クラス画像分類器を生成する、
ことを特徴とする請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記第２生成部は、前記不良品画像を不良の内容ごとに複数クラスに分類する多クラス画像分類器を生成する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２生成部は、前記第１生成部が生成した前記画像分類プログラムに含まれる、画像変換処理、画像特徴量抽出処理、識別器作成用ハイパーパラメータ設定処理を実行する木構造フィルタ列を利用して、前記多クラス画像分類器を生成する、ことを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第１生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記第２生成部は、前記第１学習画像群に含まれる前記良品画像及び前記不良品画像のいずれか一方である分類対象画像を前記第２学習画像群として、前記第２学習画像群を細分化した複数クラスに分類する多クラス画像分類器を生成し、
前記分類部は、前記画像分類プログラムを用いて前記分類対象画像に分類された画像を、前記多クラス画像分類器を用いて分類する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記第２生成部は、前記第１生成部が生成した前記画像分類プログラムにおいて設定された識別器作成用ハイパーパラメータを基準とした所定幅内において、前記識別器作成用ハイパーパラメータを変更しつつ、前記３つ以上のクラスに分類するのに適した前記識別器作成用ハイパーパラメータを特定し、特定した前記識別器作成用ハイパーパラメータを用いて前記多クラス画像分類器を生成する、ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記第１生成部は、前記画像分類プログラムの自動生成において前記第１学習画像群を用いて算出された適応度が所定値より大きい場合に、該適応度に対応する画像分類プログラムを用いて生成される多クラス画像分類器の判定精度に基づいて前記適応度を補正する、ことを特徴とする請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理方法であって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項１１】
生成した前記多クラス画像分類器を用いて、画像を前記３つ以上のクラスに分類する、処理をコンピュータが更に実行することを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
前記第１学習画像群に含まれる画像と、前記第２学習画像群に含まれる画像は同一であり、前記３つ以上のクラスに予め分類された前記第２学習画像群を２つのクラスに分類しなおすことで前記第１学習画像群を作成する、処理をコンピュータが更に実行することを特徴とする請求項１０又は１１に記載の情報処理方法。
【請求項１３】
前記画像分類プログラムを自動生成する処理では、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記多クラス画像分類器を生成する処理では、前記良品画像及び前記不良品画像の少なくとも一方を細分化した複数クラスに分類する多クラス画像分類器を生成する、
ことを特徴とする請求項１０〜１２のいずれか一項に記載の情報処理方法。
【請求項１４】
前記多クラス画像分類器を生成する処理では、前記不良品画像を不良の内容ごとに複数クラスに分類する多クラス画像分類器を生成する、ことを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記多クラス画像分類器を生成する処理では、自動生成された前記画像分類プログラムに含まれる、画像変換処理、画像特徴量抽出処理、識別器作成用ハイパーパラメータ設定処理を実行する木構造フィルタ列を利用して、前記多クラス画像分類器を生成する、ことを特徴とする請求項１０〜１４のいずれか一項に記載の情報処理方法。
【請求項１６】
前記画像分類プログラムを自動生成する処理では、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記多クラス画像分類器を生成する処理では、前記第１学習画像群に含まれる前記良品画像及び前記不良品画像のいずれか一方である分類対象画像を前記第２学習画像群として、前記第２学習画像群を細分化した複数クラスに分類する多クラス画像分類器を生成し、
前記分類する処理では、前記画像分類プログラムを用いて前記分類対象画像に分類された画像を、前記多クラス画像分類器を用いて分類する、ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１７】
前記多クラス画像分類器を生成する処理では、自動生成された前記画像分類プログラムにおいて設定された識別器作成用ハイパーパラメータを基準とした所定幅内において、前記識別器作成用ハイパーパラメータを変更しつつ、前記３つ以上のクラスに分類するのに適した前記識別器作成用ハイパーパラメータを特定し、特定した前記識別器作成用ハイパーパラメータを用いて前記多クラス画像分類器を生成する、ことを特徴とする請求項１５に記載の情報処理方法。
【請求項１８】
前記画像分類プログラムを自動生成する処理では、前記画像分類プログラムの自動生成において前記第１学習画像群を用いて算出された適応度が所定値より大きい場合に、該適応度に対応する画像分類プログラムを用いて生成される多クラス画像分類器の判定精度に基づいて前記適応度を補正する、ことを特徴とする請求項１０〜１７のいずれか一項に記載の情報処理方法。
【請求項１９】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理プログラムであって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する、
処理をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、所望の画像処理を実行する画像処理プログラムを、遺伝的プログラミングによって自動生成する技術がある。この技術は、入力画像と目標となる処理結果（目標画像等）を用いて、画像処理プログラムを遺伝的プログラミングによって最適化していくものである。【０００３】
また、画像処理プログラムの自動生成の一つとして、画像のクラス分類（カテゴリー分類）を行う画像分類プログラムの自動生成法が提案されている（例えば、特許文献１等参照）。画像分類プログラムを用いることで、例えば、画像に写った対象物を良品と不良品の２クラスに分類することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０６８６７５号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように画像に写った対象物を良品と不良品の２クラスに分類するだけでなく、良品の程度や不良モード（欠陥の種類）別に多クラスに分類することができれば有用である。多クラス分類を実行できる代表的な識別器としては、例えばＳＶＭ（Support Vector Machine）識別器などがある。【０００６】
しかしながら、２クラスに分類するためのＳＶＭ識別器を多クラスに拡張して画像分類プログラムの自動生成を行う場合、ＳＶＭ分類器作成の処理量がクラス数の二乗のオーダーで増加し、全体の学習時間が非常に大きくなる。【０００７】
１つの側面では、本発明は、多クラス画像分類器を生成するときの処理量を低減することが可能な情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、情報処理装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成する第１生成部と、前記第１生成部が自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する第２生成部と、を備えている。
【発明の効果】
【０００９】
多クラス画像分類器を生成するときの処理量を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係る画像分類装置のハードウェア構成の一例を示す図である。
【図２】遺伝的プログラミングにおいて取り扱う個体の木構造フィルタ列の基本構成の例を示す図である。
【図３】遺伝的プログラミングによる画像分類プログラムの生成処理の概要について説明するための図である。
【図４】図４（ａ）〜図４（ｄ）は、第１の実施形態の処理の概要について説明するための図である。
【図５】図５（ａ）〜図５（ｃ）は、不良モード込み良否判定識別器の生成処理について説明するための図である。
【図６】画像分類装置が備える処理機能の構成例を示すブロック図である。
【図７】プログラム生成部の処理手順の例を示すフローチャートである。
【図８】図８（ａ）〜図８（ｃ）は、図７のフローチャートに沿って生成した不良モード込み良否判定識別器の検証実験結果を示す図である。
【図９】図９（ａ）〜図９（ｃ）は、第２の実施形態について説明するための図である。
【図１０】第３の実施形態について説明するための図である。
【図１１】第４の実施形態について説明するための図である。
【図１２】変形例について説明するための図である。
【発明を実施するための形態】
【００１１】
《第１の実施形態》
以下、情報処理装置としての画像分類装置の第１の実施形態について、図１〜図８（ｃ）に基づいて詳細に説明する。第１の実施形態に係る画像分類装置は、要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する機能と、生成された画像分類プログラムを実行して画像分類処理を実行する機能とを備える。
【００１２】
図１は、第１の実施形態に係る画像分類装置１００のハードウェア構成の一例を示す図である。画像分類装置１００は、プロセッサ１０１と、ＲＡＭ１０２と、ＨＤＤ１０３と、グラフィック処理装置１０４と、入力インタフェース１０５と、読み取り装置１０６と、通信インタフェース１０７と、ネットワークインタフェース１０８と、を備える。画像分類装置１００の各部は、バス１０９に接続されている。
【００１３】
プロセッサ１０１は、画像分類装置１００全体を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等である。また、プロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００１４】
ＲＡＭ１０２は、画像分類装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００１５】
ＨＤＤ１０３は、画像分類装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００１６】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令にしたがって、画像を表示装置１０４ａの画面に表示させる。表示装置としては、液晶ディスプレイや有機ＥＬ（ElectroLuminescence）ディスプレイなどがある。
【００１７】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００１８】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００１９】
通信インタフェース１０７は、接続された外部デバイスとの間でデータの送受信を行う。本第１の実施形態では、通信インタフェース１０７には、外部デバイスとしてカメラ１０７ａが接続され、通信インタフェース１０７は、カメラ１０７ａから送信された画像データをプロセッサ１０１に送信する。
【００２０】
ネットワークインタフェース１０８は、ネットワーク１０８ａを介して他の装置との間でデータの送受信を行う。
【００２１】
画像分類装置１００は、入力画像を２クラスのうちの１つに分類するための画像分類プログラムを、遺伝的プログラミングによって自動的に生成する。生成された画像分類プログラムに基づく画像分類処理には、例えば、入力画像に写っている製品や部品が良品か不良品かを判定する処理や、入力画像に顔が写っているか否かを判定する処理などが含まれる。
【００２２】
画像分類プログラムによって実現される処理には、学習画像を用いた学習によって入力画像を２クラスに分類する識別器（良否判定識別器）を生成する識別器生成処理と、良否判定識別器に入力する特徴情報を学習画像に基づいて生成する前処理とが含まれる。高精度な画像分類を実現する上で、学習画像からどのような特徴量を抽出して用いるかという点と、得られた特徴量に基づいてどのような良否判定識別器を生成するかという点の両方が重要である。画像分類装置１００は、遺伝的プログラミングにより、良否判定識別器の生成アルゴリズムと前処理アルゴリズムの最適な組み合わせを探索する。
【００２３】
また、画像分類装置１００は、生成した画像分類プログラムを用いて多クラス良否判定が可能な識別器を生成する。なお、多クラス良否判定が可能な識別器の詳細については後述する。
【００２４】
（遺伝的プログラミングにおいて取り扱う個体について）
図２は、遺伝的プログラミングにおいて取り扱う個体の木構造フィルタ列の基本構成の例を示す図である。図２に示すように、個体は、各ノードの要素としてプログラムモジュールが設定された木構造によって表される。この木構造では、入力画像に様々な画像変換を加えて特徴抽出画像を生成し、生成した画像から画像特徴量を抽出し、画像特徴量を組み合わせて特徴ベクトルを作成し、ＳＶＭ識別器によって画像が属するクラス（ＯＫ画像とＮＧ画像）を判定するための学習あるいは判定を実行する。なお、ＯＫ画像は、良品が写っている画像（良品画像）であり、ＮＧ画像は不良品が写っている画像（不良品画像）を意味する。また、個体を表す木構造は、それぞれ１以上の隣接する階層を含む区間（処理）に区分される。本第１の実施形態では、木構造は、そのリーフ側（図２の上側）からルート側（図２の下側）に向かって画像変換処理、画像特徴量抽出処理、入力データ作成処理、ＳＶＭ識別器生成処理に区分される。なお、ＳＶＭ識別器生成処理には、ＳＶＭパラメータ設定処理、ＳＶＭ識別器生成処理、適応度算出処理が含まれる。
【００２５】
ここで、画像変換処理、画像特徴量抽出処理、入力データ作成処理は、識別器に入力するデータを生成するための前処理に対応づけられている。画像変換処理では、画像変換フィルタを用いて、入力画像を特徴抽出に適するように変換する。なお、画像変換フィルタとしては、Ｓｍｏｏｔｈフィルタ、Ｓｏｂｅｌフィルタ、Ｌａｐｌａｃｅフィルタ、Ａｎｄフィルタ、Ｓｕｂフィルタ、Ａｄｄフィルタ、Ｏｒフィルタ、Ｅｒｏｄｅフィルタ、Ｄｉｌａｔｅフィルタ、Ｔｈｒｅｓｈｏｌｄフィルタなどを適用可能である。
【００２６】
画像特徴量抽出処理は、画像変換処理で変換された画像から、特徴抽出フィルタを用いて特徴量を抽出する処理である。特徴抽出フィルタとしては、平均輝度を算出するフィルタ、輝度ヒストグラムを算出するフィルタ、ＦＦＴ（Fast Fourier Transformation）を実行するフィルタなどを適用可能である。また、領域分割数などの制御パラメータが異なるが同じ種類の特徴を抽出するフィルタを適用することもできる。
【００２７】
入力データ作成処理は、画像特徴量抽出処理で抽出された特徴量に基づいて、識別器に入力するための入力データ（特徴ベクトル）を生成する処理である。識別器に入力する入力データを生成するための入力データ生成モジュールとしては、例えば、入力数がそれぞれ１，２のプログラムモジュールや、入力データの正規化、入力データの圧縮などを実行するプログラムモジュールを、用いることができる。
【００２８】
ＳＶＭパラメータ設定処理は、例えば、学習パラメータの絶対値を設定する処理と、学習パラメータの相対値を設定する処理を含む。設定された絶対値が、設定された相対値を用いた加減算やスケーリングなどによって増減されることで、識別器の生成のための学習パラメータ（以下、ハイパーパラメータとも呼ぶ）が決定される。
【００２９】
ＳＶＭ識別器生成処理は、使用するカーネル関数や動作モードを決定する。カーネル関数としては、例えば、ＬＩＮＥＡＲカーネル、ＰＯＬＹＮＯＭＩＡＬカーネル、ＲＢＦ（Radial Basis Function）カーネル、ＳＩＧＭＯＩＤカーネルなどを適用可能である。また、動作モードとしては、木構造とＳＶＭ識別器の学習を実行するモードや、入力画像の良否判定を実行するモードが決定される。
【００３０】
適応度算出処理は学習実行モードにおいて、ＳＶＭ識別器生成処理で生成された識別器情報にしたがって、入力データ作成処理で作成された入力データに基づいて、学習画像の良否を判定する分類処理を実行する。また、適応度算出処理は、分類処理による分類結果と、学習画像に付加されたラベルが示す良否とを比較して、分類結果が正解か不正解かを判定する。そして、適応度算出処理は、交差検定などを用いて判定を複数回実行して学習画像に対する正解率を算出し、算出された正解率に基づいて、個体の適応度を算出する。ここで、適応度とは、目的とする画像認識結果に対して、自動生成した木構造フィルタ列の出力結果がどの程度一致しているかを示す指標である。本第１の実施形態では、適応度算出処理において、各個体の適応度を算出する際に、ペナルティ項も考慮するものとする。ペナルティ項としては、識別器の特徴次元数、木構造のサイズ（木構造に含まれるノード数またはノードの最大階層数）、ＳＶＭ識別器が用いられる場合のサポートベクトル数などを適用可能である。例えば、一般に、得られるデータと比較して識別器の複雑さが大きくなるほど、過学習が起こりやすくなる。そこで、例えば、特徴次元数が大きいほど、また、木構造のサイズが大きいほど、また、サポートベクトル数が大きいほど、正解率を小さくするように補正して適応度を算出する。なお、特徴次元数は、入力データ作成処理において設定された入力データ生成モジュールに基づいて判別可能である。このように正解率をペナルティ項に応じて補正することで、学習結果の優劣を正確に評価でき、未知の画像に対しても分類精度の高い画像分類プログラムを生成できる。
【００３１】
（画像分類プログラム生成処理の概要）
次に、図３に基づいて、遺伝的プログラミングによる画像分類プログラムの生成処理の概要について説明する。
【００３２】
図３は、画像分類プログラムの生成処理手順の概要を示す図である。前提として、画像分類プログラムの生成処理の前に、１つ以上の学習用データ２０が用意される。学習用データ２０には、入力画像２１と、入力画像２１の正しい分類結果（本実施形態では分類正解データ２２）とが含まれる。入力画像２１は、例えば、カメラによって被写体を撮像することによって得られる。
【００３３】
遺伝的プログラミングによる画像分類プログラムの生成処理では、個体（図３において白丸で表記）は、前述のように１つ以上の画像処理フィルタを組み合わせて構成される。なお、図３の左上において、“Ｆ”はノードに組み込まれた画像処理フィルタを示し、“Ｉ”は入力端子を示し、“Ｏ”は出力端子を示す。また、個体に組み込むことが可能な複数の画像処理フィルタも、あらかじめ用意される。
【００３４】
遺伝的プログラミングによる画像分類プログラムの生成処理は、例えば、以下のように実行される。
【００３５】
まず、ステップＳ１００において、母集団１１に含められる複数の初期個体が生成される。各初期個体のノードには、あらかじめ用意された複数の画像処理フィルタの中からランダムに選択された画像処理フィルタが組み込まれる。また、生成された各初期個体について、適応度が算出される。なお、算出された適応度の最大値が所定の閾値以上である場合には、適応度が最大の初期個体が最終的な画像分類プログラムとして出力される。
【００３６】
適応度の最大値が所定の閾値未満である場合、ステップＳ１０２において、母集団１１の中から、一定数（図３では、例えば２つ）の親個体がランダムに選択される。次いで、ステップＳ１０４では、選択された一定数（２つ）の親個体に対して進化過程の処理が施されることで、２以上の一定数の子個体が生成される。進化過程では、２つの親個体に対して交叉処理および突然変異処理が行われる。２つの親個体に対して、それぞれ異なる交叉処理や突然変異処理が行われることで、３つ以上の子個体が生成されてもよい。すなわち、生成される子個体の数は、母集団１１から選択される親個体の数以上となる。
【００３７】
次いで、ステップＳ１０６では、生成された各子個体について、適応度が算出される。
【００３８】
ここで、生成された子個体のいずれかの適応度が所定の閾値以上であった場合には、その個体が最終的な画像分類プログラムとして出力され、プログラム生成処理が終了する。
【００３９】
一方、これらすべての子個体の適応度が所定の閾値未満であった場合には、ステップＳ１０８において、生成された各子個体および元の２つの親個体を含む個体群１２の中から、生存選択が行われる。この生存選択では、個体群１２の中から、算出された適応度が最大の個体が選択される。また、個体群１２内の残りの個体の中から、所定の方法で個体が１つ選択される。例えば、残りの個体の中から、適応度に応じた確率で個体が選択される（ルーレット選択）。
【００４０】
このような生存選択によって選択された２つの個体は、ステップＳ１１０において、母集団１１に含まれる個体のうち、親個体として選択された２つの個体と入れ替えられる。これにより、母集団１１に含まれる個体が次世代の個体へ変更される。そして、適応度が所定の閾値以上となる個体が出現するまで、同様の処理が繰り返される。
【００４１】
以上のような手順によって生成される画像分類プログラムの用途としては、例えば、ＦＡ（Factory Automation）分野において、製品を撮像した画像に画像処理を施して所望の効果を得るという用途が考えられる。例えば、製品の外観を撮像した画像に画像処理を施して、欠陥が生じた箇所を抽出する、位置合わせを行う箇所を抽出するといった用途が考えられる。
【００４２】
このような用途では、被写体となる製品の変更や改良、それに伴う撮像環境の変化などに応じて、画像分類プログラムの再構築の必要が生じる場合がある。このため、画像分類プログラムの構築の容易性が求められている。また、照明条件の変化や被写体の形状、位置姿勢のバラツキなどの撮像環境の変化に対するロバスト性が高い画像分類プログラムを構築することが求められている。
【００４３】
遺伝的プログラミングを利用することで、入力画像２１とこれに対応する分類正解データ２２とをあらかじめ用意しておくだけで、このような用途で使用可能な画像分類プログラムを容易に生成することができる。また、それぞれ撮像環境が異なる入力画像２１と分類正解データ２２とのペア（学習用データ２０）を複数用意しておくことで、撮像環境の変化に対するロバスト性が高い画像分類プログラムを自動生成することもできる。
【００４４】
（処理の概要）
次に、本第１の実施形態における処理の概要について説明する。本第１の実施形態では、図３に示した画像分類プログラム生成処理で生成された良否判定（ＯＫ画像／ＮＧ画像の判定）が可能な画像分類プログラムを用いて、多クラス良否判定が可能なＳＶＭ識別器を生成する。多クラス良否判定とは、画像が、ＯＫ画像のクラスと、ＮＧ画像を更に不良モード別に分類した複数クラスのいずれに属するかを判定することを意味する。以下においては、多クラス良否判定が可能なＳＶＭ識別器を「不良モード込み良否判定識別器」と呼ぶものとする。不良モード込み良否判定識別器によれば、ＯＫ画像（良品）とＮＧ画像（不良品）のいずれかである対象画像が良品であるのか不良品であるのか、および、不良品であればどの欠陥種類の不良品であるのかを同時に判定することができる。
【００４５】
（１）学習用正解データの入力
画像ファイルごとに正解クラスを記載した学習用正解データを入力する。このとき、例えば図４（ａ）に示すように、ＯＫ画像については正の整数、ＮＧ画像については負の整数を割り当てることとする。なお、ＮＧ画像の数値の違いは、不良モードの違いを意味する。図４（ａ）に示すような学習用正解データを入力することで、図４（ｂ）に示すような良否判定自動生成用の正解データ（良品が「＋１」で、不良品が「−１」）に自動的に変換することができる。
【００４６】
（２）良否判定プログラムの自動生成
良否判定自動生成用の正解データを用いて、画像分類プログラムの自動生成を図３を用いて説明したように実行する。なお、以下においては、良否判定自動生成用の正解データを用いて生成される画像分類プログラムを「良否判定プログラム」と呼ぶ。上記自動生成の結果、良／否の判定精度を最適化した木構造フィルタ列が生成される（図４（ｃ）参照）。木構造フィルタ列の最終段には、学習画像から生成した良否判定識別器が組み合わされる。この木構造フィルタ列は、画像変換処理、画像特徴量抽出処理、識別器生成ハイパーパラメータをトータルで最適化した結果となっており、汎化性の高い良否判定プログラムが得られている。
【００４７】
（３）不良モード込み良否判定識別器の生成
良否の判定に最適化された画像変換処理と画像特徴量抽出処理は、必ずしもＮＧ画像の種類を分類する精度において最適化されているとは限らないが、非常に有効な画像特徴量を抽出していることが予想される。また、識別器のハイパーパラメータについても、同じ画像特徴量で良否の２クラスを識別する識別器の作成において最適化されているため、多クラスの分類器作成においてもかなり有効なパラメータとなっていることが期待できる。
【００４８】
その予測に従い、良否判定プログラムの自動生成結果（図４（ｃ）の木構造フィルタ列の破線枠内）に対して不良モード込みの多クラスの学習用正解データ（図４（ａ））をそのまま適用することにより、多クラス画像分類器（不良モード込み良否判定識別器）の生成を実施する。これにより、画像変換処理、画像特徴量抽出処理、識別器ハイパーパラメータ設定を良否判定プログラムと共通化した不良モード込み良否判定識別器（図４（ｄ））を得ることができる。
【００４９】
ここで、不良モード込み良否判定識別器の生成処理について、図５（ａ）〜図５（ｃ）に基づいてより詳細に説明する。図５（ａ）には、学習初期に設定されている画像特徴の特徴空間に学習画像を配置した状態が模式的に示されている。図５（ａ）において、学習用の良品データが白塗りの図形で表され、不良品データが黒塗り図形で示されている。不良の種類（不良モード）には、キズ、打痕、サビの３種類があるものとする。また、良品データには、正常範囲内に含まれる小さいキズや小さい打痕があるものも含まれる。
【００５０】
図５（ａ）に示すような学習初期においては、ランダムに画像特徴Ｘ１、Ｘ２が選ばれているため、学習用データの良否を正しく識別できる境界を得ることはできない。これに対し、遺伝的プログラミングにより学習が進んで適応度が十分に上昇してくると、図５（ｂ）に示すように、学習用データを全て正しく良否判定できるようになる。このとき、画像変換および画像特徴量抽出処理が最適化され、画像特徴量としてはＸ３、Ｘ４が選択されているものとする。また、識別器のハイパーパラメータにより、良否の識別境界が図５（ｂ）において点線で示すように正しく求められている。なお、図５（ｂ）においては、不良の種類（不良モード）によってそれぞれの学習用データが特徴空間内でクラスタを構成していることもわかる。
【００５１】
上述したとおりに得られた図５（ｂ）の特徴量データについて、図４（ａ）に示すような学習用正解データを適用することで、良品、不良品（キズ）、不良品（打痕）、不良品（サビ）の４クラスに分類する不良モード込み良否判定識別器を生成する。その結果、図５（ｃ）において破線で示すような分類境界を得ることができる。
【００５２】
（４）不良モード分類処理
画像分類実行時には、入力画像に対して良否判定プログラムを適用して画像特徴量を抽出し、その特徴量を不良モード込み良否判定識別器に与えて多クラス分類（欠陥分類）を実行する。なお、良否判定プログラムとその良否判定識別器を使用して、良／不良の判定を並行して行っても構わない。
【００５３】
（画像分類装置１００の処理機能について）
図６は、画像分類装置１００が備える処理機能の構成例を示すブロック図である。画像分類装置１００は、画像入力部１１１、正解データ入力部１１０、分類部としての画像検査処理部１１２、プログラム生成部１２０、記憶部１５０、を有する。
【００５４】
画像入力部１１１、正解データ入力部１１０、画像検査処理部１１２、及びプログラム生成部１２０の処理は、例えば、画像分類装置１００のプロセッサ１０１が所定のプログラム（情報処理プログラムを含む）を実行することで実現される。記憶部１５０は、例えば、画像分類装置１００のＲＡＭ１０２の記憶領域として実現される。
【００５５】
画像入力部１１１は、カメラ１０７ａが撮像した画像のデータを取得し、プログラム生成部１２０又は画像検査処理部１１２に出力する。プログラム生成部１２０は、遺伝的プログラミングにより良否判定用の画像分類プログラム（良否判定プログラム）を生成し、生成された良否判定プログラムに対応するデータ（最良個体のデータ）を記憶部１５０に保存する。また、プログラム生成部１２０は、良否判定プログラムを用いて不良モード込み良否判定識別器を生成し、記憶部１５０に保存する。なお、プログラム生成部１２０の内部構成については後述する。
【００５６】
正解データ入力部１１０は、画像入力部１１１がカメラ１０７ａから取得した学習画像に対してラベル（＋１，−１，−２など）を付加したデータ（図４（ａ）の学習用正解データ）の入力が例えば入力装置１０５ａからあった場合に、学習用正解データを取得する。そして、正解データ入力部１１０は、取得した学習用正解データをプログラム生成部１２０に出力する。
【００５７】
画像検査処理部１１２は、カメラ１０７ａが撮像した画像のデータを、画像入力部１１１を介して取得する。また、画像検査処理部１１２は、記憶部１５０に記憶されている良否判定プログラムのデータ（最良個体のデータ）と不良モード込み良否判定識別器を読み出し、取得した画像の多クラス分類（欠陥分類）を実行する。画像検査処理部１１２は、判定結果を、例えば表示装置１０４ａに表示する。
【００５８】
記憶部１５０は、プログラム生成部１２０で生成された良否判定プログラムのデータ（最良個体のデータ）、不良モード込み良否判定識別器を記憶する。学習画像としては、画像入力部１１１がカメラ１０７ａから取得した画像を用いることができる。
【００５９】
ここで、プログラム生成部１２０の詳細についてさらに説明する。プログラム生成部１２０は、ＧＰ（Genetic Programming）学習制御部１２１、作成部としての正解データ作成部１２２、画像変換部１２３、画像特徴量抽出部１２４、識別器入力データ作成部１２５、識別器パラメータ設定部１２６、良否判定識別器生成部１２７、適応度算出部１２９、第２生成部としての不良モード込み識別器生成部１２８、を有する。
【００６０】
ＧＰ学習制御部１２１は、遺伝的プログラミングによるプログラム生成処理全体の実行を制御する。例えば、ＧＰ学習制御部１２１は、初期個体の生成、個体の進化処理などの処理を実行する。
【００６１】
正解データ作成部１２２は、図４（ａ）に示すような不良モードの違いを含む学習用正解データから、図４（ｂ）に示すようなＯＫ画像（＋１）とＮＧ画像（−１）とに分類した良否判定自動生成用の正解データを作成する。この場合、正解データ作成部１２２は、図４（ａ）の各値のうち負の整数を「−１」に変換する。図４（ｂ）の学習用正解データは、ＧＰ学習制御部１２１等において遺伝的プログラミングによるプログラム生成処理に利用される。
【００６２】
画像変換部１２３は、個体の木構造における画像変換処理のノードに設定された画像変換フィルタにしたがって、入力画像に対する画像変換処理を実行する。
【００６３】
画像特徴量抽出部１２４は、個体の木構造における画像特徴量抽出処理のノードに設定された特徴抽出フィルタにしたがって、画像変換後の入力画像からの特徴量抽出処理を実行する。
【００６４】
識別器入力データ作成部１２５は、個体の木構造における入力データ作成処理のノードに設定されたプログラムモジュールにしたがって、識別器に入力する入力データを画像の特徴量に基づいて生成する。
【００６５】
識別器パラメータ設定部１２６は、個体の木構造におけるＳＶＭパラメータ設定処理のノードに設定された絶対値と相対値にしたがって、識別器の学習パラメータ（ハイパーパラメータ）を設定する処理を実行する。
【００６６】
良否判定識別器生成部１２７は、個体の木構造におけるＳＶＭ識別器生成処理のノードに設定されたカーネル関数や動作モードにしたがって、識別器パラメータ設定部１２６によって設定された学習パラメータを用いて、学習により良否判定識別器を生成する処理を実行する。
【００６７】
適応度算出部１２９は、各個体を用いて学習画像のクラスを判定した結果が、学習画像に付加されたラベルと一致するか否かにより正解か不正解かを判定し、その正解率に基づいて、各個体の適応度を算出する。
【００６８】
不良モード込み識別器生成部１２８は、ＧＰ学習制御部１２１等により生成された木構造フィルタ列の図４（ｃ）で示す破線枠内の各処理に対して、図４（ａ）に示す学習用正解データをそのまま適用することにより、不良モード込み良否判定識別器を生成する。
【００６９】
（プログラム生成部１２０の処理について）
次に、プログラム生成部１２０の処理について、図７のフローチャートに沿って説明する。
【００７０】
図７の処理の前提として、カメラ１０７ａで撮影された学習画像が画像入力部１１１に入力されているものとする。また、入力装置１０５ａから正解データ入力部１１０に入力された学習用正解データ（図４（ａ））が、記憶部１５０に格納されているものとする。
【００７１】
図７においては、まずステップＳ１０において、ＧＰ学習制御部１２１が、画像入力部１１１から学習画像を取得する。
【００７２】
次いで、ステップＳ１２では、正解データ作成部１２２が、記憶部１５０から学習用正解データ（図４（ａ））を取得する。
【００７３】
次いで、ステップＳ１４では、正解データ作成部１２２が、取得した学習用正解データ（図４（ａ））から良否判定自動生成用の正解データ（図４（ｂ））を作成する。
【００７４】
次いで、ステップＳ１６では、ＧＰ学習制御部１２１が、複数の初期個体を生成し、生成した初期個体を示す情報を記憶部１５０に格納する。以下、記憶部１５０に格納される個体のことを「個体群」と呼ぶ。
【００７５】
初期個体の生成手順としては、基本的に、個体の木構造の各階層の処理にノードが設定され、各ノードの要素が、ノードが属する処理に対応するプログラムモジュールの中から選択されて設定される。
【００７６】
次いで、ステップＳ１８では、ＧＰ学習制御部１２１の制御の下、画像変換部１２３、画像特徴量抽出部１２４、識別器入力データ作成部１２５、識別器パラメータ設定部１２６、良否判定識別器生成部１２７、及び適応度算出部１２９が、良否判定プログラムの世代交代処理を実行する。このステップＳ１８では、図３を用いて説明したステップＳ１０２、Ｓ１０４、Ｓ１０６、Ｓ１０８、Ｓ１１０の処理が実行されることになる。
【００７７】
次いで、ステップＳ２０では、ＧＰ学習制御部１２１は、学習終了か否かを判断する。このステップＳ２０では、ステップＳ１８の処理において生成された子個体のいずれかの適応度が所定の閾値以上であった場合に学習終了と判断される。ステップＳ２０の判断が否定されている間は、ステップＳ１８の処理を繰り返し実行し、ステップＳ２０の判断が肯定された場合には、ステップＳ２２に移行する。
【００７８】
ステップＳ２２に移行すると、不良モード込み識別器生成部１２８は、不良モード込み良否判定識別器のハイパーパラメータを設定する。この場合、良否判定プログラム生成の際に設定した良否判定識別器のハイパーパラメータをそのまま設定する。
【００７９】
次いで、ステップＳ２４では、不良モード込み識別器生成部１２８が、ステップＳ１８の繰り返しにより生成された良否判定プログラムに対して、学習用正解データ（図４（ａ））をそのまま適用することで、不良モード込み良否判定識別器を生成する。
【００８０】
以上により、図７の全処理が終了する。本第１の実施形態では、図７の処理を実行することで、良否判定プログラムの自動生成処理に対してほとんど処理を追加することなく、不良モード込み良否判定識別器を生成することができる。
【００８１】
（実施例）
図８（ａ）〜図８（ｃ）には、図７のフローチャートに沿って生成した不良モード込み良否判定識別器の検証実験結果が示されている。本検証実験においては、図８（ａ）に示すように、ＯＫ画像の他、ＮＧ画像の不良モードを異物、打痕、サビの３種類とし、学習画像として合計８０枚、評価用画像として合計１００枚を用意した。なお、各画像の枚数の内訳は図８（ａ）に示す通りである。
【００８２】
図８（ａ）に示す学習画像を用いて良否判定プログラムの自動生成を行った結果の概要が図８（ｂ）に示されている。本例では、画像変換および画像特徴量抽出処理の最適化の結果、４０次元の画像特徴量が選択された。また、識別器のハイパーパラメータとして、３次多項式カーネルでCost=18.0、γ=3.0の最適パラメータ値が得られた。この良否判定プログラムを使用して、評価用画像１００枚に対して良否判定を実行した結果、図８（ｂ）においてハッチングを付して示す部分が正解となり、正解率９７％（誤判定３枚）の良否判定精度を得ることができた。
【００８３】
また、自動生成した良否判定プログラムを用いて、ＯＫ画像、ＮＧ画像（異物、打痕、サビ）の合計４クラスの学習用正解データを与えることにより、不良モード込み良否判定識別器を生成した。そして、評価用画像１００枚について多クラス分類を実施したところ、図８（ｃ）においてハッチングを付して示す部分が正解となった。
【００８４】
図８（ｃ）からは、ＯＫ画像および３種類の不良モードのトータルの分類正解率は９５％（＝９５／１００×１００）であり、十分に高い精度で４つのクラスに分類することができたことがわかる。また、ＮＧ画像の３つの不良モードに絞った分類精度は、異物をサビとして誤分類した２枚を除いて正解しており、正解率は９６％（４８／５０×１００）で、ＮＧ画像に限定した分類精度も十分高い結果を得ることができた。
【００８５】
なお、良否判定の評価で過剰検出となっていたＯＫ画像３枚については、不良モード込み良否判定でも引き続き分類誤り（ＯＫ画像を打痕あるいはサビと判定）となっている。これは、良否判定プログラムの画像変換処理や画像特徴量抽出処理を共通に用いていることによるものと推定される。
【００８６】
これまでの説明からわかるように、本実施形態では、ＧＰ学習制御部１２１、画像変換部１２３、画像特徴量抽出部１２４、識別器入力データ作成部１２５、識別器パラメータ設定部１２６、良否判定識別器生成部１２７、適応度算出部１２９を含んで、良否判定自動生成用の正解データに基づいて良否判定プログラムを遺伝的プログラミングに基づいて自動生成する第１生成部としての機能が実現されている。
【００８７】
以上、詳細に説明したように、本実施形態によると、プログラム生成部１２０は、２つのクラスに予め分類された学習画像を２つのクラスに分類する画像分類プログラム（良否判定プログラム）を遺伝的プログラミングに基づいて自動生成する。そして、プログラム生成部１２０（不良モード込み識別器生成部１２８）は、自動生成した良否判定プログラムに対し、３つ以上のクラスに予め分類された学習画像を与え、学習画像を３つ以上のクラスに分類する不良モード込み良否判定識別器を生成する。これにより、良否判定プログラムの自動生成処理に対してほとんど処理を追加することなく、不良モード込み良否判定識別器を生成することができる。したがって、不良モード込み識別器生成部を学習により自動生成する場合と比べ、処理量の低減及び処理時間の短縮を図ることができる。
【００８８】
また、本第１の実施形態では、自動生成された良否判定プログラムを用いるため、良否判定の精度を維持したうえで、不良モード込み良否判定識別器を生成することができる。
【００８９】
また、本第１の実施形態では、画像分類装置１００が、プログラム生成部１２０において生成された不良モード込み良否判定識別器を用いて検査画像の良否を判定する画像検査処理部１１２を備えている。これにより、画像分類装置１００に検査画像を入力することで、検査画像を精度よく多クラスに分類し、不良モードを認識することができる。
【００９０】
また、本第１の実施形態では、正解データ作成部１２２は、学習用正解データ（図４（ａ））に基づいて良否判定自動生成用の正解データ（図４（ｂ））を生成する。これにより、不良モード込み良否判定識別器の生成に用いる学習用正解データをあらかじめ作成しておくだけで、良否判定プログラムを自動生成することができる。
【００９１】
なお、上記第１の実施形態では、図７の処理において、ステップＳ２０の判断が肯定された場合に、それまでの処理で生成された良否判定プログラムを用いて不良モード込み良否判定識別器を生成する場合について説明した。しかしながら、これに限られるものではなく、例えば、ステップＳ１８の処理を繰り返している間に、最良個体の適応度が上昇するごとに、最良個体を用いてその世代の不良モード込み良否判定識別器を生成するようにしてもよい。
【００９２】
なお、上記第１の実施形態では、ＮＧ画像を複数クラスに分類する場合について説明したが、これに限られるものではない。すなわち、ＮＧ画像を複数クラスに分類するのに代えて又はこれとともに、ＯＫ画像を複数クラスに分類することとしてもよい。ＯＫ画像を複数クラスに分類する場合、図５（ａ）〜図５（ｃ）に示したように、完全な良品、小さなキズ、小さな打痕のように分類することができる。
【００９３】
《第２の実施形態》
次に、第２の実施形態について、図９（ａ）〜図９（ｃ）に基づいて説明する。図９（ａ）〜図９（ｃ）には、第２の実施形態の処理が模式的に示されている。
【００９４】
本第２の実施形態では、第１の実施形態（図４（ｃ））と同様にして図９（ａ）に示すような良否判定プログラムを生成した後、多クラスの識別器を生成する。この多クラスの識別器を生成する際に、ＯＫ画像以外のＮＧ画像を分類対象画像として、当該分類対象画像のみの学習用正解データ（図９（ｂ）参照）を、図９（ａ）の良否判定プログラムの木構造フィルタ列のうち破線枠内の処理に適用することで、不良モード限定識別器を生成する。なお、ＮＧ画像のみの学習用正解データは、図４（ａ）に示す学習用正解データから「＋１」のデータ以外を抽出するようにすればよい。
【００９５】
このようにＮＧ画像の学習用正解データだけを学習対象とすることで、画像の特徴によっては不良モードの判定精度を向上させることが可能となる。
【００９６】
この場合、画像検査処理部１１２が実際に画像を分類する際には、第１段階において、図９（ａ）に示す良否判定識別器を用いてＯＫ画像かＮＧ画像かの良否判定を行う。そして、画像検査処理部１１２は、第２段階において、図９（ｂ）に示す不良モード限定識別器を用いてＮＧ画像を更に分類するようにすればよい。
【００９７】
《第３の実施形態》
次に、第３の実施形態について、図１０に基づいて説明する。
【００９８】
図１０は、第３の実施形態におけるプログラム生成部１２０の処理を示すフローチャートである。本第３の実施形態では、第１の実施形態（図６）のステップＳ２２とステップＳ２４の間にステップＳ２３を実行する。
【００９９】
不良モード込み識別器生成部１２８は、ステップＳ２２において、第１の実施形態と同様に不良モード込み良否判定識別器のハイパーパラメータを設定した後、ステップＳ２３において、近傍グリッドサーチによるハイパーパラメータ調整を行う。具体的には、不良モード込み識別器生成部１２８は、ステップＳ２２で設定したハイパーパラメータの近傍をグリッドサーチしながら、学習画像に対して多クラス分類の交差検定を実施し、正解率が上昇するパラメータを探索する。そして、不良モード込み識別器生成部１２８は、探索結果として得られたハイパーパラメータを設定した上で、ステップＳ２４において、最終的な不良モード込み良否判定識別器を生成する。
【０１００】
このようにすることで、不良モード込み良否判定識別器を生成する際に、２クラス分類（良否判定）のために最適化されたハイパーパラメータをさらに調節することで、汎化性のより高い多クラス分類境界を得ることができる。
【０１０１】
《第４の実施形態》
次に、第４の実施形態について、図１１に基づいて説明する。
【０１０２】
図１１は、第４の実施形態における良否判定プログラムの世代交代処理（図６のＳ１８：図３のステップＳ１０２，Ｓ１０４、Ｓ１０６、Ｓ１０８、Ｓ１１０に対応する処理）を示すフローチャートである。本第４の実施形態では、良否判定プログラムの自動生成過程において、多クラス分類（不良モード込みの良否判定）の判定精度を適応度に反映させることにより、良否判定の精度と多クラス分類の精度を両立させながら学習を進めることとしている。
【０１０３】
以下、図１１の処理について、詳細に説明する。
【０１０４】
図１１の処理において、まずステップＳ４８では、ＧＰ学習制御部１２１が、母集団からランダムに選択した親個体に進化過程の処理を施し、進化過程により子個体群を生成する。
【０１０５】
次いで、ステップＳ５０では、ＧＰ学習制御部１２１が、生成された子個体群の中から１つの子個体を選択する。次いで、ステップＳ５２では、適応度算出部１２９が子個体の適応度を算出する。次いで、ステップＳ５４では、ＧＰ学習制御部１２１が、適応度が予め定められている閾値よりも大きいか否かを判断する。このステップＳ５４の判断が否定された場合にはステップＳ６２に移行するが、肯定された場合には、ステップＳ５６に移行する。
【０１０６】
ステップＳ５６に移行すると、ＧＰ学習制御部１２１は、ステップＳ２２と同様にして、選択している子個体のハイパーパラメータをそのまま不良モード込み良否判定識別器のハイパーパラメータとして設定する。
【０１０７】
次いで、ステップＳ５８では、ＧＰ学習制御部１２１は、不良モード込み良否判定識別器の交差検定を実行する。そして、ステップＳ６０では、ＧＰ学習制御部１２１は、不良モード込み良否判定識別器の交差検定で求められた学習画像の正解率に基づいて適応度を再計算（補正）する。適応度の再計算の方法としては種々の方法が考えられるが、例えば以下の方法を採用することができる。
【０１０８】
（再計算方法（その１））
次式（１）のように、良否判定の交差検定の正解率ａと不良モード込み良否判定識別器の交差検定の正解率ｂとの平均を適応度とする。
適応度＝（ａ＋ｂ）／２      …（１）
【０１０９】
（再計算方法（その２））
重み係数ｋ（０≦ｋ≦１）を用いて次式（２）のように一般化し、正解率ａ，ｂのバランスを調整する。
適応度＝ｋ×ａ＋（１−ｋ）×ｂ      …（２）
【０１１０】
（再計算方法（その３））
正解率以外に、汎化性を高めるためのペナルティ項を加えて、次式（３）のように適応度を計算する。
適応度＝ｋ×ａ＋（１−ｋ）×ｂ−汎化性ペナルティ項      …（３）
【０１１１】
次いで、ステップＳ６２に移行すると、子個体が終了か否か、すなわちステップＳ４８で生成された子個体を全て選択したか否かを判断する。このステップＳ６２の判断が否定された場合には、ステップＳ５０に戻る。ステップＳ５０に戻った後は、ステップＳ５０〜Ｓ６２の処理・判断を繰り返し、ステップＳ６２の判断が肯定された段階で、ステップＳ６４に移行する。ステップＳ６４に移行すると、ＧＰ学習制御部１２１は、これまでに求められた各個体の適応度に基づいて最良個体を選択し（生存選択）、母集団に含まれる個体との入れ替えを実行する。その後は、図６のステップＳ２０に移行する。
【０１１２】
以上のように、本第４の実施形態によると、良否判定プログラムの自動生成過程において不良モード込み良否判定識別器の判定精度を考慮することで、不良モード込み良否判定の精度を向上することができる。
【０１１３】
また、本第４の実施形態では、良否判定プログラム自動生成で得られた適応度が所定の閾値を超えたときにのみ、不良モード込み良否判定識別器の交差検定を行うこととしている。これにより、処理量の増加を抑制することができる。
【０１１４】
（変形例）
なお、上記各実施形態では、画像の良否を判定するとともに、ＮＧ画像である場合に欠陥の種類を分類する画像検査を、サービスとして提供することとしてもよい。図１２には、画像検査をサービスとして提供する場合の画像分類システム２００の構成が概略的に示されている。
【０１１５】
図１２の画像分類システム２００は、サーバ１０と、利用者端末７０と、を備える。サーバ１０と利用者端末７０は、インターネットなどのネットワーク８０に接続されている。
【０１１６】
利用者は、利用者端末７０においては、学習時に学習画像と学習用正解データを作成し、サーバ１０に送信する。サーバ１０では、第１実施形態と同様、学習画像と学習用正解データを用いて良否判定プログラムを自動生成するとともに、自動生成結果を利用して不良モード込み良否判定識別器を生成する。
【０１１７】
画像検査の際には、利用者端末７０から検査画像をサーバ１０に対して送信する。サーバ１０では、検査画像から画像特徴量を抽出し、その特徴量を不良モード込み良否判定識別器に入力してＯＫ画像かＮＧ画像かの判定及びＮＧ画像であればどのような欠陥であるかの判定を行う。そして、サーバ１０は、利用者端末７０に対して判定結果を送信する。すなわち、サーバ１０は、少なくとも図６のプログラム生成部１２０及び画像検査処理部１１２と同様の機能を有している。
【０１１８】
なお、上記説明では、サーバ１０が第１実施形態に対応する処理を行う例について説明したが、これに限らず、サーバ１０は、第２〜第４実施形態に対応する処理を行ってもよい。
【０１１９】
また、サーバ１０が生成した良否判定プログラムや不良モード込み良否判定識別器を利用者端末７０に送信しておくことで、利用者端末７０において検査画像の判定を行うようにしてもよい。
【０１２０】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１２１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２３】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【０１２４】
１００  画像分類装置（情報処理装置）
１１２  画像検査処理部（分類部）
１２１  ＧＰ学習制御部（第１生成部の一部）
１２２  正解データ作成部（作成部）
１２３  画像変換部（第１生成部の一部）
１２４  画像特徴量抽出部（第１生成部の一部）
１２５  識別器入力データ作成部（第１生成部の一部）
１２６  識別器パラメータ設定部（第１生成部の一部）
１２７  良否判定識別器生成部（第１生成部の一部）
１２８  不良モード込み識別器生成部（第２生成部）
１２９  適応度算出部（第１生成部の一部）
【図１】
2020012523.tif 000003
【図２】
2020012523.tif 000004
【図３】
2020012523.tif 000005
【図４】
2020012523.tif 000006
【図５】
2020012523.tif 000007
【図６】
2020012523.tif 000008
【図７】
2020012523.tif 000009
【図８】
2020012523.tif 000010
【図９】
2020012523.tif 000011
【図１０】
2020012523.tif 000012
【図１１】
2020012523.tif 000013
【図１２】
2020012523.tif 000014
【手続補正書】
【提出日】令和2年10月14日(2020.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理装置であって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成する第１生成部と、
前記第１生成部が自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する第２生成部と、を備える情報処理装置。
【請求項２】
前記第２生成部が生成した前記多クラス画像分類器を用いて、画像を前記３つ以上のクラスに分類する分類部を更に備える請求項１に記載の情報処理装置。
【請求項３】
前記第１学習画像群に含まれる画像と、前記第２学習画像群に含まれる画像は同一であり、前記３つ以上のクラスに予め分類された前記第２学習画像群を２つのクラスに分類しなおすことで前記第１学習画像群を作成する作成部を更に備える請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記第２生成部は、前記良品画像及び前記不良品画像の少なくとも一方を細分化した複数クラスに分類する多クラス画像分類器を生成する、
ことを特徴とする請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記第２生成部は、前記不良品画像を不良の内容ごとに複数クラスに分類する多クラス画像分類器を生成する、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２生成部は、前記第１生成部が生成した前記画像分類プログラムに含まれる、画像変換処理、画像特徴量抽出処理、識別器作成用ハイパーパラメータ設定処理を実行する木構造フィルタ列を利用して、前記多クラス画像分類器を生成する、ことを特徴とする請求項１〜５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第１生成部は、画像を良品画像と不良品画像に分類する画像分類プログラムを自動生成し、
前記第２生成部は、前記第１学習画像群に含まれる前記良品画像及び前記不良品画像のいずれか一方である分類対象画像を前記第２学習画像群として、前記第２学習画像群を細分化した複数クラスに分類する多クラス画像分類器を生成し、
前記分類部は、前記画像分類プログラムを用いて前記分類対象画像に分類された画像を、前記多クラス画像分類器を用いて分類する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記第２生成部は、前記第１生成部が生成した前記画像分類プログラムにおいて設定された識別器作成用ハイパーパラメータを基準とした所定幅内において、前記識別器作成用ハイパーパラメータを変更しつつ、前記３つ以上のクラスに分類するのに適した前記識別器作成用ハイパーパラメータを特定し、特定した前記識別器作成用ハイパーパラメータを用いて前記多クラス画像分類器を生成する、ことを特徴とする請求項６に記載の情報処理装置。
【請求項９】
前記第１生成部は、前記画像分類プログラムの自動生成において前記第１学習画像群を用いて算出された適応度が所定値より大きい場合に、該適応度に対応する画像分類プログラムを用いて生成される多クラス画像分類器の判定精度に基づいて前記適応度を補正する、ことを特徴とする請求項１〜８のいずれか一項に記載の情報処理装置。
【請求項１０】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理方法であって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項１１】
要素フィルタを組合せた画像分類プログラムを遺伝的プログラミングに基づいて自動生成する情報処理プログラムであって、
２つのクラスに予め分類された第１学習画像群を前記２つのクラスに分類する画像分類プログラムを遺伝的プログラミングに基づいて自動生成し、
自動生成した前記画像分類プログラムに対し、３つ以上のクラスに予め分類された第２学習画像群を与え、前記第２学習画像群を前記３つ以上のクラスに分類する多クラス画像分類器を生成する、
処理をコンピュータに実行させるための情報処理プログラム。
【国際調査報告】
2020012523.tif 000015
2020012523.tif 000016