説明

進化的条件判断ネットワーク

【課題】条件判断木(決定木)を発展させた条件判断ネットワークを進化計算により最適化する方法に関する。
【解決手段】参照ブロック画像判定の経路が、ノード1、ノード3、ノード4、ノード6となった場合に、対象ブロック画像判定のノード4では、参照ブロック画像経路と重複するので、初期値である標準閾値に代えて作用閾値を用いて、対象ブロック画像の特徴量である中央値につき条件判断する。ノード5では、参照ブロック画像経路と重複しないので、初期値である標準閾値を用いて、対象ブロック画像の最頻値につき条件判断する。そして、終端で評価値を特定する。この条件判断ネットワークを進化計算アルゴリズムにより学習する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、条件判断木を発展させた条件判断ネットワークを進化計算により学習する方法に関するものである。
【背景技術】
【0002】
発明者は、画像処理・認識の全自動構築・最適化技術を長く研究し、多くの成果を上げてきた。例えば、原画像と目標画像を与えるだけで画像処理ロジックを自動構築することができる学習方法や、画像とその所属クラスを与えるだけで画像認識ロジックを自動構築することができる学習方法を提案してきた。
【0003】
しかし、生成された処理ロジック自体は最適化されたものであり、性能としては優れているにも関わらず、人的には理解し難いことが少なくなかった。その為、漠然とした不安を抱かれるケースもあった。
【0004】
そこで人間の論理思考に合わせて、わかりやすいロジックを学習により生成することを課題とした。人間の思考として受け入れやすい例としては、「AならB、BならC、だから、AならC」という必然的三段論法や決定木などがあげられる。実のところはこれらの方法も不確定要素を含んでいるが、安心や納得を与えることができることが多く、受け入れられやすい。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】長尾智晴著「進化的画像処理」昭晃堂,2002年5月15日,p.79−140
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明では、性能の高い分類器の自動構築のみならず、出来上がったものが人間に分かり易く、納得して使ってもらえることを優先する。
【課題を解決するための手段】
【0007】
本発明に係る条件判断ネットワーク演算装置は、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを用いて、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置であって、以下の要素を有することを特徴とする
(1)中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部
(2)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定部
(3)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定部。
【0008】
また、
条件判断ネットワーク個体構造情報のノード情報は、複数の閾値として、標準とする閾値と作用を受けた場合の閾値を特定可能であり、
対象多次元データ経路判定部は、演算ノードが参照データ経路上のノードでない場合に標準とする閾値を選択し、演算ノードが参照データ経路上のノードである場合に作用を受けた場合の閾値を選択することを特徴とする。
【0009】
また、
対象多次元データは、判定対象となる画像データであり、参照多次元データは、参照する画像データであることを特徴とする。
【0010】
本願発明に係る条件判断ネットワーク生成システムは、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムであって、以下の要素を有することを特徴とする
(1)対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部
(2)各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部
(3)中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部
(4)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算部
(5)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択部
(6)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖部
(7)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力部。
【0011】
本願発明に係る条件判断ネットワーク演算方法は、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを定義するために、中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部を有し、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置による条件判断ネットワーク演算方法であって、以下の要素を有することを特徴とする
(1)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定工程
(2)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定工程。
【0012】
本願発明に係るプログラムは、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを定義するために、中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部を有し、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置となるコンピュータに、以下の手順を実行させることを特徴とする
(1)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定手順
(2)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定手順。
【0013】
本願発明に係る条件判断ネットワーク生成方法は、
対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部と、
各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部と、
中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部を有し、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムによる条件判断ネットワーク生成方法であって、以下の要素を有することを特徴とする
(1)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算工程
(2)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択工程
(3)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖工程
(4)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力工程。
【0014】
本願発明に係るプログラムは、
対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部と、
各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部と、
中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部を有し、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムとなるコンピュータに、以下の手順を実行させることを特徴とする
(1)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算手順
(2)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択手順
(3)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖手順
(4)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力手順。
【発明の効果】
【0015】
通常の決定木においては、判定対象のデータについて条件判断し、分岐のうち進む先を決定する経路手順をとるが、本発明では、参照のデータについても経路手順をとる。そして、その経路上のノードについて閾値を変更させるように動作する。これにより、判定対象のデータにおける条件判断が、参照のデータによる条件判断の作用を受けることになる。判定対象のデータに対する絶対的な判断のみでは解決できないテーマについても、参照のデータの影響により相対的な判断を加味し解決できるようになる。
【0016】
本発明は、条件判断木(決定木)を包含し、発展させた手順であるので、人間にとって分かり易くなることが期待される。
【図面の簡単な説明】
【0017】
【図1】図1は、条件判断ネットワーク生成システムの構成を示す図である。
【図2】図2は、進化計算アルゴリズムによる学習処理のフローを示す図である。
【図3】図3は、ブロック画像の例を示す図である。
【図4】図4は、条件判断ネットワーク個体構造の例を示す図である。
【図5】図5は、条件判断ネットワークの構成を示す図である。
【図6】図6は、適応度計算部の構成を示す図である。
【図7】図7は、適応度計算処理フローを示す図である。
【図8】図8は、個体演算部の構成を示す図である。
【図9】図9は、個体演算処理フローを示す図である。
【図10】図10は、参照ブロック画像経路判定処理フローを示す図である。
【図11】図11は、参照ブロック画像経路の例(その1)を示す図である。
【図12】図12は、参照ブロック経路テーブルの例(その1)を示す図である。
【図13】図13は、対象ブロック画像経路判定処理フローを示す図である。
【図14】図14は、対象ブロック画像経路の例(その1)を示す図である。
【図15】図15は、参照ブロック画像経路の例(その2)を示す図である。
【図16】図16は、参照ブロック経路テーブルの例(その2)を示す図である。
【図17】図17は、対象ブロック画像経路の例(その2)を示す図である。
【図18】図18は、生殖処理フローを示す図である。
【図19】図19は、交叉処理フローを示す図である。
【図20】図20は、突然変異処理フローを示す図である。
【図21】図21は、延命処理フローを示す図である。
【図22】図22は、実施の形態2に係る条件判断ネットワーク個体構造の例を示す図である。
【図23】図23は、実施の形態3に係る条件判断ネットワーク個体構造の例を示す図である。
【図24】図24は、実施の形態4に係る条件判断ネットワーク個体構造の例を示す図である。
【図25】図25は、実施の形態5に係る条件判断ネットワーク個体構造の例を示す図である。
【図26】図26は、実施の形態6に係る条件判断ネットワーク個体構造の例を示す図である。
【図27】図27は、実施の形態7に係る条件判断ネットワークの構成を示す図である。
【図28】図28は、実施の形態7に係る条件判断ネットワーク個体構造の例を示す図である。
【図29】図29は、標準閾値によるノード特定処理フローを示す図である。
【図30】図30は、実施の形態7に係る対象ブロック画像経路判定処理フローを示す図である。
【図31】図31は、作用閾値によるノード特定処理フローを示す図である。
【発明を実施するための形態】
【0018】
図1は、条件判断ネットワーク生成システムの構成を示す図である。条件判断ネットワーク生成システムは、初期個体入力部101、個体集団記憶部102、適応度計算部103、サンプルデータセット記憶部104、目標評価値記憶部105、適応度記憶部106、個体選択部107、選択個体記憶部108、生殖部109、及び学習個体出力部110を有している。
【0019】
本システムでは、条件判断ネットワークを進化計算アルゴリズムによる学習処理により生成する。図2は、進化計算アルゴリズムによる学習処理のフローを示す図である。
【0020】
初期個体入力部101による初期個体入力処理(S201)を行う。この処理では、初期の個体集団を入力し、個体集団記憶部102に記憶させる。つまり、集団を構成する要素数の分、条件判断を行なうネットワーク型の個体の構造を特定する条件判断ネットワーク個体構造情報(以下、条件判断ネットワーク個体構造という。)を入力して、それらに個体識別情報(以下、個体IDという。)を対応付けて、個体集団記憶部102に記憶させる。
【0021】
条件判断ネットワーク個体構造により特定される条件判断ネットワークは、参照ブロック画像を補助的に用いて対象ブロック画像に対する評価を行なう。図3は、ブロック画像の例を示す図である。皮革表面の写真画像である。上段、中端、下段の3段に分かれ、更に各段毎に左側、中央、右側のブロックに分かれている。この9つのブロック画像の中から選択したものを、予め参照ブロック画像と対象ブロック画像に設定し、対象ブロック画像に皮革上の傷があるかを判定する例を以降説明する。参照ブロック画像は、皮革の素地を示すデータとして参照される。
【0022】
条件判断ネットワーク個体構造の例について説明する。図4は、条件判断ネットワーク個体構造の例を示す図である。図5は、条件判断ネットワークの構成を示す図である。この図に基づいて条件判断ネットワークについて説明する。
【0023】
条件判断ネットワーク個体構造は、ノード毎にノード情報(レコード)451〜457を有している。ノード情報は、ノードを識別するノード番号401に対応付けて、ノードで算出する特徴量を識別する特徴量ID402、特徴量が閾値に対して小さい場合にリンクする先のノード番号である小側リンク先403、特徴量が閾値に対して大きい場合にリンクする先のノード番号である大側リンク先404、初期値として用いる標準閾値405、初期値に換えて用いられる作用閾値406を記憶している。
【0024】
この例では、始端にもノード番号1と2が割り振られている。ノード番号1が参照ブロック画像に関する判定経路の起点となる参照ブロック画像始端で、ノード番号2が対象ブロック画像に関する判定経路の起点となる対象ブロック画像始端である。始端の場合には、リンク先は一つであるので、小側リンク先403のみを用いる。大側リンク先404、標準閾値405、及び作用閾値406は無視する。大側リンク先404を用いるようにしてもよい。
【0025】
またこの例では、終端にもノード番号6と7が割り振られている。参照ブロック画像に関する判定経路及び対象ブロック画像に関する判定経路の終点となる。特に、対象ブロック画像に関する判定経路の終点となった場合には、OK終端とNG終端の種別により、判定結果がOKあるいはNGに割り振られる。OKとNGは、選択される評価値(所属クラス)の例である。小側リンク先403、大側リンク先404、標準閾値405、及び作用閾値406については無視する。
【0026】
参照ブロック画像始端のリンク先と対象ブロック画像始端のリンク先を固定にする場合には、これら始端のレコードは省略できる。また、参照ブロック画像始端のリンク先と対象ブロック画像始端のリンク先を同一にすることもできる。更に、OK終端とNG終端のノード番号を固定にする場合には、これら終端のレコードは省略できる。
【0027】
この例は、簡略に説明するために少ない中間ノード数で表現しているが、実際には更に多い中間ノードを設定する。例えば、30〜40程度の中間ノードを設定する。但し、中間ノード数に特に制限はない。想定されるロジックの規模に合わせて適当な数を選択し得る。
【0028】
参照ブロック画像に関する判定経路及び対象ブロック画像に関する判定経路の判定処理は、図8〜図17を用いて後述する。
【0029】
図2の初期個体入力処理(S201)に続いて、適応度計算部103による適応度計算処理(S202)を行う。この処理では、個体集団記憶部102に記憶している各個体の適応度を計算する。適応度とは、当該個体がサンプル群の目標に適応している度合いを示す値である。具体的には、学習用のサンプルデータセットを入力して、個体の構造により特定される演算手順に従って演算した結果である判定評価値が、目標とする目標評価値と一致した割合を用いる。サンプルデータセット記憶部104には、対象ブロック画像と参照ブロック画像からなるサンプルデータセットを、サンプル数分記憶している。目標評価値記憶部105は、各サンプルデータセットに対応する目標評価値を記憶している。目標評価値は2値のみならず、3つ以上の値もとり得る。算出した適応度は、個体IDと対応付けて適応度記憶部106に記憶される。この適応度計算処理(S202)の詳細については後述する。
【0030】
続いて、個体選択部107による個体選択処理(S203)を行う。この処理では、各個体の適応度に基づいて、生殖処理の対象とする個体を所定の選択数分だけ選択する。例えば、適応度が大きい順に、選択数の個体を選択する。あるいは、選択数を、適応度の高い層の高適応個体選択数と、適応度の低い層の低適応個体選択数に分け、それぞれ、適応度の高い順に、高適応個体選択数の個体を選択し、更に適応度の低い順に、低適応個体選択数の個体を選択するように、適応度を層別し、各層からそれぞれの所定数分を選別するようにしてもよい。他にも、適応度に比例した確率で個体を選択するルーレット選択方法、適応度の順位に従って選択回数を決定するランク選択方法、個体集団からトーナメントサイズとして既定された数の個体をランダムに選択し、その中の最大適応度の個体をトーナメントの勝者として選択するトーナメント選択方法などもある。このようにして、選択された個体群のIDを、選択個体記憶部108に記憶させる。
【0031】
続いて、生殖部109による生殖処理(S204)を行う。この処理では、選択された個体群から取り出した個体に対して、世代交代に係る構成の操作を施す。この例では、2つの個体間で一部のノード情報(レコード)を交換する交叉処理、ノード情報中の一部の項目を変化させる突然変異処理、現在の固体構造を維持したまま存続させる延命処理を行なう。これらの処理により、所定次世代個体数の個体からなる次世代個体集団を生成し、それぞれ個体IDと対応付けて条件判断ネットワーク個体構造を個体集団記憶部102に記憶させる。この生殖処理(S204)の詳細については、後述する。
【0032】
そして、これらの世代交代処理(S202からS204)を繰り返し、世代交代終了判定部(図示せず)による世代交代終了判定処理(S205)により、継続と判定されると世代交代処理をループし、終了と判定されると世代交代処理のループを終了し、後処理に移行する。世代交代の終了は、例えば、世代数で判定する。世代交代処理の回数をカウントし、当該回数が所定の世代数に満たない場合は、継続と判定し、世代数に達した場合に、終了と判定する。あるいは、適応度が終了条件を満たした場合に、終了と判定することもできる。例えば、目標適応度と目標個体数を終了条件として設定し、目標適応度に達した個体数をカウントし、その数が目標個体数に達しない場合に継続と判定し、目標個体数に達した場合に終了と判定する。あるいは、世代交代処理の制限時間を設け、世代交代処理のループの間の処理時間を計測し、処理時間が制限時間に達しない場合に継続と判定し、制限時間に達した場合に終了と判定する。
【0033】
後処理として、前述と同様に、最終世代の個体集団について適応度計算部103による適応度計算処理(S206)を行ない、学習個体出力部110による学習個体出力処理(S207)を行なう。学習個体出力処理では、最終世代の個体集団に含まれる各個体の条件判断ネットワーク個体構造と、当該個体の適応度を対応付けて出力する。つまり、個体集団記憶部102に記憶している個体ID毎に、当該IDに対応する条件判断ネットワーク個体構造を取り出し、また当該IDと対応付けられている適応度を適応度記憶部108から取り出し、取り出した条件判断ネットワーク個体構造と適応度を対応付けて、学習個体情報として出力する。その際、適応度をキーとして個体情報群をソートし、そのソート結果を出力することも有効である。
【0034】
以下、図2に示した適応度計算処理(S202,S206)と生殖処理(S204)について順に詳述する。
【0035】
まず、適応度計算処理(S202,S206)について説明する。図6は、適応度計算部の構成を示す図である。適応度計算部103は、個体演算部601、正答判定部602、正答数カウンタ603、及び正答率算出部604を有している。
【0036】
図7は、適応度計算処理フローを示す図である。個体集団記憶部102に記憶している個体毎、つまり条件判断ネットワーク構造毎にS702〜S706の処理を繰り返して(S701)、個体毎の適応度(正答率)を求める。
【0037】
1個体についての処理として、各サンプルに対して個体演算部601による個体演算処理(S703)と正答判定部602による正答判定処理(S704)を繰り返す(S702)。これにより、全サンプル中の正答した割合を求めることができるようになる。
【0038】
個体演算処理(S703)では、図6に示す通りサンプルデータセットとして対象ブロック画像と参照ブロック画像を入力し、条件判断ネットワークによる判定結果として判定評価値を得る。これについては、図8〜図17を用いて後述する。
【0039】
正答判定部602による正答判定処理(S704)では、個体演算処理(S703)で算出した判定評価値(例えば、OK/NG)が、当該サンプルの目標評価値(例えば、OK/NG)と一致するかを判定する。一致した場合に正答として、その数を計数する。具体的には、正答の場合に正答数カウンタ603の値をインクリメントする。正答数カウンタ603は、条件判断ネットワーク個体構造についてのループ毎に、初期値0にリセットする。つまり、S701で初期化する。すべてのサンプルについて処理すると(S705)、正答率算出部604による正答率算出処理(S706)で、サンプルデータセット記憶部104からサンプル数を取得し、正答数カウンタ603から正答数を読み取り、正答数をサンプル数で割って、商として正答率を求める。この正答率が当該条件判断ネットワーク個体構造の適応度となる。これらの処理をすべての個体について処理して終了する(S707)。
【0040】
先に述べた個体演算処理(S703)について詳述する。図8は、個体演算部の構成を示す図である。個体演算部601は、参照ブロック画像経路判定部801、参照ブロック経路テーブル802、及び対象ブロック画像経路判定部803を有している。参照ブロック経路テーブル802には、参照ブロック画像経路となったノードが記録される。その為、ノード毎に、ノード番号に対応付けて参照ブロック経路フラグを記憶するように構成されている(図12)。
【0041】
図9は、個体演算処理フローを示す図である。参照ブロック画像経路判定部801による参照ブロック画像経路判定処理(S901)、対象ブロック画像経路判定部803による対象ブロック画像経路判定処理(S902)の順に処理する。参照ブロック経路テーブル802は、サンプル毎に初期化する。つまり、参照ブロック画像経路判定処理(S901)が起動される前処理として、初期値にリセットする。
【0042】
まず、参照ブロック画像経路判定処理(S901)について説明する。この処理では、参照ブロック画像について、条件判断ネットワークのノードにおける特徴量判定により経路を選択し、経路を記録する。図10は、参照ブロック画像経路判定処理フローを示す図である。まず、参照ブロック始端のリンク先から演算ノードを特定する(S1001)。例えば、図4に示した条件判断ネットワーク個体構造の場合、ノード番号1が参照ブロック始端であるので、そのノード情報中のリンク先(この例では、小側リンク先を用いている。)から「3」を読み取ることにより、次に演算するノード番号3を特定する。そして、参照ブロック経路テーブル802における演算ノードに対応する参照ブロック経路フラグをON(経路内)にする(S1002)。そして、演算ノードの特徴量IDを読み取り(S1003)、参照ブロック画像に対する当該特徴量を算出する(S1004)。例えば、画像に含まれる画素の階調値の平均値、中央値、最頻値など特徴量を算出する。そして、算出した特徴量と、演算ノードの標準閾値を比較する(S1005)。例えば、特徴量が標準閾値に対して小であれば、小側リンク先から演算ノードを特定する(S1006)。この例では、「未満」を条件としているが、「以下」を条件としてもよい。他方、特徴量が標準閾値に対して大であれば、大側リンク先から演算ノードを特定する(S1007)。この例では、「以上」を条件としているが、「より大きい」を条件としてもよい。特定した次の演算ノードが、OK終端あるいはNG終端である場合には(S1008)、当該終端の参照ブロック経路フラグをONにして終了する。一方、OK終端あるいはNG終端のいずれでもない場合には、S1002からの処理を繰り返す。これにより、参照ブロック画像に対する経路が形成される。
【0043】
図11は、参照ブロック画像経路の例(その1)を示す図である。直線によるリンク線は、参照ブロック画像経路を示している。この例では、ノード番号1、ノード番号3、ノード番号6の順に経路をなしている。
【0044】
図12は、参照ブロック経路テーブルの例(その1)を示す図である。OFFは、経路外のノードであり、ONは、経路内のノードであることを意味している。初期値は、OFFであり、初期化段階では、すべてOFFである。ノード番号1は、参照ブロック始端からリンク先を読み取る段階で(図10のS1001)、ON(経路内)とする。中間のノードうち経路となったノード番号に対する参照ブロック経路フラグがONとなる。尚、始端と終端の参照ブロック経路フラグは、省略しても構わない。
【0045】
図11と図12は、図3に示したブロック画像のうち上段中央のブロックを参照ブロック画像とした場合の例を示している。上段中央のブロックに関する画素階調の平均値は、「146」であるので、ノード番号3において大側のリンクを辿り、OK端末で経路を閉じている。
【0046】
上述の例では、すべて標準閾値を用いたが、すべて作用閾値を用いるように動作させることもできる。あるいは、ノード情報に参照ブロック専用の閾値を追加し、その専用閾値を用いることも考えられる。
【0047】
続いて、対象ブロック画像経路判定処理(S902)について説明する。図13は、対象ブロック画像経路判定処理フローを示す図である。まず、対象ブロック始端のリンク先から演算ノードを特定する(S1301)。例えば、図4に示した条件判断ネットワーク個体構造の場合、ノード番号2が対象ブロック始端であるので、そのノード情報中のリンク先(この例では、小側リンク先を用いている。)から「4」を読み取ることにより、次に演算するノード番号4を特定する。そして、演算ノードの特徴量IDを読み取り(S1302)、対象ブロック画像の特徴量を算出する(S1303)。ここで、演算ノードに対応する参照ブロック経路フラグ(S1304)を参照ブロック経路テーブル802から読み取り、OFF(経路外)の場合には、演算ノードの標準閾値を読み取り(S1305)、特徴量と標準閾値を比較する(S1307)。他方、ON(経路内)の場合には、演算ノードの作用閾値を読み取り(S1306)、特徴量と作用閾値を比較する(S1307)。例えば、特徴量が閾値に対して小であれば、小側リンク先から演算ノードを特定する(S1308)。この例では、「未満」を条件としているが、「以下」を条件としてもよい。他方、特徴量が閾値に対して大であれば、大側リンク先から演算ノードを特定する(S1309)。この例では、「以上」を条件としているが、「より大きい」を条件としてもよい。特定した次の演算ノードがOK終端あるいはNG終端のいずれでもない場合には、S1302からの処理を繰り返す。そして、特定した次の演算ノードがOK終端あるいはNG終端となった場合には(S1310)、終端の種別により判定評価値を特定する(S1311)。OK終端の場合には、判定評価値はOKとなり、NG終端の場合には、判定評価値はNGとなる。
【0048】
図14は、対象ブロック画像経路の例(その1)を示す図である。直線によるリンク線は、対象ブロック画像経路を示している。この例では、ノード番号2、ノード番号4、ノード番号5、ノード番号7の順に経路をなしている。図12の状態の参照ブロック経路テーブルを前提としている。また、図3に示したブロック画像のうち中段中央のブロックを対象ブロック画像としている。
【0049】
ノード番号4では、特徴量として画素階調の中央値を求める。ノード番号4の参照ブロック経路フラグがOFF(経路外)であるので標準閾値を用いる。算出した中央値「167」と標準閾値「140」を比較し、大側のリンク先のノード番号5に至る。
【0050】
ノード番号5では、特徴量として画素階調の最頻値を求める。ノード番号5の参照ブロック経路フラグがOFF(経路外)であるので標準閾値を用いる。算出した最頻値「166」と標準閾値「170」を比較し、小側のリンク先のノード番号7(NG終端)に至る。これにより、判定評価値は「NG」となる。図3の中段中央のブロックは、上段中央のブロックを参考としつつ、傷があるという判定結果に至っている。
【0051】
上述の図11と図12と図14では、対象ブロック経路が参照ブロック経路と重なっていない例を示したが、次に、図15と図16と図17で、対象ブロック経路が参照ブロック経路と重なる例を説明する。
【0052】
図15は、参照ブロック画像経路の例(その2)を示す図である。図16は、参照ブロック経路テーブルの例(その2)を示す図である。この例では、ノード番号1、ノード番号3、ノード番号4、ノード番号6の順に参照ブロック画像経路が形成されている。図3に示したブロック画像のうち上段右側のブロックを参照ブロック画像とした場合の例を示している。上段右側のブロックに関する画素階調の平均値は「126」であるので、ノード番号3における小側のリンク先であるノード番号4に至る。また、上段右側のブロックに関する画素階調の中央値が140未満であり、ノード番号4における小側のリンク先であるノード番号6(OK終端)で終えている。
【0053】
図17は、対象ブロック画像経路の例(その2)を示す図である。この例では、ノード番号2、ノード番号4、ノード番号5、ノード番号7の順に経路をなしている。図16の状態の参照ブロック経路テーブルを前提としている。また、図3に示したブロック画像のうち中段右側のブロックを対象ブロック画像としている。
【0054】
ノード番号4では、特徴量として画素階調の中央値を求める。このとき、ノード番号4の参照ブロック経路フラグがON(経路内)であるので作用閾値を用いる。算出した中央値「135」と作用閾値「130」を比較し、大側のリンク先のノード番号5に至る。
【0055】
ノード番号5では、特徴量として画素階調の最頻値を求める。ここでは、ノード番号5の参照ブロック経路フラグがOFF(経路外)であるので標準閾値を用いる。算出した最頻値「128」と標準閾値「170」を比較し、小側のリンク先のノード番号7(NG終端)に至る。これにより、判定評価値は「NG」となる。図3の中段右側のブロックは、上段右側のブロックを参考としつつ、傷があるという判定結果に至っている。
【0056】
最後に、生殖処理(図2のS204)について説明する。図18は、生殖処理フローを示す図である。まず、個体数決定部(図示せず)により、交叉処理により得る個体数と、突然変異処理により得る個体数と、延命処理により得る個体数を決定する(S1801)。これらの個体数の合計は、次世代の個体の総数となる。これらの個体数は、予め決められた定数を用いる方法や、乱数等に基づいて都度決定する方法がある。
【0057】
交叉部(図示せず)により、2つの個体間でノード情報を交換する交叉処理(S1802)と、突然変異部(図示せず)により、ノード情報の一部を変化させる突然変異処理(S1803)と、延命部(図示せず)により、現在の個体構造を維持したまま存続させる延命処理(S1804)を行なう。これらの処理は、独立しており、処理の順序は必ずしも限定されない。これらの処理により次世代の個体が得られると、個体集団更新部(図示せず)により、個体集団更新処理(S1805)を行なう。この処理では、現世代の個体に関する個体IDと条件判断ネットワーク個体構造を消去し、次世代の各個体について個体IDに対応付けて条件判断ネットワーク個体構造を個体集団記憶部102に記憶させる。つまり、現世代の個体集団から次世代の個体集団に更新する。
【0058】
交叉処理(S1802)について説明する。図19は、交叉処理フローを示す図である。所定の個体数を得るまで、以下の処理を繰り返す(S1901)。交叉させる2つの個体を特定する(S1902)。選択個体記憶部108に記憶している選択された個体の中から、2つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。次に、交叉させるノードの範囲を決定する(S1903)。単数のノードを交叉範囲とする方法、あるいは複数のノードを交叉範囲とする方法がある。ノード番号3〜5のように連続する範囲を設定する方法、あるいはノード番号3、5、7のように非連続の範囲を設定する方法がある。始端と終端はすべての個体において共通であるので、交叉範囲から除外してもよい。つまり、中間ノードのみを交叉範囲とすることができる。乱数等を用いて不規則に交叉範囲を決定する。交叉範囲は、2つの個体で共通にする方法と、それぞれ独立に決める方法がある。但し、独立に決める場合でもノード数は合わせる。個体間でノード情報を交換する(S1904)。つまり、交叉範囲のデータを相互にコピーする。一般には、交叉された2つの個体を次世代に残すが、一方のみを残す方法もある。このようにして、交叉により得る個体を特定し、生殖部の内部に一時的にその条件判断ネットワーク個体構造を記憶する(S1905)。これらの処理を繰り返し、所定の個体数を得た時点で終了する(S1906)。
【0059】
この例では、2つの個体間で一部の情報を交換したが、3つ以上の個体間で情報を交換してもよい。
【0060】
突然変異処理(S1803)について説明する。図20は、突然変異処理フローを示す図である。所定の個体数を得るまで、以下の処理を繰り返す(S2001)。まず、突然変異処理させる個体を特定する(S2002)。選択個体記憶部108に記憶している選択された個体の中から、1つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。全ノードの全項目を対象として、所定の変異確率でデータを変更する。その為に、ノード情報毎に以下の処理を繰り返し(S2003)、更にそのノードの項目毎に以下の処理を繰り返す(S2004)。所定確率(例えば、3%)で該当した場合に変異させると判定する(S2005)。変異させる場合には、項目別の所定数値範囲内の変異値を決定する(S2006)。特徴量IDであれば、所定の特徴量IDの中から無作為に選択する。リンク先であれば、例えば当該ノード番号より大きい中間ノードの番号を無作為に選択する。閾値であれば、想定される階調値の範囲で無作為に選択する。そして、当該項目を変異値に書き換える(S2007)。レコードのすべての項目について繰り返し(S2008)、更にすべてのレコード情報について処理した時点で(S2009)、突然変異により得た個体を特定し(S2010)、生殖部の内部に一時的にその条件判断ネットワーク個体構造を記憶する。これらの処理を繰り返し、所定の個体数を得た時点で終了する(S2011)。
【0061】
図21は、延命処理フローを示す図である。所定の個体数を得るまで、以下の処理を繰り返す(S2101)。まず、延命処理させる個体を特定する(S2102)。選択個体記憶部107に記憶している個体の中から、1つの個体を選択する。一般的には、乱数等を用いて不規則に選択する。同一の個体を繰り返し選択することを許す方法や、繰り返し選択しない方法がある。それを延命処理させる個体として、生殖部の内部に一時的にその条件判断ネットワーク個体構造を記憶する。この処理を繰り返し、所定の個体数を得た時点で終了する(S2103)。
【0062】
実施の形態2.
上述の例では、特性を示す非正規形の変数(階調値)を、その次元のまま特徴量及び閾値として用いた。ここでは、特性を示す変数を無次元に正規化し、正規形の特徴量と正規形の閾値を用いる形態について説明する。以下の例では、階調値を正規化により0〜1の範囲の無次元量に変換する。変換方法は、例えば比例変換や線形変換などが考えられる。
【0063】
図22に示すように条件判断ネットワーク個体構造は、標準とする閾値と作用を受けた場合の閾値として、標準正規形閾値と作用正規形閾値を用いる。
【0064】
初期個体入力処理(S201、図2)において、階調値を正規化したと想定される0〜1の値を標準正規形閾値と作用正規形閾値に設定した条件判断ネットワーク個体構造を入力する。
【0065】
また、参照ブロック画像経路判定処理(S901、図10)では、参照ブロック画像の特徴量を求めた後に(S1004、図13)、算出した特徴量を正規化する。そして、S1005において正規化した特徴量と標準正規形閾値を比較する。正規化した特徴量が小側の場合に、S1006へ移行し、正規化した特徴量が大側の場合に、S1007へ移行する。
【0066】
更に、対象ブロック画像経路判定処理(S902、図13)では、対象ブロック画像の特徴量を求めた後に(S1303)、算出した特徴量を正規化する。S1304の判定で演算ノードに対応する参照ブロック経路フラグがOFF(経路外)の場合には、S1305で演算ノードの標準正規形閾値を読み取り、S1307で算出した特徴量と標準正規形閾値を比較する。他方、S1304の判定で演算ノードに対応する参照ブロック経路フラグがON(経路内)の場合には、S1306で演算ノードの作用正規形閾値を読み取り、S1307で算出した特徴量と作用正規形閾値を比較する。そして、正規化した特徴量が小側の場合に、S1308へ移行し、正規化した特徴量が大側の場合に、S1309へ移行する。
【0067】
突然変異処理(S1803、図20)では、S2006において、変異させる項目が標準正規形閾値又は作用正規形閾値である場合に、階調値を正規化したと想定される0〜1の値を変異値とする。
【0068】
実施の形態3.
作用閾値の代わりに、作用幅を用いる形態について説明する。標準閾値と作用幅により作用閾値を算出することができる。作用幅は、作用閾値から標準閾値を差し引いた差分に相当する。以下の例では、−60〜+60を作用幅の範囲とする。
【0069】
図23に示すように条件判断ネットワーク個体構造は、作用閾値に代えて、作用幅を設けている。
【0070】
初期個体入力処理(S201、図2)において、2つの階調値の差分と想定される−60〜+60の値を作用幅に設定した条件判断ネットワーク個体構造を入力する。
【0071】
対象ブロック画像経路判定処理(S902、図13)で、S1304の判定で演算ノードに対応する参照ブロック経路フラグがON(経路内)の場合には、S1306で演算ノードの標準閾値と作用幅を読み取り、標準閾値に作用幅を加えて作用閾値を求める。そして、S1307で特徴量と算出した作用閾値を比較する。
【0072】
突然変異処理(S1803、図20)では、S2006において、変異させる項目が作用率である場合に、2つの階調値の差分と想定される−60〜+60の値を変異値とする。
【0073】
実施の形態4.
実施の形態2における作用正規形閾値の代わりに、正規形作用幅を用いる形態について説明する。標準正規形閾値と正規形作用幅により作用正規形閾値を算出することができる。正規形作用幅は、作用正規形閾値から標準正規形閾値を差し引いた差分に相当する。以下の例では、−0.3〜+0.3を正規形作用幅の範囲とする。
【0074】
図24に示すように条件判断ネットワーク個体構造は、標準正規形閾値と正規形作用幅を用いる。
【0075】
初期個体入力処理(S201、図2)において、階調値を正規化したと想定される0〜1の標準正規形閾値と、2つの正規化した階調値の差分と想定される−0.3〜+0.3の正規形作用幅を設定した条件判断ネットワーク個体構造を入力する。
【0076】
また、参照ブロック画像経路判定処理(S901、図10)では、参照ブロック画像の特徴量を求めた後に(S1004、図13)、算出した特徴量を正規化する。そして、S1005において正規化した特徴量と標準正規形閾値を比較する。正規化した特徴量が小側の場合に、S1006へ移行し、正規化した特徴量が大側の場合に、S1007へ移行する。
【0077】
更に、対象ブロック画像経路判定処理(S902、図13)では、対象ブロック画像の特徴量を求めた後に(S1303)、算出した特徴量を正規化する。S1304の判定で演算ノードに対応する参照ブロック経路フラグがOFF(経路外)の場合には、S1305で演算ノードの標準正規形閾値を読み取り、S1307で算出した特徴量と標準正規形閾値を比較する。他方、S1304の判定で演算ノードに対応する参照ブロック経路フラグがON(経路内)の場合には、S1306で演算ノードの標準正規形閾値と正規形作用幅を読み取り、標準正規形閾値に正規形作用幅を加えて作用正規形閾値を求める。そして、S1307で正規化した特徴量と算出した作用正規形閾値を比較する。そして、正規化した特徴量が小側の場合に、S1308へ移行し、正規化した特徴量が大側の場合に、S1309へ移行する。
【0078】
突然変異処理(S1803、図20)では、S2006において、変異させる項目が標準正規形閾値である場合には、階調値を正規化したと想定される0〜1の値を変異値とする。また、変異させる項目が正規形作用幅である場合に、2つの正規化した階調値の差分と想定される−0.3〜+0.3の値を変異値とする。
【0079】
実施の形態5.
作用幅の代わりに、作用率を用いる形態について説明する。標準閾値と作用率により作用閾値を算出することができる。作用率は、作用閾値を標準閾値で割った割合に相当する。以下の例では、0.7〜1.3を作用率の範囲とする。
【0080】
図25に示すように条件判断ネットワーク個体構造は、前述の作用幅に代えて、作用率を用いる。
【0081】
初期個体入力処理(S201、図2)において、2つの階調値の割合と想定される0.7〜1.3の値を作用率に設定した条件判断ネットワーク個体構造を入力する。
【0082】
対象ブロック画像経路判定処理(S902、図13)で、S1304の判定で演算ノードに対応する参照ブロック経路フラグがON(経路内)の場合には、S1306で演算ノードの標準閾値と作用率を読み取り、標準閾値に作用率を乗じて作用閾値を求める。そして、S1307で特徴量と算出した作用閾値を比較する。
【0083】
突然変異処理(S1803、図20)では、S2006において、変異させる項目が作用幅である場合に、2つの階調値の割合と想定される0.7〜1.3の値を変異値とする。
【0084】
実施の形態6.
実施の形態4における更新形作用幅の代わりに、正規形作用率を用いる形態について説明する。標準正規形閾値と正規形作用率により作用正規形閾値を算出することができる。正規形作用率は、作用正規形閾値を標準正規形閾値で割った割合に相当する。以下の例では、0.7〜1.3を正規形作用率の範囲とする。
【0085】
図26に示すように条件判断ネットワーク個体構造は、標準正規形閾値と正規形作用率を用いる。
【0086】
初期個体入力処理(S201、図2)において、階調値を正規化したと想定される0〜1の標準正規形閾値と、2つの正規化した階調値の割合と想定される0.7〜1.3の正規形作用率を設定した条件判断ネットワーク個体構造を入力する。
【0087】
また、参照ブロック画像経路判定処理(S901、図10)では、参照ブロック画像の特徴量を求めた後に(S1004、図13)、算出した特徴量を正規化する。そして、S1005において正規化した特徴量と標準正規形閾値を比較する。正規化した特徴量が小側の場合に、S1006へ移行し、正規化した特徴量が大側の場合に、S1007へ移行する。
【0088】
更に、対象ブロック画像経路判定処理(S902、図13)では、対象ブロック画像の特徴量を求めた後に(S1303)、算出した特徴量を正規化する。S1304の判定で演算ノードに対応する参照ブロック経路フラグがOFF(経路外)の場合には、S1305で演算ノードの標準正規形閾値を読み取り、S1307で算出した特徴量と標準正規形閾値を比較する。他方、S1304の判定で演算ノードに対応する参照ブロック経路フラグがON(経路内)の場合には、S1306で演算ノードの標準正規形閾値と正規形作用率を読み取り、標準正規形閾値に正規形作用率を乗じて作用正規形閾値を求める。そして、S1307で正規化した特徴量と算出した作用正規形閾値を比較する。そして、正規化した特徴量が小側の場合に、S1308へ移行し、正規化した特徴量が大側の場合に、S1309へ移行する。
【0089】
突然変異処理(S1803、図20)では、S2006において、変異させる項目が標準正規形閾値である場合には、階調値を正規化したと想定される0〜1の値を変異値とする。また、変異させる項目が正規形作用率である場合に、2つの正規化した階調値の割合と想定される0.7〜1.3の値を変異値とする。
【0090】
実施の形態7.
上述の例では、リンク先数を2とする例を示したが、3以上のリンク先を設けることもできる。また、リンク先数をノード毎に設定することもできる。
【0091】
図27は、実施の形態7に係る条件判断ネットワークの構成を示す図である。ノード番号13は、閾値を1つ用いて、リンク先を2つ設定している。ノード番号14は、閾値を3つ用いて、リンク先を4つ設定している。
【0092】
図28は、実施の形態7に係る条件判断ネットワーク個体構造の例を示す図である。ノード毎に分岐数(リンク先数と同じ)を設けている。また、リンク先を第一〜第四までのリンク先を設けている。分岐数に対応するリンク先を用いる。分岐数より大きいリンク先は無視する。また、標準閾値と作用閾値ともに、(分岐数−1)の閾値を用いる。分岐数以上の閾値は無視する。この例では、正規形の閾値を示しているが、非正規形(変数そのまま)の閾値の場合にも同様である。
【0093】
参照ブロック画像経路判定処理(S901、図10)では、S1004に続いて、標準閾値によるノード特定処理を行い、S1008に移行する。
【0094】
図29は、標準閾値によるノード特定処理フローを示す図である。この処理では、分岐数に応じて、標準正規形閾値群に基づいてリンク先を決定する。例えば、分岐数が4の場合、第一標準正規形閾値〜第三標準正規形閾値を用いて、いずれの閾値よりも小さい場合には、第一リンク先を特定し、最小閾値を除きそれ以外の閾値よりも小さい場合には、第二リンク先を特定し、最大閾値を除きそれ以外の閾値よりも大きい場合には、第三リンク先を特定し、いずれの閾値よりも大きい場合には、第四リンク先を特定する。
【0095】
その為に、(分岐数−1)回、以下の処理を繰り返す(S2901)。そして順次、標準正規形閾値を特定する(S2902)。つまり、1回目は、第一標準正規形閾値を用い、2回目は、第二標準正規形閾値を用い、3回目は、第三標準正規形閾値を用いる。そして、特徴量と標準正規形閾値を比較し(S2903)、特徴量が大側である場合に、大側回数をインクリメントする(S2904)。これを、(分岐数−1)回繰り返して(S2905)、大側回数をカウントする。そして、(大側回数+1)番目のリンク先を特定する(S2906)。つまり、大側回数が0の場合には、第一リンク先を特定し、大側回数が1の場合には、第二リンク先を特定し、大側回数が2の場合には、第三リンク先を特定する。
【0096】
続いて、対象ブロック画像経路判定処理(S902、図13)について説明する。図30は、実施の形態7に係る対象ブロック画像経路判定処理フローを示す図である。図13のS1303に続いて、演算ノードに対応する参照ブロック経路フラグを判定し、OFF(経路外)の場合には、図29の標準閾値によるノード特定処理を行う(S3001)。他方、ON(経路内)の場合には、図31の作用閾値によるノード特定処理を行う(S3002)。
【0097】
図31は、作用閾値によるノード特定処理フローを示す図である。分岐数に応じて、作用正規形閾値群に基づいてリンク先を決定する。例えば、分岐数が4の場合、第一作用正規形閾値〜第三作用正規形閾値を用いて、いずれの閾値よりも小さい場合には、第一リンク先を特定し、最小閾値を除きそれ以外の閾値よりも小さい場合には、第二リンク先を特定し、最大閾値を除きそれ以外の閾値よりも大きい場合には、第三リンク先を特定し、いずれの閾値よりも大きい場合には、第四リンク先を特定する。
【0098】
その為に、(分岐数−1)回、以下の処理を繰り返す(S3101)。そして順次、作用正規形閾値を特定する(S3102)。つまり、1回目は、第一作用正規形閾値を用い、2回目は、第二作用正規形閾値を用い、3回目は、第三作用正規形閾値を用いる。そして、特徴量と作用正規形閾値を比較し(S3103)、特徴量が大側である場合に、大側回数をインクリメントする(S3104)。これを、(分岐数−1)回繰り返して(S3105)、大側回数をカウントする。そして、(大側回数+1)番目のリンク先を特定する(S3106)。つまり、大側回数が0の場合には、第一リンク先を特定し、大側回数が1の場合には、第二リンク先を特定し、大側回数が2の場合には、第三リンク先を特定する。
【0099】
実施の形態8.
上述の例では、対象ブロック画像に対する隣接するブロック画像を参照したが、隣接する画像以外の参照画像をサンプルデータに用いてもよい。
【0100】
また、画像以外の多次元データ(多次元ベクトル)を判定の対象データとしてもよい。その場合、参照データには、同様の多次元データ(多次元ベクトル)を用いる。そして、特徴量は、その多次元データ(多次元ベクトル)から算出する。
【0101】
従って、対象ブロック画像は、対象多次元データ(対象多次元ベクトル)の例である。参照ブロック画像は、参照多次元データ(参照多次元ベクトル)の例である。対象ブロック始端は、対象多次元データ始端(対象多次元ベクトル始端)の例である。参照ブロック始端は、参照多次元データ始端(参照多次元ベクトル始端)の例である。参照ブロック画像経路判定部は、参照多次元データ経路判定部(参照多次元ベクトル経路判定部)の例である。対象ブロック画像経路判定部は、対象多次元データ経路判定部(対象多次元ベクトル経路判定部)の例である。
【0102】
また、個体演算部601は、単独で条件判断ネットワーク演算装置となり得る。条件判断ネットワーク演算装置となる場合には、条件判断ネットワーク個体構造を記憶する条件判断ネットワーク個体構造記憶部を有し、参照ブロック画像を入力する参照ブロック画像入力部を有し、対象ブロック画像を入力する対象ブロック画像入力部を有する。更に、条件判断ネットワーク個体構造を入力して、条件判断ネットワーク個体構造記憶部に記憶させる条件判断ネットワーク個体構造入力部を設けることもできる。参照ブロック画像入力部は、参照多次元データ入力部(参照多次元ベクトル入力部)の例である。対象ブロック画像入力部は、対象多次元データ入力部(対象多次元ベクトル入力部)の例である。
【0103】
条件判断ネットワーク生成システム及び条件判断ネットワーク演算装置は、コンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
【符号の説明】
【0104】
101 初期個体入力部
102 個体集団記憶部
103 適応度計算部
104 サンプルデータセット記憶部
105 目標評価値記憶部
106 適応度記憶部
107 個体選択部
108 選択個体記憶部
109 生殖部
110 学習個体出力部
601 個体演算部
602 正答判定部
603 正答数カウンタ
604 正答率算出部
801 参照ブロック画像経路判定部
802 参照ブロック経路テーブル
803 対象ブロック画像経路判定部


【特許請求の範囲】
【請求項1】
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを用いて、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置であって、以下の要素を有することを特徴とする条件判断ネットワーク演算装置
(1)中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部
(2)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定部
(3)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定部。
【請求項2】
条件判断ネットワーク個体構造情報のノード情報は、複数の閾値として、標準とする閾値と作用を受けた場合の閾値を特定可能であり、
対象多次元データ経路判定部は、演算ノードが参照データ経路上のノードでない場合に標準とする閾値を選択し、演算ノードが参照データ経路上のノードである場合に作用を受けた場合の閾値を選択することを特徴とする請求項1記載の条件判断ネットワーク演算装置。
【請求項3】
対象多次元データは、判定対象となる画像データであり、参照多次元データは、参照する画像データであることを特徴とする請求項1又は2に記載の条件判断ネットワーク演算装置。
【請求項4】
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムであって、以下の要素を有することを特徴とする条件判断ネットワーク生成システム
(1)対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部
(2)各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部
(3)中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部
(4)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算部
(5)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択部
(6)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖部
(7)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力部。
【請求項5】
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを定義するために、中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部を有し、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置による条件判断ネットワーク演算方法であって、以下の要素を有することを特徴とする条件判断ネットワーク演算方法
(1)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定工程
(2)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定工程。
【請求項6】
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを定義するために、中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報を記憶する条件判断ネットワーク個体構造記憶部を有し、対象多次元データと参照多次元データに基づいて、対象多次元データに対する評価値を判定する条件判断ネットワーク演算装置となるコンピュータに、以下の手順を実行させるためのプログラム
(1)参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成する参照多次元データ経路判定手順
(2)対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を特定する対象多次元データ経路判定手順。
【請求項7】
対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部と、
各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部と、
中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部を有し、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムによる条件判断ネットワーク生成方法であって、以下の要素を有することを特徴とする条件判断ネットワーク生成方法
(1)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算工程
(2)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択工程
(3)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖工程
(4)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力工程。
【請求項8】
対象多次元データと参照多次元データからなるサンプルデータセットを、サンプル数分記憶するサンプルデータセット記憶部と、
各サンプルデータセットに対応する目標評価値を記憶する目標評価値記憶部と、
中間ノード毎に特徴量IDと複数のリンク先と複数の閾値を特定し得るノード情報を備えた条件判断ネットワーク個体構造情報の集団を記憶する個体集団記憶部を有し、
判定対象となる対象多次元データの始端と、参照する参照多次元データの始端と、リンク先が分岐する中間ノードと、評価値に対応する終端をリンクする条件判断ネットワークを進化計算により生成する条件判断ネットワーク生成システムとなるコンピュータに、以下の手順を実行させるためのプログラム
(1)各条件判断ネットワーク個体構造情報に対して、
サンプル毎に、サンプルデータセットとそれに対応する目標評価値を取得し、
参照多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの参照多次元データに対する特徴量を算出し、特徴量といずれかの閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、参照データの経路を生成し、
対象多次元データ始端からリンクに沿って順次演算ノードを特定し、演算ノード毎に、特徴量IDに従って当該サンプルの対象多次元データに対する特徴量を算出し、演算ノードが参照データ経路上のノードであるか否かに基づいて閾値を選択し、特徴量と選択した閾値を比較し、比較結果に基づいてリンク先となるノードを選択する処理を繰り返し、終端に至ったときに、終端に対応する評価値を判定評価値として特定し、
目標評価値と判定評価値の一致により正答を判定し、
サンプル数に対する正答数に基づいて条件判断ネットワーク個体構造情報の適応度を算出する適応度計算手順
(2)適応度に基づいて、個体集団記憶部に記憶している条件判断ネットワーク個体構造の集団から一部を選択する個体選択手順
(3)選択した条件判断ネットワーク個体構造に基づいて、次世代の条件判断ネットワーク個体構造の集団を生成する生殖手順
(4)適応度に基づいて条件判断ネットワーク個体構造を選択して、出力する学習個体出力手順。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate