JP6771018B2 - 二次元配列プロセッサの性能向上 - Google Patents
二次元配列プロセッサの性能向上 Download PDFInfo
- Publication number
- JP6771018B2 JP6771018B2 JP2018503485A JP2018503485A JP6771018B2 JP 6771018 B2 JP6771018 B2 JP 6771018B2 JP 2018503485 A JP2018503485 A JP 2018503485A JP 2018503485 A JP2018503485 A JP 2018503485A JP 6771018 B2 JP6771018 B2 JP 6771018B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- adjacent
- pixels
- processing system
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 178
- 238000012545 processing Methods 0.000 claims description 126
- 238000000034 method Methods 0.000 claims description 52
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 42
- 239000011159 matrix material Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 4
- 238000012886 linear function Methods 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 description 36
- 239000013598 vector Substances 0.000 description 33
- 230000008521 reorganization Effects 0.000 description 25
- 238000001514 detection method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- BWSIKGOGLDNQBZ-LURJTMIESA-N (2s)-2-(methoxymethyl)pyrrolidin-1-amine Chemical compound COC[C@@H]1CCCN1N BWSIKGOGLDNQBZ-LURJTMIESA-N 0.000 description 1
- 101100400452 Caenorhabditis elegans map-2 gene Proteins 0.000 description 1
- 101150064138 MAP1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2111—Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- 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/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- 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/96—Management of image or video recognition tasks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Biodiversity & Conservation Biology (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Algebra (AREA)
- Physiology (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
本願は、2015年7月23日に出願された「Mireplica Visual Processing Architecture:Convolutional Neural Networks」と題する米国仮特許出願第62/195,921号の利益を主張するものであり、あたかも完全且つ十分に本明細書に記載されているかのように、参照によってその全体が全ての目的のために本明細書に組み込まれる。
二次元配列のデータに対する処理速度を向上させ、画像内の特徴を検出する方法及びシステムを開示する。二次元画像内の特徴を検出するプロセッサ実行方法の実施形態は、第1画像の画素を表す第1画像データを、並列処理システム内のデータメモリのセットに記憶することを含む。並列処理システムは、命令パイプラインによって接続された実質的に同一な複数のデータプロセッサの行を含み、命令パイプラインは、複数のデータプロセッサのうち第1プロセッサから隣接するデータプロセッサの各々へ命令を順次搬送するように構成されている。データプロセッサの各々は、第1画像データが記憶されているデータメモリのセットの各々のデータメモリを備えている。また、データメモリの各々は、実質的に同一の記憶容量の複数のメモリ領域を含むように分割されており、第1画像データを記憶することは、第1画像の連続する垂直スライスを表すデータを、並列処理システムのデータメモリの各隣接メモリ領域に記憶することを含む。
CNNは、計算量及び通信量が非常に多く、並列処理要素間で分割するのが非常に困難な状況下で動作する。図1は、Eindhoven University of Technologyの組み込みプロセッサアーキテクチャコース(https://sites.google.com/site/5kk73gpu2013/assignment/cnn)に提供された参照コードに基づくCNNの例の一般的なコンポーネントを示している(この特定の例では、交通標識を検出して分類している)。ニューラルネットワーク100は、レイヤ1〜レイヤ4と名付けられた4つのレイヤから構成されている。各レイヤは、いくつかの特徴マップを用いて、入力画像内の画素及び各特徴マップについて、画素によって定義される領域(この場合、左上隅の画素を有する領域)がどの程度特徴マップとマッチするかを決定する。これは、各位置でこの決定を行うニューロンとおおまかに似ており、したがって、「ニューラルネットワーク」という用語になっている。図1には、可能な特徴マップのセット示されている。レイヤ1では、24個の特徴マップのうち102個のセットを使用することができ、レイヤ2では、40個の特徴マップのうち104個のセットを使用することができ、レイヤ3では、24個の特徴マップのうちの106個のセットを使用することができる。図1の実施形態では、連続するレイヤで使用される特徴マップは、次第に複雑な特徴を表現している。これは、畳み込みニューラルネットワークの場合に多い。図1に示すように、特徴マップのセット102,104,106は、顔の認識のために使用される。他のオブジェクトの認識に適した他の例示的な特徴マップのセットが図1に示されている。図1には示されていないが、交通標識の認識に適した同様の特徴マップのセットは、交通標識である入力画像108の認識のために使用される。図1に示される特徴マップは、固定データであり、「特徴検出器」等の他の用語を用いて参照することもできる。「特徴マップ」という用語は、入力画像と特徴マップとの比較から生じる出力「画像」を記述するのに使用することができる。
・サブサンプリング(図では「SAMP」)。画像オブジェクトは、ビューポート(すなわち表示位置)から様々な距離にあり得るので、パターンマッチングのためには、マッチングする特徴における距離の範囲を考慮する必要がある。これは、画像情報を(許容可能な損失を伴って)より濃密な表現(より小さい幅及び高さ)に配置する様々なレイヤで画像をサブサンプリングすることによって、達成される。最後のレイヤであるレイヤ4は、オブジェクトが所定の位置で検出されたか否かを示すために、全てのレイヤの要約を比較し、必要に応じてオブジェクト(例えば、標識に示された速度)を分類することもできる。
・2D畳み込み(図では「CONV」)。これは、画像の領域を特徴マップに一致させるための基本的な動作である。これらの領域の寸法は、任意の所定のネットワークに対して固定されているが、1つのレイヤから次のレイヤへ、及び、1つのネットワークから次のネットワークへ変化する可能性がある。これはネットワーク設計の一部である。
・非線形活性化機能(図では「ACTV」)。この機能は、領域が特徴と一致する度合いを決定し、(領域を定義する単一の画素(この場合、左上の画素)の出力を破棄することによって)一定の閾値を上回る一致をしない領域を破棄する。必要に応じて、これらの位置を強調するために、閾値をさらに上回る出力に対して比較的大きな値を割り当てることができる。
・レイヤ1からの異なる特徴マップからの出力の部分的な相互接続(図では「PCNT」)。この動作では、前のレイヤの特徴マップ比較の様々な組み合わせが考慮され、前のレイヤで一致した特徴に関する豊富な情報セットが形成される。
・レイヤ2からの異なる特徴マップからの出力の完全な相互接続(図では「FCNT」)。これは、より豊富な情報セットを形成するが、より多くの組み合わせをもたらすので、ここではレイヤ3でのみ行われる。
・最終的な閾値計算(図では「THRESH」)。これは、ネットワークが所定の位置で行った「決定」をまとめたもので、特徴が当該所定の位置で検出されたか否かを示している。これは、最後の畳み込みの後に、ゼロよりも大きいある値で示される。これが真であれば、他の畳み込みを用いて、検出されたオブジェクトの特定のクラスに検出をソートすることができ、この畳み込みの大きさは、分類の信頼水準を示す。
タイル配列のデータフロー機能により、パフォーマンスの大幅な向上のためにある程度のデータフローオーバーヘッドが追加されるユニークな最適化が可能になる。これまで説明したベースラインの実装と、上述した図5に示すレイテンシの結果を有することは、上述した参照コードからタイルベースのプログラミングモデルへの例示的なアルゴリズムの直接マッピングに基づいている。これには、図7に示すように、レイヤ1とレイヤ2への入力を直接サブサンプリングすることが含まれる。サブサンプリングには様々な形式があるが、この形式は、他の全ての入力信号によって定義された領域と、他の全ての走査ラインとに畳み込みを単に実行して、畳み込みの入力を形成する。図7は、より一般的には、任意の二次元データ配列であり得るソース画像700を含む。畳み込みウィンドウ702は、畳み込みを実行するために選択された画素(又は配列要素)で畳み込みを実行するために使用される。ウィンドウ702では、選択された画素は、位置0,0の画素704である。図7の実施形態では、行インデックスy及び列インデックスxの両方が偶数である各画素が、畳み込みのために選択された画素である。ソース画像700に対するこれらの選択された画素のセットが、配列706に示されている。
これまでに提示されたタイル型CNN実装のバージョンは全て、サブサンプリング又はベクトルをより大きなものに連結するために、比較的大きなデータ移動範囲を必要とする。これは、図17に示すように、大きなベクトルを作成する別のスタイルでは避けることができる。ベクトルを連結する代わりに、異なるラインからのベクトルの要素がインターリーブされるので、異なるラインからの要素が、畳み込みへの入力の位置で交互になる。畳み込みの出力も交互の位置にある。図11に示すレイヤ1の再編成の場合と同様に、レイヤ1でのこのインターリーブは、タイルプロセッサが畳み込みのためのデータをフェッチする方法によって達成される。
Claims (22)
- 二次元画像の特徴を検出するプロセッサ実行方法であって、
第1画像の画素を表す第1画像データを、並列処理システム内のデータメモリのセットに記憶することであって、前記並列処理システムは、命令パイプラインによって接続された同一の複数のデータプロセッサの行を備え、前記命令パイプラインは、前記複数のデータプロセッサのうち第1プロセッサから隣接するデータプロセッサの各々へ命令を順次搬送するように構成されており、前記データプロセッサの各々は、前記データメモリのセットの各々のデータメモリを備え、前記データメモリの各々は、同一の記憶容量の複数のメモリ領域を含むように分割されており、前記第1画像の連続する垂直スライスを表すデータを、前記並列処理システムの前記データメモリの各隣接メモリ領域に記憶することを含む、ことと、
前記並列処理システムに接続されたホストプロセッサのメモリに、重み行列のセットを表す重みデータを含む特徴カーネルデータを記憶することと、
前記第1画像内の複数の選択された画素の各々について、前記選択された画素を含む二次元画素領域に亘って畳み込みのセットを実行することであって、前記畳み込みのセットの各畳み込みは、前記重み行列のセットの各行列を用いて実行される、ことと、前記重み行列の各々について、前記選択された画素に対応する特徴マップ画素を生成するために、各畳み込みの結果に非線形関数を適用することと、
前記重み行列の各々について、前記特徴マップ画素の全てを含む特徴マップを記憶することであって、前記特徴マップの個別の画素を表すデータを、前記並列処理システムの前記データメモリの各々のメモリ領域に記憶することを含み、特徴マップの各画素について、全ての前記重み行列を用いて生成された前記特徴マップの各々からの前記対応する画素を表すデータが同じメモリ領域に記憶され、前記特徴マップを処理して、特定の特徴又は特徴のクラスが前記第1画像内で検出されたか否かを決定する、ことと、を含む、
方法。 - 前記特徴カーネルデータは、前記重み行列セットの各重み行列に関連するバイアス値を表すバイアスデータをさらに含み、
前記畳み込みセットの各畳み込みは、前記重み行列セットの各重み行列に関連するバイアス値を用いて実行される、請求項1に記載の方法。 - 前記複数の選択された画素の各々について畳み込みのセットを実行することは、前記並列処理システムの隣接するデータプロセッサにおいて前記畳み込みのセットを実行するための命令を順次実行することを含み、
前記並列処理システムの隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復は、前記第1画像の1つの水平行内の全ての選択された画素に対して前記畳み込みのセットを実行することを含む、請求項1に記載の方法。 - 前記複数の選択された画素は、整数サブサンプリング係数nによって定義された画素数だけ、前記第1画像内の水平方向及び垂直方向に離間した画素から構成されている、請求項3に記載の方法。
- 前記並列処理システムの隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復は、前記第1画像のn個の水平行内の全ての選択された画素に対して前記畳み込みのセットを実行することを含み、
前記n個の水平行は、n画素離れた一連の水平行内で隣接する行である、請求項4に記載の方法。 - 前記特徴マップを記憶することは、隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復の間に、
前記第1画像の前記n個の水平行のうち最上位にある選択された画素に対応する特徴マップ画素を、前記並列処理システム内のデータプロセッサの隣接メモリ領域の第1グループに記憶することであって、前記隣接メモリ領域の第1グループは、前記並列処理システムの前記命令パイプラインの先頭に最も近い位置にあるデータプロセッサ内に存在する、ことと、
前記第1画像の前記n個の水平行の次の下位行で選択された画素に対応する特徴マップ画素を、前記隣接メモリ領域の第1グループに隣接する、隣接メモリ領域の次のグループに記憶することであって、前記隣接メモリ領域の次のグループは、前記並列処理システムの前記命令パイプラインに沿って配置されたデータプロセッサ内に存在する、ことと、
前記n個の水平行の追加の下位行で選択された画素に対応する特徴マップ画素を、前記並列処理システムの前記命令パイプラインに沿って配置されたデータプロセッサ内の隣接メモリ領域の連続グループに記憶することと、を含む、請求項5に記載の方法。 - 前記特徴マップを記憶することは、隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復の間に、
前記n個の水平行の各々における第1の選択された画素に対応する第1の一連のn個の特徴マップ画素の各々を、前記n個の水平行の最上位から最下位まで順に、前記並列処理システムの前記命令パイプラインの先頭に最も近い位置にある前記データプロセッサの第1メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、
前記n個の水平行の各々における第2の選択された画素に対応する第2の一連のn個の特徴マップ画素の各々を、前記n個の水平行の最上位から最下位まで順に、前記第1の一連の特徴マップ画素内の最後の特徴マップ画素を記憶するメモリ領域の直後の前記メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、
前記n個の水平行の各々における追加の選択された画素に対応する追加の一連のn個の特徴マップ画素の各々を、前記n個の水平行の最上位から最下位まで順に、直前の一連の特徴マップ画素内の最後の特徴マップ画素を記憶するメモリ領域の直後の前記メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、を含む、請求項5に記載の方法。 - 前記特徴マップを処理して、決定することは、
前記第1画像内の同じ水平位置を有する選択された画素に対応する特徴マップ画素を表すデータが、前記並列処理システム内の前記データプロセッサの同じメモリ領域内に全て記憶されるように、前記特徴マップ画素を表す前記記憶されたデータを再配置することと、
各特徴マップ内の複数の選択された特徴マップ画素の各々について、前記選択された特徴マップ画素を含む二次元特徴マップ画素領域に亘って追加の畳み込みのセットを続けて実行することと、を含み、
前記追加の畳み込みのセットの各畳み込みは、前記ホストプロセッサの前記メモリに記憶された追加の重み行列のセットの各重み行列を用いて実行される、請求項5に記載の方法。 - 前記第1画像は、より大きな画像の水平スライスを構成し、
前記方法は、前記第1画像の最上行を表す第1画像データに対する前記畳み込みのセットの完了に続いて、前記第1画像の前記最上行を表す前記第1画像データを、前に前記第1画像に含まれた前記より大きい画像の最下行の直下の前記より大きな画像の行を表すデータで上書きすることをさらに含む、請求項1に記載の方法。 - 二次元画像の特徴を検出するデータ処理システムであって、
同一のデータプロセッサの行であって、前記データプロセッサは、前記複数のデータプロセッサのうち第1プロセッサから隣接するデータプロセッサの各々に命令を順次搬送するように構成された命令パイプラインによって接続されており、前記データプロセッサの各々は、同一の記憶容量の複数のメモリ領域を含むように分割されたデータメモリを備える、データプロセッサの行と、
前記データプロセッサの行に接続されたホストプロセッサであって、重み行列のセットを表す重みデータと、前記重み行列のセットの各重み行列のバイアス値を表すバイアスデータとを含む特徴カーネルデータを記憶するように構成されたデータメモリを備え、前記複数のデータプロセッサによって実行される命令と、記憶されたプログラム命令と、をフェッチして前記命令パイプラインに提供するように構成された制御モジュールを含む、ホストプロセッサと、を備え、
前記プログラム命令は、前記データプロセッサの行によって実行される場合に、
第1画像を表す第1画像データを、前記複数のデータプロセッサの前記データメモリに記憶するステップであって、前記第1画像の連続する垂直スライスを表すデータを、前記データメモリの各隣接メモリ領域に記憶することを含む、ステップと、
前記第1画像内の複数の選択された画素の各々について、前記選択された画素を含む二次元画素領域に亘って畳み込みのセットを実行するステップであって、前記畳み込みのセットの各畳み込みは、前記重み行列のセットの各重み行列と、各重み行列に対応するバイアス値と、を用いて実行される、ステップと、
前記重み行列の各々について、各選択された画素に対応する特徴マップ画素を生成するために、各畳み込みの結果に非線形関数を適用するステップと、
前記重み行列の各々について、前記特徴マップ画素の全てを含む特徴マップを記憶するステップであって、前記特徴マップの個別の画素を表すデータを、前記データメモリの各々のメモリ領域に記憶することを含み、特徴マップの各画素について、全ての前記重み行列を用いて生成された前記特徴マップの各々からの前記対応する画素を表すデータが同じメモリ領域に記憶される、ステップと、
前記特徴マップを処理して、特定の特徴又は特徴のクラスが前記第1画像内で検出されたか否かを決定するステップと、を実行するように動作可能である、
データ処理システム。 - 前記制御モジュールは、前記ホストプロセッサ及び前記データプロセッサの行に接続された命令生成ユニットを備え、
前記命令生成ユニットは、
前記ホストプロセッサと前記データプロセッサの行との間のインタフェースを提供し、
前記ホストプロセッサから受け取ったカスタムコンパイラ命令を前記データプロセッサによって実行可能な命令に変換するように構成されている、請求項10に記載のシステム。 - 前記複数の選択された画素の各々について前記畳み込みのセットを実行するステップは、前記データプロセッサの行に沿っって隣接するデータプロセッサにおいて前記畳み込みのセットを実行するための命令を順次実行するステップを含み、
隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復は、前記第1画像の1つの水平行内の全ての選択された画素に対して前記畳み込みのセットを実行するステップを含む、請求項10に記載のシステム。 - 前記複数の選択された画素は、整数サブサンプリング係数nによって定義された画素数だけ、前記第1画像内の水平方向及び垂直方向に離間した画素から構成されている、請求項12に記載のシステム。
- 前記データプロセッサの行に沿って隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復は、前記第1画像のn個の水平行内の全ての選択された画素に対して前記畳み込みのセットを実行するステップを含み、
前記n個の水平行は、n画素離れた一連の水平行内で隣接する行である、請求項13に記載のシステム。 - 二次元配列のデータに対する処理動作の速度を向上させるプロセッサ実行方法であって、
第1配列の要素を表す第1配列データを、並列処理システム内のデータメモリのセットにすることであって、前記並列処理システムは、前記複数のデータプロセッサのうち第1プロセッサから隣接するデータプロセッサの各々に命令を順次搬送するように構成された命令パイプラインによって接続された、複数の同一のデータプロセッサの行を備え、前記データプロセッサの各々は、前記データメモリのセットの各々のメモリを備え、前記データメモリの各々は、同一の記憶容量の複数のメモリ領域を含むように分割されており、前記第1配列の連続する列を表すデータを、前記並列処理システムの前記データメモリの各々の隣接メモリ領域に記憶することを含む、ことと、
前記第1配列内の複数の選択された要素の各々について、前記選択された要素に対応する出力要素を生成するために、前記選択された要素に対して処理動作を実行することであって、前記複数の選択された要素は、整数サブサンプリング係数nによって定義された要素数だけ、前記第1配列内で水平方向及び垂直方向に離間した要素から構成されており、前記並列処理システムの隣接するデータプロセッサにおいて、前記処理動作を実行するための命令を順次実行することを含み、前記並列処理システムの隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復は、前記第1配列のn個の水平行内の全ての選択された要素に対して前記処理動作を実行することを含み、前記n個の水平行は、n個の要素を隔てた一連の水平行内の隣接する行である、ことと、
前記出力要素の全てを含む出力配列を記憶することであって、前記並列処理システムの前記データメモリの各々のメモリ領域に前記出力配列の個別の要素を表すデータを記憶することを含む、ことと、を含む、
方法。 - 前記処理動作を実行することは、前記選択された要素を含む二次元要素領域に亘って1回以上の畳み込みを実行することを含み、
前記1回以上の畳み込みの各々は、前記並列処理システムに接続されたホストプロセッサのデータメモリに記憶された係数行列を用いて実行される、請求項15に記載の方法。 - 前記出力配列を記憶することは、隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復の間に、
前記第1配列の前記n個の水平行のうち最上位にある選択された要素に対応する出力要素を、前記並列処理システム内のデータプロセッサの隣接メモリ領域の第1グループに記憶することであって、隣接メモリ領域の前記第1グループは、前記並列処理システムの前記命令パイプラインの先頭に最も近い位置に存在することと、
前記第1配列の前記n個の水平行の次の下位行で選択された要素に対応する出力要素を、隣接メモリ領域の前記第1グループに隣接する、隣接メモリ領域の次のグループに記憶することであって、隣接メモリ領域の前記次のグループは、前記並列処理システムの前記命令パイプラインに沿ってさらに配置されたデータプロセッサ内に存在することと、
前記n個の水平行の追加の下位行で選択された要素に対応する出力要素を、前記並列処理システムの前記命令パイプラインに沿ってさらに配置されたデータプロセッサ内の隣接メモリ領域の連続グループに記憶することと、をさらに含む、請求項15に記載の方法。 - 前記出力配列を記憶することは、隣接するデータプロセッサにおいて前記命令を順次実行する単一の反復の間に、
前記n個の水平行の各々における前記第1の選択された要素に対応する第1の一連のn個の出力要素の各々を、前記n個の水平行の最上位から最下位まで順に、前記並列処理システムの前記命令パイプラインの先頭に最も近い位置にある前記データプロセッサの前記第1メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、
前記n個の水平行の各々における前記第2の選択された要素に対応する第2の一連のn個の出力要素の各々を、前記n個の水平行の最上位から最下位まで順に、前記第1の一連の出力要素内の最後の出力要素を記憶する前記メモリ領域の直後の前記メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、
前記n個の水平行の各々における追加の選択された要素に対応する追加の一連のn個の出力要素の各々を、前記n個の水平行の最上位から最下位まで順に、直前の一連の出力要素内の最後の出力要素を記憶する前記メモリ領域の直後の前記メモリ領域から始まる、前記並列処理システム内の前記データプロセッサの各々の隣接メモリ領域に記憶することと、をさらに含む、請求項15に記載の方法。 - 前記出力配列を記憶した後に、
前記出力配列の同じ列からの出力要素を表すデータが、前記並列処理システム内の前記データプロセッサの同じメモリ領域内に全て記憶されるように、前記出力要素を表す前記記憶されたデータを再配置することと、
前記出力配列内の複数の選択された出力要素の各々について、前記選択された出力要素に対して追加の処理動作を続けて実行することと、をさらに含む、請求項15に記載の方法。 - 二次元配列のデータに対する処理動作の速度を向上させるデータ処理システムであって、
同一のデータプロセッサの行であって、前記データプロセッサは、前記複数のデータプロセッサのうち第1プロセッサから隣接するデータプロセッサの各々に命令を順次搬送するように構成された命令パイプラインによって接続されており、前記データプロセッサの各々は、同一の記憶容量の複数のメモリ領域を含むように分割されたデータメモリを備える、データプロセッサの行と、
前記データプロセッサの行に接続されたホストプロセッサであって、前記データプロセッサの行の前記データメモリに記憶された配列データに対する処理動作で使用するための固定データを記憶するように適合されたデータメモリを備え、前記複数のデータプロセッサによって実行される命令と、記憶されたプログラム命令と、をフェッチして前記命令パイプラインに提供するように構成された制御モジュールを含む、ホストプロセッサと、を備え、
前記プログラム命令は、前記複数のデータプロセッサによって実行される場合に、
第1配列の要素を表す第1配列データを、前記複数のデータプロセッサの前記データメモリに記憶するステップであって、前記第1配列の連続する列を表すデータを、前記データメモリの各々の隣接メモリ領域に記憶するステップを含む、ステップと、
前記第1配列内の複数の選択された要素の各々について、前記選択された要素に対応する出力要素を生成するために、前記選択された要素に対して処理動作を実行するステップであって、前記複数の選択された要素は、整数サブサンプリング係数nによって定義された要素数だけ、前記第1配列内の水平方向及び垂直方向に離間した要素から構成されており、前記データプロセッサの行に沿って隣接するデータプロセッサにおいて、前記処理動作を実行するための命令を順次実行するステップを含み、前記データプロセッサの行に沿って隣接するデータプロセッサ内の前記命令を順次実行する単一の反復は、前記第1配列のn個の水平行内の全ての選択された要素に対して前記処理動作を実行するステップを含み、前記n個の水平行は、n個の要素を隔てた一連の水平行内の隣接する行である、ステップと、
前記出力要素の全てを含む出力配列を記憶するステップであって、前記データプロセッサの行の前記データメモリの各々のメモリ領域に前記出力配列の個別の要素を表すデータを記憶するステップと、を実行するように動作可能である、
システム。 - 前記制御モジュールは、前記ホストプロセッサ及び前記データプロセッサの行に接続された命令生成ユニットを備え、
前記命令生成ユニットは、
前記ホストプロセッサと前記データプロセッサの行との間のインタフェースを提供し、
前記ホストプロセッサから受け取ったカスタムコンパイラ命令を前記データプロセッサによって実行可能な命令に変換するように構成されている、請求項20に記載のシステム。 - 前記処理動作を実行するステップは、前記選択された要素を含む二次元要素領域に亘って1回以上の畳み込みを実行するステップを含み、
前記1回以上の畳み込みの各々は、前記ホストプロセッサの前記データメモリに記憶された係数行列を用いて実行される、請求項20に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562195921P | 2015-07-23 | 2015-07-23 | |
US62/195,921 | 2015-07-23 | ||
PCT/US2016/043781 WO2017015649A1 (en) | 2015-07-23 | 2016-07-23 | Performance enhancement for two-dimensional array processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018523870A JP2018523870A (ja) | 2018-08-23 |
JP6771018B2 true JP6771018B2 (ja) | 2020-10-21 |
Family
ID=56738200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018503485A Expired - Fee Related JP6771018B2 (ja) | 2015-07-23 | 2016-07-23 | 二次元配列プロセッサの性能向上 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10303976B2 (ja) |
EP (1) | EP3326115A1 (ja) |
JP (1) | JP6771018B2 (ja) |
KR (1) | KR20180034557A (ja) |
CN (1) | CN107851214A (ja) |
WO (1) | WO2017015649A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017214970A1 (en) * | 2016-06-17 | 2017-12-21 | Nokia Technologies Oy | Building convolutional neural network |
US20180005059A1 (en) * | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
US10296338B2 (en) * | 2016-12-09 | 2019-05-21 | Intel Corporation | System, apparatus and method for low overhead control transfer to alternate address space in a processor |
EP3526765B1 (en) | 2017-02-24 | 2024-04-17 | DeepMind Technologies Limited | Iterative multiscale image generation using neural networks |
EP3388981B1 (en) * | 2017-04-13 | 2021-09-01 | Nxp B.V. | Convolutional processing system |
US10261903B2 (en) | 2017-04-17 | 2019-04-16 | Intel Corporation | Extend GPU/CPU coherency to multi-GPU cores |
US10331445B2 (en) * | 2017-05-24 | 2019-06-25 | Microsoft Technology Licensing, Llc | Multifunction vector processor circuits |
CN118194921A (zh) * | 2017-10-27 | 2024-06-14 | 谷歌有限责任公司 | 基于关注的图像生成神经网络 |
US11756083B2 (en) | 2018-02-01 | 2023-09-12 | Givewith LLC | Social platform promotion system and method |
CN110276836A (zh) * | 2018-03-13 | 2019-09-24 | 幻视互动(北京)科技有限公司 | 一种可加速特征点检测的方法及mr混合现实智能眼镜 |
CN108647773B (zh) * | 2018-04-20 | 2021-07-23 | 复旦大学 | 一种可重构卷积神经网络的硬件互连系统 |
EP3769266A4 (en) * | 2018-05-08 | 2021-12-15 | Tartan Ai Ltd. | PROCESSING ELEMENT FOR NEURAL NETWORK |
JP7240657B2 (ja) * | 2018-05-15 | 2023-03-16 | Tokyo Artisan Intelligence株式会社 | ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム |
US11443176B2 (en) * | 2018-05-17 | 2022-09-13 | International Business Machines Corporation | Acceleration of convolutional neural networks on analog arrays |
CN109117940B (zh) * | 2018-06-19 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 基于卷积神经网络的目标检测方法、装置、终端及存储介质 |
WO2020003345A1 (ja) * | 2018-06-25 | 2020-01-02 | オリンパス株式会社 | 演算処理装置 |
US10678548B2 (en) * | 2018-08-24 | 2020-06-09 | Apple Inc. | Pipelined allocation for operand cache |
US11868875B1 (en) * | 2018-09-10 | 2024-01-09 | Amazon Technologies, Inc. | Data selection circuit |
US11562229B2 (en) * | 2018-11-30 | 2023-01-24 | Macronix International Co., Ltd. | Convolution accelerator using in-memory computation |
US11551069B2 (en) * | 2018-12-31 | 2023-01-10 | SK Hynix Inc. | Processing system |
US10445611B1 (en) * | 2019-01-25 | 2019-10-15 | StradVision, Inc. | Method for detecting pseudo-3D bounding box to be used for military purpose, smart phone or virtual driving based-on CNN capable of converting modes according to conditions of objects and device using the same |
US12014505B2 (en) | 2019-01-31 | 2024-06-18 | Samsung Electronics Co., Ltd. | Method and apparatus with convolution neural network processing using shared operand |
TWI765336B (zh) * | 2019-10-08 | 2022-05-21 | 國立清華大學 | 適用於卷積神經網路之記憶體優化實現之區塊式推論方法及其系統 |
CN112684977B (zh) * | 2019-10-18 | 2024-05-28 | 旺宏电子股份有限公司 | 存储器装置及其存储器内计算方法 |
CN111680446B (zh) * | 2020-01-11 | 2022-11-15 | 哈尔滨理工大学 | 一种基于改进多粒度级联森林的滚动轴承剩余寿命预测方法 |
US20210232902A1 (en) * | 2020-01-23 | 2021-07-29 | Spero Devices, Inc. | Data Flow Architecture for Processing with Memory Computation Modules |
CN113313228B (zh) * | 2020-02-26 | 2022-10-14 | 杭州知存智能科技有限公司 | 数据缓存电路和方法 |
CN112001872B (zh) | 2020-08-26 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 信息显示方法、设备及存储介质 |
JP7451453B2 (ja) * | 2021-03-15 | 2024-03-18 | 株式会社東芝 | 畳み込み演算処理装置および畳み込み演算処理システム |
CN115601223B (zh) * | 2022-09-08 | 2023-08-04 | 重庆位图信息技术有限公司 | 一种图像预处理装置、方法和芯片 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5129092A (en) | 1987-06-01 | 1992-07-07 | Applied Intelligent Systems,Inc. | Linear chain of parallel processors and method of using same |
US6948050B1 (en) | 1989-11-17 | 2005-09-20 | Texas Instruments Incorporated | Single integrated circuit embodying a dual heterogenous processors with separate instruction handling hardware |
JPH0769955B2 (ja) * | 1993-03-26 | 1995-07-31 | 株式会社日立製作所 | 画像処理プロセッサ |
US6116768A (en) | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
US5682208A (en) * | 1994-10-31 | 1997-10-28 | Intel Corporation | Motion estimation with efficient block matching |
US7526630B2 (en) | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
US20050257026A1 (en) | 2004-05-03 | 2005-11-17 | Meeker Woodrow L | Bit serial processing element for a SIMD array processor |
US20080235490A1 (en) | 2004-06-18 | 2008-09-25 | Anthony Mark Jones | System for configuring a processor array |
US7471844B2 (en) * | 2004-12-27 | 2008-12-30 | Intel Corporation | Method, apparatus and system for multi-feature programmable tap filter image processing |
US8024549B2 (en) | 2005-03-04 | 2011-09-20 | Mtekvision Co., Ltd. | Two-dimensional processor array of processing elements |
US8878860B2 (en) | 2006-12-28 | 2014-11-04 | Intel Corporation | Accessing memory using multi-tiling |
JP5101128B2 (ja) | 2007-02-21 | 2012-12-19 | 株式会社東芝 | メモリ管理システム |
JP5522893B2 (ja) * | 2007-10-02 | 2014-06-18 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP5121506B2 (ja) * | 2008-02-29 | 2013-01-16 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム及び記憶媒体 |
CN102132554A (zh) * | 2008-06-20 | 2011-07-20 | 惠普开发有限公司 | 用于高效视频处理的方法和系统 |
JP5376920B2 (ja) * | 2008-12-04 | 2013-12-25 | キヤノン株式会社 | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
JP5358315B2 (ja) * | 2009-06-24 | 2013-12-04 | 本田技研工業株式会社 | 並列計算装置 |
US10078620B2 (en) * | 2011-05-27 | 2018-09-18 | New York University | Runtime reconfigurable dataflow processor with multi-port memory access module |
US9183614B2 (en) * | 2011-09-03 | 2015-11-10 | Mireplica Technology, Llc | Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets |
CN103019656B (zh) * | 2012-12-04 | 2016-04-27 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
WO2015078018A1 (en) * | 2013-11-30 | 2015-06-04 | Xiaoou Tang | Method and system for face image recognition |
CN104143102B (zh) * | 2014-08-05 | 2017-08-11 | 南京邮电大学 | 在线图像数据处理方法 |
-
2016
- 2016-07-23 CN CN201680042846.9A patent/CN107851214A/zh active Pending
- 2016-07-23 JP JP2018503485A patent/JP6771018B2/ja not_active Expired - Fee Related
- 2016-07-23 EP EP16753749.7A patent/EP3326115A1/en not_active Withdrawn
- 2016-07-23 WO PCT/US2016/043781 patent/WO2017015649A1/en unknown
- 2016-07-23 KR KR1020187005463A patent/KR20180034557A/ko unknown
- 2016-07-24 US US15/218,071 patent/US10303976B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20180034557A (ko) | 2018-04-04 |
WO2017015649A1 (en) | 2017-01-26 |
US20170024632A1 (en) | 2017-01-26 |
US10303976B2 (en) | 2019-05-28 |
CN107851214A (zh) | 2018-03-27 |
EP3326115A1 (en) | 2018-05-30 |
JP2018523870A (ja) | 2018-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6771018B2 (ja) | 二次元配列プロセッサの性能向上 | |
US11631239B2 (en) | Iterative spatio-temporal action detection in video | |
US11775836B2 (en) | Hand pose estimation | |
US11475542B2 (en) | Neural network system with temporal feedback for adaptive sampling and denoising of rendered sequences | |
US11557022B2 (en) | Neural network system with temporal feedback for denoising of rendered sequences | |
CN111897579B (zh) | 图像数据处理方法、装置、计算机设备和存储介质 | |
Mittal | A survey of accelerator architectures for 3D convolution neural networks | |
US11328173B2 (en) | Switchable propagation neural network | |
KR101298393B1 (ko) | 그래픽 처리 유닛 상에서 콘볼루션 신경망을 트레이닝하는방법 | |
US10762425B2 (en) | Learning affinity via a spatial propagation neural network | |
CN112102329A (zh) | 使用一个或更多个神经网络进行细胞图像合成 | |
Nasse et al. | Face detection using gpu-based convolutional neural networks | |
CN102509071B (zh) | 光流计算系统和方法 | |
Zhang et al. | Efficient scan-window based object detection using GPGPU | |
CN115803754A (zh) | 用于在神经网络中处理数据的硬件架构 | |
CN110766127B (zh) | 神经网络计算专用电路及其相关计算平台与实现方法 | |
US11568323B2 (en) | Electronic device and control method thereof | |
Cui et al. | Real-time stereo vision implementation on Nvidia Jetson TX2 | |
Gurcan et al. | Heterogeneous CPU–GPU tracking–learning–detection (H-TLD) for real-time object tracking | |
US20200409717A1 (en) | Neural network operation reordering for parallel execution | |
US11861811B2 (en) | Neural network system with temporal feedback for denoising of rendered sequences | |
CN105160349B (zh) | 一种基于GPU平台的Haar检测目标方法 | |
Vemulapati et al. | ORB-based SLAM accelerator on SoC FPGA | |
Jang et al. | Resource-efficient and high-throughput vlsi design of global optical flow method for mobile systems | |
CN114612513A (zh) | 一种基于fpga的图像金字塔光流值计算方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190328 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200519 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200817 |
|
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: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200928 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6771018 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |