JP6929734B2 - 判別演算装置、判別演算方法及びプログラム - Google Patents

判別演算装置、判別演算方法及びプログラム Download PDF

Info

Publication number
JP6929734B2
JP6929734B2 JP2017153187A JP2017153187A JP6929734B2 JP 6929734 B2 JP6929734 B2 JP 6929734B2 JP 2017153187 A JP2017153187 A JP 2017153187A JP 2017153187 A JP2017153187 A JP 2017153187A JP 6929734 B2 JP6929734 B2 JP 6929734B2
Authority
JP
Japan
Prior art keywords
discrimination
calculation
feature
result
layer
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
JP2017153187A
Other languages
English (en)
Other versions
JP2019032698A (ja
JP2019032698A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017153187A priority Critical patent/JP6929734B2/ja
Priority to CN201880051377.6A priority patent/CN110998656B/zh
Priority to PCT/JP2018/028366 priority patent/WO2019031282A1/ja
Priority to EP18844587.8A priority patent/EP3667613A4/en
Publication of JP2019032698A publication Critical patent/JP2019032698A/ja
Priority to US16/784,946 priority patent/US11755893B2/en
Publication of JP2019032698A5 publication Critical patent/JP2019032698A5/ja
Application granted granted Critical
Publication of JP6929734B2 publication Critical patent/JP6929734B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2132Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on discrimination criteria, e.g. discriminant analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/045Combinations of networks
    • 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
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • 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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Medical Informatics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Neurology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Description

本発明は、判別演算装置、判別演算方法及びプログラムに関する。
特許文献1は、顔を含む画像から、顔を個人認識する処理を行う画像処理装置を開示している。検出手段は、画像に含まれている顔領域を検出するために、顔領域における各特徴として、顔の局所特徴のエッジと、エッジを統合した顔の局所特徴の端部と、端部を統合した顔の局所特徴と、局所特徴を統合した顔領域とを検出する。設定手段は、検出手段が検出したそれぞれの特徴のうち、顔を構成する部分の形状に関わる特徴である局所特徴のエッジを含む第1の局所領域を顔領域に対して設定する。また、設定手段は、顔を構成する部分間の位置関係に関わる特徴である局所特徴の端部を含む第2の局所領域を顔領域に対して設定する。特定手段は、顔領域について設定手段が設定した第1及び第2の局所領域内の特徴群に基づいて、顔領域の顔が、それぞれ異なる個人の何れの顔であるかの特定を行う。
特許第4217664号公報
特許文献1では、検出手段は、画像に含まれている顔の特徴を検出する為の階層型ニューラルネットワークを用いて、画像に含まれている顔領域における各特徴を検出する。特許文献1は、検出手段により検出された特徴を格納するために大容量のメモリを必要とする。特に、近年の大規模な階層型ニューラルネットワークに対応した画像処理装置を実現する場合、メモリのコストの増加が課題となる。
本発明の目的は、小容量の記憶部を用いて判別演算を行うことができる判別演算装置、判別演算方法及びプログラムを提供することである。
本発明の判別演算装置は、階層型ニューラルネットワークを用いた判別のための判別演算を行う判別演算装置であって、判別対象データに対して、前記階層型ニューラルネットワークの階層毎に特徴を演算する特徴演算手段と、前記特徴演算手段により演算される特徴を用いて、前記判別対象データの判別演算を前記階層毎に順次行う判別演算手段とを有し、前記判別演算手段は、前記階層型ニューラルネットワークの所定の階層の判別演算結果と、前記特徴演算手段により演算された前記所定の階層の次の階層の特徴とを用いて、前記所定の階層の次の階層の前記判別対象データの判別演算を行う
本発明によれば、小容量の記憶部を用いて判別演算を行うことができる。
第1の実施形態による画像処理システムの構成例を示す図である。 判別処理の例を示す図である。 第1の実施形態による判別演算装置の構成例を示す図である。 パターン認識処理のアルゴリズムの例を示す図である。 CNN演算処理部の構成例を示す図である。 第1の実施形態による判別演算方法を示すフローチャートである。 判別演算部分処理部の構成例を示す図である。 他の判別演算方法を示すフローチャートである。 基本技術による判別演算装置の構成例を示す図である。 基本技術による判別演算方法を示すフローチャートである。 第2の実施形態による判別演算装置の構成例を示す図である。 第2の実施形態による判別演算方法を示すフローチャートである。 桁数の削減例を示す図である。 第3の実施形態による判別演算装置の構成例を示す図である。 第3の実施形態による判別演算方法を示すフローチャートである。
(第1の実施形態)
図1は、本発明の第1の実施形態による画像処理システム220の構成例を示す図である。画像処理システム220は、画像入力部200、判別演算装置211、画像バス203、ブリッジ204、前処理部205、DMAC206、CPU207、ROM208、RAM209及びCPUバス210を有する。判別演算装置211は、RAM201及びパターン認識処理部202を有する。画像処理システム220は、画像データから特定の物体の領域を検出する機能を有する。
画像入力部200は、光学系と、光電変換デバイスと、光電変換デバイスを制御するドライバ回路と、アナログデジタルコンバータと、画像補正を行う信号処理回路と、フレームバッファ等を有する。光電変換デバイスは、光電変換により画像信号を生成するCCD(Charge−Coupled Devices)又はCMOS(Complimentary Metal Oxide Semiconductor)センサ等である。画像入力部200は、デジタルの画像データを画像バス203に出力する。RAM(Random Access Memory)201は、パターン認識処理部202の演算作業バッファである。パターン認識処理部202は、RAM201を使用し、画像から特定のパターンを認識する。
DMAC(Direct Memory Access Controller)206は、画像バス203上の各処理部とCPUバス210間のデータ転送を行う。ブリッジ204は、画像バス203とCPUバス210のブリッジ機能を有する。前処理部205は、パターン認識処理部202がパターン認識処理を効果的に行うための各種前処理を行う。具体的には、前処理部205は、色変換処理及びコントラスト補正処理等の画像データ変換処理をハードウェアで処理する。ROM(Read Only Memory)208は、CPU207の動作を規定するプログラムやパラメータデータを格納する。CPU207は、ROM208に格納されているプログラムを実行することにより、画像処理システム220の動作を制御する。RAM209は、CPU207の動作に必要なメモリである。CPU207は、ブリッジ204を介して、画像バス203上のRAM201にアクセスすることも可能である。
画像入力部200は、画像データを前処理部205に出力する。前処理部205は、画像データに対して前処理を行い、前処理後の画像データをパターン認識処理部202に出力する。パターン認識処理部202は、入力された前処理後の画像データに対して画素単位で所定の判別処理を行い、入力画像中の所定の物体の領域を判定し、判定結果を画像形式の判別マップとしてRAM201に格納する。
図2は、パターン認識処理部202の判別対象の画像に対する判定結果例を模式的に示す図である。画像31中の人物の領域32は、画素単位で判定(黒が人物領域)された結果を示している。パターン認識処理部202は、図2の判定結果をRAM201に格納する。DMAC206は、RAM201に格納された判定結果をRAM209に転送する。CPU207は、RAM209に格納された判定結果を利用して、各種応用処理を実行する。例えば、CPU207は、対象物の領域に応じた最適な画像処理を施す等の処理を実行する。
図3は、図1の判別演算装置211の構成例を示す図である。判別演算装置211は、CNN演算処理部11、階層データ保持部12、判別演算部分処理部13、判別結果保持部14、及び制御部15を有する。CNN(Convolutional Neural Networks)は、畳み込みニューラルネットワークである。
CNN演算処理部11は、階層データ保持部12に保持されている前階層のデータに対して複数種類の畳み込み演算を行い、その演算結果を階層データ保持部12に格納する。判別演算部分処理部13は、CNN演算処理部11の結果である中間階層の演算結果を利用して判別処理の演算を部分的に行い、判別処理の部分的な演算結果を判別結果保持部14に書き込む。ここでの判別処理は、サポートベクトルマシン、ロジスティック回帰等の学習手法により生成された線形判別処理である。階層データ保持部12及び判別結果保持部14は、図1のRAM201に対応する。制御部15は、CNN演算処理部11及び判別演算部分処理部13の処理シーケンスを制御する処理部であり、小規模なCPUやハードウェアシーケンサにより構成される。
図4は、図3のCNN演算処理部11及び判別演算部分処理部13の処理のアルゴリズムの例を示す図である。以下、CNNと特徴面データを用いた判別処理について説明する。ここでは、小型の3階層408〜410のCNNを利用した場合ついて説明する。実際には、更に多数の特徴面データ及び多段の階層により構成することが多い。
入力層401は、画像データに対してCNN演算処理を行う場合、ラスタスキャンされた所定サイズの画像データに相当する。入力層401の画像データは、判別対象データである。特徴面データ403a〜403cは、第1階層408の特徴面データを示す。特徴面データとは、所定の特徴抽出演算(畳み込み演算及び非線形処理)の処理結果に相当する。特徴面データは、ラスタスキャンされた画像データに対する処理結果であるため、処理結果も面で表現される。パターン認識処理部202は、この特徴面データ403a〜403cのデータを中間階層のデータとして判別に利用する。特徴面データ403a〜403cは、入力層401に対応する畳み込み演算と非線形処理により算出される。CNN演算処理部11の処理部4021aは、入力層401に対して、2次元の畳み込みカーネルを用いた畳み込み演算とその演算結果の非線形変換により、特徴面データ403aを演算する。CNN演算処理部11の処理部4021bは、入力層401に対して、2次元の畳み込みカーネルを用いた畳み込み演算とその演算結果の非線形変換により、特徴面データ403bを演算する。CNN演算処理部11の処理部4021cは、入力層401に対して、2次元の畳み込みカーネルを用いた畳み込み演算とその演算結果の非線形変換により、特徴面データ403cを演算する。処理部4021a〜4021cは、それぞれ、異なる特徴面データ403a〜403cを演算する。
例えば、処理部4021a〜4021cは、それぞれ、カーネル(係数マトリクス)サイズがcolumnSize×rowSizeの畳み込み演算を、式(1)に示すような積和演算により処理する。
Figure 0006929734
ここで、input(x,y)は、入力層401の2次元座標(x,y)での参照画素値である。output(x,y)は、2次元座標(x,y)での演算結果である。weight(column,row)は、座標(x+column,y+row)での重み係数である。columnSize及びrowSizeは、2次元畳み込みカーネルの水平及び垂直方向サイズである。
CNN演算処理部11は、入力層401に対して、複数の畳み込みカーネルを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換することで特徴面データ403a〜403cを算出する。なお、特徴面データ403aを算出する場合は、前階層との結合数が1であるため、畳み込みカーネルは1つである。
図5は、図3のCNN演算処理部11の主要な演算ユニットを示す図であり、図4の特徴面データ405aを演算する場合を例としてその基本動作を説明する。特徴面データ405aは、前階層408の3つの特徴面データ403a〜403cに対する畳み込み演算により算出される。CNN演算処理部11は、畳み込み演算処理部501、累積加算器502、及び非線形変換処理部503を有する。畳み込み演算処理部501は、特徴面データ403aに対して、カーネルを用いた畳み込み演算4041aを行い、その演算結果を累積加算器502に格納する。同様に、畳み込み演算処理部501は、特徴面データ403b及び403cに対して、それぞれ、カーネルを用いた畳み込み演算4041a及び4041cを行い、その演算結果を累積加算器502に格納する。なお、畳み込み演算処理部501は、3種類のカーネルを順番に処理しても良いし、並列に処理してもよい。累積加算器502は、演算結果を累積加算し、累積加算結果を非線形変換処理部503に出力する。非線形変換処理部503は、累積加算結果に対して、ReLU(Rectified Linear Unit)関数やロジスティック関数を利用した非線形変換処理を行い、特徴面データ405aを出力する。CNN演算処理部11は、以上の処理を特徴面データ403a〜403c全体に対して1画素ずつ走査しながら処理することで、特徴面データ405aを算出する。
同様に、CNN演算処理部11は、図4に示すように、前階層408内の複数の特徴面データ403a〜403cに対して、それぞれ3つの畳み込み演算4041b、4042b、4043bを行い、特徴面データ405bを算出する。更に、CNN演算処理部11は、第2階層409の特徴面データ405a及び405bに対して、2つの畳み込み演算4061及び4062を行い、第3階層410の特徴面データ407を算出する。以上のように、CNN演算処理部11は、特徴演算手段であり、階層毎に、特徴面データを順次演算する。なお、各畳み込み演算の係数は、バックプロパゲーション学習等の一般的な手法を用いて予め学習により決定されている。
判別演算部分処理部13は、各特徴面データ403a〜403c、405a〜405b、407のそれぞれの画素位置に対応するデータを連結したベクトルを特徴ベクトルとしてそれぞれ線形判別演算処理し、判別マップ411を出力する。特徴ベクトルは、画素位置に対応する特徴面データを連結したデータであるため、図4に示すネットワークの場合、6種類の特徴面データ403a〜403c、405a〜405b、407に対応して、6次元の特徴ベクトルとなる。判別演算部分処理部13は、式(2)に従って、画素位置毎に線形判別演算を行う。
Figure 0006929734
ここで、featuremap(n,f,x,y)は、第n階層のf番目の特徴面データの座標(x,y)の値である。result(x,y)は、座標(x,y)での判別結果である。weight(n,f)は、第n階層のf番目の特徴面データに対する係数である。LayerNumberは、階層数である。FeaturemapNumberは、第n階層に含まれる特徴面データの数である。
weight(n,f)は、ロジスティック回帰やサポートベクターマシン等により予め学習された係数である。判別演算部分処理部13は、式(2)の演算により特徴面データの画素位置毎に処理した結果を判別マップ411として出力する。判別演算部分処理部13は、画素位置毎に判別処理を行うため、判定結果も画像形式の判別マップ411として生成する。判別マップ411は、画素位置に対応する値が対象物体領域の確からしさを示す。
図6は、図3の判別演算装置211による判別演算方法を示すフローチャートである。ステップS601において、制御部15は、CNN演算処理部11及び判別演算部分処理部13の動作を指定するパラメータを設定する。次に、ステップS602において、CNN演算処理部11は、一つの階層のCNN演算を行い、一つの階層の特徴面データを算出する。例えば、CNN演算処理部11は、図4の階層408の特徴面データの演算を行い、特徴面データ405a及び405bを算出する。次に、ステップS603において、CNN演算処理部11は、ステップS602で算出した特徴面データを中間階層データとして、階層データ保持部12に格納する。CNN演算処理部11は、ステップS602でCNN演算を順次処理し、ステップS603で特徴面データを階層データ保持部12に格納する。
次に、ステップS604において、判別演算部分処理部13は、判別結果保持部14に格納されている、前階層の特徴抽出処理結果に基づく判別処理の部分的な演算結果を読み出す。次に、ステップS605において、判別演算部分処理部13は、ステップS604で読み出した演算結果と、CNN演算処理部11が出力する処理対象の階層で得られた特徴面データを参照して、式(3)により、判別処理を部分的に演算する。
Figure 0006929734
ここで、featuremap(n,f,x,y)は、第n階層のf番目の特徴面データの座標(x,y)の値である。weight(n,f)は、第n階層のf番目の特徴面データに対する係数である。featuremap_numberは、第n階層の特徴面データの数である。part_result(n−1,x,y)は、第n−1階層までの特徴面データに対する部分的な判別演算結果である。part_result(n,x,y)は、第n階層までの特徴面データに対する部分的な判別演算結果である。
判別演算部分処理部13は、式(3)の第n−1階層までの部分的な判別演算処理結果part_result(n−1,x,y)と、特徴面データfeaturemap(n,f,x,y)と重み係数weight(n,f)の内積演算結果の和を演算する。これにより、判別演算部分処理部13は、第n階層の部分的な判別演算処理結果part_result(n,x,y)を得る。
線形判別全体の演算処理結果result(x,y)は、式(2)で示すように、全ての特徴面データfeaturemap(n,f,x,y)と対応する重み係数weight(n,f)の内積和によって算出される。本実施形態では、ステップS604において、判別演算部分処理部13は、判別結果保持部14に格納されている、前階層までの部分的な判別演算処理結果part_result(n−1,x,y)を読み出す。次に、ステップS605において、判別演算部分処理部13は、式(3)の右辺第二項を演算し、ステップS604で読み出した演算結果part_result(n−1,x,y)と式(3)の右辺第二項を加算する。これにより、判別演算部分処理部13は、現在の階層までの部分的な判別演算処理結果part_result(n,x,y)を得る。すなわち、判別演算部分処理部13は、判別処理演算の一部の階層の演算を実行する。このため、ステップS603において、CNN演算処理部11は、次のCNN演算に必要な階層の特徴面データだけを、階層データ保持部12に格納すればよい。
図7は、図3の判別演算部分処理部13の構成例を示す図である。判別演算部分処理部13は、乗算器71、累積加算器72、及び加算器73を有する。乗算器71は、第n階層のf番目の特徴面データfeaturemap(n,f,x,y)と重み係数weight(n,f)の乗算を行う。累積加算器72は、各特徴面データに対して、乗算器71の乗算結果を累積加算し、式(3)の右辺第二項のデータを出力する。
乗算器71は、処理中の第n階層の特徴面データを、CNN演算処理部11のCNN演算の画素単位処理終了毎に取り出して参照してもよいし、階層データ保持部12にバッファリングした特徴面データを所定の単位でまとめて取り出して処理してもよい。例えば、図8は、図6に示すフローチャートの変形例であり、図6に対して、ステップS603の位置が異なる。図8では、ステップS603は、ステップS604〜S606に対して、並列に処理される。階層データ保持部12と判別結果保持部14が物理的に異なるメモリ等で構成されている場合、上記の並列処理による処理の高速化が期待できる。
図7の加算器73は、判別結果保持部14に記憶されている前階層までの部分的な判別演算処理結果part_result(n−1,x,y)と、累積加算器72が出力する式(3)の右辺第二項のデータを加算する。そして、加算器73は、式(3)の左辺の現階層までの部分的な判別演算処理結果part_result(n,x,y)を出力する。
以上のように、乗算器71及び累積加算器72は、現階層の特徴面データfeaturemap(n,f,x,y)と重み係数weight(n,f)の積和演算を行う。加算器73は、累積加算器72が出力する現階層の積和演算の結果と、判別結果保持部14に格納されている前階層までの積和演算の結果part_result(n−1,x,y)を加算して判別結果保持部14に格納する。
次に、図6のステップS606において、判別演算部分処理部13は、ステップS605で得られた現階層までの部分的な判別演算処理結果part_result(n,x,y)を判別結果保持部14に書き込む。この判別演算処理結果part_result(n,x,y)は、次の階層の処理において、前階層までの部分的な判別演算処理結果part_result(n−1,x,y)として使用される。次に、ステップS607において、制御部15は、全階層の処理が終了したか否かを判定する。制御部15は、全階層の処理が終了していないと判定した場合には、ステップS602に処理を戻し、次の階層についての処理を繰り返す。制御部15は、全階層の処理が終了したと判定した場合には、処理を終了する。上記の処理により、判別演算装置211は、全階層の判別演算処理結果を判別マップ411として得る。
以上のように、CNN演算処理部11は、特徴演算手段であり、入力層401の判別対象データに対して、階層毎に特徴面データを順次演算する。具体的には、CNN演算処理部11は、入力層401の判別対象データを基に第1階層408の特徴面データ403a〜403cを演算し、第1階層の特徴面データ403a〜403cを階層データ保持部(特徴記憶部)12に格納する。次に、CNN演算処理部11は、階層データ保持部12に格納されている第1階層408の特徴面データ403a〜403cを基に第2階層409の特徴面データ405a及び405bを演算して階層データ保持部12に格納する。次に、CNN演算処理部11は、階層データ保持部12に格納されている第2階層409の特徴面データ405a及び405bを基に第3階層410の特徴面データ407を演算して階層データ保持部12に格納する。
判別演算部分処理部13は、CNN演算処理部11により順次演算される特徴面データを用いて、入力層401の判別対象データの判別演算を部分的に順次行い、部分的な判別演算結果を判別結果保持部(判別結果記憶部)14に格納する。判別演算部分処理部13は、CNN演算処理部11により順次演算される特徴面データと判別結果保持部14に格納されている部分的な判別演算結果を用いて、次の部分的な判別演算を行い、次の部分的な判別演算結果を判別結果保持部14に格納する。
次に、図3及び図6の本実施形態による判別演算装置211の特徴を、図9及び図10の基本技術による判別演算装置80と比較して説明する。図9は、基本技術による判別演算装置80の構成例を示す図である。判別演算装置80は、CNN演算処理部81、特徴面データ保持部82、判別演算処理部83、判別結果保持部84、及び制御部85を有する。CNN演算処理部81は、特徴面データ保持部82に保持されている特徴面データに対して畳み込み演算を行い、その演算結果を特徴面データ保持部82に記録する。CNN演算処理部81は、特徴面データ保持部82に全ての階層の特徴面データを記録する。判別演算処理部83は、特徴面データ保持部82に記録された特徴面データを参照して判別演算処理を実行し、その結果を判別結果保持部84に記録する。制御部85は、CNN演算処理部81及び判別演算処理部83の処理シーケンスを制御する処理部であり、小規模なCPUやハードウェアシーケンサにより構成される。
図10は、図9の判別演算装置80の判別演算方法を示すフローチャートである。ステップS901において、制御部85は、CNN演算処理部81及び判別演算処理部83の動作を指定するパラメータを設定する。次に、ステップS902において、CNN演算処理部81は、一つの階層のCNN演算により、特徴面データを算出する。次に、ステップS903において、CNN演算処理部81は、ステップS902で算出された特徴面データを特徴面データ保持部82に格納する。次に、ステップS904において、制御部85は、全階層の処理が終了していないと判定した場合には、ステップS902に処理を戻し、次の階層についての処理を繰り返す。この場合、ステップS903では、CNN演算処理部81は、特徴面データ保持部82の異なる領域に、各階層の特徴面データを格納する。制御部85は、全階層の処理が終了したと判定した場合には、ステップS905に処理を進める。ステップS905において、判別演算処理部83は、特徴面データ保持部82に格納された各階層の特徴面データを参照して式(2)に従う判別演算を行い、判別結果を得る。次に、ステップS906において、判別演算処理部83は、判別結果を判別結果保持部84に書き込む。
基本技術による判別演算装置80では、CNN演算処理部81は、特徴面データ保持部82に全ての階層の特徴面データを格納する。例えば、図4に示すネットワークを処理する場合、特徴面データ保持部82には、5×特徴面データサイズ(各階層の特徴面データのサイズが同じとする)の特徴面データを保持する必要がある。
これに対し、本実施形態による判別演算装置211では、階層データ保持部12は、CNN演算処理部11の次のCNN演算を処理するために必要な2階層分の特徴面データを保持できればよい。図4のネットワークでは、階層データ保持部12は、階層409の特徴面データを演算する場合が最大の特徴面データを保持する場合である。その場合、階層データ保持部12は、4×特徴面データサイズの特徴面データを保持する。すなわち、本実施形態の場合、判別演算装置211は、特徴面データを保持する階層データ保持部12の容量を小さくすることができる。
図4は、説明の簡単のための小さなCNNの例であるが、実際には多数の階層からなるCNNで構成するため、階層データ保持部12の容量削減の効果は極めて大きい。例えば、1つの階層の特徴面が64個(全ての階層で同じ特徴面データの数とする)、階層数が10の場合を説明する。その場合、基本技術による判別演算装置80は、64×10個の特徴面データを格納する特徴面データ格納保持部82を必要とする。これに対し、本実施形態による判別演算装置211は、64×2個の特徴面データを格納する階層データ保持部12を必要とする。また、特許第5184824号公報に開示されているような少ない容量のメモリでCNNを演算する手法に適用した場合、更にその効果が高くなる。
以上、本実施形態によれば、判別演算装置211は、階層データ保持部12にCNNの中間階層データ(特徴面データ)を格納することにより、階層データ保持部12の容量を削減し、コストを低減することができる。
(第2の実施形態)
図11は、本発明の第2の実施形態による判別演算装置211の構成例を示す図である。図11の判別演算装置211は、図3の判別演算装置211に対して、データ削減処理部126を追加したものである。データ削減処理部126は、判別演算部分処理部13と判別結果保持部14との間に設けられる。なお、データ削減処理部126は、判別演算部分処理部13内に設けてもよい。以下、本実施形態が第1の実施形態と異なる点を説明する。
第1の実施形態では、判別演算部分処理部13は、各階層の部分演算結果の累積加算結果を判別結果保持部14に格納する。その場合、判別演算部分処理部13は、累積加算に伴い、必要な演算桁数が増加する。したがって、判別演算部分処理部13は、整数型の固定小数点演算で処理する場合、判別結果保持部14のメモリデータ幅を増加させる必要がある。メモリデータ幅の増加は、判別結果保持部14の容量の増加に直結し、判別演算装置211のコスト上昇を招くため、できるだけ狭いメモリデータ幅で処理することが望まれる。本実施形態では、データ削減処理部126及び判別演算部分処理部13は、判別演算部分処理部13の判別演算処理結果の桁数を削減し、桁数を削減した判別演算処理結果を判別結果保持部14に格納する。
図12は、図11の判別演算装置211の判別演算方法を示すフローチャートである。図12のフローチャートは、図6のフローチャートに対して、ステップS606及びS607の代わりに、ステップS1106〜S1108を設けたものである。
まず、判別演算装置211は、図6と同様に、ステップS601〜S605の処理を行う。次に、ステップS1106において、データ削減処理部126及び判別演算部分処理部13は、ステップS605で演算された式(3)の判別処理の部分演算結果の桁数を削減する。具体的には、データ削減処理部126及び判別演算部分処理部13は、式(3)の右辺第二項の積和演算結果から所定の桁位置及び所定の桁数のデータを取り出し、取り出したデータに対して、式(3)の右辺第一項の値を加算し、加算結果を得る。すなわち、データ削減処理部126及び判別演算部分処理部13は、現階層の特徴面データと重み係数の積和演算の結果の桁数を削減し、桁数を削減した積和演算の結果と前階層までの積和演算の結果を加算し、加算の結果を判別結果保持部14に格納する。
図13は、データ削減処理部126の桁数削減処理の具体例を示す図である。バイナリデータビット列1301は、判別演算部分処理部13が出力する部分演算結果のデータビット列であり、32ビットデータDn(n:0〜31)を有する。ビットデータDnは、バイナリデータビット列1301の要素であり、32ビットのデータ列を示している。ステップS1106において、データ削減処理部126は、バイナリデータビット列1301において、予め定めるデータ取り出し桁位置1302から必要な有効桁数分のデータ1303を取り出す。例えば、データ1303は、10ビットのデータである。データ取り出し桁位置1302は、ステップS1106で事前に与えられるパラメータである。データ取り出し桁位置1302は、ステップS602の特徴面データが有する小数点位置と、判別処理に必要な重み係数の小数点位置及び判別結果保持部14の保持するデータの小数点位置に基づいて定まる値である。すなわち、データ取り出し桁位置1302は、式(3)の右辺第一項と式(3)の右辺第二項の桁位置を合わせるために必要なパラメータである。
データ取り出し桁位置1302は、階層毎又は判別対象データのカテゴリ毎に異なっていてもよい。ステップS602の結果や対応する判別処理の重み係数のデータ分布は、階層やカテゴリによって異なる場合がある。その場合、それぞれの小数点位置が異なる。ステップS1106では、データ削減処理部126は、それぞれの小数点位置を考慮して、判別結果保持部14に保持するデータと桁を合わせた上で必要な桁数分のデータ1303を取り出す。各小数点位置は、事前にテストデータを用いて決定し、それに対応してデータ取り出し桁位置1302も事前に決定される。また、データ1303の桁数は、メモリコストと演算精度のトレードオフとなるが、これも、事前にテストデータを用いて決定する。
なお、本実施形態では、式(3)のように、階層内の全ての特徴面データと重み係数との内積演算結果と判別結果保持部14に保持される前階層の部分演算結果の和を算出した後に、桁数を削減する場合について説明したが、これに限定されない。実装上の制約等により、階層内の所定の特徴面データ数単位毎に桁数を削減して判別結果保持部14に累積保持する方法等でもよい。判別精度の観点からは、十分な桁数を有する累積加算器72(図7)でなるべく多くの特徴面データに対する内積演算を処理した後に桁数を削減することが望ましいが、そのような構成に限定するものではない。
次に、図12のステップS1107において、判別演算部分処理部13は、ステップS1106で桁数が削減された現階層までの部分的な判別演算処理結果を判別結果保持部14に書き込む。この判別演算処理結果は、次の階層の処理において、前階層までの部分的な判別演算処理結果として使用される。次に、ステップS1108において、制御部15は、全階層の処理が終了したか否かを判定する。制御部15は、全階層の処理が終了していないと判定した場合には、ステップS602に処理を戻し、次の階層についての処理を繰り返す。制御部15は、全階層の処理が終了したと判定した場合には、処理を終了する。上記の処理により、判別演算装置211は、全階層の判別演算処理結果を判別マップ411として得る。
以上、本実施形態によれば、少ない容量の階層データ保持部12を用いて、CNNの中間階層データを利用した判別処理を実現することができる。さらに、データ削減処理部126が部分的な判別演算処理結果の桁数を適切に削減することで、判別結果保持部14の容量を削減することができる。これにより、RAM201の一層の容量削減が期待される。
(第3の実施形態)
図14は、本発明の第3の実施形態による判別演算装置211の構成例を示す図である。図14の判別演算装置211は、図11の判別演算装置211に対して、第1のデータ削減処理部147を追加したものである。図14の第2のデータ削減処理部126は、図11のデータ削減処理部126に対応する。第1のデータ削減処理部147は、CNN演算処理部11と階層データ保持部12の間に設けられる。なお、第1のデータ削減処理部147は、CNN演算処理部11内に設けてもよい。以下、本実施形態が第2の実施形態と異なる点を説明する。判別演算装置211が組み込み機器の場合、一般的に全ての処理が固定小数点型の整数演算で処理される。CNN演算処理部11は、CNN演算処理を整数型で演算処理し、特徴面データを生成する。第1のデータ削減処理部147及びCNN演算処理部11は、その特徴面データの桁数を削減し、桁数が削減された特徴面データを階層データ保持部12に書き込む。
図15は、図14の判別演算装置211の判別演算方法を示すフローチャートである。図15のフローチャートは、図12のフローチャートに対して、ステップS1509を追加したものである。ステップS1509は、ステップS602及びS603の間に設けられる。ステップS1106では、第2のデータ削減処理部126が、図12と同様の処理を行う。
ステップS1509において、第1のデータ削減処理部147は、ステップS602で算出された特徴面データの桁数を削減する。次に、ステップS603において、CNN演算処理部11は、桁数が削減された特徴面データを階層データ保持部12に格納する。ステップS1106では、第2のデータ削減処理部126は、第2の実施形態で示したように、10ビットのデータに桁数を削減する。これに対し、ステップS1509では、第1のデータ削減処理部147は、8ビットのデータ幅のデータに桁数を削減する。第1のデータ削減処理部147が削減する桁数と第2のデータ削減処理部126が削減する桁数は、相互に異なる。一般的に、CNN演算処理部11の特徴抽出処理では、桁数を削減した場合の判別精度の低下は少ない。これに対し、判別演算部分処理部13の判別処理演算では、演算桁数が判別精度に影響することが多い。
本実施形態では、判別結果保持部14に格納するデータ量は、階層データ保持部12に保持が必要なデータ量より少ない(図4の例では特徴面データの一面分に相当)ことに着目し、判別結果保持部14に格納するデータの桁数を他の処理部に比べて多めに取る。これにより、判別精度の劣化を抑えて、少ない容量のRAM201で、CNNの中間階層データを利用した判別処理を実現することができる。
なお、第1〜第3の実施形態では、階層毎に判別処理の部分演算を実行する場合について説明したが、これに限定されない。階層ネットワーク内の特徴面データの数や大きさと階層データ保持部12のメモリサイズに応じて部分演算の実行単位を決定してもよい。例えば、複数層単位で判別処理の部分演算を実行する等の構成も可能である。第2の実施形態で説明したように、判別結果保持部14に格納するデータの桁数を削減する場合、できるだけ判別結果保持部14への部分演算結果の記録回数を少なくすることで、桁落ちに伴う性能への影響を軽減することができる。
また、第1〜第3の実施形態では、2次元の画像データに対するCNN演算処理の例を説明したが、音声データ等の1次元データや時間方向の変化も含めた3次元データに対するCNN演算処理に適用することも可能である。
また、第1〜第3の実施形態では、特徴抽出処理としてCNN演算処理の場合について説明したが、これに限定されない。Restricted Boltzmann MachinesやRecursive Neural Network等の他の様々な階層的な処理に適用可能である。
また、第1〜第3の実施形態では、制御部15をCPUで構成した場合の処理を説明したが、制御部15は、全てハードウェアでシーケンスを制御する場合にも同様に適用可能である。
また、第1〜第3の実施形態では、畳み込み演算や内積演算をハードウェアで構成する場合について説明したが、これに限定されない。パターン認識処理部202は、汎用のCPUでプログラムを実行することにより、全ての処理を行う場合にも適用可能である。その場合も、CPUが必要な作業メモリの容量を大幅に削減することが可能になる。また、汎用のコンピュータシステムやクラウドシステムで処理する場合にも有効である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
11 CNN演算処理部、12 階層データ保持部、13 判別演算部分処理部、14 判別結果保持部、15 制御部

Claims (14)

  1. 階層型ニューラルネットワークを用いた判別のための判別演算を行う判別演算装置であって、
    判別対象データに対して、前記階層型ニューラルネットワークの階層毎に特徴を演算する特徴演算手段と、
    前記特徴演算手段により演算される特徴を用いて、前記判別対象データの判別演算を前記階層毎に順次行う判別演算手段とを有し、
    前記判別演算手段は、前記階層型ニューラルネットワークの所定の階層の判別演算結果と、前記特徴演算手段により演算された前記所定の階層の次の階層の特徴とを用いて、前記所定の階層の次の階層の前記判別対象データの判別演算を行うことを特徴とする判別演算装置。
  2. 前記判別演算手段は、前記判別演算手段の判別演算結果を記憶する判別結果記憶部に格納される前記所定の階層の判別演算結果を用いて、前記所定の階層の次の階層の判別演算を行い、前記所定の階層の次の階層の判別演算結果を前記判別結果記憶部に格納することを特徴とする請求項1に記載の判別演算装置。
  3. 前記特徴演算手段は、前記判別対象データを基に前記所定の階層の特徴を演算し、前記所定の階層の特徴を特徴記憶部に格納し、前記特徴記憶部に格納されている前記所定の階層の特徴を基に前記所定の階層の次の階層の特徴を演算することを特徴とする請求項1又は2に記載の判別演算装置。
  4. 前記特徴演算手段は、畳み込みニューラルネットワークによる畳み込み演算を行うことを特徴とする請求項1〜3のいずれか1項に記載の判別演算装置。
  5. 前記判別演算手段は、前記所定の階層の次の階層の特徴と重み係数の積和演算の結果と前記所定の階層の判別演算結果とを加算することで、前記所定の階層の次の階層の判別演算を行うことを特徴とする請求項1〜のいずれか1項に記載の判別演算装置。
  6. 前記判別演算手段は、桁数を削減した前記所定の階層の次の階層の判別演算結果を前記判別結果記憶部に格納することを特徴とする請求項に記載の判別演算装置。
  7. 前記判別演算手段は、前記所定の階層の次の階層の特徴と重み係数の積和演算の結果であって、桁数を削減した積和演算の結果と前記所定の階層の判別演算結果との加算結果を前記判別結果記憶部に格納することを特徴とする請求項に記載の判別演算装置。
  8. 前記判別演算手段は、前記所定の階層の次の階層の特徴と重み係数の積和演算の結果を示すデータ値であって、所定の桁位置及び所定の桁数を取り出したデータ前記所定の階層の判別演算結果を加算し結果を前記判別結果記憶部に格納することを特徴とする請求項に記載の判別演算装置。
  9. 前記所定の桁位置は、前記階層毎又は前記判別対象データのカテゴリ毎に異なることを特徴とする請求項に記載の判別演算装置。
  10. 前記特徴演算手段は、前記特徴の桁数を削減し、前記桁数を削減した特徴を前記特徴記憶部に格納することを特徴とする請求項に記載の判別演算装置。
  11. 前記特徴演算手段は、前記特徴の桁数を削減し、前記桁数を削減した特徴を特徴記憶部に格納し、
    前記特徴演算手段が削減する桁数と前記判別演算手段が削減する桁数は、相互に異なることを特徴とする請求項又はに記載の判別演算装置。
  12. 前記判別演算手段は、前記特徴演算手段による前記階層型ニューラルネットワークの全ての階層の特徴の演算が終了する前に前記所定の階層の次の階層の判別演算を行うことを特徴とする請求項1〜11のいずれか1項に記載の判別演算装置。
  13. 階層型ニューラルネットワークを用いた判別のための判別演算を行う判別演算方法であって、
    判別対象データに対して、前記階層型ニューラルネットワークの階層毎に演算された特徴を用いて、前記判別対象データの判別演算を前記階層毎に順次行う判別演算工程を有し、
    前記判別演算工程において、前記階層型ニューラルネットワークの所定の階層の判別演算結果と、前記所定の階層の次の階層の特徴とを用いて、前記所定の階層の次の階層の前記判別対象データの判別演算を行うことを特徴とする判別演算方法。
  14. コンピュータを、請求項1〜1のいずれか1項に記載された判別演算装置の各手段として機能させるためのプログラム。
JP2017153187A 2017-08-08 2017-08-08 判別演算装置、判別演算方法及びプログラム Active JP6929734B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017153187A JP6929734B2 (ja) 2017-08-08 2017-08-08 判別演算装置、判別演算方法及びプログラム
CN201880051377.6A CN110998656B (zh) 2017-08-08 2018-07-30 鉴别计算装置、鉴别计算方法及存储介质
PCT/JP2018/028366 WO2019031282A1 (ja) 2017-08-08 2018-07-30 判別演算装置、判別演算方法及びプログラム
EP18844587.8A EP3667613A4 (en) 2017-08-08 2018-07-30 EVALUATION CALCULATION DEVICE, EVALUATION CALCULATION PROCESS AND PROGRAM
US16/784,946 US11755893B2 (en) 2017-08-08 2020-02-07 Discrimination calculation apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017153187A JP6929734B2 (ja) 2017-08-08 2017-08-08 判別演算装置、判別演算方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2019032698A JP2019032698A (ja) 2019-02-28
JP2019032698A5 JP2019032698A5 (ja) 2020-09-10
JP6929734B2 true JP6929734B2 (ja) 2021-09-01

Family

ID=65271445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017153187A Active JP6929734B2 (ja) 2017-08-08 2017-08-08 判別演算装置、判別演算方法及びプログラム

Country Status (5)

Country Link
US (1) US11755893B2 (ja)
EP (1) EP3667613A4 (ja)
JP (1) JP6929734B2 (ja)
CN (1) CN110998656B (ja)
WO (1) WO2019031282A1 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4217664B2 (ja) 2004-06-28 2009-02-04 キヤノン株式会社 画像処理方法、画像処理装置
JP5171118B2 (ja) * 2007-06-13 2013-03-27 キヤノン株式会社 演算処理装置及びその制御方法
JP5184824B2 (ja) 2007-06-15 2013-04-17 キヤノン株式会社 演算処理装置及び方法
JP5376920B2 (ja) * 2008-12-04 2013-12-25 キヤノン株式会社 コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置
US20170124409A1 (en) * 2015-11-04 2017-05-04 Nec Laboratories America, Inc. Cascaded neural network with scale dependent pooling for object detection
GB2545661A (en) * 2015-12-21 2017-06-28 Nokia Technologies Oy A method for analysing media content
JP6144374B1 (ja) 2016-02-22 2017-06-07 加賀電子株式会社 電力変換装置
US10621486B2 (en) * 2016-08-12 2020-04-14 Beijing Deephi Intelligent Technology Co., Ltd. Method for optimizing an artificial neural network (ANN)

Also Published As

Publication number Publication date
JP2019032698A (ja) 2019-02-28
US20200175327A1 (en) 2020-06-04
EP3667613A4 (en) 2021-05-05
US11755893B2 (en) 2023-09-12
EP3667613A1 (en) 2020-06-17
WO2019031282A1 (ja) 2019-02-14
CN110998656B (zh) 2024-02-20
CN110998656A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
EP2858030B1 (en) Performing a histogram using an array of addressable registers
JP7200247B2 (ja) 物体検出器及び物体検出方法
US9135553B2 (en) Convolution operation circuit and object recognition apparatus
JP6393058B2 (ja) 情報処理装置、情報処理方法
JP6493163B2 (ja) 粗密探索方法および画像処理装置
CN109977912B (zh) 视频人体关键点检测方法、装置、计算机设备和存储介质
JP6800656B2 (ja) 演算回路、その制御方法及びプログラム
JP2020053062A (ja) ホモグラフィの修正
JP7165018B2 (ja) 情報処理装置、情報処理方法
JP6567381B2 (ja) 演算装置、方法及びプログラム
JP7402623B2 (ja) フィルタ処理装置及びその制御方法
JP6532334B2 (ja) 並列演算装置、画像処理装置及び並列演算方法
JP7391553B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN103841340A (zh) 图像传感器及其运作方法
JP6929734B2 (ja) 判別演算装置、判別演算方法及びプログラム
JP2021009566A (ja) 演算処理装置及び演算処理方法
JP2021012596A (ja) 演算処理装置及び演算処理方法
WO2023003646A1 (en) Focused computer detection of objects in images
JP7321213B2 (ja) 情報処理装置、情報処理方法
US20230334820A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP7114321B2 (ja) データ処理装置及びその方法
JP7444585B2 (ja) 認識装置、認識方法
US20240177475A1 (en) Data processing apparatus and data processing method
JP2018022315A (ja) 画像認識装置、画像認識システム、及び画像認識方法
JP2023062411A (ja) 道路情報計算装置、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200730

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210811

R151 Written notification of patent or utility model registration

Ref document number: 6929734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151