(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-27
(45)【発行日】2024-04-04
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240328BHJP
G06N 20/00 20190101ALI20240328BHJP
【FI】
G06T7/00 350B
G06N20/00
(21)【出願番号】P 2020213408
(22)【出願日】2020-12-23
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000243881
【氏名又は名称】名古屋電機工業株式会社
(74)【代理人】
【識別番号】110000660
【氏名又は名称】Knowledge Partners弁理士法人
(72)【発明者】
【氏名】宮下 裕生
(72)【発明者】
【氏名】石黒 恵介
【審査官】▲広▼島 明芳
(56)【参考文献】
【文献】国際公開第2020/245954(WO,A1)
【文献】国際公開第2020/012872(WO,A1)
【文献】特開2011-013924(JP,A)
【文献】飛谷 謙介,外3名,解説 認識・検出 スタイル特徴を利用したDNNによる印象推定に寄与する画像領域の可視化,画像ラボ 第31巻 第7号,日本,日本工業出版株式会社,2020年07月10日,第31巻
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06N 20/00
G06V 10/00 - 20/90
(57)【特許請求の範囲】
【請求項1】
入力画像が、空車の画像であることを示す空車クラスと駐車の画像であることを示す駐車クラスとの2つのクラスの何れであるかの判別に用いられる機械学習モデルに入力される
前記入力画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いを示す寄与度を、クラス毎に
画素値として取得する取得部と、
前記空車クラスについての画素値>前記駐車クラスについての画素値となる場合には前記空車クラスについての画素値-前記駐車クラスについての画素値の大きさ、
前記空車クラスについての画素値<前記駐車クラスについての画素値となる場合には前記駐車クラスについての画素値-前記空車クラスについての画素値の大きさ、
に応じて、対応する画素を異なる色で着色した画像を、前記取得部により取得されるクラス毎の寄与度の比較結果を示す比較情報
として導出する導出部と、
を備える情報処理装置。
【請求項2】
前記導出部により導出される前記比較情報を表示する表示制御部をさらに備える請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、Grad-CAMで導出される画像の各画素値を、前記寄与度として取得する請求項1又は2に記載の情報処理装置。
【請求項4】
前記導出部は、さらに、一方のクラスの判別に対する前記寄与度が他方のクラスの判別に対する前記寄与度よりも大きい前記入力画像の領域、前記他方のクラスの判別に対する前記寄与度が前記一方のクラスの判別に対する前記寄与度よりも
大きい前記入力画像の領域、前記一方のクラスの判別に対する前記寄与度が前記他方のクラスの判別に対する前記寄与度と等しい前記入力画像の領域それぞれの存在割合を示す情報を導出する請求項1~
3のいずれか1項に記載の情報処理装置。
【請求項5】
情報処理装置が実行する情報処理方法であって、
入力画像が、空車の画像であることを示す空車クラスと駐車の画像であることを示す駐車クラスとの2つのクラスの何れであるかの判別に用いられる機械学習モデルに入力される
前記入力画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いを示す寄与度を、クラス毎に
画素値として取得するステップと、
前記空車クラスについての画素値>前記駐車クラスについての画素値となる場合には前記空車クラスについての画素値-前記駐車クラスについての画素値の大きさ、
前記空車クラスについての画素値<前記駐車クラスについての画素値となる場合には前記駐車クラスについての画素値-前記空車クラスについての画素値の大きさ、
に応じて、対応する画素を異なる色で着色した画像を、取得されたクラス毎の寄与度の比較結果を示す比較情報
として導出するステップと、
を含む情報処理方法。
【請求項6】
コンピュータを、
入力画像が、空車の画像であることを示す空車クラスと駐車の画像であることを示す駐車クラスとの2つのクラスの何れであるかの判別に用いられる機械学習モデルに入力される
前記入力画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いを示す寄与度を、クラス毎に
画素値として取得する取得部、
前記空車クラスについての画素値>前記駐車クラスについての画素値となる場合には前記空車クラスについての画素値-前記駐車クラスについての画素値の大きさ、
前記空車クラスについての画素値<前記駐車クラスについての画素値となる場合には前記駐車クラスについての画素値-前記空車クラスについての画素値の大きさ、
に応じて、対応する画素を異なる色で着色した画像を、前記取得部により取得されるクラス毎の寄与度の比較結果を示す比較情報
として導出する導出部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
機械学習されたモデルを用いた画像のクラス判別において、クラス判別の判断の根拠となった画像内の領域を可視化する技術がある。
非特許文献1には、CNNの判断根拠の可視化技術であるGrad-CAM(Gradient-weighted Class Activation Mapping)が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】R. R. Selvaraju、 M. Cogswell、 A.Das、 R. Vedantam、 D. Parikh、 D. Batra、 "Grad-CAM: VisualExplanations from Deep Networks via Gradient-based Localization、"arXiv: 1610.02391v3、 2017.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、非特許文献1では、複数のクラスそれぞれに対応するヒートマップを表示する場合、複数のヒートマップにおける同じ領域の色が同じような色だと、その領域が何れのクラスの判別により寄与したかがユーザーにより把握できないという課題があった。
本発明は、前記課題にかんがみてなされたもので、画像の各領域が何れのクラスの判別により寄与したかについて、ユーザーによる把握を支援することを目的とする。
【課題を解決するための手段】
【0005】
前記の目的を達成するため、本発明の情報処理装置は、機械学習モデルに入力される入力画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いを示す寄与度を、クラス毎に取得する取得部と、前記取得部により取得されるクラス毎の寄与度の比較結果を示す比較情報を導出する導出部と、を備える。
【0006】
以上、説明した構成によれば、入力画像の領域毎に、クラス毎のクラス判別の寄与度の比較結果を示す比較情報を導出できる。この比較情報がユーザーに提示されるとユーザーは、入力画像の各領域がどのクラスの判別により寄与したかを容易に把握できる。すなわち、本発明の構成により、このようなユーザーによる把握を支援することができる。
【図面の簡単な説明】
【0007】
【
図1】情報処理装置の構成を示すブロック図である。
【
図5】評価画像の導出処理の概要を説明する図である。
【
図6】空車クラスについての評価画像を示す図である。
【
図7】駐車クラスについての評価画像を示す図である。
【発明を実施するための形態】
【0008】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)情報処理装置の構成:
(2)導出処理:
(3)他の実施形態:
【0009】
(1)情報処理装置の構成:
図1は、本発明の一実施形態にかかる情報処理装置10の構成を示すブロック図である。情報処理装置10は、制御部20と記録媒体30と表示部40とを備えている。制御部20は、CPUとRAMとROM等を備えたコンピュータであり、記録媒体30等に記録された導出プログラム21等の各種プログラムを実行する。導出プログラム21は、クラス判別対象の画像における各領域について、各クラスの判別に対する寄与度の比較結果を示す画像を導出する機能を制御部20に実行させるプログラムである。
【0010】
記録媒体30は、導出プログラム21等の各種プログラム、各種データを記録する。記録媒体30は、例えば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等である。本実施形態では、記録媒体30は、教師データ31、機械学習モデル32、原画像33、判定基準データ34、評価画像35、比較画像36等を記録する。
教師データ31は、機械学習モデル32の機械学習に用いられる教師データである。機械学習モデル32は、入力される画像のクラス判別に用いられるモデルである。ここで、モデルとは、クラス判別対象のデータと、クラス判別結果のデータと、の対応関係を示す情報(例えば、式等)である。本実施形態では、機械学習モデル32は、入力される画像が、駐車されている状況を示す駐車クラスと空車の状況を示す空車クラスとの2つのクラスのうちの何れであるかを判別するモデルである。また、本実施形態では、機械学習モデル32は、CNN(畳込みニューラルネットワーク)を含むモデルである。
【0011】
図2は、本実施形態の機械学習モデル32の構造を示す図である。
図2においては、CNNによるデータフォーマットの変化を直方体で示している。本実施形態の機械学習モデル32は、クラス判別対象の画像を示す画像データをCNNの入力層L
iへの入力データとし、1つ以上の畳込み層、1つ以上のプーリング層、全結合層L
nを経由して、出力層L
oの各ノードへ出力データが出力される。本実施形態では、機械学習モデル32のCNNに入力される画像データは、縦Hピクセル、横Wピクセルであり、各ピクセルについてR:赤、G:緑、B:青の3チャネルの階調値が規定されている。従って、
図2において入力層L
iの画像は、縦H、横W、奥行き3の直方体で模式的に示されている。
【0012】
図2においては、入力層L
iに入力された画像は、既定の大きさおよび個数のフィルターによる畳み込み演算、活性化関数による演算およびプーリング層の演算を経て縦H
1×横W
1×チャネルD
1の特徴マップに変換される例を示している。
図2においては、この後、複数の層を経て、最終的には、畳込み層の最終層である層L
mにおいて縦H
m×横W
m×チャネルD
mの特徴マップに変換される例を示している。CNNによって、縦H
m×横W
m×チャネルD
mの特徴マップが得られた後、全結合によって全結合層L
nの各ノードの値が得られる。全結合層L
nの各ノードの値を入力データとして、出力層L
oの各ノードの値が出力される。本実施形態の機械学習モデル32のCNNの出力層L
oには、空車クラス、駐車クラスにそれぞれ対応する2つのノードが含まれ、この2つのノードそれぞれには、入力された画像が対応するクラスに属する可能性の大きさに応じた値が出力される。また、畳込み層における特徴マップの各チャネルは、入力層L
iに入力された画像がフィルターによって畳込まれた形式のデータであり、各チャネルにおける各領域は、入力された画像における各領域と対応付いている。すなわち、畳込み層における特徴マップの各チャネルは、入力された画像における位置情報が維持されている。
【0013】
原画像33は、クラス判別の対象の画像であり、本実施形態では、駐車場における駐車スペースの画像である。判定基準データ34は、評価画像35同士の比較の基準を示す情報である。評価画像35は、対応するクラスの判別に対し、原画像33の各領域がどの程度寄与したかを示す画像であり、本実施形態では、Grad-CAMで得られるヒートマップである。比較画像36は、出力クラス毎の評価画像35の比較結果を示す画像である。表示部40は、各種情報を表示する。表示部40は、例えば、モニタ、タッチパネル等である。
【0014】
制御部20は、記録媒体30に記録された導出プログラム21を実行することで、学習部21a、判別部21b、取得部21c、導出部21d、表示制御部21eとして機能する。学習部21aは、機械学習モデル32を機械学習する機能である。判別部21bは、学習部21aにより機械学習された機械学習モデル32を用いて、原画像33のクラスを判別する機能である。取得部21cは、空車クラス判別、駐車クラス判別それぞれに対する、原画像33の各領域の寄与度を示す情報を取得する機能である。本実施形態では、取得部21cは、空車クラス判別、駐車クラス判別それぞれに対する、原画像33の各領域の寄与度を示す情報として、Grad-CAMで得られるヒートマップである評価画像35を取得する機能である。導出部21dは、取得部21cにより取得される出力クラス毎の寄与度の比較結果を示す情報を導出する機能である。以下では、出力クラス毎の寄与度の比較結果を示す情報を比較情報とする。本実施形態では、導出部21dは、この比較情報として比較画像36を導出する機能である。表示制御部21eは、導出部21dにより導出された比較情報(本実施形態では、比較画像36)を表示する機能である。
【0015】
(2)導出処理:
図3は、情報処理装置10が実行する導出処理の一例を示すフローチャートである。制御部20は、
図3の処理の開始前に、学習部21aの機能により、記録媒体30に予め記録された教師データ31を用いて、記録媒体30に予め記録された機械学習モデル32を機械学習する。ここで、教師データ31は、ラベルが対応付けられた複数の画像である。教師データ31の複数の画像それぞれは、原画像33と同一のフォーマット(縦横画素)の駐車スペースの画像であって、画像に含まれる駐車スペースに車両が駐車しているか否かのラベルが対応づけられている。制御部20は、教師データ31を入力データとして機械学習モデル32に入力し、出力を取得し、出力値と入力データに対応づけられたラベル(各ノードのいずれかが1)との差が少なくなるように、機械学習モデルの可変パラメータを変化させ、差が既定値以下になるまで演算を繰り返すことで、機械学習モデル32の機械学習を行う。そして、制御部20は、学習済みの機械学習モデル32を記録媒体30に記録する。
【0016】
図3の比較結果導出処理が開始されると、制御部20は、判別部21bの機能により、機械学習モデル32を用いたクラス判別を行う(ステップS100)。より具体的には、制御部20は、原画像33を入力画像として、機械学習モデル32による演算を行い、出力層L
oの各ノードの出力値を取得する。そして、制御部20は、出力値が最も大きいノードに対応するクラスを判別結果とする。ここでは、本実施形態で用いられる原画像33を
図4に示す。本実施形態では、原画像33は、
図4に示すように、駐車場における空車状態の駐車スペースの画像である。
【0017】
次に、制御部20は、取得部21cの機能により、機械学習モデル32が判別するクラス(空車クラスおよび駐車クラス)から1つを選択する(ステップS105)。以下では、最新のステップS105の処理で選択されたクラスを選択クラスとする。次に、制御部20は、取得部21cの機能により、機械学習モデル32のCNNにおける畳込み層の最終層である層L
mにおける特徴マップから1つのチャネルを選択する(ステップS110)。
図2の例では、制御部20は、層L
mで得られる縦H
m×横W
m×チャネルD
mの特徴マップから1つのチャネル(縦H
m×横W
mの特徴マップ)を選択する。以下では、最新のステップS110で選択されたチャネルを、選択チャネルとする。
【0018】
次に、制御部20は、取得部21cの機能により、選択クラスの判別に対する選択チャネルの重要さを示す重みを取得する(ステップS115)。ステップS115での処理の詳細を説明する。ここで、機械学習モデル32が判別するクラス(空車クラス、駐車クラス)のうち、選択クラスを示すインデックスをcとする。また、出力層L
oにおける選択クラスに対応するノードの出力値をy
cとする。また、層L
mにおける特徴マップにおけるD
m個のチャネルのうち、選択チャネルを示すインデックスをkとする。また、選択チャネルにおける特徴マップ(縦H
m×横W
mの特徴マップ)をA
kとする。A
kにおける画素数(H
m×W
m)をZとおく。A
kにおける横の位置、縦の位置を示すインデックスを、それぞれi、jとする。A
kにおける位置(i、j)の画素の画素値を、A
k
i、jとする。また、選択クラスの判別に対する選択チャネルの重みを、α
c
kとする。
制御部20は、以下の式1を用いて、重みα
c
kを取得する。
【数1】
【0019】
このように、制御部20は、選択チャネルの全画素について、y
cを選択チャネルの画素の値(A
k
i、j)で偏微分した値(δy
c/δA
k
i、j)、すなわち、y
cのA
k
i、jに対する勾配を、画素の選択クラスの判別への寄与の度合を示す指標として求める。そして、制御部20は、求めた指標の選択チャネルの全画素(Z個の画素)についての平均値を、重みα
c
kとして取得する。本実施形態では、制御部20は、式1におけるδy
c/δA
k
i、jを、以下のようにして求める。機械学習モデル32においては、層L
mの特徴マップの各画素の値が全結合層の各ノードとして結合され、全結合層の各ノード値を入力データとして、出力層L
oの各ノードの出力値が得られる。そのため、出力層L
oの各ノード値は、層L
mの特徴マップの各画素の値を引数とする関数として表すことができる。すなわち、y
cは、少なくともA
kを引数とする関数y
c(A
k
1、1、A
k
1、2、・・・、A
k
i、j、・・・、A
k
Wm、Hm)として表すことができる。そして、制御部20は、A
k
i、jの変動に応じたy
cの変動率を、δy
c/δA
k
i、jの値として求める。本実施形態では、制御部20は、以下の式2を用いて、δy
c/δA
k
i、jを求める。式2におけるhは、予め定められた実数である。
【数2】
【0020】
ただし、(δyc/δAk
i、j)を求める方法は、式2を用いる方法に限定されない。例えば、ycをAk
i、jで偏微分した式の情報であって、機械学習モデル32で用いられるパラメータ(ノードの結合の重み、畳込み等に用いられるフィルターの要素値、特徴マップの各画素の値等)で表される式の情報が予め記録媒体30に記録されているとしてもよい。この場合、制御部20は、この情報が示す式に各パラメータの値を代入することで、(δyc/δAk
i、j)を求めてもよい。
【0021】
次に、制御部20は、取得部21cの機能により、全チャネルを選択済であるか否か判定する(ステップS120)。すなわち、制御部20は、ステップS105において選択された選択クラスにおいて、層Lmにおける特徴マップにおける全てのチャネル(チャネル数Dm個分)について、ステップS110~ステップS120のループ処理を行ったか否かを判定する。選択クラスを選択した後で全チャネルを選択済であると、ステップS120において判定されない場合、制御部20は、ステップS110以降の処理を繰り返す。
【0022】
ステップS120において、選択クラスを選択した後で全チャネルを選択済であると判定された場合、制御部20は、取得部21cの機能により、各チャネルにおける特徴マップを重みに応じて合成し、選択クラスの評価画像を取得する(ステップS125)。具体的には、制御部20は、以下の式3を用いて、層L
mにおける特徴マップの全てのチャネルをステップS115で取得した重みをかけて線形結合することで、選択クラスについての評価画像35を取得する。
【数3】
【0023】
式3のL
c
Grad-CAMは、選択クラスについての評価画像35である。画像L
c
Grad-CAMの各画素の値は、対応する原画像における領域の選択クラスの判別への寄与の度合を示す指標(寄与度)となる。本実施形態では、制御部20は、式3を用いて、
図5に示すように、層L
mにおける特徴マップの全てのチャネルにおける特徴マップを、対応する重みと掛け合わせて足し合わせ、1つの縦H
m×横W
mの画像データとする。そして、制御部20は、ReLU関数により、この画像データにおける画素値が0未満の各画素の画素値を0にする。選択クラスの判別に寄与するのは、画素値が正の部分であると考えられる。そこで、制御部20は、このようにすることで、クラスの判別に寄与しない部分の情報量を低減できる。
【0024】
図6に、選択クラスが空車クラスである場合にステップS12
5で取得される評価画像35aを示す。また、
図7に、選択クラスが駐車クラスである場合にステップS12
5で取得される評価画像35bを示す。
図6、7では、評価画像35a、評価画像35bそれぞれは、ヒートマップで表されている。
図6、7では、評価画像35a、bの画素の値が大きいほど、その画素は、より明るい色(
図6、7の例では、より白い色)で表示される。これにより、ユーザーは、評価画像35を視認することで、より明るい領域に対応する原画像33の領域が、より対応するクラスの判別により寄与したことを直感的に把握できる。
【0025】
次に、制御部20は、取得部21cの機能により、機械学習モデル32で判別できるクラス(空車クラス、駐車クラス)の全てをステップS105で選択したか否かを判定する(ステップS130)。機械学習モデル32で判別できるクラス(空車クラス、駐車クラス)の全てをステップS105で選択したと判定されない場合、制御部20は、ステップS105以降の処理を繰り返す。このように、本実施形態では、制御部20は、ステップS105~ステップS130の処理を実行することで、Grad-CAMの手法により、原画像33の各領域のクラス判別への寄与度を示す評価画像35をクラス毎に取得する。
【0026】
ステップS130において選択していないクラスがあると判定された場合、制御部20は、導出部21dの機能により、ステップS125で取得された評価画像35aと、評価画像35bと、を画素毎に比較し、比較結果を示す比較画像36を導出する(ステップS135)。記録媒体30に記録された判定基準データ34は、評価画像35同士の比較の基準を示す。制御部20は、判定基準データ34に基づいて、評価画像35aと、評価画像35bと、の比較を行う。本実施形態では、判定基準データ34は、画素毎に、空車クラスの評価画像の画素値と駐車クラスの評価画像の画素値との差をとることで、画素値の比較を行うことを示す。
【0027】
ここで、
図8を用いて、ステップS135の処理の詳細を説明する。ステップS200において、制御部20は、導出部21dの機能により、ステップS125で取得した評価画像35と同じサイズの画像データを、初期化状態の比較画像36として生成する。本実施形態では、縦H
m×横W
mの画像データを生成し、RAMに記録する。次に、制御部20は、導出部21dの機能により、インデックスi、jを初期化する(ステップS205)。具体的には、制御部20は、画像中の画素の横の位置を示すインデックスiと、画像中の画素の縦の位置を示すインデックスjと、について値を1に初期化し、RAMに記録する。次に、制御部20は、導出部21dの機能により、評価画像35aにおける位置(i、j)の画素の画素値と、評価画像35bにおける位置(i、j)の画素の画素値と、を比較する(ステップS210)。具体的には、制御部20は、この2つの画素の画素値の大小関係(大小またはイコール)を特定する。
【0028】
次に、制御部20は、導出部21dの機能により、ステップS210での比較結果に応じて、比較画像36における位置(i、j)の画素を着色する(ステップS215)。本実施形態では、制御部20は、
図6に示す評価画像35aにおける位置(i、j)の画素の画素値が、
図7に示す評価画像35bにおける位置(i、j)の画素の画素値よりも大きい場合、比較画像36における位置(i、j)の画素を、第1の色で着色する。より具体的には、制御部20は、比較画像36における位置(i、j)の画素の画素値を、第1の色に応じた画素値にする。本実施形態では、第1の色は、黒とするが、赤、青、黄、緑等の他の色でもよい。
【0029】
また、制御部20は、
図6に示す評価画像35aにおける位置(i、j)の画素の画素値が、
図7に示す評価画像35bにおける位置(i、j)の画素の画素値よりも小さい場合、比較画像36における位置(i、j)の画素を、第1の色と異なる第2の色で着色する。より具体的には、制御部20は、比較画像36における位置(i、j)の画素の画素値を、第2の色に応じた画素値にする。本実施形態では、第2の色は、白色とするが、赤、青、黄、緑等の他の色でもよい。
【0030】
また、制御部20は、
図6に示す評価画像35aにおける位置(i、j)の画素の画素値が、
図7に示す評価画像35bにおける位置(i、j)の画素の画素値と等しい場合、比較画像36における位置(i、j)の画素を、第3の色で着色する。より具体的には、制御部20は、比較画像36における位置(i、j)の画素の画素値を、第3の色に応じた画素値にする。本実施形態では、第3の色は、灰色とするが、赤、青、黄、緑等の他の色でもよい。
【0031】
次に、制御部20は、導出部21dの機能により、インデックスiがWm以上であるか否かを判定する(ステップS220)。ステップS220においてインデックスiがWm以上であると判定されない場合、制御部20は、導出部21dの機能により、インデックスiの値をインクリメントし(ステップS230)、ステップS210以降の処理を繰り返す。
【0032】
ステップS220においてインデックスiがW
m以上であると判定された場合、制御部20は、導出部21dの機能により、インデックスiの値を1に初期化する(ステップS225)。次に、制御部20は、導出部21dの機能により、インデックスjがH
m以上であるか否かを判定する(ステップS235)。ステップS235において、インデックスjがH
m未満であると判定された場合、制御部20は、導出部21dの機能により、インデックスjの値をインクリメントし(ステップS240)、ステップS210以降の処理を繰り返す。一方、ステップS235において、インデックスjがH
m以上であると判定された場合、制御部20は、比較画像36が完成したとして
図8の処理を終了し、
図3に示すステップS140以降を実行する。以上の処理によれば、画素毎の色が比較結果に応じた色に着色された比較画像36であって、横W
m個、縦H
m個の画素からなる比較画像36が生成される。
図9に、
図8の処理で生成された比較画像36を示す。
【0033】
比較画像36の領域は、黒色、白色、灰色に分かれる。
図9の例では、比較画像36は、1つの黒色の領域361と、複数の白色の領域362と、複数の灰色の領域363と、に分かれている。
【0034】
比較画像36における黒色の領域は、原画像33における駐車クラスの判別よりも空車クラスの判別により寄与する領域に対応する領域である。
図9の例では、比較画像36と
図4の原画像33とのサイズを合わせて重ね合わせた場合に、原画像33における領域361と重なる領域は、駐車クラスの判別よりも空車クラスの判別により寄与する。比較画像36における白色の領域は、原画像33における空車クラスの判別よりも駐車クラスの判別により寄与する領域に対応する領域である。
図9の例では、比較画像36と原画像33とのサイズを合わせて重ね合わせた場合に、原画像33における領域362と重なる領域は、空車クラスの判別よりも駐車クラスの判別により寄与する。比較画像36における灰色の領域は、原画像33における駐車クラスの判別、空車クラスの判別に対する寄与度が同じ領域に対応する領域である。
図9の例では、比較画像36と原画像33とのサイズを合わせて重ね合わせた場合に、原画像33における領域363と重なる領域は、空車クラスの判別、駐車クラスの判別の何れにも寄与したと取れる領域である。
【0035】
ユーザーは、このような比較画像36を視認することで、原画像33における各領域が何れのクラスの判別により寄与したかをより容易に把握できる。例えば、
図9の比較画像36の場合、ユーザーは、黒色の領域361、白色の領域362、灰色の領域363を確認することで、空車クラスの判別により寄与した領域、駐車クラスの判別により寄与した領域、各クラスの判別への寄与度が同じ領域を把握できる。また、ユーザーは、比較画像36において、黒色の領域361が多く、空車クラスの判別により寄与する領域が多いことを直感的に把握できる。
【0036】
図3のフローチャートの説明に戻る。ステップS140において、制御部20は、表示制御部21eの機能により、ステップS135で導出した比較画像36を原画像33とステップS135で取得された評価画像35と並べて、表示部40に表示する。
図10に、ステップS140で表示部40に表示される画面を示す。なお、制御部20は、比較画像36、評価画像35a、b、原画像33を同じサイズにリサイズして、表示する。制御部20は、評価画像35については、ヒートマップ画像として表示する。この際に、制御部20は、各クラスについてのヒートマップ画像の各画素値の規格化を行う。すなわち、複数の評価画像35における画素値が等しい画素は、同じ色で表されることとなる。
【0037】
これにより、ユーザーは、原画像33と同じサイズの比較画像36を視認することで、比較画像36における各領域が、原画像33におけるどの領域であるかをより容易に把握できる。結果として、ユーザーは、原画像におけるどの領域がどのクラスの判別により寄与したかを、より容易に把握できる。また、制御部20は、比較画像36を、原画像33と並べて表示してもよい。これにより、ユーザーは、原画像33と比較画像36とを見比べることができ、比較画像36における各領域が、原画像33におけるどの領域であるかをより容易に把握できる。
【0038】
以上の構成により、情報処理装置10は、機械学習モデル32に入力される原画像33の領域が機械学習モデル32によるクラス判別に寄与した度合いを示す寄与度を、クラス毎に取得し、取得したクラス毎の寄与度の比較結果を示す比較画像36を導出する。これにより、原画像33の領域毎に、クラス毎のクラス判別の寄与度の比較結果を示す比較画像36を導出できる。この比較画像36がユーザーに提示されると、ユーザーは、原画像33の各領域がどのクラスの判別により寄与したかを容易に把握できる。すなわち、情報処理装置10は、このようなユーザーによる把握を支援することができる。
また、情報処理装置10は、導出した比較画像36を表示部40に表示することで、ユーザーは、比較画像36によって示される情報を、一見して把握することができる。
【0039】
また、情報処理装置10は、比較画像36における位置(i、j)の画素を、評価画像35aの位置(i、j)の画素の画素値が評価画像35bの位置(i、j)の画素の画素値よりも大きい場合と、評価画像35aの位置(i、j)の画素の画素値が評価画像35bの位置(i、j)の画素の画素値よりも小さい場合と、で異なる色で着色するとした。これにより、情報処理装置10は、原画像33における各領域がどのクラスの判別により寄与するかを、ユーザーがより把握しやすいように比較画像36を表示できる。
【0040】
また、情報処理装置10は、比較画像36における位置(i、j)の画素を、評価画像35aの位置(i、j)の画素の画素値と評価画像35bの位置(i、j)の画素の画素値とが等しい場合、既定の色で着色するとした。これにより、情報処理装置10は、原画像33におけるクラス判別への寄与度が各クラスについて等しい領域を、ユーザーがより把握しやすいように比較画像36を表示できる。
【0041】
また、従来、Grad-CAMを用いて、ヒートマップを表示する場合、以下のような問題があった。各クラスについてヒートマップの各画素値の規格化が行われ、規格化によってヒートマップにおける際立たせたい領域が目立たなくなるという問題である。ヒートマップの各画素値の規格化が行われると、複数のヒートマップにおける画素値が等しい画素は、同じ色で表されることとなる。この規格化により、一部の領域の画素値が他の領域よりも極端に大きくなる場合がある。このような場合、この一部の領域のみが明るい色で表示され、他の領域が暗い色で表示される。こうなると、他の領域においてもクラス判別の判断根拠となる領域が含まれる場合であっても、その領域が目立たなくなる。
【0042】
駐車クラスの評価画像35aにおける領域701は、空車クラスの評価画像35の各領域、駐車クラスの評価画像における他の領域よりも極端に大きい画素値となっている領域である。そのため、原画像33は、空車状態の画像であるにも関わらず、
図6、10に示すように、空車クラスについての評価画像35aのヒートマップ画像は、全体的に暗い色で表されている。すなわち、Grad-CAMの数値を同じ条件で評価するために、各クラスについてのヒートマップを正規化して表現することで、空車クラスの判定に大きく貢献した箇所が埋もれてしまう。結果として、空車クラスの判別の根拠となった領域の把握が困難となる。
対して、本実施形態の情報処理装置10が導出する比較画像36は、領域毎の各クラスの判別に対する寄与度の比較結果から得られるため、クラス判別の根拠となった領域に対応する部分を示せないという事態は生じにくい。すなわち、情報処理装置10は、クラスの判別の根拠となった領域の把握が困難となる可能性を低減できる。
また、Grad-CAMにおけるヒートマップでは、クラス判別に寄与した領域のうち、画素値(寄与の度合い)が比較的大きい画素が明るい色で表示され、他の画素は暗めの色で表示される。すなわち、寄与の度合いが比較的大きいものしか目立たない。対して、本実施形態の手法では、クラス判別に寄与した判定に貢献した領域を、寄与の度合いの大きさに関係なく示すことができる。
【0043】
(3)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、機械学習モデルに入力される画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いを示す寄与度を、クラス毎に取得し、クラス毎の寄与度の比較結果を示す比較情報を導出する限りにおいて、他にも種々の実施形態を採用可能である。例えば、機械学習モデルを学習する機能を、外部の装置が備えていてもよい。また、導出された比較画像を表示する機能を、外部の装置が備えていてもよい。
【0044】
上述の実施形態では、制御部20は、ステップS215において、ステップS210での比較結果に応じて、空車クラスについての画素値>駐車クラスについての画素値となる場合に、第1の色で対応する画素を着色することとした。ただし、制御部20は、空車クラスについての画素値>駐車クラスについての画素値となる場合であっても、空車クラスについての画素値と駐車クラスについての画素値との差分の大きさに応じて、対応する画素を異なる色で着色してもよい。例えば、制御部20は、(空車クラスについての画素値-駐車クラスについての画素値)が、既定の閾値以上となる場合、赤色で着色し、(空車クラスについての画素値-駐車クラスについての画素値)が、既定の閾値未満となる場合、桃色で着色してもよい。また、制御部20は、(空車クラスについての画素値-駐車クラスについての画素値)の値の大きさに応じた濃度で、着色するようにしてもよい。
【0045】
また、上述の実施形態では、制御部20は、ステップS215において、ステップS210での比較結果に応じて、空車クラスについての画素値<駐車クラスについての画素値となる場合に、第2の色で対応する画素を着色することとした。ただし、制御部20は、空車クラスについての画素値<駐車クラスについての画素値となる場合であっても、駐車クラスについての画素値と空車クラスについての画素値との差分の大きさに応じて、対応する画素を異なる色で着色してもよい。例えば、制御部20は、(駐車クラスについての画素値-空車クラスについての画素値)が、既定の閾値以上となる場合、青色で着色し、(駐車クラスについての画素値-空車クラスについての画素値)が、既定の閾値未満となる場合、水色で着色してもよい。また、制御部20は、(駐車クラスについての画素値-空車クラスについての画素値)の値の大きさに応じた濃度で、着色するようにしてもよい。
【0046】
また、上述の実施形態では、制御部20は、ステップS210において、空車クラスについての画素値と駐車クラスについての画素値とを比較する。そして、制御部20は、比較結果として、車クラスについての画素値と駐車クラスについての画素値との関係が、(空車クラスについての画素値>駐車クラスについての画素値)、(空車クラスについての画素値<駐車クラスについての画素値)、(空車クラスについての画素値=駐車クラスについての画素値)の何れであるかを特定した。ただし、制御部20は、ステップS210において、空車クラスについての画素値と駐車クラスについての画素値との関係として、(空車クラスについての画素値>(駐車クラスについての画素値+既定の閾値))、((空車クラスについての画素値+既定の閾値)<駐車クラスについての画素値)、(|空車クラスについての画素値-駐車クラスについての画素値|≦既定の閾値)の何れであるかを特定してもよい。その場合、制御部20は、ステップS215で、(空車クラスについての画素値>(駐車クラスについての画素値+既定の閾値))、((空車クラスについての画素値+既定の閾値)<駐車クラスについての画素値)、(|空車クラスについての画素値-駐車クラスについての画素値|<=既定の閾値)のそれぞれの場合で、異なる色で対応する画素を着色するようにしてもよい。
【0047】
また、上述の実施形態では、制御部20は、ステップS215において、ステップS210での比較結果に応じて、(空車クラスについての画素値=駐車クラスについての画素値)となる場合に、第3の色で対応する画素を着色することとした。ただし、制御部20は、(空車クラスについての画素値=駐車クラスについての画素値)となる場合には、対応する画素の着色を行わないこととしてもよい。例えば、制御部20は、(空車クラスについての画素値=駐車クラスについての画素値)となる場合には、対応する画素を透明に設定したり、Null値を設定したりしてもよい。
【0048】
また、上述の実施形態では、機械学習モデル32は、駐車されているか否かに関するクラス(空車クラス、駐車クラス)の判別に用いられるモデルである。しかし、機械学習モデルによるクラス分類対象はこの例に限定されない。例えば、機械学習モデル32は、他の種類のクラスの判別に用いられるモデルであってもよい。具体的には、例えば、機械学習モデル32は、入力画像のクラスが、犬であることを示す犬クラスと、猫であることを示す猫クラスと、の何れであるかを判別するモデルであってもよい。
【0049】
また、上述の実施形態では、機械学習モデル32は、入力された画像が、2つのクラスのうちの何れに属するかを判別するモデルである。しかし、モデルにおける出力の態様はこのような態様に限定されない。例えば、機械学習モデル32は、入力された画像が、3つ以上のクラスのうちの何れに属するかを判別するモデルであってもよい。具体的には、例えば、機械学習モデル32は、入力された画像が、3つのクラスのうちの何れに属するかを判別するモデルであってもよい。この場合、情報処理装置10は、例えば、ステップS105~ステップS130の処理により、3つのクラス(クラスA、クラスB、クラスCとおく)それぞれについての評価画像35を取得してもよい。
【0050】
そして、制御部20は、ステップS210で、3つのクラスそれぞれについての評価画像35における位置(i、j)の画素の画素値の比較を行い、比較結果に応じて、ステップS215で比較画像36の位置(i、j)の画素の着色を行ってもよい。例えば、制御部20は、クラスAについての画素値が最も大きい場合と、クラスBについての画素値が最も大きい場合と、クラスCについての画素値が最も大きい場合と、クラスA~Cそれぞれについての画素値が等しい場合とで、それぞれ異なる色で着色してもよい。また、例えば、制御部20は、(クラスAについての画素値>クラスBについての画素値>クラスCについての画素値)の場合、(クラスAについての画素値>クラスCについての画素値>クラスBについての画素値)の場合、(クラスBについての画素値>クラスAについての画素値>クラスCについての画素値)の場合、(クラスBについての画素値>クラスCについての画素値>クラスAについての画素値)の場合、(クラスCについての画素値>クラスAについての画素値>クラスBについての画素値)の場合、(クラスCについての画素値>クラスBについての画素値>クラスAについての画素値)の場合、(クラスCについての画素値=クラスAについての画素値=クラスBについての画素値)の場合等の大小関係に応じて、それぞれ異なる色で着色してもよい。
【0051】
また、上述の実施形態では、制御部20は、導出部21dの機能により、比較画像36を導出する。しかし、比較結果の出力態様は比較画像による出力に限定されない。例えば、制御部20は、導出部21dの機能により、2つのクラスの一方のクラスの判別に対する寄与度が他方のクラスの判別に対する寄与度よりも大きい原画像33の領域、一方のクラスの判別に対する寄与度が他方のクラスの判別に対する寄与度よりも大きい原画像33の領域、一方のクラスの判別に対する寄与度が他方のクラスの判別に対する寄与度と等しい原画像33の領域それぞれの存在割合を示す情報を導出してもよい。
【0052】
より具体的には、制御部20は、比較画像36のうち第1の色で着色された領域と、第2の色で着色された領域と、第3の色で着色された領域と、の比較画像36における存在割合を特定してもよい。そして、制御部20は、特定した割合を示す情報(例えば、テキスト情報、グラフ(例えば、棒グラフ・円グラフ等)情報等)を導出してもよい。そして、制御部20は、表示制御部21eとして、導出された情報を表示部40に表示してもよい。これにより、ユーザーは、空車クラスの判別により寄与した領域、駐車クラスの判別により寄与した領域、空車クラスの判別と駐車クラスの判別に同程度に寄与した領域それぞれがどの程度の割合で存在するかをより容易に把握できる。
【0053】
また、上述の実施形態では、制御部20は、原画像33の各領域の選択クラスの判別への寄与度を示す情報として、Grad-CAMと同様の手法で、畳込み層の最終層である層Lmにおける特徴マップにおける各チャネルを合成した評価画像35を取得することとした。ただし、制御部20は、原画像33の各領域の選択クラスの判別への寄与度を示す情報として、他の情報を取得してもよい。例えば、制御部20は、選択クラスの判別への寄与度を示す情報として、CAM(Class Activation Mapping)の手法で得られる画像を取得してもよい。
【0054】
また、例えば、制御部20は、畳込み層の中間層における特徴マップから、各画素がクラス判別への寄与度を示す評価画像35を取得してもよい。例えば、制御部20は、畳込み層の最終層である層Lmにおける特徴マップの代わりに、畳込み層の中間層(層Lmよりも入力側に近い層)を層Llとして、層Llおける特徴マップを用いて、上述の実施形態と同様の処理を行うこととしてもよい。その場合、制御部20は、Wm、Hmの代わりに、層Llにおける特徴マップの横サイズ、縦サイズを用いる。この場合も、制御部20は、比較画像36を入力される原画像33と同じサイズになるようにリサイズしてもよい。
【0055】
また、上述の実施形態では、制御部20は、原画像33の各領域の選択クラスの判別への寄与度を示す情報、クラス毎の寄与度の比較結果を示す比較情報を、評価画像35、比較画像36として画像の形式で求めた。ただし、制御部20は、これらの情報を、画像と異なる形式の情報(例えば、csvデータ、配列データ、テキストデータ等)として求めてもよい。
【0056】
寄与度は、機械学習モデルに入力される入力画像の領域が前記機械学習モデルによるクラス判別に寄与した度合いであればよい。従って、寄与度は、機械学習モデルにおける出力層のクラスに対応するノード値への影響の大きさを示す指標であってよく、他にも種々の定義を利用可能である。例えば、画像を複数の領域に分けた場合の当該領域毎の勾配値の平均であってもよい。
導出部は、クラス毎の寄与度の比較結果として、クラス毎の寄与度の比較により得られる情報を導出すればよい。例えば、導出部は、クラス毎の寄与度の大小関係を示す情報を導出してもよいし、クラス毎、領域毎の寄与度の差分を示す情報を導出してもよい。
第1の色、第2の色、第3の色は、それぞれ異なる色であればよい。例えば、第1の色、第2の色、第3の色は、それぞれ見分けやすい色(例えば、彩度、明度、色相の違いが顕著な色)であればよい。
【0057】
さらに、本発明の手法は、プログラムや方法としても適用可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、装置を制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし半導体メモリであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【0058】
10…情報処理装置、20…制御部、21…導出プログラム、21a…学習部、21b…判別部、21c…取得部、21d…導出部、21e…表示制御部、30…記録媒体、31…教師データ、32…機械学習モデル、33…原画像、34…判定基準データ、35…評価画像、36…比較画像、40…表示部