以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
実施形態に係る分析システム1は、画像認識用の機械学習モデルを分析するコンピュータシステムである。より具体的には、分析システム1はその機械学習モデルが画像認識を誤る原因を推定する。
画像とは、人が視覚を通して何らかの事象を認識することができるように所定の媒体上で表現される情報をいう。画像はカメラなどの撮像装置によって生成された画像でもよいし、撮影後に任意の他の画像処理が施された画像でもよい。画像を示す電子データ、すなわち画像データがコンピュータにより処理されることで画像が可視化され、その結果、人は視覚を通じて画像を認識することができる。例えば、画像は静止画、すなわち写真でもよいし、動画を構成するフレーム画像でもよい。画像認識とは、画像に映された場面の特徴を識別する技術をいう。
機械学習とは、与えられた情報に基づいて反復的に学習することで、法則またはルールを自律的に見つけ出す手法をいう。機械学習の具体的な手法は限定されず、任意の方針で設計されてよい。機械学習では機械学習モデルを用いる。一般に、機械学習モデルは多層構造のニューラルネットワークを用いて構築される。ニューラルネットワークとは、人間の脳神経系の仕組みを模した情報処理のモデルをいう。本開示では、機械学習モデルは、画像データを示すベクトルデータを入力ベクトルとして処理して、認識結果を示すベクトルデータを出力ベクトルとして出力するアルゴリズムである。運用される機械学習モデルは学習によって生成され、したがって「学習済みモデル」ともいわれる。学習済みモデルは、最も予測精度が高いと推定される最良の計算モデルであり、したがって「最良の学習済みモデル」ということができる。しかし、この最良の学習済みモデルは“現実に最良である”とは限らないことに留意されたい。
コンピュータは、画像と正しい認識結果との多数の組合せを含む訓練データを処理することで最良の学習済みモデルを生成する。コンピュータは、画像を示す入力ベクトルを機械学習モデルに入力することで、認識結果を示す出力ベクトルを算出する。そして、コンピュータは、その出力ベクトルと訓練データで示される認識結果との誤差、すなわち、推定結果と正解ラベルとの差を求める。そして、コンピュータはその誤差に基づいて機械学習モデル内の所与のパラメータを更新する。コンピュータはこのような学習を繰り返すことで最良の学習済みモデルを生成する。一例では、この学習済みモデルは分析システム1のメモリに格納される。最良の学習済みモデルを生成する処理は学習フェーズということができる。学習済みモデルを生成するコンピュータは限定されず、例えば、分析システム1でもよいし、分析システム1とは異なるコンピュータまたはコンピュータシステムでもよい。
機械学習モデルの分析とは、機械学習モデルの仕組みを明らかにするための処理をいう。分析システム1は、機械学習モデルが画像を認識する仕組みを把握するために該機械学習モデルを分析する。一例では、機械学習モデルの分析は、機械学習モデルが画像認識を誤る原因を推定することである。
図1は分析システム1による分析方法の一例を処理フローS1として示す図である。分析システム1は、画像x、正解ラベルk、および属性ラベルrのn個の組合せを含むデータセットを処理する。画像xは原画像ということができる。正解ラベルとは、画像を機械学習モデルで処理することによって得られるべき出力値(すなわち正解)をいう。一例では、正解ラベルは分類問題の正解、すなわち、画像が属するクラス(グループ)を示す。属性ラベルとは、画像に関連する属性を示す値をいう。画像に関連する属性とは、画像を特徴付ける任意の情報をいう。一例では、個々の画像について正解ラベルおよび属性ラベルが人手でまたは自動的に設定されることでデータセットが用意される。
ステップS11では、分析システム1は機械学習モデルに画像xを入力することで画像認識を実行する。この機械学習モデルは学習済みモデルであり、したがって、その画像認識は運用フェーズに対応する。
ステップS12では、分析システム1はその画像認識において機械学習モデルが注目した領域(本開示ではこれを「注目領域」ともいう。)を抽出するハイライト処理を実行する。一例では、分析システム1は上記の非特許文献1に記載された手法に基づいて画像xから注目領域を抽出し、その注目領域を示すハイライト画像gを生成する。ハイライト画像gの画像数は画像xの画像数と等しい。図2はハイライト画像の例を示す図である。この例では、画像201から得られたハイライト画像202は、制限速度が30km/hであることを示す標識板を注目領域として特に表す。このことは、機械学習モデルが画像201を認識する際にその標識板に特に注目したことを意味する。ハイライト画像202において黒く塗りつぶされた部分、すなわち、注目領域以外の部分は、画像認識において機械学習モデルが全くまたはほとんど注目しなかった領域であることを示す。
ステップS13では、分析システム1はその画像認識の結果と正解ラベルkとを比較することで、その認識結果が正しいか否かを判定し、正誤判定結果cを得る。
ステップS14では、分析システム1はハイライト画像g(すなわち注目領域)と属性ラベルrとの関係度を算出する照合処理を実行する。関係度とは、注目領域と属性ラベルとの関係の強さを示す指数である。本開示では、関係度が高いほど、注目領域と属性ラベルとの関係が強いとする。
分析システム1はデータセット内のそれぞれの組合せについてステップS11~S14の処理を実行する。ステップS15では、分析システム1はn個の組合せについての正誤判定結果および照合結果(すなわち関係度)に基づく分析を実行して、誤った画像認識に関連する属性ラベルを推定する。分析システム1はその属性ラベルを分析結果として出力する。
[システムの構成]
図3は、分析システム1のために用いられるコンピュータ110のハードウェア構成の一例を示す図である。例えば、分析システム1は制御回路100を有する。一例では、制御回路100は、一つまたは複数のプロセッサ101と、メモリ102と、ストレージ103と、通信ポート104と、入出力ポート105とを有する。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ103はハードディスク、不揮発性の半導体メモリ、取り出し可能な媒体(例えば、磁気ディスク、光ディスクなど)などの非一時的な記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ102は、ストレージ103からロードされたプログラム、またはプロセッサ101による演算結果を一時的に記憶する。一例では、プロセッサ101は、メモリ102と協働してプログラムを実行することで、各機能モジュールとして機能する。通信ポート104は、プロセッサ101からの指令に従って、通信ネットワークNWを介して他の装置との間でデータ通信を行う。入出力ポート105は、プロセッサ101からの指令に従って、キーボード、マウス、モニタなどの入出力装置(ユーザインタフェース)との間で電気信号の入出力を実行する。
ストレージ103は、コンピュータ110を分析システム1として機能させるためのプログラム120を記憶する。プロセッサ101がこのプログラム120を実行することで分析システム1の各機能モジュールが実現される。プログラム120は、CD-ROM、DVD-ROM、半導体メモリなどの非一時的な記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラム120は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
分析システム1は一つまたは複数のコンピュータ110により構成され得る。複数のコンピュータ110が用いられる場合には、通信ネットワークNWを介してこれらのコンピュータ110が互いに接続されることで論理的に一つの分析システム1が構成される。
分析システム1として機能するコンピュータ110は限定されない。例えば、分析システム1は業務用サーバなどの大型のコンピュータ110で構成されてもよいし、パーソナルコンピュータなどの小型のコンピュータ110で構成されてもよい。
図4は分析システム1の機能構成の一例を示す図である。一例では、分析システム1は情報処理装置10、記憶装置20、入力装置30、および出力装置40を備える。一例では、情報処理装置10は入力装置30から入力される指示信号に従って動作し、記憶装置20にアクセスしてデータの読み書きを実行し、処理結果を示すデータを出力装置40に出力する。
情報処理装置10は機能モジュールとしてデータ取得部11、画像認識部12、正誤判定部13、ハイライト部14、照合部15、および分析部16を備える。データ取得部11はデータセットを取得する機能モジュールである。画像認識部12は機械学習モデルを用いた画像認識を実行する機能モジュールである。この機械学習モデルは学習済みモデルであり、したがって、画像認識部12により実行される画像認識は運用フェーズに対応する。正誤判定部13はその画像認識の結果が正しいか否かを判定する機能モジュールである。ハイライト部14はその画像認識での注目領域を抽出する機能モジュールである。照合部15は注目領域と属性ラベルとの関係を示す関係度を算出する機能要素である。分析部16は、画像認識の正誤判定結果と関係度とに基づいて、誤った画像認識に関連する属性ラベルを推定する機能モジュールである。誤った画像認識に関連する属性ラベルとは、機械学習モデルによる画像認識を誤らせる原因となったと推定される属性ラベルのことをいい、端的に言うと、誤認識(誤分類)に寄与した属性ラベルである。「誤った画像認識に関連する属性ラベル」とは、分析システム1によって推定される結果であり、機械学習モデルによる画像認識を“現実に”誤らせた属性ラベルであるとは限らないことに留意されたい。
記憶装置20は分析システム1によって処理される各種のデータを一時的にまたは永続的に記憶する。一例では、記憶装置は、予め用意されるデータセットと、画像認識部12により得られる画像認識結果と、正誤判定部13により得られる正誤判定結果と、ハイライト部14により得られるハイライト結果と、照合部15により得られる照合結果(関係度)と、分析部16により得られる分析結果とのうちの少なくとも一つを記憶する。
[属性ラベル]
データセット内の個々の画像、すなわち個々の原画像には、少なくとも一つの属性ラベルが設定される。属性ラベルとして表現される属性は限定されない。属性ラベルが設定される対象も限定されず、例えば、属性ラベルは画像全体に対して設定されてもよいし、画像内の任意の部分領域に対して設定されてもよい。画像全体に対して設定される属性ラベルの例として、撮影条件(例えば、撮影日、天候)、および画像全体に関する属性(例えば、被写体の種別、解像度、コントラスト、明るさ、ノイズ)が挙げられるが、これらに限定されない。部分領域に対して設定される属性ラベルの例として、幾何情報(例えば、画像内での位置、面積、形状)、および該部分領域に関する属性(例えば、種別、色、姿勢、明るさ、遮蔽物の有無)が挙げられるが、これらに限定されない。部分領域は任意に設定されてよい。部分領域は物体(すなわち被写体)ごとに設定されてもよく、例えば、人、車、標識などの物体のそれぞれに設定されてもよい。あるいは、部分領域は個々の物体(被写体)の個々の構成要素ごとに設定されてもよい。例えば、物体(被写体)が標識であれば、標識板、縁取り、イラスト、文字、支柱などの個々の構成要素ごとに部分領域が設定されてもよい。あるいは、部分領域はスーパーピクセルごとに設定されてもよいし、画素ごとに設定されてもよい。スーパーピクセルとは、輝度、色などの画素情報が似ている複数の連続して並ぶ画素で構成される領域をいう。
一例では、それぞれの画像において、それぞれの画素に少なくとも一つの属性ラベルが設定される。或る1画素に対応する少なくとも一つの属性ラベルは、1次元の配列によって表されるデータ構造によって表すことができ、本開示ではそのデータ構造を「画素ラベルベクトル」という。画素ラベルベクトルの個々の要素は、対応する属性ラベルを示す。したがって、画素ラベルベクトルの要素数は属性ラベルの種類の総数と等しい。例えば、或る画像の(i,j)番目の画素の画素ラベルベクトルをrijとし、画素ラベルベクトルの個々の要素をeとし、属性ラベルの種類の総数をTとすると、rij=[eij
1,eij
2,…,eij
T]である。画素ラベルベクトルの個々の要素に設定される値は限定されない。一例では、少なくとも一つの要素は0または1の二値で表現されてもよい。例えば、或る画素に対して或る属性ラベルが付与される場合には、その属性ラベルに対応する要素に1が設定され、その画素に対してその属性レベルが付与されない場合には、その要素に0が設定されてもよい。一つの具体例として、或る画素の画素ラベルベクトルがrij=[1,1,0,0,…,0,1]である場合には、この画素は1番目および2番目の要素に対応する二つの属性ラベルを有し、3番目および4番目の要素に対応する二つの属性ラベルを有しない。画素ラベルベクトルの少なくとも一つの要素は連続値で表現されてもよく、例えば、画像の解像度に対応する要素にその解像度がそのまま設定されてもよい。
図5は属性ラベルのいくつかの例を示す図である。図5の例(a)は、合流の標識を写した画像211と、この画像211の属性ラベルを説明するためのイラスト212とを示す。例(a)では画像211の属性ラベルとして「空」、「標識」、「樹木」、および「遮蔽あり」が設定されている。具体的には、空に対応する画素には属性ラベル「空」が付与され、標識に対応する画素には属性レベル「標識」が付与され、樹木に対応する画素には属性ラベル「樹木」が付与される。標識が樹木によって遮られた部分に対応する画素には属性ラベル「遮蔽あり」が付与される。この例では、「遮蔽あり」という属性ラベルは、標識が別の物体によって遮られた状態を示す。
図5の例(b)は、指定方向外進行禁止の標識を写した画像221と、この画像221の属性ラベルを説明するためのイラスト222とを示す。例(b)では画像221の属性ラベルとして「空」、「標識」、「樹木」、「柱」、および「遮蔽あり」が設定されている。具体的には、空に対応する画素には属性ラベル「空」が付与され、標識に対応する画素には属性レベル「標識」が付与され、樹木に対応する画素には属性ラベル「樹木」が付与され、柱に対応する画素には属性ラベル「柱」が付与される。標識が柱によって遮られた部分に対応する画素には属性ラベル「遮蔽あり」が付与される。この例でも、「遮蔽あり」という属性ラベルは、標識が別の物体によって遮られた状態を示す。
空、標識、樹木、柱、および遮蔽の有無という5種類の属性ラベルをこの順に示す画素ラベルベクトルが、画像211,221に共通して定義されるとする。そして、その画素ラベルベクトルの個々の要素において、属性ラベルが付与されない場合には0が付与され、属性ラベルが付与される場合には1が付与されるとする。この前提の下で属性ラベルの設定の一例を示す。画像211についていうと、遮られていない標識の部分に対応する画素ラベルベクトルは[0,1,0,0,0]である。樹木によって遮られた標識の部分に対応する画素ラベルベクトルは[0,0,1,0,1]である。標識を遮っていない樹木の部分に対応する画素ラベルベクトルは[0,0,1,0,0]である。柱が写っていない画像211については、4番目のベクトル要素が1になる画素ラベルベクトルは存在しない。画像221について同様に示すと、空に対応する画素ラベルベクトルは[1,0,0,0,0]である。柱によって遮られた標識の部分に対応する画素ラベルベクトルは[0,0,0,1,1]である。標識を遮っていない柱の部分に対応する画素ラベルベクトルは[0,0,0,1,0]である。
[システムでの処理手順]
図6~図9を参照しながら、分析システム1の動作を説明するとともに、本実施形態に係る分析方法について説明する。図6は分析処理の全体の流れの一例を処理フローS2として示すフローチャートである。図6では処理フローS1との対応関係も示す。図7は画像認識の正しさを判定する処理の一例を詳細に示すフローチャートである。図8は注目領域と属性ラベルとの関係度を算出する処理の一例を詳細に示すフローチャートである。図9は誤った画像認識に関連する属性ラベルを推定する処理の一例を詳細に示すフローチャートである。
図6に示すように、ステップS21では、データ取得部11がデータセットを取得する。上述したように、データセットは予め用意されて所定の記憶装置20に予め格納される。データ取得部11はその記憶装置20にアクセスしてデータセットを読み出す。
ステップS22では、画像認識部12がデータセットの個々の画像について、機械学習モデルによる画像認識を実行する。これはステップS11に対応する。データセット内の1以上の画像のそれぞれについて、画像認識部12は該画像を機械学習モデルに入力し、その機械学習モデルから出力されるデータを画像認識結果として取得し、この画像認識結果を記憶装置20に格納する。
一例では、この画像認識は、下記の式(1)で示される分類モデルに対応する。
式(1)は、画像がK個のクラス(グループ)のいずれに属するかを求めることを示す。[0,1]は、或るクラス(グループ)に属するか否かの二択を示す。変数pは画像が或るクラスに属する確率であり、変数p
kは画像がクラスkに属する確率を示す。分類モデルfは、画像xを確率に変換する関数p=f(x)であるともいえる。分類モデルfを用いて得られる結果はk
*=argmax
kp
kで表される。これは、最大のp
kが得られるクラスkを認識結果k
*として得ることを意味する。
ステップS23では、ハイライト部14がデータセットの個々の画像について、画像認識部12による画像認識での注目領域を抽出する。これはステップS12に対応する。上述したように、一例では、ハイライト部14は上記の非特許文献1に記載された手法に基づいて注目領域を抽出し、その注目領域を示すハイライト画像を生成する。この結果、データセット内の1以上の画像のそれぞれについて、図2に示すようなハイライト画像が生成される。一例では、ハイライト画像の各画素には、原画像(すなわち画像x)での対応画素の微小な変化に対する影響度が関連付けられる。この影響度はスカラー値であり、注目領域を示す情報の一例である。クラスkに分類された画像xに対応するハイライト画像の全画素の影響度を勾配ベクトル∇xfk(x)で表すことができる。勾配ベクトルの要素数はハイライト画像の画素数に等しく、したがって、原画像の画素数にも等しい。個々の画素の影響度を示す勾配ベクトルも、注目領域を示す情報の一例である。ハイライト部14は、勾配ベクトルを含むハイライト画像をハイライト結果として記憶装置20に格納する。
ステップS24では、正誤判定部13がデータセットの個々の画像について画像認識の正しさを判定する。これはステップS13に対応する。図7を参照しながらこの判定処理の詳細な流れを説明する。
ステップS241では、正誤判定部13は処理する一つの画像を選択する。ステップS242では、正誤判定部13はその画像についての画像認識結果を取得する。この画像認識結果は、画像認識部12において機械学習モデルから出力されたデータである。ステップS243では、正誤判定部13はデータセットを参照して、その画像に対応する正解ラベルを取得する。ステップS244では、正誤判定部13は画像認識結果を正解ラベルと比較することで画像認識の正しさを判定する。正誤判定部13は、画像認識結果が正解ラベルと一致する場合には画像認識が正しいと判定し、そうでない場合には画像認識が誤りであると判定する。正誤判定部13はこの正誤判定結果を記憶装置20に格納する。ステップS245に示すように、正誤判定部13はデータセットの個々の画像についてステップS241~S244の処理を実行する。データセットのすべての画像が処理されることで(ステップS245においてYES)、ステップS24が終了する。
図6に戻って、ステップS25では、照合部15がデータセットの個々の画像について注目領域と属性ラベルとの関係度を算出する。これはステップS14に対応する。図8を参照しながらこの算出処理の詳細な流れを説明する。
ステップS251では、照合部15は処理する一つの画像を選択する。ステップS252では、照合部15はその画像についてのハイライト結果を取得する。このハイライト結果は、ハイライト部14によって生成されたハイライト画像である。ステップS253では、照合部15はデータセットを参照して、その画像に対応する1以上の属性ラベルを取得する。ステップS254では、照合部15はハイライト結果と属性ラベルとに基づいて、注目領域と属性ラベルとの関係度を算出する。具体的には、照合部15は1以上の属性ラベルのそれぞれについて、勾配ベクトルと該属性ラベルとの内積を関係度として算出する。この内積は関係度の一例である。内積が大きいほど関係度が高く、したがって、内積が大きいほど、注目領域と属性ラベルとの関係が強い。
一つの画像についての内積の計算について説明する。照合部15は1以上の属性ラベルtのそれぞれについて、画像の全画素に対応する該属性ラベルtの要素値の集合から成るベクトルr
tを生成する。本開示ではこのベクトルr
tを「画像ラベルベクトル」ともいう。或る一つの属性ラベルtに対応する画像ラベルベクトルの要素数は、画像の画素数と等しい。照合部15はこの画像ラベルベクトルr
tと勾配ベクトル∇
xf
k(x)との内積を計算する。この内積は下記の式(2)で表される。式(2)は、n番目の画像についての、画像ラベルベクトルr
tと勾配ベクトル∇
xf
k(x)との内積を表す。
ステップS255に示すように、照合部15はデータセットの個々の画像についてステップS251~S254の処理を実行する。データセットのすべての画像が処理されることで(ステップS255においてYES)、ステップS25が終了する。
図6に戻って、ステップS26では、分析部16が照合結果と正誤判定結果とに基づいて、誤った画像認識に関連する属性ラベルを推定する。これはステップS15に対応する。図9を参照しながらこの推定処理の詳細な流れを説明する。
ステップS261では、分析部16はデータセット内の個々の画像についての照合結果を取得する。ステップS262では、分析部16はその個々の画像についての正誤判定結果を取得する。ステップS263では、分析部16はその照合結果および正誤判定結果に基づいて、誤った画像認識に関連する属性ラベルを推定する。本実施形態では以下に二つの推定手法を例示する。
第1の手法は、誤った画像認識(すなわち誤分類)に寄与した画素を補正することで画像を正しく認識できるならば、その補正に寄与した属性ラベルが誤認識に関連するという考察に基づく。第1の手法では、分析部16は補正重みを用いて画素を補正する。補正重みは、誤った画像認識に属性ラベルがどのくらい寄与したかを示す指数である貢献度の一例である。本開示では、補正重みが大きい属性ラベルほど、誤った画像認識への貢献度が高いとする。或る一つの属性ラベルtについての画素の補正は下記の式(3)で表される。
ここで、x
ijは画素値を示す。α
tは補正重みを示し、これは0以上1以下の範囲で設定される。補正重みα
tは画素を変更するためのパラメータであるともいえ、より具体的には、個々の画素値を変更するためのパラメータであるともいえる。r
ijtは画素に設定された属性ラベルtの値を示し、したがって、r
ijtが0であれば画素値は補正されない。
分析部16は、画像認識結果が正しくなかった画像を補正によって正しく分類し、且つ画像認識結果が正しかった画像を補正後も正しく分類するような補正重みα
tを探索する。この探索は、正しく分類された画像を考慮した制約の下で、誤分類に関係する属性ラベルを求めるための処理である。誤分類されたN個の画像に対応する、画像x、属性ラベルr、および正解ラベルkの組合せを{x
(n),r
(n),k
(n)}
n=1
Nと表す。また、正しく分類されたM個の画像に対応する、画像x´、属性ラベルr´、および正解ラベルk´の組合せを{x´
(m),r´
(n),k´
(n)}
m=1
Mと表す。分析部16は正誤判定結果を用いてこれらの組合せを特定する。この場合には、補正重みα
tの探索は、下記の式(4)を満たすα
tを探索することであるということができる。
ここで、f
kは補正された画像を確率に変換する関数(分類モデル)を示す。argmax
kf
kは、その確率が最大になるクラスkを認識結果として得ることを意味する。
分析部16は最大の補正重みα
tに対応する属性ラベルを、誤った画像認識に関連する属性ラベルとして取得する。その補正重みα
tの探索を示す目的関数は下記の式(5)により定義される。
分析部16はこの目的関数を1次のテイラー展開によって近似する。この近似は下記の式(6)により定義され、この計算において、照合結果である内積(関係度)が用いられる。
分析部16は式(6)に基づいて最大の補正重みαtを算出し、その最大の補正重みαtに対応する属性ラベルを、誤った画像認識に関連する属性ラベルとして取得する。
第2の手法も第1の手法と同様に、誤った画像認識(すなわち誤分類)に寄与した画素を補正することで画像を正しく分類できるようであれば、その補正に寄与した属性ラベルが誤認識に関連するという考察に基づく。第2の手法でも第1の手法と同様に補正重みαtを用いる。
第2の手法でも、分析部16は、画像認識結果が正しくなかった画像を補正によって正しく分類し、且つ画像認識結果が正しかった画像を補正後も正しく分類するような補正重みαtを探索する。第1の手法と同様に、分析部16は正誤判定結果を用いて、誤分類されたN個の画像に対応する、画像x、属性ラベルr、および正解ラベルkの組合せと、正しく分類されたM個の画像に対応する、画像x´、属性ラベルr´、および正解ラベルk´の組合せとを特定する。
第2の手法では、最大の補正重みα
tの探索を示す目的関数は下記の式(7)により定義される。
ここで、f
k(n)は画像が正解のクラスに属する確率を示し、f
hは画像が誤ったクラス(すなわち、正解クラス以外のクラス)に属する確率を示す。したがって、この目的関数は、正しく分類された画像を補正後も正しく分類しつつ、正解クラスの確率と誤ったクラスの確率との差が最も大きくなるような補正重みα
tを得ることを目的とする。
分析部16はこの目的関数を1次のテイラー展開によって近似する。一例では、この近似は下記の式(8)により定義され、この計算において、照合結果である内積(関係度)が用いられる。
分析部16は式(8)に基づいて最大の補正重みαtを算出し、その最大の補正重みαtに対応する属性ラベルを、誤った画像認識に関連する属性ラベルとして取得する。
第2の手法の変形例として、分析部16は、下記の式(9)により示される1次のテイラー展開によってその目的関数を近似してもよい。分析部16は式(9)に基づいて最大の補正重みα
tを算出し、その最大の補正重みα
tに対応する属性ラベルを、誤った画像認識に関連する属性ラベルとして取得する。この計算でも、照合結果である内積(関係度)が用いられる。
ここで、λΣ
mβ
mは或る一定の範囲で制約を緩和するための制約項である。λはその制約項を制御するためのパラメータである。γΣ
t|α
t|は、補正重みα
tを疎にして(すなわち、なるべく多くの補正重みα
tを0にして)、重要な属性ラベルを抽出することを目的とする項である。γは、複数の属性ラベルが誤認識に関連したものとして推定されないようにするためのパラメータである。言い換えると、γは、誤認識の原因と推定される属性ラベルを少なくするためのパラメータである。
第1および第2の手法のいずれも、画像認識結果が正しかった画像に補正重みを適用することで得られる第1補正画像を機械学習モデルに入力することで得られる新たな画像認識結果が正しく、かつ、画像認識結果が正しくなかった画像に該補正重みを適用することで得られる第2補正画像を機械学習モデルに入力することで得られる新たな画像認識結果が正しくなる該補正重みを貢献度として算出する処理の一例である。分析部16は1以上の属性ラベルのそれぞれについてその補正重みを算出する。そして、分析部16は最も高い補正重み(貢献度)を有する属性ラベルを、誤った画像認識に関連する属性ラベルとして推定する。
第1および第2の手法のいずれも、画像認識結果が正しい画像と誤りである画像の両方を用いているが、誤認識となる画像が少ない、または存在しない場合には画像認識結果が正しい画像のみを用いてαを探索してもよい。この探索では、正誤判定部13を用いて、入力画像における正解クラスに属する確率を計算する。正解クラスの確率を閾値とし、閾値未満で分類されたN個の画像に対応する、画像x、属性ラベルr、および正解ラベルkの組合せを{x(n),r(n),k(n)}n=1
Nと表す。また、閾値以上で分類されたM個の画像に対応する、画像x´、属性ラベルr´、および正解ラベルk´の組合せを{x´(m),r´(n),k´(n)}m=1
Mと表す。上記組合せにおいて、第1および第2の手法のいずれかを用いることで、誤った認識に影響を与えている属性ラベルを推定する。
分析部16は推定された属性ラベルを分析結果として出力する。分析結果の出力方法は限定されない。例えば、分析部16はその分析結果を、記憶装置20に格納してもよいし、モニタ上に表示してもよいし、他のコンピュータに向けて送信してもよい。
[効果]
以上説明したように、本開示の一側面に係るコンピュータシステムはプロセッサを備える。プロセッサは、複数の画像のそれぞれについて、該画像を機械学習モデルに入力することで得られた画像認識結果が正しいか否かを示す正誤判定結果を取得し、複数の画像のそれぞれについて、機械学習モデルにおける該画像内の注目領域と、該画像に予め関連付けられた1以上の属性ラベルのそれぞれとの関係を示す関係度を算出し、複数の画像のそれぞれの正誤判定結果および関係度に基づいて、誤った画像認識に関連する属性ラベルを1以上の属性ラベルから推定する。
本開示の一側面に係るプログラムは、複数の画像のそれぞれについて、該画像を機械学習モデルに入力することで得られた画像認識結果が正しいか否かを示す正誤判定結果を取得するステップと、複数の画像のそれぞれについて、機械学習モデルにおける該画像内の注目領域と、該画像に予め関連付けられた1以上の属性ラベルのそれぞれとの関係を示す関係度を算出するステップと、複数の画像のそれぞれの正誤判定結果および関係度に基づいて、誤った画像認識に関連する属性ラベルを1以上の属性ラベルから推定するステップとをコンピュータに実行させる。
このような側面においては、上記の関係度を求めることで、画像内で機械学習が注目した領域に関係する属性ラベルが把握される。そして、複数の画像における、その関係度と画像認識の正誤とを考慮することで、どの属性ラベルが、誤った画像認識に影響を与えたかが推定される。この一連の処理が実行されることで、画像認識用の機械学習モデルを自動的に分析することができる。この自動分析により、例えば、専門家による目視検査に頼ることなく、機械学習モデルにおける誤認識の原因を、多数の画像を分析して効率的に突き止めることが可能になる。別の例では、専門家が持つ知識では網羅できない誤認識の原因をその自動分析により突き止めることができる。
他の側面に係るコンピュータシステムでは、プロセッサが、1以上の属性ラベルのそれぞれについて、複数の画像のそれぞれの正誤判定結果および関係度に基づいて、誤った画像認識への貢献度を算出し、1以上の属性ラベルから、少なくとも、最も高い貢献度を有する属性ラベルを、誤った画像認識に関連する属性ラベルとして推定してもよい。個々の属性ラベルについて貢献度を算出して、その貢献度が最も高い属性ラベルを選択することで、誤った画像認識に最も関連すると推定される属性ラベルを抽出することができる。
他の側面に係るコンピュータシステムでは、プロセッサが、画像認識結果が正しかった画像に補正重みを適用することで得られる第1補正画像を機械学習モデルに入力することで得られる新たな画像認識結果が正しく、かつ、画像認識結果が正しくなかった画像に該補正重みを適用することで得られる第2補正画像を機械学習モデルに入力することで得られる新たな画像認識結果が正しくなる該補正重みを貢献度として、1以上の属性ラベルのそれぞれについて算出してもよい。誤った画像認識に寄与した画素を補正することで画像を正しく認識できるならば、その補正に寄与した属性ラベルが誤認識に関連する蓋然性が高い。したがって、上記の補正重みを貢献度として用いることで、誤った画像認識に関連する属性ラベルを精度良く推定することができる。
他の側面に係るコンピュータシステムでは、プロセッサが、貢献度を求める目的関数を1次のテイラー展開によって近似することで、最も高い貢献度を有する属性ラベルを推定してもよい。1次のテイラー展開を導入することで貢献度の計算を簡単にすることができるので、誤った画像認識に関連する属性ラベルをより短時間で推定することができる。
他の側面に係るコンピュータシステムでは、プロセッサが、注目領域を示す勾配ベクトルと、属性ラベルを示す画像ラベルベクトルとの内積を関係度として算出してもよい。この内積を用いることで、それぞれの属性ラベルと注目領域との関係の度合いが簡単に得られるので、誤った画像認識に関連する属性ラベルをより短時間で推定することができる。
[変形例]
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記実施形態では、分析システム1が画像認識結果、正誤判定結果、およびハイライト結果を算出する。しかし、本開示に係るコンピュータシステムは、これらの結果の少なくとも一つを外部のコンピュータシステムから取得してもよい。すなわち、画像認識、正誤判定、およびハイライト処理のうちの少なくとも一つは、本開示に係るコンピュータシステムにおいて必須の処理ではない。
上記実施形態では、注目領域と属性ラベルとの関係を示す関係度の一例として内積を示すが、内積以外のパラメータが関係度として用いられてもよい。上記実施形態では、誤った画像認識に属性ラベルがどのくらい寄与したかを示す貢献度の一例として補正重みを示すが、補正重み以外のパラメータが貢献度として用いられてもよい。
上記実施形態では、分析部16が、最も高い貢献度(補正重み)を有する属性ラベルを、誤った画像認識に関連する属性ラベルとして推定する。しかし、推定される属性ラベルはこれに限定されない。例えば、本開示に係るコンピュータシステムは、貢献度(例えば補正重み)が所与の閾値以上である一または複数の属性ラベルを、誤った画像認識に関連する属性ラベルとして推定してもよい。いずれにしても、本開示に係るコンピュータシステムは少なくとも、最も高い貢献度(補正重み)を有する属性ラベルを、誤った画像認識に関連する属性ラベルとして推定する。
本開示において、「プロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。
コンピュータシステム内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」の二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
プロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
以上の実施形態の全部または一部に記載された態様は、画像処理に関する制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび/またはプログラムの容量の削減、装置および/またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および/またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および/またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。