(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-23
(45)【発行日】2024-09-02
(54)【発明の名称】ニューラルネットワークを用いた画像認識装置および画像認識装置に用いられるプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240826BHJP
G06V 10/82 20220101ALI20240826BHJP
【FI】
G06T7/00 350C
G06T7/00 U
G06V10/82
(21)【出願番号】P 2020104577
(22)【出願日】2020-06-17
【審査請求日】2023-06-01
(31)【優先権主張番号】P 2019137317
(32)【優先日】2019-07-25
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 http://mprg.jp/research/abn_j 令和1年6月20日、令和1年7月掲載 http://cvim.ipsj.or.jp/MIRU2019/ (「第22回 画像の認識・理解シンポジウム(MIRU2019)」のウェブサイト) 令和1年7月掲載 第22回 画像の認識・理解シンポジウム(MIRU2019) オーラルセッションOS2A-5、グランキューブ大阪(大阪府立国際会議場) 令和1年7月31日
(73)【特許権者】
【識別番号】500433225
【氏名又は名称】学校法人中部大学
(74)【代理人】
【識別番号】110001128
【氏名又は名称】弁理士法人ゆうあい特許事務所
(72)【発明者】
【氏名】藤吉 弘亘
(72)【発明者】
【氏名】山下 隆義
(72)【発明者】
【氏名】平川 翼
【審査官】稲垣 良一
(56)【参考文献】
【文献】FUKUI, Hiroshi et al.,Attention Branch Network: Learning of Attention Mechanism for Visual Explanation,arXiv [online],2019年04月10日, [retrieved on 2024.02.29], https://arxiv.org/abs/1812.10025
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワーク(10)に画像(51)を入力する入力部(120)と、
入力された前記画像の特徴を含む特徴マップ(52)と入力された前記画像の注視領域を表現するアテンションマップ(53)
とを、前記ニューラルネットワークが生成したとき、生成された前記アテンションマップに対して、人の修正操作に応じた修正を行うマップ修正部(140)と、
修正された前記アテンションマッ
プと前記特徴マップとが合成された合成マップ(54)および前記画像に基づいて前記ニューラルネットワーク(10)が前記画像の認識結果を生成したとき、生成された前記認識結果を出力する出力部(160)と、を備えた画像認識装置。
【請求項2】
前記ニューラルネットワークは、特徴抽出部(11)と、アテンション部(12)と、合成部(13)と、認知部(14)と、を備え、
前記特徴抽出部は、複数の畳み込み層を含むと共に前記画像の情報を前記複数の畳み込み層を伝播させることで前
記特徴マップ(52)を生成し、
前記アテンション部は、前記特徴マップに基づいて前記アテンションマップを生成し、
前記合成部は、前記特徴マップと修正された前記アテンションマップを合成して
前記合成マッ
プを生成し、
前記認知部は、前記合成マップに基づいて前記認識結果を生成する、請求項1に記載の画像認識装置。
【請求項3】
前記マップ修正部は、前記画像を前記アテンションマップに透過的に重ねて表示装置(3)に表示させた状態で、前記修正操作に応じた修正を前記アテンションマップに反映させることを特徴とする、請求項1または2に記載の画像認識装置。
【請求項4】
入力された画像(51)の認識結果を出力する画像認識装置に用いられるプログラムであって、
ニューラルネットワーク(10)に前記画像を入力する入力部(120)、
入力された前記画像の特徴を含む特徴マップ(52)と入力された前記画像の注視領域を表現するアテンションマップ(53)
とを、前記ニューラルネットワークが生成したとき、生成された前記アテンションマップに対して、人の修正操作に応じた修正を行うマップ修正部(140)、および
修正された前記アテンションマッ
プと前記特徴マップとが合成された合成マップ(54)および前記画像に基づいて前記ニューラルネットワーク(10)が前記画像の認識結果を生成したとき、生成された前記認識結果を出力する出力部(160)として、前記画像認識装置を機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークを用いた画像認識装置およびトレーニング装置に関するものである。
【背景技術】
【0002】
従来、CNN(Convolutional Neural Network)等のニューラルネットワークを用いた画像認識技術において、ニューラルネットワークによる推論時における注視領域を表現したアテンションマップを生成する技術が知られている(例えば、非特許文献1、2参照)。
【先行技術文献】
【非特許文献】
【0003】
【文献】Ramprasaath, R., S., Michael, C., Abhishek, D., Ramakrishna, V., Devi, P. and Dhruv, B.: Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization, International Conference on Computer Vision, pp. 618-626 (2017).
【文献】Zhou, B., Khosla, A., Lapedriza, A., Oliva, A. and Torralba, A.: Learning Deep Features for Discriminative Localization, Computer Vision and Pattern Recognition, pp. 2921-2929 (2016).
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、発明者の検討によれば、ある画像についてニューラルネットワークが認識結果とアテンションマップを生成したとき、認識結果とアテンションマップ中の注視領域とが一致しない場合がある。例えば、認識結果が「笑顔」であるにもかかわらず注視領域が頭髪である場合、認識結果とアテンションマップ中の注視領域とが一致していない。認識結果とアテンションマップ中の注視領域とに不一致が有れば、それは画像認識自体の誤りにも繋がる問題である。そして、現状では、この不一致を修正する術はない。
【0005】
本開示は上記点に鑑み、アテンションマップを出力するニューラルネットワークを用いた画像認識技術において、ニューラルネットワークの認識機能または学習に人の知見を取り入れることを目的とする。
【課題を解決するための手段】
【0006】
本開示の1つの観点によれば、画像認識装置は、ニューラルネットワーク(10)に画像(51)を入力する入力部(120)と、入力された前記画像の特徴を含む特徴マップ(52)と入力された前記画像の注視領域を表現するアテンションマップ(53)とを、前記ニューラルネットワークが生成したとき、生成された前記アテンションマップに対して、人の修正操作に応じた修正を行うマップ修正部(140)と、修正された前記アテンションマップと前記特徴マップとが合成された合成マップ(54)および前記画像に基づいて前記ニューラルネットワーク(10)が前記画像の認識結果を生成したとき、生成された前記認識結果を出力する出力部(160)と、を備える。また、他の観点によれば、プログラムが画像認識装置を機能させる。
【0007】
このように、人の知見を利用してアテンションマップ53が修正されることで、認知部14が人の意図した領域を重視する。その結果、人の意図に沿った画像認識をすることができる。またこのとき、ニューラルネットワーク10のパラメータは変更されていない。つまり、ニューラルネットワーク10の再学習を必要とせず、人の意図した認識結果を得ることができる。
【0010】
なお、各構成要素等に付された括弧付きの参照符号は、その構成要素等と後述する実施形態に記載の具体的な構成要素等との対応関係の一例を示すものである。
【図面の簡単な説明】
【0011】
【
図2】ニューラルネットワークの構成を示す図である。
【
図4】処理部が実行する処理のフローチャートである。
【
図5】入力画像と修正前のアテンションマップとが重なった表示を示す図である。
【
図6】入力画像と注視領域が削除されたアテンションマップとが重なった表示を示す図である。
【
図7】入力画像と注視領域が追加されたアテンションマップとが重なった表示を示す図である。
【
図8】修正されたアテンションマップとニューラルネットワークの関係を示す図である。
【
図9】第2実施形態において処理部が実行する処理のフローチャートである。
【発明を実施するための形態】
【0012】
(第1実施形態)
以下、第1実施形態について説明する。本実施形態に係る画像認識装置1は、
図1に示すように、操作装置2、表示装置3、メモリ4、処理部5を備えている。
【0013】
操作装置2は、人の操作を受け付け、受け付けた操作に応じた信号を処理部5に出力する装置である。操作装置2は、例えば、マウス、キーボード、タッチパネル等であってもよい。表示装置3は、映像を人に表示する装置である。
【0014】
メモリ4は、書き換え可能な揮発性記憶媒体であるRAM、書き換え不可能な不揮発性記憶媒体であるROM、書き換え可能な不揮発性記憶媒体であるフラッシュメモリを含む。RAM、ROM、フラッシュメモリは、非遷移的実体的記憶媒体である。フラッシュメモリには、学習済みのニューラルネットワーク10のデータがあらかじめ記録されている。
【0015】
処理部5は、ROMまたはフラッシュメモリに記憶された不図示のプログラムを実行し、その実行の際にRAMを作業領域として用いることで、後述する種々の処理を実現する。
【0016】
ここで、ニューラルネットワーク10について説明する。ニューラルネットワーク10は、
図3に示すように、特徴抽出部11、アテンション部12、合成部13、認知部14を含んだ、ディープニューラルネットワークである。
【0017】
ニューラルネットワーク10は、入力画像51が入力されると、アテンションマップ53を生成する。アテンションマップ53は、ニューラルネットワーク10の推論時の注視領域を表現するデータである。つまり、アテンションマップ53は、ニューラルネットワーク10の推論時において、入力画像51のどの領域が重視されているかを説明する視覚的説明用のデータである。
【0018】
またニューラルネットワーク10は、入力画像51およびアテンションマップ53に基づいて入力画像51の分類結果を出力する。入力画像51の分類結果とは、画像の認識対象に相当する複数のクラス(例えば、ダルメシアン、ザリガニ、フィンチ、カエル等)にそれぞれ対応する複数の尤度である。ここでは、クラスの数をKとする。
【0019】
特徴抽出部11は、複数の層を有するニューラルネットワークである。これら複数の層は、複数の畳み込み層を少なくとも含む。更にこれら複数の層は、更に複数の残差ブロックの構成要素となっていてもよいし、複数のプーリング層等を有していてもよい。そして特徴抽出部11は、入力された入力画像51の情報をこれら複数の層に伝播させることで、特徴マップ52を生成する。
【0020】
特徴マップ52は、K個のクラスにそれぞれ対応するK個の解像度h×wのマップである。h、wは、任意の整数である。したがって、特徴マップ52のチャンネル数はKである。特徴マップ52の解像度は、入力画像51の解像度と同じであってもよいし、入力画像51の解像度よりも低くてもよい。
【0021】
特徴抽出部11は、ベースラインモデルのうち入力層から始まり最初の全結合層よりも前の部分によって構成されていてもよい。ベースラインモデルとしては、複数の畳み込み層を有し、ニューラルネットワーク10と同じ種類の複数のクラスの尤度を生成するものが選ばれる。例えば、ベースラインモデルとしては、非特許文献3に示すVGGNetが用いられてもよいし、非特許文献4に示すResNetが用いられてもよいし、他のCNN(Convolutional Neural Network)が用いられてもよい。
【0022】
アテンション部12は、特徴抽出部11によって生成された特徴マップ52からアテンションマップ53を生成する。アテンション部12は、複数の層を有するニューラルネットワークである。これら複数の層は、
図3に示すように、1つ以上の畳み込み層または1つ以上の残差ブロックを有する第1部分12a、第1部分の後段におけるK×1×1畳み込み層12bを有する。ここで、L、a、bを任意の自然数とすると、L×a×b畳み込み層は、L個のチャネルの各々でa×bのカーネルを用いた畳み込み層を意味する。
【0023】
そしてアテンション部12は、畳み込み層12bの後段において分岐する2つのK×1×1畳み込み層12cと1×1×1畳み込み層12eを有する。そしてアテンション部12は、畳み込み層12cの後段におけるGAP(Global Average Pooling)層12dを有する。
【0024】
アテンション部12に入力された特徴マップ52の情報が、第1部分12a、畳み込み層12b、畳み込み層12c、GAP層12dを伝播し、GAP層12dの出力がSoftmax関数に入力されることで、ニューラルネットワーク10と同じ種類の複数のクラスの尤度が分類結果として生成される。分類結果は、認識結果の一種である。
【0025】
また、アテンション部12に入力された特徴マップ52の情報が、第1部分12a、畳み込み層12b、畳み込み層12eに伝播されることで、アテンションマップ53が生成される。全結合層ではなく畳み込み層12bを介してアテンションマップ53が生成されることで、注視領域の情報が局所化されたままでアテンションマップ53に伝播される。また、1×1×1畳み込み層12eを介することで、すべてのクラスに対応した注視領域の重み付き総和として1チャンネルのアテンションマップ53が生成される。畳み込み層12eのカーネルの各値は、すべて1でもよいし、それ以外でもよい。
【0026】
特徴マップ52の各マップの解像度とアテンションマップ53の解像度は同じである。そうなるよう、アテンション部12は構成されている。アテンションマップ53は、注視領域に該当する画素には比較的高い画素値が与えられ、注視領域に該当しない画素には注視領域と比べて低い画素値が与えられる。アテンションマップ53の各画素値が取り得る値は、2値でもよいし、256段階の値でもよい。ある画素の画素値が高いほど、その画素の位置における注目度が高い。
【0027】
合成部13は、特徴マップ52とアテンションマップ53との合成を行う。具体的には、特徴マップ52におけるK個のチャネルの各々における解像度h×wのマップに対し、アテンションマップ53が乗算される。アテンションマップ53と解像度h×wのマップとの乗算は、同じ位置座標の画素同士で行われる。なお、合成は、上記のように乗算であってもよいし、加算であってもよいし、加算と乗算の組み合わせから成る演算であってもよい。この合成によって、合成マップ54が得られる。合成マップ54のチャネル数と解像度は、特徴マップ52と同じである。
【0028】
認知部14は、合成マップ54に基づいて各クラスの尤度を出力する。認知部14は、複数の層を有するニューラルネットワークである。これら複数の層は、複数の畳み込み層を少なくとも含む。また、これら複数の層は、全結合層およびGAP層のうち一方または両方を含む。更にこれら複数の層は、更に複数の残差ブロックの構成要素となっていてもよいし、複数のプーリング層を有していてもよい。認知部14は、入力された合成マップ54の情報をこれら複数の層に伝播させることで、各クラスの尤度を分類結果として出力する。分類結果は、認識結果でもある。認知部14は、上述のベースラインモデルのうち、アテンション部12で利用された部分のすぐ後段から出力層までの部分によって構成されていてもよい。
【0029】
なお、ニューラルネットワーク10、特徴抽出部11、アテンション部12、合成部13、認知部14が行うと上で説明した機能は、実際には、処理部5が当該ニューラルネットワーク10の構造およびパラメータに従った処理を行うことで実現される。
【0030】
特徴抽出部11、アテンション部12、合成部13は、上記のような機能が実現するよう、あらかじめ教師有り学習で誤差逆伝播法によって学習されている。学習においては、学習誤差(損失関数ともいう)Lとして、L=Latt+Lperが用いられる。ここで、Lattは、アテンション部12が出力する分類結果に関する学習誤差であり、Lperは、認知部14が出力する分類結果に関する学習誤差である。LattおよびLperは、それぞれの分類結果に対してSoftmax関数とクロスエントロピーの組み合わせを適用することで算出されてもよい。特徴抽出部11は、誤差逆伝播法においてアテンション部12と認知部14の勾配を通り抜けることで学習される。
【0031】
以下、このように構成された学習済みのニューラルネットワーク10を用いた処理部5の画像分類処理について説明する。
【0032】
処理部5は、人による操作装置2に対する実行開始操作等の所定の条件が満たされると、メモリ4に記録された所定のプログラムに規定された
図4に示す処理を開始する。この処理において処理部5は、まずステップ110で、ニューラルネットワーク10をメモリ4から読み出す。
【0033】
続いてステップ120で、入力画像51を取得し、この入力画像51をニューラルネットワーク10に対して入力する。入力画像51は、あらかじめメモリ4に記録されている複数の画像のうちから人の操作装置2に対する操作等によって選択された画像であってもよいし、不図示の通信ネットワークを介して他の装置から受信した画像であってもよい。
【0034】
ニューラルネットワーク10に入力画像51が入力されると、ニューラルネットワーク10は、上述の通り、特徴抽出部11が入力画像51から特徴マップ52および分類結果を生成し、アテンション部12が特徴マップ52からアテンションマップ53を生成する。
【0035】
処理部5は、ステップ120に続くステップ130で、このように生成されたアテンションマップ53を取得する。すなわちニューラルネットワーク10によってメモリ4内に生成されたアテンションマップ53をメモリ4内の他の領域にコピーまたは移動する。
【0036】
続いてステップ140で、処理部5は、取得された(すなわち、コピー先または移動先の)アテンションマップ53を、人の操作装置2に対する修正操作に基づいて、修正する。これにより、人の知見によってアテンションマップ53が修正される。
【0037】
具体的には、処理部5は、修正前のアテンションマップ53およびポインタを表示装置3に表示させる。ポインタは、表示装置3に表示されたアテンションマップ53の表示範囲内を操作装置2に対する人の操作に応じて移動する画像である。人は、操作装置2に対して所定の修正操作(例えば、消去操作、追加操作等)を行うことで、表示されたアテンションマップ53中のポインタと重なる位置範囲の値を修正する。
【0038】
なおこの際、処理部5は、
図5に示すように、入力画像51をアテンションマップ53に透過的に位置を合わせて重ねて、表示装置3に表示させた状態で、上記修正操作に応じた修正をアテンションマップ53に反映させてもよい。この際、入力画像51とアテンションマップ53の解像度が異なる場合は、処理部5は、入力画像51の解像度をアテンションマップ53と一致するよう下げた上で、アテンションマップ53に透過的に重ねる。
【0039】
図5においては、ダルメシアンがサッカーボールを咥えている入力画像51が、アテンションマップ53に透過的に重ねられている。
【0040】
このアテンションマップ53では、注視領域がサッカーボールの領域にある。このままアテンションマップ53が合成部13に入力され、そのアテンションマップ53と特徴マップ52の合成結果である合成マップ54が認知部14の最初の層に入力された場合、認知部14が生成する分類結果としては、サッカーボールの尤度が最も高くなる。つまり、ニューラルネットワーク10は、入力画像51をサッカーボールの画像であると認識する。
【0041】
しかし、画像認識装置1を使う人は、入力画像51をダルメシアンの画像として認識して欲しいと考えていた場合、このアテンションマップ53では注視領域がダルメシアンのいる領域であるべきである。
【0042】
そこでこのような場合、人が、操作装置2を用いて、アテンションマップ53中の注視領域を修正する。具体的には、まず、人が、操作装置2を用いて、アテンションマップ53中の注視領域を消去する。例えば、人が、操作装置2の所定の消去ボタンを押しながら、ポインタを移動させてアテンションマップ53中の注視領域全体を走査する。これにより、処理部5は、消去ボタンを押しながらポインタで走査された領域におけるアテンションマップ53の画素値を下げて、
図6に示すように、注視領域とならない画素値とする。
【0043】
そしてその後、人は、操作装置2を用いて、アテンションマップ53中の新たに注視領域としたい領域を設定する。例えば、人が、操作装置2の所定の追加ボタンを押しながら、ポインタを移動させてアテンションマップ53中の注視領域としたい領域全体を走査する。これにより、処理部5は、追加ボタンを押しながらポインタで走査された領域におけるアテンションマップ53の画素値を上げて、
図7に示すように、注視領域となる画素値とする。
図7の例では、人によって指定された新たな注視領域は、ダルメシアンの顔部分である。
【0044】
このように、入力画像51がアテンションマップ53に重ねられて表示装置3に表示されることで、人は、入力画像51のどの部分を注視領域とすべきかを判断できる場合は、その知見を効率よく利用して、アテンションマップ53中の注視領域を容易に指定できる。このようなステップ140の処理により、ステップ130で取得されたアテンションマップ53がメモリ4中で修正される。
【0045】
続いて処理部5はステップ150で、直前のステップ140で修正されたアテンションマップ53を、合成部13に入力する。すると、合成部13は、特徴マップ52とアテンションマップ53を上述の通り合成して合成マップ54を生成して認知部14の最初の層に入力する。合成マップ54が入力された認知部14は、上述の通り合成マップ54に基づいて分類結果を生成する。この分類結果においては、ダルメシアンの尤度が最も高くなる。つまり、ニューラルネットワーク10は、入力画像51をダルメシアンの画像であると認識する。
【0046】
処理部5は、ステップ150に続くステップ160で、このようにして認知部14が生成した分類結果を取得して出力する。出力先は、不図示の通信ネットワークを介した他の装置であってもよいし、メモリ4であってもよいし、表示装置3であってもよい。
【0047】
このように、人の知見を利用してアテンションマップ53が修正されることで、認知部14が人の意図した領域により高い重み付けがされる。その結果、人の意図に沿った画像認識をすることができる。つまり、人の知見に基づいて手動で修正されたアテンションマップを用いることで認識結果の調整が可能となる。
【0048】
またこのとき、ニューラルネットワーク10のパラメータは変更されていない。つまり、ニューラルネットワーク10の再学習を必要とせず、人の意図した認識結果を得ることができる。
【0049】
例えば、眼底画像が入力画像51としてニューラルネットワーク10に入力されたときに、医師が自分の経験に基づく知見を用いてアテンションマップ53の注視領域を修正することで、眼の疾患のグレードをクラスとして識別がより正確になる。このように、例えば医用画像診断において、本実施形態の機能は有用である。
【0050】
以上説明した通り、画像認識装置1の処理部5は、
図8に示すように、入力画像51が入力されたニューラルネットワーク10によって生成されたアテンションマップ53に対して、人の修正操作に応じた修正を行う(ステップ140)。そして処理部5は、修正されたアテンションマップ53および入力画像51に基づいてニューラルネットワーク10が生成した入力画像51の認識結果を出力する(ステップ160)。
【0051】
このように、人の知見を利用してアテンションマップ53が修正されることで、認知部14が人の意図した領域を重視する。その結果、人の意図に沿った画像認識をすることができる。またこのとき、ニューラルネットワーク10のパラメータは変更されていない。つまり、ニューラルネットワーク10の再学習を必要とせず、人の意図した認識結果を得ることができる。
【0052】
また、アテンションマップ53を生成するために画像の情報が伝播する経路と、認識結果を生成するために画像の情報が伝播する経路とが、一部(すなわち特徴抽出部11)において共有されて、他の部分(すなわちアテンション部12と認知部14)で分離されている。そして、合成部13により、その分離部分の認知部14の側に、修正後のアテンションマップ53が反映された合成マップ54が入力される。このように、修正後のアテンションマップ53に基づいた合成マップ54の入力箇所が、ニューラルネットワーク10の構造に適したものになっていることで、修正されたアテンションマップ53による認識結果の改善度合いが向上する。
【0053】
また、処理部5は、入力画像51をアテンションマップ53に透過的に重ねて表示装置3に表示させた状態で、人の修正操作に応じた修正をアテンションマップ53に反映させる。人は、入力画像51のどの部分を注視領域とすべきかを、その入力画像51を見ることで比較的容易に判断できる。したがって、入力画像51がアテンションマップ53に重ねられて表示装置3に表示されることで、人は、自分の知見を視覚的に効率よく利用して、アテンションマップ53中の注視領域を容易に指定できる。
【0054】
なお、本実施形態では、処理部5が、ステップ120を実行することで入力部として機能し、ステップ140を実行することでマップ修正部として機能し、ステップ160を実行することで出力部として機能する。
【0055】
(第2実施形態)
次に第2実施形態について説明する。本実施形態では、人の修正操作に応じた修正されたアテンションマップに基づいて、ニューラルネットワーク10の重み、バイアス等の学習パラメータが補正される。すなわち、修正されたアテンションマップに基づいてニューラルネットワーク10が再学習される。
【0056】
本実施形態のハードウェア構成は、第1実施形態において
図1に示したものと同じである。また、メモリ4に記憶されている学習済みのニューラルネットワーク10の構成についても、第1実施形態と同じである。なお、本実施形態の画像認識装置1は、トレーニング装置に対応する。
【0057】
本実施形態第1実施形態と異なる点の1つは、処理部5が
図4の処理を実行するのではなく、その代わりに、アテンションマップ53を修正せずに、入力画像51に対応する分類結果をニューラルネットワーク10に生成させることである。
【0058】
すなわち、処理部5は、まず、第1実施形態と同様、ニューラルネットワーク10をメモリ4から読み出し、続いて、入力画像51を取得し、この入力画像51をニューラルネットワーク10に対して入力する。
【0059】
するとニューラルネットワーク10においては、第1実施形態と同様に特徴抽出部11およびアテンション部12が機能することで、アテンション部12によってアテンションマップ53および分類結果が生成される。このアテンションマップ53は人の修正操作を受けることなく、すなわち修正されることなく、合成部13に入力される。合成部13は、特徴マップ52と人の修正操作を受けなかったアテンションマップ53とを合成することで、合成マップ54を生成する。認知部14は、この合成マップ54に基づいて、第1実施形態と同様に分類結果を生成する。処理部5は、この分類結果を第1実施形態と同様に取得して出力する。
【0060】
そして、処理部5は、上記のようにニューラルネットワーク10を用いて入力画像51からその入力画像51の分類結果を取得する処理に加え、ニューラルネットワーク10を再学習させるため、
図9に示す処理を実行する。この再学習によって、ニューラルネットワーク10はファインチューニングされる。
【0061】
処理部5は、操作装置2に対して人による所定の再学習開始操作が行われたことに基づいて、
図9の処理を開始する。この処理において、処理部5は、再学習用のデータセットを用いる。再学習用のデータセットは、学習用画像と教師ラベルからなるグループを複数個(10個でも100個でも10万個でもよい)有している。
【0062】
学習用画像は、入力画像51のように特徴抽出部11に入力されるデータである。教師ラベルは、同じグループの学習用画像が特徴抽出部11に入力されたときにアテンション部12および認知部14から出力される分類結果の正解値とされるデータである。
【0063】
再学習用のデータセットは、あらかじめ生成されてメモリ4の不揮発性記憶媒体に記録されていてもよいし、不図示の通信ネットワークを介してデータサーバから取得されてもよい。また、再学習用のデータセットの学習用画像および教師ラベルとしては、ニューラルネットワーク10の初期の学習時に用いられた学習用データセットと同じものが流用されてもよいし、当該学習用データセットと異なるものであってもよい。
【0064】
処理部5は、
図9の処理において、まず、ステップ210、220のループ処理を、再学習用データセットに含まれるグループ毎に、実行する。処理部5は、ループ処理の各回において、まずステップ210で、対象となるグループ中の学習用画像を特徴抽出部11に入力する。続いてステップ220で、入力された学習用画像に基づいてアテンション部12が生成したアテンションマップ53および分類結果、ならびに、学習用画像に基づいて認知部14が生成した分類結果を取得してメモリ4に記録する。
【0065】
なお、入力された学習用画像に基づいてニューラルネットワーク10がアテンションマップ53および2種類の分類結果を出力する方法は、学習用画像を入力画像51に置き換えた上述の方法と同等である。ステップ220の後、1回分のループ処理が終了する。
【0066】
グループの数だけループ処理が終了すると、処理部5の処理はステップ230に進む。この時点で、すべての再学習用データセット中の各グループに対して、アテンション部12が生成したアテンションマップ53および分類結果、および、認知部14が生成した分類結果が、対応付けられて、メモリ4に記録されている。
【0067】
処理部5は、ステップ230では、複数のグループのうち、誤認識が発生したグループを抽出する。誤認識が発生したとして抽出されるのは、認知部14が出力した分類結果において尤度が最も高いクラスと、教師ラベルが示すクラス(すなわち、教師ラベルにおいて尤度が最も高いクラス)とが一致しなかったグループである。あるいは、アテンション部12が出力した分類結果において尤度が最も高いクラスと、教師ラベルが示すクラスとが一致しなかったグループが、誤認識が発生したとして抽出されてもよい。またあるいは、それらの両方が抽出されてもよい。抽出されるグループは、殆どの場合複数である。
【0068】
続いてステップ240では、直前のステップ230で抽出したグループの各々に対応してメモリ4に記録されているアテンションマップ53を、人の知見に基づいて修正する。具体的には、
図4のステップ140と同様の処理により、操作装置2に対する人の修正操作に基づいて、当該アテンションマップ53を修正する。そして処理部5は、修正後のアテンションマップ53を、当該グループに属する教師アテンションマップとして、メモリ4に保存する。
【0069】
このように作成される教師アテンションマップは、同じグループの学習用画像が特徴抽出部11に入力されたときにアテンション部12から出力されるアテンションマップ53の正解値とされるデータである。この処理により、教師アテンションマップは、再学習用データセットに追加される。
【0070】
続いて処理部5は、ステップ250で、今回の
図9の処理で取得した2種類の分類結果、アテンションマップ53、および再学習用データセットに基づいて、ニューラルネットワーク10を再学習させる。上述の通り、再学習用データセットには、教師アテンションマップ、教師ラベルが含まれる。
【0071】
具体的には、
図10に示すように、3つの学習誤差Latt、Lper、Lmapの和から成る量L=Latt+Lper+Lmapを学習誤差として、誤差逆伝播法により、アテンション部12および認知部14の重み、バイアス等の学習パラメータが更新される。
図10においては、認知部14の出力層14bと、認知部14の出力層14bよりも前段の部分14aとが表されている。なお、本実施形態では、特徴抽出部11の重み、バイアス等の学習パラメータは更新されない。
【0072】
ここで、Lattは、学習用画像61がニューラルネットワーク10に入力されたときにアテンション部12が出力する分類結果と、当該学習用画像61と同じグループに属する教師ラベル60との間の、誤差を示す量である。
【0073】
また、Lperは、学習用画像61がニューラルネットワーク10に入力されたときに特徴抽出部11が出力する分類結果と、当該学習用画像61と同じグループに属する教師ラベル60との間の、誤差を示す量である。
【0074】
また、Lmapは、学習用画像61がニューラルネットワーク10に入力されたときにアテンション部12が出力するアテンションマップ53と、当該学習用画像61と同じグループに属する教師ラベル60との間の、誤差を示す量である。
【0075】
学習誤差Lmapとしては、以下の式のようにL2ノルム誤差が採用されてもよいし、他の形態の誤差が採用されてもよい。
Lmap=γ×||M’-M||2
ここで、Mは学習用画像61がニューラルネットワーク10に入力されたときにアテンション部12が出力するアテンションマップ53の値を示す。M’は、学習用画像61と同じグループに対応する修正後のアテンションマップの値を示す。これら2つのアテンションマップの要素毎に誤差を求めることで,人の知見に近いアテンションマップを出力するようアテンション部12が学習される。
【0076】
ここで、γは学習誤差Lmapを調整する係数である。LmapはLatt、Lperと比べて誤差の値が大きい。そのため、γをLmapに乗算することで、3つの学習誤差Lmap、Latt、Lperの大きさを調整することができる。ステップ250の後、
図9の処理が終了し、再学習されたニューラルネットワーク10がメモリ4に記録される。
【0077】
このように、人の知見に基づいて修正されたアテンションマップに基づいてニューラルネットワーク10のファインチューニングが行われることで、ニューラルネットワーク10による画像認識機能が向上する。つまり、処理部5がファインチューニング後のニューラルネットワーク10に種々の入力画像51を入力したときに認知部14が生成する認識結果の正解率が向上する。
【0078】
以上説明した通り、処理部5は、再学習用のデータセットを用いて、ニューラルネットワーク10を再学習させる(ステップ250)。そして、再学習用のデータセットは、複数の教師アテンションマップを含む。
【0079】
このように、アテンションマップを生成するニューラルネットワーク10を再学習するときに、アテンションマップの正解値とされる教師アテンションマップが使用される。教師アテンションマップは、人の知見に基づいて作成されたものなので、このようにすることで、ニューラルネットワーク10の学習に人の知見を取り入れることが可能となる。
【0080】
また、処理部5は、ニューラルネットワーク10に複数の学習用画像を入力することによって複数の学習用画像にそれぞれ対応した複数のアテンションマップを取得する(ステップ210、220)。そして処理部5は、人の修正操作に応じてそれら複数のアテンションマップを修正して教師アテンションマップとする(ステップ240)。
【0081】
このように、ニューラルネットワーク10が生成したアテンションマップに対して人がした修正操作に基づいて、教師アテンションマップを生成することができる。したがって、より直接的に、ニューラルネットワーク10の学習に人の知見を取り入れることが可能となる。しかも、ゼロから教師アテンションマップを作成する場合に比べて、修正操作が簡単である。
【0082】
また、再学習用のデータセットに含まれる複数の教師アテンションマップは、再学習の前にニューラルネットワーク10によって誤認識された学習用画像のみである。このように、誤認識された学習用画像に対応する教師アテンションマップを多く再学習に用いることで、より高い効率で再学習を行うことができる。これは、誤認識された学習用画像を入力として生成されたアテンションマップは、それ自体も誤りが多い可能性が高いからである。
【0083】
また、ニューラルネットワーク10は、入力画像51およびアテンションマップ53に基づいて入力画像51の認識結果を生成する。このように、入力画像51のみならずアテンションマップ53も画像認識のための情報としてフィードバックするようなニューラルネットワーク10においては、入力画像51の認識結果とアテンションマップ53との間の関連性が強い。したがって、そのようなニューラルネットワーク10においては、教師アテンションマップを用いた再学習の効果が、入力画像51の認識結果の向上に寄与する度合いが、高い。
【0084】
また、処理部5は、特徴抽出部11を再学習させずにアテンション部12を再学習させる。このように、ニューラルネットワーク10のうちでもアテンションマップ53の生成に強く関係する部分が再学習されることにより、効率の高いニューラルネットワーク10のファインチューニングが実現する。
【0085】
なお、本実施形態では、処理部5が、ステップ205を実行することで読出部として機能し、ステップ250を実行することでトレーニング部として機能し、ステップ210、220を実行することで取得部として機能し、ステップ240を実行することでマップ修正部として機能する。
【0086】
(他の実施形態)
なお、本発明は上記した実施形態に限定されるものではなく、適宜変更が可能である。また、上記各実施形態は、互いに無関係なものではなく、組み合わせが明らかに不可な場合を除き、適宜組み合わせが可能である。また、上記各実施形態において、実施形態を構成する要素は、特に必須であると明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。また、上記各実施形態において、実施形態の構成要素の個数、数値、量、範囲等の数値が言及されている場合、特に必須であると明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではない。また、ある量について複数個の値が例示されている場合、特に別記した場合および原理的に明らかに不可能な場合を除き、それら複数個の値の間の値を採用することも可能である。
【0087】
また、本発明は、上記各実施形態に対する以下のような変形例および均等範囲の変形例も許容される。なお、以下の変形例は、それぞれ独立に、上記実施形態に適用および不適用を選択できる。すなわち、以下の変形例のうち任意の組み合わせを、上記実施形態に適用することができる。
【0088】
(変形例1)
画像認識装置1は、第1実施形態の機能(すなわち、人の知見に基づいて修正されたアテンションマップを用いた画像認識)と第2実施形態の機能(すなわち、人の知見に基づいて修正されたアテンションマップを用いた再学習)の両方の機能を有していてもよい。
【0089】
(変形例2)
上記実施形態では、アテンション部12および認知部14が出力する認識結果の一例として、分類結果が上げられている。しかし、アテンション部12および認知部14が出力する認識結果は、分類結果に限らず、回帰による結果でもよい。つまり、ニューラルネットワーク10が行う画像の認識は、分類でもよいし、回帰でもよい。
【0090】
(変形例3)
上記第1実施形態では、ニューラルネットワーク10は、特徴抽出部11、アテンション部12、合成部13、認知部14を有している。しかし、人の知見に基づいて修正されたアテンションマップを用いた画像認識を実現するためのニューラルネットワークは、このような構成のものに限られない。すなわち、入力された画像に基づいてアテンションマップを生成し、当該画像とアテンションマップに基づいて画像の認識結果を生成するニューラルネットワークであれば、アテンションマップが修正されることで画像の認識機能が向上し得る。
【0091】
(変形例4)
上記第2実施形態では、ニューラルネットワーク10は、特徴抽出部11、アテンション部12、合成部13、認知部14を有している。しかし、人の知見に基づいて修正されてもよい。しかし、人の知見に基づいて修正されたアテンションマップを用いた再学習を実現するためのニューラルネットワークは、このような構成のものに限られない。すなわち、入力された画像に基づいてアテンションマップおよび画像の認識結果を生成するニューラルネットワークであれば、修正されたアテンションマップを用いて再学習することで画像の認識機能が向上し得る。例えば、非特許文献2に記載されたCAM(Class Activation Mapping)のようなニューラルネットワークが、人の知見に基づいて修正されたアテンションマップを用いて再学習されてもよい。
【0092】
(変形例5)
上記第1実施形態では、処理部5は、入力画像51をアテンションマップ53に透過的に重ねて、表示装置3に表示させた状態で、人の修正操作に応じた修正をアテンションマップに反映させている。しかし、必ずしもこのようにしなくてもよい。例えば、処理部5は、入力画像51とアテンションマップ53を重ならずに並べて表示装置3に表示させた状態で、人の修正操作に応じた修正をアテンションマップに反映させてもよい。また例えば、処理部5は、アテンションマップ53を表示装置3に表示させて入力画像51を表示装置3に表示させない状態で、人の修正操作に応じた修正をアテンションマップに反映させてもよい。
【0093】
(変形例6)
上記第1、2実施形態では、アテンションマップの修正方法として、アテンション部12によって生成されたアテンションマップ中の一部の画素の値のみを変更し、残りの画素の値は変更しない方法が示されている。つまり、アテンション部12によって生成されたアテンションマップに変更を加える方法が示されている。
【0094】
しかし、アテンションマップの修正方法は、必ずしもこのような方法に限られない。例えば、画像がニューラルネットワーク10に入力されたときにアテンション部12によって出力されたアテンションマップとは別に、新たなアテンションマップがゼロから作成されてもよい。この場合、第1実施形態では、この新たなアテンションマップが合成部13に入力され、第2実施形態では、この新たなアテンションマップが教師アテンションマップになる。
【0095】
新たなアテンションマップの作成方法としては、例えば、以下のような方法がある。まず、人が、ニューラルネットワーク10に入力された画像を見て注視領域の位置範囲を決める。そして人が、その決めた注視領域の位置範囲を反映する新たなアテンションマップを、コンピュータを操作して作成してもよい。このコンピュータは、画像認識装置1であってもよいし、他の装置であってもよい。
【0096】
(変形例7)
上記第2実施形態では、再学習に使用される教師アテンションマップは、再学習の前にニューラルネットワーク10によって誤認識された学習用画像に対応する教師アテンションマップのみである。しかし、再学習に使用される教師アテンションマップに、再学習の前にニューラルネットワーク10によって正しく認識された学習用画像に対応する教師アテンションマップが含まれていてもよい。
【0097】
その場合も、誤認識された学習用画像に対応する教師アテンションマップの数が、正しく認識された学習用画像に対応する教師アテンションマップよりも多ければ、再学習の高効率化を行うことができる。
【0098】
あるいは、誤認識された学習用画像に対応する教師アテンションマップの数が、正しく認識された学習用画像に対応する教師アテンションマップより少なくてもよい。
【0099】
(変形例8)
上記実施形態では、ニューラルネットワーク10の再学習においては、特徴抽出部11は再学習されず、アテンション部12、認知部14のみが再学習される。ニューラルネットワーク10の再学習は、この形態に限られない。例えば、特徴抽出部11、認知部14が再学習されず、アテンション部12のみが再学習されてもよい。また例えば、特徴抽出部11のみが再学習され、アテンション部12、認知部14が再学習されなくてもよい。また例えば、特徴抽出部11、認知部14が再学習され、アテンション部12が再学習されなくてもよい。
【0100】
また、特徴抽出部11、アテンション部12、認知部14が再学習される形態も許容される。この場合は、ニューラルネットワーク10の再学習はファインチューニングではない。
【0101】
(変形例9)
上記実施形態では、再学習は、Lmap、Latt、Lperの3つの学習誤差を用いて誤差逆伝播法を用いて行われている。しかし、Lmap、Latt、Lperのすべてを用いなくてもよい。例えば、Lmapのみを用いてもよい。
【符号の説明】
【0102】
1…画像認識装置、2…操作装置、3…表示装置、4…メモリ、5…処理部、10…ニューラルネットワーク、11…特徴抽出部、12…アテンション部、13…合成部、14…認知部、51…入力画像、52…特徴マップ、53…アテンションマップ、54…合成マップ、60…教師ラベル、61…学習用画像