JP7119774B2 - 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置 - Google Patents

学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置 Download PDF

Info

Publication number
JP7119774B2
JP7119774B2 JP2018159651A JP2018159651A JP7119774B2 JP 7119774 B2 JP7119774 B2 JP 7119774B2 JP 2018159651 A JP2018159651 A JP 2018159651A JP 2018159651 A JP2018159651 A JP 2018159651A JP 7119774 B2 JP7119774 B2 JP 7119774B2
Authority
JP
Japan
Prior art keywords
image
intermediate output
neural network
classification
images
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
JP2018159651A
Other languages
English (en)
Other versions
JP2020035103A (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
Priority to JP2018159651A priority Critical patent/JP7119774B2/ja
Publication of JP2020035103A publication Critical patent/JP2020035103A/ja
Application granted granted Critical
Publication of JP7119774B2 publication Critical patent/JP7119774B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明の実施形態は、学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置に関する。
従来、画像に含まれる車番などの認識対象について、ニューラルネットワークを用いていずれの番号であるかを分類する技術が知られている。このニューラルネットワークを用いた画像分類では、分類結果だけでなく、分類の原因も得たいという需要がある。このニューラルネットワークにおける分類の要因を得る技術としては、ニューラルネットワークが出力値を算出するに至った要因を数値で表した寄与度の値を特徴量の種別ごとに算出する技術が知られている。
特開平4-175964号公報 特開2006-43007号公報 特開2005-309078号公報
しかしながら、上記の従来技術では、原因の推定精度に対する処理時間や計算機資源の観点で効率が悪いという問題がある。
1つの側面では、精度のよい分類原因の推定を効率よく行うことを可能とする学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置を提供することを目的とする。
1つの案では、学習プログラムは、入力する処理と、クラス分けする処理と、生成する処理とをコンピュータに実行させる。入力する処理は、画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、特徴部分が含まれない画像群とを含む教師画像群の各画像を入力する。クラス分けする処理は、各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けする。生成する処理は、各画像における中間出力のクラス分け結果をもとに、ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を生成する。
本発明の1実施態様によれば、精度のよい分類原因の推定を効率よく行うことができる。
図1-1は、実施形態にかかる画像分類装置の機能構成例を示すブロック図である。 図1-2は、実施形態にかかる画像分類装置の機能構成例を示すブロック図である。 図2は、画像分類を説明する説明図である。 図3は、実施形態にかかる画像分類装置の動作例を説明する説明図である。 図4は、実施形態にかかる画像分類装置の動作例を示すフローチャートである。 図5は、中間出力を説明する説明図である。 図6は、ベイジアンネットワークの一例を示す説明図である。 図7は、ニューラルネットワークの一例を示す説明図である。 図8-1は、中間値ファイルの一例を示す説明図である。 図8-2は、計算結果ファイルの一例を示す説明図である。 図8-3は、中間出力リストの一例を示す説明図である。 図8-4は、クラス分類テーブルの一例を示す説明図である。 図9-1は、収穫時における対象画像の撮影を説明する説明図である。 図9-2は、対象画像の分析を説明する説明図である。 図10は、プログラムを実行するコンピュータの一例を示す図である。
以下、図面を参照して、実施形態にかかる学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
(実施形態について)
図1-1、図1-2は、実施形態にかかる画像分類装置の機能構成例を示すブロック図である。具体的には、図1-1は、分類原因の推定を行うための、ベイジアンネットワークに関するベイジアンネットワーク構築情報14aを生成する学習時(運用準備時)に関する機能構成例を示す図である。また、図1-2は、生成したベイジアンネットワーク構築情報14aを適用した原因推定器17により、画像分類器12における分類原因を推定する運用時に関する機能構成例を示す図である。
本実施形態では学習時の機能構成と、運用時の機能構成とを有する画像分類装置1を例示するが、学習時および運用時の機能構成は別々の装置としてもよい。例えば、図1-1に示す学習時の機能構成を有する学習装置と、図1-2に示す運用時の機能構成を有する画像分類装置とを分けてもよい。
図1-1に示すように、学習時の機能構成として、画像分類装置1は、画像記憶部10、学習制御部11、画像分類器12、中間出力抽出部13および原因推定用情報生成部14(以下、情報生成部14と略す)を有する。
画像記憶部10は、処理にかかる画像データを格納する。具体的には、画像記憶部10には、学習時に教師として用いる、原因ラベル付きの複数の教師画像10aが保存されている。原因ラベルは、画像分類器12における画像分類の原因となる所定の特徴が画像に含まれるか否かを示すラベルである。この原因ラベルは、画像の内容からユーザが事前に付与する。
例えば、車種を分類する画像分類器12でタクシー(cab)と分類される画像において、車体が黄色いためにタクシーと分類される教師画像10aには、「Yellow」などの原因ラベルが付与される。また、車体にタクシーサインを備えているためにタクシーと分類される教師画像10aには、「Sign」などの原因ラベルが付与される。また、車体が黄色であり、タクシーサインを備えている教師画像10aには、「Yellow」と「Sign」の両方の原因ラベルが付与される。
この原因ラベルをもとに、教師画像10aそれぞれは、所定の特徴部分が含まれる画像群(例えばラベルに「Yellow」がある)と、所定の特徴部分が含まれない画像群(例えばラベルに「Yellow」がない)とに分けることができる。
学習制御部11は、学習時における各部の処理を制御する。具体的には、学習制御部11は、ユーザによる起動指示の入力をもとに学習に関する処理を開始し、画像記憶部10に保存された各教師画像10aを画像分類器12に読み込ませる(入力する)。すなわち、学習制御部11は、入力部の一例である。
画像分類器12は、ImageNet等の大規模画像データセットにより、入力された画像の分類を行うように学習したニューラルネットワーク(NNと略す場合がある)である。例えば、本実施形態における画像分類器12は、入力された画像からの特徴抽出により分類するように、畳み込み層と、プーリング層とを交互に積み重ねた畳み込みニューラルネットワークである。なお、以後の説明では、ニューラルネットワーク(NN)および畳み込みニューラルネットワーク(CNN)について、特に区別しない場合は「NN」と略す場合がある。
図2は、画像分類を説明する説明図である。図2に示すように、教師画像10aを画像分類器12に入力した場合、例えば画像に含まれる物体の種類(図示例では車両の種類)を確率で示す分類結果10bが画像分類器12より出力される。具体的には、分類結果10bには、「cab」、「beach_wagon」、「police_van」、「ambulance」、「limousine」とする車両の種類ごとの確率(「1」を最大とする)が示されている。この分類結果10bにより、画像分類装置1では、確率が最も高い「cab」(タクシー)と教師画像10aを分類することができる。
図1に戻り、中間出力抽出部13は、各教師画像10aを入力した画像分類器12のNNにおける中間層の出力値を取得する。NNは、入力層に入力された画像を起点にして中間層において多段の畳み込み処理を行い、最終出力として出力層より分類結果10bを出力する。中間出力抽出部13では、画像分類器12のNNより、最終出力に至る途中の計算結果、すなわち畳み込み層などの中間層の出力値を中間出力として取得する。
例えば、CNNでは、各層に複数次元の畳み込みフィルタが存在し、縦×横×畳み込み次元数が各層の中間出力となる。分類原因となる特徴に対応する画像的要素は、位置に依存しないことが多い。例えば、画像における絶対位置は、撮影する角度等で容易に変わるのであまり意味を持たない。また、画像における相対位置は、手前の改装の畳み込みで反映されるものと考えられる。このため、中間出力抽出部13では、原因推定に特化するため、各層における縦×横の値の中から最大値を代表値として選び、この代表値を中間出力とする。そして、中間出力抽出部13は、各層の中間出力について、入力した教師画像10aセットの枚数分の値を取得する。
次いで、中間出力抽出部13は、取得した中間出力について、値の大小をもとにいくつかのクラスにクラス分けする。すなわち、中間出力抽出部13は、クラス分け部の一例である。
具体的には、中間出力抽出部13は、各層の中間出力ごとに、入力した教師画像10aセットの枚数分の値から平均値を求める。次いで、中間出力抽出部13は、求めた平均値を基準にして、各層の中間出力をクラス化する。なお、クラス分けする数や、クラス分類の基準は任意なものであってもよい。平均を基準とした3クラスへの分類例としては、平均値の125%以上=L、平均値の75%未満=S、それ以外(平均値近傍)=Mとしてクラス分けする。
また、中間出力抽出部13は、クラス分類の基準として求めた平均値などを、運用時に適用するためにメモリなどに格納しておく。これにより、運用時においても、学習時の同じ条件でクラス分けを行うことができる。
情報生成部14は、中間出力抽出部13のクラス分け結果、すなわち各教師画像10aにおける中間出力のクラス分け結果をもとに、各層の中間出力について中間出力のクラスごとの条件付確率表(Conditional Probability Table:以下、CPTと称する場合がある)を求める。そして、情報生成部14は、求めたCPTより画像分類器12のNNの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を確率で記述したベイジアンネットワーク(以下、BNと略す場合がある)に関するベイジアンネットワーク構築情報14aを生成する。すなわち、情報生成部14は、生成部の一例である。
BNは、エッジの元が原因ノード(例えば原因となる特徴)、結果が結果ノード(例えば分類結果)、原因ノードから結果ノードに至るまでの状態(条件)を中間のノード(例えば中間出力)とする非循環有向グラフである。ベイジアンネットワーク構築情報14aは、このBNを構築するための情報であり、例えば各ノードの依存関係を表すグラフ構造の情報と、各ノードの条件付確率表とを含むものである。
図1-2に示すように、運用時の機能構成として、画像分類装置1は、画像分類器12、中間出力抽出部13、画像分類制御部15、原因推定用ベイジアンネットワーク構築部16(以下、構築部16と略す)、原因推定器17および出力部18を有する。
画像分類制御部15は、運用時における各部の処理を制御する。具体的には、画像分類制御部15は、運用開始時におけるユーザの操作などをもとに、分類の対象となる対象画像15a(原因ラベルなし)の入力を受け付ける。次いで、画像分類制御部15は、対象画像15aを画像分類器12に入力する。すなわち、画像分類制御部15は、入力部の一例である。
画像分類器12は、入力された対象画像15aについて、教師画像10aと同様に分類結果を求め、画像分類制御部15に出力する。中間出力抽出部13は、教師画像10aと同様、対象画像15aを入力した画像分類器12のNNにおける中間層の出力値を取得し、クラス分けを行う。
また、画像分類制御部15は、対象画像15aについて中間出力抽出部13がクラス分けした中間出力をもとに、ベイジアンネットワーク構築情報14aより構築部16が構築したBNである原因推定器17を参照する。次いで、画像分類制御部15は、クラス分けした中間出力に対応する既知の確率値をもとに、ベイズの定理を用いてNNの分類結果が所定の特徴を原因とする確度を計算する。すなわち、画像分類制御部15は、計算部の一例である。
構築部16は、ベイジアンネットワーク構築情報14aをもとにBNを構築する。原因推定器17は、構築部16によりベイジアンネットワーク構築情報14aをもとに構築されたBNである。
出力部18は、対象画像15aの画像分類器12による分類結果および原因推定器17を用いて計算した、分類結果が所定の特徴を原因とする確度をファイルやディスプレイなどに出力する。
図3は、実施形態にかかる画像分類装置1の動作例を説明する説明図である。図3に示すように、学習時(S1)において、画像記憶部10は、所定の特徴部分が含まれる画像群と、所定の特徴部分が含まれない画像群とを含む教師画像10aのセットを画像分類器12に入力する。これにより、画像分類器12からは、各教師画像10aについて分類結果10bを得る。また、中間出力抽出部13は、各教師画像10aにおけるNN各層の中間出力群(各画像中間出力群13a)を得て、各画像中間出力群13aの値をクラス分けする。情報生成部14は、中間出力抽出部13のクラス分け結果をもとに、BNを構築するためのベイジアンネットワーク構築情報14aを生成する。
次いで、運用時(S2)では、学習時(S1)に生成したベイジアンネットワーク構築情報14aをもとに構築した原因推定器17により、対象画像15aの画像分類器12による分類結果が所定の特徴を原因とする確度を示す原因推定結果18aを得る。
具体的には、画像分類制御部15は、対象画像15aを画像分類器12に入力する。これにより、画像分類器12からは、対象画像15aについて分類結果10bを得る。また、中間出力抽出部13は、対象画像15aにおけるNN各層の中間出力群(対象画像中間出力群13b)を得て、対象画像中間出力群13bの値をクラス分けする。画像分類制御部15は、中間出力抽出部13のクラス分け結果をもとに原因推定器17を参照し、ベイズの定理を用いて対象画像15aの分類結果が所定の特徴を原因とする確度を計算する。出力部18は、画像分類制御部15の計算結果を原因推定結果18aとしてディスプレイなどに出力する。
ここで、上記の処理の詳細を説明する。図4は、実施形態にかかる画像分類装置1の動作例を示すフローチャートである。なお、図4におけるフローチャートにおいて、S10~S14は学習時(S1)の処理を示し、S15は運用時(S2)の処理を示す。
図4に示すように、処理が開始されると、学習制御部11は、画像記憶部10に格納された教師画像群(各教師画像10a)の画像分類器12への入力を行う(S10)。一般に、画像分類器12における学習済みのNNは、正方形の画像を用いて学習されている。よって、拡縮に対しては比較的頑強であることから、教師画像群の画像サイズや縦横比は問わず、学習制御部11は、NN入力時に固定サイズの正方形にリサイズして入力する。
次いで、中間出力抽出部13は、画像分類器12が各教師画像10aを処理する際の中間出力を取得する(S11)。
図5は、中間出力を説明する説明図である。図5に示すように、中間出力抽出部13は、畳み込み層などの中間層より、入力データ(例えば教師画像10a)に対して畳み込みおよび活性化を行って得られた中間出力10dをもとに、縦横平面の最大値(例えば「3」)を得ている。
具体的には、中間層では、教師画像10aに対し、例えば横線に強く反応するフィルタである畳み込みフィルタ12aを適用し、中間出力10cを得る。畳み込みフィルタ12aによる畳み込みでは、元データ(中間出力10c)と畳み込みフィルタ12aの対応する箇所を掛けて全体を合計する。例えば、図示例の左上隅では、0×(-1)+0×(-1)+0×(-1)+0×0+0×0+0×0+0×1+1×1+1×1=2となる。なお、画像の端部については0などで補完し、入力と出力の画像サイズを一致させてもよい。
次いで、活性化では、活性化関数(例えばReLU)を用いて中間出力10cの値を活性化し、中間出力10dを得る。例えば、CNNで一般的に適用される活性化関数ReLUは、y=0(x<0),y=x(x>=0)なので、負の出力が0になる。
次いで、中間出力抽出部13は、中間出力10dから縦横の平面の中で最大値を代表値として選び(図示例では「3」)、この中間層の中間出力として取得する。
図示例は、グレースケール相当(1ch)の例だが、入力がカラー(3ch)の場合、各チャネル用のフィルタ3枚で1組として扱う。3chの入力それぞれに各ch用のフィルタを畳み込み、3ch分合計して出力となる。図示例では、9×9×1のデータに3×3×1の畳み込みフィルタ12aを畳み込んで7×7×1の
出力を得ているが、9×9×3のデータに3×3×3のフィルタを畳み込んだ場合も出力は7×7×1になる。また、CNNの設計で、各畳み込み層には出力のチャネル数が設定される。例えば、入力が3chで出力が64chの場合は、この層で3枚1組の畳み込みフィルタが64組用いられることを示し、各組の出力の最大値である中間出力も64個存在することになる。
次いで、中間出力抽出部13は、教師画像群の枚数から各層の中間出力ごとに平均値を計算し、計算した平均値を基準として、各層の中間出力をクラス化する(S12)。例えば、中間出力抽出部13は、平均値の125%以上=L、平均値の75%未満=S、それ以外(平均値近傍)=Mとして、平均を基準とした3クラスに中間出力をクラス分けする。
また、S12では、中間出力抽出部13は、各層の中間出力について、教師画像群(各画像記憶部10)の原因(原因ラベル)ごとに、各クラスに分類された教師画像10aの枚数をカウントする。
一例として、教師画像群(各教師画像10a)は、cab(タクシー)と分類されるものであり、原因ラベルについて、(Yellow)が15枚、(Sign)が15枚、(Yellow)と(Sign)が15枚であるものとする。よって、原因の観点では、(Yellow)を含む(True)ものが30枚、(Yellow)を含まない(False)が15枚ある。同様に、(Sign)を含む(True)ものが30枚、(Sign)を含まない(False)が15枚ある。ただし、(Yellow)と(Sign)は独立しているので、以後の説明では(Yellow)の場合を例示し、(Sign)については説明を省略する。
(Yellow)を含む(True)ものが30枚あるので、(Yellow)を原因とする場合の、各層の中間出力における総事象数は30である。つまり、中間出力をL、M、Sにクラス分けした場合の、Lのカウント数、Mのカウント数、Sのカウント数の合計は30である。よって、(Yellow)を含む(True)の教師画像10aについて、各クラスに分類された教師画像10aの枚数を(Yellow)を原因とする場合の総事象数である30で割れば、中間出力のクラスごとの条件付確率が得られる。同様に、(Yellow)を原因としない(False)の教師画像10aについて、各クラスに分類された教師画像10aの枚数を(Yellow)を原因としない場合の総事象数である15で割れば、中間出力のクラスごとの条件付確率が得られる。
次いで、中間出力抽出部13は、特徴の有無における中間出力について、各クラスに分類された教師画像10aのカウント数をもとに、分類原因(特徴)の有無に対する中間出力の変化傾向の強さ、すなわち、特徴に対する中間出力の反応の強さを評価する寄与指数を計算する。この寄与指数は、評価値の一例である。寄与指数は、特徴の有無(True/False)でL、Sの事象数が大きく変わる中間出力を選別するための値であればよく、例えば(Yellow)の場合は次の式で計算できる。(Yellow)の寄与指数=(max(YTL,YTS)/min(YTL,YTS)×(max(YFL,YFS)/min(YFL,YFS)))
なお、YTL,YTS,YFL,YFSは次のとおりである。
YTL,YTS=(Yellow)が(True)の教師画像10aで、中間出力のクラス分類がLになった数とSになった数
YFL,YFS=(Yellow)が(False)の教師画像10aで、中間出力のクラス分類がLになった数とSになった数
また、中間出力抽出部13は、寄与指数の計算の前処理として、反応が弱そうな中間出力は予め除外しておいてもよい。例えば、中間出力抽出部13は、(Yellow)の場合、(True)の画像群に対してLの割合が多く、(False)の画像群に対してSの割合が多い中間出力(もしくはS、Lが逆)を計算対象とし、それ以外は除外する。また、中間出力抽出部13は、他の特徴(例えば(Sign))についても同様に処理することで、寄与指数を求める。
次いで、情報生成部14は、中間出力抽出部13が中間出力それぞれについて計算した寄与指数に基づき、複数の中間出力の中でベイジアンネットワーク(BN)に組み入れる中間出力を選別する(S13)。具体的には、情報生成部14は、複数の中間出力を寄与指数が大きい順に並べ、上位の中間出力から順にBNに組み入れるものとして選別する。これにより、画像分類装置1では、特徴に対する反応の強い中間出力をBNに組み入れることができる。なお、BNに組み込む中間出力の数については、任意であり、例えばユーザが事前に設定するものであってもよい。
次いで、情報生成部14は、S13で組み入れるものと選別した中間出力について、クラス化した中間出力を用いたBNの作成を行う(S14)。具体的には、情報生成部14は、所定の特徴を含む(例えば(Yellow)が(True))教師画像群および所定の特徴を含まない(例えば(Yellow)が(True))教師画像群について、各クラスに分類された教師画像10aの枚数をカウントし、各クラスの条件付確率表(CPT)を求める。そして、情報生成部14は、得られた各クラスのCPTを用いてBNを作成する。
図6は、ベイジアンネットワークの一例を示す説明図である。図6に示すように、ベイジアンネットワーク20は、所定の特徴(例えば(Yellow))から分類結果(例えば(タクシー))に至る因果関係を示す非循環有向グラフである。具体的には、ベイジアンネットワーク20において、エッジの元が原因(特徴)となるノード21であり、ノード21から途中のノード23を経た先が結果となるノード22である。ノード23は、結果に至るまでの複数の中間出力(中間出力-1、中間出力-2…中間出力-n)に対応する。
情報生成部14は、ベイジアンネットワーク20について、ノード22に至るノード23それぞれのCPTを求め、各ノードの繋がりを示す情報とともにベイジアンネットワーク構築情報14aを生成する。
例えば、情報生成部14は、原因(特徴)が(Yellow)であるノード21の値は目的地で更新されるので、初期値として(True)と(False)ともに0.5とする。そして、情報生成部14は、各中間出力のノード23では、特徴を含む(例えばYellowがTrue)教師画像群と、特徴を含まない(例えばYellowがFalse)の教師画像群のクラス分類結果を用いてCPTを計算する。
例えば、情報生成部14は、図6の下段に示すように、原因(特徴)が(Yellow)に関する中間出力-nについて、L、M、Sの状態ごとにCPTを計算する。
なお、YTL、YTM、YTS、YTT、YFL、YFM、YFS、YFTについては次のとおりである。
YTL=YellowがTrueの画像群のうち、中間出力-nでクラス分類がLになった枚数
YTM=YellowがTrueの画像群のうち、中間出力-nでクラス分類がMになった枚数
YTS=YellowがTrueの画像群のうち、中間出力-nでクラス分類がSになった枚数
YTT=YTL+YTM+YTS=YellowがTrueの画像群の総枚数
YFL=YellowがFalseの画像群のうち、中間出力-nでクラス分類がLになった枚数
YFM=YellowがFalseの画像群のうち、中間出力-nでクラス分類がMになった枚数
YFS=YellowがFalseの画像群のうち、中間出力-nでクラス分類がSになった枚数
YFT=YFL+YFM+YFS=YellowがFalseの画像群の総枚数
図4に戻り、運用時において、画像分類制御部15は、対象画像15aを画像分類器12に入力し、画像分類器12による画像分類を行う。この画像分類において、画像分類制御部15は、画像分類器12の中間出力値の、ベイジアンネットワーク構築情報14aをもとに構築したBN入力による原因推定を行う(S15)。すなわち、画像分類制御部15は、画像分類器12の中間出力をクラス分けした結果を中間出力抽出部13より得て、クラス分け結果をもとにBNを参照する。次いで、画像分類制御部15は、クラス分けした中間出力に対応する既知の確率値をもとに、ベイズの定理を用いて、分類結果が所定の特徴を原因とする確度を計算する。
具体的には、BNの機能(ベイズの定理)として、ネットワークの各ノードのCPTおよび確定したノードの状態があれば、残りの確定していないノードの状態、すなわち、原因(Yellowなど)の状態(True/False)の確率を、確定したノードを反映して計算できる。
例えば、各中間出力は、近似的に独立と仮定する。この中間出力が2(I1,I2)で、ある画像を入力してI1=L,I2=Sであった場合に、原因(Yellow)が該当する(True,YT)、該当しない(False,YF)確率の計算をベイズの定理を用いて計算する。
ベイズの定理は、P(B|A)=P(A|B)*P(B)/P(A)であるので、P(YT|I1L,I2S)、P(YF|I1L,I2S)は次のとおりになる。
P(YT|I1L,I2S)=P(YT|I1L)*P(YT|I2S)=(P(I1L|YT)*P(YT)/P(I1L))*(P(I2S|YT)*P(YT)/P(I2S))
P(YF|I1L,I2S)=P(YF|I1L)*P(YF|I2S)=(P(I1L|YF)*P(YF)/P(I1L))*(P(I2S|YF)*P(YF)/P(I2S))
BNを参照することで、上記の式における右辺は既知であるので、P(YT|I1L,I2S)、P(YF|I1L,I2S)を計算することができる。よって、画像分類制御部15は、対象画像15aにおいて原因(Yellow)が該当するか否かの確度を求めることができる。
出力部18は、対象画像15aの画像分類器12による分類結果とともに、画像分類制御部15が計算した、分類結果が所定の特徴を原因とする確度を出力する。この出力では、確率値をそのまま出力してもよいし、原因に合致するか否かを所定の閾値(例えば平均値)で2値化して出力してもよい。
(具体例について)
次に、りんごの等級分類に画像分類装置1を適用した具体例を説明する。各りんごの市場価値の目安として、大きさを示す階級と、品質を示す等級とがある。階級は重さからほぼ自明であるが、等級は、色、形、傷の有無など、様々な原因が影響する。したがって、ある等級に分類された原因が解析できると、原因に対応した農薬散布、剪定などの栽培方針を決めることができ、等級のより高いりんごの大量生産が望めることとなる。
まず、前提として、学習済みのNNでりんごの画像から自動で等級判定システムがあるものとする。具体的には、入力は、りんご画像(カラー:RGBを3チャネル,サイズ:固定(300×300など))をベクトル化したものとする。出力は、りんごの等級の2値出力(秀または優であり、秀>優の順に価値があり、秀の確率と優の確率は足して1とする)とする。
図7は、ニューラルネットワークの一例を示す説明図である。図7に示すように、前提とするニューラルネットワーク30は、入力層(InputLayer)と、出力層(Activation)を除き、10層の畳み込み層31(Conv2D)を有するものとする。このニューラルネットワーク30は、秀のりんご画像:1万枚と、優のりんご画像:1万枚とにより学習済みである。また、ニューラルネットワーク30は、上記の学習により、未知のりんご画像に対する秀と優の判定を、正解率97%程度で実現できるものとする。
農家(ユーザ)は、等級が優のりんご画像群のうち、色・形・傷の3つの原因(特徴)について、原因を含む画像群と含まない画像群の教師画像10aのセットを作成する。
例えば、次のような教師画像10aのセットを作成する。
・色の原因を含む優の画像群(色に問題があり優になっている):50枚
・色の原因を含まない優の画像群(優ではあるが色が問題ではない):50枚
・形の原因を含む優の画像群(形に問題があり優になっている):50枚
・形の原因を含まない優の画像群(優ではあるが形が問題ではない):50枚
・傷の原因を含む優の画像群(傷があることで優になっている):50枚
・傷の原因を含まない優の画像群(優ではあるが傷が問題ではない):50枚
以上、合計300枚の教師画像10aのセットを作成する。ただし、ニューラルネットワーク30の学習時の教師データと重複していてもよいものとする。また、最終的な精度の検証のために、上記とは別に各分類5~10枚程度の検証用画像群を用意してもよい。
ついで、ニューラルネットワーク30に対し、教師画像10aのセットの300枚の画像を入力し、中間出力抽出部13は、中間出力を取得する。
教師画像10aのセットはすべて優のりんご画像から選んでいるので、各画像の判定結果はほぼすべて優になる。各層の出力は、「縦×横×フィルタ次元数」の形式になっている。例えば図7に例示したニューラルネットワーク30の1層目の畳み込み層31(conv2d_1)の出力は、「298×298×64」であるが、縦×横の中では最大値を代表値として用いるので、conv2d_1で利用可能な中間出力は64個となる。中間出力抽出部13は、教師画像10aのセットの300枚それぞれについて、全ての畳み込み層の中間出力の値を取得してファイル等に保存する。
図8-1は、中間値ファイルの一例を示す説明図である。図8-1に示すように、中間出力抽出部13は、各原因を含む/含まない画像グループごとに中間出力の値を中間値ファイル50として保存する。なお、中間出力を識別して使用する要件はあるので、画像グループと中間出力に一意名を付けて中間値ファイル50に保存する。
次いで、中間出力抽出部13は、教師画像10aのセットに対するニューラルネットワーク30の中間出力値のデータから、各中間出力の平均値と、中間出力値をクラス化する場合の基準、および各中間出力に対する教師画像10aセットのグループ別のクラス分類枚数を計算する。次いで、中間出力抽出部13は、計算結果をファイル等に保存する。
図8-2は、計算結果ファイルの一例を示す説明図である。中間出力抽出部13は、上記の計算結果を図8-2に示すような計算結果ファイル51として保存する。
具体的には、中間出力の平均値は、教師画像10aセットの300枚すべての平均値である。中間出力抽出部13は、この平均値を基準に、平均値の125%以上=L,平均値の75%未満=S,それ以外=Mとする閾値を求める。そして、中間出力抽出部13は、求めた閾値を用いてクラス分けを行う。図示例では、「conv2d_1_0」が中間出力について、L:21枚、M:18枚、S:11枚にクラス分けしている。なお、中間出力ごとの平均値とクラス分類基準(閾値)は運用時にも使用するので、アクセスしやすいように中間出力ごとに結果をまとめて計算結果ファイル51に保存する。
次いで、情報生成部14は、色、形、傷それぞれの原因の有無を推定するベイジアンネットワークを作成するため、それぞれの原因を含む画像グループと含まない画像グループの中間出力値の傾向の差が大きい中間出力を選別する。
例えば、色の原因について、情報生成部14は、寄与指数より中間出力(conv2d_1_0など)の順位付けを行う。寄与指数については、色の原因を含むグループ(color_true)と含まないグループ(color_false)双方でのL/M/Sの内訳は計算済みであり、Mは除外してLとSを用いて求める。また、color_trueでL>Sの場合にcolor_falseでS>L、またはその逆になっていない中間出力は、寄与指数の計算に至らず足切りとする。そして、残った各中間出力について寄与指数を計算し、大きいものから順に並べる。
例えば、ニューラルネットワーク30に含まれる中間出力の総計は3904個であるが、100個の中間出力を用いてBNを作成することとし、判定寄与指数上位100位までの中間出力を選別する。色と同様に、形と傷についても寄与指数を計算して上位100位までの中間出力を選別する。原因ごとに別々のBNを作成するため、中間出力の選別は原因ごとに完全に独立した作業となり、中間出力の重複などについて考慮する必要は無いものとする。情報生成部14は、原因ごとの中間出力の選別結果を中間出力リストとして保存する。
図8-3は、中間出力リストの一例を示す説明図である。図8-3に示すように、情報生成部14は、「色(color)」原因の中間出力を寄与指数の上位100まで列挙した中間出力リスト52aを保存する。同様に、「形(shape)」原因、「傷(damege)」原因についても中間出力リスト52b、52cとして保存する。
ここで、中間出力のクラス分類状況から寄与指数を計算して中間出力を選別する具体例を説明する。図8-4は、クラス分類テーブルの一例を示す説明図である。
図8-4に示すように、中間出力のクラス分類状況は、クラス分類テーブル53のとおりであるものとする。なお、説明のため、原因は色(color)とし、中間出力は、conv2d_1_0、conv2d_1_1、conv2d_1_2の3つとする。教師画像10aセットにおいて、色の原因を含むグループ(color_true)は50枚、含まないグループ(color_false)も50枚とする。クラス分類テーブル53は、この教師画像10aセットをニューラルネットワーク30に入力して各中間出力の値をL/M/Sにクラス化した結果とする。
情報生成部14は、例えばクラス分類テーブル53をもとに、寄与指数を計算する。ここで、color_trueとcolor_falseでLとSの大小関係が逆になっていない中間出力は足切り対象となる。conv2d_1_2は両者ともにS>Lの関係となっているので、足切り対象(判定寄与指数を計算しない)となる。
色についての寄与指数の計算は次の式のとおりである。
寄与指数=(max(CTL,CTS)/min(CTL,CTS))×( max(CFL,CFS)/min(CFL,CFS))
なお、CTL,CTSは、color_trueの画像で、中間出力のクラス分類がLになった数とSになった数である。CFL,CFSは、color_falseの画像で、中間出力のクラス分類がLになった数とSになった数である。
色について、conv2d_1_0では、寄与指数=(21/11)×(25/16)=2.983である。また、色について、conv2d_1_1では、寄与指数=(38/4)×(29/7) = 39.357である。これら寄与指数により、色の原因について用いる中間出力は以下の順となる。
1:conv2d_1_1
2:conv2d_1_0
使用しない:conv2d_1_2
次いで、情報生成部14は、色、形、傷の各原因の有無を推定するBNを構築するためのベイジアンネットワーク構築情報14aを生成する。なお、BNの構築に関しては、様々な公知のソフトウエアを用いいてもよい。例えば、Python用のOSSであればPomegranateなどがある。
例えば、色の原因についてのBNを構築することとすると、一般に、BNのノードには任意の名前を付けることができるので、目的となる原因のノード21(例えばYellow)には、原因の名称(色の原因なら”色”や”color”など)を付ける。また、中間出力のノード23(例えば中間出力-1)は、中間出力リスト52aに選別した上位100位までの中間出力に対応する100個のノードを作成し、それぞれの中間出力の一意名(conv2d_1_0など)を付ける。なお、教師画像10aセットに対するニューラルネットワーク30の出力はすべて優になるので、判定結果のノード22は作成しなくてよい。CPTについては、色の原因のノード21では、True(色の原因を含んでいる)とFalse(色の原因を含んでいない)ともに確率は初期値として0.5とする。各中間出力のノード23では、グループ別のクラス分類数を用いて、色がTrue(color_true)の時のL/M/Sの確率および色がFalse(color_false)の時のL/M/Sの確率を計算してCPTとして設定する。色以外にも形および傷に関するBNを同様に作成し、構築に利用したソフトウエアの形式でベイジアンネットワーク構築情報14aを保存する。
続いて、適用時について説明する。適用においては、収穫時に撮影したりんごの画像を対象画像15aとするものとする。なお、この対象画像15aには、GPS(Global Positioning System)を用いた収穫時の位置情報が付与されているものとする。
図9-1は、収穫時における対象画像15aの撮影を説明する説明図である。図9-1に示すように、ユーザHは、カメラ60、GPS61および写真ストレージ62を有する例えばスマートフォンなどの携帯端末2を用いて、収穫時のりんごを撮影するものとする。これにより、写真ストレージ62には、りんごを含む対象画像15aが収穫時の位置情報(GPS座標)とともに格納される。
図9-2は、対象画像15aの分析を説明する説明図である。図9-2に示すように、撮影した対象画像15aを画像分類装置1に入力することで、中間出力抽出部13による等級分類の分類結果が得られる。また、画像分類装置1は、画像分類器12の中間出力値をクラス化し、色、形、傷原因のそれぞれに関するベイジアンネットワーク構築情報14aをもとに構築した原因推定器17を参照して色、形、傷それぞれの原因の確度を計算する。なお、色については原因推定器(色原因)17aにより、形については原因推定器(形原因)17bにより、傷については原因推定器(傷原因)17cにより、確度の計算が行われる。
具体的には、クラス化した中間出力値が求まると、BNを参照することで、その条件下での色、形、傷の原因が含まれる確率が計算できる。例えば、中間出力値が決まった時の原因のTrue/Falseの確率は、ベイズの定理から原因がTrue/Falseである時の中間出力値の各クラスの確率から求めることができる。すなわち、BNを用いて色、形、傷それぞれのTrue/Falseの確率が計算できる。例えば、色原因のBNでは、優のりんご画像入力時の中間出力のうち色原因のBNに含まれる100個の中間出力値を取得してクラス化し、2個の中間出力を使用する場合の式を100個に拡張した式で計算すると、色がTrueの確率と色がFalseの確率が求まる。よって、色がTrueの確率の方が高かった場合や、平均値等ストレージ19に格納された平均値より高かった場合に、その画像が優と判定された原因のひとつが色の問題であったと判断できる。同様に、形と傷についても独立に判断できる。なお、色、形、傷ともにTrueの確率の方が平均値より低い場合は、原因不明と判断してもよい。
出力部18は、原因推定器(色原因)17aより求めた色の原因(問題)の有無、原因推定器(形原因)17bより求めた形の原因(問題)の有無、原因推定器(傷原因)17cより求めた傷の原因(問題)の有無をディスプレイなどに出力する。
例えば、出力部18は、対象画像15aのGPS座標をもとに、収穫時のりんごの位置を地図上に表示した結果マップ18bにおいて、画像分類器12における分類結果(等級)、優における色原因、形原因、傷原因の分布を表示してもよい。これにより、ユーザは、優と分類されたりんごと、その原因の分布状態を容易に確認することができる。したがって、ユーザは、原因の分布に対応した栽培方針を容易に決めることができる。
(効果について)
以上のように、画像分類装置1は、学習時(運用準備時)において、学習制御部11の制御のもと、分類の特徴となる所定の特徴部分が含まれる画像群と、特徴部分が含まれない画像群とを含む複数の教師画像10aを画像記憶部10より読み出す。次いで、画像分類装置1は、読み出した各教師画像10aを、画像を分類するニューラルネットワークである画像分類器12に入力する。画像分類装置1の中間出力抽出部13は、各教師画像10aを入力した画像分類器12のニューラルネットワークの中間層における中間出力をクラス分けする。画像分類装置1の情報生成部14は、各教師画像10aにおける中間出力のクラス分け結果をもとに、ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を生成する。具体的には、情報生成部14は、各教師画像10aにおける中間出力のクラス分け結果をもとに中間出力のクラスごとの条件付確率表を求めて因果関係を確率で記述したベイジアンネットワークに関するベイジアンネットワーク構築情報14aを生成する。
これにより、画像分類装置1は、運用時において、ベイジアンネットワーク構築情報14aに基づく原因推定器17、すなわちベイジアンネットワーク構築情報14aによるベイジアンネットワーク20を構築する。そして、画像分類装置1は、分類の対象画像15aを画像分類器12に入力した際の、画像分類器12の中間出力のクラス分け結果をもとに、原因推定器17より画像分類器12の分類結果が所定の特徴を原因とする確度を求めることができる。
具体的には、画像分類装置1は、画像分類制御部15の制御のもと、画像分類器12に分類の対象画像15aを入力する。次いで、中間出力抽出部13は、画像分類器12のニューラルネットワークの中間層から得られた中間出力をクラス分けする。画像分類装置1の構築部16は、ベイジアンネットワーク構築情報14aをもとに、ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を確率で記述したベイジアンネットワーク20、すなわち原因推定器17を構築する。画像分類制御部15は、中間出力抽出部13がクラス分けした中間出力をもとに、原因推定器17を参照して対象画像15aの入力に対する画像分類器12の分類結果が所定の特徴を原因とする確度を計算する。出力部18は、画像分類制御部15が計算した確度を出力する。
画像を分類する画像分類器12における中間層の中間出力は、連続値を取り、値の大小に絶対的な意味があるわけではない。しかしながら、分類の特徴となる所定の特徴部分が含まれる画像群の教師画像セットを画像分類器12に入力した場合の中間出力と、特徴部分が含まれない画像群の教師画像セットを画像分類器12に入力した場合の中間出力との関係では、意味を有するものとなる。例えば、同一の分類結果となる場合であっても、特徴部分の有無に応じて所定の中間出力となる事象数に偏りが生じる。
本実施形態では、このような中間出力の性質を利用し、画像分類器12の中間出力を条件として所定の特徴から分類結果に至る因果関係を確率で記述したベイジアンネットワーク20を作成する。これにより、運用時には、分類の対象画像15aにおける画像分類器12の中間出力をもとにベイジアンネットワーク20を参照することで、例えばベイズの定理により、分類結果が所定の特徴を原因とする確度を求めることができる。また、中間出力については、連続値のまま扱うのではなく、クラス分けにより、いずれかのクラスへの絞り込みが行われるようにする。これにより、過大で低速なBNとなることを抑止し、計算機資源の観点で効率よく分類原因の推定を行うことができる。
また、中間出力抽出部13は、画像分類器12のニューラルネットワークの中間層における複数の中間出力の平均を基準としてクラス分けを行う。これにより、画像分類装置1では、画像の特徴部分に対する画像分類器12の中間出力の反応が最も弱いものと想定される平均を基準とし、画像の特徴部分に対する反応の強さに応じたクラス分けを行うことができる。
また、中間出力抽出部13は、画像分類器12のニューラルネットワークの中間層における複数の中間出力それぞれについて、平均から外れたクラスへ分けられた数に基づき、所定の特徴に関連する反応の強さを評価する評価値を計算する。そして、情報生成部14は、複数の中間出力それぞれについて計算した評価値に基づき、複数の中間出力の中でベイジアンネットワーク20に組み入れる中間出力を選別する。一例として、情報生成部14は、評価値の高い順に、上位所定数の中間出力をベイジアンネットワーク20に組み入れるように選別する。これにより、画像分類装置1は、計算量削減のためにベイジアンネットワーク20の規模を小さくする場合であっても、例えば評価値の高い中間出力をベイジアンネットワーク20に組み入れているので、原因推定の精度が低下することを抑止できる。
例えば、実験用画像セットによる評価として、同ノード数(15)のBNを、評価値の上位順に抽出した中間出力で作成した場合と、ランダムに抽出した中間出力で作成した場合とで比較した。上位順に抽出した場合には正解率=83%なのに対し(何回試行しても結果は同一)、ランダムに抽出した場合には平均の正解率=49%(3回平均)であった。
また、画像分類器12のニューラルネットワーク(例えばニューラルネットワーク30)は、畳み込みニューラルネットワーク(CNN)である。そして、クラス分けする中間出力は、畳み込み層31~40からの出力である。例えば、画像の分類に起因する特徴部分については、畳み込み層の中間出力において顕著に現れると考えられる。したがって、畳み込み層の中間出力をクラス分けして原因推定に関するベイジアンネットワーク20のノードとして組み入れることで、ニューラルネットワークの分類結果に関する原因推定を精度よく行うことが可能となる。
(その他)
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
画像分類装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、画像分類装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図10は、プログラムを実行するコンピュータの一例を示す図である。
図10に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203と、スピーカ204とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置205と、各種装置と接続するためのインタフェース装置206と、有線または無線により外部機器と通信接続するための通信装置207とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM208と、ハードディスク装置209とを有する。また、コンピュータ200内の各部(201~209)は、バス210に接続される。
ハードディスク装置209には、上記の実施形態で説明した機能構成(例えば画像記憶部10、学習制御部11、画像分類器12、中間出力抽出部13、情報生成部14、構築部16、原因推定器17および出力部18)における各種の処理を実行するためのプログラム211が記憶される。また、ハードディスク装置209には、プログラム211が参照する各種データ212が記憶される。入力装置202は、例えば、コンピュータ200の操作者から操作情報の入力を受け付ける。モニタ203は、例えば、操作者が操作する各種画面を表示する。インタフェース装置206は、例えば印刷装置等が接続される。通信装置207は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
CPU201は、ハードディスク装置209に記憶されたプログラム211を読み出して、RAM208に展開して実行することで、実施形態で説明した機能構成に関する各種の処理を行う。なお、プログラム211は、ハードディスク装置209に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラム211を、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にプログラム211を記憶させておき、コンピュータ200がこれらからプログラム211を読み出して実行するようにしてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力し、
前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けし、
前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係を示す情報を生成する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
(付記2)前記クラス分けする処理は、前記中間層における複数の中間出力の平均を基準としてクラス分けを行う、
ことを特徴とする付記1に記載の学習プログラム。
(付記3)前記クラス分けする処理は、前記所定の特徴部分が含まれる画像群の前記中間出力それぞれについて各クラスへ分けられた数と、前記所定の特徴部分が含まれない画像群の前記中間出力それぞれについて各クラスへ分けられた数とに基づき、前記所定の特徴に関連する反応の強さを評価する評価値を計算し、
前記生成する処理は、前記中間出力それぞれについて計算した評価値に基づき、複数の前記中間出力の中で前記ベイジアンネットワークに組み入れる中間出力を選別する、
ことを特徴とする付記2に記載の学習プログラム。
(付記4)前記生成する処理は、前記各画像における中間出力のクラス分け結果をもとに前記中間出力のクラスごとの条件付確率表を求めて前記因果関係を確率で記述したベイジアンネットワークに関する情報を生成する、
ことを特徴とする付記1乃至3のいずれか一に記載の学習プログラム。
(付記5)前記ニューラルネットワークは、畳み込みニューラルネットワークであり、
前記中間出力は、畳み込み層からの出力である、
ことを特徴とする付記1乃至4のいずれか一に記載の学習プログラム。
(付記6)画像を分類するニューラルネットワークに分類の対象画像を入力し、
前記ニューラルネットワークの中間層から得られた中間出力をクラス分けし、
クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算し、
計算した前記確度を出力する、
処理をコンピュータに実行させることを特徴とする画像分類プログラム。
(付記7)画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力し、
前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けし、
前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係を示す情報を生成する、
処理をコンピュータが実行することを特徴とする学習方法。
(付記8)前記クラス分けする処理は、前記中間層における複数の中間出力の平均を基準としてクラス分けを行う、
ことを特徴とする付記7に記載の学習方法。
(付記9)前記クラス分けする処理は、前記所定の特徴部分が含まれる画像群の前記中間出力それぞれについて各クラスへ分けられた数と、前記所定の特徴部分が含まれない画像群の前記中間出力それぞれについて各クラスへ分けられた数とに基づき、前記所定の特徴に関連する反応の強さを評価する評価値を計算し、
前記生成する処理は、前記中間出力それぞれについて計算した評価値に基づき、複数の前記中間出力の中で前記因果関係を示す情報に組み入れる中間出力を選別する、
ことを特徴とする付記8に記載の学習方法。
(付記10)前記生成する処理は、前記各画像における中間出力のクラス分け結果をもとに前記中間出力のクラスごとの条件付確率表を求めて前記因果関係を確率で記述したベイジアンネットワークに関する情報を生成する、
ことを特徴とする付記7乃至9のいずれか一に記載の学習方法。
(付記11)前記ニューラルネットワークは、畳み込みニューラルネットワークであり、
前記中間出力は、畳み込み層からの出力である、
ことを特徴とする付記7乃至10のいずれか一に記載の学習方法。
(付記12)画像を分類するニューラルネットワークに分類の対象画像を入力し、
前記ニューラルネットワークの中間層から得られた中間出力をクラス分けし、
クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算し、
計算した前記確度を出力する、
処理をコンピュータが実行することを特徴とする画像分類方法。
(付記13)画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力する入力部と、
前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けするクラス分け部と、
前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係示す情報を生成する生成部と、
を有することを特徴とする学習装置。
(付記14)前記クラス分け部は、前記中間層における複数の中間出力の平均を基準としてクラス分けを行う、
ことを特徴とする付記13に記載の学習装置。
(付記15)前記クラス分け部は、前記所定の特徴部分が含まれる画像群の前記中間出力それぞれについて各クラスへ分けられた数と、前記所定の特徴部分が含まれない画像群の前記中間出力それぞれについて各クラスへ分けられた数とに基づき、前記所定の特徴に関連する反応の強さを評価する評価値を計算し、
前記生成部は、前記中間出力それぞれについて計算した評価値に基づき、複数の前記中間出力の中で前記因果関係を示す情報に組み入れる中間出力を選別する、
ことを特徴とする付記14に記載の学習装置。
(付記16)前記生成部は、前記各画像における中間出力のクラス分け結果をもとに前記中間出力のクラスごとの条件付確率表を求めて前記因果関係を確率で記述したベイジアンネットワークに関する情報を生成する、
ことを特徴とする付記13乃至15のいずれか一に記載の学習装置。
(付記17)前記ニューラルネットワークは、畳み込みニューラルネットワークであり、
前記中間出力は、畳み込み層からの出力である、
ことを特徴とする付記13乃至16のいずれか一に記載の学習装置。
(付記18)画像を分類するニューラルネットワークに分類の対象画像を入力する入力部と、
前記ニューラルネットワークの中間層から得られた中間出力をクラス分けするクラス分け部と、
クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算する計算部と、
計算した前記確度を出力する出力部と、
を有することを特徴とする画像分類装置。
1…画像分類装置
2…携帯端末
10…画像記憶部
10a…教師画像
10b…分類結果
10c、10d…中間出力
11…学習制御部
12…画像分類器
12a…畳み込みフィルタ
13…中間出力抽出部
13a…各画像中間出力群
13b…対象画像中間出力群
14…情報生成部
14a…ベイジアンネットワーク構築情報
15…画像分類制御部
15a…対象画像
16…構築部
17…原因推定器
17a…原因推定器(色原因)
17b…原因推定器(形原因)
17c…原因推定器(傷原因)
18…出力部
18a…原因推定結果
18b…結果マップ
19…平均値等ストレージ
20…ベイジアンネットワーク
21~23…ノード
30…ニューラルネットワーク
31~40…畳み込み層
50…中間値ファイル
51…計算結果ファイル
52a~52c…中間出力リスト
53…クラス分類テーブル
60…カメラ
61…GPS
62…写真ストレージ
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…スピーカ
205…媒体読取装置
206…インタフェース装置
207…通信装置
208…RAM
209…ハードディスク装置
210…バス
211…プログラム
212…各種データ
H…ユーザ

Claims (10)

  1. 画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力し、
    前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けし、
    前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係を示す情報を生成する、
    処理をコンピュータに実行させることを特徴とする学習プログラム。
  2. 前記クラス分けする処理は、前記中間層における複数の中間出力の平均を基準としてクラス分けを行う、
    ことを特徴とする請求項1に記載の学習プログラム。
  3. 前記クラス分けする処理は、前記所定の特徴部分が含まれる画像群の前記中間出力それぞれについて各クラスへ分けられた数と、前記所定の特徴部分が含まれない画像群の前記中間出力それぞれについて各クラスへ分けられた数とに基づき、前記所定の特徴に関連する反応の強さを評価する評価値を計算し、
    前記生成する処理は、前記中間出力それぞれについて計算した評価値に基づき、複数の前記中間出力の中で前記因果関係を示す情報に組み入れる中間出力を選別する、
    ことを特徴とする請求項2に記載の学習プログラム。
  4. 前記生成する処理は、前記各画像における中間出力のクラス分け結果をもとに前記中間出力のクラスごとの条件付確率表を求めて前記因果関係を確率で記述したベイジアンネットワークに関する情報を生成する、
    ことを特徴とする請求項1乃至3のいずれか一項に記載の学習プログラム。
  5. 前記ニューラルネットワークは、畳み込みニューラルネットワークであり、
    前記中間出力は、畳み込み層からの出力である、
    ことを特徴とする請求項1乃至4のいずれか一項に記載の学習プログラム。
  6. 画像を分類するニューラルネットワークに分類の対象画像を入力し、
    前記ニューラルネットワークの中間層から得られた中間出力をクラス分けし、
    クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算し、
    計算した前記確度を出力する、
    処理をコンピュータに実行させることを特徴とする画像分類プログラム。
  7. 画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力し、
    前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けし、
    前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係を示す情報を生成する、
    処理をコンピュータが実行することを特徴とする学習方法。
  8. 画像を分類するニューラルネットワークに分類の対象画像を入力し、
    前記ニューラルネットワークの中間層から得られた中間出力をクラス分けし、
    クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算し、
    計算した前記確度を出力する、
    処理をコンピュータが実行することを特徴とする画像分類方法。
  9. 画像を分類するニューラルネットワークに対し、分類の特徴となる所定の特徴部分が含まれる画像群と、前記特徴部分が含まれない画像群とを含む教師画像群の各画像を入力する入力部と、
    前記各画像を入力したニューラルネットワークの中間層における中間出力をクラス分けするクラス分け部と、
    前記各画像における中間出力のクラス分け結果をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として前記所定の特徴から分類結果に至る因果関係を示す情報を生成する生成部と、
    を有することを特徴とする学習装置。
  10. 画像を分類するニューラルネットワークに分類の対象画像を入力する入力部と、
    前記ニューラルネットワークの中間層から得られた中間出力をクラス分けするクラス分け部と、
    クラス分けした前記中間出力をもとに、前記ニューラルネットワークの中間出力がいずれのクラスであるかを条件として所定の特徴から分類結果に至る因果関係を示す情報を参照して前記対象画像の入力に対する前記ニューラルネットワークの分類結果が前記所定の特徴を原因とする確度を計算する計算部と、
    計算した前記確度を出力する出力部と、
    を有することを特徴とする画像分類装置。
JP2018159651A 2018-08-28 2018-08-28 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置 Active JP7119774B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018159651A JP7119774B2 (ja) 2018-08-28 2018-08-28 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018159651A JP7119774B2 (ja) 2018-08-28 2018-08-28 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置

Publications (2)

Publication Number Publication Date
JP2020035103A JP2020035103A (ja) 2020-03-05
JP7119774B2 true JP7119774B2 (ja) 2022-08-17

Family

ID=69668219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018159651A Active JP7119774B2 (ja) 2018-08-28 2018-08-28 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置

Country Status (1)

Country Link
JP (1) JP7119774B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111755118B (zh) * 2020-03-16 2024-03-08 腾讯科技(深圳)有限公司 医疗信息处理方法、装置、电子设备及存储介质
JP7517093B2 (ja) 2020-11-09 2024-07-17 富士通株式会社 データ生成プログラム、データ生成方法および情報処理装置
CN113674856B (zh) * 2021-04-15 2023-12-12 腾讯科技(深圳)有限公司 基于人工智能的医学数据处理方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5342191B2 (ja) 2007-08-14 2013-11-13 ゼネラル・エレクトリック・カンパニイ ガスタービンにおける燃焼ライナ止め具

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05342191A (ja) * 1992-06-08 1993-12-24 Mitsubishi Electric Corp 経済時系列データ予測及び解析システム
EP3291146A1 (en) * 2016-09-05 2018-03-07 Fujitsu Limited Knowledge extraction from a convolutional neural network
JP7032623B2 (ja) * 2017-10-31 2022-03-09 株式会社デンソー 推論装置、推論方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5342191B2 (ja) 2007-08-14 2013-11-13 ゼネラル・エレクトリック・カンパニイ ガスタービンにおける燃焼ライナ止め具

Also Published As

Publication number Publication date
JP2020035103A (ja) 2020-03-05

Similar Documents

Publication Publication Date Title
JP6873237B2 (ja) 画像ベースの車両損害評価方法、装置、およびシステム、ならびに電子デバイス
CN109918969B (zh) 人脸检测方法及装置、计算机装置和计算机可读存储介质
RU2571545C1 (ru) Классификация изображений документов на основании контента
JP7119774B2 (ja) 学習プログラム、画像分類プログラム、学習方法、画像分類方法、学習装置および画像分類装置
US20150278710A1 (en) Machine learning apparatus, machine learning method, and non-transitory computer-readable recording medium
CN106295666B (zh) 获取分类器、检测对象的方法和装置及图像处理设备
WO2016107103A1 (zh) 图像主体区域的识别方法及装置
JP2019145040A (ja) 特徴表現装置、特徴表現方法、およびプログラム
WO2014174932A1 (ja) 画像処理装置、プログラム及び画像処理方法
JP5899179B2 (ja) 人物認識装置、人物認識方法、人物認識プログラムおよびその記録媒体
CN111767878B (zh) 嵌入式设备中基于深度学习的交通标志检测方法及系统
CN108776819A (zh) 一种目标识别方法、移动终端及计算机可读存储介质
US9418440B2 (en) Image segmenting apparatus and method
CN110033481A (zh) 用于进行图像处理的方法和设备
Li et al. Robust vehicle detection in high-resolution aerial images with imbalanced data
CN109543647B (zh) 一种道路异常识别方法、装置、设备及介质
CN104182722B (zh) 文本检测方法和装置以及文本信息提取方法和系统
JP2018072938A (ja) 目的物個数推定装置、目的物個数推定方法及びプログラム
JP6937508B2 (ja) 画像処理システム、評価モデル構築方法、画像処理方法及びプログラム
US20190332898A1 (en) Information processing apparatus for training neural network for recognition task and method thereof
CN103824090A (zh) 一种自适应的人脸低层特征选择方法及人脸属性识别方法
CN103793717A (zh) 判断图像主体显著性及训练其分类器的方法和系统
CN110689440A (zh) 基于图片识别的车险理赔识别方法、装置、计算机设备及存储介质
CN110599453A (zh) 一种基于图像融合的面板缺陷检测方法、装置及设备终端
CN115578616A (zh) 多尺度物体实例分割模型的训练方法、分割方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220526

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220718

R150 Certificate of patent or registration of utility model

Ref document number: 7119774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150