JP7271244B2 - Cnn処理装置、cnn処理方法、およびプログラム - Google Patents
Cnn処理装置、cnn処理方法、およびプログラム Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims description 59
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 71
- 230000006870 function Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 27
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000000737 periodic effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 description 19
- 230000010365 information processing Effects 0.000 description 15
- 238000011176 pooling Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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/443—Local 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/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/478—Contour-based spectral representations or scale-space representations, e.g. by Fourier analysis, wavelet analysis or curvature scale-space [CSS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation 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
また、上述した(4)によれば、(M+K)(2N+1)が(M×K)未満のNを選択するため、CNNにおける畳み込み処理の演算量を従来より低減することができる。
図1は、CNNを用いた画像処理の概略を説明するための図である。図1において、符号g1は入力画像を示し、符号g2はカーネルを示している。
画像処理において畳み込み処理は、カーネル(フィルター)と呼ばれる格子状の数値データと、カーネルと同サイズの部分画像(ウィンドウ)の数値データについて、要素ごとの積の和を計算することで、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を備える。
テーブル記憶部103は、畳み込み演算部104が演算に必要な値(後述するフーリエ基底関数exp(inθk))をテーブル形式で記憶する。
図3は、CNNを用いた画像処理の手順例を示す図である。なお、図3では、添え字を一部省略している。
図3において、入力画像をX(i,j)とする。iは画像の水平方向の画素のインデックスを表す。また、jは画像の垂直方向の画素のインデックスを表す。また、Kはカーネルの数を表し、kはk番目のカーネルを表す。また、Uはカーネルの水平方向の大きさ(画素、ピクセル)であり、Vはカーネルの垂直方向の大きさ(画素、ピクセル)である。さらに、k番目のカーネルの係数をGk(n,m)とすると、畳み込み演算後の画像Yk(i,j)は、次式(1)のように表すことができる。なお、Gk(n,m)において、nは2次元フィルタのX座標インデックスであり、mは2次元フィルタのY座標インデックスである。
このため、式(3)を用いて計算するのに、乗算回数はMK回必要である。例えば、M=72、Kが32の場合の乗算回数は、2304(=72×32)回必要である。
次に、本実施形態による要素gk,mの算出方法を説明する。
本実施形態では、畳み込み演算部104が、要素gk,mを、次式(8)のようにN次の複素フーリエ係数でモデル化する。また、式(8)において、θk(kは1からKの整数)は、例えばk番目の離散時間におけるフィルタ係数のパターンの縞の角度を表す。このように、θkは、例えばCNNのフィルタ係数において周期性のある要素に対応するものである。
ここで、例として、kのみを変数とする1次元のgmに対し、式(8)で与えられる複素振幅モデルを導入した場合の係数(cn(ω))の決定方法について説明する。
θlk(l=1,2,3,…,K)とすると次式(9)の連立方程式が得られる。
フーリエモデルで計算する場合、要素ykは、yk=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の処理のフローチャートである。
(ステップS2)畳み込み演算部104は、取得された画像から部分画像(ウィンドウ)を抽出する。続けて、畳み込み演算部104は、抽出した部分画像と、カーネル記憶部102が記憶するカーネルと、テーブル記憶部が記憶するフーリエ基底関数を用いて畳み込み演算処理を行って、畳み込み演算処理後の画像を算出する。なお、畳み込み演算部104は、畳み込み演算処理を、上述したように、CNNにおけるカーネルの係数をN(Nは1以上の整数)次のフーリエ級数展開でモデル化して行う。
(ステップS4)推定部12は、プーリング演算部105が演算した特徴量に対して、例えばSoftmax関数を使って確率を出力することで、入力画像に含まれる対象物を予測する。
Claims (5)
- 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、
前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、
CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う畳み込み演算部と、
を備え、
exp(inθ k )はn次のフーリエ基底関数であり、θ k (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
前記畳み込み演算部は、
前記CNNにおける要素g k,m を次式で計算する、
- 前記畳み込み演算部は、
前記畳み込み演算後の画像Yを、K行(2N+1)列の前記フーリエ基底関数の行列に、(2N+1)行M列の前記フーリエ係数の行列を乗じることで算出する、請求項1に記載のCNN処理装置。 - 前記畳み込み演算部は、
(M+K)(2N+1)が(M×K)未満のNを選択する、請求項1または請求項2に記載のCNN処理装置。 - 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置におけるCNN処理方法であって、
畳み込み演算部が、CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行い、
exp(inθ k )はn次のフーリエ基底関数であり、θ k (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
前記畳み込み演算部が、
前記CNNにおける要素g k,m を次式で計算する、
を含むCNN処理方法。 - 畳み込み演算で用いられるカーネルを記憶するカーネル記憶部と、前記畳み込み演算で用いられるフーリエ基底関数を記憶するテーブル記憶部と、を有するCNN処理装置のコンピュータに、
CNN(Convolutional Neural Network;畳み込みニューラルネットワーク)における前記カーネルの係数Gにおける要素gをN(Nは1以上の整数)次のフーリエ級数展開でモデル化し、処理対象の情報である処理対象情報に対して、前記カーネルと前記フーリエ基底関数を用いてCNN手法によって畳み込み演算を行う処理手順、
を実行させ、
exp(inθ k )はn次のフーリエ基底関数であり、θ k (kは1からKの間の整数、Kは前記カーネルの数)はCNNのフィルタ係数において周期性のある要素に対応するものであり、c n,m はフーリエ係数であり、要素gはg k,m (mは1からMの間の整数、Mは前記カーネルのトータルの画素数)であり、
前記CNNにおける要素g k,m を次式で計算させる、
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016122430A (ja) | 2014-12-25 | 2016-07-07 | 学校法人早稲田大学 | 画像フィルタ演算装置及びガウシアン・カーネル演算装置並びにプログラム |
JP2017079017A (ja) | 2015-10-21 | 2017-04-27 | キヤノン株式会社 | 畳み込み演算装置 |
-
2019
- 2019-03-15 JP JP2019048407A patent/JP7271244B2/ja active Active
-
2020
- 2020-03-04 US US16/809,050 patent/US20200293857A1/en not_active Abandoned
Patent Citations (2)
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 |