JP7135504B2 - 画像識別装置、画像識別方法及びプログラム - Google Patents

画像識別装置、画像識別方法及びプログラム Download PDF

Info

Publication number
JP7135504B2
JP7135504B2 JP2018126346A JP2018126346A JP7135504B2 JP 7135504 B2 JP7135504 B2 JP 7135504B2 JP 2018126346 A JP2018126346 A JP 2018126346A JP 2018126346 A JP2018126346 A JP 2018126346A JP 7135504 B2 JP7135504 B2 JP 7135504B2
Authority
JP
Japan
Prior art keywords
image
unnecessary
feature map
input
input image
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
JP2018126346A
Other languages
English (en)
Other versions
JP2020008896A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018126346A priority Critical patent/JP7135504B2/ja
Publication of JP2020008896A publication Critical patent/JP2020008896A/ja
Application granted granted Critical
Publication of JP7135504B2 publication Critical patent/JP7135504B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、画像識別装置、画像識別方法及びプログラムに関する。
畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)は画像解析において高い性能を発揮するため、CNNを用いて画像を識別する装置が開発されてきている。そして、CNNによる画像の識別精度を向上させるための技術の開発も進められている。例えば、特許文献1には、特定の識別対象に特化した場合の識別精度を向上可能とする技術が開示されている。
特開2014-203135号公報
特許文献1に開示されている技術は、不連続関数を用いる符号化処理を実行する場合でも、CNNの学習方法である誤差逆伝播(Backpropagation)法を適用できるようにすることによって、特定の識別対象に特化した場合の識別精度を向上させている。しかし、このような従来技術においては、CNNの内部処理をブラックボックスとして扱っているため、識別精度の向上に改善の余地があった。
本発明は、上記問題を解決するためになされたものであり、従来よりもCNNによる画像の識別精度を向上させることができる画像識別装置、画像識別方法及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明の画像識別装置は、
入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有し、前記入力画像を識別する識別器と、
前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得手段と、
前記識別器が識別する画像以外の画像を認識する画像認識手段と、
前記中間層において、前記画像認識手段により認識された画像の領域を前記入力画像を識別する際に使用しない方が良いと推定される不要領域として取得する不要領域取得手段と、
前記中間層において、前記不要領域取得手段により取得された不要領域の情報を前記特徴マップから削除する不要領域削除手段と、
前記不要領域削除手段により前記不要領域が削除された特徴マップを用いて前記入力画像を識別する識別手段と、
を備える。
本発明によれば、CNNによる画像の識別精度を向上させることができる。
本発明の実施形態1に係る画像識別装置の機能構成を示す図である。 畳み込みニューラルネットワーク(CNN)の処理の概要を説明する図である。 CNNの畳み込み処理及びプーリング処理の具体例を説明する図である。 CNNによる出力の算出について説明する図である。 単純平均による活性化マップ生成方法を説明する図である。 CAMによる活性化マップ生成方法を説明する図である。 Grad-CAMによる活性化マップ生成方法を説明する図である。 CNNの入力側に近い層と出力側に近い層とにおける活性化マップを説明する図である。 実施形態1に係る画像識別処理のフローチャートである。 実施形態1に係る画像識別処理を具体例で説明する図である。 変形例1に係る画像識別処理のフローチャートである。 変形例1に係る画像識別処理で入力画像と活性化マップが重ねて表示されている例を説明する図である。
以下、本発明の実施形態に係る画像識別装置等について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施形態1)
本発明の実施形態1に係る画像識別装置100は、学習用の画像を用いて学習させたCNN識別器を用いて未知の画像を識別する。画像識別装置100は、未知の画像の識別の際に、CNN識別器の中間層において、画像識別に不要と推定される領域の情報を削除することによって、画像識別の精度を向上させることができる。このような画像識別装置100について、以下に説明する。
実施形態1に係る画像識別装置100は、図1に示すように、制御部10、記憶部20、画像入力部31、出力部32、通信部33、操作入力部34、を備える。
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(CNN識別器11、不要領域取得部12、不要領域削除部13)の機能を実現する。
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、制御部10のCPUが実行するプログラム及び必要なデータを記憶する。
画像入力部31は、学習用の画像データ又は識別する(未知の)画像データを入力するためのデバイスである。制御部10は、画像入力部31を介して画像データを取得する。画像入力部31としては、制御部10が画像データを取得できるなら、任意のデバイスを使用することができる。例えば、記憶部20に画像データを記憶させておき、制御部10が記憶部20を読み出すことによって画像データを取得する場合は、記憶部20が画像入力部31を兼ねることになる。また、制御部10が通信部33を介して外部のサーバ等から画像データを取得する場合は、通信部33が画像入力部31を兼ねることになる。
出力部32は、制御部10が、画像入力部31から入力した画像を識別した結果や後述する活性化マップ等を出力するためのデバイスである。例えば、出力部32は、液晶ディスプレイや有機EL(Electoro-Luminescence)ディスプレイである。ただし、画像識別装置100は、出力部32としてこれらディスプレイを備えてもよいし、外部のディスプレイを接続するためのインタフェースとしての出力部32を備えてもよい。画像識別装置100は、インタフェースとしての出力部32を備える場合は、出力部32を介して接続した外部のディスプレイに識別結果等を表示する。出力部32は、出力手段として機能する。
通信部33は、外部の他の装置(例えば、画像データのデータベースが格納されているサーバ等)とデータの送受信を行うためのデバイス(ネットワークインタフェース等)である。制御部10は、通信部33を介して画像データを取得することができる。
操作入力部34は、画像識別装置100に対するユーザの操作入力を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル等である。画像識別装置100は、操作入力部34を介して、ユーザからの指示等を受け付ける。操作入力部34は、操作入力手段として機能する。
次に、制御部10の機能について説明する。制御部10は、CNN識別器11、不要領域取得部12、不要領域削除部13の機能を実現する。
CNN識別器11は、畳み込みニューラルネットワーク(CNN)による画像の識別器である。CNNによる識別器を実現するプログラムを制御部10が実行することにより、制御部10はCNN識別器11としても機能する。CNN識別器11は、画像入力部31を介して入力画像が入力される入力層と、入力画像の識別結果が出力される出力層と、入力層及び出力層以外の層である中間層と、を有し、入力画像を識別した結果を出力層から出力する。CNNによる画像識別の処理概要については後述する。
不要領域取得部12は、CNN識別器11の有するCNNの中間層において、入力画像を識別する際に使用しない方が良いと推定される不要領域を取得する。不要領域取得部12は、不要領域取得手段として機能する。
不要領域削除部13は、不要領域取得部12が取得した不要領域の情報をCNN識別器11の有するCNNの中間層から削除する。不要領域削除部13は、不要領域削除手段として機能する。また、「削除すべき領域を取得して、その領域の情報を削除する」という処理は編集処理の一種と考えられるため、不要領域取得部12と不要領域削除部13とにより、編集手段が構成される。
以上、画像識別装置100の機能構成について説明した。次にCNNの概要を説明する。CNNは、人間の視覚野の神経細胞の働きを模倣したニューラルネットワークであり、その原型はネオコグニトロンである。CNNは、一般的な順伝搬型のニューラルネットワークとは異なり、全結合層だけでなく、畳み込み層(Convolution Layer)とプーリング層(Pooling Layer)を中間層として含んでおり、中間層によって入力画像の特徴が抽出される。そして、出力層において、入力画像の識別結果が確率的に表現される。CNNによるNクラス識別の典型的な処理概要について、図2等を参照して説明する。
図2に示すように、CNNによるNクラス識別の処理は、入力画像111に対して、畳み込み処理(フィルタの走査)やプーリング処理(ウィンドウの走査)を行って徐々にサイズの小さな特徴マップを算出していき、最終的に出力118を得る処理である。入力画像111を記憶する層は入力層、出力118を記憶する層は出力層とも呼ばれる。図2に示す例では、入力された入力画像111に対して、畳み込み処理用のフィルタ121,123,124,125やプーリング処理用のウィンドウ122,126を縦横ともにストライド2で走査することによって徐々にサイズの小さな特徴マップを算出し、最終的に出力118を得ている。なお、「ストライド2で走査する」とは、画素又は特徴マップを構成する要素を1つ飛ばしで走査することを言う。
フィルタ121,123,124,125の各要素には、重み係数が割り当てられており、同一チャネル数の入力画像又は特徴マップの上を平面方向に走査することにより、入力画像又は特徴マップの各注目点において、スカラ値の内積結果が出力され、新たな特徴マップが得られる。そして、フィルタを複数枚(n枚)適用することにより、その枚数分(nチャネル)の特徴マップが得られる。また、ストライド2で走査する度に、特徴マップのサイズは縦横ともに1/2のサイズになる。この結果、後段に行くに従い、より大局的な特徴抽出が行われる(フィルタサイズは、特徴マップサイズに対して相対的に拡大する)ことになる。
なお、1×1よりも大きなフィルタで入力画像又は特徴マップを走査する場合、フィルタ領域が入力画像又は特徴マップからはみ出さないようにすると、走査時の注目点を入力画像又は特徴マップの端よりも内側の点にせざるを得ず、出力される特徴マップは元の入力画像又は特徴マップのサイズよりも小さくなってしまう。そこで、フィルタサイズに応じて必要な分(例えば、7×7のフィルタの場合は、3要素分)だけ0データ等を入力画像又は特徴マップの外側にパディングすることが行われる。これにより、入力画像又は特徴マップの最外周部も注目点とすることが可能になる。
また、フィルタ出力値(スカラ値)は、通常、活性化関数ReLU(Rectified Linear Unit:y=max(x,0))を適用することにより、負値を0にする。ただし近年、活性化関数ReLUを適用する前に、Batch Normalization(フィルタ出力値を平均が0、分散が1となるように正規化する処理)を行うことが一般的になってきている。Batch Normalizationを行うと、活性度の偏りを補正することが可能になり、学習を加速させることができる等の効果があるためである。なお、特徴マップの各要素の値は活性度とも呼ばれ、その値が大きくなることを活性化するとも言う。
フィルタによる畳み込み処理や、ウィンドウによるプーリング処理について、図3を参照して具体例で説明する。ここでは、入力画像110は8×8×1チャネル(白黒)の画像、フィルタ120は3×3×1チャネルのフィルタ、ウィンドウ131は3×3のサイズでその領域内の最大値を返すウィンドウである場合で説明する。また、走査は縦横ともストライド2で行うこととする。
入力画像110(入力画像の外側に0をパディングしておく)に対してフィルタ120をストライド2で走査させると、特徴マップ130が得られる。例えば、入力画像110の最も左上の点を注目点とした場合、フィルタ120を適用すると、左上にはみ出ている(パディングされた)5つの点と注目点並びに注目点の右及び下の点の値は0なので、フィルタ120を適用しても0のままであり、注目点の右下の点の値は1だがフィルタ120の右下の点の値が0であるため、結局、(最上行の左端から右方向に行き、右端まで来たら1つ下の行をまた左端から右端まで行く順番で演算すると)0×0+0×1+0×0+0×1+0×(-4)+0×1+0×0+0×1+1×0=0となって、フィルタ出力値は0となる。従って、特徴マップ130の最も左上の点の値は0となる。
ストライド2での走査を行うので、次の注目点は、入力画像110の最上行の左から3番目の点である。この点にフィルタ120を適用すると、上にはみ出ている(パディングされた)3つの点と注目点及び注目点の左右の点の値は0なので、フィルタ120を適用しても0のままであり、上記同様の順番で演算すると、0×0+0×1+0×0+0×1+0×(-4)+0×1+1×0+1×1+1×0=1となって、フィルタ出力値は1となる。従って、特徴マップ130の最上行の左から2番目の点の値は1となる。なお、例えば、特徴マップ130の上から2行目、左から2番目の点の値を上記同様の順番で計算すると、1×0+1×1+1×0+1×1+2×(-4)+2×1+1×0+2×1+3×0=-2となるが、-2に活性化関数ReLUを適用すると0になるので、図3では0になっている。(なお、図3では、わかりやすく示すため、Batch Normalizationは行っていない。)
次にプーリング処理についても図3を参照して具体例を説明する。入力画像110に対してMax Poolingウィンドウ131をストライド2で走査させると、特徴マップ132が得られる。例えば、入力画像110の最も左上の点を注目点とした場合、ウィンドウ131を適用すると、左上にはみ出ている(パディングされた)5つの点と注目点並びに注目点の右及び下の点の値は0で、注目点の右下の点の値は1なので、これら9つの点の中の最大値は1であり、ウィンドウ出力値は1となる。従って、特徴マップ132の最も左上の点の値は1となる。他の点も同様にして求めることができる。なお、図3では説明しないが、図2のAverage Poolingウィンドウ126は、7×7のウィンドウ領域内の49個の点のスカラ値の平均値を出力するウィンドウである。
図2に戻り、CNNの中間層の最終層(特徴マップ117)と、出力層(出力118)とは全結合接続127で接続されており、通常のニューラルネットと同様に重み付け加算が行われる。CNNの中間層の最終層は、出力層と全結合接続127で接続していることから、全結合層とも呼ばれる。この例では、Nクラス識別を行うので、出力118はN個の素子(若しくはユニット)を持ち、その素子の値の大小により、推論の確率の大小が表現される。
CNNでは、全結合接続127の各結合に割り当てられている重み係数や、上記フィルタ121,123,124,125の重み係数を、予め用意した学習データを用いて取得することができる。具体的には、学習データを入力画像として入力し、後述する順方向伝播を行い、出力結果と正解(入力した学習データの正しい識別結果)との違い(誤差)を求め、誤差逆伝播法を用いて、誤差を減らす方向に重み係数を更新する。この操作を、学習率(誤差逆伝播法における重み係数の更新量)を下げながら繰り返し実行することにより、重み係数の値を収束させる。
CNNの各重み係数を学習データで学習させた後は、未知の画像データを入力画像データとして順方向伝播させることで、最終出力結果が入力画像の識別の推論値として得られる。
順方向伝播の処理の具体例について、図2を参照して説明する。入力画像111は、図2の例では、サイズが224×224画素の正方形で、一つの画素がRGB(Red,Green,Blue)の3チャネルから構成されるものとする。各画素の1チャネル分(RGBそれぞれ)の値は、一般的な画素値表現の8ビット整数絶対値表現(0~255)から、画像データベースの平均値を引き、0中心の符号付き表現に変換したものとする。
入力画像111を、サイズが7×7×3チャネルのフィルタ121で縦方向、横方向それぞれストライド2で走査することで、特徴マップ112が得られる。上述の図3での説明では入力画像110もフィルタ120も1チャネルだったが、入力画像111もフィルタ121も3チャネルなので、図3で説明した演算を各チャネルに対して行って得られる3つのスカラ値の和に活性化関数ReLUを適用した値が特徴マップ112の各点の値となる。フィルタ121は64枚用意されているため、特徴マップ112も64枚(チャネル)得られる。特徴マップ112はサイズ224×224画素の入力画像111を縦横ともストライド2で走査した結果の値であるため、縦横とも入力画像111の1/2のサイズ(112×112)になる。
特徴マップ112の各チャネルに対して、サイズが3×3のMax Poolingウィンドウ122で縦方向、横方向それぞれストライド2で走査することで、特徴マップ113が得られる。Max Poolingウィンドウ122は、図3で説明したように、この3×3の領域内の最大値を出力するので、入力画像内の微細な位置の揺らぎを吸収する働きがある。特徴マップ113はサイズ112×112の特徴マップ112を縦横ともストライド2で走査した結果の値であるため、縦横とも特徴マップ112の1/2のサイズ(56×56)になる。Max Poolingウィンドウ122を、特徴マップ112の各チャネルに対して走査し、得られた出力を特徴マップ13の同じチャネルのデータとするため、特徴マップ113のチャネル数は特徴マップ112と変わらず、64チャネルである。
特徴マップ113を、サイズが3×3×64チャネルのフィルタ123で縦方向、横方向それぞれストライド2で走査することで、(上述した特徴マップ112が得られたのと同様にして)特徴マップ114が得られる。フィルタ123は128枚用意されているため、特徴マップ114も128枚(チャネル)得られる。特徴マップ114はサイズ56×56の特徴マップ113を縦横ともストライド2で走査した結果の値であるため、縦横とも特徴マップ113の1/2のサイズ(28×28)になる。
特徴マップ114を、サイズが3×3×128チャネルのフィルタ124で縦方向、横方向それぞれストライド2で走査することで、(上述した特徴マップ112,114が得られたのと同様にして)特徴マップ115が得られる。フィルタ124は256枚用意されているため、特徴マップ115も256枚(チャネル)得られる。特徴マップ115はサイズ28×28の特徴マップ114を縦横ともストライド2で走査した結果の値であるため、縦横とも特徴マップ114の1/2のサイズ(14×14)になる。
特徴マップ115を、サイズが3×3×256チャネルのフィルタ125で縦方向、横方向それぞれストライド2で走査することで、(上述した特徴マップ112,114,115が得られたのと同様にして)特徴マップ116が得られる。フィルタ125は512枚用意されているため、特徴マップ116も512枚(チャネル)得られる。特徴マップ116はサイズ14×14の特徴マップ115を縦横ともストライド2で走査した結果の値であるため、縦横とも特徴マップ115の1/2のサイズ(7×7)になる。このように、特徴マップのサイズを縮小することによって、畳み込み処理時のフィルタの相対的なカバー領域が広がり、より大局的、抽象的特徴を捉えられるようになる。また、チャネルサイズ(フィルタ枚数)を増大させることにより、局所特徴の組合せによる特徴の多様化に対応できるようになる。
特徴マップ116の各チャネルに対して、サイズが7×7のAverage Poolingウィンドウ126を走査することで、特徴マップ117が得られる。Average Poolingウィンドウ126は、この7×7の領域内の平均値を出力するが、特徴マップ116の各チャネルのサイズは7×7なので、結局、各チャネルの全要素の平均値が特徴マップ117となる。従って、特徴マップ117は512個(チャネル)のスカラ値からなる、512次元のベクトル(特徴ベクトル)として扱うことができる。この操作は、各チャネル内で、全平均を取るので、Global Average Poolingと呼ばれる。
特徴マップ117を、出力118と全結合接続127で結び、各結合に与えられた重み係数に従って出力118のN個の素子の値が得られる。より詳細には、図4に示すように、特徴マップ117(特徴ベクトル)の各要素をh~h512で表すと、出力118の各要素に対応する値Aを各要素hに重み係数wi,jを掛けて総和を取ることによって求め、それをSoftmax処理(図4のyの算出に使っているSoftmax関数を適用する処理。出力118の各素子の出力値範囲を[0,1]に正規化し、確率的表現にする。ここで、exp関数は、負値を含めた値を0からの単調増加の値に変換する働きをしている。)によって正規化した値が出力118のN個の値y~yとなる。正規化されたN個の各値y~yが該当クラスの推論値(確率的表現)となる。簡単には、y~yの中で最大の値を持つ素子がyiであるとすると、入力画像はクラスiとして識別されたことになる。
以上、CNNによるNクラス識別の典型的な処理概要について説明した。以上で説明したCNNの各中間層(各特徴マップ)の状態を解析することによって、CNNによる識別精度を向上させる方法を検討することができると考えられる。しかし、各特徴マップは多数のチャネルから構成されるため、一見して状態を把握することは困難である。そこで、特徴マップの多数のチャネルをまとめたものを視覚化することによって、CNNの内部状態を解釈しやすくする試みが行われている。
例えば、特徴マップの[x,y]要素の値(スカラ値)が0なら[x,y]に対応する位置の画素の色を黒にし、[x,y]要素の値が大きくなるにつれて[x,y]に対応する位置の画素の色を黒→紫→青→水色→緑→黄緑→黄色→橙色→赤等のように変化させて表示させることにより、特徴マップの活性化状態(どの部分の要素の値がどの程度大きくなっているか)を可視化することができる。
ただし、以下に説明する図5以降の図面では特徴マップの活性化状態を白黒で表すこととする。これらの図面では、特徴マップの[x,y]要素の値(スカラ値)が0なら[x,y]に対応する位置の四角の色を白にし、[x,y]要素の値が大きくなるにつれて[x,y]に対応する位置の四角の色をより黒っぽく見えるような網掛けで示すことにより、特徴マップの活性化状態を可視化している。
このように、特徴マップの活性化状態を可視化したものを、ここでは活性化マップと呼ぶことにする。また、特徴マップで要素(スカラ値)が大きい値になっている領域を、活性化した領域(活性化領域)と呼ぶことにする。活性化マップの生成方法には種々の方法があるが、ここでは代表的な方法を説明する。
1つ目の方法は、図5に示すように、特徴マップをチャネル方向に単純に足し合わせたものを活性化マップとする方法である(足し合わせた後にチャネル数で割って、単純平均を取ってもよい)。図5は、猫とウサギが写っている入力画像111がCNN識別器11に入力された場合に、7×7のサイズの特徴マップ116を可視化する例を示している。図5では、特徴マップ116を512チャネル分足し合わせて、活性化マップ140を生成している。図5で、特徴マップ116-1は、特徴マップ116の1番目のチャネル、特徴マップ116-512は、特徴マップ116の512番目のチャネルを示している。なお、図5では、特徴マップ116を可視化して活性化マップ140を生成しているが、他の特徴マップ(例えば特徴マップ112,114等)も、同様の方法で活性化マップを生成することができる。この手法では、全クラスの反応が合算された活性化マップが得られるので、活性化状態がどのクラスの反応によるものなのかの区別はつかない。
2つ目の方法は、図6に示すように、特徴マップの各チャネルを、活性化対象クラス(i)の出力(y)を算出する際の全結合接続127の重み係数(wi,j)で重み付けして加算したものを、そのクラスiの活性化マップとする方法である。この方法は、CAM(Class Activation Mapping)と呼ばれている。図6は、猫とウサギが写っている入力画像111がCNN識別器11に入力された場合に、猫に対応するクラスを対象クラスとして、7×7のサイズの特徴マップ116を可視化する例を示している。
図6では、全結合接続127のクラスiの出力を得る重み係数wi,j(jはチャネル番号)を、特徴マップ116のj番目のチャネルに乗算し、これを512チャネル分足し合わせて、クラスiの活性化マップ141を生成している。図6で、特徴マップ116-1は、特徴マップ116の1番目のチャネル、特徴マップ116-512は、特徴マップ116の512番目のチャネルを示している。この手法では、クラス別に活性化マップが得られるが、計算原理上、出力側の特徴マップで、かつその特徴マップがGlobal Average Poolingで1次元特徴ベクトルとなり、さらにそのベクトルが出力に全結合接続される、という構成においてのみ適用が可能となる。
3つ目の方法は、図7に示すように、活性化対象クラス出力yのみを逆伝搬させ、勾配の大きさを対象クラスへの出力の寄与度と見做すことによって求めた、特徴マップの各チャネルの重み係数(αc,k)で重み付けして加算したものを、クラスcの活性化マップとする方法である。この方法は、Grad-CAM(Gradient-weighted Class Activation Mapping)と呼ばれている。図7は、猫とウサギが写っている入力画像111がCNN識別器11に入力された場合に、猫に対応するクラスを対象クラスとして、7×7のサイズの特徴マップ116を可視化する例を示している。特徴マップ116は512チャネルあるので、k番目のチャネルに対応する特徴マップ116をMで表すこととする。そして、Mは7×7のサイズなので、Mの[i,j]の要素(i及びjは1以上7以下の整数)をM[i,j]で表すこととする。
Grad-CAMでは、まず入力画像111をCNN識別器で普通に推論する。そして得られた出力118のうち、活性化対象クラス(c)の出力(y)のみを1、他(y(n≠c))を0にして、勾配(∂y/∂M[i,j])を逆伝播計算する。そして、各チャネルで勾配の平均を取り、重み係数αc,kとする。なお、図7のαc,kの式中のZは、特徴マップ116の各チャネルの要素数であり、ここではZ=7×7=49となる。そして、特徴マップの値Mに、重み係数αc,kを掛けて足し合わせることにより、対象クラスkの活性化マップ142を生成している。この手法では、CAMと異なり、特徴マップ116のみならず、他の特徴マップ(例えば特徴マップ112,114等)も、同様の方法で活性化マップを生成することができる。
上述のGrad-CAMでは、各チャネルで特徴マップ内の勾配の平均を取ることによって各クラスに対するチャネルの寄与を明瞭にすることができる。しかし、クラスによる違いを明瞭にする必要がないのであれば、勾配の平均を取らずに正値に限ってCNNを入力層まで逆伝播させて画素単位の寄与を可視化することもできる。この方法は、Guided Backpropagationと呼ばれる(図7の出力118からGuided Backpropagationの画像143に向かう矢印で示される)。
Guided Backpropagationでは、入力画像と同様の水準の解像度が得られる反面、クラスによる違いが明瞭ではない。そこで、Guided Backpropagationの結果にGrad-CAMの出力を重ねることで特徴マップを可視化する方法もある。この方法はGuided Grad-CAMと呼ばれ、クラス毎の特徴箇所を明瞭に区別すると同時に、高い解像度で特徴箇所を可視化できる。図7では、Guided Backpropagationの画像143とGrad-CAMによる活性化マップ142とを合成して、Guided Grad-CAMによる活性化マップ144が得られる様子を示している。
以上、活性化マップ生成方法を説明した。各中間層で活性化マップを生成すると、図8に示すように、CNNの入力側に近い層(特徴マップ112を可視化した活性化マップ145)ではエッジ抽出が行われ、CNNの出力側に近づくにつれて(特徴マップ114を可視化した活性化マップ146や、特徴マップ116を可視化した活性化マップ147)、より複雑な大きな領域の特徴が抽出されることがわかる。
図8の各活性化マップ(特徴マップ112,114,116をそれぞれ可視化した活性化マップ145,146,147)は、ウサギ及び猫が写っている入力画像111に対して、Grad-CAMを用いて、猫を識別するクラスを活性化対象クラスとした時の各層の活性化領域を示している(ただし、特徴マップは出力側に近づくにつれてサイズが小さくなっていくので、図8の各活性化マップ145,146,147は、それぞれのサイズを入力画像サイズにリサイズして表示している)。そうすると、出力側に最も近い層(特徴マップ116を可視化した活性化マップ147)では、入力画像111における、識別するクラス(猫)が写っている位置(左下)に対応する部分が活性化している(特徴マップのその部分が正の大きい値になっている)ことが確認できる。
CNNでは、小領域のフィルタ処理を重ねていくので、平面上の距離が離れた特徴については、後段にならない限り、統合して評価がされない。逆に言うと、中間層で抽出された特徴の局所性は、一定度維持される。そして、CNNでは、識別に関与しない特徴(負のフィルタ出力)を、活性化関数ReLUで非線形に積極的に切り捨てながら、切り捨てられずに残った(識別に関与する)特徴を局所的に統合していく操作が繰り返し行われる。そのため、後段の活性化領域を抽出することにより、入力画像の中におけるCNN識別器の大局的注目領域を知ることができる。
次に、画像識別装置100が行う画像識別処理の内容について、図9を参照して説明する。画像識別処理は、操作入力部34を介して、ユーザにより、画像識別装置100に対して画像識別処理の開始が指示されると開始される。
まず、画像識別装置100の制御部10は、大量の学習用画像データにより、CNN識別器11を学習させる(ステップS101)。ステップS101は、画像識別処理を開始する前に、予め行っておいてもよい。
次に、制御部10は、画像入力部31を介して未知の画像をCNN識別器11に入力する(ステップS102)。ステップS102は画像入力ステップとも呼ばれる。
そして、制御部10は、CNN識別器11の中間層(例えば、図2における特徴マップ116)の活性化領域を抽出して活性化マップを得る(ステップS103)。ステップS103は、特徴マップを取得する特徴マップ取得ステップと、取得した特徴マップから活性化マップを生成する活性化マップ生成ステップとを含む。制御部10は、特徴マップ取得ステップでは特徴マップ取得手段として機能し、活性化マップ生成ステップでは活性化マップ生成手段として機能する。
ステップS103では、制御部10は、例えば、上述したように、特徴マップをチャネル方向に単純平均した活性化マップを算出する。このステップでは、活性化マップ(例えば、図8の活性化マップ147に示されるような画像)を入力画像とともにユーザに提示(出力部32に表示)してもよい。活性化領域抽出手法として、特徴マップのチャネル方向の単純平均ではなく、CAM又はGrad-CAMを用いると、クラス毎の特徴マップ(活性化マップ)が得られるが、この場合は、クラス毎の特徴マップ(活性化マップ)を全クラスで平均したものをユーザに提示すればよい。
次に、制御部10は、活性化マップ中に、画像識別に使用しない方が良いと推定される不要領域があるか否かを判定する(ステップS104)。このステップでは制御部10は、ユーザがステップS103で提示された活性化マップを確認して得た不要領域の有無の情報を操作入力部34を介してユーザから取得することによって判定してもよいし、活性化マップの外縁付近(例えば、上下左右ともに、端から1番目と2番目の領域)が活性化されている(スカラ値が大きい値(例えば正の値)になっている)か否かによって不要領域があるか否かを判定してもよい。さらには、またユーザが提供した不要領域情報等を元に作成した機械学習による識別器によって判定してもよい。この場合、この機械学習による識別器は自動編集手段として機能する。
活性化マップ中に、画像識別に使用しない方が良いと推定される不要領域がないなら(ステップS104;No)、制御部10は、そのままCNN識別器11で画像識別を行い(ステップS107)、画像識別処理を終了する。
活性化マップ中に、画像識別に使用しない方が良いと推定される不要領域があるなら(ステップS104;Yes)、不要領域取得部12は、その不要領域(の位置、サイズ、形状等)を取得する(ステップS105)。ステップS104でユーザから不要領域の有無の情報を取得している場合は、不要領域取得部12は、操作入力部34を介してユーザから不要領域を取得する。ステップS104で、活性化マップの外縁付近が活性化されていることに基づいて不要領域があると判定した場合は、不要領域取得部12は、その活性化された外縁付近を不要領域として取得する。ステップS105は、不要領域取得ステップとも呼ばれる。
次に、不要領域削除部13は、特徴マップの各チャネルにおいて、不要領域取得部12が取得した不要領域に該当する領域内の要素の値を0にする(ステップS106)。ステップS106は、不要領域削除ステップとも呼ばれる。また、「不要領域の有無を判定して、不要領域を取得し、不要領域に該当する領域内の要素の値を0にする」という処理は、編集処理の一種と考えられるため、ステップS104からステップS106までの処理を編集ステップとも呼ぶ。また、制御部10は、この編集ステップにおいて編集手段として機能する。
そして、CNN識別器11は、不要領域削除部13が不要領域を削除した特徴マップを用いて画像識別を行い(ステップS107)、画像識別処理を終了する。ステップS107は、識別ステップとも呼ばれる。ステップS107では、制御部10は識別手段として機能する。
具体的な処理の内容について、図10を参照して説明する。例として、入力画像111に本来の識別対象1111以外に物差し1112が写り込んでいるとする。この場合、ステップS103で抽出した活性化マップ151には、本来の識別対象1111に対応する必要領域1511以外に、画像識別に使用しない方が良いと推定される不要領域1512が存在することが確認できる。
そこで、ステップS104での判定はYesとなり、ステップS105で不要領域1512の位置やサイズが取得される。そして、ステップS106では、特徴マップ116の各チャネル152において、不要領域に該当する領域1521の値が削除されて0になる。全てのチャネル152について、不要領域に該当する領域1521の値が0にされた後に、その不要領域削除後の特徴マップ116から特徴マップ117が算出され、最終的に出力118が得られる。すると、ここで得られた出力118は、本来の識別対象1111以外(物差し1112等)の影響を受けていない識別結果になると考えられる。
したがって、画像識別装置100は、画像識別に不要と推定される領域の情報を削除することによって、本来の識別対象以外のものからの影響を防ぐことができるので、CNNによる画像の識別精度を向上させることができる。
(変形例1)
上述の実施形態1では、画像識別処理(図9)における中間層の活性化領域の抽出(ステップS103)において、活性化マップを入力画像とともにユーザに提示してもよいとした。しかし、単に活性化マップと入力画像とが提示されただけではユーザは不要領域の有無の判定がしづらい場合も考えられる。そこで、入力画像と活性化マップとを半透明で重ねて表示することによって、不要領域の有無の判定をしやすくする変形例1について説明する。
変形例1の画像識別処理は、図11に示すように、実施形態1の画像識別処理(図9)のステップS103とステップS104の間に、ステップS111とステップS112を追加した処理内容になっている。
ステップS111では、制御部10は、図12に示すように、入力画像111とステップS103で得た活性化マップ151とを半透明で重ね合わせた画像153を出力部32に表示する。半透明での重ね方は、入力画像111を半透明にして活性化マップ151の上に重ねてもよいし、活性化マップ151を半透明にして入力画像111の上に重ねてもよい。
ステップS112では、制御部10は、操作入力部34を介してユーザから不要領域の選択を受け付ける。例えば、ディスプレイに表示された画像153の上で、ユーザがマウスで不要領域に対応する網掛けの四角をクリックすることによって、不要領域が選択されるようにしてもよい。
ステップS111及びステップS112以外の処理は、上述した実施形態1の画像識別処理と同じなので、説明を省略する。以上のように、変形例1では、活性化マップが入力画像の上にオーバーラップされて表示されるので、ユーザは画像識別に不要と推定される不要領域を容易に選択することができる。
(変形例2)
上述の実施形態では、画像識別処理(図9)における不要領域の有無の判定(ステップS104)や不要領域の取得(ステップS105)において、ユーザから不要領域の情報を取得したり、活性化マップの外縁付近を不要領域として取得したりしていた。しかし、これに限られない。例えば、CNN識別器11とは別に制御部10が画像認識を行うプログラムを実行することによって、不要領域の情報を取得してもよい。このような実施形態を変形例2とする。変形例2では、画像認識を行うプログラムを制御部10が実行することにより、制御部10は画像認識手段としても機能する。
例えば、患部を撮影した画像を入力すると皮膚疾患を識別するCNN識別器11により画像識別を行う場合、皮膚疾患以外の画像(例えば物差し、髪の毛等)を認識するプログラムを制御部10が実行することにより、皮膚疾患以外の画像が写っている領域を不要領域として取得し、特徴マップの各チャネルにおいて、その不要領域に対応する要素の値を0にするようにしてもよい。このようにすることによって、変形例2に係る画像識別装置は、ユーザによる不要領域の選択操作無しで識別精度を向上させることができる。
(変形例3)
上述の実施形態1では、画像識別処理(図9)における中間層の活性化領域の抽出(ステップS103)において、特定のクラスを特別扱いすることはせずに、全チャネル又は全クラスの平均をとった活性化マップを生成した。しかしこれに限られない。活性化マップの生成にCAM又はGrad-CAMを用いると、クラス毎の活性化マップが得られるので、これを全クラスで平均化するのではなく、個別のクラス毎の活性化マップをユーザに提示してもよい。このような実施形態を変形例3とする。
例えば、N個のクラスのうちm個のクラスだけを識別対象とすればよい場合は、その識別対象とするm個のクラスに対応するCAM又はGrad-CAMによる活性化マップm枚と、入力画像とを、出力部32を介してディスプレイ上に並べてユーザに提示してもよい。さらに、これらの活性化マップm枚のうちのs枚(s=1~m、ユーザが適宜選択可能とする)と、入力画像とを、半透明で重ね合わせた画像を表示することによって、不要領域の有無の判定や領域選択をさらにやりやすくしてもよい。
(変形例4)
さらに、CAM又はGrad-CAMを用いて得られるクラス毎の活性化マップをそのクラスの活性化状態とし、識別対象とするm個のクラスの活性化状態(クラス毎の活性化マップ)m枚を平均化したものを活性化マップとして用いてもよい。このような実施形態を変形例4とする。
例えば、皮膚疾患の患者の患部の画像を識別する場合、患者の疾患が特定のもの(例えば疾患A、疾患B、疾患Cの3つの疾患のうちの何れか)であることが確定している場合が考えられる。この場合、CNN識別器11が識別するN個のクラスのうち、一部のクラス(疾患A、疾患B、疾患Cのいずれか)だけを識別すればよいことになる。
そこで、変形例4では、このような場合には、画像識別処理(図9)における中間層の活性化領域の抽出(ステップS103)において、CAM又はGrad-CAMで生成したクラス毎の活性化マップ(活性化状態)のうち、今回の識別対象のクラスの活性化マップ(活性化状態)のみを平均化して、新たな活性化マップを得るようにする。識別対象のクラスのみを平均化した活性化マップは、識別対象外のクラスの活性化マップ(活性化状態)の情報を含まないので、ステップS104における不要領域の有無の判定及びステップS105における不要領域の取得を、より精度高く行うことができる。
そして、識別の際のノイズとなり得る不要領域の選定の精度が高くなるので、変形例4では、CNN識別器11による画像の識別精度をより向上させることができる。
なお、上述の実施形態1では、画像識別処理(図9)のステップS105において活性化マップから不要領域を取得していたが、逆に、画像識別に必要と推定される必要領域を取得してもよい。その場合は、画像識別処理のステップS106において、特徴マップの必要領域以外の要素の値を0にする。これは変形例1においても同様であり、画像識別処理(図11)のステップS112では、ユーザに画像識別に必要と推定される必要領域を選択してもらってもよい。その場合は、必要領域以外の領域があるなら(ステップS104;Yes)、ステップS105で必要領域を取得し、ステップ106で特徴マップの必要領域以外の要素の値を0にする。
また、上述の実施形態及び変形例では、CNNによる識別器を実現するプログラムを制御部10が実行することにより、制御部10はCNN識別器11としても機能することとしていたが、これに限られない。画像識別装置100は、制御部10とは別に(例えば専用のIC(Integrated Circuit)等の)CNN識別器11の機能を実現するデバイスを備えてもよい。
また、上述の変形例2及び変形例4では、皮膚の疾患を例にとって説明したが、本発明は皮膚科の分野に限定されるものではなく、画像識別の分野において広く適用できる。例えば、花の識別、細菌の顕微鏡写真の識別等にも適用できる。
また、上述の実施形態及び変形例は適宜組み合わせることができる。例えば、変形例1と変形例4とを組み合わせることにより、特定の(識別対象の)クラスに絞って平均化した活性化マップを入力画像に重ね合わせて表示することができ、ユーザは不要領域の選定を、より精度高く容易に行うことができるようになる。
なお、画像識別装置100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、画像識別装置100が行う画像識別処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有し、前記入力画像を識別する識別器と、
前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得手段と、
前記中間層の活性化状態を可視化した活性化マップを生成する活性化マップ生成手段と、
前記活性化マップ生成手段が生成した前記活性化マップを参照して、前記特徴マップ取得手段が取得した特徴マップを編集する編集手段と、
前記編集手段により編集された特徴マップを用いて前記入力画像を識別する識別手段と、
を備える画像識別装置。
(付記2)
前記活性化マップ生成手段は、前記識別器が識別するクラス毎にCAM又はGrad-CAMを用いて前記活性化マップを生成する、
付記1に記載の画像識別装置。
(付記3)
前記編集手段が前記特徴マップを編集する際に前記入力画像と前記活性化マップとを重ね合わせた画像を表示する出力手段をさらに備える、
付記1又は2に記載の画像識別装置。
(付記4)
前記中間層において、前記入力画像を識別する際に使用しない方が良いと推定される不要領域を取得する不要領域取得手段と、
前記中間層において、前記不要領域取得手段が取得した不要領域の情報を削除する不要領域削除手段と、
をさらに備える、
付記1から3のいずれか1つに記載の画像識別装置。
(付記5)
予め機械学習により前記不要領域の識別を学習しておいた識別器による自動編集手段をさらに備え、
前記編集手段は、前記自動編集手段を用いて前記特徴マップを編集する、
付記4に記載の画像識別装置。
(付記6)
入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有し、前記入力画像を識別する識別器と、
前記中間層において、前記入力画像を識別する際に使用しない方が良いと推定される不要領域を取得する不要領域取得手段と、
前記中間層において、前記不要領域取得手段が取得した不要領域の情報を削除する不要領域削除手段と、
を備える画像識別装置。
(付記7)
前記不要領域取得手段は、前記出力層に接続している全結合層の直前の中間層において、前記不要領域を取得し、
前記不要領域削除手段は、前記出力層に接続している全結合層の直前の中間層において、前記不要領域取得手段が取得した不要領域の情報を削除する、
付記4から6のいずれか1つに記載の画像識別装置。
(付記8)
前記不要領域取得手段は、前記中間層の活性化状態を可視化した活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
付記4から7のいずれか1つに記載の画像識別装置。
(付記9)
前記不要領域取得手段は、前記識別器が識別するクラス毎にCAM又はGrad-CAMを用いて前記活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
付記8に記載の画像識別装置。
(付記10)
前記不要領域取得手段は、CAM又はGrad-CAMを用いて前記クラス毎に前記活性化状態を取得し、前記入力画像の識別対象となるクラスの前記活性化状態のみを用いて前記活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
付記9に記載の画像識別装置。
(付記11)
ユーザの操作入力を受け付ける操作入力手段と、
前記活性化マップを表示する出力手段と、
をさらに備え、
前記不要領域取得手段は、前記活性化マップを前記出力手段に表示した後に、前記操作入力手段により選択された領域を前記不要領域として取得する、
付記8から10のいずれか1つに記載の画像識別装置。
(付記12)
前記不要領域取得手段は、前記入力画像と前記活性化マップとを重ね合わせた画像を前記出力手段に表示した後に、前記操作入力手段により選択された領域を前記不要領域として取得する、
付記11に記載の画像識別装置。
(付記13)
前記不要領域取得手段は、前記活性化マップの外縁の領域を前記不要領域として取得する、
付記8から10のいずれか1つに記載の画像識別装置。
(付記14)
前記識別器が識別する画像以外の画像を認識する画像認識手段をさらに備え、
前記不要領域取得手段は、前記画像認識手段が認識した画像の領域を前記不要領域として取得する、
付記8から10のいずれか1つに記載の画像識別装置。
(付記15)
前記入力画像は皮膚疾患の患部を撮影した画像であり、
前記不要領域取得手段は、前記識別器が有する中間層において、前記患部以外の領域を前記不要領域として取得する、
付記4から14のいずれか1つに記載の画像識別装置。
(付記16)
入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有する識別器により、前記入力画像を識別する画像識別方法であって、
前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得ステップと、
前記中間層の活性化状態を可視化した活性化マップを生成する活性化マップ生成ステップと、
前記活性化マップ生成ステップで生成した前記活性化マップを参照して、前記特徴マップ取得ステップで取得した特徴マップを編集する編集ステップと、
前記編集ステップにより編集された特徴マップを用いて前記入力画像を識別する識別ステップと、
を含む画像識別方法。
(付記17)
入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有する識別器を備える画像識別装置のコンピュータに、
前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得ステップ、
前記中間層の活性化状態を可視化した活性化マップを生成する活性化マップ生成ステップ、
前記活性化マップ生成ステップで生成した前記活性化マップを参照して、前記特徴マップ取得ステップで取得した特徴マップを編集する編集ステップ、及び、
前記編集ステップにより編集された特徴マップを用いて前記入力画像を識別する識別ステップ、
を実行させるためのプログラム。
10…制御部、11…CNN識別器、12…不要領域取得部、13…不要領域削除部、20…記憶部、31…画像入力部、32…出力部、33…通信部、34…操作入力部、100…画像識別装置、110,111…入力画像、112,113,114,115,116,117,130,132…特徴マップ、118…出力、120,121,123,124,125…フィルタ、122,126,131…ウィンドウ、127…全結合接続、140,141,142,144,145,146,147,151…活性化マップ、143,153…画像、152…チャネル、1111…識別対象、1112…物差し、1511…必要領域、1512…不要領域、1521…領域

Claims (9)

  1. 入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有し、前記入力画像を識別する識別器と、
    前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得手段と、
    前記識別器が識別する画像以外の画像を認識する画像認識手段と、
    前記中間層において、前記画像認識手段により認識された画像の領域を前記入力画像を識別する際に使用しない方が良いと推定される不要領域として取得する不要領域取得手段と、
    前記中間層において、前記不要領域取得手段により取得された不要領域の情報を前記特徴マップから削除する不要領域削除手段と、
    前記不要領域削除手段により前記不要領域が削除された特徴マップを用いて前記入力画像を識別する識別手段と、
    を備える画像識別装置。
  2. 前記不要領域取得手段は、前記中間層の活性化状態を可視化した活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
    請求項1に記載の画像識別装置。
  3. 前記不要領域削除手段により前記特徴マップから不要領域が削除される際に前記入力画像と前記活性化マップとを重ね合わせた画像を表示手段に表示する出力手段をさらに備える、
    請求項に記載の画像識別装置。
  4. 前記不要領域取得手段は、前記出力層に接続している全結合層の直前の中間層において、前記不要領域を取得し、
    前記不要領域削除手段は、前記出力層に接続している全結合層の直前の中間層において、前記不要領域取得手段が取得した不要領域の情報を削除する、
    請求項からのいずれか1項に記載の画像識別装置。
  5. 前記不要領域取得手段は、前記識別器が識別するクラス毎にCAM又はGrad-CAMを用いて前記活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
    請求項2又は3に記載の画像識別装置。
  6. 前記不要領域取得手段は、CAM又はGrad-CAMを用いて前記クラス毎に前記活性化状態を取得し、前記入力画像の識別対象となるクラスの前記活性化状態のみを用いて前記活性化マップを生成し、前記活性化マップから前記不要領域を取得する、
    請求項に記載の画像識別装置。
  7. 前記入力画像は皮膚疾患の患部を撮影した画像であり、
    前記不要領域取得手段は、前記識別器が有する中間層において、前記患部以外の領域を前記不要領域として取得する、
    請求項からのいずれか1項に記載の画像識別装置。
  8. 入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有する識別器により、前記入力画像を識別する画像識別方法であって、
    前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得ステップと、
    前記識別器が識別する画像以外の画像を認識する画像認識ステップと、
    前記中間層において、前記画像認識ステップで認識された画像の領域を前記入力画像を識別する際に使用しない方が良いと推定される不要領域として取得する不要領域取得ステップと、
    前記中間層において、前記不要領域取得ステップで取得された不要領域の情報を前記特徴マップから削除する不要領域削除ステップと
    前記不要領域削除ステップで前記不要領域が削除された特徴マップを用いて前記入力画像を識別する識別ステップと、
    を含む画像識別方法。
  9. 入力画像が入力される入力層及び前記入力画像の識別結果が出力される出力層以外の層である中間層を有する識別器を備える画像識別装置のコンピュータに、
    前記中間層において、前記入力画像を識別するための特徴マップを取得する特徴マップ取得ステップ
    前記識別器が識別する画像以外の画像を認識する画像認識ステップと、
    前記中間層において、前記画像認識ステップで認識された画像の領域を前記入力画像を識別する際に使用しない方が良いと推定される不要領域として取得する不要領域取得ステップと、
    前記中間層において、前記不要領域取得ステップで取得された不要領域の情報を前記特徴マップから削除する不要領域削除ステップと
    前記不要領域削除ステップで前記不要領域が削除された特徴マップを用いて前記入力画像を識別する識別ステップ
    を実行させるためのプログラム。
JP2018126346A 2018-07-02 2018-07-02 画像識別装置、画像識別方法及びプログラム Active JP7135504B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018126346A JP7135504B2 (ja) 2018-07-02 2018-07-02 画像識別装置、画像識別方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018126346A JP7135504B2 (ja) 2018-07-02 2018-07-02 画像識別装置、画像識別方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2020008896A JP2020008896A (ja) 2020-01-16
JP7135504B2 true JP7135504B2 (ja) 2022-09-13

Family

ID=69151762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018126346A Active JP7135504B2 (ja) 2018-07-02 2018-07-02 画像識別装置、画像識別方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7135504B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713815B1 (en) * 2019-01-31 2020-07-14 StradVision, Inc. Method and device for supporting administrators to processes of object detectors to provide logical driving
WO2021152727A1 (ja) * 2020-01-29 2021-08-05 楽天グループ株式会社 物体認識システム、位置情報取得方法、及びプログラム
JP7267483B2 (ja) * 2020-01-29 2023-05-01 楽天グループ株式会社 物体認識システム、位置情報取得方法、及びプログラム
KR102125379B1 (ko) * 2020-02-14 2020-06-22 주식회사 카카오뱅크 딥러닝 기반의 신분증 진위판단장치 및 신분증 진위판단방법
EP4120185A4 (en) 2020-03-12 2023-03-22 NEC Corporation IMAGE PROCESSING DEVICE, IMAGE RECOGNITION SYSTEM, IMAGE PROCESSING METHOD AND NON-TRANSITORY COMPUTER READABLE MEDIA
JP7479887B2 (ja) 2020-03-19 2024-05-09 セコム株式会社 画像生成装置、画像処理システム、及び画像処理方法
US20220012309A1 (en) * 2020-07-10 2022-01-13 Nice Ltd. Systems and methods for applying semi-discrete calculus to meta machine learning
JP7056698B2 (ja) * 2020-08-17 2022-04-19 カシオ計算機株式会社 特徴量取得装置、類似画像検索装置、表示装置、特徴量取得方法、類似画像検索方法、表示方法及びプログラム
JP7481956B2 (ja) * 2020-08-26 2024-05-13 株式会社東芝 推論装置、方法、プログラムおよび学習装置
JP7177806B2 (ja) * 2020-09-25 2022-11-24 三菱電機インフォメーションシステムズ株式会社 画像判定装置、画像判定方法及び画像判定プログラム
WO2022176116A1 (ja) * 2021-02-18 2022-08-25 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
KR102646316B1 (ko) * 2021-06-09 2024-03-11 경기도 압류동산의 진품 확인 방법 및 장치 그리고 이를 이용한 전자 공매 시스템
KR20230042994A (ko) * 2021-09-23 2023-03-30 연세대학교 산학협력단 Cam 기반의 약한 지도학습 물체탐지 장치 및 방법
WO2024029191A1 (ja) * 2022-08-03 2024-02-08 ソニーグループ株式会社 情報処理装置及び情報処理方法、並びにコンピュータプログラム
CN116106856B (zh) * 2023-04-13 2023-08-18 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 雷暴大风的识别模型建立方法、识别方法及计算设备
CN117372818B (zh) * 2023-12-06 2024-04-12 深圳须弥云图空间科技有限公司 目标重识别方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252751A (ja) 2001-02-26 2002-09-06 Ricoh Co Ltd 画像処理装置
JP2016018486A (ja) 2014-07-10 2016-02-01 国立研究開発法人産業技術総合研究所 画像検索装置と画像検索プログラムと画像検索方法
JP2017059090A (ja) 2015-09-18 2017-03-23 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP2018038789A (ja) 2016-09-02 2018-03-15 カシオ計算機株式会社 診断支援装置、及び診断支援装置における画像処理方法、並びにプログラム
JP2018147431A (ja) 2017-03-09 2018-09-20 コニカミノルタ株式会社 画像認識装置及び画像認識方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252751A (ja) 2001-02-26 2002-09-06 Ricoh Co Ltd 画像処理装置
JP2016018486A (ja) 2014-07-10 2016-02-01 国立研究開発法人産業技術総合研究所 画像検索装置と画像検索プログラムと画像検索方法
JP2017059090A (ja) 2015-09-18 2017-03-23 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP2018038789A (ja) 2016-09-02 2018-03-15 カシオ計算機株式会社 診断支援装置、及び診断支援装置における画像処理方法、並びにプログラム
JP2018147431A (ja) 2017-03-09 2018-09-20 コニカミノルタ株式会社 画像認識装置及び画像認識方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Dahun Kim et al,Two-Phase Learning for Weakly Supervised Object Localization,2017 IEEE International Conference on Computer Vision (ICCV),米国,IEEE,2017年10月29日,P.3554 - 3563,https://ieeexplore.ieee.org/document/8237644
古木 拓哉,類似意匠推薦システム実現のための意匠特徴部の検出,情報処理学会 研究報告 コンピュータビジョンとイメージメディア(CVIM),Vol.2018-CVIM-212 No.15,日本,情報処理学会,2018年05月03日,P.1~5
瀬口 太郎,画像特徴と単語の分散表現を活用した感性語を付与した画像キャプションの自動生成,電子情報通信学会技術研究報告 Vol.117 No.508,NC2017-96 (2018-03),日本,一般社団法人電子情報通信学会,2018年03月06日,P.169~174

Also Published As

Publication number Publication date
JP2020008896A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
JP7135504B2 (ja) 画像識別装置、画像識別方法及びプログラム
JP6843086B2 (ja) 画像処理システム、画像においてマルチラベル意味エッジ検出を行う方法、および、非一時的コンピューター可読記憶媒体
Han et al. Two-stage learning to predict human eye fixations via SDAEs
CN105144239B (zh) 图像处理装置、图像处理方法
US20020164070A1 (en) Automatic algorithm generation
CN108229490A (zh) 关键点检测方法、神经网络训练方法、装置和电子设备
CN110582783B (zh) 训练装置、图像识别装置、训练方法和计算机可读信息存储介质
JP2021517330A (ja) 画像中の物体を識別するための方法、及び当該方法を実施するためのモバイル装置
JP7111088B2 (ja) 画像検索装置、学習方法及びプログラム
US20200380302A1 (en) Data augmentation system, data augmentation method, and information storage medium
KR101955919B1 (ko) 딥러닝 기반의 영상데이터 내 관심영역 설정방법 및 프로그램
CN111091055A (zh) 脸型识别方法、装置、设备及计算机可读存储介质
CN112836653A (zh) 人脸隐私化方法、设备、装置及计算机存储介质
CN110516638B (zh) 一种基于轨迹和随机森林的手语识别方法
US11157765B2 (en) Method and system for determining physical characteristics of objects
Yang et al. Revealing task-relevant model memorization for source-protected unsupervised domain adaptation
Gipiškis et al. Occlusion-based approach for interpretable semantic segmentation
US20220383616A1 (en) Information processing apparatus and image processing method
CN113724237B (zh) 齿痕识别方法、装置、计算机设备及存储介质
CN113516182B (zh) 视觉问答模型训练、视觉问答方法和装置
CN111582148B (zh) 京剧人物识别方法、设备、存储介质及装置
JP6397439B2 (ja) 属性推定装置
Musa Facial Emotion Detection for Educational Purpose Using Image Processing Technique
JP2012256182A (ja) データ解析装置、データ解析方法およびデータ解析プログラム
JP2021196756A (ja) 画像処理装置、画像処理方法及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220815

R150 Certificate of patent or registration of utility model

Ref document number: 7135504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150