JP6646234B2 - プログラム生成装置、プログラム生成方法および生成プログラム - Google Patents

プログラム生成装置、プログラム生成方法および生成プログラム Download PDF

Info

Publication number
JP6646234B2
JP6646234B2 JP2017546333A JP2017546333A JP6646234B2 JP 6646234 B2 JP6646234 B2 JP 6646234B2 JP 2017546333 A JP2017546333 A JP 2017546333A JP 2017546333 A JP2017546333 A JP 2017546333A JP 6646234 B2 JP6646234 B2 JP 6646234B2
Authority
JP
Japan
Prior art keywords
section
node
program
image
classifier
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
JP2017546333A
Other languages
English (en)
Other versions
JPWO2017068675A1 (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 JPWO2017068675A1 publication Critical patent/JPWO2017068675A1/ja
Application granted granted Critical
Publication of JP6646234B2 publication Critical patent/JP6646234B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

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

Description

本発明は、プログラム生成装置、プログラム生成方法および生成プログラムに関する。
画像に写っている物体がどのクラスに属するかを判定する画像処理は、画像分類と呼ばれる。画像分類の中でも2クラスに分類する画像処理は最も一般的であり、例えば、顔と非顔の2クラスに分類する顔画像認識は広く利用されている。
一方、画像処理プログラムの生成に関しては、所望の画像処理を実行する画像処理プログラムを、遺伝的プログラミングによって自動生成する技術がある。この技術は、入力画像と目標となる処理結果(例えば、目標画像)とを用いて、画像処理のための部分プログラム(例えば、画像フィルタのプログラム)を組み合わせて生成される画像処理プログラムを、遺伝的プログラミングによって最適化していくものである。
そして、画像分類プログラムの生成においても遺伝的プログラミングを活用する技術が提案されている。この技術では、分類器に入力する特徴量群を計算する特徴量群算出部の前段に設けたフィルタ列が、進化的計算により最適化される。
特開2007−213480号公報
青木紳也、長尾智晴、「木構造画像変換の自動構築法ACTIT」、情報メディア学会誌Vol.53,No.6、1999年6月20日、p.890−892
画像分類では、画像からどのような特徴量を抽出して用いるかという点と、得られた特徴量に基づいてどのような分類器を生成するかという点が、分類精度を高めるために重要である。しかし、これらの2点の両方の最適な組み合わせを探索するためには、専門家による高度な知識と多大な開発時間が必要であった。
また、フィルタ列を進化的計算により最適化するという前述の技術では、分類器の生成については進化的計算による最適化の対象になっていない。
1つの側面では、本発明は、高精度な画像分類処理を実現する画像分類プログラムを生成可能なプログラム生成装置、プログラム生成方法および生成プログラムを提供することを目的とする。
1つの案では、生成部と遺伝的処理部とを有するプログラム生成装置が提供される。生成部は、それぞれ画像分類プログラムを表す複数の木構造を生成する。ここで、複数の木構造のそれぞれは、1以上の隣接する階層をそれぞれ含む第1階層群と第2階層群とを有し、第1階層群のノードの要素は、それぞれ入力画像に対して前処理を施すための複数の画像フィルタの中から選択され、第2階層群のノードの要素は、第1階層群のノードに対して選択された要素の実行によって得られた情報を基に分類器を生成するための制御パラメータとして、それぞれ異なる値を設定するための複数の設定プログラムの中から選択される。遺伝的処理部は、複数の木構造に基づいて、遺伝的プログラミングによって適応度が所定の閾値を超える木構造を出力する。
また、1つの案では、上記のプログラム生成装置と同様の処理をコンピュータが実行するプログラム生成方法が提供される。
さらに、1つの案では、上記のプログラム生成装置と同様の処理をコンピュータに実行させる生成プログラムが提供される。
1つの側面では、高精度な画像分類処理を実現する画像分類プログラムを生成できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態に係るプログラム生成装置の構成例および処理例を示す図である。 第2の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。 個体の構造例を示す図である。 各区間の要素例を示す図である。 個体および出力データのデータ構造例を示す図である。 画像処理装置が備える処理機能の構成例を示すブロック図である。 プログラム生成処理手順の例を示すフローチャートである。 交叉処理手順の例を示すフローチャートである。 突然変異処理手順の例を示すフローチャートである。 学習・適応度算出処理の手順の例を示すフローチャート(その1)である。 学習・適応度算出処理の手順の例を示すフローチャート(その2)である。 交差検定法を用いた場合の学習・適応度算出処理の手順の例を示すフローチャート(その1)である。 交差検定法を用いた場合の学習・適応度算出処理の手順の例を示すフローチャート(その2)である。 交差検定法を用いた場合の学習・適応度算出処理の手順の例を示すフローチャート(その3)である。 出力データに基づく画像分類処理手順の例を示すフローチャートである。 分類器の再学習手順の例を示すフローチャートである。 変形例における画像分類プログラムの生成処理手順の例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るプログラム生成装置の構成例および処理例を示す図である。図1に示すプログラム生成装置1は、生成部1aと遺伝的処理部1bとを有する。生成部1aおよび遺伝的処理部1bの処理は、例えば、プログラム生成装置1が備えるプロセッサが所定のプログラムを実行することで実現される。
生成部1aは、それぞれ画像分類プログラムを表す複数の木構造11a,11b,11c,・・・を生成する。画像分類プログラムは、入力画像が複数のクラスのどれに属するかを判定するためのプログラムである。また、複数の木構造11a,11b,11c,・・・のそれぞれは、1以上の隣接する階層をそれぞれ含む第1階層群12aと第2階層群12bを有する。
第1階層群12aのノードの要素は、第1要素群20に含まれる複数の画像フィルタ21a,21b,21c,・・・の中から選択される。複数の画像フィルタ21a,21b,21c,・・・は、それぞれ入力画像に対して前処理を施すためのプログラムである。図1の例では、木構造11aの第1階層群12aにはノードN1〜N4が含まれ、ノードN1〜N4のそれぞれの要素が、複数の画像フィルタ21a,21b,21c,・・・の中から選択される。
第2階層群12bのノードの要素は、第2要素群30に含まれる複数の設定プログラム31a,31b,31c,・・・の中から選択される。複数の設定プログラム31a,31b,31c,・・・はそれぞれ、第1階層群12aのノードに対して選択された要素の実行によって得られた情報を基に分類器を生成するための制御パラメータとして、それぞれ異なる値を設定するためのプログラムである。
図1の例では、設定プログラム31a,31b,31cは、分類器を生成するためにそれぞれパラメータa,b,cを設定するためのプログラムである。また、木構造11aの第2階層群12bにはノードN5,N6が含まれ、ノードN5,N6のそれぞれの要素が、複数の設定プログラム31a,31b,31c,・・・の中から選択される。
遺伝的処理部1bは、生成部1aにより生成された複数の木構造11a,11b,11c,・・・に基づいて、遺伝的プログラミングによって適応度が所定の閾値を超える木構造を出力する。
例えば、遺伝的処理部1bは、複数の木構造11a,11b,11c,・・・が木構造群10に含まれる状態を起点として、次のような処理を実行する。遺伝的処理部1bは、木構造群10の中から選択した親の木構造に基づいて子の木構造を生成する。遺伝的処理部1bは、生成された子の木構造に基づく処理によって生成された分類器の分類正解率に基づいて、子の木構造の適応度を算出する。遺伝的処理部1bは、算出された適応度が上記の閾値以下である場合、木構造群10に含まれる木構造の1つを子の木構造と入れ替える。遺伝的処理部1bは、以上の処理を、子の木構造の適応度が上記の閾値を超えるまで繰り返し実行する。
以上のプログラム生成装置1によれば、遺伝的プログラミングによって、第1階層群12aの各ノードの要素と第2階層群12bの各ノードの要素とがそれぞれ最適化される。これにより、前処理のアルゴリズムと分類器の生成アルゴリズムとの最適な組み合わせを見出すことができる。したがって、高精度な画像分類処理を実行可能な画像分類プログラムを生成することができる。
〔第2の実施の形態〕
次に、第2の実施の形態に係る画像処理装置について説明する。第2の実施の形態に係る画像処理装置は、図1に示したプログラム生成装置1と同様の処理機能と、この処理機能によって生成された画像分類プログラムを実行して画像分類処理を実行する機能とを備える。
図2は、第2の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。第2の実施の形態に係る画像処理装置100は、例えば、図2に示すようなコンピュータとして実現される。
画像処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
プロセッサ101には、バス109を介して、RAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、画像処理装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、読み取り装置106、通信インタフェース107およびネットワークインタフェース108がある。
HDD103は、画像処理装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
グラフィック処理装置104には、表示装置104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、画像を表示装置104aの画面に表示させる。表示装置104aとしては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
通信インタフェース107は、接続された外部デバイスとの間でデータの送受信を行う。本実施の形態では、通信インタフェース107には、外部デバイスとしてカメラ107aが接続され、通信インタフェース107は、カメラ107aから送信された画像データをプロセッサ101に送信する。
ネットワークインタフェース108は、ネットワーク108aを介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、画像処理装置100の処理機能を実現することができる。
上記の画像処理装置100は、入力画像を複数のクラスのうちの1つに分類するための画像分類プログラムを、遺伝的プログラミングによって自動的に生成する。生成された画像分類プログラムに基づく画像分類処理としては、例えば、入力画像に顔が写っているか否かを判定する処理や、入力画像に写っている製品や部品が良品か不良品かを判定する処理などがある。
画像分類プログラムによって実現される処理には、学習画像を用いた学習によって分類器を生成する分類器生成処理と、分類器に入力する特徴情報を学習画像に基づいて生成する前処理とが含まれる。高精度な画像分類を実現する上で、学習画像からどのような特徴量を抽出して用いるかという点と、得られた特徴量に基づいてどのような分類器を生成するかという点の両方が重要である。画像処理装置100は、遺伝的プログラミングにより、分類器の生成アルゴリズムと前処理アルゴリズムの最適な組み合わせを探索する。これにより、高精度な画像分類が可能な分類器の処理を実現する画像分類プログラムが生成される。
図3は、個体の構造例を示す図である。図3に示すように、遺伝的プログラミングにおいて取り扱われる個体は、各ノードの要素としてプログラムモジュールが設定された木構造によって表される。また、個体を表す木構造は、それぞれ1以上の隣接する階層を含む区間に区分される。本実施の形態では図3に例示するように、木構造は、そのリーフ側からルート側に向かってC(Conversion)区間、F(Feature)区間、D(Data)区間、T(Type)区間、P(Parameter)区間およびL(Learning)区間に区分される。
各区間は、画像分類の処理段階に対応しており、各区間に含まれる要素に基づいて対応する段階の処理が実行される。例えば、C区間、F区間およびD区間は、分類器に入力するデータを生成するための前処理に対応づけられている。C区間は、画像変換フィルタを用いて、入力画像を特徴抽出に適するように変換する処理に対応づけられている。F区間は、C区間の処理で変換された画像から、特徴抽出フィルタを用いて特徴量を抽出する処理に対応づけられている。D区間は、F区間の処理で抽出された特徴量に基づいて、分類器に入力するための入力データを生成する処理に対応づけられている。
T区間は、分類器の種類を選択する処理に対応づけられている。P区間は、学習画像を用いた学習によって分類器を生成するための学習パラメータを設定する処理に対応づけられている。P区間は、例えば、Pa区間とPr区間に分割されている。Pa区間は、学習パラメータの絶対値を設定する処理に対応づけられ、Pr区間は、学習パラメータの相対値を設定する処理に対応づけられている。Pa区間で設定された絶対値が、Pr区間で設定された相対値を用いた加減算やスケーリングなどによって増減されることで、分類器の生成のための学習パラメータが決定される。L区間は、学習画像を用いた学習によって分類器を生成する処理に対応づけられている。
区間内に設定することが可能なノード数やノード間の構造は、区間ごとに異なる。例えば、C区間では、最もルート側のノード数は、F区間の最もリーフ側に設定されたノード数と同じになる。また、C区間のルート側ノードからリーフ側に設定されるノードの分岐数や段数は、例えば、C区間のルート側ノードと最もリーフ側のノードまでの最大の階層数(ノード段数)が一定数以下などの条件の下で決定される。
F区間では、最もルート側のノード数は、D区間で設定されたプログラムモジュールに入力可能なデータ数と同じになる。また、例えば、ルート側ノードからリーフ側に、一定数以下のノードが接続される。
D区間では、階層数の制限が設けられる。例えば、D区間の要素として、2入力のプログラムモジュールが設定されるものとし、D区間の階層数が2以下に制限されるものとする。この場合、D区間の階層数が1であれば、D区間のノード数は1となり、D区間のデータ入力数は2となる。一方、階層数が2であれば、D区間のノード数は3となり、D区間のデータ入力数は最大で4となる。
T区間、Pa区間、Pr区間およびL区間では、1つのノードが設定される。なお、例えばPa区間やPr区間には、直列な2つ以上のノードが設定されてもよい。
図4は、各区間の要素例を示す図である。なお、図4では、説明の都合上、区間の記載順を図3とは異なる順序としている。
区間内のノードに要素として設定可能なプログラムモジュールは、区間ごとに個別に用意され、要素記憶部150にあらかじめ記憶される。初期個体の木構造が設定される際には、ある区間に含まれる要素は、その区間に対応するプログラムモジュールの中から選択される。
図4に示すように、要素記憶部150には、C区間に対応するプログラムモジュールとして、それぞれ入力画像を変換するための画像変換フィルタ151a,151b,151c,・・・が記憶される。画像変換フィルタ151a,151b,151c,・・・の例としては、Smoothフィルタ、Sobelフィルタ、Laplaceフィルタ、Andフィルタ、Subフィルタ、Addフィルタ、Orフィルタ、Erodeフィルタ、Dilateフィルタ、Thresholdフィルタなどを適用可能である。
また、要素記憶部150には、F区間に対応するプログラムモジュールとして、特徴量を抽出するための特徴抽出フィルタ152a,152b,152c,・・・が記憶される。特徴抽出フィルタ152a,152b,152c,・・・の例としては、平均輝度を算出するフィルタ、輝度ヒストグラムを算出するフィルタ、FFT(Fast Fourier Transformation)を実行するフィルタなどを適用可能である。また、領域分割数などの制御パラメータが異なる同じ種類のフィルタを適用することもできる。
また、要素記憶部150には、D区間に対応するプログラムモジュールとして、分類器の入力データを生成するための入力データ生成モジュール153a,153b,153c,・・・が記憶される。入力データ生成モジュール153a,153b,153c,・・・の例としては、入力数がそれぞれ1,2のプログラムモジュールや、入力データの正規化、入力データの圧縮などを実行するプログラムモジュールを適用可能である。ここで、前述のように、D区間では階層数が可変となる。D区間の階層数と、D区間の要素に設定されるプログラムモジュールの入力数とが可変とされることで、特徴次元数を可変とした学習を行うことができる。
また、要素記憶部150には、T区間に対応するプログラムモジュールとして、分類器の種類を指定するための分類器種類設定モジュール154a,154b,154c,・・・が記憶される。また、要素記憶部150には、L区間に対応するプログラムモジュールとして、分類器を生成するための分類器生成モジュール155a,155b,155c,・・・が記憶される。
T区間とL区間との間では、設定可能なプログラムモジュールについて依存性がある。具体的には、分類器種類設定モジュール154a,154b,154c,・・・と分類器生成モジュール155a,155b,155c,・・・とは、一対一で対応づけられている。そして、一方の区間の要素が決定されると、他方の区間の要素が一意に決定される。例えば、T区間の要素として分類器種類設定モジュール154aが決定されると、L区間の要素として分類器生成モジュール155aが決定される。
T区間およびL区間と、Pa区間との間でも、設定可能なプログラムモジュールについて依存性がある。要素記憶部150には、Pa区間に設定可能なプログラムモジュールとして、分類器種類設定モジュール(または分類器生成モジュール)のそれぞれに対応する複数の絶対値設定モジュールが記憶される。例えば、分類器種類設定モジュール154aに対応する絶対値設定モジュール156aa,156ab,156ac,・・・が、分類器種類設定モジュール154bに対応する絶対値設定モジュール156ba,156bb,156bc,・・・が、分類器種類設定モジュール154cに対応する絶対値設定モジュール156ca,156cb,156cc,・・・が、要素記憶部150に記憶される。そして、例えば、T区間の要素としてある分類器種類設定モジュールが決定された場合、Pa区間の要素としては、決定された分類器種類設定モジュールに対応する絶対値設定モジュールの中の1つが設定される。
要素記憶部150には、Pr区間に対応するプログラムモジュールとして、学習パラメータの絶対値を増減して微調整するための相対値設定モジュール157a,157b,157c,・・・が記憶される。
以上のように要素記憶部150に記憶されたプログラムモジュールが図3の木構造のノードに設定されることで、個体が生成される。画像処理装置100は、まず、個体群に含める複数の初期個体を生成した後、この個体群から選択した親個体を基に子個体を生成し、適応度の高い子個体を個体群内の親個体と入れ替える。画像処理装置100は、このような処理を繰り返し実行し、一定以上の適応度を有する個体を最良個体として出力する。
このような処理において、親個体を進化させて子個体を生成する際には、親個体の1つ以上のノードの要素が変更される。親個体の進化のためにあるノードの要素が変更される場合には、変更後の要素は、そのノードが属する区間に対してあらかじめ用意されたプログラムモジュールとなる。例えば、突然変異によってC区間の要素を変更する場合、変更後の要素は、C区間に対応する画像変換フィルタの中から選択される。
このような処理により、各区間での処理アルゴリズムの組み合わせが最適化される。例えば、分類器に入力する特徴量を抽出するための処理アルゴリズムと、分類器を生成するための処理アルゴリズムとの組み合わせが最適化される。その結果、画像分類のための適切な分類器の種類や学習パラメータが選択されるとともに、その分類器への入力に適した特徴量を抽出することが可能になる。したがって、分類精度の高い画像分類プログラムを生成することができる。
ここで、絶対値設定モジュールと相対値設定モジュールについて補足説明する。P区間は、学習パラメータの絶対値を設定するためのPa区間と、相対値を設定するためのPr区間とに分割されている。上記のように、Pa区間の要素は、T区間またはL区間に設定されたプログラムモジュールに対応する絶対値設定モジュールの中から選択される。これに対して、Pr区間の要素である相対値設定モジュールは、Pa区間の要素によって設定された学習パラメータの絶対値に対して、それぞれ異なる数を加算または減算するプログラムモジュールである。あるいは、相対値設定モジュールは、設定された絶対値を、それぞれ異なる係数を用いた乗算によってスケーリングするプログラムモジュールである。
このような構成とすることで、例えば、Pa区間の要素によって学習パラメータを大まかに設定し、Pr区間の要素によって学習パラメータを微調整することができる。分類器の種類によって、学習パラメータとして設定される数値の範囲は異なる場合がある。そのため、Pa区間の要素としては、T区間で設定された種類の分類器に設定し得る範囲内の数値を設定する要素だけを用意しておけばよくなる。したがって、すべての種類の分類器に設定し得る数値の範囲をきめ細かくカバーするために、学習パラメータの設定のためにプログラムを大量に用意しておく必要がなくなり、プログラムモジュールの数を減らすことができる。また、遺伝的プログラミングにおける学習効率も向上する。
なお、分類器として例えばSVM(Support Vector Machine)が用いられる場合、T区間およびP区間の要素としては次のようなものを適用可能である。T区間に対応する分類器種類設定モジュール154a,154b,154c,・・・としては、使用されるカーネル関数を指定するプログラムモジュールを適用可能である。指定されるカーネル関数としては、例えば、LINEARカーネル、POLYカーネル、RBF(Radial Basis Function)カーネル、SIGMOIDカーネルなどを適用可能である。
また、Pa区間およびPr区間に対応する絶対値設定モジュールとしては、学習パラメータとしてC,γの値を設定するプログラムモジュールを適用可能である。L区間に対応する分類器生成モジュール155a,155b,155c,・・・としては、T区間の要素によって指定されたカーネル関数を用いた分類器を生成するプログラムモジュールを適用可能である。
また、T区間では、SVM以外の他の複数種類の分類器の中から選択できるようにしてもよいし、SVMの分類器と、他の複数種類の分類器との中から選択できるようにしてもよい。
図5は、個体および出力データのデータ構造例を示す図である。個体は、例えば、木構造の内容を示す木構造データ200として表現される。木構造データ200は、画像変換フィルタ構造201、特徴抽出フィルタ構造202、データ生成モジュール構造203、分類器種類設定モジュール情報204、パラメータ設定モジュール情報205および分類器生成モジュール情報206を含む。
画像変換フィルタ構造201は、C区間におけるノードの構成を示す情報と、各ノードに設定された画像変換フィルタの識別情報を含む。特徴抽出フィルタ構造202は、F区間におけるノードの構成を示す情報と、各ノードに設定された特徴抽出フィルタの識別情報を含む。データ生成モジュール構造203は、D区間におけるノードの構成を示す情報と、各ノードに設定された入力データ生成モジュールの識別情報を含む。
分類器種類設定モジュール情報204は、T区間のノードに設定された分類器種類設定モジュールの識別情報を含む。パラメータ設定モジュール情報205は、Pa区間のノードに設定された絶対値設定モジュールの識別情報と、Pr区間のノードに設定された相対値設定モジュールの識別情報を含む。分類器生成モジュール情報206は、L区間のノードに設定された分類器生成モジュールの識別情報を含む。
一方、出力データ210は、遺伝的プログラミングによって最終的に出力された個体に関する情報である。出力データ210は、その個体に関する画像変換フィルタ構造201、特徴抽出フィルタ構造202、データ生成モジュール構造203、分類器種類設定モジュール情報204、パラメータ設定モジュール情報205および分類器生成モジュール情報206に加えて、分類器情報207を含む。分類器情報207は、学習画像を用いた学習によって生成された分類器を示す情報を含む。例えば、分類器情報207は、分類器の処理を実現するプログラムモジュールである。
なお、出力データ210は、画像変換フィルタ構造201、特徴抽出フィルタ構造202およびデータ生成モジュール構造203に基づいて要素記憶部150から抽出されたプログラムモジュールと、分類器情報207に基づくプログラムモジュールとを結合したプログラムの形式で出力されてもよい。
なお、出力データ210は、分類器種類設定モジュール情報204とパラメータ設定モジュール情報205を含まなくてもよい。ただし、出力データ210に分類器種類設定モジュール情報204とパラメータ設定モジュール情報205を含めておくことで、出力データ210を用いて新たな学習画像を用いた分類器の再学習を行うことが可能になる。
次に、画像処理装置100の詳細について説明する。
図6は、画像処理装置が備える処理機能の構成例を示すブロック図である。画像処理装置100は、画像取得部111、画像分類処理部112、プログラム生成部120、要素記憶部150、サンプル画像記憶部131、個体群情報記憶部132および出力データ記憶部133を有する。
画像取得部111およびプログラム生成部120の処理は、例えば、画像処理装置100のプロセッサ101が所定のプログラムを実行することで実現される。また、画像分類処理部112の処理の一部は、出力データ記憶部133に記憶された出力データに基づく画像分類プログラムを、画像処理装置100のプロセッサ101が実行することで実現される。要素記憶部150、サンプル画像記憶部131、個体群情報記憶部132および出力データ記憶部133は、例えば、画像処理装置100のRAM102の記憶領域として実現される。
画像取得部111は、撮像された画像のデータをカメラ107aから取得し、プログラム生成部120または画像分類処理部112に出力する。
プログラム生成部120は、遺伝的プログラミングにより画像分類プログラムを生成し、生成された画像分類プログラムに対応する出力データを出力データ記憶部133に保存する。なお、プログラム生成部120の内部構成については後述する。
画像分類処理部112は、カメラ107aによって撮像された画像のデータを、画像取得部111を介して取得する。画像分類処理部112は、出力データ記憶部133に記憶された出力データに基づく画像分類プログラムにしたがって、取得した画像のデータがどのクラスに属するかを判定する。判定結果は、例えば、表示装置104aに表示される。
要素記憶部150は、プログラム生成部120によって生成される個体に組み込むことが可能な要素のデータを記憶する。
サンプル画像記憶部131は、分類器の学習や評価のために利用される複数のサンプル画像のデータを記憶する。各サンプル画像には、そのサンプル画像が属するクラスを示すラベルが付加されている。サンプル画像としては、画像取得部111によってカメラ107aから取得された画像を用いることができる。
個体群情報記憶部132は、プログラム生成部120によって生成された個体群のデータを記憶する。個体群に含まれる個体は、プログラム生成処理過程で随時更新される。
出力データ記憶部133は、プログラム生成部120の処理によって最終的に出力された個体に関する情報を記憶する。
プログラム生成部120は、GP(Genetic Programming)学習制御部121、画像変換部122、特徴抽出部123、入力データ生成部124、種類設定部125、パラメータ設定部126、分類器生成部127および分類処理部128を有する。
GP学習制御部121は、遺伝的プログラミングによるプログラム生成処理全体の実行を制御する。例えば、GP学習制御部121は、初期個体の生成、個体の進化処理、適応度の算出などの処理を実行する。
画像変換部122は、個体の木構造におけるC区間のノードに設定された画像変換フィルタにしたがって、入力画像に対する画像変換処理を実行する。
特徴抽出部123は、個体の木構造におけるF区間のノードに設定された特徴抽出フィルタにしたがって、画像変換後の入力画像からの特徴量抽出処理を実行する。
入力データ生成部124は、個体の木構造におけるD区間のノードに設定された入力データ生成モジュールにしたがって、分類器に入力する入力データを入力された特徴量に基づいて生成する。
種類設定部125は、個体の木構造におけるT区間のノードに設定された分類器種類設定モジュールにしたがって、分類器の種類を設定する処理を実行する。
パラメータ設定部126は、個体の木構造におけるPa区間のノードに設定された絶対値設定モジュールとPr区間のノードに設定された相対値設定モジュールにしたがって、分類器の学習パラメータを設定する処理を実行する。
分類器生成部127は、個体の木構造におけるL区間のノードに設定された分類器生成モジュールにしたがい、パラメータ設定部126によって設定された制御パラメータを用いて、学習により分類器を生成する処理を実行する。
分類処理部128は、分類器生成部127によって生成された分類器に対応し、評価画像がどのクラスに属するかを判定する。
次に、画像処理装置100の処理についてフローチャートを用いて説明する。
図7は、プログラム生成処理手順の例を示すフローチャートである。
[ステップS11]GP学習制御部121は、複数の初期個体を生成し、生成した初期個体を示す情報を個体群情報記憶部132に格納する。以下、個体群情報記憶部132に格納される個体のことを「個体群」と呼ぶ。
初期個体の生成手順としては、基本的に、各区間において図3で説明したような条件にしたがってノードが設定され、各ノードの要素が、ノードが属する区間に対応するプログラムモジュールの中から選択されて設定される。図4のような要素が用いられる場合、初期個体は、例えば、次のような手順で設定される。
GP学習制御部121は、L区間、Pr区間、Pa区間、T区間にそれぞれ1つずつ含まれるノードに設定する要素を選択する。GP学習制御部121は、各区間のノードに設定する要素を、その区間に対応づけて用意されたプログラムモジュールの中からランダムに選択する。ただし、L区間のノードに設定される分類器生成モジュールは、T区間のノードに設定された分類器種類設定モジュールによって一意に決定される。また、Pa区間のノードに設定される要素は、T区間のノードに設定された分類器設定モジュールに対応する絶対値設定モジュールの中からランダムに選択される。
また、Pa区間には複数階層のノードが設定されてもよい。その場合、ノードごとに絶対値設定モジュールが個別に用意され、各ノードで異なる種類の制御パラメータが設定されることが望ましい。また、Pa区間とPr区間の各ノード階層数を一致させ、Pa区間のノードごとにPr区間で制御パラメータの微調整が行われるようにすることもできる。
次に、D区間の最大階層数が2の場合、GP学習制御部121は、D区間の階層数を1とするか2とするかを、ランダムに決定する。階層数が1の場合、区間のノード数は1となる。GP学習制御部121は、そのノードに設定する要素を、入力データ生成モジュールの中からランダムに選択する。一方、階層数が2の場合、D区間のノード数は2以上となる。GP学習制御部121は、D区間におけるルート側のノードに設定する要素を、入力データ生成モジュールの中からランダムに選択する。選択された入力生成モジュールの入力数が1の場合、リーフ側には1つのノードが設定され、入力数が2の場合、リーフ側には2つのノードが設定される。GP学習制御部121は、設定された各ノードに設定する要素を、入力データ生成モジュールの中からランダムに選択する。このような処理により、D区間の入力数は1から4のいずれかとなる。
次に、GP学習制御部121は、F区間の要素を設定する。F区間のノード数は、D区間の入力数と同じになる。GP学習制御部121は、F区間の各ノードに設定する要素を、特徴抽出フィルタの中からランダムに選択する。
次に、GP学習制御部121は、C区間の要素を設定する。C区間のルート側のノード数は、F区間のノード数と同じになる。GP学習制御部121は、C区間のルート側のノードのそれぞれのリーフ側にノードを設定し、各ノードに設定する要素を、画像変換フィルタの中からランダムに選択する。あるノードに設定された画像変換フィルタの入力数が2の場合、そのノードからリーフ側に2つノードが設定される。GP学習制御部121は、要素を設定済みのノードよりリーフ側のノードに、ランダムに選択した画像変換フィルタを設定するとともに、さらにそのリーフ側のノードの数を決定していく。このようにして、GP学習制御部121は、例えば、C区間のルート側のノードからの最大階層数が所定値以下となり、かつ、C区間に含まれるノード数が所定値以下となるように、ノードの構造を決定するとともに、各ノードの要素を決定する。
[ステップS12]GP学習制御部121は、個体群に含まれる個体の中から、2つの親個体をランダムに選択する。
[ステップS13]GP学習制御部121は、選択した親個体を用いて2以上の所定数の子個体を生成する。例えば、GP学習制御部121は、選択された2つの親個体の間で交叉を行うことで、2つ以上の所定数の子個体を生成する。GP学習制御部121は、生成された各子個体のいずれかのノードに突然変異を発生させ、そのノードの要素を変更する。なお、交叉および突然変異の方法については、それぞれ図8、図9において詳しく説明する。
[ステップS14]GP学習制御部121は、生成された子個体の1つを選択する。
[ステップS15]GP学習制御部121は、選択した子個体に基づいて、学習による分類器の生成、および、生成された分類器についての適応度の算出を実行する。このステップS15の具体的な処理例については、図10〜図14において説明する。
[ステップS16]GP学習制御部121は、ステップS13で生成された子個体のすべてを選択済みかを判定する。GP学習制御部121は、未選択の子個体がある場合には、処理をステップS14に進め、未選択の子個体の中の1つを選択する。一方、GP学習制御部121は、子個体をすべて選択済みである場合、処理をステップS17に進める。
[ステップS17]GP学習制御部121は、ステップS15で子個体ごとに算出された適応度のうちの最大適応度が、所定の閾値thより大きいかを判定する。GP学習制御部121は、最大適応度が閾値th以下の場合、処理をステップS18に進める。一方、GP学習制御部121は、最大適応度が閾値thより大きい場合、処理をステップS19に進める。
[ステップS18]GP学習制御部121は、ステップS13で生成された子個体の中から、適応度が最も高い子個体を生存させる子個体として選択する。さらに、GP学習制御部121は、残りの子個体の中から生存させる個体をさらに1つ選択する。この選択処理では、例えば、適応度に応じた確率で個体が選択される。GP学習制御部121は、個体群の個体のうち、ステップS12で選択された親個体を、生存させる2つの個体に入れ替える。
[ステップS19]GP学習制御部121は、ステップS13で生成された子個体のうち、適応度が最も高い子個体を最良個体と判定し、最良個体に関する出力データを出力データ記憶部133に保存する。この出力データには、最良個体についてのステップS15の処理過程で生成された分類器を示す分類器情報も含まれる。
なお、ステップS14では子個体のみが選択の対象とされていたが、子個体だけでなくステップS12で選択された親個体も選択の対象とされてもよい。
図8は、交叉処理手順の例を示すフローチャートである。図8の処理は、図7のステップS13において、2つの親個体から交叉処理によって2つの子個体を生成する場合の処理である。
[ステップS21]GP学習制御部121は、2つの親個体のうち、一方の親個体からノードをランダムに選択する。
[ステップS22]GP学習制御部121は、他方の親個体から、ステップS21で選択されたノードと同じ区間のノードを選択する。GP学習制御部121は、その区間にノードが複数存在する場合には、それらの中からランダムにノードを1つ選択する。
[ステップS23]GP学習制御部121は、一方の親個体の木構造のうち、ステップS21で選択されたノードからリーフ側の木構造と、他方の親個体の木構造のうち、ステップS22で選択されたノードからリーフ側の木構造とを、互いに入れ替える。ただし、ステップS21,S22で選択されたノードがT区間、Pa区間、L区間のいずれかである場合、GP学習制御部121は、T区間、Pa区間およびL区間の木構造も子個体間で入れ替える。
図9は、突然変異処理手順の例を示すフローチャートである。図9の処理は、図7のステップS13において、生成された子個体に突然変異を発生させる場合の処理である。
[ステップS31]GP学習制御部121は、子個体からノードをランダムに選択する。
[ステップS32]GP学習制御部121は、ステップS31で選択されたノードが属する区間を特定する。GP学習制御部121は、要素記憶部150に記憶された、特定した区間に対応する要素の中から、ステップS31で選択されたノードに現在設定されている要素以外の要素をランダムに選択する。
[ステップS33]GP学習制御部121は、ステップS31で選択されたノードに設定されている要素を、ステップS32で選択された要素に入れ替える。
ただし、ステップS31で選択されたノードがT区間、Pa区間、L区間のいずれかである場合、GP学習制御部121は、ステップS32,S33において、ステップS31で選択されたノード以外の要素についても入れ替えを行う。具体的には、GP学習制御部121は、まず、T区間のノードについてステップS32,S33の手順で要素の入れ替えを行い、さらに、Pa区間およびL区間のノードの入れ替えを行う。Pa区間のノードの要素は、T区間で新たに選択された要素に対応する要素の中から選択される。L区間のノードの要素は、T区間で新たに選択された要素に対応する要素が選択される。
図10〜図11は、学習・適応度算出処理の手順の例を示すフローチャートである。図10〜図11の処理は、図7のステップS15の処理に対応する。図10〜図11の処理で利用される子個体とは、図7のステップS14で選択された子個体である。なお、図10〜図11では例として、サンプル画像記憶部131には、学習用画像のデータと評価用画像のデータとがそれぞれ複数記憶されているものとする。
[ステップS51]GP学習制御部121は、学習用画像の中から1つ選択する。
[ステップS52]画像変換部122は、子個体のC区間のノードに設定された画像変換フィルタにしたがって、ステップS51で選択された学習用画像に対する画像変換処理を実行する。
[ステップS53]特徴抽出部123は、子個体のF区間のノードに設定された特徴抽出フィルタにしたがって、ステップS52で変換された画像に基づいて特徴量を抽出する。
[ステップS54]GP学習制御部121は、すべての学習用画像を選択済みかを判定する。未選択の学習用画像がある場合、GP学習制御部121は、処理をステップS51に進め、未選択の学習用画像の中から1つ選択する。一方、すべての学習用画像を選択済みの場合、GP学習制御部121は、処理をステップS55に進める。
[ステップS55]入力データ生成部124は、子個体のD区間のノードに設定された入力データ生成モジュールにしたがって、ステップS53で抽出された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS56]種類設定部125は、子個体のT区間のノードに設定された分類器種類設定モジュールにしたがって、分類器の種類を設定する。
[ステップS57]パラメータ設定部126は、子個体のPa区間のノードに設定された絶対値設定モジュールと、Pr区間のノードに設定された相対値設定モジュールとにしたがって、分類器に設定する学習パラメータを設定する。
[ステップS58]分類器生成部127は、子個体のL区間のノードに設定された分類器生成モジュールにしたがって、分類器生成のための学習処理を実行する。この学習処理では、ステップS57で設定された学習パラメータと、ステップS55で生成された入力データと、各学習画像に付加されたラベルとが利用される。学習処理により、分類器が生成される。実際には、生成された分類器を示す分類器情報が生成される。分類器情報は、例えば、分類器の処理を実現するプログラムモジュール、あるいは、分類器の処理を実現する関数などのプログラムモジュールに設定する制御パラメータである。
次に、図11のステップS61の処理が実行される。
[ステップS61]GP学習制御部121は、評価用画像の中から1つ選択する。
[ステップS62]画像変換部122は、子個体のC区間のノードに設定された画像変換フィルタにしたがって、ステップS61で選択された評価用画像に対する画像変換処理を実行する。
[ステップS63]特徴抽出部123は、子個体のF区間のノードに設定された特徴抽出フィルタにしたがって、ステップS62で変換された画像に基づいて特徴量を抽出する。
[ステップS64]入力データ生成部124は、子個体のD区間のノードに設定された入力データ生成モジュールにしたがって、ステップS63で抽出された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS65]分類処理部128は、ステップS58で生成された分類器情報にしたがって、ステップS64で生成された入力データに基づいて、ステップS61で選択された評価用画像がどのクラスに属するかを判定する分類処理を実行する。
[ステップS66]分類処理部128は、ステップS65の分類処理による分類結果と、ステップS61で選択された評価用画像に付加されたラベルが示すクラスとを比較して、分類結果が正解か不正解かを判定する。
[ステップS67]GP学習制御部121は、すべての評価用画像を選択済みかを判定する。未選択の評価用画像がある場合、GP学習制御部121は、処理をステップS61に進め、未選択の評価用画像の中から1つ選択する。一方、すべての評価用画像を選択済みの場合、GP学習制御部121は、処理をステップS68に進める。
[ステップS68]GP学習制御部121は、ステップS66での判定結果から正解率を算出する。GP学習制御部121は、算出された正解率に基づいて、子個体の適応度を算出する。
このステップS68では、算出された正解率をペナルティ項に応じて補正した値が適応度として出力されてもよい。ペナルティ項としては、特徴次元数、木構造のサイズ(木構造に含まれるノード数またはノードの最大階層数)、SVMが用いられる場合のサポートベクトル数などを適用可能である。例えば、一般に、得られるデータと比較して分類器の複雑さが大きくなるほど、過学習が起こりやすくなる。そこで、GP学習制御部121は、例えば、特徴次元数が大きいほど、また、木構造のサイズが大きいほど、また、サポートベクトル数が大きいほど、正解率を小さくするように補正して適応度を算出する。なお、特徴次元数は、子個体のD区間に設定された入力データ生成モジュールに基づいて判別可能である。このように正解率をペナルティ項に応じて補正することで、学習結果の優劣を正確に評価でき、分類精度の高い画像分類プログラムを生成できる。
なお、特徴次元数、木構造サイズ、サポートベクトル数の少なくとも1つが極端に小さくなった場合も、過学習の状態に陥って汎化性が低下することがある。このため、ペナルティ項による補正量は単調関数でなくてもよい。
以上の図10〜図11の処理では、学習用画像と評価用画像とが別々に用意されていた。これに対して、交差検定法を用いることで、学習用画像と評価用画像とを個別に用意せず、サンプル画像記憶部131に用意したサンプル画像をすべて用いて分類器の学習と評価とを実行することができる。以下、図12〜図14に交差検定法を用いた場合の処理例を挙げる。
図12〜図14は、交差検定法を用いた場合の学習・適応度算出処理の手順の例を示すフローチャートである。図12〜図14の処理は、図7のステップS15の処理に対応する。図12〜図14の処理で利用される子個体とは、図7のステップS14で選択された子個体である。
[ステップS71]GP学習制御部121は、サンプル画像の中から1つ選択する。
[ステップS72]画像変換部122は、子個体のC区間のノードに設定された画像変換フィルタにしたがって、ステップS71で選択されたサンプル画像に対する画像変換処理を実行する。
[ステップS73]特徴抽出部123は、子個体のF区間のノードに設定された特徴抽出フィルタにしたがって、ステップS72で変換された画像に基づいて特徴量を抽出する。
[ステップS74]GP学習制御部121は、すべてのサンプル画像を選択済みかを判定する。未選択のサンプル画像がある場合、GP学習制御部121は、処理をステップS71に進め、未選択のサンプル画像の中から1つ選択する。一方、すべてのサンプル画像を選択済みの場合、GP学習制御部121は、処理をステップS75に進める。
[ステップS75]入力データ生成部124は、子個体のD区間のノードに設定された入力データ生成モジュールにしたがって、ステップS73で抽出された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS76]種類設定部125は、子個体のT区間のノードに設定された分類器種類設定モジュールにしたがって、分類器の種類を設定する。
[ステップS77]パラメータ設定部126は、子個体のPa区間のノードに設定された絶対値設定モジュールと、Pr区間のノードに設定された相対値設定モジュールとにしたがって、分類器に設定する学習パラメータを設定する。
[ステップS78]分類器生成部127は、子個体のL区間のノードに設定された分類器生成モジュールにしたがって、分類器生成のための学習処理を実行する。この学習処理では、ステップS77で設定された学習パラメータと、ステップS75で生成された入力データと、各サンプル画像に付加されたラベルとが利用される。学習処理により、分類器が生成される。
なお、このステップS78で生成される分類器は、子個体が図7のステップS19で最良個体として選択された場合に、出力データに含められる分類器である。このため、ステップS75〜S78の処理は、上記のタイミングでは実行されずに、子個体が最良個体として選択された場合にステップS19において実行されてもよい。
次に、図13のステップS81の処理が実行される。
[ステップS81]GP学習制御部121は、サンプル画像を、それぞれ同じ数の画像を含むN個のグループに分類する。GP学習制御部121は、分類したグループのうち、(N−1)個のグループのサンプル画像を学習用画像に決定し、残りの1個のグループのサンプル画像を評価用画像に決定する。
[ステップS82]GP学習制御部121は、図12のステップS73で抽出された特徴量のうち、ステップS81で決定された学習用画像に基づく特徴量を処理対象として特定する。入力データ生成部124は、子個体のD区間のノードに設定された入力データ生成モジュールにしたがって、処理対象として特定された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS83]種類設定部125は、子個体のT区間のノードに設定された分類器種類設定モジュールにしたがって、分類器の種類を設定する。
[ステップS84]パラメータ設定部126は、子個体のPa区間のノードに設定された絶対値設定モジュールと、Pr区間のノードに設定された相対値設定モジュールとにしたがって、分類器に設定する学習パラメータを設定する。
[ステップS85]分類器生成部127は、子個体のL区間のノードに設定された分類器生成モジュールにしたがって、分類器生成のための学習処理を実行する。この学習処理では、ステップS84で設定された学習パラメータと、ステップS82で生成された入力データと、ステップS81で決定された各学習用画像に付加されたラベルとが利用される。学習処理により、分類器が生成される。
次に、図14のステップS91の処理が実行される。
[ステップS91]GP学習制御部121は、図13のステップS81で決定された評価用画像の中から1つ選択する。
[ステップS92]GP学習制御部121は、図12のステップS73で抽出された特徴量のうち、ステップS91で選択された評価用画像に基づいて抽出された特徴量を、処理対象として選択する。入力データ生成部124は、子個体のD区間のノードに設定された入力データ生成モジュールにしたがって、処理対象として選択された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS93]分類処理部128は、図13のステップS85で生成された分類器を用いて、ステップS92で生成された入力データに基づいて、ステップS91で選択された評価用画像がどのクラスに属するかを判定する分類処理を実行する。
[ステップS94]分類処理部128は、ステップS93の分類処理による分類結果と、ステップS91で選択された評価用画像に付加されたラベルが示すクラスとを比較して、分類結果が正解か不正解かを判定する。
[ステップS95]GP学習制御部121は、評価用画像をすべて選択済みかを判定する。未選択の評価用画像がある場合、GP学習制御部121は、処理をステップS91に進め、未選択の評価用画像の中から1つ選択する。一方、評価用画像をすべて選択済みである場合、GP学習制御部121は、処理をステップS96に進める。
[ステップS96]図13のステップS81では、Nグループを学習用画像と評価用画像の各グループに分類することが可能なパターンとして、Nパターン存在する。GP学習制御部121は、これらのすべてのパターンについて処理済みかを判定する。処理済みでないパターンがある場合、GP学習制御部121は、処理をステップS81に進め、処理済みでない新たなパターンによって学習用画像と評価用画像とを特定する。一方、すべてのパターンについて処理済みの場合、GP学習制御部121は、処理をステップS97に進める。
[ステップS97]GP学習制御部121は、ステップS94での判定結果から正解率を算出する。GP学習制御部121は、算出された正解率に基づいて、子個体の適応度を算出する。また、このステップS97では、GP学習制御部121は、図11のステップS68と同様の手順で、算出された正解率をペナルティ項に応じて補正し、補正後の値を適応度として出力してもよい。
以上の図12〜図14の処理によれば、図10〜図11の処理と比較して、少ないサンプル画像を用いて分類精度の高い画像分類プログラムを生成することができる。
図15は、出力データに基づく画像分類処理手順の例を示すフローチャートである。
[ステップS101]画像分類処理部112は、出力データ記憶部133に記憶された出力データ210の画像変換フィルタ構造201、特徴抽出フィルタ構造202およびデータ生成モジュール構造203に基づいて、C区間、F区間およびD区間のノードに要素を設定する。
[ステップS102]画像分類処理部112は、出力データ210の分類器情報207に基づいて、分類器を構築する。
[ステップS103]画像分類処理部112は、分類処理対象の画像を、画像取得部111を通じて取得する。この画像は、例えば、カメラ107aによって撮像された画像である。
[ステップS104]画像変換部122は、C区間のノードに設定された画像変換フィルタにしたがって、取得された画像に対する画像変換処理を実行する。
[ステップS105]特徴抽出部123は、F区間のノードに設定された特徴抽出フィルタにしたがって、ステップS104で変換された画像に基づいて特徴量を抽出する。
[ステップS106]入力データ生成部124は、D区間のノードに設定された入力データ生成モジュールにしたがって、ステップS105で抽出された特徴量に基づいて、分類器に入力する入力データを生成する。
[ステップS107]分類処理部128は、出力データ210の分類器情報207に基づく分類器を用いて、ステップS106で生成された入力データに基づいて、取得された画像がどのクラスに属するかを判定する分類処理を実行し、分類結果を出力する。
また、新たなサンプル画像が得られた場合には、それらのサンプル画像と出力データとを用いて分類器の再学習を実行することもできる。
図16は、分類器の再学習手順の例を示すフローチャートである。
[ステップS121]GP学習制御部121は、出力データ記憶部133に記憶された出力データ210の画像変換フィルタ構造201、特徴抽出フィルタ構造202、データ生成モジュール構造203、分類器種類設定モジュール情報204、パラメータ設定モジュール情報205および分類器生成モジュール情報206に基づいて、C区間、F区間、D区間、T区間、Pa区間、Pr区間およびL区間のノードに要素を設定する。なお、図15のステップS101との違いは、出力データ210に基づいて分類器の種類および学習パラメータの設定も行われる点である。
以後、ステップS121で設定された要素に基づいて、新たに用意されたサンプル画像を学習画像として用いて、図10のステップS51〜S58と同様の処理が実行される。なお、ステップS58の学習処理では、新たに用意されたサンプル画像に付加されたラベルが用いられる。
[ステップS122]GP学習制御部121は、出力データ210の分類器情報207を、ステップS58で生成された分類器の情報に更新する。
〔第2の実施の形態の変形例〕
次に、第2の実施の形態に係る画像処理装置100の処理の一部を変形した変形例について説明する。なお、以下の変形例の説明では、第2の実施の形態に係る画像処理装置100の構成要素と同じ符号を用いて説明する。
画像分類プログラムを生成する際には、特定の区間に属するノードの要素のみを遺伝的プログラミングによって最適化するように制御することもできる。例えば、GP学習制御部121は、T区間、Pa区間、Pr区間およびL区間のノードの要素だけを最適化するようにプログラム生成処理を制御することができる。この場合、個体群に含められる各初期個体では、C区間、F区間およびD区間の各ノードにはあらかじめ決められた要素が設定される。そして、プログラム生成処理中では、T区間、Pa区間、Pr区間およびL区間のノードの要素だけが進化の対象とされ、C区間、F区間およびD区間の各ノードの要素は変更されない。このような制御により、分類器の生成アルゴリズムだけを最適化することができる。
また、特定の区間に属するノードの要素のみを最適化する処理は、例えば、適応度の算出に用いるペナルティ項を最適化するために利用することができる。例えば、ペナルティ項として用いられる特徴次元数を最適化するためには、画像特徴量に基づいて入力データを生成するまでの処理について遺伝的プログラミングによって最適化すればよい。具体的には、C区間、F区間およびD区間、あるいはF区間とD区間の各ノードの要素のみを最適化すればよい。また、ペナルティ項として用いられるSVMのサポートベクトル数を最適化するためには、分類器の生成の手順を最適化することが有効である。したがって、T区間、Pa区間、Pr区間およびL区間の各ノードの要素のみを最適化すればよい。
さらに、それぞれ異なる区間のノードの要素だけを最適化する複数の動作モードを設け、これらの動作モードを所定の条件にしたがって切り替えることもできる。以下の変形例では、C区間の要素だけを最適化する動作モード1と、F区間およびD区間のノードの要素だけを最適化する動作モード2と、T区間、Pa区間、Pr区間およびL区間のノードの要素だけを最適化する動作モード3とを切り替え可能であるものとする。すなわち、動作モード1では、学習画像の変換処理のアルゴリズムを最適化できる。動作モード2では、変換された画像に基づいて分類器に入力する入力データを生成する処理のアルゴリズムを最適化できる。動作モード3では、分類器の生成アルゴリズムを最適化することができる。
図17は、変形例における画像分類プログラムの生成処理手順の例を示すフローチャートである。なお、図17では、図7と同様の処理が行われる処理ステップには、同じステップ番号を付して示している。
[ステップS11a]GP学習制御部121は、動作モード1に設定する。
[ステップS11b]GP学習制御部121は、複数の初期個体を生成し、生成した初期個体を示す情報を個体群情報記憶部132に格納する。図7のステップS11との違いは、すべての個体について、C区間以外の区間のノードにはあらかじめ決められた要素が設定される点である。
この後、図7に示したステップS12〜S17の処理が実行される。ただし、ステップS13で子個体を生成する際、特定の区間のノードの要素だけが進化の対象とされる。具体的には、動作モード1ではC区間のノードの要素だけが進化の対象とされ、動作モード2では、F区間およびD区間のノードの要素だけが進化の対象とされ、動作モード3では、T区間、Pa区間、Pr区間およびL区間のノードの要素だけが進化の対象とされる。
そして、ステップS17において、子個体の適応度のうちの最大適応度が閾値th以下である場合、ステップS18の処理が実行された後、ステップS18aの処理が実行される。
[ステップS18a]GP学習制御部121は、動作モードを切り替えるための条件が満たされたかを判定し、その判定結果に応じて動作モードを切り替える。現在が動作モード1の場合、動作モード2に切り替えられ、現在が動作モード2の場合、動作モード3に切り替えられる。その後、ステップS12以後の処理が再度実行される。
動作モードの切り替え方法としては、例えば、適応度の上昇が停滞した場合に動作モードを切り替える方法が考えられる。具体的には、GP学習制御部121は、ステップS16で算出された適応度の最大値の増加率が所定の閾値以下になった場合に、動作モードを次の動作モードに切り替える。これにより、区間ごとにノードの要素を順次最適化することができる。また、別の方法としては、GP学習制御部121は、個体群の世代数が所定数に達した場合に動作モード1から動作モード2に切り替え、世代数がそれより大きい所定数に達した場合に動作モード2から動作モード3に切り替えてもよい。
なお、上記の各実施の形態に示した装置(プログラム生成装置1および画像処理装置100)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1 プログラム生成装置
1a 生成部
1b 遺伝的処理部
10 木構造群
11a,11b,11c,・・・ 木構造
12a 第1階層群
12b 第2階層群
20 第1要素群
21a,21b,21c,・・・ 画像フィルタ
30 第2要素群
31a,31b,31c,・・・ 設定プログラム

Claims (10)

  1. それぞれ画像分類プログラムを表す複数の木構造を生成する生成部であって、前記複数の木構造のそれぞれは、1以上の隣接する階層をそれぞれ含む第1階層群と第2階層群とを有し、前記第1階層群のノードの要素は、それぞれ入力画像に対して前処理を施すための複数の画像フィルタの中から選択され、前記第2階層群のノードの要素は、前記第1階層群のノードに対して選択された要素の実行により複数の学習用画像を処理することによって得られた情報を基に学習により分類器を生成するための制御パラメータとして、それぞれ異なる値を設定するための複数の設定プログラムの中から選択される、前記生成部と、
    前記複数の木構造に基づいて、遺伝的プログラミングによって適応度が所定の閾値を超える木構造を出力する遺伝的処理部と、
    を有するプログラム生成装置。
  2. 前記複数の木構造のそれぞれは、第3階層群をさらに有し、
    前記第3階層群のノードの要素は、前記情報を基に生成される分類器の種類を設定するための複数の種類設定プログラムの中から選択される、
    請求項1記載のプログラム生成装置。
  3. 前記制御パラメータとしてそれぞれ異なる値を設定するための1以上の前記設定プログラムが、前記複数の種類設定プログラムのそれぞれに対応づけて記憶部に記憶され、
    前記第2階層群のノードの要素は、前記第3階層群のノードの要素として選択された前記種類設定プログラムに対応づけられた1以上の前記設定プログラムの中から選択される、
    請求項2記載のプログラム生成装置。
  4. 前記複数の木構造のそれぞれは、第4階層群をさらに有し、
    前記第4階層群のノードの要素は、前記第2階層群のノードとして選択された前記設定プログラムにしたがって設定される前記制御パラメータの値を、それぞれ異なる値によって補正するための複数の補正プログラムの中から選択される、
    請求項1乃至3のいずれか1項に記載のプログラム生成装置。
  5. 前記複数の画像フィルタのそれぞれは、前記入力画像に基づいて特徴量を抽出するためのプログラムであり、
    前記複数の木構造のそれぞれは、第5階層群をさらに有し、
    前記第5階層群のノードの要素は、前記第1階層群のノードの要素として選択された前記画像フィルタにしたがって抽出された特徴量に基づいて、前記第2階層群のノードの要素に基づく分類器の生成のために入力される入力データを生成するための複数のデータ生成プログラムの中から選択され、
    前記複数のデータ生成プログラムは、それぞれ異なる数の特徴量の入力を受けて前記入力データを生成するためのプログラムであり、前記第5階層群のノードの要素として選択された前記データ生成プログラムについての特徴量の入力数に応じて、前記第1階層群に含まれるノード数が変化する、
    請求項1乃至4のいずれか1項に記載のプログラム生成装置。
  6. 前記遺伝的処理部は、前記複数の木構造が木構造群に含まれる状態を起点として、前記木構造群の中から選択した親の木構造に基づいて子の木構造を生成し、前記子の木構造に前記複数の学習用画像を入力することで学習により分類器を生成し、生成された分類器により複数の評価用画像の分類処理を行ったときの分類正解率に基づいて前記子の木構造の適応度を算出し、算出された適応度が前記閾値以下である場合に前記木構造群に含まれる木構造の1つを前記子の木構造と入れ替える処理を、繰り返し実行する、
    請求項1乃至5のいずれか1項に記載のプログラム生成装置。
  7. 前記遺伝的処理部は、前記子の木構造におけるノードの構成または前記子の木構造に基づく処理によって生成された分類器に基づくペナルティ項に応じて前記分類正解率を補正した値を、前記子の木構造の適応度として算出する、
    請求項6記載のプログラム生成装置。
  8. 前記子の木構造を生成する際に前記第2階層群のノードの要素を固定したままにする第1の動作モードと、前記子の木構造を生成する際に前記第1階層群のノードの要素を固定したままにする第2の動作モードとを有し、
    前記遺伝的処理部は、前記子の木構造の適応度の増加率に基づいて前記第1の動作モードから前記第2の動作モードに切り替える、
    請求項6または7記載のプログラム生成装置。
  9. コンピュータが、
    それぞれ画像分類プログラムを表す複数の木構造を生成する生成処理であって、前記複数の木構造のそれぞれは、1以上の隣接する階層をそれぞれ含む第1階層群と第2階層群とを有し、前記第1階層群のノードの要素は、それぞれ入力画像に対して前処理を施すための複数の画像フィルタの中から選択され、前記第2階層群のノードの要素は、前記第1階層群のノードに対して選択された要素の実行により複数の学習用画像を処理することによって得られた情報を基に学習により分類器を生成するための制御パラメータとして、それぞれ異なる値を設定するための複数の設定プログラムの中から選択される、前記生成処理を実行し、
    前記複数の木構造に基づいて、遺伝的プログラミングによって適応度が所定の閾値を超える木構造を出力する、
    プログラム生成方法。
  10. コンピュータに、
    それぞれ画像分類プログラムを表す複数の木構造を生成する生成処理であって、前記複数の木構造のそれぞれは、1以上の隣接する階層をそれぞれ含む第1階層群と第2階層群とを有し、前記第1階層群のノードの要素は、それぞれ入力画像に対して前処理を施すための複数の画像フィルタの中から選択され、前記第2階層群のノードの要素は、前記第1階層群のノードに対して選択された要素の実行により複数の学習用画像を処理することによって得られた情報を基に学習により分類器を生成するための制御パラメータとして、それぞれ異なる値を設定するための複数の設定プログラムの中から選択される、前記生成処理を実行し、
    前記複数の木構造に基づいて、遺伝的プログラミングによって適応度が所定の閾値を超える木構造を出力する、
    処理を実行させる生成プログラム。
JP2017546333A 2015-10-22 2015-10-22 プログラム生成装置、プログラム生成方法および生成プログラム Active JP6646234B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/079759 WO2017068675A1 (ja) 2015-10-22 2015-10-22 プログラム生成装置、プログラム生成方法および生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2017068675A1 JPWO2017068675A1 (ja) 2018-08-16
JP6646234B2 true JP6646234B2 (ja) 2020-02-14

Family

ID=58556784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546333A Active JP6646234B2 (ja) 2015-10-22 2015-10-22 プログラム生成装置、プログラム生成方法および生成プログラム

Country Status (4)

Country Link
US (1) US11061687B2 (ja)
JP (1) JP6646234B2 (ja)
CN (1) CN108140133B (ja)
WO (1) WO2017068675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404962B2 (ja) 2020-03-24 2023-12-26 東洋製罐グループホールディングス株式会社 画像処理システム、及び画像処理プログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018088804A1 (en) 2016-11-08 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
JP6663873B2 (ja) * 2017-02-22 2020-03-13 株式会社日立製作所 プログラム自動生成システム及びプログラム自動生成方法
JP6798619B2 (ja) 2017-07-31 2020-12-09 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
JP7004145B2 (ja) * 2017-11-15 2022-01-21 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
JP6904477B2 (ja) 2018-03-08 2021-07-14 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
JP7028317B2 (ja) * 2018-05-18 2022-03-02 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
EP3822872A4 (en) * 2018-07-09 2021-08-04 Fujitsu Limited INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM
JP6852141B2 (ja) * 2018-11-29 2021-03-31 キヤノン株式会社 情報処理装置、撮像装置、情報処理装置の制御方法、および、プログラム
JP6989860B2 (ja) * 2020-05-02 2022-01-12 Arithmer株式会社 画像検査装置、画像検査方法及びプログラム
WO2022019312A1 (ja) * 2020-07-21 2022-01-27 株式会社アダコテック 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11960864B2 (en) * 2021-09-27 2024-04-16 Microsoft Technology Licensing, Llc. Creating applications and templates based on different types of input content

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3751647B2 (ja) * 1993-12-16 2006-03-01 富士通株式会社 状態遷移の概念を導入した問題解決演算装置および方法
US6052678A (en) 1993-12-16 2000-04-18 Fujitsu Limited Problem solving operation apparatus using a state transition
JP4599509B2 (ja) 2004-09-08 2010-12-15 独立行政法人理化学研究所 自己進化型パターン認識システム
JP4667912B2 (ja) 2005-03-09 2011-04-13 富士フイルム株式会社 判別器生成装置、判別器生成方法およびそのプログラム
KR100694473B1 (ko) * 2005-10-31 2007-03-12 한국전력공사 콘크리트 구조물의 내구성 향상을 위한 구체강화물질 및이의 제조방법
JP4660765B2 (ja) 2006-02-13 2011-03-30 国立大学法人横浜国立大学 進化型画像自動分類装置、フィルタ構造生成方法、及びプログラム
US8948496B2 (en) * 2008-08-29 2015-02-03 Koninklijke Philips N.V. Dynamic transfer of three-dimensional image data
RU2492586C2 (ru) * 2008-10-27 2013-09-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ автоматического формирования процедуры генерации прогнозируемого значения пикселя, способ кодирования изображений, способ декодирования изображений, соответствующее устройство, соответствующие программы и носители информации, которые хранят программы
JP2010266983A (ja) 2009-05-13 2010-11-25 Sony Corp 情報処理装置及び方法、学習装置および方法、プログラム、並びに情報処理システム
US9355337B2 (en) * 2009-08-25 2016-05-31 Xerox Corporation Consistent hierarchical labeling of image and image regions
CN103679188A (zh) * 2012-09-12 2014-03-26 富士通株式会社 图像分类器生成方法和装置及图像分类方法和装置
US20150206069A1 (en) * 2014-01-17 2015-07-23 Matthew BEERS Machine learning-based patent quality metric
CN103942571B (zh) * 2014-03-04 2017-02-08 西安电子科技大学 一种基于遗传规划算法的图形图像分类方法
CN103903055B (zh) * 2014-03-21 2016-09-07 国家电网公司 基于无向图所有生成树的网络重构方法
CN104537382A (zh) * 2015-01-12 2015-04-22 杭州电子科技大学 基于遗传算法优化支持向量机的肌电信号步态识别方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7404962B2 (ja) 2020-03-24 2023-12-26 東洋製罐グループホールディングス株式会社 画像処理システム、及び画像処理プログラム

Also Published As

Publication number Publication date
CN108140133A (zh) 2018-06-08
WO2017068675A1 (ja) 2017-04-27
CN108140133B (zh) 2022-03-22
JPWO2017068675A1 (ja) 2018-08-16
US11061687B2 (en) 2021-07-13
US20180225125A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
JP6646234B2 (ja) プログラム生成装置、プログラム生成方法および生成プログラム
JP6814981B2 (ja) 学習装置、識別装置、学習識別システム、及び、プログラム
US20210287097A1 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
US20210110215A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
US20210081798A1 (en) Neural network method and apparatus
WO2020154830A1 (en) Techniques to detect fusible operators with machine learning
US20200090036A1 (en) Classification device, classification method, and computer program product
US20140129499A1 (en) Value oriented action recommendation using spatial and temporal memory system
JP7095599B2 (ja) 辞書学習装置、辞書学習方法、データ認識方法およびコンピュータプログラム
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
US11983917B2 (en) Boosting AI identification learning
CN112580785B (zh) 基于三支决策的神经网络拓扑结构优化方法
WO2016095068A1 (en) Pedestrian detection apparatus and method
WO2022227217A1 (zh) 文本分类模型的训练方法、装置、设备及可读存储介质
JP2022518508A (ja) 画像分析システムおよび画像分析システムを使用する方法
JP2019159836A (ja) 学習プログラム、学習方法および学習装置
WO2014118978A1 (ja) 学習方法、情報処理装置および学習プログラム
Park et al. An efficient differential evolution using speeded-up k-nearest neighbor estimator
Pahariya et al. Software cost estimation using computational intelligence techniques
US20220027739A1 (en) Search space exploration for deep learning
Tsai New feature selection and voting scheme to improve classification accuracy
JP7097261B2 (ja) 学習データの解析方法及び計算機システム
JP2009070321A (ja) 文書分類装置、及び文書分類プログラム
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
WO2017056320A1 (ja) プログラム生成装置、プログラム生成方法および生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190718

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190718

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R150 Certificate of patent or registration of utility model

Ref document number: 6646234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150