JP6215442B2 - クライアント−サーバベースの動的検索 - Google Patents

クライアント−サーバベースの動的検索 Download PDF

Info

Publication number
JP6215442B2
JP6215442B2 JP2016500249A JP2016500249A JP6215442B2 JP 6215442 B2 JP6215442 B2 JP 6215442B2 JP 2016500249 A JP2016500249 A JP 2016500249A JP 2016500249 A JP2016500249 A JP 2016500249A JP 6215442 B2 JP6215442 B2 JP 6215442B2
Authority
JP
Japan
Prior art keywords
mobile device
environment
attitude
origin
map points
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
JP2016500249A
Other languages
English (en)
Other versions
JP2016515254A5 (ja
JP2016515254A (ja
Inventor
チ・パン
ダニエル・ワグナー
ゾルト・スザラヴァリ
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016515254A publication Critical patent/JP2016515254A/ja
Publication of JP2016515254A5 publication Critical patent/JP2016515254A5/ja
Application granted granted Critical
Publication of JP6215442B2 publication Critical patent/JP6215442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal 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/53Querying
    • G06F16/532Query formulation, e.g. graphical querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

関連出願の相互参照
本出願は、2013年3月15日に出願された「Client-Server Based Dynamic Search」という名称の米国特許出願第13/843,607号の、本譲受人に譲渡された利益および優先権を主張し、その内容は、参照により本明細書に明示的に組み込まれる。
本開示はワイヤレス通信の分野に関する。具体的には、本開示はクライアント-サーバ環境で検索を行うことに関する。
スマートフォンなどのモバイルデバイスの急速な普及に伴って、モバイルデバイスはオブジェクトの検出および拡張現実アプリケーションを行うために使用されることがある。しかし、そのようなモバイルデバイスの限られた記憶スペースに起因して、ローカルデータベースは、それが存在する場合は、そのような視覚的検索をサポートするために限られた数のオブジェクトしか記憶できないことがあり、オブジェクト認識の精度に悪影響を及ぼす可能性がある。検索の品質を向上させるため、モバイルデバイスはキャプチャした画像をサーバに送信してオブジェクト認識を行ってもよい。
図1は、視覚的検索を行うための従来のアプローチを示す。図1に示されるように、モバイルデバイス102がクエリ画像104をクエリデータとしてサーバ106(クラウドとも称される)に送信する。次いで、サーバ106は、クエリ画像104から2次元(2D)特徴および関連する記述子を抽出してもよく、それらの記述子を、サーバ106内のオブジェクトデータベース(図示せず)の中の3次元(3D)位置の記述子にマッチングさせ、2Dと3Dの対応関係を見つける。このアプローチを使用してオブジェクトを特定し、クエリ画像104が撮影された時点のモバイルデバイス102に対する姿勢を導出してもよい。
上記の従来のアプローチの1つの問題は、サーバ106へのクエリデータの送信、クエリの処理、およびモバイルデバイス102への応答データの返送に伴う長い遅延の存在である。この時間中に、モバイルデバイス102が、クエリ画像104が撮影された場所から移動していることがある。その結果、サーバ106によって計算されたモバイルデバイス102の姿勢は最新ではなくなっていることがある。
図1に示される従来のアプローチの別の問題は、クエリ画像104にはモバイルデバイス102からサーバ106に送信する必要のある大量のデータが含まれることである。この問題は、モバイルデバイス102の画像解像度が、たとえば、2メガピクセルから4メガピクセルなどに増大し続けるにつれて、ますます悪化する可能性がある。このようにクエリデータの量が増大すると、クエリ画像104が送信され得る時点とサーバ106からクエリ応答が受信され得る時点との間の期間がさらに引き延ばされる可能性がある。
したがって、上記の従来のアプローチの問題に対処できる方法、装置、およびコンピュータプログラム製品が望まれている。
本開示は、検索を行うための方法、装置、およびコンピュータプログラム製品に関する。一実施形態では、検索を行う方法は、モバイルデバイスのビュー内の環境の1つまたは複数の画像を受信するステップと、1つまたは複数の画像を使用して、同時位置推定および環境マッピングを生成するステップであって、同時位置推定および環境マッピングが、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、ステップと、複数のマップポイントのセットを検索クエリとしてサーバに送信するステップと、サーバからクエリ応答を受信するステップと、クエリ応答に少なくとも部分的に基づいて環境内のオブジェクトを特定するステップとを含む。本開示の一態様によれば、複数のマップポイントは、モバイルデバイスによって異なる角度からキャプチャされた複数の面のビューを含む。
本開示の複数の態様によれば、複数のマップポイントは、モバイルデバイスによって異なる角度からキャプチャされた複数の面のビューを含む。複数のマップポイントの各マップポイントは、3次元位置、3次元位置の1つまたは複数の記述子、および、3次元位置に対応する面法線を含み得る。他のアプローチでは、複数のマップポイントの各マップポイントは、マップポイントの法線方向に直交する方向からの表現を含み得る。
この方法は、第1のタイムインスタンスで、複数のマップポイントのセットを検索クエリとしてサーバに送信するステップと、第2のタイムインスタンスで、サーバからクエリ応答を受信するステップとをさらに含み、モバイルデバイスは第1のタイムインスタンスでオブジェクトに対する第1の姿勢を有し、かつ、第2のタイムインスタンスでオブジェクトに対する第2の姿勢を有する。この方法は、第2のタイムインスタンスで受信したクエリ応答に少なくとも部分的に基づいて、環境内でのオブジェクトに対するモバイルデバイスの第2の姿勢を決定するステップをさらに含み得る。
環境内でのオブジェクトに対するモバイルデバイスの第2の姿勢を決定する方法は、クエリ応答から環境の原点に対するオブジェクトの姿勢を取得するステップと、環境の原点に対するモバイルデバイスの姿勢を追跡するステップと、環境の原点に対するオブジェクトの姿勢および環境の原点に対するモバイルデバイスの姿勢を使用して、オブジェクトに対するモバイルデバイスの第2の姿勢を決定するステップとを含む。
この方法は、環境内でのオブジェクトに対するモバイルデバイスの第2の姿勢に応答して拡張をレンダリングするステップをさらに含む。この方法は、環境の原点に対するモバイルデバイスの動きを追跡するステップと、環境の原点に対してデバイスが移動したか判断するステップとをさらに含んでもよい。モバイルデバイスが移動したか判断する方法は、モバイルデバイスが所定の角度を超えて回転したか判断するステップと、モバイルデバイスが所定の距離を超えて移動したか判断するステップとのうちの少なくとも1つを含む。
この方法は、モバイルデバイスの動きに応答してモバイルデバイスがキャプチャした増分マップポイントを特定するステップと、モバイルデバイスがキャプチャした増分マップポイントを使用して同時位置推定および環境マッピングを更新するステップと、モバイルデバイスがキャプチャした増分マップポイントを、更新された検索クエリ内でサーバに送信するステップとをさらに含む。更新された同時位置推定および環境マッピングは、モバイルデバイスから見る環境の視野よりも大きい環境のビューを含むことができ、その場合、環境の原点はモバイルデバイスの視野の外部にある。
別の実施形態では、モバイルデバイスが処理ロジックを含む制御ユニットを含み、処理ロジックは、モバイルデバイスのビュー内の環境の1つまたは複数の画像を受信するように構成されるロジックと、1つまたは複数の画像を使用して、同時位置推定および環境マッピングを生成するように構成されるロジックであって、同時位置推定および環境マッピングが環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、ロジックと、複数のマップポイントのセットを検索クエリとしてサーバに送信するように構成されるロジックと、サーバからクエリ応答を受信するように構成されるロジックと、クエリ応答に少なくとも部分的に基づいて環境内のオブジェクトを特定するように構成されるロジックとを含む。
さらに別の実施形態では、コンピュータプログラム製品が1つまたは複数のコンピュータシステムによって実行するための命令を記憶した非一時的媒体を含み、この命令は、モバイルデバイスのビュー内の環境の1つまたは複数の画像を受信するための命令と、1つまたは複数の画像を使用して同時位置推定および環境マッピングを生成するための命令であって、同時位置推定および環境マッピングが環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、命令と、複数のマップポイントのセットを検索クエリとしてサーバに送信するための命令と、サーバからクエリ応答を受信するための命令と、クエリ応答に少なくとも部分的に基づいて環境内のオブジェクトを特定するための命令とを含む。
さらに別の実施形態では、装置が、モバイルデバイスのビュー内の環境の1つまたは複数の画像を受信するための手段と、1つまたは複数の画像を使用して、同時位置推定および環境マッピングを生成するための手段であって、同時位置推定および環境マッピングが環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、手段と、複数のマップポイントのセットを検索クエリとしてサーバに送信するための手段と、サーバからクエリ応答を受信するための手段と、クエリ応答に少なくとも部分的に基づいて環境内のオブジェクトを特定するための手段とを含む。
前述した本開示の特徴および利点、ならびにその追加の特徴および利点は、下記の図面と併せて本開示の実施形態の詳細な説明を読んだ後に、より明確に理解されるであろう。
クライアント-サーバベースの検索を行う従来の方法を示す図である。 本開示のいくつかの態様によって、クライアント-サーバベースの検索を行う方法を示す図である。 本開示のいくつかの態様によって、オブジェクトに対するモバイルデバイスの姿勢を決定する方法を示す図である。 本開示のいくつかの態様によって、クライアント-サーバベースの検索を行うように構成されるモバイルデバイスの例示的ブロック線図である。 本開示のいくつかの態様によって、クライアント-サーバベースの検索を行うためのサーバのブロック線図である。 本開示のいくつかの態様によって、クライアント-サーバベースの検索を行う例示的方法を示す図である。 本開示のいくつかの態様によって、クライアント-サーバベースの検索を行う例示的方法を示す図である。
すべての図面で同様の番号が使用される。
クライアント-サーバベースの検索のための方法および装置の実施形態を開示する。下記の説明は、任意の当業者による本開示の利用を可能にするために提示される。特定の実施形態および応用例の説明は、単に例として提供される。本明細書に記載される例の様々な修正および組合せは、当業者には容易に明らかになるであろう。また、本明細書に定められる一般原理は、本開示の趣旨および範囲から逸脱することなく他の例および応用例に適用されてもよい。よって、本開示は記載および図示される例に限定されるようには意図されておらず、本明細書に開示される原理および特徴に一致する最も広い範囲を提供するよう意図されている。本明細書で使用されるとき、「例示的」または「例」という用語は、「例、実例、または説明の働きをする」ことを意味する。本明細書で「例示的」または「例」として記載される態様または実施形態はいずれも、他の態様または実施形態よりも好ましい、または有利であるとは必ずしも解釈されない。
図2は、本開示のいくつかの態様によって、クライアント-サーバベースの検索を行う方法を示す。本開示の態様によれば、同時位置推定およびトラッキング(SLAM)のフレームワークが、サーバベースの検出システムと共にモバイルデバイスによって使用されてもよい。図2に示される例示的アプローチでは、モバイルデバイス202(黒丸で示され、クライアントデバイスまたは、短縮してクライアントとも称される)は、SLAM環境203を構築するように構成され得、また、SLAM環境203に対するモバイルデバイスの姿勢がサーバ206によって計算されるようにできる。SLAM環境203は、高密度メッシュまたは高密度/低密度点のクラウドであることができ、これらは、たとえば、SLAM環境203の座標系の原点(図3に示される)に対する3D位置を有する。各マップポイントは、マップポイントの外観を記述する1つまたは複数の記述子、および/または、マップがメッシュの場合はポイントに関する3D構造情報を含んでもよい。たとえば、面204aおよび対応する面法線204b、面206aおよび対応する面法線206b、面208aおよび対応する面法線208b、面210aおよび対応する面法線210b、ならびに、面212aおよび対応する面法線212bは、SLAM環境203内の様々な例示的マップポイントを記述する。
マップポイントは、モバイルデバイス202によって、一連の画像フレームにわたってキャプチャされ得ることに留意されたい。たとえば、マップポイント204aおよび206aが第1の画像フレーム内にキャプチャされてもよく、マップポイント208aおよび210aが第2の画像フレーム内にキャプチャされてもよく、マップポイント212aが第3の画像フレーム内にキャプチャされてもよい。モバイルデバイス202が動き回ると、追加のマップポイントがキャプチャされてSLAM環境に追加されてもよく、次いで更新されたSLAM環境がサーバに送信されてもよい。
本開示の態様によれば、SLAM環境を作るマップポイントが検索クエリとして送信されてもよい。各マップポイントは、3D位置、面法線、およびマップポイントを表現する1つまたは複数の記述子を含んでもよい。よって、サーバでのオブジェクトおよび姿勢の検出は、SLAMマップからの記述子をオブジェクトデータベースからの記述子にマッチングさせて、3D-3Dの対応関係を形成することを伴ってもよい。マップポイントはSLAM環境の座標系内の3D位置を有するので、SLAM環境の原点に対するオブジェクトの姿勢を取得するために、次いで、相似変換を推定してもよい。
本開示の態様によれば、モバイルデバイス202の姿勢を、SLAM環境の座標系に対して追跡することができる。SLAM環境を蓄積し、マップポイントをクエリ情報としてサーバに送信することによって、クエリ応答は、検索クエリが作られた時点のモバイルデバイス202に対してではなくSLAM環境の原点に対するオブジェクト姿勢の検出結果を含んでもよい。SLAMフレームワークを使用することによって、本開示のアプローチは、モバイルデバイス202からサーバ206へ送信されるデータの量を減少させることができ、それによって、ネットワーク遅延を減少させて、クエリ応答からオブジェクトのライブ姿勢を計算することを可能にすることができる。図1に示される従来のアプローチでの単一のクエリ画像とは異なり、このアプローチでは複数の視点からの情報を検索クエリとして送信することができ、よって、オブジェクトの検出および追跡により良い結果を生じさせることができる。
本開示の態様によれば、SLAMは、環境に対するセンサの位置および方向を計算し、同時に環境マップを構築する処理である。前述のセンサは、場面から情報をキャプチャする、1つまたは複数のカメラの配列でもよい。この情報は、視覚情報(たとえば、標準的な撮像デバイス)または直接の奥行き情報(たとえば、受動型ステレオカメラまたは能動型デプスカメラ)のうちの1つまたは組合せでもよい。SLAMシステムからの出力は、環境に対するセンサの姿勢(位置および方向)、ならびに、少なくとも低密度の点(法線情報を含んでもよい)を含む何らかの形式のマップ、および/または高密度の面メッシュとすることができる。
図3は、本開示のいくつかの態様による、オブジェクトに対するモバイルデバイスの姿勢を決定する方法を示す。図3に示すように、クライアント(C)デバイスとも呼ばれるモバイルデバイス202は黒丸で表され、オブジェクト304は文字Xで表され、サーバ206は灰色の雲で表される。XCqueryは時刻t=tqueryにおけるオブジェクト304のクライアントデバイス202に対する姿勢を表し、XCliveは時刻t=tliveにおけるオブジェクト304のクライアントデバイス202に対する姿勢を表し、OXqueryは時刻t=tqueryにおけるオブジェクト304のSLAM環境の原点308(短縮して原点とも称される)に対する姿勢を表し、OCqueryはt=tqueryにおけるクライアントデバイス202の原点308に対する姿勢を表し、OCliveは時刻t=tliveにおけるクライアントデバイス202の原点308に対する姿勢を表す。
時刻t=tqueryで、検索クエリ(矢印303で表される)がサーバ206に送信されてもよい。検索クエリ303が処理されている間に、モバイルクライアント202は移動し続けてもよい。モバイルクライアント202のSLAMフレームワークを使用して、クライアントデバイス202のSLAM環境の原点308に対する姿勢(OC)を計算することができる。時刻t=tliveで、クライアントデバイス202は、サーバ206からクエリ応答(矢印305で表される)を受信する。返送されるクエリ応答は、CqueryおよびXCqueryの座標系に対するオブジェクトの姿勢であり得るが、これは、現在のデバイスの視点Cliveからは最新の姿勢ではないことがあることに留意されたい。図1の説明に示されるように、この差はネットワークおよび処理の遅延に起因することがあり、これは、従来の画像ベースの検索には有用ではないことがある。一方、本開示の態様によれば、サーバ206から受信したクエリ応答305は、SLAM環境の原点に対して観察または利用されるので(OXquery)、その時点でも使用することができる。よって、現在のクライアントデバイス202の姿勢が決定されれば、オブジェクト拡張の目的で、オブジェクトの座標系からクライアントデバイスの座標系への変換(XClive)を計算することができる。
1つのアプローチでは、オブジェクト304のクライアントデバイス202に対するライブ姿勢(XClive)を、クエリ応答305(OXquery)から計算できる。その理由は、クライアントデバイス202からSLAM環境の原点308への変換(OClive)の追跡および決定が可能だからである。クライアントデバイス202に対する相対的なオブジェクト304の姿勢(XClive)もまた、XClive=OClive×(OXquery)-1の関係によって決定できる。
本開示の態様によれば、複数のマップポイントが検索クエリとして送信されてもよい。一実施形態では、最後のクエリ以降にマップに追加されたマップポイントのみがクエリ内で送信されてもよい。以前に送信された検索クエリはサーバ206によって記憶およびキャッシュできることに留意されたい。これによって、モバイルデバイス202からすべてのマップポイントが毎回サーバ206に送信されなくても、サーバ206は、このすべてのマップポイントを検索することができる。別のアプローチでは、モバイルデバイス202は、マップ全体を毎回送信してもよく、これは、サーバ206に一時記憶領域が必要にはならないことを意味する。
本開示の態様によれば、サーバ206は、クエリ内で送信されるマップポイントと類似した、キーポイントおよび3D位置情報を有する記述子(および、場合によっては面法線)のデータベースを含んでもよい。ただし、サーバ206上のキーポイントおよび記述子は、データベースオブジェクトの一部に対応してもよく、事前にオフライン処理で生成されてもよい。いくつかの実装形態では、記述子間の最近傍検索が迅速に計算できるように、効率的な検索用データ構造がサーバ206に作成されてもよい。これらのデータ構造は、ツリー形式(K平均法、kD木、二分木など)、ハッシュテーブル、または最近傍分類子の形をとることができる。モバイルデバイス202から送信されたSLAMマップ内にデータベースオブジェクトが存在するか特定するための検索には、サーバの記述子データベース内でマップポイント記述子の最近傍を見つけることが伴う。サーバ206およびモバイルデバイス202上の記述子は、オブジェクトまたは場面の一部の外観を表現するベクトルである。記述子としてSIFTおよびSURFが考えられるが、これらに限定されない。
モバイルデバイス202によって送信される各マップポイントは、検索クエリの処理を通じて特定される0〜Nの最近傍対応関係のセットを有してもよい。これらの対応関係は、次の検索クエリのために再計算しなくてもよいように、サーバ206によって記憶して効率化することができる。対応関係が特定された後に投票ステップが発生し得、このステップで、あるオブジェクトについて見つかった対応関係の数から、あるオブジェクトがSLAMマップ内に存在する可能性が高いとの判断を行うことができる。存在する可能性の高いこれらのオブジェクトのそれぞれについて、地理的確認の処理を使用して、アウトライヤの対応関係からインライヤの対応関係を除去してもよい。この地理的確認には、相対的3D位置の制約、記述子回転の制約、および法線方向の制約が伴う。地理的確認の結果は、デバイスから送信されたマップポイントとサーバデータベース内のオブジェクトとの対応関係のセットである。
マップポイントは、少なくともSLAMマップの原点に対する3D位置および記述子を含んでよく、サーバ206内の記述子(これも3D位置を有する)とのマッチングによって3D-3D対応関係を導出してもよい。これによって、サーバのデータベースのポイントと、対応するSLAMマップのポイントとの間で相似変換(自由度7:3D回転、3D位置、尺度)の計算が可能になる。SLAMマップのポイントはオブジェクトを表すと考えられる。この相似変換は、SLAMマップの原点に対するオブジェクトの位置、方向および尺度を符号化してもよい。符号化結果を、SLAMマップ内のどのマップポイントがサーバオブジェクトに対応するかなどの他の有用な情報、およびそのデータベースオブジェクトに関連する内容と共に、クエリ応答としてモバイルデバイス202に返送してもよい。SLAMマップとオブジェクトマップの両方の尺度が知られている可能性がある場合(たとえば、両方が絶対メートル尺度)には、尺度の違いはなくてもよく、オブジェクトとSLAMマップの原点との間の関係を表すためには3D姿勢のみで十分なことがある。
サーバ206を使用した検索の処理はカメラのフレーム速度に比べて遅いことがあり、クエリ応答が受信され得るまでに数10のフレームが撮られることがよくある。しかし、サーバ206が検索クエリを処理している間に、クライアントがSLAMマップの原点308に対して、SLAMを使用した視覚的姿勢追跡を行ってもよい。したがって、検索クエリがSLAMマップの原点308に対する変換を計算するので、クエリ応答を計算した後に、カメラからSLAMマップの原点308への変換とSLAMマップの原点308からオブジェクト304への変換とを連鎖させることによって、オブジェクトとカメラとの間の相対的変換を計算することができる。
SLAMフレームワークを使用してモバイルデバイス202の姿勢を追跡することに加えて、SLAMフレームワークを使用して、サーバ206にいつ検索クエリを送信するか決定してもよい。マップポイントをクエリデータとして使用するときに、いくつかの最適化を行ってもよい。たとえば、SLAM環境の一部を徐々にサーバ206に送信してもよく、これは専用の単一画像クエリを使用する従来のアプローチからの著しい改善になり得る。いくつかの実装形態では、SLAMマップに新しいマップポイントが追加されると、バックグラウンド処理を使用して、新しいマップポイントがクライアントデバイス202からサーバ206にストリーミングされてもよい。サーバ206はセッション処理能力をもつように構成されてもよく、また、以前の結果をキャッシュすること(たとえば、記述子マッチングから)によって、SLAMマップ全体を再処理する必要なく全体のマップを使用して、クエリを行うように構成されてもよい。このアプローチでは漸増的なクエリの処理をサポートすることができ、その結果、同じサイズの完全に新しいマップを照会することに比べて、オブジェクト検出および拡張現実アプリケーションの効率を改善することができる。このアプローチでは、クエリ画像が送信される個別の判断時点を有するのではなく、SLAMマップのサイズが拡大したときに利用可能になる新しい情報のストリームが存在し得る。その結果、本開示のアプローチでは新しい情報が送信されるので、サーバ206に送信される情報の量が最適化される。それに比べて、画像ベースのクエリでは、異なる画像がサーバ206に送信され得ても、ほとんどが同じ場面のビューを表していることがある。本開示のアプローチの別の利点は、全体画像がアップロードされてから新たに処理され得る画像ベースのアプローチに比べて、サーバへのラウンドトリップ処理時間が減少され得ることである。
オブジェクトが非常に大きい場合(ビルディングなど)には、単一のカメラ画像クエリに収まらないことがあり、そのことによって、図1で説明した従来の方法を使用してそのオブジェクトを検出する作業が困難になることがある。一方、本開示の態様によれば、SLAM環境を徐々に更新する能力によって、本開示の方法で、フットボール競技場全体が単一のカメラビューにキャプチャできない可能性がある場合でも、フットボール競技場などの大きなオブジェクトのマップの作成が可能になる。さらに、SLAM環境の一部を検索クエリとしてサーバに送信する能力によって、本開示の方法では、検索クエリ内のオブジェクト全体から情報を使用することができる可能性があるので、大きなオブジェクトの認識率を改善させることができる。
3Dオブジェクトを検出する場合、カメラ画像を検索クエリとして使用する従来のアプローチでは、画像が3D場面の2D投影なので、単一の視点を表していることがあり、非常に不利になることがある。SLAM環境をクエリデータとして使用する場合は、オブジェクトは複数の角度からマッピングされてもよく、キャプチャされた情報が検索クエリとして提出されてもよい。よって、複数の角度からキャプチャした情報を使用する本開示の方法では、あるオブジェクトを、ある視点からは同一に見える可能性がある他のオブジェクトから区別する際に、より良い結果が得られることがある。
図4は、本開示のいくつかの態様によって、クライアント-サーバベースの検索を行うように構成されるモバイルデバイスの例示的ブロック線図を示す。モバイルデバイス202は環境の画像をキャプチャするためのカメラ108を含み、画像は個別の写真または動画のフレーム群のどちらでもよい。モバイルデバイス202はセンサ116を含んでもよく、このセンサを使用してデータを提供し、モバイルデバイス202はこのデータを使用して、その位置と方向、つまり姿勢を決定することができる。モバイルデバイス202に使用し得るセンサの例には、加速度計、水晶センサ、ジャイロスコープ、線形加速度計として使用されるマイクロエレクトロメカニカルシステム(MEMS)センサ、および磁気計が含まれる。
モバイルデバイス202はまた、画像を表示できるディスプレイ112を含むユーザインターフェース110を含んでもよい。ユーザインターフェース110はまた、ユーザがモバイルデバイス202に情報を入力できるようにするキーパッド114または他の入力デバイスを含んでもよい。望ましい場合は、タッチセンサ付きのディスプレイ112に仮想キーパッドを統合することによって、キーパッド114は不要とされてもよい。ユーザインターフェース110はまた、たとえば、モバイルプラットフォームがセルラー電話の場合は、マイクロフォン117および1つまたは複数のスピーカ118を含んでもよい。もちろん、モバイルデバイス202は、本開示と無関係な他の構成要素を含んでもよい。
モバイルデバイス202は制御ユニット120をさらに含み、このユニットは、カメラ108およびセンサ116、ユーザインターフェース110、ならびに他の所望の機能に接続され、これらと通信する。制御ユニット120は、1つまたは複数のプロセッサ122および関連するメモリ/ストレージ124によって提供されてもよい。制御ユニット120はまた、ソフトウェア126、ハードウェア128、およびファームウェア130を含んでもよい。制御ユニット120はSLAM環境生成モジュール132を含み、このモジュールは、モバイルデバイス202によってキャプチャされた情報に基づいてSLAMマップを生成するように構成される。制御ユニット120はクライアント-サーバベースの動的検索モジュール134をさらに含み、このモジュールは、対象のオブジェクトを検出するように構成され、かつ、対象のオブジェクトに対するモバイルデバイス202の姿勢を決定または追跡するように構成される。SLAM環境生成モジュール132およびクライアント-サーバベースの動的検索モジュール134は、分かりやすくするために、プロセッサ122および/またはハードウェア128とは別に示されているが、ソフトウェア126およびフェームウェア130内の命令に基づいてプロセッサ122および/またはハードウェア128に結合および/または実装されてもよい。制御ユニット120はクライアント-サーバベースの動的検索を行う方法を実施するように構成できることに留意されたい。たとえば、制御ユニット120は、図2、図3、および図6A〜図6Bで説明されるモバイルデバイス202の機能を実装するように構成され得る。
図5は、本開示のいくつかの態様によって、クライアント-サーバベースの検索を行うためのサーバのブロック線図を示す。図5に示される例では、サーバ206は1つまたは複数のプロセッサ502、ネットワークインターフェース504、SLAMマップデータベース506、SLAMマップ検索モジュール508、およびメモリ510を含む。1つまたは複数のプロセッサ502は、サーバ206の動作を制御するように構成され得る。ネットワークインターフェース504は、ネットワーク(図示せず)と通信するように構成され得、そのネットワークは、他のサーバ、コンピュータ、およびモバイルデバイスと通信するように構成されてもよい。SLAMマップデータベース506は、異なる現場、ランドマーク、マップ、および他のユーザ定義された情報のSLAMマップを記憶するように構成され得る。SLAMマップ検索モジュール508は、SLAMマップデータベース506を使用してクライアント-サーバベースの動的検索を行う方法を実施するように構成され得る。たとえば、SLAMマップ検索モジュール508は、図2、図3、および図6A〜図6Bで説明されるサーバ206の機能を実装するように構成され得る。メモリ510は、サーバ206のためにプログラムコード、命令、およびデータを記憶するように構成され得る。
本開示の実施形態によれば、SLAMマップデータベース506は空間的に編成されてもよい。モバイルデバイスに内蔵されたセンサを使用して、各オブジェクトについてモバイルデバイスの方向が決定されてもよい。SLAMマップデータベース506の検索時に、この方法では、最初にモバイルデバイスの方向の近隣にあるマップポイントの検索に集中してもよい。別のアプローチでは、検索は、モバイルデバイスによってキャプチャされたオブジェクト用のマップポイントのマッチングに集中して、最初の検索結果を後続のSLAMマップデータベース検索の支援のために使用してもよい。さらに別のアプローチでは、GPS、A-GPS、またはSkyhookスタイルのWi-Fi位置設定から取得した近似的位置情報を使用してSLAMマップデータベースの検索を支援してもよい。上記の様々な方法を適用して、SLAMマップデータベース内のオブジェクトの検索の効率を改善することができる。
図6Aおよび図6Bは、本開示のいくつかの態様によって、クライアント-サーバベースの検索を行う例示的方法を示す。本開示の態様によって、図6Aにオブジェクト認識の方法が示され、図6Bに追跡の方法が示される。図6Aおよび図6Bで説明される方法は、モバイルデバイス202によって並行に行われてもよいことに留意されたい。図6Aおよび図6Bに示されるブロックのいくつかは同じ方法を行う(よって、同じ番号が付けられている)が、説明の目的で、方法のフロー図は別々に示される。他の実装形態では、2つのフロー図を結合して1つのフロー図としてもよい。
図6Aを参照すると、制御ユニット120は、ブロック602で、モバイルデバイス202のカメラ108から1つまたは複数の画像を受信するか、または、1つまたは複数のワイヤレス通信プロトコルを介して他のデバイスから1つまたは複数の画像を受信するように構成され得る。本開示の態様によれば、画像は間欠的または連続的に受信されてもよい。制御ユニット120は、ブロック604で、モバイルデバイスを追跡するように構成され得る。たとえば、制御ユニット120は、環境の原点に対するモバイルデバイスの動きを追跡して、モバイルデバイスが環境の原点に対して移動したと判断するように構成され得る。さらに、制御ユニット120は、モバイルデバイスが所定の角度を超えて回転したか判断し、かつ/または、モバイルデバイスが所定の距離を超えて移動したかを判断するように構成され得る。制御ユニット120は、ブロック605で、SLAMマップを更新するかを判断するように構成され得る。SLAMマップを更新すると判断した場合(605_Yes)は、方法はブロック606に進む。あるいは、SLAMマップを更新しないと判断した場合(605_No)は、方法はブロック602に戻る。
制御ユニット120は、ブロック606で、受信した1つまたは複数の画像を使用して、環境のSLAMマップを生成または更新するように構成され得る。本開示の態様によれば、SLAMマップは、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含んでもよい。複数のマップポイントは、モバイルデバイスによって異なる角度からキャプチャされた複数の面のビューを含んでもよい。いくつかの実装形態では、複数のマップポイントの各マップポイントは、3次元位置、3次元位置の1つまたは複数の記述子、および、3次元位置に対応する面法線を含む。1つまたは複数の記述子の例には、スケール不変特徴量変換(SIFT)記述子と複数の面の面法線とのセット、ならびに/または、高速化ロバスト特徴量(SURF)記述子と複数の面の面法線とのセットが含まれ得る。いくつかの他の実装形態では、複数のマップポイントの各マップポイントは、マップポイントの法線方向に直交する方向からの表現を含む。
本開示の態様によれば、制御ユニット120は、モバイルデバイスの動きに応答してモバイルデバイスがキャプチャした増分のマップポイントを特定し、モバイルデバイスがキャプチャした増分マップポイントを使用して同時位置推定および環境マッピングを更新し、モバイルデバイスがキャプチャした増分マップポイントを、更新された検索クエリ内でサーバに送信するように構成されてもよい。更新された同時位置推定および環境マッピングはモバイルデバイスから見る環境の視野よりも大きい環境のビューを含むことができ、その場合、環境の原点はモバイルデバイスの視野の外部にある可能性があるに留意されたい。
制御ユニット120は、ブロック608で、複数のマップポイントのセットを検索クエリとしてサーバに送信するように構成され得る。制御ユニット120は、ブロック609で、サーバ206からの応答があるか判断するように構成されてもよい。応答がある場合(609_Yes)は、方法はブロック610に進む。あるいは、応答がない場合(609_No)は、方法はブロック602に戻る。制御ユニット120は、ブロック610で、サーバ206からクエリ応答を受信するように構成され得る。制御ユニット120は、ブロック612で、検索されたオブジェクトをSLAMマップに登録するように構成され得る。
図6Bを参照して、いくつかのブロックは図6Aで説明されるものと同じブロックであり、よって、図6Aに示される同じブロックの説明は、図6Bの同じブロックに適用されてもよいことに留意されたい。簡単にするために、方法の全体的な構造が保たれるように、図6Bに関しても同じブロックが以下で説明される。制御ユニット120は、ブロック602で、モバイルデバイス202のカメラ108から1つまたは複数の画像を受信するか、または、1つまたは複数のワイヤレス通信プロトコルを介して他のデバイスから1つまたは複数の画像を受信するように構成され得る。制御ユニット120は、ブロック604で、モバイルデバイスを追跡するように構成され得る。
制御ユニット120は、ブロック609で、サーバ206からの応答があるか判断するように構成され得る。応答がある場合(609_Yes)は、方法はブロック610に進む。あるいは、応答がない場合(609_No)は、方法はブロック605に戻る。制御ユニット120は、ブロック610で、サーバ206からクエリ応答を受信するように構成され得る。制御ユニット120は、ブロック612で、検索されたオブジェクトをSLAMマップに登録するように構成されてもよい。制御ユニット120は、ブロック605で、SLAMマップを更新するかを判断するように構成され得る。SLAMマップを更新すると判断した場合(605_Yes)は、方法はブロック606に進む。あるいは、SLAMマップを更新しないと判断した場合(605_No)は、方法はブロック614に進む。制御ユニット120は、ブロック606で、受信した1つまたは複数の画像および/またはサーバ206から受信したクエリ応答を使用して、環境のSLAMマップを生成または更新するように構成され得る。制御ユニット120は、ブロック608で、複数のマップポイントのセットを検索クエリとしてサーバに送信するように構成され得る。
制御ユニット120は、ブロック614で、SLAMマップ環境に対するオブジェクトの姿勢を計算するように構成され得る。いくつかの実装形態では、制御ユニット120は、環境の原点に対するオブジェクトの姿勢をクエリ応答から取得し、環境の原点に対するモバイルデバイスの姿勢を追跡し、環境の原点に対するオブジェクトの姿勢および環境の原点に対するモバイルデバイスの姿勢を使用して、オブジェクトに対するモバイルデバイスの姿勢を決定するように構成され得る。制御ユニット120は、ブロック616で、ブロック614で決定したオブジェクトの姿勢を使用して拡張をレンダリングするように構成され得る。
フロー図は単に説明の目的で示されることに留意されたい。いくつかの他の実装形態では、フロー図のブロックは他の実装形態を形成するように配置されてもよい。たとえば、ブロック604の方法がブロック606の前に、後に、またはブロック606と並行して行われてもよい。さらに他のいくつかの実装形態では、たとえば、方法はブロック604の方法を行わずにブロック602からブロック605に進んでもよい。
本開示のアプローチの利点の1つは、類似した目標の検出にある。通常、サーバ上のSLAMマップデータベースは非常に大きいことがあり、また、類似しているが同一ではない外観をもつ多数のオブジェクトを含むことがある。それらの視覚的に類似したオブジェクトの1つに関連するモバイルデバイスから検索クエリを与えられたとき、サーバは正しいオブジェクトの特定に成功できる場合もある。しかし、モバイルデバイスにローカルに置かれた検出データベースを使用する従来の検索システムでは、外観の類似した誤ったオブジェクトが検出される可能性がある。実際のオブジェクトに視覚的に類似したオブジェクトがローカルデータベースに存在し、それらの視覚的に類似したオブジェクトがクライアントデバイスのビュー内の実際のオブジェクトではないことがある場合には、その可能性が大きくなる。
図1に示されるような従来のアプローチでは、サーバデータベース内のすべてのオブジェクトに関するデータをモバイルデバイスがもっていない場合がある限り、データベース内の正しいオブジェクトが検出される保証はあり得ない。これは、オクルージョン、ならびにオブジェクトの製造工程およびカメラの画像処理の変動に起因する外観の小さな変化などの事項に対して局所検出がロバストであり得ることへの要望に起因する。この問題は、オブジェクト検出だけでなく、オブジェクト姿勢の推定もサーバ上で行い、より完全なオブジェクトのセットの情報が記憶され得る本開示の方法によって解決することができる。
本開示の別の利点は、モバイルデバイスからサーバにいつ検索クエリ(またはキャプチャした追加情報)を送信するかの問題の処理にある。本開示のアプローチでは、モバイルデバイスのユーザ経験に影響し得る、送信されるデータの量の最適化とオブジェクト検出の速度と間のバランスに対処する。本開示の態様によれば、クライアント画像の外観がクエリ送信を保証するだけ十分に変化した時点を検出するシーンチェンジアルゴリズムの使用など、様々な方法が使用されてもよい。SLAMフレームワークを使用すると、オブジェクトまたは場面に対するモバイルデバイスの姿勢に関する連続的な情報が得られ、そのような情報を使用して、サーバにいつクエリを送信するかを決定することができる。
本開示の別の利点は、大きなオブジェクトの検出にある。いくつかの状況において、大きなオブジェクトが単一のカメラビューに収まらないことがあり、これは、図1で説明されるようにカメラ画像が検索クエリとして使用される場合には、大きなオブジェクトの検出が当然、視覚的検索クエリを使用すると不利になることがあることを意味する。一方、本開示の方法は、大きなオブジェクトを記述するデータ(SLAMマップポイント)を徐々に蓄積し、更新されたSLAMマップポイントを含む検索クエリを送信して、大きなオブジェクトの検出の信頼性を高めることができるように構成されてもよい。
本開示の別の利点は、3Dオブジェクトの曖昧性の除去にある。図1で説明される従来のアプローチでは、カメラ画像をクエリデータとして使用することは、単一の視点から見た3Dオブジェクトの2D投影を送信することを意味し、ある視点からは多くの3Dオブジェクトが類似して見えることがあるので、3Dオブジェクトの検出が困難になることがある。一方、本開示の方法では、異なる視点から見たオブジェクトの情報を蓄積して、その情報を検索クエリとして送信できるので、類似の3Dオブジェクトの相互の曖昧性を除去することができる。
少なくとも段落[0056]〜[0060]、図4、図5、図6Aおよび図6B、ならびに対応する説明は、モバイルデバイスのビュー内の環境の1つまたは複数の画像を受信するための手段と、1つまたは複数の画像を使用して、同時位置推定および環境マッピングを生成するための手段であって、同時位置推定および環境マッピングが環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、手段と、複数のマップポイントのセットを検索クエリとしてサーバに送信するための手段と、クエリ応答をサーバから受信するための手段と、クエリ応答に少なくとも部分的に基づいて環境内のオブジェクトを特定するための手段とを提供する。
本明細書に記載される方法論およびモバイルデバイスは、適用例に応じて様々な手段によって実装され得る。たとえば、これらの方法論は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せに実装することができる。ハードウェア実装形態では、処理ユニットは、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、本明細書に記載される機能を行うために設計された他の電子的ユニット、またはそれらの組合せに実装することができる。本明細書では、「制御論理」という用語は、ソフトウェア、ハードウェア、ファームウェアまたはそれらの組合せによって実装される論理を包含する。
ファームウェアおよび/またはソフトウェア実装形態では、方法論は、本明細書に記載される機能を行うモジュール(たとえば、プロシージャ、関数など)で実装され得る。本明細書に記載される方法論の実装に、命令を有形的に具体化する、あらゆる機械可読媒体を使用することができる。たとえば、ソフトウェアコードをメモリに記憶し、処理ユニットによって実行することができる。メモリは、処理ユニットの中または処理ユニットの外部に実装することができる。本明細書で使用するとき、「メモリ」という用語は、長期的、短期的、揮発性、不揮発性または他のあらゆるタイプの記憶デバイスを指し、いかなる特定のメモリのタイプまたはメモリの数、またはメモリが格納される媒体のタイプにも限定されない。
ファームウェアおよび/またはソフトウェア実装では、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてもよい。例には、データ構造と共に符号化されたコンピュータ可読媒体および、コンピュータプログラムと共に符号化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、製造業者の商品の形をとってもよい。コンピュータ可読媒体には、物理的なコンピュータ記憶媒体および/または他の非一時的媒体が含まれる。記憶媒体は、コンピュータによってアクセス可能な任意の入手可能な媒体でもよい。例として、そのようなコンピュータ可読媒体は、所望のプログラムコードを命令またはデータ構造の形で記憶するために使用することができ、コンピュータによってアクセスすることができる、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶媒体、磁気ディスク記憶媒体または他の磁気記憶デバイス、もしくは他の任意の媒体を含んでもよいが、これらに限定されない。ディスク(diskおよびdisc)は、本明細書で使用する場合は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、通常、diskはデータを磁気的に再現するが、discはレーザを使用して光学的にデータを再現する。上記のものの組合せもまた、コンピュータ可読媒体の範囲に含まれるものとする。
命令および/またはデータは、コンピュータ可読媒体上の記憶の他に、通信装置に含まれる送信媒体上の信号として提供されてもよい。たとえば、通信装置は、命令およびデータを示す信号を有する送受信機を含んでもよい。命令およびデータは、特許請求の範囲に概説された機能を1つまたは複数のプロセッサに実施させるように構成される。つまり、通信装置は、本開示の機能を行うための情報を示す信号を有する送信媒体を含む。第1の時点で、通信装置に含まれる送信媒体は本開示の機能を行うための情報の第1の部分を含んでもよく、第2の時点で、通信装置に含まれる送信媒体は本開示の機能を行うための情報の第2の部分を含んでもよい。
本開示は、ワイヤレス広域ネットワーク(WWAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイヤレスパーソナルエリアネットワーク(WPAN)などの様々なワイヤレス通信ネットワークと共に実装されてもよい。「ネットワーク」および「システム」という用語は、しばしば互換的に使用される。「位置」および「場所」という用語は、しばしば互換的に使用される。WWANは、符号分割多重アクセス(CDMA)ネットワーク、時分割多重アクセス(TDMA)ネットワーク、周波数分割多重アクセス(FDMA)ネットワーク、直交周波数分割多重アクセス(OFDMA)ネットワーク、シングルキャリア周波数分割多重アクセス(SC-FDMA)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、WiMAX(IEEE 802.16)ネットワークなどでもよい。CDMAネットワークは、cdma2000、Wideband-CDMA(W-CDMA(登録商標))などの1つまたは複数の無線アクセス技術(RAT)を実装してもよい。cdma2000は、IS-95、IS2000およびIS-856標準を含む。TDMAネットワークは、グローバルシステムフォーモバイルコミュニケーション(GSM(登録商標))、デジタルアドバンストモバイルフォンシステム(D-AMPS)または他の何らかのRATを実装してもよい。GSM(登録商標)およびW-CDMA(登録商標)は、「3rd Generation Partnership Project(第3世代パートナーシッププロジェクト)」(3GPP)という名称の組織による文書に記載されている。cdma2000は、「3rd Generation Partnership Project 2」(3GPP2)という名称の組織による文書に記載されている。3GPPおよび3GPP2の文書は公開されている。WLANはIEEE 802.11xネットワークでもよく、WPANは、Bluetooth(登録商標)ネットワーク、IEEE 802.15xまたは他の何らかのタイプのネットワークでもよい。技法は、また、WWAN、WLANおよび/またはWPANの任意の組合せと共に実装されてもよい。
移動局とは、ワイヤレス通信および/またはナビゲーション信号の受信が可能な、セルラーまたは他のワイヤレス通信デバイス、パーソナル通信システム(PCS)デバイス、パーソナルナビゲーションデバイス(PND)、個人情報マネージャ(PIM)、携帯情報端末(PDA)、ラップトップまたは、他の適切なモバイルデバイスなどのデバイスを指す。また、「移動局」という用語は、短距離ワイヤレス、赤外線、有線接続または他の接続などによってパーソナルナビゲーションデバイス(PND)と通信するデバイスを含むように意図されており、これは、そのデバイスまたはPNDで衛星信号受信、補助データ受信、および/または位置関連の処理が発生するか否かには関わらない。また、「移動局」はすべてのデバイスを含み、それには、インターネット、Wi-Fiその他のネットワークなどを介してサーバと通信することのできる、ワイヤレス通信デバイス、コンピュータ、ラップトップなどが含まれるように意図されており、これは、そのデバイス、サーバ、またはそのネットワークに関連する別のデバイスで衛星信号受信、補助データ受信、および/または位置関連の処理が発生するか否かには関わらない。上記のものの動作可能な任意の組合せもまた、「移動局」と見なされる。
あるものが「最適化される」「必要である」などの指定は、最適化されたシステムまたは「必要な」要素が存在する(または他の指定による他の制限)システムにのみ本開示が適用されることを表すのではない。これらの指定は、記載された特定の実装形態のみを指す。もちろん、多くの実装形態が可能である。技法は、本明細書で説明したプロトコル以外のプロトコルを使用することができ、それには、開発途上または開発予定のプロトコルが含まれる。
同じ基本を根本とする機構および方法論を依然として使用しながらも、本開示の実施形態の多くの可能な修正および組合せを使用してもよいことが、当業者には理解されるであろう。説明の目的のために、上記の記述は特定の実施形態を参照して書かれている。しかし、上記の説明的論考は、網羅的であることまたは、開示される形そのものに本開示を限定することを意図してない。上記の教示を考慮して、多くの修正および変形が可能である。実施形態は、本開示およびそれらの実際の適用例の原理について説明するため、ならびに、当業者が本開示、および予定される特定の用途に適するよう様々な修正が施された様々な実施形態を最も有利に利用できるようにするために選択および記載された。
104 クライアント
106 サーバ
108 カメラ
110 ユーザインターフェース
112 ディスプレイ
114 キーパッド
116 センサ
117 マイクロフォン
118 スピーカ
120 制御ユニット
122 プロセッサ
124 メモリ
126 ソフトウェア
128 ハードウェア
130 ファームウェア
132 SLAM環境生成モジュール
134 クライアント-サーバベースの動的検索モジュール
202 モバイルデバイス、クライアント
203 SLAM環境
204a 面
204b 面法線
206 サーバ
206a 面
206b 面法線
208a 面
208b 面法線
210a 面
210b 面法線
212a 面
212b 面法線
303 検索クエリ
304 オブジェクト
305 クエリ応答
308 原点
502 プロセッサ
504 ネットワークインターフェース
506 SLAMマップデータベース
508 SLAMマップ検索モジュール
510 メモリ

Claims (34)

  1. モバイルデバイスにおいて検索を行う方法であって、
    前記モバイルデバイスのカメラが、モバイルデバイスのビュー内の環境の複数の画像を受信するステップと、
    前記モバイルデバイスの制御ユニットが、前記複数の画像を使用して、同時位置推定および環境マッピングを生成するステップであって、前記同時位置推定および環境マッピングが、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、ステップと、
    前記モバイルデバイスのネットワークインターフェースが、第1のタイムインスタンスで、前記複数のマップポイントのセットを検索クエリとしてサーバに送信するステップと、
    前記ネットワークインターフェースが、第2のタイムインスタンスで、前記サーバからクエリ応答を受信するステップと、
    前記制御ユニットが、前記クエリ応答に少なくとも部分的に基づいて、前記環境内のオブジェクトを特定するステップと
    を含み、
    前記モバイルデバイスが前記第1のタイムインスタンスで前記オブジェクトに対する第1の姿勢を有し、前記モバイルデバイスが前記第2のタイムインスタンスで前記オブジェクトに対する第2の姿勢を有する、方法。
  2. 前記複数のマップポイントが、前記モバイルデバイスによって異なる角度からキャプチャされた前記複数の面のビューを含む、請求項1に記載の方法。
  3. 前記複数のマップポイントの各マップポイントが、3次元位置、前記3次元位置の1つまたは複数の記述子、および、前記3次元位置に対応する面法線を含む、請求項2に記載の方法。
  4. 前記複数のマップポイントの各マップポイントが、前記マップポイントの法線方向に直交する方向からの表現を含む、請求項2に記載の方法。
  5. 前記制御ユニットが、前記第2のタイムインスタンスで受信した前記クエリ応答に少なくとも部分的に基づいて、前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するステップをさらに含む、請求項1に記載の方法。
  6. 前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するステップが、
    前記クエリ応答から、前記環境の原点に対する前記オブジェクトの姿勢を取得するステップと、
    前記環境の前記原点に対する前記モバイルデバイスの姿勢を追跡するステップと、
    前記環境の前記原点に対する前記オブジェクトの前記姿勢および前記環境の前記原点に対する前記モバイルデバイスの前記姿勢を使用して、前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するステップとを含む、請求項5に記載の方法。
  7. 前記制御ユニットが、前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢に応答して拡張をレンダリングするステップをさらに含む、請求項5に記載の方法。
  8. 前記制御ユニットが、前記環境の原点に対する前記モバイルデバイスの動きを追跡するステップと、
    前記制御ユニットが、前記環境の前記原点に対して前記モバイルデバイスが移動したか判断するステップと
    をさらに含む、請求項1に記載の方法。
  9. 前記モバイルデバイスが移動したか判断するステップが、
    前記モバイルデバイスが所定の角度を超えて回転したか判断するステップと、
    前記モバイルデバイスが所定の距離を超えて移動したか判断するステップと
    のうちの少なくとも1つを含む、請求項8に記載の方法。
  10. 前記制御ユニットが、前記モバイルデバイスの前記動きに応答して、前記モバイルデバイスによってキャプチャされた増分マップポイントを特定するステップと、
    前記制御ユニットが、前記モバイルデバイスによってキャプチャされた前記増分マップポイントを用いて、前記同時位置推定および環境マッピングを更新するステップと、
    前記制御ユニットが、前記モバイルデバイスによってキャプチャされた前記増分マップポイントを、更新された検索クエリ内で前記サーバに送信するステップと
    をさらに含む、請求項8に記載の方法。
  11. 前記更新された前記同時位置推定および環境マッピングが、前記モバイルデバイスからの前記環境の視野よりも大きい前記環境のビューを含み、前記環境の前記原点が、前記モバイルデバイスの前記視野の外部にある、請求項10に記載の方法。
  12. モバイルデバイスであって、
    モバイルデバイスのビュー内の環境の複数の画像を受信するように構成されるカメラと、
    前記複数の画像を使用して、同時位置推定および環境マッピングを生成するように構成される制御ユニットであって、前記同時位置推定および環境マッピングが、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、制御ユニットと、
    第1のタイムインスタンスで、前記複数のマップポイントのセットを検索クエリとしてサーバに送信するように構成されるネットワークインターフェースであって、前記ネットワークインターフェースは、第2のタイムインスタンスで、前記サーバからクエリ応答を受信するようにさらに構成される、ネットワークインターフェースと
    を含み、
    前記制御ユニットは、前記クエリ応答に少なくとも部分的に基づいて、前記環境内のオブジェクトを特定するようにさらに構成され、
    前記モバイルデバイスが前記第1のタイムインスタンスで前記オブジェクトに対する第1の姿勢を有し、前記モバイルデバイスが前記第2のタイムインスタンスで前記オブジェクトに対する第2の姿勢を有する、モバイルデバイス。
  13. 前記複数のマップポイントが、前記モバイルデバイスによって異なる角度からキャプチャされた前記複数の面のビューを含む、請求項12に記載のモバイルデバイス。
  14. 前記複数のマップポイントの各マップポイントが、3次元位置、前記3次元位置の1つまたは複数の記述子、および、前記3次元位置に対応する面法線を含む、請求項13に記載のモバイルデバイス。
  15. 前記複数のマップポイントの各マップポイントが、前記マップポイントの法線方向に直交する方向からの表現を含む、請求項13に記載のモバイルデバイス。
  16. 前記第2のタイムインスタンスで受信した前記クエリ応答に少なくとも部分的に基づいて、前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するように構成される論理手段をさらに含む、請求項12に記載のモバイルデバイス。
  17. 前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するように構成される論理手段が、
    前記クエリ応答から、前記環境の原点に対する前記オブジェクトの姿勢を取得するように構成される論理手段と、
    前記環境の前記原点に対する前記モバイルデバイスの姿勢を追跡するように構成される論理手段と、
    前記環境の前記原点に対する前記オブジェクトの前記姿勢および前記環境の前記原点に対する前記モバイルデバイスの前記姿勢を使用して、前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するように構成される論理手段とを含む、請求項16に記載のモバイルデバイス。
  18. 前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢に応答して拡張をレンダリングするように構成される論理手段をさらに含む、請求項16に記載のモバイルデバイス。
  19. 前記環境の原点に対する前記モバイルデバイスの動きを追跡するように構成される論理手段と、
    前記環境の前記原点に対して前記モバイルデバイスが移動したか判断するように構成される論理手段と
    をさらに含む、請求項12に記載のモバイルデバイス。
  20. 前記モバイルデバイスが移動したか判断するように構成される論理手段が、
    前記モバイルデバイスが所定の角度を超えて回転したか判断するように構成される論理手段と、
    前記モバイルデバイスが所定の距離を超えて移動したか判断するように構成される論理手段と
    のうちの少なくとも1つを含む、請求項19に記載のモバイルデバイス。
  21. 前記モバイルデバイスの前記動きに応答して、前記モバイルデバイスによってキャプチャされた増分マップポイントを特定するように構成される論理手段と、
    前記モバイルデバイスによってキャプチャされた前記増分マップポイントを用いて、前記同時位置推定および環境マッピングを更新するように構成される論理手段と、
    前記モバイルデバイスによってキャプチャされた前記増分マップポイントを、更新された検索クエリ内で前記サーバに送信するように構成される論理手段と
    をさらに含む、請求項19に記載のモバイルデバイス。
  22. 前記更新された前記同時位置推定および環境マッピングが、前記モバイルデバイスからの前記環境の視野よりも大きい前記環境のビューを含み、前記環境の前記原点が、前記モバイルデバイスの前記視野の外部にある、請求項21に記載のモバイルデバイス。
  23. 1つまたは複数のコンピュータシステムによって実行するための命令を記憶した非一時的記憶媒体であって、前記命令が、
    モバイルデバイスのビュー内の環境の複数の画像を受信するための命令と、
    前記複数の画像を使用して、同時位置推定および環境マッピングを生成するための命令であって、前記同時位置推定および環境マッピングが、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、命令と、
    第1のタイムインスタンスで、前記複数のマップポイントのセットを検索クエリとしてサーバに送信するための命令と、
    第2のタイムインスタンスで、前記サーバからクエリ応答を受信するための命令と、
    前記クエリ応答に少なくとも部分的に基づいて、前記環境内のオブジェクトを特定するための命令と
    を含み、
    前記モバイルデバイスが前記第1のタイムインスタンスで前記オブジェクトに対する第1の姿勢を有し、前記モバイルデバイスが前記第2のタイムインスタンスで前記オブジェクトに対する第2の姿勢を有する、非一時的記憶媒体。
  24. 前記複数のマップポイントが、前記モバイルデバイスによって異なる角度からキャプチャされた前記複数の面のビューを含む、請求項23に記載の非一時的記憶媒体。
  25. 前記複数のマップポイントの各マップポイントが、3次元位置、前記3次元位置の1つまたは複数の記述子、および、前記3次元位置に対応する面法線を含む、請求項24に記載の非一時的記憶媒体。
  26. 前記複数のマップポイントの各マップポイントが、前記マップポイントの法線方向に直交する方向からの表現を含む、請求項24に記載の非一時的記憶媒体。
  27. 前記第2のタイムインスタンスで受信した前記クエリ応答に少なくとも部分的に基づいて、前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するための命令をさらに含む、請求項23に記載の非一時的記憶媒体。
  28. 前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するための命令が、
    前記クエリ応答から、前記環境の原点に対する前記オブジェクトの姿勢を取得するための命令と、
    前記環境の前記原点に対する前記モバイルデバイスの姿勢を追跡するための命令と、
    前記環境の前記原点に対する前記オブジェクトの前記姿勢および前記環境の前記原点に対する前記モバイルデバイスの前記姿勢を使用して、前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢を決定するための命令とを含む、請求項27に記載の非一時的記憶媒体。
  29. 前記環境内での前記オブジェクトに対する前記モバイルデバイスの前記第2の姿勢に応答して拡張をレンダリングするための命令をさらに含む、請求項27に記載の非一時的記憶媒体。
  30. 前記環境の原点に対する前記モバイルデバイスの動きを追跡するための命令と、
    前記環境の前記原点に対して前記モバイルデバイスが移動したか判断するための命令と
    をさらに含む、請求項23に記載の非一時的記憶媒体。
  31. 前記モバイルデバイスが移動したか判断するための命令が、
    前記モバイルデバイスが所定の角度を超えて回転したか判断するための命令と、
    前記モバイルデバイスが所定の距離を超えて移動したか判断するための命令と
    のうちの少なくとも1つを含む、請求項30に記載の非一時的記憶媒体。
  32. 前記モバイルデバイスの前記動きに応答して、前記モバイルデバイスによってキャプチャされた増分マップポイントを特定するための命令と、
    前記モバイルデバイスによってキャプチャされた前記増分マップポイントを用いて、前記同時位置推定および環境マッピングを更新するための命令と、
    前記モバイルデバイスによってキャプチャされた前記増分マップポイントを、更新された検索クエリ内で前記サーバに送信するための命令と
    をさらに含む、請求項30に記載の非一時的記憶媒体。
  33. 前記更新された前記同時位置推定および環境マッピングが、前記モバイルデバイスからの前記環境の視野よりも大きい前記環境のビューを含み、前記環境の前記原点が、前記モバイルデバイスの前記視野の外部にある、請求項32に記載の非一時的記憶媒体。
  34. モバイルデバイスのビュー内の環境の複数の画像を受信するための手段と、
    前記複数の画像を使用して、同時位置推定および環境マッピングを生成するための手段であって、前記同時位置推定および環境マッピングが、環境の3次元座標系内の複数の面を表現する複数のマップポイントを含む、手段と、
    第1のタイムインスタンスで、前記複数のマップポイントのセットを検索クエリとしてサーバに送信するための手段と、
    第2のタイムインスタンスで、前記サーバからクエリ応答を受信するための手段と、
    前記クエリ応答に少なくとも部分的に基づいて、前記環境内のオブジェクトを特定するための手段と
    を含み、
    前記モバイルデバイスが前記第1のタイムインスタンスで前記オブジェクトに対する第1の姿勢を有し、前記モバイルデバイスが前記第2のタイムインスタンスで前記オブジェクトに対する第2の姿勢を有する、装置。
JP2016500249A 2013-03-15 2014-02-13 クライアント−サーバベースの動的検索 Active JP6215442B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/843,607 US9495389B2 (en) 2013-03-15 2013-03-15 Client-server based dynamic search
US13/843,607 2013-03-15
PCT/US2014/016273 WO2014149262A1 (en) 2013-03-15 2014-02-13 Client-server based dynamic search

Publications (3)

Publication Number Publication Date
JP2016515254A JP2016515254A (ja) 2016-05-26
JP2016515254A5 JP2016515254A5 (ja) 2017-02-23
JP6215442B2 true JP6215442B2 (ja) 2017-10-18

Family

ID=50272695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016500249A Active JP6215442B2 (ja) 2013-03-15 2014-02-13 クライアント−サーバベースの動的検索

Country Status (5)

Country Link
US (1) US9495389B2 (ja)
EP (1) EP2973007A1 (ja)
JP (1) JP6215442B2 (ja)
CN (1) CN105009120B (ja)
WO (1) WO2014149262A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
US10533850B2 (en) 2013-07-12 2020-01-14 Magic Leap, Inc. Method and system for inserting recognized object data into a virtual world
WO2015006784A2 (en) 2013-07-12 2015-01-15 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
US20150124566A1 (en) 2013-10-04 2015-05-07 Thalmic Labs Inc. Systems, articles and methods for wearable electronic devices employing contact sensors
US11921471B2 (en) 2013-08-16 2024-03-05 Meta Platforms Technologies, Llc Systems, articles, and methods for wearable devices having secondary power sources in links of a band for providing secondary power in addition to a primary power source
WO2015081113A1 (en) 2013-11-27 2015-06-04 Cezar Morun Systems, articles, and methods for electromyography sensors
US9478029B2 (en) * 2014-10-23 2016-10-25 Qualcomm Incorporated Selection strategy for exchanging map information in collaborative multi-user SLAM systems
US9613273B2 (en) * 2015-05-19 2017-04-04 Toyota Motor Engineering & Manufacturing North America, Inc. Apparatus and method for object tracking
CN108604237B (zh) * 2015-12-01 2022-10-14 英特吉姆公司股份有限公司 个性化交互式智能搜索方法和系统
US9964955B2 (en) * 2016-08-04 2018-05-08 Canvas Technology, Inc. System and methods of determining a geometric pose of a camera based on spatial and visual mapping
WO2018098811A1 (zh) * 2016-12-02 2018-06-07 深圳前海达闼云端智能科技有限公司 定位方法和装置
US10163227B1 (en) 2016-12-28 2018-12-25 Shutterstock, Inc. Image file compression using dummy data for non-salient portions of images
US20180181844A1 (en) * 2016-12-28 2018-06-28 Facebook, Inc. Systems and methods for presenting content based on unstructured visual data
US10298837B2 (en) 2016-12-28 2019-05-21 Facebook, Inc. Systems and methods for presenting content based on unstructured visual data
US20180190033A1 (en) * 2016-12-30 2018-07-05 Facebook, Inc. Systems and methods for providing augmented reality effects and three-dimensional mapping associated with interior spaces
DE102017103986A1 (de) * 2017-02-27 2018-08-30 Vorwerk & Co. Interholding Gmbh Verfahren zum Betrieb eines sich selbsttätig fortbewegenden Roboters
CN107016120A (zh) * 2017-04-21 2017-08-04 北京视据科技有限公司 一种基于检索条件的电子地图生成方法及系统
EP3697297A4 (en) 2017-10-19 2020-12-16 Facebook Technologies, Inc. SYSTEMS AND METHODS FOR IDENTIFYING BIOLOGICAL STRUCTURES ASSOCIATED WITH NEUROMUSCULAR SOURCE SIGNALS
US11907423B2 (en) * 2019-11-25 2024-02-20 Meta Platforms Technologies, Llc Systems and methods for contextualized interactions with an environment
US11493993B2 (en) 2019-09-04 2022-11-08 Meta Platforms Technologies, Llc Systems, methods, and interfaces for performing inputs based on neuromuscular control
US11150730B1 (en) 2019-04-30 2021-10-19 Facebook Technologies, Llc Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
US11481030B2 (en) 2019-03-29 2022-10-25 Meta Platforms Technologies, Llc Methods and apparatus for gesture detection and classification
US11961494B1 (en) 2019-03-29 2024-04-16 Meta Platforms Technologies, Llc Electromagnetic interference reduction in extended reality environments
EP3853698A4 (en) 2018-09-20 2021-11-17 Facebook Technologies, LLC NEUROMUSCULAR TEXT ENTRY, WRITING AND DRAWING IN SYSTEMS WITH EXTENDED REALITY
CN113423341A (zh) 2018-11-27 2021-09-21 脸谱科技有限责任公司 用于可穿戴电极传感器系统的自动校准的方法和装置
US11868531B1 (en) 2021-04-08 2024-01-09 Meta Platforms Technologies, Llc Wearable device providing for thumb-to-finger-based input gestures detected based on neuromuscular signals, and systems and methods of use thereof
CN117745988A (zh) * 2023-12-20 2024-03-22 亮风台(上海)信息科技有限公司 一种用于呈现ar标签信息的方法与设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1111464A (zh) * 1993-06-30 1995-11-08 世嘉企业股份有限公司 图像处理装置及其方法和带图像处理装置的电子装置
US6801210B2 (en) * 2001-07-12 2004-10-05 Vimatix (Bvi) Ltd. Method and apparatus for image representation by geometric and brightness modeling
US8180486B2 (en) * 2006-10-02 2012-05-15 Honda Motor Co., Ltd. Mobile robot and controller for same
JP5037248B2 (ja) * 2007-07-17 2012-09-26 株式会社日立製作所 情報収集システムおよび情報収集ロボット
US8249302B2 (en) * 2009-06-30 2012-08-21 Mitsubishi Electric Research Laboratories, Inc. Method for determining a location from images acquired of an environment with an omni-directional camera
KR101619076B1 (ko) * 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
DE102009049849B4 (de) 2009-10-19 2020-09-24 Apple Inc. Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells
TWI391874B (zh) 2009-11-24 2013-04-01 Ind Tech Res Inst 地圖建置方法與裝置以及利用該地圖的定位方法
JP5471626B2 (ja) * 2010-03-09 2014-04-16 ソニー株式会社 情報処理装置、マップ更新方法、プログラム及び情報処理システム
US8971610B2 (en) * 2010-04-28 2015-03-03 Osaka Prefecture University Public Corporation Method and apparatus of compiling image database for three-dimensional object recognition
AU2011305154B2 (en) 2010-09-24 2015-02-05 Irobot Corporation Systems and methods for VSLAM optimization
IL208600A (en) 2010-10-10 2016-07-31 Rafael Advanced Defense Systems Ltd Real-time network-based laminated reality for mobile devices
US20120306850A1 (en) 2011-06-02 2012-12-06 Microsoft Corporation Distributed asynchronous localization and mapping for augmented reality
EP3680863B1 (en) * 2011-08-24 2024-01-10 Sony Group Corporation Information processing device, information processing method, and program
US8396254B1 (en) * 2012-02-09 2013-03-12 Google Inc. Methods and systems for estimating a location of a robot
US8830512B2 (en) * 2012-07-19 2014-09-09 Xerox Corporation Systems and methods for detecting a location of an image forming device using mobile device localization

Also Published As

Publication number Publication date
CN105009120A (zh) 2015-10-28
EP2973007A1 (en) 2016-01-20
US20140279860A1 (en) 2014-09-18
WO2014149262A1 (en) 2014-09-25
JP2016515254A (ja) 2016-05-26
US9495389B2 (en) 2016-11-15
CN105009120B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
JP6215442B2 (ja) クライアント−サーバベースの動的検索
US20140323148A1 (en) Wide area localization from slam maps
KR101585521B1 (ko) 장면 구조-기반 자가-포즈 추정
JP6348574B2 (ja) 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam
US9811731B2 (en) Dynamic extension of map data for object detection and tracking
US9031283B2 (en) Sensor-aided wide-area localization on mobile devices
JP5660648B2 (ja) マルチユーザ拡張現実におけるオンライン参照生成および追跡
KR101812158B1 (ko) 동적으로 구축된 환경 맵 데이터에 기초한 오브젝트 추적
EP2915138B1 (en) Systems and methods of merging multiple maps for computer vision based tracking
US9330471B2 (en) Camera aided motion direction and speed estimation
JP6456347B2 (ja) 平面固有の特徴のターゲットのinsitu生成
KR20140014298A (ko) 모바일 디바이스들에 대한 평면 맵핑 및 트래킹
US11335063B2 (en) Multiple maps for 3D object scanning and reconstruction
JP5973767B2 (ja) 対応点探索装置、そのプログラム及びカメラパラメータ推定装置
JP6393000B2 (ja) 3dマップに関する仮説的ラインマッピングおよび検証
Özden et al. A Hybrid Localization Framework for Mobile Devices
JP2020170390A (ja) 画像処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170118

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6215442

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250