JP6721681B2 - 並列検索動作を実行する方法及び装置 - Google Patents

並列検索動作を実行する方法及び装置 Download PDF

Info

Publication number
JP6721681B2
JP6721681B2 JP2018526220A JP2018526220A JP6721681B2 JP 6721681 B2 JP6721681 B2 JP 6721681B2 JP 2018526220 A JP2018526220 A JP 2018526220A JP 2018526220 A JP2018526220 A JP 2018526220A JP 6721681 B2 JP6721681 B2 JP 6721681B2
Authority
JP
Japan
Prior art keywords
memory
images
memory modules
image
search
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
JP2018526220A
Other languages
English (en)
Other versions
JP2019502982A (ja
JP2019502982A5 (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2019502982A publication Critical patent/JP2019502982A/ja
Publication of JP2019502982A5 publication Critical patent/JP2019502982A5/ja
Application granted granted Critical
Publication of JP6721681B2 publication Critical patent/JP6721681B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Description

(関連出願の相互参照)
本願は、2015年11月23日に出願された米国特許出願第14/948,892号の利益を主張するものであり、この内容は、本明細書中に完全に記載されているように参照により援用される。
本発明は、概して、検索動作を実行することに関し、より詳細には、並列検索動作を実行する方法及び装置に関する。
デジタルカメラ、及び、それが組み込まれた携帯電話の発明は、これまで以上に多数の写真が撮影され記憶される時代を迎えた。人々は、数百、更には数千もの写真を撮影し、どのような画像を有しているか把握することができないレベルで画像をメモリ(例えば、コンピュータ等)にアップロードしている。したがって、特に従来の方法を用いて、特定の画像がメモリに記憶されているか否かを調べるためにメモリを検索することは、非常に困難な作業となり得る。
従来の大規模なウェブ画像検索は、概して、テキストの「バグオブワード(bag of words)」方式を利用して実行される。すなわち、画像はテキスト記述(すなわち、バグオブワード)を含む。テキスト検索が開始され(オプションで幾何学的検証又は画像検証も含まれ)、開始されたテキスト検索に基づいて画像が返される。「バグオブワード」アプローチは、ユーザが提供するメタデータ又はオブジェクトのラベル付け及び認識の精度に大きく依存する。画像の特徴は、テキストの単語の説明にタグ付けされ又は翻訳される必要がある。多くの場合、ユーザが写真をアップロードすると、画像は、例えばアップロード中にカメラによって一般名が与えられた状態でアップロードされる。ユーザは、正確なテキスト記述でメモリに記憶された全ての画像の名前を常に変更するとは限らないので、特定のタイプの画像を検索することが問題になる。
また、大規模なマルチメディア検索は、テキスト検索の領域が比較的成熟して良好に確立された後に、検索エンジン及びソーシャルネットワーキングのサイトが取り組もうとしている問題である。マルチメディアデータの量が増大するにつれ、(例えば、サービス品質及びエネルギー消費の両面で)効率的な、画像データセット内の画像検索、又は、非構造化データ若しくはビデオが混在した画像検索は、シーン/オブジェクト認識/再構成、著作権攻撃検出、ロボット視覚、広告配置等の目的で重要となっている。さらに、ウェブスケールの画像検索をサポートすることは、多くの電力消費を伴う重要なハードウェアを必要とする場合があるので、費用がかかる場合がある。
したがって、画像自体の特性に基づいて画像を検索するという画像検索を実行する方法及び装置を提供することが有益となるであろう。
画像検索を実行する方法に関する実施形態が開示される。この方法は、第1プロセッサと、少なくとも1つのメモリモジュールと、を有し、前記第1プロセッサが1つ以上の画像を受信するプロセッサインメモリ(PIM)システムにおいて検索を実行するステップを含む。ホストプロセッサは、画像を1つ以上の画像とマッチングするためのメモリの検索に関するクエリを、少なくとも1つのメモリモジュールに送信し、少なくとも1つのメモリモジュールは、受信したクエリに応じて、メモリモジュール内のメモリを検索する。少なくとも1つのメモリモジュールは、検索結果を第1プロセッサに送信し、第1プロセッサは、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行する。
プロセッサに関する実施形態が開示される。プロセッサは、1つ以上の画像を受信するように構成された回路と、画像を1つ以上の画像とマッチングするためのメモリの検索に関するクエリを、少なくとも1つのメモリモジュールに送信するように構成された回路と、を含む。プロセッサは、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索結果を少なくとも1つのメモリモジュールから受信するように構成された回路と、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行するように構成された回路と、を含む。
システムに関する実施形態が開示される。このシステムは、プロセッサと、少なくとも1つのメモリモジュールと、を含む。プロセッサは、1つ以上の画像を受信するように構成された回路と、画像を1つ以上の画像とマッチングするためのメモリの検索に関するクエリを、少なくとも1つのメモリモジュールに送信するように構成された回路と、メモリモジュール内のメモリに記憶された画像の検索結果を少なくとも1つのメモリモジュールから受信するように構成された回路と、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行するように構成された回路と、を含む。少なくとも1つのメモリモジュールは、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索を実行するように構成された回路と、検索結果をプロセッサに送信するように構成された回路と、を含む。
第1プロセッサと複数のメモリモジュールとを有するプロセッサインメモリ(PIM)システムにおいて実行される方法に関する実施形態が開示される。この方法は、1つ以上の画像を、これらの画像データによってアップロード及び分類するステップを含む。画像は、画像データの分類に基づいて、複数のメモリモジュール上で分割され記憶される。1つ以上のクエリ画像が第1プロセッサによって受信され、第1プロセッサは、画像を1つ以上のクエリ画像とマッチングするためのメモリの検索に関するクエリを、複数のメモリモジュールに送信する。複数のメモリモジュールの各々は、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索を実行する。複数のメモリモジュールの各々は、検索結果を第1プロセッサに送信し、第1プロセッサは、複数のメモリモジュールから受信した結果と、受信した1つ以上の画像と、の比較を実行する。
コンピュータ可読記憶媒体に関する実施形態が開示される。コンピュータ可読記憶媒体は命令を記憶しており、当該命令は、コンピューティングデバイスによって実行されると、当該コンピューティングデバイスに対して、1つ以上の画像を受信するステップと、画像を1つ以上の画像とマッチングするためのメモリの検索に関するクエリを送信するステップと、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索を実行するステップと、検索結果を送信するステップと、メモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行するステップと、を含む動作を実行させる。
添付の図面と併せて例として与えられる以下の説明から、より詳細な理解を得ることができるであろう。
1つ以上の開示された実施形態を実装可能な例示的なデバイスのブロック図である。 一実施形態による、並列検索動作を実行する例示的なアーキテクチャの概略図である。 一実施形態による、並列検索動作を実行する例示的な構造のブロック図である。 一実施形態による、図2及び3の例示的なメモリモジュールの分解図及びブロック図である。 一実施形態による、例示的な画像比較を示す図である。 一実施形態による、並列検索動作を実行する例示的な方法のフローチャートである。
実施形態のより詳細な説明を以下に提供するが、プロセッサインメモリ(PIM)システムについてのハイブリッド画像検索機構が簡潔に提供される。画像の特徴/記述子(イメージディスクリプタ)を圧縮するのに利用可能な様々な方法が存在する。イメージディスクリプタは、グローバルディスクリプタ(例えば、GIST)、ローカルディスクリプタ(例えば、スケール不変特徴変換(Scale Invariant Feature Transform;SIFT)、方向付きFAST及び回転ブリーフ(Oriented FAST and Rotated Brief;ORB)、及び、SURF)、又は、リージョナルディスクリプタ(例えば、平均グレースケールや分散等の領域の基本特性)等のいくつかのカテゴリを含む。グローバルディスクリプタは、記憶空間及びその計算コストの両方に関して比較的効率的に画像を表現することができるが、グローバルディスクリプタに基づく画像比較は、ローカルアプローチと比較してロバストが低く、判別可能でない場合がある。例えば、グローバルディスクリプタは、変換、視点の変化、照明変化、クラッタリング(cluttering)、クロッピング(cropping)、オクルージョン(occlusion)等にセンシティブである場合がある。しかしながら、ローカルディスクリプタアプローチは、計算に非常にコストがかかる場合があり、その特徴のセットは、記憶用のグローバル及びリージョナルディスクリプタよりもはるかに大きいことが多い。しかしながら、回転及びスケーリングに対する不変性、並びに、画像変形の他のフォーマットに対するロバスト性は、画像検索の領域、特に「バグオブフィーチャ―(Bag of Features;BoF)」アプローチの主要なコンポーネントとして有用である可能性がある。
以下に説明する方法及び装置は、ユーザによって指定された追加のメタデータ又はタグを有しない画像検索に関する。すなわち、画像データのみを使用して、ユーザによって提供される情報に対する依存を排除する。画像検索の多くのコンポーネントは、例えば、特徴のセットの分類及び次元低減を比較的低い精度で効率的に行うためにグローバルディスクリプタを計算する等のように、PIM毎のローカルメモリスタックにおいて実行されてもよい。後続のローカルディスクリプタの計算及び検証は、低減した検索空間内のローカルスタックで実行されてもよく、計算コスト及び精度レベルがより高くなる可能性がある。クエリ画像(すなわち、検索される画像)は、PIM毎に複製され、各PIMからの検索結果は、それらをマージして最終ランクを構成するホストプロセッサに提示される。このインメモリ処理は、メモリアクセスが主にローカルスタック又はスタックに制限されるので、システム全体に亘って集約されたデータトラフィックを低減することができる。これにより、クエリ毎の検索効率が向上するとともに、クエリ毎のエネルギー消費が減少する。したがって、グローバルディスクリプタ及びローカルディスクリプタの両方が提供する利点を、PIM対応システムにおいてこれらの欠点を制限しながら利用することができるハイブリッドな方法及び装置について以下に説明する。
図1は、1つ以上の開示された実施形態を実装可能な例示的なデバイス100のブロック図である。デバイス100は、例えば、デスクトップコンピュータ、タブレットコンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ又は携帯電話等のコンピュータを含んでもよい。デバイス100は、プロセッサ102と、メモリ104と、ストレージ106と、1つ以上の入力デバイス108と、1つ以上の出力デバイス110と、を含む。また、デバイス100は、オプションとして、入力ドライバ112と、出力ドライバ114と、を含んでもよい。デバイス100は、図1に示されていない追加のコンポーネントを含んでもよいことを理解されたい。
プロセッサ102は、中央処理装置(CPU)、グラフィックプロセシングユニット(GPU)、同じダイ上に配置されたCPU及びGPU、又は、1つ以上のプロセッサコアを含んでもよく、各プロセッサコアはCPU又はGPUであってもよい。メモリ104は、プロセッサ102と同じダイ上に配置されてもよいし、プロセッサ102とは別に配置されてもよい。メモリ104は、例えば、ランダムアクセスメモリ(RAM)、ダイナミックRAM若しくはキャッシュ等の揮発性又は不揮発性のメモリを含んでもよい。
ストレージ106は、例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク若しくはフラッシュドライブ等の固定又は着脱可能なストレージを含んでもよい。入力デバイス108は、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体スキャナ、又は、ネットワーク接続(例えば、無線IEEE802信号の送信及び/若しくは受信用の無線ローカルエリアネットワークカード)を含んでもよい。出力デバイス110は、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上のライト、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802信号の送信及び/若しくは受信用の無線ローカルエリアネットワークカード)を含んでもよい。
入力ドライバ112は、プロセッサ102及び入力デバイス108と通信し、プロセッサ102が入力デバイス108から入力を受信することを可能にする。出力ドライバ114は、プロセッサ102及び出力デバイス110と通信し、プロセッサ102が出力デバイス110に出力を送信することを可能にする。入力ドライバ112及び出力ドライバ114はオプションのコンポーネントであって、デバイス100は、入力ドライバ112及び出力ドライバ114が存在しない場合には、同じように動作することに留意されたい。説明する実施形態はメインディスプレイを含むが、本発明は、メインディスプレイ無しで実施されてもよいし、ビデオのソースデバイスのみを含んでもよい。このようにして、制御領域は、複数のポータブルデバイスを有し、メインディスプレイを有していないオフィス環境であってもよい。
図2は、一実施形態による、並列検索動作を実行する例示的なアーキテクチャ200の概略図である。アーキテクチャ200は、ホストプロセッサ210と、メモリモジュール220(220〜220で示されている)と、パッケージ内フォトニクスユニット230と、追加のメモリモジュール240(240及び240で示されている)と、を含んでもよい。ホストプロセッサ210は、異種の高性能加速プロセシングユニット(APU)であってもよい。メモリモジュール220は、1つ以上のダイナミックランダムアクセスメモリ(DRAM)のダイの下に積み重ねられた論理ダイを有するPIMモジュールを含んでもよい。また、追加のメモリモジュール240は、1つ以上のDRAMのダイの下に積み重ねられた論理ダイを有するPIMモジュールを含んでもよく、追加のメモリ容量を提供するためにチップの外部にあってもよい。メモリモジュール240は、リンク250(例えば、光リンク)を介してホストプロセッサ210と通信してもよく、例えば光メモリ等の第2レベルのメモリと考えられてもよい。
フォトニクスユニット230は、相互接続リンク(例えば、光リンク250)を介してデータを送信/受信するために使用されてもよい。光リンク250はリンクの一例であるが、追加のタイプのリンク(例えば、電気的なリンク)を採用してもよいことに留意されたい。また、メモリモジュール220内の論理ダイ221は、インタフェース及びRAS機能を提供することができる。
図3は、一実施形態による、並列検索動作を実行する例示的な構造のブロック図である。図3は、例えば、ホストメモリインタフェースを介してメモリモジュール220と通信するホストプロセッサ210を示している。また、メモリモジュール220は、PIM間相互接続を介して互いに通信する。更に、図3の例示的な図において、例示的なメモリモジュール220は、PIM221と、1つ以上のメモリダイ222と、を有する論理ダイを含むものとして示されている。ホストプロセッサ210及びメモリモジュール220は、インターポーザ260上に配置されている。図3に示す例示的な構造は、アーキテクチャ200に基づいてもよく、メモリモジュール220がホストプロセッサ210の周りにリングパターンで配置されるリング構造と呼ばれてもよい。図4は、一実施形態による、図2及び図3の例示的なメモリモジュール220の分解図及びブロック図である。具体的には、図4は、論理ダイ221の例示的な概略図である。論理ダイ221は、1つ以上のグラフィックプロセシングユニット(GPU) コンピューティングユニット(CU)クラスタ(GPU CUクラスタ)内の1つ以上のGPU CUコア、又は、1つ以上のCPUクラスタ内の1つ以上のCPUコアを含む。GPU CUクラスタ及びCPUクラスタは、1つ以上のメモリダイ222に配置されたメモリ領域(例えば、DCT0、DCT1、…、DCT(n−1))と通信可能な積み重ねられたメモリチャネル0〜(n−1)を通してメモリスイッチを介してメモリダイ222と通信する。また、論理ダイは、ホストメモリインタフェースを通したメモリスイッチを介してホストに/ホストから通信し、PIM間相互接続を通したメモリスイッチを介して他のメモリモジュール220と通信する。
図5は、一実施形態による、例示的な画像比較500を示す図である。比較500では、クエリ画像501は、時計回りに90度回転した画像501と同じ画像である、メモリに記憶された画像502と比較される。
図6は、一実施形態による、並列検索動作を実行する例示的な方法600のフローチャートである。方法600は、グローバルディスクリプタ(例えばカラー等の画像全体の属性を記述するディスクリプタ)を計算し、ローカルディスクリプタのアプローチの検索空間及びコストを著しく低減するために、粗いレベルの分類及び第1レベルでの画像検索を実行する。第2に、ローカルディスクリプタのアプローチ(例えば、画像内の領域の局所化された画像属性)は、より正確なマッチング及び検証を実行するために採用される。
ステップ610では、画像がメモリにロードされ、分類される。分類は、どの画像が類似の画像属性を含むかを決定するステップと、これらの類似画像を画像のクラスとして分類するステップ(例えば、吹雪の画像は、類似の属性を含み、クラスに分類され得る)と、を含んでもよい。画像データは、全てのメモリスタック(例えば、メモリモジュール220及び/又は240)間で分割され、ランダムに配置されてもよい。画像データが分類されると、画像データを管理し、メモリスタック上で検索するための後続の配置方法に関する多くの方法が存在する。
例えば、同一クラスの画像は、1つに集中するのではなく、全てのスタックに散乱していてもよい。散乱アルゴリズムは、任意のタイプのランダム化、ハッシング、又は、他のアルゴリズムのマッピングであってもよい。或いは、分類後に画像がグループ化されなくてもよい。すなわち、各画像は、メモリスタック上の最初のランダムな割り当てのままである。別の代替案では、同一カテゴリの画像は、1つのメモリスタック上に配置されてもよいし、1つのメモリスタックに十分なスペースが存在しない場合には複数の隣接するメモリスタックに配置されてもよい。この配置を概略的に達成するように、階層的分類を用いてサブカテゴリを導出してもよい。例えば、N個の画像と2つのクラスとが存在する場合、第1レベルの分類は、画像を2つのカテゴリに分割する。ここで、各カテゴリはN/2個の画像を含む。しかしながら、各メモリモジュールは、N/2個の画像を収容することができない場合があり、したがって、第2レベルの分類を実行して、第1クラス内(すなわち、N/2個の画像内)のサブカテゴリを決定してもよく、個々のサブカテゴリに属する画像は、同一のメモリモジュールにできるだけ多く記憶されてもよい。更なるネスティング(例えば、サブカテゴリに対する追加のサブカテゴリ)を利用して、互いに類似する画像を更に分類し、これらの類似画像を同一のモジュールにできるだけ多く記憶してもよい。
多数の分類アルゴリズムを分類に利用することができる。例えば、k最近傍法、サポートベクターマシン、カーネル法及び他のタイプの分類である。特徴ベクトルに含まれる膨大な数の次元の場合には、分類とともに、線形又は非線形次元削減アルゴリズム(例えば、多様体学習、フィッシャーカーネル及び主成分分析(PCA)等)を採用することができる。また、線形又は非線形の削減アルゴリズムを、分類の品質を検査するために、主に視覚化目的で使用することもできる。
ステップ620では、1つ以上のクエリ画像が、メモリ内のロードされた画像との比較のためにアップロードされる。例えば、クエリ画像は、メモリに画像が記憶されているコンピュータに挿入されたフラッシュドライブ上に存在してもよい。この点において、各クエリ(q)について、グローバルディスクリプタが最初に計算され、弱い分類が実行され、ベクトルP(q)が生成される。ここで、Pは、m個の要素を有するベクトルであり、各要素は、画像qが、合計でm個のカテゴリのうち1つのカテゴリにどの程度の確率で属しているかを表している。すなわち、画像が最初にアップロードされるトレーニングフェーズでは、データベース内の全ての画像のグローバルディスクリプタが、集合からの画像のサブセットを含む各PIM上で計算されてもよい。例えば、図5を再度参照すると、クエリ画像501のグローバル属性は、メモリに記憶された画像502のグローバル属性と比較される。
クエリqが複製され、検索のために1つ以上のPIMに並列に送信される(ステップ630)。すなわち、画像の異なる分類が複数のメモリモジュールに記憶される場合には、クエリqは、検索のために複数のPIM(例えば、220及び/又はは240)に送信される。
次いで、PIMは、グローバルディスクリプタを計算する(ステップ640)。例えば、各PIMにおけるインメモリ検索は、各検索エントリを、ベクトルP(q)の最高位にランク付けされた要素と同じクラスに分類されたローカル画像と比較することで開始し、その後、順番に進んでもよい。各比較について、類似度測定値(例えば、検索されたクエリ画像と比較されたローカル画像の類似の属性)が計算され、類似度測定値が閾値を超えるか否かの判定が行われる。
例えば、1つのクエリ画像が与えられると、このクエリ画像のディスクリプタは、ホストプロセッサ210上でクエリ画像及びそのディスクリプタの何れかを用いて計算され、ランク付け及び検索のために全てのPIMに分配されてもよい。或いは、クエリ画像のみが全てのPIMに分配されてもよく、そのディスクリプタが各PIM上でローカルに計算されてもよい。グループクエリ(すなわち、複数のクエリ画像がアップロードされており、同時にクエリされる場合)では、上述した2つの代替手段がグループ全体に適用されてもよい。すなわち、複数のクエリ画像のディスクリプタがホストプロセッサ210上で計算されてもよいし、複数のクエリ画像は、それぞれディスクリプタをローカルに計算する全てのPIMに分配されてもよい。グループクエリの別の代替手段は、クエリのサブセットを各PIMに分配し、これらのディスクリプタをローカルに計算し、検索を実行し、画像及びディスクリプタを別のPIMに転送して、別のPIMモジュール上でランク付け/検索を再開することである。次に、各モジュールの結果は、ホスト、又は、何れか1つのPIMモジュールに集約されてもよい。
類似度測定値が閾値を超える場合、更なる検証のために、ローカルディスクリプタに基づく比較が実行される。すなわち、PIMは、ローカルディスクリプタを計算する(ステップ650)。例えば、画像501/502内の太陽の部分に対応するローカライズされた点503aと、画像501/502内の木の頂部に対応するローカライズされた点503bと、画像501/502内の山頂に対応するローカライズされた点503cと、が相互に比較される。次元削減方法が使用される場合、この検索の効率を高めるために、比較及び検証の数を減らすことができる。
ステップ610において同一のカテゴリの画像が1つ又は隣接するメモリスタック上に配置された場合には、クエリqは弱い分類の順序で行われてもよく、その結果、最高位のクラスからの画像を含むPIMが最初に検索を実行し、2番目に高い順位等がそれに続く。潜在的な処理遅延を抑制するためである。少数のクエリの応答を劣化させながら平均効率を高めるために、クエリとの潜在的な一致(potential matches)の再順序付けが利用されてもよい。すなわち、クエリ画像との潜在的な一致が再順序付けされてもよい。潜在的な一致は、クエリのグローバルディスクリプタと、潜在的な一致と、がどの程度類似しているかに基づいて決定されてもよい。次に、クエリのローカルディスクリプタ及びこれらの潜在的な一致を比較して、クエリと、各々の潜在的な一致との対の類似性を計算する。次いで、この類似性基準に基づいて、潜在的な一致を再順序付けしてもよい。
ローカルディスクリプタの計算の一部として、ターゲット画像がデータベース内の1つの潜在的な一致であり、ソース画像がクエリ画像である画像登録スキームを介した検証が採用されてもよい。様々なローカルディスクリプタに基づく検証方式が利用されてもよい。例えば、2つの画像のSIFTディスクリプタを照合することによる検証は、使用可能な1つの検証方式であり、ソース画像とターゲット画像との間のローカルな特徴を比較する。
特徴抽出及びディスクリプタの計算をローカルに実行することによって、各PIMプロセッサ(例えば、各メモリモジュール220の論理ダイ221)は、互いに独立して動作し、そのローカルメモリスタック内の画像のかかるディスクリプタを計算する。計算された特徴又はディスクリプタは、複数のPIM上で分類及び検索するために、PIM間通信又はPIM−ホスト通信の前に、より小さい指紋特徴ベクトル(fingerprint feature vector)に圧縮されてもよい。また、これらを直接利用してもよい。すなわち、計算された特徴又はディスクリプタは、ホストプロセッサ210に送信する前に画像をランク付けするために利用されてもよい。各ローカルPIMがグローバルディスクリプタ、ローカルディスクリプタ及び検証フェーズを実行すると、ステップ660において、検索結果がホストプロセッサ(例えば、210)に提供される。次いで、ホストプロセッサは、ロードされた画像が、画像を受け取る全てのPIMからアップロードされた画像及び検索された画像に一致する最終的なランクを構築する(ステップ670)。グローバルディスクリプタ及びローカルディスクリプタの両方の計算に適用されるインメモリ処理を伴う上記のローカルに向けられた計算スキームを有すると、検証フェーズは、集約されたデータの移動を最小化することができる。これは、かかるデータ転送に関するエネルギーコストを最小限に抑え、頻繁なメモリアクセスの制限が存在することで検索効率を低下させる可能性がある。
本明細書の開示に基づいて、多くの変形が可能であることを理解されたい。特定の組み合わせで特徴及び要素が上記のように説明されたが、他の特徴及び要素無しに単独で、又は、他の特徴及び要素を伴うか否かにかかわらず、様々な組み合わせで各特徴又は要素が使用されてもよい。
例えば、図2及び図3に示されるホストプロセッサ及びメモリモジュールのトポロジは、リングトポロジと呼ばれることがある。しかしながら、任意のトポロジが利用されてもよい。また、ホストプロセッサ210は、1つのPIM上のプロセッサであってもよい。更に、例示的な単一のPIMノードシステムについて説明したが、方法及び装置は、特定のPIMシステムの構成に限定されない。例えば、複数のノードを接続してPIMネットワークを形成してもよいし、二次記憶システム(例えば、メモリモジュール240)をPIMノードに接続してもよい。PIMノードは、複数のメモリスタックとPIMとを有するリング又はスター構造として配置されてもよい。また、PIMシステムは、図2に示すような2レベルのメモリで拡張されてもよく、各々のメモリのコンポーネント(例えば、メモリモジュール240)は、PIMであってもよい。提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアで実行されてもよい。適切なプロセッサには、例えば、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連する1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、他のタイプの集積回路(IC)、及び/又は、状態機械が含まれ得る。かかるプロセッサは、処理されたハードウェア記述言語(HDL)命令の結果と、ネットリスト(コンピュータ可読媒体に記憶可能な命令)を含む他の中間データと、を用いて製造プロセスを構成することによって製造されてもよい。そのような処理の結果は、本発明の態様を実装するプロセッサを製造するために半導体製造プロセスで使用されるマスクワークであってもよい。
本明細書で提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによって実行されるコンピュータ可読記憶媒体に組み込まれたコンピュータプログラム、ソフトウェア又はファームウェアで実装されてもよい。コンピュータ可読記憶媒体の例としては、読み取り専用(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、磁気媒体(例えば、内部ハードディスク及びリムーバブルディスク等)、磁気光学媒体、光媒体(例えば、CD−ROMディスク及びデジタル多用途ディスク(DVD)等)が挙げられる。
第1プロセッサと、少なくとも1つのメモリモジュールと、を有するPIMシステムで実行される方法が本明細書に開示される。この方法は、第1プロセッサと、第1プロセッサによって1つ以上の画像を受信する少なくとも1つのメモリモジュールと、を有するPIMシステムにおいて検索を実行するステップを含む。ホストプロセッサは、画像を1つ以上の画像とマッチングするためのメモリの検索についてのクエリを、少なくとも1つのメモリモジュールに送信し、少なくとも1つのメモリモジュールは、受信したクエリに応じて、メモリモジュール内のメモリを検索する。少なくとも1つのメモリモジュールは、検索の結果を第1プロセッサに送信し、第1プロセッサは、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行する。
いくつかの例では、この方法は、少なくとも1つのメモリモジュールのメモリに記憶された画像をアップロード及び分類するステップを含む。いくつかの例では、同一のクラスからアップロードされた画像は、複数のメモリモジュールに記憶される。いくつかの例では、同一のクラスからアップロードされた画像は、同一のメモリモジュールに記憶される。
いくつかの例では、少なくとも1つのメモリモジュールによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む。
いくつかの例では、第1プロセッサによる受信結果の比較は、少なくとも1つのメモリモジュールから受信した受信結果をランク付けするステップを含む。いくつかの例では、この方法は、第1プロセッサによって、複数のメモリモジュールから受信した結果の最終的なランクを構築するステップを含む。
プロセッサが本明細書で開示される。プロセッサは、1つ以上の画像を受信するように構成された回路と、画像を1つ以上の画像とマッチングするためのメモリの検索についてのクエリを、少なくとも1つのメモリモジュールに送信するように構成された回路と、を含む。プロセッサは、受信したクエリに応じて、少なくとも1つのメモリモジュールから、メモリモジュール内のメモリに記憶された画像の検索結果を受信するように構成された回路と、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行するように構成された回路と、を備える。
いくつかの例では、プロセッサは、少なくとも1つのメモリモジュールのメモリに記憶された画像をアップロード及び分類するように構成された回路を含む。いくつかの例では、プロセッサは、少なくとも1つのメモリモジュールから受信した受信結果をランク付けするように構成された回路を含む。いくつかの例では、プロセッサは、複数のメモリモジュールから受信した結果の最終的なランクを構築するように構成された回路を含む。
システムが本明細書で開示される。システムは、プロセッサと、少なくとも1つのメモリモジュールと、を備える。プロセッサは、1つ以上の画像を受信するように構成された回路と、画像を1つ以上の画像とマッチングするためのメモリの検索についてのクエリを、少なくとも1つのメモリモジュールに送信するように構成された回路と、メモリモジュール内のメモリに記憶された画像の検索結果を少なくとも1つのメモリモジュールから受信するように構成された回路と、少なくとも1つのメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行するように構成された回路と、を含む。少なくとも1つのメモリモジュールは、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索を実行するように構成された回路と、検索結果をプロセッサに送信するように構成された回路と、を含む。
いくつかの例では、システムのプロセッサは、少なくとも1つのメモリモジュールのメモリに記憶された画像をアップロード及び分類するように構成された回路を含む。いくつかの例では、同一のクラスからアップロードされた画像は、複数のメモリモジュールに記憶される。いくつかの例では、同一のクラスからアップロードされた画像は、同一のメモリモジュールに記憶される。
いくつかの例では、少なくとも1つのメモリモジュールによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行することを含む。いくつかの例では、システムのプロセッサは、少なくとも1つのメモリモジュールから受信した受信結果をランク付けするように構成された回路を含む。いくつかの例では、システムのプロセッサは、複数のメモリモジュールから受信した結果の最終的なランクを構築するように構成された回路を含む。
第1プロセッサと、複数のメモリモジュールと、を有するプロセッサインメモリ(PIM)システムにおいて実行される方法が本明細書に開示される。この方法は、1つ以上の画像を、これらの画像データによってアップロード及び分類するステップを含む。画像は、画像データの分類に基づいて、分割され複数のメモリモジュールに記憶される。1つ以上のクエリ画像が第1プロセッサによって受信され、第1プロセッサは、画像を1つ以上のクエリ画像とマッチングするためのメモリの検索に関するクエリを、複数のメモリモジュールに送信する。複数のメモリモジュールの各々は、受信したクエリに応じて、そのメモリモジュール内のメモリに記憶された画像の検索を実行する。複数のメモリモジュールの各々は、検索結果を第1プロセッサに送信し、第1プロセッサは、複数のメモリモジュールから受信した結果と、受信した1つ以上の画像との比較を実行する。
いくつかの例では、同一のクラスからアップロードされた画像は、同一のメモリモジュールに記憶される。いくつかの例では、同一のクラスからアップロードされた画像は、複数のメモリモジュールに分配される。いくつかの例では、同一のクラスからアップロードされた画像は、隣接するメモリモジュールに分配される。
いくつかの例では、複数のメモリモジュールによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む。いくつかの例では、グローバルディスクリプタの計算は、1つ以上のクエリ画像と、当該1つ以上のクエリ画像と同一のクラスに存在するものとしてカテゴリ化されたメモリモジュール内のメモリに記憶された画像と、を比較するステップを含む。いくつかの例では、類似度測定値が計算され、閾値と比較される。いくつかの例では、類似度測定値が閾値を超える場合に、ローカルディスクリプタが計算される。
コンピュータ可読記憶媒体(non-transitory computer-readable medium)が本明細書で開示される。コンピュータ可読記憶媒体は命令を記憶しており、命令は、コンピューティングデバイスによって実行されると、1つ以上の画像を受信するステップと、画像を1つ以上の画像とマッチングするためのメモリの検索に関するクエリを送信するステップと、受信したクエリに応じて、メモリモジュール内のメモリに記憶された画像の検索を実行するステップと、検索結果を送信するステップと、メモリモジュールから受信した結果と、受信した1つ以上の画像と、の比較を実行するステップと、を含む動作をコンピューティングデバイスに実行させる。
いくつかの例では、メモリモジュールのメモリに記憶された画像がアップロードされ分類される。いくつかの例では、同一のクラスからアップロードされた画像は、複数のメモリモジュールに記憶される。いくつかの例では、同一のクラスからアップロードされた画像は、同一のメモリモジュールに記憶される。
いくつかの例では、画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む。いくつかの例では、受信した結果の比較は、受信した結果をランク付けするステップを含む。いくつかの例では、複数のメモリモジュールから受信した結果の最終的なランクが構築される。

Claims (33)

  1. 画像検索の効率を向上させる方法であって、
    1プロセッサが1つ以上の画像を受信するステップと、
    前記第1プロセッサが、クエリを複数のメモリモジュールに送信するステップであって、前記クエリは、前記1つ以上の画像とマッチングする画像のためのメモリの検索に関するものである、ステップと、
    前記複数のメモリモジュールの各々のプロセッサインメモリ(PIM)が、受信したクエリに応じて、各メモリモジュール内のメモリに記憶された画像の検索を実行するステップと、
    各メモリモジュールのPIMが、前記検索で得られたマッチング画像を前記第1プロセッサに送信することと、
    前記第1プロセッサが、前記複数のメモリモジュールの各々から受信したマッチング画像の結果と、前記1つ以上の画像との比較を実行するステップであって、前記各メモリモジュールのPIMは、前記1つ以上の画像のグローバルディスクリプタを処理して、1つ以上の類似度測定値を得ることと、類似度測定値が閾値を超える1つ以上の画像のローカルディスクリプタを、各メモリモジュールのメモリに記憶された画像と比較してマッチング画像を取得することであって、前記複数のメモリモジュールの各メモリモジュールに記憶された画像が異なる、ことと、によって画像の検索を実行するように構成されている、ステップとを含む、
    方法。
  2. 前記複数のメモリモジュールの前記メモリに記憶された画像をアップロード及び分類するステップを更に含む、請求項1の方法。
  3. 画像は、前記分類に基づいて、前記複数のメモリモジュールに記憶される、請求項2の方法。
  4. 画像は、同じ分類を有する場合に、前記複数のメモリモジュールのうち同一のメモリモジュールに記憶される、請求項2の方法。
  5. 前記メモリモジュールのPIMによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む、請求項1の方法。
  6. 前記比較は、前記複数のメモリモジュールから受信したマッチング画像をランク付けするステップを含む、請求項1の方法。
  7. 前記第1プロセッサが、前記複数のメモリモジュールから受信したマッチング画像の最終的なランクを構築するステップを更に含む、請求項6の方法。
  8. 画像検索の効率を向上させるプロセッサであって、
    マッチング画像に関するクエリを複数のメモリモジュールに送信するように構成された回路であって、前記クエリは、マッチングされる1つ以上の検索画像を含む、回路と、
    前記複数のメモリモジュールから検索結果を受信するように構成された回路であって、クエリに応じて前記検索結果が受信される、回路と、
    前記複数のメモリモジュールから受信した検索結果の比較を実行するように構成された回路と、を備え、
    前記検索結果は、各メモリモジュールの検索を実行する複数のメモリモジュールの各々のプロセッサインメモリ(PIM)によって生成され、
    前記検索は、1つ以上の検索画像のグローバルディスクリプタを処理して、1つ以上の類似度測定を得ることと、類似度測定値が閾値を超える1つ以上の検索画像のローカルディスクリプタを、各メモリモジュールのメモリに記憶された画像と比較してマッチング画像を取得することであって、前記複数のメモリモジュールの各メモリモジュールに記憶された画像が異なる、ことと、を含む、
    プロセッサ。
  9. 前記複数のメモリモジュールの前記メモリに記憶された画像をアップロード及び分類するように構成された回路を更に含む、請求項8のプロセッサ。
  10. 前記複数のメモリモジュールから受信した検索結果をランク付けするように構成された回路を更に含む、請求項8のプロセッサ。
  11. 前記検索結果の最終的なランクを構築するように構成された回路を更に含む、請求項10のプロセッサ。
  12. 画像検索の効率を向上させるシステムであって、
    それぞれメモリ及びプロセッサインメモリ(PIM)を含む複数のメモリモジュールと、
    前記複数のメモリモジュールと通信可能に接続されたプロセッサと、を備え、
    前記プロセッサは、
    1つ以上の検索画像を受信するように構成された回路と、
    クエリを前記複数のメモリモジュールに送信するように構成された回路であって、前記クエリは1つ以上の検索画像を含む、回路と、
    索結果を前記複数のメモリモジュールから受信するように構成された回路と、
    前記複数のメモリモジュールから受信した検索結果の比較を実行するように構成された回路と、を含み、
    各メモリモジュールのPIMは、
    1つ以上の検索画像のグローバルディスクリプタを処理して、1つ以上の類似度測定を得ることと、
    類似度測定値が閾値を超える1つ以上の検索画像のローカルディスクリプタを、各メモリモジュールのメモリに記憶された画像と比較して検索結果を取得することであって、前記複数のメモリモジュールの各メモリモジュールに記憶された画像が異なる、ことと、
    によって検索を実行するように構成されている、
    システム。
  13. 前記プロセッサは、前記複数のメモリモジュールの前記メモリに記憶された画像をアップロード及び分類するように構成された回路を更に含む、請求項12のシステム。
  14. 画像は、前記複数のメモリモジュールの前記メモリに記憶された画像の分類に基づいて、前記複数のメモリモジュールに記憶される、請求項13のシステム。
  15. 画像は、同じ分類を有する場合に、同一のメモリモジュールに記憶される、請求項13のシステム。
  16. 前記メモリモジュールのPIMによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行することを含む、請求項12のシステム。
  17. 前記プロセッサは、前記複数のメモリモジュールから受信した検索結果をランク付けするように構成された回路を更に含む、請求項12のシステム。
  18. 前記プロセッサは、前記複数のメモリモジュールから受信した検索結果の最終的なランクを構築するように構成された回路を更に含む、請求項17のシステム。
  19. 第1プロセッサと、複数のメモリモジュールと、を有するプロセッサインメモリ(PIM)システムにおいて実行される、画像検索の効率を向上させる方法であって、
    前記複数のメモリモジュールにおいて1つ以上の画像をアップロード及び分類するステップであって、前記1つ以上の画像は、画像データを用いて分類される、ステップと、
    前記画像データの分類に基づいて、前記画像を分割して前記複数のメモリモジュールに記憶するステップと、
    前記第1プロセッサが、1つ以上のクエリ画像を受信するステップと、
    前記第1プロセッサが、クエリを前記複数のメモリモジュールに送信するステップであって、前記クエリは前記1つ以上のクエリ画像を含む、ステップと、
    前記複数のメモリモジュールの各々のPIMが、各メモリモジュール内のメモリに記憶された画像の検索を実行するステップであって、クエリに応じて画像の検索が実行される、ステップと、
    前記複数のメモリモジュールの各々が、検索結果を前記第1プロセッサに送信するステップと、
    前記第1プロセッサが、前記複数のメモリモジュールからの検索結果の比較を実行するステップと、を含み、
    前記画像の検索は、
    1つ以上のクエリ画像のグローバルディスクリプタを処理して、1つ以上の類似度測定を得るステップと、
    類似度測定値が閾値を超える1つ以上のクエリ画像のローカルディスクリプタを、各メモリモジュールに記憶された画像と比較して前記検索結果を得るステップと、を含む、
    方法。
  20. 画像は、同じ分類を有する場合に、同一のメモリモジュールに記憶される、請求項19の方法。
  21. 同一のクラスからの画像は、前記複数のメモリモジュールに分配される、請求項19の方法。
  22. 前記同一のクラスからの画像は、隣接するメモリモジュールに分配される、請求項21の方法。
  23. 前記複数のメモリモジュールによって実行される画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む、請求項19の方法。
  24. 前記グローバルディスクリプタの計算は、前記1つ以上のクエリ画像と、前記1つ以上のクエリ画像と同一のクラスに存在するものとしてカテゴリ化された複数のメモリモジュール内のメモリに記憶された画像と、を比較するステップを含む、請求項23の方法。
  25. 類似度測定値を計算し、前記類似度測定値を閾値と比較するステップを更に含む、請求項24の方法。
  26. 前記類似度測定値が前記閾値を超える場合に、ローカルディスクリプタが計算される、請求項25の方法。
  27. 命令を記憶するコンピュータ可読記憶媒体であって、
    前記命令は、コンピューティングデバイスによって実行されると、
    1つ以上のクエリ画像を受信するステップと、
    クエリを複数のメモリモジュールに送信するステップであって、前記クエリは前記1つ以上のクエリ画像を含む、ステップと、
    前記複数のメモリモジュールの各々のプロセッサインメモリ(PIM)が、各メモリモジュール内のメモリに記憶された画像の検索を実行するステップであって、クエリに応じて画像の検索が実行される、ステップと、
    前記複数のメモリモジュールから受信した検索結果の比較を実行するステップであって、前記画像の検索は前記複数のメモリモジュールの各PIMによって実行される、ステップと、
    1つ以上のクエリ画像のグローバルディスクリプタを処理して、1つ以上の類似度測定を得るステップと、
    類似度測定値が閾値を超える1つ以上のクエリ画像のローカルディスクリプタを、各メモリモジュールに記憶された画像と比較して前記検索結果を得るステップと、
    を含む動作を前記コンピューティングデバイスに実行させて、画像検索の効率を向上させる、
    コンピュータ可読記憶媒体。
  28. 前記複数のメモリモジュールの前記メモリに記憶された画像をアップロード及び分類するステップを更に含む、請求項27のコンピュータ可読記憶媒体。
  29. 同一のクラスからの画像は、前記複数のメモリモジュールに記憶される、請求項28のコンピュータ可読記憶媒体。
  30. 同一のクラスからの画像は、同一のメモリモジュールに記憶される、請求項28のコンピュータ可読記憶媒体。
  31. 画像の検索は、グローバルディスクリプタの計算、ローカルディスクリプタの計算、及び、検証判定を実行するステップを含む、請求項27のコンピュータ可読記憶媒体。
  32. 前記比較は、前記複数のメモリモジュールから受信した検索結果をランク付けするステップを含む、請求項27のコンピュータ可読記憶媒体。
  33. 前記検索結果の最終的なランクを構築するステップを更に含む、請求項32のコンピュータ可読記憶媒体。
JP2018526220A 2015-11-23 2016-09-19 並列検索動作を実行する方法及び装置 Active JP6721681B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/948,892 US10528613B2 (en) 2015-11-23 2015-11-23 Method and apparatus for performing a parallel search operation
US14/948,892 2015-11-23
PCT/US2016/052454 WO2017091282A1 (en) 2015-11-23 2016-09-19 Method and apparatus for performing a parallel search operation

Publications (3)

Publication Number Publication Date
JP2019502982A JP2019502982A (ja) 2019-01-31
JP2019502982A5 JP2019502982A5 (ja) 2019-10-31
JP6721681B2 true JP6721681B2 (ja) 2020-07-15

Family

ID=58719626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018526220A Active JP6721681B2 (ja) 2015-11-23 2016-09-19 並列検索動作を実行する方法及び装置

Country Status (6)

Country Link
US (1) US10528613B2 (ja)
EP (1) EP3380957A4 (ja)
JP (1) JP6721681B2 (ja)
KR (1) KR20180075674A (ja)
CN (1) CN108369594B (ja)
WO (1) WO2017091282A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
EP3343432B1 (en) * 2016-12-29 2024-03-20 Elektrobit Automotive GmbH Generating training images for machine learning-based object recognition systems
US10592121B2 (en) 2017-09-14 2020-03-17 Samsung Electronics Co., Ltd. Quasi-synchronous protocol for large bandwidth memory systems
KR102453542B1 (ko) 2018-02-21 2022-10-12 삼성전자주식회사 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법
US11068544B2 (en) * 2018-07-31 2021-07-20 Marvell Asia Pte, Ltd. Systems and methods for generating metadata describing unstructured data objects at the storage edge
KR20200025200A (ko) 2018-08-29 2020-03-10 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US11625245B2 (en) * 2018-09-28 2023-04-11 Intel Corporation Compute-in-memory systems and methods
JP6938698B2 (ja) * 2019-03-22 2021-09-22 ネイバー コーポレーションNAVER Corporation イメージ検索のためのマルチグローバルディスクリプタを組み合わせるフレームワーク
US11334617B2 (en) * 2019-09-25 2022-05-17 Mercari, Inc. Paint-based image search
KR20210092078A (ko) 2020-01-15 2021-07-23 삼성전자주식회사 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법
US11609853B2 (en) 2020-09-09 2023-03-21 Micron Technology, Inc. Memory controllers including examples of calculating hamming distances for neural network and data center applications
US11636285B2 (en) 2020-09-09 2023-04-25 Micron Technology, Inc. Memory including examples of calculating hamming distances for neural network and data center applications
US11586380B2 (en) 2020-09-09 2023-02-21 Micron Technology, Inc. Memory systems including examples of calculating hamming distances for neural network and data center applications
US11893278B2 (en) 2021-02-08 2024-02-06 Samsung Electronics Co., Ltd. Memory controller and memory control method for generating commands based on a memory request

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003088033A1 (en) 2002-04-09 2003-10-23 University Of Rochester Multiplier-based processor-in-memory architectures for image and graphics processing
JP3789395B2 (ja) * 2002-06-07 2006-06-21 富士通株式会社 パケット処理装置
US8473532B1 (en) * 2003-08-12 2013-06-25 Louisiana Tech University Research Foundation Method and apparatus for automatic organization for computer files
US7684651B2 (en) 2006-08-23 2010-03-23 Microsoft Corporation Image-based face search
US7840076B2 (en) * 2006-11-22 2010-11-23 Intel Corporation Methods and apparatus for retrieving images from a large collection of images
US8180788B2 (en) 2008-06-05 2012-05-15 Enpulz, L.L.C. Image search engine employing image correlation
US20110085739A1 (en) 2008-06-06 2011-04-14 Dong-Qing Zhang System and method for similarity search of images
US8583898B2 (en) 2009-06-12 2013-11-12 Cray Inc. System and method for managing processor-in-memory (PIM) operations
CN102667764A (zh) * 2009-08-07 2012-09-12 谷歌公司 用于为视觉查询的多个区域展示搜索结果的用户接口
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US8433140B2 (en) * 2009-11-02 2013-04-30 Microsoft Corporation Image metadata propagation
US8352494B1 (en) * 2009-12-07 2013-01-08 Google Inc. Distributed image search
JP4588114B1 (ja) * 2010-02-18 2010-11-24 克己 井上 情報絞り込み検出機能を備えたメモリ、その使用方法、このメモリを含む装置。
US8521721B2 (en) * 2010-09-14 2013-08-27 Microsoft Corporation Custom operators for a parallel query engine
US9645854B2 (en) * 2010-12-15 2017-05-09 Advanced Micro Devices, Inc. Dynamic work partitioning on heterogeneous processing devices
US20120233141A1 (en) * 2011-03-09 2012-09-13 Mckesson Financial Holdings Apparatus, method and computer-readable storage medium for searching patient studies
US8832077B1 (en) * 2011-05-04 2014-09-09 Google Inc. Selectively retrieving search results in accordance with different logical relationships
US20130006999A1 (en) * 2011-06-30 2013-01-03 Copyright Clearance Center, Inc. Method and apparatus for performing a search for article content at a plurality of content sites
JP4976578B1 (ja) 2011-09-16 2012-07-18 楽天株式会社 画像検索装置およびプログラム
CN102542058B (zh) * 2011-12-29 2013-04-03 天津大学 一种融合全局与局部视觉特征的层次化地标识别方法
US8949253B1 (en) 2012-05-24 2015-02-03 Google Inc. Low-overhead image search result generation
US20140089609A1 (en) 2012-09-26 2014-03-27 Advanced Micro Devices, Inc. Interposer having embedded memory controller circuitry
US9442854B2 (en) * 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
EP2932404A4 (en) * 2012-12-12 2016-08-10 Google Inc PROVIDING RESEARCH RESULTS BASED ON A COMPOSITION REQUEST
US20140310314A1 (en) * 2013-04-16 2014-10-16 Samsung Electronics Co., Ltd. Matching performance and compression efficiency with descriptor code segment collision probability optimization
US9910864B2 (en) * 2014-01-22 2018-03-06 Stmicroelectronics S.R.L. Method for object recognition, corresponding system, apparatus and computer program product
CN105045761B (zh) * 2015-08-26 2018-08-28 福建恒天晨光节能服务有限公司 一种数据中心的高速并行处理架构

Also Published As

Publication number Publication date
CN108369594A (zh) 2018-08-03
EP3380957A4 (en) 2019-05-22
JP2019502982A (ja) 2019-01-31
KR20180075674A (ko) 2018-07-04
WO2017091282A1 (en) 2017-06-01
EP3380957A1 (en) 2018-10-03
US20170147608A1 (en) 2017-05-25
CN108369594B (zh) 2023-11-10
US10528613B2 (en) 2020-01-07

Similar Documents

Publication Publication Date Title
JP6721681B2 (ja) 並列検索動作を実行する方法及び装置
US20210279285A1 (en) Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet ssd
CN106682233B (zh) 一种基于深度学习与局部特征融合的哈希图像检索方法
US11048966B2 (en) Method and device for comparing similarities of high dimensional features of images
US9864928B2 (en) Compact and robust signature for large scale visual search, retrieval and classification
US10013637B2 (en) Optimizing multi-class image classification using patch features
US20130301935A1 (en) Method and Apparatus of Identifying Similar Images
WO2013129580A1 (ja) 近似最近傍探索装置、近似最近傍探索方法およびそのプログラム
JP6211407B2 (ja) 画像検索システム、画像検索装置、検索サーバ装置、画像検索方法、及び画像検索プログラム
US11281645B2 (en) Data management system, data management method, and computer program product
US20150294194A1 (en) Method of classifying a multimodal object
US9940552B1 (en) Sublinear time classification via feature padding and hashing
US20220139085A1 (en) Method and apparatus for video frame processing
CN105760875B (zh) 基于随机森林算法的判别二进制图像特征相似实现方法
CN110083731B (zh) 图像检索方法、装置、计算机设备及存储介质
WO2022007596A1 (zh) 图像检索系统、方法和装置
JP6017277B2 (ja) 特徴ベクトルの集合で表されるコンテンツ間の類似度を算出するプログラム、装置及び方法
Hua et al. Cross-modal correlation learning with deep convolutional architecture
US11899754B2 (en) ROI-based data content graph for wide data management
Chen et al. Image retrieval with a visual thesaurus
Zhang et al. Product image search with regional evidences
Tabernik et al. A web-service for object detection using hierarchical models
Le Borgne et al. Nonparametric estimation of fisher vectors to aggregate image descriptors
Dimitrovski et al. Efficient Content-based Image Retrieval Using Weighted Feature Aggregation Scheme
Vetro Industry and Standards

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190918

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200423

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200618

R150 Certificate of patent or registration of utility model

Ref document number: 6721681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250