(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-14
(45)【発行日】2023-06-22
(54)【発明の名称】画像特徴抽出装置およびそのプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230615BHJP
G06N 3/04 20230101ALI20230615BHJP
【FI】
G06T7/00 350C
G06N3/04
(21)【出願番号】P 2019139406
(22)【出願日】2019-07-30
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】河合 吉彦
【審査官】山田 辰美
(56)【参考文献】
【文献】米国特許出願公開第2018/0315162(US,A1)
【文献】Yongbing Zhang, et al,Adaptive Residual Networks for High-Quality Image Restoration,IEEE Transactions on Image Processing ( Volume: 27, Issue: 7, July 2018,IEEE,2018年,3150-3163,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8306452
【文献】内田 祐介,畳み込みニューラルネットワークの研究動向,電子情報通信学会技術研究報告 Vol.117 No.362,一般社団法人電子情報通信学会,2017年,Vol.117 No.362,25~38
【文献】Dakai Jin, et al,White matter hyperintensity segmentation from T1 and FLAIR images using fully convolutional neural networks enhanced with residual connections,2018 IEEE 15th International Symposium on Biomedical Imaging (ISBI 2018),IEEE,2018年,1060-1064,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8363754
【文献】山下 隆義,畳み込みニューラルネットワークの研究動向,画像ラボ 第29巻 第10号,日本工業出版株式会社,2018年,第29巻 第10号,27~35
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06N 3/04
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像のデータから前記画像の特徴量を抽出する画像特徴抽出装置であって、
畳み込みニューラルネットワークのパラメータとして予め学習したカーネルを用いて、入力したデータに対して複数の畳み込み層の演算を行う畳み込み手段と、
前記畳み込みニューラルネットワークのパラメータとして予め学習したスケーリング係数を用いて、前記入力したデータに前記スケーリング係数を乗算するスケーリング手段と、
前記畳み込み手段の演算結果と前記スケーリング手段の演算結果とを加算する加算手段と、を有する基本構成部を多段構成で備え、
最終段の基本構成部の演算結果を前記特徴量とすることを特徴とする画像特徴抽出装置。
【請求項2】
前記基本構成部の少なくとも1つ以上は、
前記畳み込み手段が、複数の畳み込み層の演算において、入力したデータとは異なる次元の演算結果を生成するものであって、
前記スケーリング手段が、前記入力したデータを線形射影して前記次元のデータに変換した後に、前記スケーリング係数を乗算することを特徴とする請求項1に記載の画像特徴抽出装置。
【請求項3】
前記特徴量を画像分類用の特徴量とする場合、最終段の基本構成部が出力するデータのチャンネル数を前記画像分類用の分類数とすることを特徴とする請求項1または請求項2に記載の画像特徴抽出装置。
【請求項4】
コンピュータを、請求項1から請求項3のいずれか一項に記載の画像特徴抽出装置として機能させるための画像特徴抽出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、畳み込みニューラルネットワークにより画像の特徴を抽出する画像特徴抽出装置およびそのプログラムに関する。
【背景技術】
【0002】
従来、画像内の物体認識、顔認識等の画像認識の分野において、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を利用する手法が知られている。
このCNNは、VGG(Visual Geometry Group)等のように、ネットワークの層を深くして学習を行うことで、認識の精度を向上させている。
図9に、CNNの基本構造を示す。従来のCNNは、
図9に示すように、複数(
図9では2層)の畳み込み層を連結し、入力xに対して、出力H(x)を最適化したネットワーク構造である。この場合、学習対象である写像F(x)は、H(x)そのものである。
しかし、従来のCNNは、単純にネットワークの層を深くしていくと、学習を行う際の勾配が消失したり、発散したりすることで、正しく学習が行われず、認識精度が劣化してしまうことが知られている。
【0003】
そこで、近年では、残差ニューラルネットワーク(ResNet:Residual Network)を使用する手法が知られている。
図10に、ResNetの基本構造を示す。
このResNetは、
図10に示すように、複数(
図10では2層)の畳み込み層を連結するとともに、その出力と入力xとを足し合わせた出力H(x)を最適化したネットワーク構造である。この場合、学習対象である写像F(x)は、出力H(x)と入力xとの残差であるH(x)-xである。
このように、ResNetは、入力xをそのまま伝達するパスを設けることで、情報をネットワークの下層に伝達させ、学習時における勾配消失等の不具合を抑えて、ネットワークの多層化を実現している。
【先行技術文献】
【非特許文献】
【0004】
【文献】K. He, X. Zhang, S. Ren, and J. Sun,“Deep Residual Learning for Image Recognition”, in Proc. CVPR, 2015.
【発明の概要】
【発明が解決しようとする課題】
【0005】
図10で説明したように、ResNetの基本構造は、畳み込み層による畳み込みを行わずに、入力xをネットワークの下層にそのまま伝達するパスを設けている。
このResNetの基本構造を多層化して、画像認識等を行う畳み込みニューラルネットワークを構築する場合、どの層においても、学習対象である写像F(x)と、畳み込み層を通らない入力xとは、同じ重みで加算されることになる。
しかし、入力xの重要性は、層の位置によって異なる場合があり、必ずしも均一に加算することがネットワークの最適化に寄与しない場合がある。
そのため、畳み込みニューラルネットワークを最適化するさらなる工夫が求められていた。
【0006】
本発明は、このような問題に鑑みてなされたものであり、畳み込みニューラルネットワークの複数の畳み込み層を通さずに下層に伝達するデータに重みを付加して、画像特徴を抽出することが可能な画像特徴抽出装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明に係る画像特徴抽出装置は、画像のデータから前記画像の特徴量を抽出する画像特徴抽出装置であって、畳み込み手段と、スケーリング手段と、加算手段と、を有する基本構成部を多段構成で備える構成とした。
【0008】
かかる構成において、画像特徴抽出装置は、基本構成部の畳み込み手段によって、畳み込みニューラルネットワークのパラメータとして予め学習したカーネルを用いて、入力したデータに対して複数の畳み込み層の演算を行う。これによって、畳み込み手段は、画像の特徴を順次畳み込んで抽出する。
また、画像特徴抽出装置は、基本構成部のスケーリング手段によって、畳み込みニューラルネットワークのパラメータとして予め学習したスケーリング係数を用いて、入力したデータにスケーリング係数を乗算する。これによって、スケーリング手段は、畳み込み層を通らない経路において、入力したデータに学習に応じた重みを付加する。
そして、画像特徴抽出装置は、基本構成部の加算手段によって、畳み込み手段の演算結果とスケーリング手段の演算結果とを加算する。
また、画像特徴抽出装置は、この基本構成部を多段構成で備え、順次演算を行うことで、畳み込みニューラルネットワークの複数の畳み込み層を通さずに下層に伝達するデータに対して、基本構成部ごとに予め学習した重みを付加することが可能になる。
【0009】
また、本発明は、コンピュータを、前記画像特徴抽出装置として機能させるための画像特徴抽出プログラムで実現することもできる。
【発明の効果】
【0010】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、畳み込みニューラルネットワークにおいて、複数の畳み込み層を通さずに下層に伝達するデータに重みを付加することができる。
これによって、本発明は、入力データの重要性を層の位置によって異なるように学習した畳み込みニューラルネットワークを用いて、精度の高い画像特徴を抽出することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明の実施形態に係る画像特徴抽出装置で使用するCNNの基本構造を示すネットワーク図である。
【
図2】本発明の実施形態に係る画像特徴抽出装置の基本構成部の構成を示すブロック図である。
【
図3】本発明の実施形態に係る画像特徴抽出装置の基本構成部の他の構成を示すブロック図である。
【
図4】本発明の実施形態に係る画像特徴抽出装置が用いるCNNのモデルを示すネットワーク図である。
【
図5】本発明の実施形態に係る画像特徴抽出装置の構成を示す全体構成図である。
【
図6】本発明の実施形態に係る画像特徴抽出装置の動作を示すフローチャートである。
【
図7】画像特徴抽出装置のパラメータを学習するためのパラメータ学習装置が用いるCNNのモデルを示すネットワーク図である。
【
図8】画像特徴抽出装置のパラメータを学習するためのパラメータ学習装置の構成を示す全体構成図である。
【
図9】従来のCNNの基本構造を示すネットワーク図である。
【
図10】従来のResNetの基本構造を示すネットワーク図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照して説明する。
<畳み込みニューラルネットワークの基本構造の概要>
図1を参照して、本発明の実施形態に係る画像特徴抽出装置1(
図5)で用いる畳み込みニューラルネットワーク(以下、CNN)の基本構造Nの概要について説明する。
図1に示すように、画像特徴抽出装置1(
図5)で用いるCNNの基本構造Nは、複数(
図1では2層)の畳み込み層CL,CLを連結して入力xを畳み込んだデータ(F(x))と、スケーリング層SLで入力xをスケーリング(a倍)したデータ(ax)とを加算した出力H(x)を最適化したネットワークモデルである。
CNNの基本構造Nは、複数の畳み込み層CL,CLで行う写像F(x)が、出力H(x)と入力xとのa倍のデータ(ax)との残差であるH(x)-axとなるように予め学習したネットワークモデルである。
このように、CNNの基本構造Nは、複数の畳み込み層CL,CLで畳み込み演算を行ったデータと、畳み込み層CL,CLを通さずに下層に伝達するデータとを、重みを付けて加算する。
なお、CNNの基本構造Nの畳み込み層CLは、2層に限定されず、3層以上であっても構わない。
【0013】
<画像特徴抽出装置の基本構成部>
次に、
図2,
図3を参照して、本発明の実施形態に係る画像特徴抽出装置1(
図5)を構成する基本構成部について説明する。
図2は、
図1で説明したCNNの基本構造Nを装置構成として具現化した画像特徴抽出装置1の基本構成部10の構成図である。
基本構成部10は、入力データを畳み込み演算し、特徴を抽出して出力データとするものである。
【0014】
入力データは、W×H×Cのサイズを持つ3次元の行列(特徴量行列)である。行列の列Wおよび行Hは、特徴量の幅と高さを表し、行列の深さCは、チャンネルの数(特徴量の種類数)を表す。なお、画像特徴抽出装置1の先頭階層の基本構成部10への入力データは、画像データである。この場合、入力データは、予め定めた幅W画素、高さH画素、チャンネル数C(RGBの場合“3”)のデータである。
基本構成部10の入力データと出力データとは、行列の次元が同じである。ここで、行列の次元とは、行列の幅、高さ、チャンネル数のそれぞれの配列の数をいう。
図2に示すように、基本構成部10は、畳み込み手段11と、スケーリング手段12と、加算手段13と、を備える。
【0015】
畳み込み手段11は、予め定めたサイズの学習済のパラメータ(結合重み係数)を有する複数のカーネルを用いて、入力データに対して畳み込み演算を行うものである。
例えば、畳み込み手段11は、1つの畳み込み層の演算として、W(幅)×H(高さ)×C(チャンネル)のサイズの入力データに対して、予め学習した3×3サイズのカーネルをC個用いて、入力データの幅および高さ方向の両端に1画素分の画素を付加(例えば、ゼロパディング)する。そして、畳み込み手段11は、ストライド“1”で順次カーネルをシフトして畳み込み演算を行う。これによって、畳み込み手段11は、入力データの行列の次元(幅、高さ、チャンネル数)と同じデータを生成する。
畳み込み手段11は、この畳み込み層の演算を、
図1に示したCNNの予め定めた複数の畳み込み層CLの数だけ行う。
畳み込み手段11は、演算後のデータを加算手段13に出力する。
【0016】
スケーリング手段12は、入力データの各要素に対して、予め学習済みのパラメータであるスケーリング係数を乗算するものである。このスケーリング手段12は、畳み込み層の演算を行わないようにバイパスする。
スケーリング係数は、予めCNNのパラメータとして学習したスカラ値である。このスケーリング係数は、畳み込み手段11を通る経路と、スケーリング手段12を通る経路との重みを示す。
スケーリング手段12は、W(幅)×H(高さ)×C(チャンネル)のサイズの入力データである行列の各要素を、すべて、スケーリング係数倍する。
スケーリング手段12が演算したデータの次元(幅、高さ、チャンネル数)は、入力データと同じである。
スケーリング手段12は、演算後のデータを加算手段13に出力する。
【0017】
加算手段13は、畳み込み手段11で演算されたデータと、スケーリング手段12で演算されたデータとを加算するものである。
加算手段13に入力される畳み込み手段11で演算されたデータと、スケーリング手段12で演算されたデータとは、共に同じ次元(幅、高さ、チャンネル数)のデータであるため、加算手段13は、2つの行列の同じ位置の要素をそれぞれ加算する。
これによって、加算手段13は、入力データと同じ次元で、特徴量を抽出した出力データを生成する。
【0018】
次に、
図3を参照して、画像特徴抽出装置1の基本構成部の他の構成(基本構成部10B)について説明する。
基本構成部10Bは、基本構成部10(
図2)と同様、入力データを畳み込み演算し、特徴を抽出して出力データとするものである。
図2で説明した基本構成部10における入力データと出力データとは、同じ次元の行列であった。しかし、基本構成部10Bにおける入力データと出力データとは、異なる次元の行列である。
【0019】
図3に示すように、基本構成部10Bは、畳み込み手段11Bと、スケーリング手段12Bと、加算手段13と、を備える。
加算手段13は、
図2で説明した基本構成部10の構成と同じであるため、説明を省略する。
【0020】
畳み込み手段11Bは、予め定めたサイズの学習済のパラメータ(結合重み係数)を有する複数のカーネルを用いて、入力データに対して畳み込み演算を行うものである。なお、畳み込み手段11Bは、入力データの行列の次元を変えたデータを生成する。
例えば、畳み込み手段11Bは、1つの畳み込み層の演算として、W(幅)×H(高さ)×C(チャンネル)のサイズの入力データに対して、予め学習した3×3サイズのカーネルを2×C個用いて、入力データの幅および高さ方向の両端に1画素分の画素を付加(例えば、ゼロパディング)する。そして、畳み込み手段11Bは、ストライド“2”で順次カーネルをシフトして畳み込み演算を行う。これによって、畳み込み手段11Bは、入力データの行列の幅および高さを半分にするとともに、チャンネル数を2倍にしたデータを生成する。
【0021】
なお、畳み込み手段11Bは、複数の畳み込み層の演算すべてにおいて、行列の次元を変える必要はなく、最初の畳み込み層の演算のみ、行列の次元を変え、それ以降の畳み込み層の演算においては、行列の次元を変えないように演算してもよい。
畳み込み手段11Bは、この畳み込み層の演算を、
図1に示したCNNの予め定めた複数の畳み込み層CLの数だけ行う。
畳み込み手段11Bは、演算後のデータを加算手段13に出力する。
【0022】
スケーリング手段12Bは、入力データの行列の次元を、畳み込み手段11Bが出力するデータの次元に揃えて、行列の各要素に対して、予め学習済みのパラメータであるスケーリング係数を乗算するものである。
このスケーリング手段12Bは、入力データの行列を、畳み込み手段11Bが出力するデータの次元に線形射影する。
【0023】
例えば、畳み込み手段11Bが、W(幅)×H(高さ)×C(チャンネル)のサイズの入力データを、(W/2)×(H/2)×(2×C)の行列に畳み込み演算を行うものとする。
この場合、スケーリング手段12Bは、1チャンネルごとにW×Hのデータを(W/2)×(H/2)に縮小し、さらに、チャンネルを線形補間して、2×Cのチャンネル数の行列を生成する。
そして、スケーリング手段12Bは、W/2(幅)×H/2(高さ)×2×C(チャンネル)のサイズの入力データである行列の各要素を、すべて、スケーリング係数倍する。
これによって、スケーリング手段12Bが演算したデータの次元(幅、高さ、チャンネル数)は、畳み込み手段11Bが演算したデータの次元と一致させることができる。
スケーリング手段12Bは、演算後のデータを加算手段13に出力する。
【0024】
以上説明したように、基本構成部10,10Bは、畳み込み手段11,11Bにおける入力データに対する複数の畳み込み層の演算結果と、畳み込み層を通らない入力データとを、重みを付けて加算することができる。
【0025】
<画像特徴抽出装置のCNNの概要>
次に、
図4を参照して、画像特徴抽出装置1(
図5)が動作するCNNのモデルMの概要について説明する。
【0026】
モデルMは、画像Iのデータを入力し、画像Iの特徴量Vを抽出する畳み込みニューラルネットワーク(CNN)である
モデルMは、予め定めた複数の畳み込み層CL(ここでは、〔CL1,CL2〕と〔CL3,CL4〕と〔CL5,CL6〕と〔CL7,CL8〕)ごとに、畳み込み層CLを通らない(バイパスした)スケーリング層SL(SL1~SL4)を備える。
そして、モデルMは、予め定めた複数の畳み込み層CLの出力と当該畳み込み層を通らないスケーリング層SLの出力とを加算し、後段の畳み込み層CLに画像特徴を順次出力する。
モデルMの最終出力は、予め定めた次元の特徴量Vである。
このように、モデルMは、ネットワークの深さに応じて、畳み込みを行わない経路の重みを変えたネットワークとなる。
【0027】
なお、このモデルMは、一例であって、全体の畳み込み層CLの数や、スケーリング層SLがバイパスする畳み込み層CLの数は、この例に限定されるものではない。また、それぞれの畳み込み層CLの出力データや、加算後のデータに対して活性化関数(ReLU:Rectified Linear Units等)を適用してもよい。
【0028】
<画像特徴抽出装置の構成>
次に、
図5を参照して、本発明の実施形態に係る画像特徴抽出装置1の構成について説明する。
画像特徴抽出装置1は、
図4で説明したモデルMによって、画像Iから特徴量Vを抽出するものである。
図5に示すように、画像特徴抽出装置1は、複数の基本構成部10,10Bと、パラメータ記憶手段20と、を備える。
【0029】
基本構成部10,10Bは、入力データを畳み込み演算し、特徴を抽出して出力データとするもので、
図2,
図3で説明したものと同じである。
ここでは、画像特徴抽出装置1は、基本構成部10
1、10B
2、10B
3、10B
4の順に多段に構成している。
【0030】
基本構成部101は、畳み込み手段111(11)と、スケーリング手段121(12)と、加算手段131(13)と、を備える。
畳み込み手段111は、W(幅)×H(高さ)×C(チャンネル)の画像Iに対して、2つの畳み込み層CL1,CL2の演算を行うものである。なお、畳み込み層CL1,CL2の「3×3 conv,64」は、3×3サイズのカーネルを64個用いて、畳み込み演算を行うことを示す。
これによって、畳み込み手段111は、画像Iから、W(幅)×H(高さ)が同じで64個のチャンネルのデータを生成する。
畳み込み手段111が行う畳み込み層CL1,CL2の演算として使用するカーネルのパラメータ(結合重み係数)は、予め学習済のパラメータとしてパラメータ記憶手段20に記憶されている。
畳み込み手段111は、演算後のデータを加算手段131に出力する。
【0031】
スケーリング手段121は、W(幅)×H(高さ)×C(チャンネル)の画像Iの行列の各要素に対して、予め学習済みのパラメータであるスケーリング係数を乗算するものである。なお、学習済のスケーリング係数は、予めパラメータ記憶手段20に記憶されている。
スケーリング手段121は、演算後のデータを加算手段131に出力する。
【0032】
加算手段131は、畳み込み手段111で演算されたデータと、スケーリング手段121で演算されたデータとを加算するものである。
加算手段131は、加算結果のデータ(特徴行列)を、後段の基本構成部10B2に出力する。
【0033】
基本構成部10B2は、畳み込み手段11B2(11B)と、スケーリング手段12B2(12B)と、加算手段132(13)と、を備える。
畳み込み手段11B2は、基本構成部101で演算された特徴行列に対して、2つの畳み込み層CL3,CL4の演算を行うものである。なお、畳み込み層CL3,CL4の「3×3 conv,128」は、3×3サイズのカーネルを128個用いて、畳み込み演算を行うことを示す。また、畳み込み層CL3の「/2」は、ストライド“2”でカーネルをシフトさせることを示す。なお、「/2」がない他の畳み込み層CLは、ストライド“1”とする。
これによって、畳み込み手段11B2は、特徴行列から、W/2(幅)×H/2(高さ)、128個のチャンネルのデータを生成する。
畳み込み手段11B2が行う畳み込み層CL3,CL4の演算として使用するカーネルのパラメータ(結合重み係数)は、予め学習済のパラメータとしてパラメータ記憶手段20に記憶されている。
畳み込み手段11B2は、演算後のデータを加算手段132に出力する。
【0034】
スケーリング手段12B2は、基本構成部101で演算された特徴行列を、畳み込み手段11B2が出力する行列と同じ次元に揃え、行列の各要素に対して、予め学習済みのパラメータであるスケーリング係数を乗算するものである。なお、学習済のスケーリング係数は、予めパラメータ記憶手段20に記憶されている。
スケーリング手段12B2は、演算後のデータを加算手段132に出力する。
【0035】
加算手段132は、畳み込み手段11B2で演算されたデータと、スケーリング手段12B2で演算されたデータとを加算するものである。
加算手段132は、加算結果のデータ(特徴行列)を、後段の基本構成部10B3に出力する。
【0036】
基本構成部10B3,10B4は、カーネルのサイズが異なるだけで、基本構成部10B2と同じ構成であるため説明を省略する。
最終段の基本構成部10B4は、最終演算結果を、画像Iの特徴量Vとして出力する。
【0037】
パラメータ記憶手段20は、
図4で説明したモデルMの構造および学習済のパラメータを予め記憶するものである。パラメータ記憶手段20は、半導体メモリ等の一般的な記憶媒体で構成することができる。
【0038】
以上説明したように、画像特徴抽出装置1は、画像Iから畳み込み演算によって特徴量Vを抽出する際に、畳み込みを行わずに下層にデータを経由する経路に重みを付けて学習したモデルを用いる。これによって、画像特徴抽出装置1は、ネットワークの深さによる特徴を重みによって反映させて、より精度よく画像の特徴量を抽出することができる。
なお、画像特徴抽出装置1は、コンピュータを、前記した各手段として機能させるための画像特徴抽出プログラムで動作させることができる。
【0039】
<画像特徴抽出装置の動作>
次に、
図6を参照(構成については、適宜
図2,
図3,
図5参照)して、本発明の実施形態に係る画像特徴抽出装置1の動作について説明する。なお、パラメータ記憶手段20には、予め学習したパラメータが記憶されているものとする。また、基本構成部10または基本構成部10Bは、モデルM(
図4)の構造によってどちらを使用するかが異なるため、ここでは、基本的に基本構成部10のみで説明し、基本構成部10,10Bで動作が異なる場合のみ、その相違について説明を行う。
【0040】
ステップS1において、最前段の基本構成部10が、画像Iをデータとして入力する。
ステップS2において、基本構成部10は、畳み込み手段11によって、パラメータ記憶手段20に記憶されているパラメータであるカーネルの結合重み係数を参照して、複数の畳み込み層における畳み込み演算を行う。なお、このとき、基本構成部が基本構成部10Bの場合、入力したデータの行列と、畳み込み演算後のデータの行列の次元が異なる。
【0041】
ステップS3において、畳み込み演算前後で行列の次元が異なる場合、すなわち、ステップS2の演算を基本構成部10Bで行っている場合(ステップS3でYes)、ステップS4において、スケーリング手段12Bは、畳み込み演算前の入力データを、畳み込み演算後の行列の次元に揃えるように線形射影を行い、次元変換を行う。
一方、畳み込み演算前後で行列の次元が同じ場合、すなわち、ステップS2の演算を基本構成部10で行っている場合(ステップS3でNo)、スケーリング手段12は、ステップS4の動作を行わずにステップS5に動作を進める。
【0042】
ステップS5において、スケーリング手段12は、入力データまたはステップS4で次元変換された入力データを、パラメータ記憶手段20に記憶されているパラメータであるスケーリング係数を参照して、入力データの各要素に対して、スケーリング係数を乗算する。
【0043】
ステップS6において、加算手段13は、ステップS2で畳み込み演算を行った演算結果の行列と、ステップS5でスケーリング係数が乗算された行列とを、要素ごとに加算する。
【0044】
ステップS7において、後段に基本構成部10が連結されている場合(ステップS7でYes)、ステップS2に戻って、後段の基本構成部10がステップS6の加算結果のデータに対して、畳み込み演算を行う。
一方、後段に基本構成部10が連結されていない場合(ステップS7でNo)、ステップS8において、基本構成部10は、演算結果を特徴量Vとして出力する。
以上の動作によって、画像特徴抽出装置1は、画像Iから、特徴量を抽出することができる。
【0045】
以上、本発明の実施形態に係る画像特徴抽出装置1の構成および動作について説明したが、本発明はこの実施形態に限定されるものではない。
ここでは、説明を簡略化するため、基本構成部10(10B)の段数を“4”、基本構成部10(10B)内の畳み込み層の数を“2”として説明したが、この数は、これ以外であっても構わない。例えば、基本構成部10(10B)の段数を、一般的なニューラルネットワークで使用される10~50段程度としてもよい。また、基本構成部10(10B)内の畳み込み層は、3層以上あっても構わない。
【0046】
また、ここでは、基本構成部10(10B)を物理的に連結した。しかし、1つの基本構成部がモデルMに応じて繰り返し演算を行うことで、基本構成部を多段構成した処理と同様の演算を行うこととしてもよい。
【0047】
また、ここでは、基本構成部10Bが入力データと出力データとで行列の次元を変換(幅を1/2、高さを1/2に変換)する構成とした。しかし、基本構成部10Bは、行列の幅および高さを縮小(それぞれ1/2)するプーリング層の演算(最大プーリング等)を行うプーリング手段(不図示)と基本構成部10とを連結して構成してもよい。
【0048】
また、画像特徴抽出装置1は、画像内に映る人物や物体を分類するための画像分類用の特徴量を抽出する場合、最終段の基本構成部10(10B)の出力のチャンネル数を、画像分類用の分類数にしてもよい。そして、画像特徴抽出装置1は、グローバルアベレージプーリング(Global Average Pooling:GAP)層の演算を行うグローバルアベレージプーリング手段を、最終段の基本構成部10(10B)に連結した構成として、画像分類装置として構成することができる。
【0049】
また、ここでは、ResNetをベースにしてスケーリング層を付加したが、本発明は、CNNのすべてのネットワーク構造に適用することができる。例えば、以下の参考文献に記載されているInception-ResNetにおいて、データを畳み込み演算を行わずに下層に伝送する経路に、スケーリング層を設けることとしてもよい。
(参考文献)
C. Szegedy, S. Ioffe, V. Vanhoucke, and A. Alemi,“Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning”, in Proc. CVPR, 2016.
【0050】
<パラメータ学習装置>
次に、
図7,
図8を参照して、画像特徴抽出装置1が用いるCNNのパラメータを学習するパラメータ学習装置2の例について説明する。
パラメータ学習装置2は、
図7に示すCNNのモデル(学習用モデル)M2によって、予め準備した学習データである学習画像LIと、学習画像LIの認識結果の正解データLCとから、モデルM2のパラメータを学習する。
なお、モデルM2は、モデルM(
図4)に全結合層FLを付加したモデルである。
【0051】
学習データは、例えば、多数(約10万人)の人物をそれぞれ複数(約100枚)撮影した学習画像(顔画像)LIと、学習画像LIに映る人物のラベルである正解データLCと、を対としたデータを用いることができる。
パラメータ学習装置2は、モデルM2のパラメータを学習することで、モデルM2を構成するモデルMのパラメータを学習する。
【0052】
図8に示すように、パラメータ学習装置2は、複数の基本構成部10,10Bと、パラメータ記憶手段20と、全結合手段30と、誤差演算手段40と、を備える。
ここでは、パラメータ学習装置2は、画像特徴抽出装置1と同じ構成で基本構成部10
1、10B
2、10B
3、10B
4の順に多段に構成している。
【0053】
基本構成部10,10Bは、画像特徴抽出装置1の構成と同様、パラメータ記憶手段20に記憶されているパラメータを参照して、入力データに対して畳み込み演算を行うとともに、畳み込みを行わない経路で入力データをスケーリングし、それぞれを加算するものである。
また、パラメータ学習装置2の基本構成部10,10Bは、ネットワークの後段から入力される誤差に基づいて誤差逆伝播法により結合重み係数、スケーリング係数を更新し、誤差を前段に伝播するものでもある。
【0054】
パラメータ記憶手段20は、
図7で説明したモデルM2の構造およびパラメータを記憶するものである。なお、パラメータには予め乱数等の初期値が設定されている。そして、パラメータ記憶手段20は、基本構成部10,10B、全結合手段30によって、パラメータが更新される。
【0055】
全結合手段30は、パラメータ記憶手段20に記憶されているパラメータを参照して、基本構成部101、10B2、10B3、10B4で順次畳み込みされたデータの各要素を、1つ以上の全結合層によって、全結合演算を行い、予め定めたデータ長の1次元のベクトルを生成するものである。この演算結果は、学習画像LIを認識(ここでは、顔認識)した認識結果Rである。
また、全結合手段30は、誤差演算手段40から入力される誤差に基づいて誤差逆伝播法により結合重み係数を更新し、誤差を前段の基本構成部10に伝播するものでもある。
なお、全結合手段30は、正解データLCのデータと次元を揃えるための全結合層が最終段に付加されている。
【0056】
誤差演算手段40は、全結合手段30の出力(認識結果R)と、正解データLCとの誤差を演算するものである。誤差演算手段40は、誤差を全結合手段30に出力する。なお、誤差演算手段40は、予め定めた回数、あるいは、パラメータ記憶手段20に記憶されているパラメータの変化の度合いが予め定めた閾値を下回るまで、基本構成部10,10B、全結合手段30を動作させる。
【0057】
以上説明したように、パラメータ学習装置2は、学習データを用いて、画像特徴抽出装置1が用いるCNNのパラメータを学習することができる。
これによって、パラメータ学習装置2は、人物の顔を認識するための画像特徴を抽出するモデルのパラメータを学習することができる。
【0058】
なお、ここでは、学習データとして、画像とその画像に映る人物のラベルとを用いたが、画像特徴を抽出したい対象に応じて、種々の学習データを用いればよい。例えば、画像内の物体(例えば、動物)を識別するためのパラメータを学習したければ、画像とそれに対応する物体のラベルを学習データとすればよい。その場合、全結合手段30の最終段に付加する全結合層の次元は、物体のラベルの数に合わせればよい。
【0059】
また、ここでは、全結合手段30を備えることとしたが、最終段の基本構成部10,10Bの出力のチャンネル数を、物体のラベルの数とした場合、全結合手段30の代わりに、グローバルアベレージプーリング(GAP)層の演算を行うプーリング手段を備えてもよい。これによって、学習するパラメータの数を減らすことができる。
【0060】
<スケーリング層を設けた場合の性能評価>
前記した参考文献に記載されているInception-ResNet V2(従来手法)と、Inception-ResNet V2にスケーリング層を設けたCNN(本手法)との性能比較を行った。なお、従来手法および本手法ともに、同じ学習データで学習を行っている。
【0061】
性能評価として、顔認識分野で広く利用されているLFW(Labeled Faces in the Wild)データセット(http://vis-www.cs.umass.edu/lfw/)を用いた。
このデータセットは、2枚の顔画像と、両画像に映っている人物が同一人物であるか否かを示す正解データとからなる組を、約6000組有するデータである。
ここでは、2枚の顔画像についてそれぞれ特徴量を抽出し、その特徴量の距離(ユークリッド距離等)が予め定めた閾値以下である場合に、両画像に映っている人物が同一であると判定し、閾値よりも大きい場合に、両画像に映っている人物が同一ではないと判定した。この判定結果を正解データと比較し、正しく判定できた割合を認識精度と定義する。
従来手法および本手法を用いた認識精度の結果を以下の表に示す。
【0062】
【0063】
この表に示すように、本手法を用いた方が、従来手法を用いる場合よりも、顔認識の認識精度が高くなった。
このように、本手法は、ResNetにスケーリング層を設けることで、認識精度が上がり、画像から特徴量をより正確に抽出できていることになる。
【符号の説明】
【0064】
1 画像特徴抽出装置
10,10B 基本構成部
11,11B 畳み込み手段
12,12B スケーリング手段
13 加算手段
20 パラメータ記憶手段
30 全結合手段
40 誤差演算手段
I 画像
V 特徴量
M モデル
CL 畳み込み層
SL スケーリング層
FL 全結合層