JP7271244B2 - Cnn処理装置、cnn処理方法、およびプログラム - Google Patents

Cnn処理装置、cnn処理方法、およびプログラム Download PDF

Info

Publication number
JP7271244B2
JP7271244B2 JP2019048407A JP2019048407A JP7271244B2 JP 7271244 B2 JP7271244 B2 JP 7271244B2 JP 2019048407 A JP2019048407 A JP 2019048407A JP 2019048407 A JP2019048407 A JP 2019048407A JP 7271244 B2 JP7271244 B2 JP 7271244B2
Authority
JP
Japan
Prior art keywords
cnn
kernel
fourier
convolution
processing
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
JP2019048407A
Other languages
English (en)
Other versions
JP2020149560A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor 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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2019048407A priority Critical patent/JP7271244B2/ja
Priority to US16/809,050 priority patent/US20200293857A1/en
Publication of JP2020149560A publication Critical patent/JP2020149560A/ja
Application granted granted Critical
Publication of JP7271244B2 publication Critical patent/JP7271244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/478Contour-based spectral representations or scale-space representations, e.g. by Fourier analysis, wavelet analysis or curvature scale-space [CSS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Description

本発明は、CNN処理装置、CNN処理方法、およびプログラムに関する。
近年、機械学習が注目されている。機械学習では、例えば決定木学習、ニューラルネットワーク、ベイジアンネットワーク等のアルゴリズムが用いられている。また、ニューラルネットワークには、順伝播型ニューラルネットワーク、畳み込みニューラルネットワーク(CNN;Convolutional Neural Network)等の手法がある。畳み込みニューラルネットワークは、例えば画像認識、動画認識等に用いられている。
CNNの演算装置として、畳み込み演算において使用されるカーネルの要素毎に、入力データに含まれる入力値の中から畳み込み演算において要素と掛け合わされる入力値を特定し、特定された入力値の総和を算出する第1算出部と、カーネルの要素毎に、要素について第1算出部により算出された総和と要素との積を算出し、算出された積の平均を算出する第2算出部とを有する装置が提案されている(例えば、特許文献1参照)。
特開2017-78934号公報
しかしながら、特許文献1等に記載の従来技術では、カーネルの数やカーネルの画素数によって、畳み込みの演算量が増えてしまうという課題があった。
本発明は、上記の問題点に鑑みてなされたものであって、従来より演算量を低減することができるCNN処理装置、CNN処理方法、およびプログラムを提供することを目的とする。
(1)上記目的を達成するため、本発明の一態様に係るCNN処理装置(10)は、畳み込み演算で用いられるカーネルを記憶するカーネル記憶部(102)と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部(103)と、CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う畳み込み演算部(104)と、を備える。
(2)また、本発明の一態様に係るCNN処理装置において、exp(inθ)はn次のフーリエ基底関数であり、θ(kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、cn,mはフーリエ係数であり、要素gはgk,m(mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、前記畳み込み演算部は、前記CNNにおける要素gk,mを次式で計算するようにしてもよい。
Figure 0007271244000001
(3)また、本発明の一態様に係るCNN処理装置において、前記畳み込み演算部は、前記畳み込み演算後の画像Yを、K行(2N+1)列の前記フーリエ基底関数の行列に、(2N+1)行M列の前記フーリエ係数の行列を乗じることで算出するようにしてもよい。
(4)また、本発明の一態様に係るCNN処理装置において、前記畳み込み演算部は、(M+K)(2N+1)が(M×K)未満のNを選択するようにしてもよい。
(5)上記目的を達成するため、本発明の一態様に係るCNN処理方法は、畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置におけるCNN処理方法であって、畳み込み演算部が、CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う処理手順、を含む。
(6)上記目的を達成するため、本発明の一態様に係るプログラムは、畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置のコンピュータに、CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う処理手順、を実行させる。
上述した(1)または(5)あるいは(6)によれば、CNNにおけるカーネルの係数における要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化したので、伝達特性の演算量を低減することができる。
また、上述した(2)、(3)によれば、上述した式を用いてフーリエ係数を計算することで、CNNにおける畳み込み処理の演算量を低減することができる。
また、上述した(4)によれば、(M+K)(2N+1)が(M×K)未満のNを選択するため、CNNにおける畳み込み処理の演算量を従来より低減することができる。
CNNを用いた画像処理の概略を説明するための図である。 実施形態に係る情報処理装置の構成例を示すブロック図である。 CNNを用いた画像処理の手順例を示す図である。 5×5ピクセルのカーネルの一例を示す図である。 実施形態に係る情報処理装置の処理のフローチャートである。 本実施形態に係る音声認識におけるCNN処理の例を示す図である。
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、画像や画素等を認識可能な大きさとするため、画像や画素等の縮尺を適宜変更している。
まず、畳み込みニューラルネットワーク(Convolutional Neural Network;CNN、以下CNNという)を用いた画像処理の概略を説明する。
図1は、CNNを用いた画像処理の概略を説明するための図である。図1において、符号g1は入力画像を示し、符号g2はカーネルを示している。
画像処理において畳み込み処理は、カーネル(フィルター)と呼ばれる格子状の数値データと、カーネルと同サイズの部分画像(ウィンドウ)の数値データについて、要素ごとの積の和を計算することで、1つの数値に変換する。この変換処理を、ウィンドウを少しずつずらして処理を行うことで、小さい格子状の数値データに変換する。
このような処理では、例えば入力画像からカーネルと同サイズのウィンドウを取り出し、要素同士を掛け合わせた後、それらをすべて合計して1つの数値を計算する(1番目の畳み込み処理)。なお、入力画像は、例えば取得された画像から抽出された複数の特徴画像である。
次に、抽出するウィンドウを例えば右に3ピクセルずらして新しく1つの数値を計算する(2番目の畳み込み処理)。以下同様に右に3ピクセルずらして計算していくと、1行でn個(=Nピクセル/3ピクセル)の数値データができる。右端に到達したらまた一番左端に戻り、下に3ピクセルずらして同様に右にずらしながら計算していく。例えば画像処理対象が32×32ピクセルの場合は、n=10となり、畳み込みを行うことで、10×10のピクセルに縮小される。そして、プーリング処理によって、畳み込み処理から出力された特徴マップを、さらに縮小して新たな特徴マップとする。
入力画像に含まれる対象物を予測する場合、得られた全特徴量を用いて、例えばSoftmax関数を使って確率を出力することで予測を行う。
[情報処理装置の構成]
次に、情報処理装置の構成例を説明する。
図2は、本実施形態に係る情報処理装置1の構成例を示すブロック図である。図2に示すように、情報処理装置1は、CNN処理装置10と推定部12を備える。CNN処理装置10は、取得部101、カーネル記憶部102、テーブル記憶部103、畳み込み演算部104、およびプーリング演算部105を備える。
情報処理装置1は、例えば画像認識装置である。情報処理装置1は、取得した画像に対してCNN処理を行って、取得した画像に含まれている対象物を認識する。
取得部101は、外部装置(例えば撮影装置等)から画像を取得し、取得した画像を畳み込み演算部104に出力する。
カーネル記憶部102は、カーネルを記憶する。
テーブル記憶部103は、畳み込み演算部104が演算に必要な値(後述するフーリエ基底関数exp(inθ))をテーブル形式で記憶する。
畳み込み演算部104は、カーネル記憶部102が記憶するカーネルと、テーブル記憶部103が記憶する値を用いて、取得部101が取得した画像に対して畳み込み演算処理を行う。畳み込み演算部104は、演算した演算結果をプーリング演算部105に出力する。
プーリング演算部105は、畳み込み演算部104が出力する演算結果を、さらに縮小して新たな特徴量を算出するプーリング処理を行う。なお、プーリング処理とは、ウィンドウの数値データから1つの数値を作り出す処理である。プーリング処理には、例えばウィンドウ中の最大値を選択する最大値プーリングや、ウィンドウ中の平均値を選択する平均値プーリングなどがある。
推定部12は、プーリング演算部105が出力する特徴量に対して、例えばSoftmax関数を使って確率を出力することで、入力画像に含まれる対象物を予測する。
[CNNを用いた画像処理例]
図3は、CNNを用いた画像処理の手順例を示す図である。なお、図3では、添え字を一部省略している。
図3において、入力画像をX(i,j)とする。iは画像の水平方向の画素のインデックスを表す。また、jは画像の垂直方向の画素のインデックスを表す。また、Kはカーネルの数を表し、kはk番目のカーネルを表す。また、Uはカーネルの水平方向の大きさ(画素、ピクセル)であり、Vはカーネルの垂直方向の大きさ(画素、ピクセル)である。さらに、k番目のカーネルの係数をG(n,m)とすると、畳み込み演算後の画像Y(i,j)は、次式(1)のように表すことができる。なお、G(n,m)において、nは2次元フィルタのX座標インデックスであり、mは2次元フィルタのY座標インデックスである。
Figure 0007271244000002
ここで,出力画像の1画素(i,j)に着目し、以降(i,j)を省略する。式(1)の要素yは、次式(2)で表すことができる。
Figure 0007271244000003
また、式(2)は、行列とベクトルを用いて次式(3)のように表現できる。
Figure 0007271244000004
なお、式(3)において、Kはカーネルの数であり、Mはトータルの画素数(=U×V)である。また、式(2)、(3)において、要素yは、次式(4)で表され、要素gm,kは次式(5)で表され、要素xは次式(6)で表される。
Figure 0007271244000005
Figure 0007271244000006
Figure 0007271244000007
なお、式(5)、(6)において、(m modU)は、mをUで割った余りを表し、次式(7)はガウス記号(床関数)でありaを整数化した値を表す。
Figure 0007271244000008
ここで、行列Gは、各カーネルの係数を行ベクトルにして縦に並べた行列である。また、式(3)において、カーネルはK行M列の行列である。
このため、式(3)を用いて計算するのに、乗算回数はMK回必要である。例えば、M=72、Kが32の場合の乗算回数は、2304(=72×32)回必要である。
ここで、カーネルは、例えば図4に示すように、水平・垂直・斜め方向など、方向が異なる周期的な縞模様のようなパターンを用いることが多い。図4は、5×5ピクセルのカーネルの一例を示す図である。このような場合、各列ベクトルの値が周期性の強い値となるため、フーリエ係数モデルは有効である。
[本実施形態による伝達特性の算出]
次に、本実施形態による要素gk,mの算出方法を説明する。
本実施形態では、畳み込み演算部104が、要素gk,mを、次式(8)のようにN次の複素フーリエ係数でモデル化する。また、式(8)において、θ(kは1からKの整数)は、例えばk番目の離散時間におけるフィルタ係数のパターンの縞の角度を表す。このように、θは、例えばCNNのフィルタ係数において周期性のある要素に対応するものである。
Figure 0007271244000009
式(8)において、cn,mはフーリエ係数であり、iは複素数を表す。また、cn,mとc-n,mは互いに共役の関係である。また、exp(inθ)はフーリエのn次の基底関数(正弦波基底)であり、フーリエのn次の基底関数の計算は、予めテーブルを用意することで参照のみの処理である。このフーリエ基底関数exp(inθ)のテーブルは、テーブル記憶部103があらかじめ記憶している。
式(8)の意味合いは、CNNにおいて、横軸がk(離散値)で、縦軸がフィルタ係数の関数で定義されている関数をフーリエ級数で近似している。例えば2次元フィルタのパターンが角度の違う縞々のようなものであれば、その縞の角度をθに対応させる。そのような時は、近似精度は高くなる。
[フーリエ係数cn,mの求め方]
ここで、例として、kのみを変数とする1次元のgに対し、式(8)で与えられる複素振幅モデルを導入した場合の係数(c(ω))の決定方法について説明する。
θlk(l=1,2,3,…,K)とすると次式(9)の連立方程式が得られる。
Figure 0007271244000010
この連立方程式は、次式(10)のように、行列とベクトルを利用して記述できる。
Figure 0007271244000011
式(10)において、cは係数ベクトル、Aはモデルの係数である。各ベクトルは次式(11)~次式(13)である。
Figure 0007271244000012
Figure 0007271244000013
Figure 0007271244000014
なお、式(13)において、akは次式(14)である。
Figure 0007271244000015
式(10)から、求めるべき係数ベクトルcは、次式(15)として求めることができる。
Figure 0007271244000016
式(15)において、AはAの疑似逆行列(ムーアペンローズ型疑似逆行列)である。式(15)により、一般に、変数の数2N+1よりも式の数Kが多い場合(2N+1>Kの場合)、係数は誤差の2乗和が最小となる解として得られる。また、そうでない場合(2N+1≦Kの場合)は、式(3)の解の中で解のノルムが最小になる解が得られる。
次に、要素yは、次式(16)のように計算することができる。
Figure 0007271244000017
式(3)、(16)は、行列・ベクトルで次式(17)のように表される。
Figure 0007271244000018
式(17)において、左辺は行数がKであり、列数がMである。また、右辺の第1項はフーリエ基底関数であり、行数がK(離散化角度数)であり、列数が2N+1(フーリエ級数の数)である。また、右辺の第2項はフーリエ係数であり、行数が2N+1(フーリエ級数の数)であり、列数がMである。
ここで、式(17)をg=Scとする。
フーリエモデルで計算する場合、要素yは、y=gx=Scx=S(cx)のように表すことができる。
Sは、式(17)のように、K行、2N+1列の行列であり、K(2N+1)回の乗算が必要である。また、cは、式(17)のように、2N+1行、M列の行列であり、(2N+1)M回の乗算が必要である。このため、式(17)の乗算回数の合計は、(M+K)(2N+1)回である。
なお、畳み込み演算部104は、(M+K)(2N+1)が(M×K)未満のNを選択するようにしてもよい。これにより、本実施形態によれば、CNNにおける演算量を従来より低減することができる。
[処理手順]
次に、情報処理装置1の処理手順例を説明する。
図5は、本実施形態に係る情報処理装置1の処理のフローチャートである。
(ステップS1)取得部101は、処理対象の画像を取得する。
(ステップS2)畳み込み演算部104は、取得された画像から部分画像(ウィンドウ)を抽出する。続けて、畳み込み演算部104は、抽出した部分画像と、カーネル記憶部102が記憶するカーネルと、テーブル記憶部が記憶するフーリエ基底関数を用いて畳み込み演算処理を行って、畳み込み演算処理後の画像を算出する。なお、畳み込み演算部104は、畳み込み演算処理を、上述したように、CNNにおけるカーネルの係数をN(Nは1以上の整数)次のフーリエ級数展開でモデル化して行う。
(ステップS3)プーリング演算部105は、畳み込み演算部104が演算した演算結果を、さらに縮小して新たな特徴量を算出するプーリング処理を行う。
(ステップS4)推定部12は、プーリング演算部105が演算した特徴量に対して、例えばSoftmax関数を使って確率を出力することで、入力画像に含まれる対象物を予測する。
なお、上述したN次のフーリエ係数でのモデル化において、フーリエ級数展開に限らず、テーラー展開やスプライン補間等、他の手法を用いてもよい。
以上のように、本実施形態によれば、CNNにおけるカーネルの係数をN(Nは1以上の整数)次のフーリエ級数展開でモデル化したので、畳み込み処理の演算量を低減することができる。また、本実施形態によればN(Nは1以上の整数)次のフーリエ級数展開でモデル化ので、カーネル記憶部102に格納するデータ量を従来より低減することができる。
なお、上述した例では、カーネルにおける画素数(M)とカーネルの数(K)に対して、N次のフーリエ係数でモデル化する例を説明したが、これに限らない。Mは、画像処理において、RGB、CYMK等の色空間において、色空間の数であってもよい。また、Mは、畳み込み層に入力される画像の枚数(チャネル)であってもよい。
また、上述した例では、本実施形態の情報処理装置1を、画像認識等の画像処理に用いる例を説明したが、これに限られない。例えば図6に示すように音声認識処理にも適用することができる。図6は、本実施形態に係る音声認識におけるCNN処理の例を示す図である。図6において、符号g1は、取得された音響信号を周波数領域に変換したスペクトログラムである。また符号g1において、水平方向は時間であり、垂直方向は周波数である。また、符号g2はカーネルである。
なお、このような音声認識に適用する場合も、上述したようにMをカーネルのトータルの画素数として適用してもよい。この場合、Mはスペクトログラムの数であり、Kはカーネルの数である。なお、スペクトログラムの画素数がM、カーネルの数がKの場合も式(4)~(6)と同様に表すことができる。この場合は、音声信号を周波数スペクトルで表したスペクトログラムを計算し、このスペクトログラムに対して情報処理装置1を用いて画像処理を行うことで音声の識別等の処理を行うようにしてもよい。
また、MがRGB等の色空間の数の場合は、例えばRGBそれぞれで処理を並列に行って認識して統合するか、YUV(輝度-色相-色の濃さの画像)に変換して、色を捨てるか、色も並列で処理して最後に統合する等の処理を行うことで、本実施形態の手法を適用することができる。
なお、本発明における情報処理装置1の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより情報処理装置1が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
1…情報処理装置、10…CNN処理装置、101…取得部、102…カーネル記憶部、103…テーブル記憶部、104…畳み込み演算部、105…プーリング演算部、12…推定部

Claims (5)

  1. 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、
    前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、
    CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う畳み込み演算部と、
    を備え
    exp(inθ )はn次のフーリエ基底関数であり、θ (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
    前記畳み込み演算部は、
    前記CNNにおける要素g k,m を次式で計算する、
    Figure 0007271244000019
    CNN処理装置。
  2. 前記畳み込み演算部は、
    前記畳み込み演算後の画像Yを、K行(2N+1)列の前記フーリエ基底関数の行列に、(2N+1)行M列の前記フーリエ係数の行列を乗じることで算出する、請求項に記載のCNN処理装置。
  3. 前記畳み込み演算部は、
    (M+K)(2N+1)が(M×K)未満のNを選択する、請求項または請求項に記載のCNN処理装置。
  4. 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置におけるCNN処理方法であって、
    畳み込み演算部が、CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行い、
    exp(inθ )はn次のフーリエ基底関数であり、θ (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
    前記畳み込み演算部が、
    前記CNNにおける要素g k,m を次式で計算する、
    Figure 0007271244000020
    処理手順、
    を含むCNN処理方法。
  5. 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置のコンピュータに、
    CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う処理手順、
    を実行させ
    exp(inθ )はn次のフーリエ基底関数であり、θ (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
    前記CNNにおける要素g k,m を次式で計算させる、
    Figure 0007271244000021
    プログラム。
JP2019048407A 2019-03-15 2019-03-15 Cnn処理装置、cnn処理方法、およびプログラム Active JP7271244B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019048407A JP7271244B2 (ja) 2019-03-15 2019-03-15 Cnn処理装置、cnn処理方法、およびプログラム
US16/809,050 US20200293857A1 (en) 2019-03-15 2020-03-04 Cnn processing device, cnn processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019048407A JP7271244B2 (ja) 2019-03-15 2019-03-15 Cnn処理装置、cnn処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020149560A JP2020149560A (ja) 2020-09-17
JP7271244B2 true JP7271244B2 (ja) 2023-05-11

Family

ID=72424814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019048407A Active JP7271244B2 (ja) 2019-03-15 2019-03-15 Cnn処理装置、cnn処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US20200293857A1 (ja)
JP (1) JP7271244B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022185452A1 (ja) * 2021-03-03 2022-09-09 三菱電機株式会社 信号処理装置、制御回路、記憶媒体および信号処理方法
WO2022186498A1 (ko) * 2021-03-04 2022-09-09 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
EP4083874A4 (en) 2021-03-04 2023-03-22 Samsung Electronics Co., Ltd. IMAGE PROCESSING DEVICE AND METHOD OF OPERATION
CN115994861A (zh) * 2021-10-20 2023-04-21 珠海一微半导体股份有限公司 一种基于卷积算法的图像处理方法及芯片
GB2620920B (en) * 2022-07-21 2024-09-25 Advanced Risc Mach Ltd System, devices and/or processes for application of kernel coefficients

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122430A (ja) 2014-12-25 2016-07-07 学校法人早稲田大学 画像フィルタ演算装置及びガウシアン・カーネル演算装置並びにプログラム
JP2017079017A (ja) 2015-10-21 2017-04-27 キヤノン株式会社 畳み込み演算装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016122430A (ja) 2014-12-25 2016-07-07 学校法人早稲田大学 画像フィルタ演算装置及びガウシアン・カーネル演算装置並びにプログラム
JP2017079017A (ja) 2015-10-21 2017-04-27 キヤノン株式会社 畳み込み演算装置

Also Published As

Publication number Publication date
US20200293857A1 (en) 2020-09-17
JP2020149560A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
JP7271244B2 (ja) Cnn処理装置、cnn処理方法、およびプログラム
JP7346510B2 (ja) ニューラルネットワークプロセッサにおけるベクトル計算ユニット
CN109087273B (zh) 基于增强的神经网络的图像复原方法、存储介质及系统
CN108024762B (zh) 耳形状分析方法、耳形状分析装置以及耳形状模型生成方法
US9344690B2 (en) Image demosaicing
JP6801529B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN109670574B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
CN110809126A (zh) 一种基于自适应可变形卷积的视频帧插值方法及系统
CN108921801B (zh) 用于生成图像的方法和装置
JP2021184594A (ja) ビデオフレームの補間装置及び方法
CN111814884B (zh) 一种基于可变形卷积的目标检测网络模型的升级方法
JP2021108120A (ja) 点データをラスターデータに組み合わせる機械学習のための方法、装置、及び、プログラム
US5491776A (en) Signal processing apparatus and learning method therefor
JP6567381B2 (ja) 演算装置、方法及びプログラム
CN101601070A (zh) 用于生成画面显著度图的设备和方法
US20180218477A1 (en) Data interpolation device, method therefor, and image processing apparatus
JP5198500B2 (ja) 信号処理装置及びプログラム
CN111510740B (zh) 转码方法、装置、电子设备和计算机可读存储介质
JP7379300B2 (ja) 推定装置、推定方法及びプログラム
KR102044626B1 (ko) 학습을 이용한 조인트 필터링 장치 및 방법
KR20230006070A (ko) 시계열 이미지를 이용한 식물 생장 예측 방법 및 장치
JP2020057373A5 (ja)
JP7204545B2 (ja) 音響信号処理装置、音響信号処理方法、およびプログラム
JP7512150B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR20200013174A (ko) 다중 합성곱 신경망을 이용한 영상 내 관절 좌표 예측 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230426

R150 Certificate of patent or registration of utility model

Ref document number: 7271244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150