JP2015197702A - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
JP2015197702A
JP2015197702A JP2014073728A JP2014073728A JP2015197702A JP 2015197702 A JP2015197702 A JP 2015197702A JP 2014073728 A JP2014073728 A JP 2014073728A JP 2014073728 A JP2014073728 A JP 2014073728A JP 2015197702 A JP2015197702 A JP 2015197702A
Authority
JP
Japan
Prior art keywords
random number
vector
information processing
basis
processing apparatus
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.)
Granted
Application number
JP2014073728A
Other languages
English (en)
Other versions
JP2015197702A5 (ja
JP6393058B2 (ja
Inventor
加藤 政美
Masami Kato
政美 加藤
大岳 八谷
Hirotaka Hachiya
大岳 八谷
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 JP2014073728A priority Critical patent/JP6393058B2/ja
Priority to US14/662,488 priority patent/US10013628B2/en
Publication of JP2015197702A publication Critical patent/JP2015197702A/ja
Publication of JP2015197702A5 publication Critical patent/JP2015197702A5/ja
Application granted granted Critical
Publication of JP6393058B2 publication Critical patent/JP6393058B2/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/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

【課題】 複数の乱数列から選択された乱数列を用いた射影処理をより廉価且つ高速に実現するための技術を提供すること。
【解決手段】 メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成し、該複数の乱数列から複数の基底ベクトルを生成する。そして、該生成した複数の基底ベクトルを用いて変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する。
【選択図】 図1

Description

本発明は、乱数を用いた射影演算を行うための技術に関する。
ランダムプロジェクション(乱数射影)に基づく次元削減・識別技術が注目されている。例えば、特許文献1では、乱数に基づく効率的なハッシュ関数の生成に関する技術が開示されている。また、非特許文献1では、ランダムプロジェクションを画像データやテキストデータの次元削減に適用した例が開示されている。また、非特許文献2では、乱数に基づくフィルタを利用した物体認識に関する技術が開示されている。
特開2013−68884号公報
"Random projection in dimensionality reduction: Applications to image and text data",Bingham, KDD2001 "Beyond simple features: A large−scale feature search approach to unconstrained face recognition",Nicolas Pinto,David Cox, Automatic Face & Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on
ランダムプロジェクションでは、乱数に基づいて生成した基底ベクトルを用いて特徴ベクトルをより低次元の空間に射影する。一般的に射影演算を実現する場合、特許文献2に開示されている様に、記憶装置に格納された基底ベクトル(別途予め算出された基底ベクトル)を参照しながら処理する。
ランダムプロジェクションを利用した従来の識別装置の構成例について、図2のブロック図を用いて説明する。201は識別処理をアクセラレートするハードウェアであり、特徴抽出処理部202、内積演算処理部203、識別処理部204からなる。内積演算処理部203は、特徴抽出処理部202で生成した特徴ベクトルをより低次元の射影ベクトルに変換する(ここでは乱数を用いたランダムプロジェクションにより処理する)。内積演算処理部203はシステムバス205を介して外部メモリ206に格納されている基底ベクトルを参照しながら射影演算を実行する。外部メモリ206はDRAM(Dynamic Random Access Memory)等の低速・大容量のメモリで構成される。廉価なシステムでは、システムバス205の帯域(単位時間当たりのデータ転送量)や外部メモリ206へのアクセス遅延の制約により、外部メモリ206に格納されている基底ベクトルの転送に要する時間が処理時間を超えてしまう場合がある。また、外部メモリ206は通常図示しない他の処理と共有されるため、システムバス205に必要な帯域は狭い事が望まれる。
基底ベクトルの転送コスト(必要帯域)を削減するために、図3に示す様に、乱数生成器302をアクセラレータハード301に内蔵する手法も考えられる。全ての基底ベクトルが一連の乱数系列からなる場合はこの様な実装手法でも良いが、特許文献1や非特許文献2に記載されている様に複数の乱数列の中から所望の条件で選択した乱数列を基底ベクトルとする場合、図3に示したような手法は適用できない。
本発明はこのような問題に鑑みてなされたものであり、複数の乱数列から選択された乱数列を用いた射影処理をより廉価且つ高速に実現するための技術を提供する。
本発明の一様態は、変換元ベクトルを取得する取得手段と、メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成する生成手段と、前記複数の乱数列から複数の基底ベクトルを生成し、該生成した複数の基底ベクトルを用いて前記変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する変換手段とを備えることを特徴とする。
本発明の構成によれば、複数の乱数列から選択された乱数列を用いた射影処理をより廉価且つ高速に実現することができる。
情報処理装置の機能構成例を示すブロック図。 ランダムプロジェクションを利用した従来の識別装置の構成例を示す図。 乱数生成器302をアクセラレータハード301に内蔵する手法を説明する図。 式(1)に従った演算の様子を模式的に示す図。 内積演算処理部103の構成例を示すブロック図。 乱数生成処理部106の構成例を示すブロック図。 CPU109が行う処理のフローチャート。 情報処理装置の動作のタイムチャート。 画素ブロックについて説明する図。 乱数シードを生成して外部メモリ111に登録する処理のフローチャート。 CNNの構成例を示す図。 CNNをハードウェアを用いて実現した場合の回路の構成例を示す図。 CNN回路の動作タイミングを模式的に説明する図。 外部メモリ111における乱数シードの管理形態を説明する図。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
[第1の実施形態]
先ず、本実施形態に係る情報処理装置の構成例について、図1のブロック図を用いて説明する。本実施形態では、画像から抽出したn次元の特徴ベクトル(変換元ベクトル)を乱数射影により、k(k<n)次元(より低次元)の特徴ベクトルに変換(次元削減)し、該変換したk次元の特徴ベクトルを用いて該画像に対する認識処理を行う。
画像データ入力処理部112、演算部101、DMAC(ダイレクトメモリアクセスコントローラ)108、CPU109、外部メモリ111は何れもシステムバス110に接続されており、システムバス110を介して互いにデータ通信を行うことができる。
外部メモリ111は、システムバス110に不図示のメモリコントローラを介して接続されるDRAMであり、この外部メモリ111には、乱数発生用のシード(乱数シード)がk個登録されている。
画像データ入力処理部112は、本装置外若しくは本装置内の不図示のメモリから画像のデータを取得する。そしてこの画像は、DMAC108によって、システムバス110を介して外部メモリ111に転送される。
その後、DMAC108は、外部メモリ111に転送した画像を画素ブロック単位で演算部101に転送するので、演算部101は、この転送された画素ブロックから特徴ベクトルを抽出し、該抽出した特徴ベクトルの次元を、乱数射影により削減する。そして演算部101は、該次元が削減された特徴ベクトルを用いて識別処理を行う。
DMAC(ダイレクトメモリアクセスコントローラ)108は、CPU109からの指示に応じて、外部メモリ111に対するデータの書き込みやデータの読み出しを行う。CPU109は、図1に示した各機能部の動作制御を行う。
次に、演算部101についてより詳細に説明する。
特徴抽出処理部102は、外部メモリ111から転送された画素ブロックごとに、該画素ブロックからn次元の特徴ベクトル(要素数がnのベクトル)を抽出する。この特徴ベクトルは、例えば、輝度勾配の方向をビンとしたヒストグラムや複数画像フレーム間の画素の動きベクトル(オプティカルフロー等)の方向をビンとしたヒストグラム等、識別目的に応じて定める様々な特等量に基づくデータ列である。
内積演算処理部103は、特徴抽出処理部102が求めたn次元の特徴ベクトルと基底ベクトル生成処理部105が生成したそれぞれの基底ベクトルとの内積演算を行うことで、該n次元の特徴ベクトルをk次元の特徴ベクトル(射影ベクトル)に変換する。このような変換処理を画素ブロックごとに行うことで、それぞれの画素ブロックのn次元の特徴ベクトルを、k次元の特徴ベクトルに変換することができる。
内積演算処理部103は、n次元の特徴ベクトルX(要素x1〜xnから成るベクトル)をk次元の射影ベクトルP(要素p1〜pkから成るベクトル)に変換する場合、以下の式(1)に従った演算を実行する。
Figure 2015197702
ここで、Xは上記のn次元の特徴ベクトル(n行1列のベクトル)、Bはk次元のバイアス項(要素b1〜bkから成るベクトルであり、k行1列のベクトル)、Pは上記のk次元の射影ベクトル(k行1列のベクトル)である。Wは(n×k)次元の射影行列(n行k列の行列)であり、k個のn次元基底ベクトル(E1〜Ek)により構成される。基底ベクトルE1〜Ekは乱数に基づいて決定したデータ列であり、多数の基底候補となる乱数列から所定の条件で選択されたk個のn次元ベクトルである。
図4では、上記式(1)に従った演算の様子を模式的に示している。例えば、射影ベクトルP(401)の要素p1は、式(2)に示す如く、射影行列W(402)における基底ベクトルE1と特徴ベクトルX(403)との内積値と、バイアス項B(404)における要素b1と、の和により算出することができる。
Figure 2015197702
ここで、内積演算処理部103の構成例について、図5のブロック図を用いて説明する。内積演算処理部103に入力された特徴ベクトルXは、シフトレジスタ501に格納され、m(m≦k)個の乗算器502a〜502cのそれぞれに供給される。
m個の乗算器502a〜502cは、射影演算を高速化するために並列で動作するものであり、基底ベクトル生成処理部105が生成した基底ベクトルと、シフトレジスタ501から供給された特徴ベクトルXと、で対応する要素毎に乗算する。例えば、図5において一番上に記されている乗算器から一番下に記されている乗算器までを順に乗算器1、乗算器2、…乗算器mとし、乗算器j(1≦j≦m)に入力される基底ベクトルをEj=(ej1,…,ejn)とする。このとき、乗算器jは、(ej1×x1、ej2×x2、…、ejn×xn)を求める。
m個の累積加算器503a〜503cは、乗算器と同様に並列で動作するものであり、それぞれ乗算器502a〜502cが求めた乗算結果を合計する。例えば、図5において一番上に記されている累積加算器から一番下に記されている累積加算器までを順に累積加算器1、累積加算器2、…累積加算器mとし、乗算器jに入力される基底ベクトルをEj=(ej1,…,ejn)とする。このとき、累積加算器jは、(ej1×x1+ej2×x2+…+ejn×xn)を求める。
すなわち、乗算器と累積加算器とにより、基底ベクトルと特徴ベクトルXとの内積結果を求める。図5の場合、乗算器と累積加算器とのセットはmセットあるので、m個の基底ベクトルと特徴ベクトルXとの内積結果を求めることができる。
内積演算処理部103では、シフトレジスタ501に格納する特徴ベクトルXの要素と基底ベクトルE1〜Emの要素の乗算とその結果の累積加算をクロック毎に順次演算する。即ち、nクロックサイクルでm個の基底ベクトルに対応する内積演算を完了する。
なお、バイアス項の加算については、上記の内積結果にバイアス項を加える(乗算器jに入力される基底ベクトルEjに対応するバイアス項Bの要素をbjとしたとき、累積加算器jがej1×x1+…+ejn×xn+bjを求める)ようにしても構わない。しかし、以下のようにして上記の内積演算及びバイアス項Bの加算を行うようにしても構わない。
即ち、特徴抽出処理部102は、特徴ベクトルXの要素に要素値1の要素を追加し、要素x1〜xn及び要素値1を有する要素から成る(n+1)次元の特徴ベクトルX’を生成する。また、基底ベクトル生成処理部105は、生成したそれぞれの基底ベクトルEについて、該基底ベクトルEのn個の要素に、バイアス項において該基底ベクトルに対応する要素を追加して(n+1)次元の基底ベクトルE’を生成する。そして、乗算器及び累積加算器によりこのような特徴ベクトルX’とそれぞれの基底ベクトルE’との内積演算を行う。
従って、バイアス項まで加味すると、(n+1)クロックで射影ベクトルの要素値p1〜pmが算出される。なお、*CLRは特徴ベクトルと基底ベクトルの内積演算及びバイアス項の加算を終了して射影ベクトル要素の出力後に累積加算器を初期化するための信号である。このようにして内積演算処理部103は、射影ベクトルPを構成するk個の要素のうちm個の要素を並列に算出して出力することができる。
次に、内積演算処理部103に供給される射影行列W、すなわち、k個のn次元の基底ベクトルの生成について説明する。このk個の基底ベクトルは、乱数生成処理部106及び基底ベクトル生成処理部105によって生成される。
本実施形態では、外部メモリ111には、基底ベクトルごとに乱数シード(固有の乱数列を生成するためのデータ)が格納されている。本実施形態では、基底ベクトルはk個生成するので、外部メモリ111には、k個の乱数シードが格納されていることになる。
より詳しくは図14に示す如く、外部メモリ111には、k個の乱数シード(Seed1〜Seedk)と、バイアス項の要素(b1〜bk)と、がセットになって登録されている。Seed1〜Seedkはそれぞれ、基底ベクトルE1〜Ekを生成するための乱数シードであり、b1〜bkはそれぞれ、基底ベクトルE1〜Ekに対応するバイアス項である。これらのセットは、DMAC108によってシードバッファ107に転送される。なお、以下の説明では、バイアス項は乱数シードの一部であるものとして説明する。例えば、バイアス項b1は、Seed1の一部であるものとして説明する。
CPU109は、適当なタイミングでDMAC108を起動し、外部メモリ111に格納されているk個の乱数シードを、システムバス110を介してシードバッファ107に転送させる。シードバッファ107は高速なSRAM(スタティックランダムアクセスメモリ)により構成する。シードバッファ107は、乱数生成処理部106による読み出しとDMAC108による書き込みとが同時に実行可能な少容量のダブルバッファメモリ等により構成する。
乱数生成処理部106は、シードバッファ107に転送されたk個の乱数シードを用いて、k個の乱数列を生成する。乱数生成処理部106の構成例について、図6のブロック図を用いて説明する。
乱数生成はM系列による乱数生成手法等、従来知られている手法で良い。M系列の乱数系列長は基底ベクトルの次元数と基底ベクトル選択の候補となる乱数ベクトルの数に基づいて決定する。例えば、”特徴ベクトル次元数×射影ベクトル次元数×基底ベクトル候補数”の周期を超える乱数が生成できる乱数系列長を決定する。ここで基底ベクトル候補とは、基底ベクトルを選択するための候補となるベクトルである。
図6に示す如く、乱数生成処理部106には、図5の内積演算器の並列処理数mに対応してm個の線形帰還シフトレジスタ(線形帰還シフトレジスタ1〜m)が備わっており、所定のレジスタ長を有する。線形帰還シフトレジスタ1〜mにはそれぞれ、シードバッファ107に転送された乱数シード1〜mが入力され、M系列の乱数を並列に生成する。ロード信号は各シフトレジスタ値のロード信号であり、シードバッファ107から読み出した乱数シードを所定のタイミングで線形帰還シフトレジスタにロードするための信号である。乱数生成処理部106は、内積演算処理部103でk次元の射影ベクトルを生成する場合、k個のシードに基づくk個の乱数列を生成する(基底ベクトルを一様乱数から生成する場合)。
図1に戻って、基底ベクトル生成処理部105は、乱数生成処理部106で生成したk個の乱数列から所定の乱数分布に対応するk個の基底ベクトルを取り出す。基底ベクトルが一様乱数からなる場合、乱数シードから生成した一様乱数列をそのまま基底ベクトルとする。一方、基底ベクトルが正規乱数からなる場合、複数の一様乱数列の平均乱数列を生成し、該平均乱数列から正規乱数に近似した基底ベクトルを取り出す。また、基底ベクトル生成処理部105では、前述した様に、バイアス項に相当するデータを基底ベクトル列に付加する。
このように、本実施形態では、外部メモリ111には基底ベクトルではなく、基底ベクトルに対応する乱数シードを登録しておき、演算部101は外部メモリ111から乱数シードを取得し、該取得した乱数シードに基づいて基底ベクトルを生成する。これにより、外部メモリ111から演算部101に転送するデータ量を、外部メモリ111に基底ベクトルを登録した場合と比べてより軽減させることができる。
そして内積演算処理部103は、基底ベクトル生成処理部105にて順次生成する基底ベクトルE1〜Emと、シフトレジスタ501に格納されている特徴ベクトルXと、の内積演算を行う。そして、基底ベクトルE1〜Ekと特徴ベクトルXとの内積演算が完了した時点で、射影ベクトルPの要素p1〜pkが決定するので、射影ベクトルPが確定することになる。内積演算処理部103は、このようにして確定した射影ベクトルPを識別処理部104に転送する。
識別処理部104は、この射影ベクトルPを用いて、規定の判定処理を実行することで、画像内のオブジェクトに対する識別処理を行う。例えば、予め学習によって求めた正解データとなる正解射影ベクトルとのハミング距離やユークリッド距離に基づいて判定を行う。或いはSVM(サポートベクターマシン)、ニューラルネットワーク、ブースティング等の判別器を用いて判定しても良い。画像内の特徴量を用いた識別処理については周知の技術であるので、これに係る詳細な説明は省略する。そして識別処理部104は、その識別結果(判定結果)を、システムバス110を介して外部メモリ111に転送し、そこに格納する。もちろん、識別結果の出力先については外部メモリ111に限るものではなく、外部装置に対して転送しても良いし、不図示の表示装置に表示させても良い。
以上説明した各処理を実行するためにCPU109が行う処理について、同処理のフローチャートを示す図7を用いて説明する。CPU109は、外部メモリ111等のメモリに格納されているコンピュータプログラムやデータを用いて処理を実行することで、図7のフローチャートに従った処理を実行する。
ステップS701では、CPU109は、情報処理装置を構成する各ハードウェア(図1に示した各機能部を含む)の初期化処理を行う。この初期化処理には、各機能部の動作パラメータを設定する処理も含まれる。ステップS702では、CPU109は、画像データ入力処理部112、演算部101、DMAC108の各機能部に動作開始指示を送出する。
ステップS703では、CPU109は、画像データ入力処理部112が取得した画像を外部メモリ111に転送させるべく、DMAC108にこの転送を指示するので、DMAC108はこの転送を行う。
ステップS704では、CPU109は、DMAC108の出力する割り込み信号により画像が転送されたことを検知すると、DMAC108に、外部メモリ111に格納されている画像の画素ブロック単位の転送及び乱数シードの転送を指示する。DMAC108はCPU109により指定されたディスクリプタに従って、外部メモリ111に格納されている画像を画素ブロック単位で特徴抽出処理部102に転送すると共に、外部メモリ111に格納されている乱数シードをシードバッファ107に転送する。
ここで、画素ブロックについて図9を用いて説明する。画素ブロック92とは、画像91を複数の領域に区分した場合に、該領域内の画素から成るブロックである。本実施形態では、画素ブロック92内の特徴を代表するベクトルを特徴量(特徴ベクトル)とし、画素ブロック単位で処理を行うことで、結果として画像全体に対して処理する。然るに、識別処理部104による識別結果は、画素ブロックごとに得られることになる。
特徴抽出処理部102は、外部メモリ111から画素ブロックが転送されるたびに、該画素ブロックから特徴ベクトルを抽出し、該抽出した特徴ベクトルを内積演算処理部103に送出する。
シードバッファ107に乱数シードが転送されると、乱数生成処理部106はこの乱数シードを用いて乱数列を生成し、基底ベクトル生成処理部105は、この乱数列を用いて基底ベクトルを生成し、該生成した基底ベクトルを内積演算処理部103に送出する。
内積演算処理部103は、特徴抽出処理部102から送出された特徴ベクトルと、基底ベクトル生成処理部105から送出されたそれぞれの基底ベクトルと、の内積演算を行って、射影ベクトルを生成する。
ここで、内積演算処理部103は、図5に示す様にm個の基底ベクトルに対する処理を並列に実行する。従って射影ベクトルの次元をkとすると、天井関数(k/m)回の基底ベクトルに対する内積演算の処理時間で射影ベクトルを生成する。
識別処理部104は、内積演算処理部103で算出された射影ベクトルを受け取ると、識別処理を開始する。DMAC108は識別処理部104による識別結果を外部メモリ111に転送する。
そしてDMAC108は、外部メモリ111への識別結果の転送を完了すると、CPU109に対して割り込み信号を出力するので、ステップS705では、CPU109は、この割り込み信号を受信する。
ステップS706では、CPU109は、全ての画素ブロックについてステップS704及びS705の処理を行ったか否かを判断する。この判断の結果、全ての画素ブロックについてステップS704及びS705の処理を行った場合には、処理はステップS707に進む。一方、全ての画素ブロックについてステップS704及びS705の処理を行っていない場合には、未処理の画素ブロックについてステップS704及びS705の処理が行われる。
ステップS707では、CPU109は、全てのフレームについてステップS703〜S706の処理を行ったか否かを判断する。この判断の結果、全てのフレームについてステップS703〜S706の処理を行った場合には、図7のフローチャートに従った処理は終了する。一方、全てのフレームについてステップS703〜S706の処理を行っていない場合には、未処理のフレームについてステップS703〜S706の処理が行われる。
次に、情報処理装置の動作のタイムチャートについて、図8を用いて説明する。図8では、ある1つの画素ブロックに対する動作のタイムチャートを示している。また、図8では、内積演算処理部103及び乱数生成処理部106の並列度がk/m=2となる場合の例を示している。
まずDMAC108によって外部メモリ111に格納されている乱数シードをシードバッファ107に転送する(801、803)。特徴抽出処理部102は、この転送に並行して特徴抽出処理を実行する(815)。特徴抽出処理(815)と乱数シードの転送(801,803)を終了すると、シードバッファ107からの乱数シードの読み出し(806)、乱数生成処理(808)、基底ベクトル生成処理(810)を順次実行する。生成された基底ベクトルと格納済みの特徴ベクトルに対して内積演算処理を実行する(812)。ここでは、内積演算処理部103で並列に処理する基底ベクトルの個数分の内積演算が実行される。ここでの一連の処理と並行して、次の内積演算処理(813)のための乱数シードの転送を開始する(802、804)。内積演算処理(812)が終了すると、シードバッファ107に格納された乱数シードを参照して乱数生成処理(809)、基底ベクトル生成処理(811)を順次実行する。更に、生成された基底ベクトルと特徴抽出処理815で抽出された基底ベクトルとの内積演算を実行する(813)。内積演算(813)を終了すると、得られた射影ベクトルに対して識別処理(814)を開始する。この様に本実施形態では、外部メモリに格納する少量の乱数シードに基づいて基底ベクトルを動的に生成しながら射影演算を実行する。
以上説明したように、本実施形態では、多次元の基底ベクトルを保持する代わりに基底ベクトルを生成するための少量の乱数シードを外部メモリに保持する事で、外部メモリの利用サイズを数分の1〜数百分の1に削減する事ができる。これにより、システムバス110に必要な帯域を数分の1〜数百分の1に削減する事ができる。これにより、バス帯域に制約があるシステムでも選択的な乱数列に基づくランダムプロジェクションによる射影演算処理を高速に処理する事が可能になる。
[第2の実施形態]
本実施形態では、CPU109が好適な乱数シードを生成(学習)して外部メモリ111に登録する点が、第1の実施形態と異なる。以下では、第1の実施形態との相違点について重点的に説明し、第1の実施形態と同様の点については説明を省略する。乱数シードを生成して外部メモリ111に登録する処理について、図10のフローチャートを用いて説明する。
ステップS1001では、CPU109は、演算部101を構成する各機能部を初期化する。この初期化では、例えば、乱数生成処理部106がパラメータにより線形帰還シフトレジスタの乱数周期(乱数系列長)や帰還構成を変更できる場合、その周期や帰還構成に関するパラメータを設定する。乱数系列長は前述した様に”特徴ベクトル次元数×射影ベクトル次元数×基底ベクトル候補数”に基づいて決定する。また、M乱数発生器の場合、帰還構成は数系列長に基づいて定まる。
ステップS1002では、CPU109は、十分な個数分の乱数シード候補を生成する。生成方法は如何なる方法でも構わない。また、生成したそれぞれの乱数シード候補に対応するバイアス項を、乱数を用いて生成する。そしてステップS1003では、CPU109は、生成した乱数シード候補のうち未選択の1つを乱数生成処理部106が有する線形帰還シフトレジスタのうち1つに設定し、該設定された乱数シード候補から乱数列を該線形帰還シフトレジスタに生成させる。
ステップS1004では、基底ベクトル生成処理部105は、ステップS1003で生成された乱数列から1つの基底ベクトルを生成する。ステップS1005で内積演算処理部103はステップS1004で生成された基底ベクトルと複数の学習画像のそれぞれから予め抽出した特徴ベクトルとの内積演算を行い、該基底ベクトルを生成する為に用いた乱数シード候補に対応するバイアス項を加算する。
そしてCPU109は、複数の学習画像のそれぞれに対して求めた「該学習画像の特徴ベクトルxとステップS1003で選択した乱数シード候補に応じた基底ベクトルEとの内積結果にバイアス項bを加算した結果(値)」を用いて、以下の式(3)により該基底ベクトルを評価する。
Figure 2015197702
ここで、Nはデータ数、λはバイアス重みパラメータである。また、L(z)は誤差を表す関数であり、例えば、以下の式(4)のように定義される。
Figure 2015197702
そしてCPU109は、ステップS1003で選択した乱数シード候補と、ステップS1005での評価結果(評価値)と、をセットにして外部メモリ111に格納する。
ステップS1006では、CPU109は、生成した全ての乱数シード候補についてステップS1003〜S1005の処理を行ったか否かを判断する。この判断の結果、生成した全ての乱数シード候補についてステップS1003〜S1005の処理を行った場合には、処理はステップS1007に進む。一方、生成した全ての乱数シード候補についてステップS1003〜S1005の処理を行っていない場合には、処理はステップS1003に進み、未選択の乱数シード候補について以降の処理を行う。
ステップS1007では、CPU109は、外部メモリ111に格納されたそれぞれの乱数シード候補のうち評価値が高い順に上位k個の乱数シード候補を「射影行列Wを構成する基底ベクトルE1〜Ekを生成するための乱数シード」として選択する。そしてCPU109は改めて、この選択したk個の乱数シード候補と、該乱数シード候補に対応するものとしてステップS1002で生成されたバイアス項と、をセットにして、図14に示すような形式で外部メモリ111に登録する。また、ここで、周期や帰還構成に関するパラメータも関連付けて格納する。
そして、本実施形態で外部メモリ111に登録したパラメータや乱数シードを用いて、第1の実施形態で説明した一連の処理を行うことで、学習処理時に評価選択した基底ベクトルと同じ基底ベクトルを乱数シードから生成することができる。
なお、基底ベクトルの選択方法は上記の方法に限るわけではなく、適用する用途に応じて様々な選択手法が考えられる。例えば、本実施形態では予め候補となる乱数シードを生成して各乱数列に基づく基底ベクトルを評価する場合について説明したが、他の方法でも良い。例えば、一つの乱数シードに基づく乱数列の中から、所定の長さの乱数列を切り出す事で順次基底ベクトルを生成する方法でも良い。この場合、所定の長さの乱数列を切り出す単位で乱数生成器の内部ステート情報(線形帰還レジスタの場合はレジスタ値)を取り出してその情報を基底ベクトルに対応する乱数シードとする。
[第3の実施形態]
本実施形態では、第1の実施形態で説明したような射影演算処理をCNN(Convolutional Neural Networks:コンボリューショナルニューラルネットワーク)に適用した場合について説明する。まずは、CNNの構成例について、図11を用いて説明する。本実施形態では、CNNは、入力された画像から特定の物体を検出するものとして説明する。
CNNは階層的な特徴抽出処理により構成する。ここでは、第1層1106の特徴数が3、第2層1110の特徴数が2、第3層1113の特徴数が1、の3階層CNNの例を示している。CNNは階層的な特徴抽出処理により対象物の見えの変動等に対して頑健な手法として知られている。
このようなCNNに画像1101を入力する。1103a〜1103cは第1階層1106の特徴面を示す。特徴面とは、所定の特徴抽出フィルタ(コンボリューション演算の累積和及び非線形処理)で前階層のデータを走査しながら演算した結果を格納する画像データ面である。特徴面はラスタスキャンされた画像データに対する検出結果であるため検出結果も面で表す。特徴面1103a〜1103cは、画像1101を参照して、異なる特徴抽出フィルタにより算出する。特徴面1103a〜1103cはそれぞれ模式的に1104a〜1104cに対応する2次元のコンボリューションフィルタ演算と演算結果の非線形変換(シグモイド関数等)により生成する(以下、非線形コンボリューション演算と呼ぶ)。なお、1102は非線形コンボリューション演算に必要な参照画像領域を示す。フィルタサイズ(水平方向の長さと垂直方向の高さ)が11×11のコンボリューションフィルタ演算は以下に示すような積和演算により処理する。
Figure 2015197702
1104a〜1104cは夫々異なる係数のコンボリューションフィルタである。なお、階層によってコンボリューションフィルタのサイズも異なる。CNNでは複数のフィルタを画素単位で走査しながら積和演算を繰り返し、最終的な積和結果を非線形変換する事で特徴面を生成する。特徴面1103a〜1103cを算出する場合は前階層との結合数が1であるため、フィルタは1つ(1104a)である。一方、特徴面1107a及び特徴面1107bを計算する場合、前階層との結合数が3であるため夫々1108a〜1108c及び1108d〜1108fに相当する3つのコンボリューションフィルタの演算結果を累積加算する。つまり、特徴面1107aは、コンボリューションフィルタ1108a〜1108cの全ての出力を累積加算し、最後に非線形変換処理する事によって得る。1105a〜1105cはそれぞれ第2層1110の非線形コンボリューション演算に必要な参照画像領域を示す。即ち特徴面は演算は以下の式に基づいて算出される。
Figure 2015197702
第3層(特徴面1111)では、前回層の特徴面1107a、1107bに対する非線形コンボリューション演算により検出対象の存在尤度を算出する(1112)。ここで、式(6)は一つのコンボリューションフィルタを基底ベクトルとすると式(1)に示す射影演算の総和(前回層への結合数i)に非線形関数演算を追加したものと捉える事ができる(式(7))。つまり、非線形コンボリューション演算を非線形射影演算と定義できる(射影後の次元は特徴面の数に対応することになる)。
Figure 2015197702
一般的にコンボリューションフィルタの係数Ei(=weight)はバックプロパゲーション等により学習される。一方、非特許文献2に開示されている様に、下位階層(本実施形態の場合、第1層1106、第2層1110)の係数Weightに乱数を使用しても良い検出性能を示す事が知られている。本実施形態では第1層1106、第2層1110のコンボリューションフィルタ1104a〜1104c、1108a〜1108fの計数が乱数から生成するものとする。
上記のCNNをハードウェアを用いて実現した場合の回路の構成例について、図12を用いて説明する。1201は非線形コンボリューション演算処理部であり、上記の式(7)に示す非線形射影演算を実行する。非線形コンボリューション演算処理部1201は内積演算器、累積加算器、非線形変換器等から構成されるものである。1202は特徴面データ保持メモリであり、非線形コンボリューション演算によって得られる特徴面(1103a〜1103c、1107a〜1107b、及び1111)を格納するメモリである。1205はシードメモリであり、コンボリューション演算のフィルタ係数に相当する基底ベクトルを乱数から生成するための乱数シード群及びバイアス項を格納する。シードメモリ1205はROMや高速なSRAM等により構成される。SRAMにより構成する場合、図示しない記憶部に格納する乱数シードをデータバスを介して階層処理毎に予め転送する。1204は乱数生成処理部であり、シードメモリ1205に格納された乱数シードを順次読みだし、該乱数シードに基づいて乱数列を生成する。基底ベクトル生成処理部1203は、乱数生成処理部1204で生成した乱数列からフィルタ係数となる基底ベクトルを生成する。なお、乱数生成処理部1204や基底ベクトル生成処理部1203は、図1に示した乱数生成処理部106や基底ベクトル生成処理部105と同様である。
図13はCNN回路の動作タイミングを模式的に説明する図である。図13は特徴面1107aの一つの注目点の値を算出する場合の例を示している。1301aはシードデータの読み出し処理であり、1108aのフィルタ演算の係数に対応する乱数シードのシードメモリ1205からの読み出しを示す。1302aは乱数生成処理部1204の動作期間であり、1301aで読みだされた乱数シードに基づいて乱数列を生成する処理を示す。1303aは基底ベクトル生成処理部1203の動作期間であり、乱数生成処理部1204で生成された乱数列に基づいてコンボリューションフィルタ1108aの係数に相当する基底ベクトルを生成する。即ち乱数列から所定の条件でフィルタ係数列を取り出す。1304aは特徴面データ保持メモリ1202からのデータ読み出し期間を示す。ここでは1105aに相当する特徴面の領域データを読み出す。1305aは非線形コンボリューション演算処理部1201の動作期間を示す。ここでは基底ベクトル生成処理部1203で生成されたフィルタ係数と特徴面データ保持メモリ1202から読み出された前回層の特徴データとの内積演算を実行し、その結果を累積加算器に格納する。同様に1301b〜1305bのタイミングで前回層の特徴1105bに対して1108bに示すフィルタ演算を実行し、その結果を累積加算する。更に同様に1301c〜1305cのタイミングで前回層の特徴1105cに対して1108cに示すフィルタ演算を実行し、その結果を累積加算する。1306は3つのフィルタ演算の結果の累積和を非線形変換処理するタイミングである。なお、バイアス項は図示しないメモリに階層毎に格納し、その加算も1306で処理されるものとする。非線形変換処理された累積加算結果は1307で特徴面データ保持メモリ1202に格納する。以上の処理をラスタスキャン順に処理する事で特徴面1107aを算出する。
この様にCNNは特徴面データ保持メモリ1202に格納された特徴面データを参照しながら階層的に非線形コンボリューション演算を繰り返す事で物体検出等を実現する。なお、図11は説明のために簡略化したCNNの構造を示すが、一般的には多数の特徴面を有する多階層のネットワークで構成される。多層かつ多数の特徴面を有するネットワークで構成する場合、コンボリューション演算のフィルタ係数を保持するためのメモリ容量がコスト増大の要因となる。本実施形態では、乱数に基づくCNN回路において、複数のフィルタカーネル群のフィルタ係数を乱数シードで保持する事により該メモリの回路規模を大幅に削減する事が可能になる。また、係数を外部のメモリ等に保持する場合、転送コストを削減する事ができる。
[第1乃至3の実施形態の変形例について]
上記の実施形態には様々な変形例が考え得る。例えば、上記の実施形態では、情報処理装置(CNN回路)は、画像データを対象としていたが、これに限るものではなく、音声データ、テキスト情報、時系列信号データ等、特徴ベクトルを抽出可能な様々なデータを対象とすることができる。
また、上記の実施形態では、基底ベクトルに対応する乱数シードを外部メモリ111に格納する場合について説明したが、外部メモリ111の代わりに情報処理装置内にROMを設け、このROMに乱数シードを格納するようにしても構わない。この場合、ROMのサイズを大幅に削減する事ができる。
また、上記の実施形態では、乱数シードから基底ベクトルを生成する方法として、1つの乱数シードから1つの基底ベクトルを生成する方法や、複数の乱数シードから1つの基底ベクトルを生成する方法(正規乱数の場合)について説明した。しかし、乱数シードから基底ベクトルを生成する方法はこれに限るものではない。例えば、1つの乱数シードから所定のまとまりの複数の基底ベクトルを生成するようにしても構わない。乱数シードと基底ベクトルとの関係は学習時の基底ベクトル生成方法に依存して任意である。
また、上記の実施形態では、線形帰還レジスタによりM系列の乱数を生成する方法について説明したが、これに限るものではなく、乱数シードから一意に定まる乱数生成方式であれば如何なる方法を用いても構わない。
また、第1の実施形態では、シードバッファ107をダブルバッファメモリで構成する場合について説明したが、例えば、シードバッファ107を設ける事無く、乱数生成処理部106に乱数シードを直接格納するようにしても構わない。また、第1の実施形態では、射影ベクトルPを生成する場合について説明したが、射影ベクトルPの各要素を2値化してHash値として利用しても良い。
また、第3の実施形態では、CNNに適用した場合について説明したが、乱数に基づく係数による複数のコンボリューション演算処理を有する様々な処理に対応可能である。また、一般的なMulti Layer Perceptron型のニューラルネットワークに適用しても良い。この場合、階層型ニューラルネットワークの一つのニューロン値を算出するための前回層ニューロン値に対する結合係数列が上記の基底ベクトルに対応する。更に、以下に開示されているRecursive Neural Networks等に適用しても良い。
Socher, R., Manning, C. D., and Ng, A. Y. Learning continuous phrase representations and syntactic parsing with recursive neural networks. In Deep Learning and Unsupervised Feature Learning Workshop, 2010.
また、演算部101を構成する各部は何れもハードウェアで構成しても構わないが、シードバッファ107を除く各部のうち1以上をソフトウェア(コンピュータプログラム)で構成しても構わない。この場合、このコンピュータプログラムは外部メモリ111に格納され、CPU109により実行されることで、対応する機能部の機能を実現することができる。この場合、特にマルチプロセッサ構成の処理装置で空間分割処理する場合等に有効である。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
102:特徴抽出処理部 103:内積演算処理部 105:基底ベクトル生成処理部 106:乱数生成処理部

Claims (10)

  1. 変換元ベクトルを取得する取得手段と、
    メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成する生成手段と、
    前記複数の乱数列から複数の基底ベクトルを生成し、該生成した複数の基底ベクトルを用いて前記変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する変換手段と
    を備えることを特徴とする情報処理装置。
  2. 前記変換手段は、前記複数の基底ベクトルのそれぞれと、前記変換元ベクトルと、の内積演算を行うことで、前記変換元ベクトルをより低次元のベクトルに変換することを特徴とする請求項1に記載の情報処理装置。
  3. 前記変換手段は、前記複数の乱数列を、前記複数の基底ベクトルとすることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記変換手段は、前記複数の乱数列から平均乱数列を求め、該求めた平均乱数列から前記基底ベクトルを取り出すことを特徴とする請求項1又は2に記載の情報処理装置。
  5. 更に、
    複数の乱数シードの候補のそれぞれについて、該候補を用いて乱数列を生成し、該乱数列から基底ベクトルを生成し、該基底ベクトルと、複数の学習画像のそれぞれから予め抽出された特徴ベクトルと、の内積演算の結果から、該候補に対する評価値を求める手段と、
    前記複数の乱数シードの候補のうち前記評価値が高い順に上位から、前記変換手段により変換するベクトルの次元数に対応する個数の候補を、前記生成手段が用いる乱数シードとして前記メモリに登録する手段と
    を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記基底ベクトルは、コンボリューション演算で用いるフィルタ係数であることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7. 前記基底ベクトルは、コンボリューショナルニューラルネットワークで用いるフィルタ係数であることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  8. 前記基底ベクトルは、階層型ニューラルネットワークにおける1つのニューロン値を算出するための前回層ニューロン値に対する結合係数列であることを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  9. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の取得手段が、変換元ベクトルを取得する取得工程と、
    前記情報処理装置の生成手段が、メモリに格納されている複数の乱数シードを用いて複数の乱数列を生成する生成工程と、
    前記情報処理装置の変換手段が、前記複数の乱数列から複数の基底ベクトルを生成し、該生成した複数の基底ベクトルを用いて前記変換元ベクトルに対する乱数射影を行うことで、該変換元ベクトルをより低次元のベクトルに変換する変換工程と
    を備えることを特徴とする情報処理方法。
  10. コンピュータを、請求項1乃至8の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2014073728A 2014-03-31 2014-03-31 情報処理装置、情報処理方法 Active JP6393058B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014073728A JP6393058B2 (ja) 2014-03-31 2014-03-31 情報処理装置、情報処理方法
US14/662,488 US10013628B2 (en) 2014-03-31 2015-03-19 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014073728A JP6393058B2 (ja) 2014-03-31 2014-03-31 情報処理装置、情報処理方法

Publications (3)

Publication Number Publication Date
JP2015197702A true JP2015197702A (ja) 2015-11-09
JP2015197702A5 JP2015197702A5 (ja) 2017-05-25
JP6393058B2 JP6393058B2 (ja) 2018-09-19

Family

ID=54190846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014073728A Active JP6393058B2 (ja) 2014-03-31 2014-03-31 情報処理装置、情報処理方法

Country Status (2)

Country Link
US (1) US10013628B2 (ja)
JP (1) JP6393058B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019035902A (ja) * 2017-08-18 2019-03-07 日本電信電話株式会社 距離測定装置、データ変換装置、距離測定方法、及びプログラム
JP2020052520A (ja) * 2018-09-25 2020-04-02 エヌ・ティ・ティ・コムウェア株式会社 判定装置、判定方法、およびプログラム
WO2020075287A1 (ja) * 2018-10-12 2020-04-16 オリンパス株式会社 演算処理装置
JP2020513637A (ja) * 2016-12-09 2020-05-14 ベイジン ホライズン インフォメーション テクノロジー カンパニー リミテッド データ管理のためのシステム及び方法
JP2020112998A (ja) * 2019-01-10 2020-07-27 キヤノン株式会社 情報処理装置及びメモリ制御方法
CN111462129A (zh) * 2019-01-22 2020-07-28 斯特拉德视觉公司 按网格单元利用加权卷积滤波器的图像分割方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10892889B2 (en) * 2015-04-07 2021-01-12 Coleridge Enterprises Llc Systems and methods for an enhanced XOR cipher through extensions
US20170085371A1 (en) * 2015-04-07 2017-03-23 Secure Channels Sa System and method for an enhanced xor cipher through extensions
US11074492B2 (en) * 2015-10-07 2021-07-27 Altera Corporation Method and apparatus for performing different types of convolution operations with the same processing elements
US10013653B2 (en) * 2016-01-26 2018-07-03 Università della Svizzera italiana System and a method for learning features on geometric domains
US10210430B2 (en) 2016-01-26 2019-02-19 Fabula Ai Limited System and a method for learning features on geometric domains
WO2019082165A1 (en) * 2017-10-26 2019-05-02 Uber Technologies, Inc. GENERATION OF NEURAL NETWORKS WITH COMPRESSED REPRESENTATION HAVING A HIGH DEGREE OF PRECISION
CN107886942B (zh) * 2017-10-31 2021-09-28 东南大学 一种基于局部惩罚随机谱回归的语音信号情感识别方法
US11190498B1 (en) 2018-01-11 2021-11-30 Secure Channels, Inc. System and method for use of filters within a cryptographic process
GB2578729B (en) * 2018-11-05 2021-02-03 Dunkley Adam Generating a psuedorandom number sequence
US11804955B1 (en) 2019-09-13 2023-10-31 Chol, Inc. Method and system for modulated waveform encryption

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313402A (ja) * 1997-02-14 1998-11-24 Nec Corp 画像データのエンコードシステム及び画像入力装置
US20050213760A1 (en) * 2002-10-25 2005-09-29 Medialive, A Corporation Of France Device for the transformation of MPEG 2-type multimedia and audiovisual contents into secured contents of the same type
US20070041638A1 (en) * 2005-04-28 2007-02-22 Xiuwen Liu Systems and methods for real-time object recognition
JP2007519983A (ja) * 2004-01-30 2007-07-19 ヒューレット−パッカード マジャロルサーグ サーミーターシュテツニカイ エース エレクトロニカイ ベレンデゼーシェケト フォルガルマゾー エース ソルガールタトー コルラートルト フェレレッシェーギュ 物体の真正性を判断するための方法およびデバイス
US20080082468A1 (en) * 2004-11-11 2008-04-03 The Trustees Of Columbia University In The City Of New York Methods and systems for identifying and localizing objects based on features of the objects that are mapped to a vector
JP2013145954A (ja) * 2012-01-13 2013-07-25 Toyota Central R&D Labs Inc 分散情報処理装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428066B2 (en) 2001-04-09 2008-09-23 Canon Kabushiki Kaisha Printing apparatus and method for verifying a printer controller
JP3863775B2 (ja) * 2001-12-25 2006-12-27 株式会社九州エレクトロニクスシステム 画像情報圧縮方法及び画像情報圧縮装置並びに画像情報圧縮プログラム
US8023699B2 (en) * 2007-03-09 2011-09-20 Jiris Co., Ltd. Iris recognition system, a method thereof, and an encryption system using the same
JP5171118B2 (ja) 2007-06-13 2013-03-27 キヤノン株式会社 演算処理装置及びその制御方法
JP5368687B2 (ja) 2007-09-26 2013-12-18 キヤノン株式会社 演算処理装置および方法
US9311403B1 (en) * 2010-06-16 2016-04-12 Google Inc. Hashing techniques for data set similarity determination
JP5596648B2 (ja) 2011-09-26 2014-09-24 日本電信電話株式会社 ハッシュ関数生成方法、ハッシュ関数生成装置、ハッシュ関数生成プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313402A (ja) * 1997-02-14 1998-11-24 Nec Corp 画像データのエンコードシステム及び画像入力装置
US20050213760A1 (en) * 2002-10-25 2005-09-29 Medialive, A Corporation Of France Device for the transformation of MPEG 2-type multimedia and audiovisual contents into secured contents of the same type
JP2007519983A (ja) * 2004-01-30 2007-07-19 ヒューレット−パッカード マジャロルサーグ サーミーターシュテツニカイ エース エレクトロニカイ ベレンデゼーシェケト フォルガルマゾー エース ソルガールタトー コルラートルト フェレレッシェーギュ 物体の真正性を判断するための方法およびデバイス
US20080082468A1 (en) * 2004-11-11 2008-04-03 The Trustees Of Columbia University In The City Of New York Methods and systems for identifying and localizing objects based on features of the objects that are mapped to a vector
US20070041638A1 (en) * 2005-04-28 2007-02-22 Xiuwen Liu Systems and methods for real-time object recognition
JP2013145954A (ja) * 2012-01-13 2013-07-25 Toyota Central R&D Labs Inc 分散情報処理装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020513637A (ja) * 2016-12-09 2020-05-14 ベイジン ホライズン インフォメーション テクノロジー カンパニー リミテッド データ管理のためのシステム及び方法
JP2019035902A (ja) * 2017-08-18 2019-03-07 日本電信電話株式会社 距離測定装置、データ変換装置、距離測定方法、及びプログラム
JP2020052520A (ja) * 2018-09-25 2020-04-02 エヌ・ティ・ティ・コムウェア株式会社 判定装置、判定方法、およびプログラム
WO2020075287A1 (ja) * 2018-10-12 2020-04-16 オリンパス株式会社 演算処理装置
JPWO2020075287A1 (ja) * 2018-10-12 2021-06-10 オリンパス株式会社 演算処理装置
JP7012168B2 (ja) 2018-10-12 2022-01-27 オリンパス株式会社 演算処理装置
JP2020112998A (ja) * 2019-01-10 2020-07-27 キヤノン株式会社 情報処理装置及びメモリ制御方法
JP7227769B2 (ja) 2019-01-10 2023-02-22 キヤノン株式会社 情報処理装置及びメモリ制御方法
CN111462129A (zh) * 2019-01-22 2020-07-28 斯特拉德视觉公司 按网格单元利用加权卷积滤波器的图像分割方法及装置
JP2020119521A (ja) * 2019-01-22 2020-08-06 株式会社ストラドビジョン 自律走行自動車のレベル4を満たすために領域のクラスに応じてモードを切り換えてグリッドセルごとに重み付けコンボリューションフィルタを利用した監視用イメージセグメンテーション方法及び装置、並びにそれを利用したテスト方法及びテスト装置
CN111462129B (zh) * 2019-01-22 2023-08-22 斯特拉德视觉公司 按网格单元利用加权卷积滤波器的图像分割方法及装置

Also Published As

Publication number Publication date
US10013628B2 (en) 2018-07-03
US20150278634A1 (en) 2015-10-01
JP6393058B2 (ja) 2018-09-19

Similar Documents

Publication Publication Date Title
JP6393058B2 (ja) 情報処理装置、情報処理方法
JP6946572B2 (ja) 加速された量子化積和演算
JP6504590B2 (ja) 画像のセマンティックセグメンテーションのためのシステム及びコンピューター実施方法、並びに非一時的コンピューター可読媒体
KR102302725B1 (ko) 룸 레이아웃 추정 방법들 및 기술들
US20210224125A1 (en) Operation Accelerator, Processing Method, and Related Device
US11836610B2 (en) Concurrent training of functional subnetworks of a neural network
US20190035113A1 (en) Temporally stable data reconstruction with an external recurrent neural network
US20200104573A1 (en) Data processing apparatus and method
Li et al. MapReduce-based fast fuzzy c-means algorithm for large-scale underwater image segmentation
Liu et al. Fg-net: A fast and accurate framework for large-scale lidar point cloud understanding
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
EP3528181B1 (en) Processing method of neural network and apparatus using the processing method
CN112633309A (zh) 基于贝叶斯优化的查询高效的黑盒对抗攻击
WO2020061884A1 (en) Composite binary decomposition network
US20220261623A1 (en) System and method for channel-separable operations in deep neural networks
JP6567381B2 (ja) 演算装置、方法及びプログラム
WO2021218037A1 (zh) 目标检测方法、装置、计算机设备和存储介质
US11822900B2 (en) Filter processing device and method of performing convolution operation at filter processing device
US20210049474A1 (en) Neural network method and apparatus
US20220237744A1 (en) Method and apparatus with image restoration
US20220101489A1 (en) Learning model architecture for image data semantic segmentation
US11429771B2 (en) Hardware-implemented argmax layer
US20220253642A1 (en) Burst image-based image restoration method and apparatus
US20210209798A1 (en) Method and apparatus for processing sparse points
US11086634B2 (en) Data processing apparatus and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180620

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180824

R151 Written notification of patent or utility model registration

Ref document number: 6393058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151