JP2021530816A - 角検出のための方法および装置 - Google Patents

角検出のための方法および装置 Download PDF

Info

Publication number
JP2021530816A
JP2021530816A JP2021503756A JP2021503756A JP2021530816A JP 2021530816 A JP2021530816 A JP 2021530816A JP 2021503756 A JP2021503756 A JP 2021503756A JP 2021503756 A JP2021503756 A JP 2021503756A JP 2021530816 A JP2021530816 A JP 2021530816A
Authority
JP
Japan
Prior art keywords
image
corner
processing unit
corners
resolution
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
JP2021503756A
Other languages
English (en)
Other versions
JP7459051B2 (ja
JPWO2020023531A5 (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.)
Magic Leap Inc
Original Assignee
Magic Leap 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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2021530816A publication Critical patent/JP2021530816A/ja
Publication of JPWO2020023531A5 publication Critical patent/JPWO2020023531A5/ja
Priority to JP2023215648A priority Critical patent/JP2024019662A/ja
Application granted granted Critical
Publication of JP7459051B2 publication Critical patent/JP7459051B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • 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/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0147Head-up displays characterised by optical features comprising a device modifying the resolution of the displayed image
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

ユーザによって頭部に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、第1の解像度を有する第1の画像を取得し、第1の画像は、第1の角を有し、第2の解像度を有する第2の画像を決定し、第2の画像は、第1の角に対応する第2の角を有し、第2の画像は、第1の画像に基づき、第2の解像度は、第1の解像度未満であって、第2の画像内の第2の角を検出し、第2の画像内の第2の角の位置を決定し、少なくとも部分的に、第2の画像内の第2の角の決定された位置に基づいて、第1の画像内の第1の角の位置を決定するように構成される、処理ユニットとを含む。

Description

本開示は、頭部装着型画像ディスプレイデバイスと、頭部装着型画像ディスプレイデバイスによって生成された画像内の角を検出するための方法および装置とに関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のための「複合現実」(MR)システムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される。VRシナリオは、典型的には、実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ARシナリオは、典型的には、ユーザの周囲の実世界の可視化(すなわち、実世界視覚的入力に対する透過性)に対する拡張としてデジタルまたは仮想画像情報の提示を伴う。故に、ARシナリオは、実世界視覚的入力に対する透過性を伴う、デジタルまたは仮想画像情報の提示を伴う。
MRシステムは、カラーデータを生成および表示し得、これは、MRシナリオの現実性を増加させる。これらのMRシステムの多くは、カラー画像に対応する異なる(例えば、原)色または「フィールド」(例えば、赤色、緑色、および青色)内のサブ画像を高速で連続して順次投影させることによって、カラーデータを表示する。カラーサブ画像を十分に高レート(例えば、60Hz、120Hz等)で投影させることは、平滑なカラーMRシナリオをユーザの記憶にもたらし得る。
種々の光学システムは、MR(VRおよびAR)シナリオを表示するために、種々の深度において、カラー画像を含む、画像を生成する。いくつかのそのような光学システムは、2014年11月27日に出願された米国実用特許出願第14/555,585号(弁理士整理番号第ML.20011.00)(その内容は、完全に記載される場合と同様に、参照することによってその全体として明示的かつ完全に本明細書に組み込まれる)に説明される。
MRシステムは、少なくとも、ユーザの頭部に緩く結合され、したがって、ユーザの頭部が移動すると移動する、ウェアラブルディスプレイデバイス(例えば、頭部装着ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用し得る。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢(すなわち、ユーザの頭部の配向および/または場所)の変化を考慮するために更新(例えば、「ワーピング」)され得る。
実施例として、頭部装着ディスプレイデバイスを装着しているユーザが、ディスプレイ上の仮想オブジェクトの仮想表現を視認し、仮想オブジェクトが現れている面積の周囲を歩き回る場合、仮想オブジェクトは、視点毎にレンダリングされ、実空間を占有するオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部姿勢にマッチングし、没入感の増加を提供するように場面をレンダリングするために使用されることができる。
ARを有効にする、頭部装着ディスプレイデバイスは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明(または半透明)要素を通して見え、直接、環境内の実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳し、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューにわたって投影される。カメラが、頭部装着ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。
MRシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、空間内の個別の位置に位置する実際の物理的オブジェクトに対応しないという点で、「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に指向される光ビームによって刺激されるとき、頭部装着ディスプレイデバイスのユーザの脳(例えば、視覚中枢)内にのみ存在する。
ある場合には、頭部装着型画像ディスプレイデバイスは、実環境に対して仮想オブジェクトを表示し得、および/またはユーザが実環境に対して仮想オブジェクトを設置および/または操作することを可能にし得る。そのような場合、画像ディスプレイデバイスは、仮想オブジェクトが実環境に対して正しく変位され得るように、実環境に対するユーザを位置特定するように構成され得る。位置特定マップが、頭部装着型画像ディスプレイデバイスによって使用され、位置特定を実施し得る。特に、位置特定を実施するとき、画像ディスプレイデバイスは、リアルタイム入力画像を画像ディスプレイデバイスのカメラシステムから取得し、入力画像内の特徴と位置特定マップの特徴をマッチングさせ得る。
画像内の角を検出するための方法および装置が、本明細書に説明される。検出された角は、位置特定マップを作成するための特徴として利用され得る。代替として、角は、ユーザの位置特定のための位置特定マップの特徴とマッチングさせるための入力画像からの特徴として検出され得る。
ユーザによって頭部に装着されるために構成される、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、第1の解像度を有する第1の画像を取得し、第1の画像は、第1の角を有し、第2の解像度を有する第2の画像を決定し、第2の画像は、第1の画像内の第1の角と対応する、第2の角を有し、第2の画像は、第1の画像に基づき、第2の解像度は、第1の解像度未満であって、第2の画像内の第2の角を検出し、第2の画像内の第2の角の位置を決定し、少なくとも部分的に、第2の画像内の第2の角の決定された位置に基づいて、第1の画像内の第1の角の位置を決定するように構成される、処理ユニットとを含む。
随意に、処理ユニットは、第2の画像内の角のセットを検出するように構成され、角のセットは、第2の角を有する。
随意に、処理ユニットは、Harris角検出技法に基づいて、第2の画像内の角のセットを検出するように構成される。
随意に、処理ユニットは、1つ以上の基準に基づいて、第2の画像内の角のセットを検出するように構成される。
随意に、1つ以上の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内の1つ以上のオブジェクトを除外するための第1の基準を含む。
随意に、1つ以上の基準は、線形構成を有する、第2の画像内の1つ以上のオブジェクトを除外するための第2の基準を含む。
随意に、処理ユニットはまた、非最大値抑制を実施し、角のセット内の重複する検出された角を排除するように構成される。
随意に、非最大値抑制は、3×3非最大値抑制を含む。
随意に、処理ユニットは、ハードウェアおよびソフトウェアを備え、処理ユニットのハードウェアは、角のセットを検出するように構成され、処理ユニットのソフトウェアは、非最大値抑制を実施するように構成される。
随意に、処理ユニットは、空間ビニングを実施し、角のサブセットを角のセットから選択するように構成される。
随意に、処理ユニットは、第2の画像を第1の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第1の画像部分内の角のスコアに基づいて、かつ第1の画像部分に関して事前に規定された角の最大数に基づいて、1つ以上の角を第1の画像部分内の角から選択するステップとによって、空間ビニングを実施するように構成される。
随意に、処理ユニットは、ハードウェアおよびソフトウェアを備え、処理ユニットのハードウェアは、角のセットを検出するように構成され、処理ユニットのソフトウェアは、空間ビニングを実施するように構成される。
随意に、処理ユニットは、Harris角検出を第2の画像上に適用することによって、第2の画像内の第2の角を検出するように構成される。
随意に、処理ユニットは、Harris角検出を第1の画像上に適用することによって、第1の画像内の第1の角を検出するように構成される。
随意に、処理ユニットは、第1の角を含む、第1の画像内の角のセットを検出するように構成される。
随意に、処理ユニットはまた、少なくとも部分的に、第2の画像内の第2の角の位置に基づいて、第1の角を第1の画像内の角のセットから検出するように構成される。
随意に、処理ユニットは、第1の画像内の角のセットを検出するように構成される、ハードウェアと、第1の角を第1の画像内の角のセットから検出するように構成される、ソフトウェアとを備える。
随意に、処理ユニットは、第1の画像の第1の解像度と第2の画像の第2の解像度との間の関係に基づいて、第1の角の位置を決定するように構成される。
随意に、第2の角の位置は、第2の画像内のピクセル位置(xr,yr)と対応し、第2の画像内のピクセル位置(xr,yr)は、第1の画像内の複数のピクセル位置と対応し、処理ユニットは、第2の画像内のピクセル位置(xr,yr)に対する最良空間関係を有する、第1の画像内の複数のピクセル位置のうちの1つを選択することによって、第1の角の位置を決定するように構成される。
随意に、処理ユニットは、第1の画像を第2の画像に変換することによって、第2の画像を決定するように構成される、画像調節器を備える。
随意に、画像調節器は、第1の画像の第1の解像度をダウンスケールし、第2の解像度を有する第2の画像を取得するように構成される。
随意に、処理ユニットは、第2の角を含む、第2の画像内の角のセットを検出するように構成される、ハードウェアと、第1の画像内の第1の角の位置を決定するように構成される、ソフトウェアとを備える。
随意に、処理ユニットは、ハードウェアを備える。
随意に、処理ユニットのハードウェアは、第2の画像内の第2の角を検出するように構成される。
随意に、処理ユニットのハードウェアは、Harris角検出アルゴリズムを実行するように構成される。
随意に、処理ユニットは、第1の基準に基づいて動作するように構成される、角検出器を備える。
随意に、第1の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内のオブジェクトを除外する。
随意に、第1の基準は、λmin>閾値を含み、λmin=min(λ2,λ)であって、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、角検出器は、第2の基準にも基づいて動作するように構成される。
随意に、第2の基準は、第2の画像内の線形構成を伴うオブジェクトを除外する。
随意に、第2の基準は、λ/λ<閾値を含み、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、処理ユニットは、第1の定数k1に基づいて、第2の画像内の第2の角を検出するように構成される。
随意に、k1=R/(1+R)^2であって、Rは、任意の数である。
随意に、第1の定数k1は、0.1および0.2の間である。
随意に、第1の定数k1は、0.139である。
随意に、処理ユニットは、第2の定数k2に基づいて、第2の画像内の第2の角を検出するように構成される。
随意に、第2の定数k2は、0.01未満である。
随意に、第2の定数k2は、0.00478125である。
随意に、第2の定数k2は、第1の定数k1に基づく。
随意に、k2=(k1−1/16)/16である。
随意に、処理ユニットは、Det(H)に基づいて、第2の画像内の第2の角を検出するように構成され、Hは、行列である。
随意に、処理ユニットは、trace(H)に基づいて、第2の画像内の第2の角を検出するように構成され、Hは、行列である。
随意に、処理ユニットは、第1の定数および第2の定数に基づいて、第1のHarris角検出を実施するように構成され、第2の定数は、第1の定数と異なる。
随意に、第2の定数は、第1の定数に基づく。
随意に、処理ユニットは、非最大値抑制を実施するように構成される。
随意に、処理ユニットは、空間ビニングを実施するように構成される。
随意に、処理ユニットは、ソフトウェアを備える。
随意に、処理ユニットのソフトウェアは、非最大値抑制を実施するように構成される。
随意に、処理ユニットのソフトウェアは、空間ビニングを実施するように構成される。
随意に、第1の解像度は、VGA解像度を含む。
随意に、第2の解像度は、QVGA解像度を含む。
随意に、装置はさらに、第1の画像内の第1の角の位置を記憶するように構成される、非一過性媒体を含む。
随意に、処理ユニットは、少なくとも部分的に、第1の角の位置に基づいて、マップを作成するように構成される。
随意に、マップは、第1の角の位置と関連付けられる、マップ点を備える。
随意に、処理ユニットは、作成されたマップに基づいて、ユーザの位置特定を実施するように構成される。
随意に、処理ユニットは、少なくとも部分的に、第1の画像内の第1の角の位置に基づいて、第1の画像とマップとの間のマッチングを実施するように構成される。
頭部装着型画像ディスプレイデバイスによって実施される方法は、第1の解像度を有する第1の画像を取得するステップであって、第1の画像は、第1の角を有する、ステップと、第2の解像度を有する第2の画像を決定するステップであって、第2の画像は、第1の画像内の第1の角と対応する、第2の角を有し、第2の画像は、第1の画像に基づき、第2の解像度は、第1の解像度未満である、ステップと、第2の画像内の第2の角を検出するステップと、第2の画像内の第2の角の位置を決定するステップと、少なくとも部分的に、第2の画像内の第2の角の決定された位置に基づいて、第1の画像内の第1の角の位置を決定するステップとを含む。
随意に、第2の角は、検出された第2の画像内の角のセットの一部である。
随意に、第2の画像内の角のセットは、Harris角検出技法に基づいて検出される。
随意に、第2の画像内の角のセットは、1つ以上の基準に基づいて検出される。
随意に、1つ以上の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内の1つ以上のオブジェクトを除外するための第1の基準を含む。
随意に、1つ以上の基準は、線形構成を有する、第2の画像内の1つ以上のオブジェクトを除外するための第2の基準を含む。
随意に、本方法はさらに、非最大値抑制を実施し、角のセット内で重複する検出された角を排除するステップを含む。
随意に、非最大値抑制は、3×3非最大値抑制を含む。
随意に、方法は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、非最大値抑制は、処理ユニットのソフトウェアによって実施される。
随意に、本方法はさらに、空間ビニングを実施し、角のサブセットを角のセットから選択するステップを含む。
随意に、本方法はさらに、第2の画像を第1の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第1の画像部分内の角のスコアに基づいて、かつ第1の画像部分に関して事前に規定された角の最大数に基づいて、1つ以上の角を第1の画像部分内の角から選択するステップとによって、空間ビニングを実施するステップを含む。
随意に、方法は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、空間ビニングは、処理ユニットのソフトウェアによって実施される。
随意に、第2の画像内の第2の角は、Harris角検出を第2の画像上に適用することによって検出される。
随意に、本方法はさらに、Harris角検出を第1の画像上に適用することによって、第1の画像内の第1の角を検出するステップを含む。
随意に、本方法はさらに、第1の角を含む第1の画像内の角のセットを検出するステップを含む。
随意に、本方法はさらに、少なくとも部分的に、第2の画像内の第2の角の位置に基づいて、第1の角を第1の画像内の角のセットから識別するステップを含む。
随意に、第1の画像内の角のセットは、ハードウェアによって検出され、第1の角は、ソフトウェアによって、第1の画像内の角のセットから識別される。
随意に、第1の角の位置は、第1の画像の第1の解像度と第2の画像の第2の解像度との間の関係に基づいて決定される。
随意に、第2の角の位置は、第2の画像内のピクセル位置(xr,yr)と対応し、第2の画像内のピクセル位置(xr,yr)は、第1の画像内の複数のピクセル位置と対応し、第1の角の位置は、第2の画像内のピクセル位置(xr,yr)に対する最良空間関係を有する、第1の画像内の複数のピクセル位置のうちの1つを選択することによって決定される。
随意に、第2の画像は、第1の画像を第2の画像に変換することによって決定される。
随意に、第1の画像は、第1の画像の第1の解像度をダウンスケールし、第2の解像度を有する第2の画像を取得することによって、第2の画像に変換される。
随意に、第2の角は、検出された第2の画像内の角のセットの一部であって、第1の画像内の第1の角の位置は、ソフトウェアによって決定される。
随意に、方法は、ハードウェアを備える、処理ユニットによって実施される。
随意に、第2の画像内の第2の角は、処理ユニットのハードウェアによって検出される。
随意に、処理ユニットのハードウェアは、Harris角検出アルゴリズムを実行するように構成される。
随意に、方法は、角検出器を備える、処理ユニットによって実施され、角検出器は、第1の基準に基づいて動作するように構成される。
随意に、第1の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内のオブジェクトを除外する。
随意に、第1の基準は、λmin>閾値を含み、λmin=min(λ2,λ)であって、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、角検出器は、第2の基準にも基づいて動作するように構成される。
随意に、第2の基準は、第2の画像内の線形構成を伴うオブジェクトを除外する。
随意に、第2の基準は、λ/λ<閾値を含み、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、第2の画像内の第2の角は、第1の定数k1に基づいて検出される。
随意に、k1=R/(1+R)^2であって、Rは、任意の数である。
随意に、第1の定数k1は、0.1および0.2の間である。
随意に、第1の定数k1は、0.139である。
随意に、第2の画像内の第2の角は、第2の定数k2に基づいて検出される。
随意に、第2の定数k2は、0.01未満である。
随意に、第2の定数k2は、0.00478125である。
随意に、第2の定数k2は、第1の定数k1に基づく。
随意に、k2=(k1−1/16)/16である。
随意に、第2の画像内の第2の角は、Det(H)に基づいて検出され、Hは、行列である。
随意に、第2の画像内の第2の角は、Trace(H)に基づいて検出され、Hは、行列である。
随意に、第2の角は、第1の定数および第2の定数に基づいて、第1のHarris角検出を実施することによって検出され、第2の定数は、第1の定数と異なる。
随意に、第2の定数は、第1の定数に基づく。
随意に、本方法はさらに、非最大値抑制を実施するステップを含む。
随意に、本方法はさらに、空間ビニングを実施するステップを含む。
随意に、方法は、ソフトウェアを備える、処理ユニットによって実施される。
随意に、本方法はさらに、処理ユニットのソフトウェアによって、非最大値抑制を実施するステップを含む。
随意に、本方法はさらに、処理ユニットのソフトウェアによって、空間ビニングを実施するステップを含む。
随意に、第1の解像度は、VGA解像度を含む。
随意に、第2の解像度は、QVGA解像度を含む。
随意に、本方法はさらに、第1の角の位置を非一過性媒体内に記憶するステップを含む。
随意に、本方法はさらに、少なくとも部分的に、第1の角の位置に基づいて、マップを作成するステップを含む。
随意に、マップは、第1の角の位置と関連付けられる、マップ点を備える。
随意に、本方法はさらに、作成されたマップに基づいて、画像ディスプレイデバイスのユーザの位置特定を実施するステップを含む。
随意に、本方法はさらに、少なくとも部分的に、第1の画像内の第1の角の位置に基づいて、第1の画像とマップとの間のマッチングを実施するステップを含む。
本開示の付加的および他の目的、特徴、ならびに利点は、詳細な説明、図、および請求項に説明される。
図面は、本開示の種々の実施形態の設計および可用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して類似参照番号によって表されることに留意されたい。本開示の種々の実施形態の前述および他の利点ならびに目的を得る方法をより深く理解するために、簡単に前述された開示の詳細な説明が、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされるべきではないことを理解した上で、本開示は、付随の図面の使用を通して付加的具体性および詳細とともに説明ならびに記載されるであろう。
図1は、いくつかの実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
図2は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
図3は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
図4は、他の実施形態による、画像ディスプレイデバイスを有する、別の画像ディスプレイシステムを図示する。
図5は、フレームを複数の深度平面に表示する、画像ディスプレイデバイスを図示する。
図6は、画像ディスプレイデバイスが、画像ディスプレイデバイスのユーザを位置特定し、および/または他の機能を実施することを可能にするための、マップを決定するための方法を図示する。
図7は、複数のセルに分割されている環境の実施例を図示する。
図8は、画像ディスプレイデバイスの処理ユニットを図示する。
図9A−9Bは、固有値および/またはHarrisスコアを使用した像点の分類を図示する。
図10は、図8の処理ユニットのための信号フローを図示する。
図11は、図8の処理ユニットによって実施される角検出の実施例を図示する。
図12は、図8の処理ユニットの変形例を図示する。
図13は、図8の処理ユニットによって実施される方法を図示する。
図14は、いくつかの実施形態による、特殊処理システムを図示する。
本開示の種々の実施形態は、頭部装着ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
種々の実施形態は、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
ある場合には、ユーザの環境に対して頭部装着型画像ディスプレイデバイスのユーザを位置特定するために、環境の位置特定マップが、取得される。次いで、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされ得る。いくつかの実施形態では、位置特定において使用するための画像からの特徴として角のセットを取得するために、画像は、最初に、角検出を経て、検出された角の初期セットを取得する必要があり得る。検出された角の初期セットは、次いで、位置特定目的のための検出された角の最終セットを取得するために、さらに処理され、例えば、非最大値抑制および空間ビニング等を経る。しかしながら、非最大値抑制、空間ビニング、または他のタイプの処理は、有意な算出リソースを要求し得、完了に長くかかり得る。故に、位置特定目的のための角のセットを取得するための新規方法および装置を有することが有利であろう。いくつかの実施形態では、第1の画像は、低減された解像度を有する第2の画像を取得するように調節される。第2の画像は、位置特定のための角のセットを取得するために、処理され、角を検出し、非最大値抑制および空間ビニングを実施する。低減された解像度を伴う第2の画像に基づいて取得される角のセットは、第1の画像に基づいて、位置が精緻化され、位置特定目的のための改良された位置を伴う角の最終セットを取得し得る。
図1−4は、種々の実施形態における、画像ディスプレイシステム100の種々のコンポーネントを図示する。画像ディスプレイシステム100は、画像ディスプレイデバイス101と、画像ディスプレイデバイスデバイス101のための入力を提供するための装置200とを含む。装置200は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス101は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。画像ディスプレイデバイス101は、エンドユーザ50によって装着される、フレーム構造102と、ディスプレイサブシステム110がエンドユーザ50の眼の正面に位置付けられるように、フレーム構造102によって担持される、ディスプレイサブシステム110と、スピーカ106がエンドユーザ50の外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザ50の他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造102によって担持される、スピーカ106とを含む。ディスプレイサブシステム110は、エンドユーザ50の眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステム110は、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
図示される実施形態では、ディスプレイサブシステム110は、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステム110は、部分的に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザ50の眼に伝送されるように、エンドユーザ50の眼と周囲環境との間のエンドユーザ50の視野内に位置付けられる。
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼50に伝送される。投影サブシステムは、光ファイバベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点平面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点平面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つ以上の層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステム110は、単眼または両眼用であってもよい。
画像ディスプレイデバイス101はまた、エンドユーザ50の頭部54の位置ならびに移動および/またはエンドユーザ50の眼位置ならびに眼球間距離を検出するためにフレーム構造102に搭載される、1つ以上のセンサ(図示せず)を含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレーム102が、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
画像ディスプレイデバイス101はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザ50の頭部54の瞬間位置を検出し(例えば、フレーム102に結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザ50の頭部54の位置を予測してもよい。エンドユーザ50の頭部54の瞬間位置を検出することは、エンドユーザ50が見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザ50の眼を追跡してもよい。
画像ディスプレイデバイス101はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。
画像ディスプレイデバイス101の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つ以上のフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つ以上の付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出ならびにディスプレイサブシステム110の画像投影アセンブリの動作を制御してもよい。
画像ディスプレイデバイス101の種々の処理コンポーネントは、分散型サブシステム内に物理的に含有されてもよい。例えば、図1−4に図示されるように、画像ディスプレイデバイス101は、有線導線または無線コネクティビティ136等によって、ディスプレイサブシステム110およびセンサに動作可能に結合される、ローカル処理およびデータモジュール130を含んでもよい。ローカル処理およびデータモジュール130は、フレーム構造102(図1)に固定して取り付けられる、ヘルメットまたは帽子56(図2)に固定して取り付けられる、エンドユーザ50の胴体58に除去可能に取り付けられる(図3)、またはベルト結合式構成においてエンドユーザ50の腰部60に除去可能に取り付けられる(図4)等、種々の構成において搭載されてもよい。画像ディスプレイデバイス101はまた、これらの遠隔モジュール132、134が、相互に動作可能に結合され、ローカル処理およびデータモジュール130へのリソースとして利用可能であるように、有線導線または無線コネクティビティ138、140等によってローカル処理およびデータモジュール130に動作可能に結合される、遠隔処理モジュール132および遠隔データリポジトリ134を含んでもよい。
ローカル処理およびデータモジュール130は、電力効率的プロセッサまたはコントローラならびにフラッシュメモリ等のデジタルメモリを備えてもよく、その両方とも、可能性として、処理または読出後、ディスプレイサブシステム110への通過のために、センサから捕捉された、および/または、遠隔処理モジュール132ならびに/もしくは遠隔データリポジトリ134を使用して入手および/または処理された、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。遠隔処理モジュール132は、データおよび/または画像情報を分析および処理するように構成される、1つ以上の比較的に強力なプロセッサまたはコントローラを備えてもよい。遠隔データリポジトリ134は、比較的に大規模なデジタルデータ記憶設備を備えてもよく、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール130で実施され、任意の遠隔モジュールからの完全に自律的使用を可能にする。
上記に説明される種々のコンポーネント間の結合136、138、140は、ワイヤまたは光学連通を提供するための1つ以上の有線インターフェースもしくはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つ以上の無線インターフェースもしくはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。なおもさらなる実装では、有線および無線通信の選択肢は、図1−4に図示されるものと異なり得る。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
いくつかの実施形態では、ユーザ配向モジュールは、ローカル処理およびデータモジュール130内に含有される一方、CPUおよびGPUは、遠隔処理モジュール内に含有される。代替実施形態では、CPU、GPU、またはその一部は、ローカル処理およびデータモジュール130内に含有されてもよい。3Dデータベースは、遠隔データリポジトリ134と関連付けられる、またはローカルで配置されることができる。
いくつかの画像ディスプレイシステム(例えば、VRシステム、ARシステム、MRシステム等)は、個別の深度平面から生じるように現れる画像を生成するための深度平面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。言い換えると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)が、LOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素(「LOE」、例えば、平面導波管)内に内蔵される、またはその上にインプリント/エンボス加工されてもよい。DOEは、特定の深度平面から生じるように現れるように、それを通してLOEから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ(「集光器」)を使用して生成されてもよい。
例えば、第1のLOEは、光学無限遠深度平面(0ジオプタ)から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のLOEは、2メートルの距離(1/2ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のLOEは、1メートルの距離(1ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたLOEアセンブリを使用することによって、複数の深度平面が、作成され得、各LOEは、特定の深度平面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のLOEを含んでもよいことを理解されたい。しかしながら、少なくともN個のスタックされたLOEが、N個の深度平面を生成するために要求される。さらに、N、2N、または3N個のスタックされたLOEが、RGBカラー画像をN個の深度平面に生成するために使用されてもよい。
3−D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム100(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度平面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。言い換えると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D平面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、もしくはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度平面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。
多平面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度平面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図5を参照すると、多平面焦点システムは、フレームを固定された深度平面150(例えば、図5に示される6つの深度平面150)に表示し得ることを理解されたい。MRシステムは、任意の数の深度平面150を含むことができるが、1つの例示的多平面焦点システムは、6つの固定された深度平面150をZ方向に有する。仮想コンテンツを6つの深度平面150のうちの1つ以上のものに生成する際、3−D知覚が、ユーザがユーザの眼からの可変距離における1つ以上の仮想オブジェクトを知覚するように作成される。ヒトの眼が、遠く離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度平面150が、図5に示されるように、眼のより近くに生成される。他の実施形態では、深度平面150は、相互から離れるように等距離に設置されてもよい。
深度平面位置150は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度平面1は、1/3ジオプタ離れてもよく、深度平面2は、0.3ジオプタ離れていてもよく、深度平面3は、0.2ジオプタ離れていてもよく、深度平面4は、0.15ジオプタ離れていてもよく、深度平面5は、0.1ジオプタ離れてもよく、深度平面6は、無限遠(すなわち、0ジオプタ離れる)を表し得る。他の実施形態は、深度平面150を他の距離/ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度平面150に生成する際、ユーザは、仮想オブジェクトを3次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度平面6における無限遠に現れる間、第1の仮想オブジェクトが深度平面1内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度平面6に、次いで、深度平面5に、そして、仮想オブジェクトがユーザの非常に近く現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。別の実施形態では、全6つの深度平面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから0.5メートル離れたコーヒーカップである場合、全6つの深度平面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の3−Dビューを与え得る。
いくつかの実施形態では、画像ディスプレイシステム100(例えば、VRシステム、ARシステム、MRシステム等)は、多平面焦点システムとして機能してもよい。言い換えると、全6つのLOEは、6つの固定された深度平面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図5からの深度平面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度平面から生じるように現れる画像を作成するように構成される、LOE(例えば、図5からの深度平面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度平面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。
画像ディスプレイシステム100は、Z軸(すなわち、深度平面)に沿って種々の場所から生じるように現れ、3−D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度平面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動−遠近調節競合を最小限にまたは排除する。
位置特定マップ
図6は、画像ディスプレイデバイス101が、画像ディスプレイデバイス101のユーザ50を位置特定することを可能にするための、マップを決定するための方法を図示する。図に示されるように、ユーザ50が、画像ディスプレイデバイス101を使用しているとき、ユーザ50は、異なる視認場所および/または方向を達成するために、画像ディスプレイデバイス101を移動させることができる。例えば、ユーザ50は、その頭部を旋回させ、その身体を旋回させ、および/または異なる場所に歩行し得る。いくつかの実施形態では、画像ディスプレイデバイス101は、前方に面したカメラを含む。したがって、画像ディスプレイデバイス101を移動させることによって、画像ディスプレイデバイス101の前方に面したカメラの視野は、適宜、変化するであろう。ユーザ50が、異なる姿勢にある間、画像ディスプレイデバイス101のカメラは、対応する画像を生成する。図示される実施例では、ユーザ50は、その頭部を旋回させることによって、3つの異なる姿勢を達成し、画像ディスプレイデバイス101の前方に面したカメラは、3つの姿勢と対応する、3つの画像200a−200cを生成する。画像200a−200cはそれぞれ、環境内であるオブジェクト202を捕捉する。例えば、画像200bは、オブジェクト202a−202dを捕捉し、画像200cは、オブジェクト202b−202eを捕捉する。ユーザ50によって達成される姿勢に応じて、環境内のあるオブジェクトが、カメラの複数の画像202内に捕捉され得、ある他のオブジェクトは、1つのみの画像200内に捕捉され得る。いくつかの実施形態では、画像ディスプレイデバイス101の処理ユニット130は、画像200を画像ディスプレイデバイス101のカメラから取得し、画像処理を実施し、特徴を画像200から抽出し、マップ220を作成するように構成される。マップ200は、画像ディスプレイデバイス101の非一過性媒体内に記憶されてもよく、処理ユニット130によって使用され、ユーザ50の位置特定を実施してもよい。したがって、マップ220は、位置特定マップとして機能する。図示される実施形態では、マップ220は、ユーザ50の異なる姿勢によって検出された環境の3次元表現である。
いくつかの実施形態では、ユーザ50を囲繞する環境は、複数のセルに分割されてもよい。そのような場合、上記のマップ作成技法が、環境の異なるセルのために採用されてもよい。図7は、複数のセル300に分割されている環境の実施例を図示する。各セル300は、環境の一部を表す、定義された3次元空間である。各セル300は、所定のサイズおよび形状を有してもよい。例えば、各セル300は、2m×2mの占有面積と、2mの高さとを有してもよい。各セル300は、他の実施形態では、他の占有面積寸法および/または他の高さを有してもよい。また、他の実施形態では、各セル300は、示される矩形構成を有していなくてもよく、他の形状を有してもよい。図示される実施形態では、セル300は全て、同一形状および寸法を有する。他の実施形態では、セル300のうちの少なくとも2つは、異なる個別の寸法および/または形状を有してもよい。
いくつかの実施形態では、画像ディスプレイデバイス101のユーザ50は、異なるセル300に対応する環境内の異なる場所に向かってもよく、画像ディスプレイデバイス101のカメラを使用して、対応するセル内の空間を走査し、環境の個別のセルのための異なるマップを取得してもよい。マップは、画像ディスプレイデバイス101の処理ユニット130がユーザ50の位置特定を実施することを可能にするために、画像ディスプレイデバイス101の非一過性媒体内に記憶されてもよい。
ユーザ50を位置特定するためのマップの使用の間、画像ディスプレイデバイス101のカメラは、ユーザ50のある位置および配向に基づいて、環境の画像を取得する。そのようなカメラ画像は、画像ディスプレイデバイス101の処理ユニット130がユーザ50の位置を追跡することを可能にするために、追跡画像としての役割を果たす(追跡マップ)。特に、画像ディスプレイデバイス101の処理ユニット130は、カメラからの画像を処理し、画像内の特徴がマップ220内のある特徴とマッチングするかどうかを決定する。マッチングが、見出される場合、処理ユニット130は、次いで、マッチングされる特徴に基づいて、ユーザ50の位置および配向を決定してもよい。いくつかの実施形態では、マップ220は、画像ディスプレイデバイス101のカメラによって提供される追跡画像より少ない情報(例えば、特徴)を含有し得る。これは、処理ユニット130が追跡画像とマップ220を効率的にマッチングさせることを可能にするため、有利である。また、いくつかの実施形態では、マップ220は、「規準的マップ」と呼ばれ得る。位置特定を実施するとき、処理ユニット130は、特徴抽出を実施し、特徴をカメラ画像(追跡画像)から抽出し、特徴と規準的マップ内のものをマッチングさせる。1つの実装では、処理ユニット130は、追跡画像と規準的マップとの間の6自由度変換を見出し、ユーザ50を位置特定するように構成される。いったんユーザ50が、マップを使用して、その環境に対して正常に位置特定されることができると、処理ユニット130は、次いで、ユーザが、マップを使用して、仮想コンテンツを環境に対して設置する、前のセッションからの仮想コンテンツを読み出す、他のユーザと仮想コンテンツを共有する等を行うことを可能にし得る。
画像ディスプレイデバイス101の使用の間、処理ユニット130は、画像ディスプレイデバイス101のカメラシステムによって提供される画像内の角検出を実施する必要があり得る。例えば、いくつかの実施形態では、カメラ画像を使用してマップ220を決定するとき、処理ユニット130は、これらの画像内の角を検出する必要があり得る。検出された角は、処理ユニット130によって、マップ220を構築するための特徴として利用されてもよい。また、マップ220を使用して位置特定を実施するとき、処理ユニット130は、リアルタイム入力画像内の特徴とマップ220の特徴をマッチングさせる必要があり得る。故に、処理ユニット130は、リアルタイム入力画像内で角を検出するように構成されてもよい。角は、角が、概して、異なる視認方向から検出可能であるという意味において、概して、より安定した特徴である。故に、画像内の角の検出能力は、視点の変化によって有意に影響され得ない。したがって、角は、入力画像とマップ220との間でマッチングさせるための良好な特徴である。角はまた、異なる時間および異なる視認方向で生成された画像間のステレオマッチングにおいて使用するための良好な特徴である。
角検出
図8は、処理ユニット130を図示し、特に、角検出を実装するためのコンポーネントを示す。図に示されるように、処理ユニット130は、ハードウェア410と、ソフトウェア420とを含む。処理ユニット130はまた、ガンマ補正器412と、画像調節器414と、角検出器416と、非最大値抑制器422と、空間ビニングモジュール424と、角位置決定器426とを含む。図示される実施形態では、ガンマ補正器412、画像調節器414、および角検出器416は、処理ユニット130のハードウェア410を使用して実装される。また、図示される実施形態では、非最大値抑制器422、空間ビニングモジュール424、および角位置決定器426は、処理ユニット130のソフトウェア420を使用して実装される。
他の実施形態では、ガンマ補正器412、画像調節器414、角検出器416、または前述の任意の組み合わせは、処理ユニット130のソフトウェア420を使用して実装されてもよい。また、他の実施形態では、非最大値抑制器422、空間ビニングモジュール424、角位置決定器426、または前述の任意の組み合わせは、処理ユニット130のハードウェア410を使用して実装されてもよい。
ガンマ補正器412は、ピクセル値と輝度との間の非線形関係を調節するように構成される。例えば、いくつかの実施形態では、ガンマ補正器412は、その関係が、線形またはオリジナル未加工画像におけるものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節するように構成されてもよい。
画像調節器414は、画像を取得し、画像の解像度をダウンスケールし、調節された画像を提供するように構成される。いくつかの実施形態では、画像調節器414は、第1の解像度を有する、第1の画像を取得し、第1の画像をダウンスケールし、第1の解像度未満の第2の解像度を有する第2の画像を取得するように構成される。例えば、ある場合には、第1の画像は、VGA解像度を有してもよく、第2の画像は、QVGA解像度を有してもよい。そのような場合、第2の画像は、第1の画像のものの4分の1である、ピクセルの数を有する。他の実施例では、第2の画像は、第1の画像に関するものの他の割合である、ピクセルの数を有してもよい。
角検出器416は、1つ以上の基準に基づいて、画像内の角を検出するように構成される。いくつかの実施形態では、角検出器426は、Harris角検出技法を使用して、画像内の角を検出するように構成される。Harris角検出は、各ピクセルの勾配を計算することによって達成される。絶対勾配値が、2つの方向(例えば、直交方向)の両方において大きい(例えば、ある閾値を上回る)場合、角検出器416は、ピクセルを角として決定し得る。Harris角検出技法の1つの実装では、以下のアルゴリズムが、画像内のピクセル毎にスコアを計算するために採用される。
(1)画像のxおよびy導関数を算出する
Figure 2021530816
式中、GおよびGは、一次方向微分係数である。ある場合には、GおよびGは、グレー値および差分演算子を方向x、yに畳み込むことによって計算されてもよい。
(2)ピクセル毎に導関数の積を算出する
Figure 2021530816
(3)各ピクセルにおける導関数の積の和を算出する
Figure 2021530816
(4)各ピクセル(x,y)において行列を定義する
Figure 2021530816
代替として、行列Hは、以下のように表されてもよい。
Figure 2021530816
式中、(I,I)は、(x,y)における勾配である。
(5)ピクセル毎にスコア(Harris応答)を算出する
R=Det(H)−k(Trace(H))^2
式中、Det(H)=λλであって、Trace(H)=λ+λであって、λおよびλは、Hの固有値である。
いくつかの実施形態では、Harris応答Rおよび/または固有値λ1,λは、角検出器416によって、角検出のための1つ以上の基準において使用されてもよい。図9Aは、Harrisスコア化関数に従う応答Rおよび/または固有値を使用した像点の分類を示す。図9Bは、Shi−Tomasi基準に従う固有値を使用した像点の分類を示す。例えば、図9A−9Bに示されるように、固有値λ1,λが両方とも、小さい場合、ピクセルは、平坦領域の一部であり得る。故に、角検出器416は、少なくとも部分的に、min(λ1,λ)>閾値という基準に基づいて、角を検出するように構成されてもよい。別の実施例として、図9A−9Bに示されるように、より大きい固有値λが、より小さい固有値λより閾値だけ大きい場合、ピクセルは、線形構成(例えば、線、縁等)を伴うオブジェクトの一部であり得る。故に、角検出器416は、少なくとも部分的に、λ/λ<閾値という基準に基づいて、角を検出するように構成されてもよい。いくつかの実施形態では、角検出器416は、基準の両方に基づいて、角を検出するように構成されてもよい。
(1) min(λ1,λ)>閾値T1
(2) λ/λ<閾値T2
いくつかの実施形態では、閾値T1は、300であるように設定されてもよい。他の実施形態では、閾値T1は、300と異なる他の値を有してもよい。いくつかの実施形態では、閾値T2は、5であるように設定されてもよい。他の実施形態では、閾値T2は、5と異なる他の値を有してもよい。
他の実施形態では、上記の2つの基準は、以下のように、Det(H)およびTrace(H)の観点から表されてもよい。
Trace(H)>2T1およびDet(H)−T1Trace(H)+T1^2>0
Det(H)−T2/((1+T2)^2)Trace(H)^2>0
そのような場合、角検出器416は、以下のように、異なるk(k1、k2)の2つのHarris応答を使用して、DetおよびTraceを計算するように構成されてもよい。
(1)k1>0に基づくHarris応答(式中、T2=5であるとき、k1=T2/((1+T2)^2)=0.139)
(2)Trace^2=(k2に基づくHarris応答−k1に基づくHarris応答)/(k1−k2)>4T1^2
いくつかの実施形態では、k2は、計算を簡略化するであろうように選択されてもよい。例えば、上記の方程式(2)は、以下のように書き直されてもよい。
(2)(k2に基づくHarris応答−k1に基づくHarris応答)>(4T1^2)(k1−k2)
そのような場合、k2は、右項((4T1^2)(k1−k2))が1になるように選択されてもよく、評価は、左側の式が1を上回ることに基づいて、簡略化されてもよい。いくつかの実施形態では、k2は、以下の式に基づいて計算されてもよい。
K2=(k1−1/16)/16
故に、k1が、0.139に設定される場合、k2は、上記の方程式に基づいて、0.00478125に等しい。
k1およびk2は、上記の値を有するように限定されず、他の実施形態では、他の値を有してもよいことに留意されたい。例えば、他の実施形態では、k1は、0.1〜0.2の任意の場所の値を有してもよい。また、例えば、他の実施形態では、k2は、0.001未満の値を有してもよい。
加えて、本明細書で使用されるように、用語「角」は、2つの直線間の交点に限定されず、また、2つの線(例えば、直線)を接続する曲線に沿った任意の点を指し得、曲線は、曲率半径を有してもよい(曲率半径が小さいほど、「角」が急峻になるように)ことに留意されたい。
いくつかの実施形態では、角検出器416は、1回以上の回数、Harris角検出を第1の画像上に適用し、1つ以上の基準に基づいて、第1の画像内の角のセットを検出するように構成されてもよい。角検出器416はまた、1回以上の回数、Harris角検出を第2の画像上に適用し、1つ以上の基準に基づいて、第2の画像内の角のセットを検出するように構成されてもよい。1つ以上の基準は、ある所望の特徴を伴う角のみが検出されるように選択されてもよい。
また、角検出器416は、上記の式および値の実施例に基づいて角を検出するように限定されず、角検出器416は、上記の式の派生形、変形例、および/または修正であり得る、他の式に基づいて角を検出するように構成されてもよいことに留意されたい。加えて、他の実施形態では、角検出器416は、Harris角検出技法と異なる他の角検出技法に基づいて、角を検出するように構成されてもよい。
非最大値抑制器422は、同一角の重複検出が防止されるように、検出された角のために非最大値抑制を実施するように構成される。ある場合には、画像の画像解像度および/または角検出が実装される様式に起因して、同一角が、複数回、検出され得る。例えば、角検出器416は、同一角を相互に近い3つの場所において3回検出し得る(実際には、それらの3つの検出された角が全て、画像内の同一角に関するものであるとき)。したがって、本明細書で使用されるように、用語「角」は、複数回検出される、1つの角または角のインスタンスを指し得る。いくつかの実施形態では、非最大値抑制器422は、3×3非最大値抑制を実施するように構成されてもよい。そのような場合、3×3ピクセル領域内で検出された複数の角が存在する場合、非最大値抑制器422は、本領域内の複数の検出された角のうちの1つを検出された角として選択するであろう。1つの実装では、非最大値抑制器422は、領域内の個別の複数の検出された角に関する角スコアを決定し、最高スコアを伴う角をその領域に関する検出された角として選択するように構成されてもよい。スコアは、検出された角が検出された場所にある確率または検出された角の位置の正確度を示してもよい。
空間ビニングモジュール424は、画像の異なる領域が検出された角の略均一分布を有するであろうように、所与の画像に関して検出された角のうちのあるものを選択するように構成される。特に、非最大値抑制器422が、重複の検出された角を除去後、所与の画像に関して、依然として、多くの検出された角が存在し得、および/または残りの検出された角は、画像の異なる領域内に異なる分布を有し得る。空間ビニングモジュール424は、画像の異なる領域はある基準を満たす、ある最大数の検出された角を有するであろうように、検出された角のサブセットを選択するように構成される。例えば、いくつかの実施形態では、第2の画像は、4つの領域に分割されてもよい。4つの領域は、以下のように、異なる個別の数の検出された角および個別のスコアを有し得る。
領域1:(C1、0.7)、(C2、0.8)、(C3、0.85)、(C4、0.9)
領域2:(C5、0.6)、(C6、0.65)
領域3:(C7、0.66)、(C8、0.82)
領域4:(C9、0.9)、(C10、0.88)、(C11、0.63)
上記の実施例では、領域1は、3つの検出された角C1−C4を有し、領域2は、2つの検出された角C5−C6を有し、領域3は、2つの検出された角C7−C8を有し、領域4は、3つの検出された角C9−C11を有する。領域毎に所望される角の最大数が、3であるように選択される場合、および角を選択するための基準が、角が0.7またはより高いスコアを有していなければならないことである場合、空間ビニングモジュール424は、異なる個別の領域1−4に関して、以下の角を選択し得る。
領域1:C2、C3、C4(角C1は、領域1内に最低スコアを有し、したがって、領域1内に最高スコアを伴う3つの角が、選択され、空間ビニングモジュール424は、角の最大数が実施例では3であるように事前に規定されているため、4つ全ての角C1−C4を選択することができないことに留意されたい)。
領域2:角は選択されない(角C5およびC6が両方とも、最小スコア基準を満たさない、スコアを有するため)。
領域3:角C8のみが選択される(角C7が、最小スコア基準を満たさない、スコアを有するため)。
領域4:角C9およびC10のみが選択される(角C11が、最小スコア基準を満たさない、スコアを有するため)。
角位置決定器426は、個別の検出された角の最終位置を決定するように構成される。角は、低減された解像度を伴う画像に基づいて、検出器416によって検出された角であるため、より高い解像度画像に基づいて、これらの検出された角の位置を精緻化することが望ましくあり得る。議論されるように、いくつかの実施形態では、画像調節器414は、第1の解像度を伴う第1の画像を第2の解像度を伴う第2の画像に変換するように構成される。また、議論されるように、いくつかの実施形態では、角を検出するために使用される、第2の画像の第2の解像度は、第1の画像の第1の解像度の4分の1である。本実施例に従って、検出された角の位置として識別された第2の画像内のピクセル毎に、第1の画像内に、検出された角と対応する、4つの対応するピクセルが存在する。故に、角位置決定器426は、第1の画像内の4つのピクセル(第2の画像内の検出された角のピクセルと対応する)のうちの1つを検出された角として選択するように構成されてもよい。
1つの実装では、角位置決定器426は、第1の画像内の検出された1つ以上の角に基づいて、(第1の画像内の4つのピクセルから)1つのピクセルを選択するように構成される。例えば、角検出器416は、第1の画像内に、第2の画像内の角の座標(xr,yr)に近接近する2つの角が存在することを検出し得る。例えば、第1の画像内の2つの角の座標は、角位置決定器426によって、(x1,y1)、(x2,y2)として決定され得る。次に、角位置決定器426は、次いで、以下のように、第1の画像内の角の個別のピクセル座標と第2の画像内の角のピクセル座標との間の距離を計算する。
D1=((x1−xr)^2+(y1−yr)^2)^1/2
D2=((x2−xr)^2+(y2−yr)^2)^1/2
角位置決定器426は、次いで、最低対応距離D(すなわち、min(D1,D2)を有する、第1の画像内のピクセルの座標を、検出された角の位置として選択する。
他の実施形態では、角位置決定器426は、他の技法を使用して、(第2の画像から検出された)検出された角の位置を精緻化してもよい。例えば、他の実施形態では、空間ビニングモジュール424によって出力された角のセットの位置(非最大値抑制器422および空間ビニングモジュール424によって第2の画像内の検出された角のサブセットとして選択される)は、角検出器416に入力されてもよい。角検出器416は、次いで、角検出アルゴリズムを実行し、第2の画像からの角のセットの位置と対応する離散場所における、第1の画像内の角を検出する。1つの実装では、角検出器416は、Harris角検出アルゴリズムを実行し、第2の画像内のそれらの検出された角に対する位置に対応する、第1の画像内の角のセットを検出してもよい。本技法は、Harris角検出が、第1の画像全体上で実施されるように要求されず、第1の画像の離散部分上でのみで実施され、それによって、時間および算出リソースを節約するという点で有利である。
いくつかの実施形態では、ガンマ補正器412、画像調節器414、および角検出器416は、これらのコンポーネントの機能を実施するように具体的に設計される、特殊ハードウェアを使用して実装されてもよい。非限定的実施例として、ハードウェアは、行列演算を実施するように具体的に設計される、1つ以上のFPGAプロセッサ、1つ以上のASICプロセッサ、1つ以上の信号プロセッサ、1つ以上の数学プロセッサ、1つ以上のプロセッサ、もしくは前述の任意の組み合わせを含んでもよい。また、いくつかの実施形態では、処理ユニット130は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット130は、ガンマ補正器412および画像調節器414をもつ第1の基板と、角検出器416をもつ別の基板とを有してもよい。別の実施例として、処理ユニット130は、ソフトウェア420を実行するためのプロセッサを有してもよく、プロセッサは、角検出器416を支持する、同一基板上に、または角検出器416のためのものと異なる基板上に、実装されてもよい。さらなる実施形態では、それぞれ、ガンマ補正器412、画像調節器414、角検出器416、およびソフトウェア420を起動するプロセッサをもつ別個の基板が存在してもよい。加えて、いくつかの実施形態では、処理ユニット130のコンポーネントのいずれか、いくつか、または全てが、頭部装着型フレーム構造102に実装されてもよい。他の実施形態では、処理ユニット130のコンポーネントのいずれか、いくつか、または全てが、ベルトクリップモジュール、頸部装着型モジュール、携帯電話等、頭部装着型フレーム構造102から離れたデバイスに実装されてもよい。
図10は、図8の処理ユニット130の種々のコンポーネントの中への信号フローの実施例を図示する。信号フローは、図11に示されるグラフィカル実施例を参照して説明されるであろう。図10に示されるように、処理ユニット130は、画像を画像ディスプレイデバイス101のカメラシステムから受信する。画像は、リアルタイム画像または時間遅れを有する画像であってもよい。他の実施形態では、画像は、画像を記憶する、非一過性媒体から受信されてもよい。非一過性媒体は、画像ディスプレイデバイス101、または別の画像ディスプレイデバイス、サーバ、携帯電話、メディアデバイス等の外部デバイスの一部であってもよい。画像は、最初に、処理ユニット130のハードウェア410によって処理される。特に、処理ユニット130のガンマ補正器412は、画像内のピクセルに関するピクセル値と輝度との間の非線形関係を調節する。例えば、ガンマ補正器412は、その関係が、線形またはオリジナル未加工画像内のものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節してもよい。画像が、ガンマ補正のために調節された後、ガンマ補正器は、次いで、画像502を画像調節器414に通過させる。
画像調節器414は、第1の解像度を有する画像(第1の画像)502を取得し、画像502を調節し、第1の解像度より低い第2の解像度を有する第2の画像504を取得するように構成される。例えば、いくつかの実施形態では、第1の画像502は、VGA解像度を有してもよく、第2の画像504は、QVGA解像度を有してもよい。そのような場合、第2の画像504は、第1の画像502内のピクセルの数の4分の1を有する。他の実施形態では、第1の画像502は、VGA解像度と異なる解像度を有してもよく、第2の画像504は、QVGA解像度と異なる解像度を有してもよい。第2の画像504が取得された後、画像調節器414は、次いで、第2の画像504を角検出器416に通過させる。図11の実施例に示されるように、第2の画像504は、オブジェクト600およびいくつかの角(例えば、角602)の画像を含む。
角検出器416は、1つ以上の基準に基づいて、第2の画像504内の角を検出する。いくつかの実施形態では、角検出器416は、1回以上の回数、Harris角検出アルゴリズムを実行し、1つ以上の基準に基づいて、第2の画像504内の角のセット610を検出する。他の実施形態では、角検出器416は、他の技法およびアルゴリズムを使用して、角検出を実施してもよい。基準は、ある所望の特徴を満たす角のみが検出されるように選択されてもよい。図11に示されるように、検出された角のセットは、検出された角610a−610gを含む。角検出器416が、第2の画像504内の角610a−610gを検出後、角検出器416は、次いで、角検出結果506を非最大値抑制器422に通過させる。角検出結果506は、検出された角610a−610gのセットの識別子と、その個別の座標とを含んでもよい。いくつかの実施形態では、角検出結果506はまた、随意に、個別の検出された角610a−610gに関するスコアを含んでもよい。スコアは、検出された角の品質、検出された角の信頼度レベル、検出された角の正確度等を示してもよい。
図11の実施例に示されるように、角検出器416は、第2の画像504内の角のセット610a−610gを検出する。しかしながら、検出された角610のうちのいくつかは、第2の画像504内の同一角(例えば、角602)に関する検出の異なるインスタンスであり得る。例えば、角検出器416は、相互に近い、2つの角610a、610bを検出し得る(実際には、それらが、第2の画像504内の同一角602に関するものであるとき)。同様に、角検出器416は、相互に近い、2つの角610d、610eを検出し得る(実際には、それらが、第2の画像504内の同一角に関するものであるとき)。故に、非最大値抑制器422が、同一角の重複検出が防止されるように、検出された角610に関する非最大値抑制を実施するために採用される。いくつかの実施形態では、非最大値抑制器422は、3×3ウィンドウを利用して、3×3ピクセルのグリッド内の重複の検出された角が存在しないことを確実にする。他の実施形態では、非最大値抑制器422は、他のウィンドウサイズを利用して、非最大値抑制を実施してもよい。非最大値抑制器422が、重複の検出された角を除去後、非最大値抑制器422は、次いで、結果508を空間ビニングモジュール424に通過させる。いくつかの実施形態では、結果508は、角検出器416によって出力された結果506のサブセットである。図11の実施例に示されるように、非最大値抑制器422からの結果508は、角610b、610c、および610e−610gの識別子を含む一方、角610aおよび610dは、重複の検出された角として除外されている。結果508は、角検出器416によって検出された角のセットのサブセットの識別子と、その個別の座標とを含んでもよい。非最大値抑制器422からの結果508は、随意にまた、個別の検出された角に関するスコアを含んでもよい。スコアは、検出された角の品質、検出された角の信頼度レベル、検出された角の正確度等を示してもよい。
空間ビニングモジュール424は、画像504の異なる領域が検出された角の略均一分布を有するであろうように、画像504に関する角のうちのあるものを選択する。上記の図11の実施例に従って、空間ビニングモジュール424は、5つの識別された角610b、610c、および610e−610gを非最大値抑制器422から受信する。空間ビニングモジュール424は、次いで、画像504を事前に規定された数の領域に分割する。図示される実施例では、空間ビニングモジュール424は、画像504を4つの領域620a−620dに分割する。第1の領域620aは、2つの検出された角610b、610cを有し、第2の領域620bは、ゼロの検出された角を有し、第3の領域620cは、3つの検出された角610e−610gを有し、第4の領域620dは、ゼロの検出された角を有する。図示される実施例では、空間ビニングモジュール424は、検出された角の分布を改良するために、(非最大値抑制器422によって決定された)角のサブセットを選択するように構成される。例えば、空間ビニングモジュール424は、領域毎に所望される角の最大数および/または角毎の最小要求スコアに基づいて、角のサブセットを選択するように構成されてもよい。所望の角の最大数が、実施例では、2であるように選択される場合、および角毎の最小要求スコアが、0.7に設定される場合、空間ビニングモジュール424は、これらの基準に基づいて、検出された角のうちのあるものを排除または除外してもよい。図示される実施例では、第1の領域620a内の検出された角610b、610cが両方とも、0.7を上回るスコアを有すると仮定して、空間ビニングモジュール424は、これらの角610b、610cの両方をその出力において選択するであろう。第2の領域620bでは、検出された角が存在せず、したがって、本第2の領域620bに関する角の数は、空間ビニングモジュール424の出力においてゼロである。第3の領域620cでは、角610gが、0.7を下回るスコアを有し、角601e、610fが、0.7を上回るスコアを有すると仮定して、空間ビニングモジュール424は、故に、その出力における含有のために、角610e、610fを選択する。前述に基づいて、空間ビニングモジュール424は、角のサブセットをその出力510として提供する(図11における選択された角の周囲の円形によって表されるように)。いくつかの実施形態では、空間ビニングモジュール424の出力510は、角のサブセットの識別子と、サブセット内の個別の角の位置とを含んでもよい。空間ビニングモジュール424の出力510は、随意にまた、同様に議論されるように、個別の角に関するスコアを含んでもよい。したがって、図示される実施例から分かるように、空間ビニングモジュール424は、検出された角が、画像のある部分に集中されず、画像のある部分に関して多すぎる角が検出されることを防止することを確実にするため、有利である。
実施例に示されるように、角検出器416による角の検出、非最大値抑制器422による非最大値抑制、および空間ビニングモジュール424による空間ビニングは全て、低減された解像度を伴う第2の画像504に基づいて実施される。故に、空間ビニングモジュール424によって出力された結果510内の検出された角のより正確な位置を取得するために、第1の画像502の解像度に基づいて、検出された角の位置を精緻化することが望ましくあり得る。図10に示されるように、角位置決定器426は、角検出器416によって提供される出力522に基づいて、(空間ビニングモジュール424によって選択された)角の位置を精緻化するように構成される。特に、図に示されるように、第1の解像度を伴う第1の画像502もまた、角検出器416によって処理され、角のセットを取得する。いくつかの実施形態では、第1の画像502は、Harris角検出技法に基づいて、角検出器416によって処理されてもよい。例えば、角検出器416によって第2の画像504内の角を検出するために利用される1つ以上のパラメータは、角検出器416によって、第1の画像502内の角を検出するために使用されてもよい。1つの実装では、角検出器416は、定数k3を使用して、第1の画像502内の角を検出し、k3は、k1に等しくてもよい、または他の値を有してもよい。他の実施形態では、角検出器416は、第1の画像502内の角を検出するために、異なるパラメータおよび/または基準を使用してもよい。さらなる実施形態では、角検出器416は、異なる角検出技法を使用して、第1の画像502内の角を検出してもよい。角位置決定器426は、出力530のために検出された角の最終位置を決定するために、第1の画像502内の検出された角に基づいて、セット内の検出された角の位置(結果510)を精緻化するように構成される。いくつかの実施形態では、角位置決定器426は、空間ビニングモジュール424によって出力されたセット内(すなわち、出力510内)の角のそれぞれと最良空間対応を有する、第1の画像502に基づいて検出された(出力522内の)角を決定するように構成される。例えば、検出された角610bの位置を改良するために、(第2の画像504に基づく)出力510内の角610bが、位置(x=83,y=97)を有する場合、および(第1の画像502に基づく)出力522内の角が、角610bの位置に最も近い、位置(x=84,y=95)を有する場合、角位置決定器426は、位置(x=84,y=95)を検出された角610bのための最終位置として使用するであろう。いくつかの実施形態では、角位置決定器426は、第1の画像502の離散領域630内の角のみを検査し、出力510内のものと対応する、角を識別するように構成されてもよい。図11に示されるように、領域630は、出力510内の検出された角の位置の周囲の小ウィンドウ630であってもよい。図示される実施例では、ウィンドウ630内に、第1の画像502内で検出された2つの角632a、632bが存在する。角位置決定器426は、これらの2つの角632a、632bのいずれが、出力510内の角610bに対して位置が最も近いかを決定する。1つの実装では、角位置決定器426は、ウィンドウ630内の角632a、632bの位置と角610bの位置との間の個別の距離を決定し、角610bの位置からの最短距離を提供する、角632に関する角位置を選択するように構成されてもよい。上記の処理は、出力510内の角610に関する精緻化された位置のセットを取得するために、出力510内の角610の他のものに関しても繰り返される。図11の実施例に示されるように、角位置決定器426からの出力530は、空間ビニングモジュール424から検出された角のセットを含むが、角に関する改良された位置(610b’、610c’、610e’、および610f’)を伴う。
実施例に示されるように、角検出器416による角の検出、非最大値抑制器422による非最大値抑制、および空間ビニングモジュール424による空間ビニングは全て、低減された解像度を伴う第2の画像504に基づいて実施される。本技法は、これらの演算が、有意な算出リソースを伴わずに、非常に迅速に実施されることを可能にするという点で、有利である。第1の画像502が、VGA解像度を有し、第2の画像504が、QVGA解像度を有する、実施例では、処理ユニット130は、角検出器416、非最大値抑制器422、および空間ビニングモジュール424による処理の全3つの段階において、第2の画像504を使用して、ピクセルの4分の1のみを処理する必要がある(第1の画像502が使用されるシナリオと比較して)。いくつかの実施形態では、そのような技法は、角特徴が非常に迅速に画像から抽出されることを可能にする。例えば、上記の技法を使用して、角のセット(非最大値抑制および空間ビニングを経た後)は、10ms未満、より好ましくは、6ms未満(5msまたはそれ未満等)以内に画像から取得され得る。これは、入力カメラ画像のリアルタイム処理を可能にするため、有利である。
上記の技法はまた、角検出が、はるかに高速で実施されることができるが(オリジナル解像度を伴う画像全体が角を検出するために処理される技法と比較して)、角検出はまた、オリジナル解像度を伴う画像全体が処理される技法と同じように正確であるという点で、有利である。これは、第1の画像(より高い解像度を伴う)のサブセットのみが、低減された解像度を伴う第2の画像を使用して検出された角の場所を確認するために利用されるためである。故に、結果として生じる検出された角は、その中に第1の画像全体が角を検出するために処理される技法と同一正確度を有する。
他の実施形態では、角位置決定器426は、他の技法を使用して、(第2の画像から検出された)検出された角の位置を精緻化してもよい。例えば、図12に示されるように、他の実施形態では、空間ビニングモジュール424による出力510(例えば、非最大値抑制器422および空間ビニングモジュール424によって第2の画像内の検出された角のサブセットとして選択された角のセットの位置)は、角検出器416に入力されてもよい。角検出器416は、次いで、角検出アルゴリズムを実行し、第2の画像からの角のセットの位置と対応する離散場所において、第1の画像内の角を検出する。1つの実装では、角検出器416は、Harris角検出アルゴリズムを実行し、第2の画像504内のそれらの検出された角に対する位置に対応する、第1の画像502内の角のセットを検出してもよい。本技法は、Harris角検出が、第1の画像502全体上で実施されることを要求されず、第1の画像502の離散部分上でのみ実施され、それによって、時間および算出リソースをさらに節約するという点で、有利である。そのような場合、角検出器416は、画像に関する特徴/マップ点としての使用のための精緻化された位置を伴う、角のセットを含む、出力530を提供し得る。
いくつかの実施形態では、角の検出は、処理ユニット130によって実施され、画像ディスプレイデバイス101のカメラシステムからのリアルタイム入力画像を処理してもよい。例えば、入力画像は、カメラシステムによって提供されてもよく、処理ユニット130は、角のセットを入力画像から決定する。角のセットは、画像ディスプレイデバイス101のユーザを位置特定するために、対応する特徴と位置特定マップをマッチングさせるための入力画像に関する特徴のセットとして利用されてもよい。
他の実施形態では、角の検出は、位置特定マップを作成するために、処理ユニット130によって実施され、画像ディスプレイデバイス101のカメラシステムからの画像を処理してもよい。例えば、処理ユニット130は、画像のシーケンスを画像ディスプレイデバイス101のカメラシステムから取得してもよく、角のセットをシーケンス内の画像のそれぞれから決定してもよい。画像は、画像ディスプレイデバイス101のユーザが、画像がユーザの異なる視認方向と対応するような異なる頭部姿勢をとるとき、カメラシステムによって取得されてもよい。処理ユニット130はまた、その角に関する3Dマップ点を作成するために、シーケンス内の1つの画像内の角とシーケンスシーケンス内の別の画像内の角をマッチングさせる、ステレオマッチングを実施してもよい。3Dマップ点は、次いで、位置特定マップの一部として含まれる。
処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法
図13は、いくつかの実施形態による、方法1100を図示する。方法1000は、ユーザによって頭部に装着されるために構成される、装置によって実施されてもよく、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有する。いくつかの実施形態では、方法1100は、図1−4に示される画像ディスプレイデバイス101のいずれかによって実施されてもよい。例えば、方法1100は、画像ディスプレイデバイス101の処理ユニット130によって実施されてもよい。方法1100は、第1の解像度を有する第1の画像を取得するステップであって、第1の画像は、第1の角を有する、ステップ(項目1102)を含む。方法1100はまた、第2の解像度を有する第2の画像を決定するステップであって、第2の画像は、第1の画像内の第1の角と対応する、第2の角を有し、第2の画像は、第1の画像に基づき、第2の解像度は、第1の解像度未満である、ステップ(項目1104)を含む。方法1100はまた、第2の画像内の第2の角を検出するステップ(項目1106)と、第2の画像内の第2の角の位置を決定するステップ(項目1108)とを含む。方法1100はさらに、少なくとも部分的に、第2の画像内の第2の角の決定された位置に基づいて、第1の画像内の第1の角の位置を決定するステップ(項目1110)を含む。
随意に、方法1100では、第2の角は、検出された第2の画像内の角のセットの一部である。
随意に、方法1100では、第2の画像内の角のセットは、Harris角検出技法に基づいて検出される。
随意に、方法1100では、第2の画像内の角のセットは、1つ以上の基準に基づいて検出される。
随意に、方法1100では、1つ以上の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内の1つ以上のオブジェクトを除外するための第1の基準を含む。
随意に、方法1100では、1つ以上の基準は、線形構成を有する、第2の画像内の1つ以上のオブジェクトを除外するための第2の基準を含む。
随意に、方法1100はさらに、非最大値抑制を実施し、角のセット内で重複する検出された角を排除するステップを含む。
随意に、方法1100では、非最大値抑制は、3×3非最大値抑制を含む。
随意に、方法1100は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、非最大値抑制は、処理ユニットのソフトウェアによって実施される。
随意に、方法1100はさらに、空間ビニングを実施し、角のサブセットを角のセットから選択するステップを含む。
随意に、方法1100はさらに、第2の画像を第1の画像部分を有する複数の画像部分に分割するステップと、角のセット内の角毎に、スコアを決定するステップと、第1の画像部分内の角のスコアに基づいて、かつ第1の画像部分に関して事前に規定された角の最大数に基づいて、1つ以上の角を第1の画像部分内の角から選択するステップとによって、空間ビニングを実施するステップを含む。
随意に、方法1100は、ハードウェアおよびソフトウェアを備える、処理ユニットによって実施され、角のセットは、処理ユニットのハードウェアによって検出され、空間ビニングは、処理ユニットのソフトウェアによって実施される。
随意に、方法1100では、第2の画像内の第2の角は、Harris角検出を第2の画像上に適用することによって検出される。
随意に、方法1100はさらに、Harris角検出を第1の画像上に適用することによって、第1の画像内の第1の角を検出するステップを含む。
随意に、方法1100はさらに、第1の角を含む、第1の画像内の角のセットを検出するステップを含む。
随意に、方法1100はさらに、少なくとも部分的に、第2の画像内の第2の角の位置に基づいて、第1の角を第1の画像内の角のセットから識別するステップを含む。
随意に、方法1100では、第1の画像内の角のセットは、ハードウェアによって検出され、第1の角は、ソフトウェアによって、第1の画像内の角のセットから識別される。
随意に、方法1100では、第1の角の位置は、第1の画像の第1の解像度と第2の画像の第2の解像度との間の関係に基づいて決定される。
随意に、方法1100では、第2の角の位置は、第2の画像内のピクセル位置(xr,yr)と対応し、第2の画像内のピクセル位置(xr,yr)は、第1の画像内の複数のピクセル位置と対応し、第1の角の位置は、第2の画像内のピクセル位置(xr,yr)に対する最良空間関係を有する、第1の画像内の複数のピクセル位置のうちの1つを選択することによって決定される。例えば、最良空間関係は、第1の画像内のピクセル位置が第2の画像内のピクセル位置と同一であるものであり得る。代替として、最良空間関係は、第1の画像内のピクセル位置が第2の画像内のピクセル位置から事前に規定された距離内(例えば、2mm、1mm、2−ピクセル長、1−ピクセル長等内)にあるものであり得る。
随意に、方法1100では、第2の画像は、第1の画像を第2の画像に変換することによって決定される。
随意に、方法1100では、第1の画像は、第1の画像の第1の解像度をダウンスケールし、第2の解像度を有する第2の画像を取得することによって、第2の画像に変換される。
随意に、方法1100では、第2の角は、検出された第2の画像内の角のセットの一部であって、第1の画像内の第1の角の位置は、ソフトウェアによって決定される。
随意に、方法1100は、ハードウェアを備える、処理ユニットによって実施される。
随意に、方法1100では、第2の画像内の第2の角は、処理ユニットのハードウェアによって検出される。
随意に、方法1100では、処理ユニットのハードウェアは、Harris角検出アルゴリズムを実行するように構成される。
随意に、方法1100は、角検出器を備える、処理ユニットによって実施され、角検出器は、第1の基準に基づいて動作するように構成される。
随意に、方法1100では、第1の基準は、平面状であり、かつ/または不十分なテクスチャを有する第2の画像内のオブジェクトを除外する。
随意に、方法1100では、第1の基準は、λmin>閾値を含み、λmin=min(λ2,λ)であって、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、方法1100では、角検出器は、第2の基準にも基づいて動作するように構成される。
随意に、方法1100では、第2の基準は、第2の画像内の線形構成を伴うオブジェクトを除外する。
随意に、方法1100では、第2の基準は、λ/λ<閾値を含み、式中、λは、第1の固有値であって、λは、第1の固有値より大きい、第2の固有値である。
随意に、方法1100では、第2の画像内の第2の角は、第1の定数k1に基づいて検出される。
随意に、方法1100では、k1=R/(1+R)^2であって、Rは、任意の数である。
随意に、方法1100では、第1の定数k1は、0.1および0.2の間である。
随意に、方法1100では、第1の定数k1は、0.139である。
随意に、方法1100では、第2の画像内の第2の角は、第2の定数k2に基づいて検出される。
随意に、方法1100では、第2の定数k2は、0.01未満である。
随意に、方法1100では、第2の定数k2は、0.00478125である。
随意に、方法1100では、第2の定数k2は、第1の定数k1に基づく。
随意に、方法1100では、k2=(k1−1/16)/16である。
随意に、方法1100では、第2の画像内の第2の角は、Det(H)に基づいて検出され、Hは、行列である。
随意に、方法1100では、第2の画像内の第2の角は、trace(H)に基づいて検出され、Hは、行列である。
随意に、方法1100では、第2の角は、第1の定数および第2の定数に基づいて、第1のHarris角検出を実施することによって検出され、第2の定数は、第1の定数と異なる。
随意に、方法1100では、第2の定数は、第1の定数に基づく。
随意に、方法1100はさらに、非最大値抑制を実施するステップを含む。
随意に、方法1100はさらに、空間ビニングを実施するステップを含む。
随意に、方法1100は、ソフトウェアを備える、処理ユニットによって実施される。
随意に、方法1100はさらに、処理ユニットのソフトウェアによって、非最大値抑制を実施するステップを含む。
随意に、方法1100はさらに、処理ユニットのソフトウェアによって、空間ビニングを実施するステップを含む。
随意に、方法1100では、第1の解像度は、VGA解像度を含む。
随意に、方法1100では、第2の解像度は、QVGA解像度を含む。
随意に、方法1100はさらに、第1の角の位置を非一過性媒体内に記憶するステップを含む。
随意に、方法1100はさらに、少なくとも部分的に、第1の角の位置に基づいて、マップを作成するステップを含む。
随意に、方法1100では、マップは、第1の角の位置と関連付けられる、マップ点を備える。
随意に、方法1100はさらに、作成されたマップに基づいて、画像ディスプレイデバイスのユーザの位置特定を実施するステップを含む。
随意に、方法1100はさらに、少なくとも部分的に、第1の画像内の第1の角の位置に基づいて、第1の画像とマップとの間のマッチングを実施するステップを含む。
特殊処理システム
いくつかの実施形態では、本明細書に説明される方法1100は、アプリケーションを実行する処理ユニット130によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。画像ディスプレイデバイス101の処理ユニット130による命令の実行は、処理ユニット130に、本明細書に説明される特徴を実施させるであろう。
いくつかの実施形態では、画像ディスプレイデバイス101はまた、特殊処理システムと見なされ得る。特に、画像ディスプレイデバイス101は、一意の有形効果を実世界内で提供するための処理ユニット130による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス101によって提供される特徴(処理ユニット130が命令を実行する結果として)は、角検出、位置特定マップ作成、および画像ベースの位置特定の技術分野における改良を提供する。
図14は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム1600の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム1600は、画像ディスプレイデバイス101を実装するために使用されてもよい。また、いくつかの実施形態では、処理システム1600は、処理ユニット130またはその中の1つ以上のコンポーネント(例えば、ガンマ補正器412、画像調節器414、角検出器416等)を実装するために使用されてもよい。
処理システム1600は、バス1602または情報を通信するための他の通信機構と、情報を処理するためにバス1602と結合される、プロセッサ1604とを含む。プロセッサシステム1600はまた、情報およびプロセッサ1604によって実行されるべき命令を記憶するためにバス1602に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ1606を含む。メインメモリ1606はまた、プロセッサ1604によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム1600はさらに、静的情報およびプロセッサ1604のための命令を記憶するためにバス1602に結合される、読取専用メモリ(ROM)1608または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス1610が、提供され、情報および命令を記憶するためにバス1602に結合される。
プロセッサシステム1600は、情報をユーザに表示するために、バス1602を介して、画面等のディスプレイ1612に結合されてもよい。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ1612は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス1614が、情報およびコマンド選択をプロセッサ1604に通信するために、バス1602に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ1604に通信するための、かつディスプレイ1612上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御1616である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、入力デバイス1614およびカーソル制御は、タッチスクリーンであってもよい。
いくつかの実施形態では、プロセッサシステム1600は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ1604がメインメモリ1606内に含有される1つ以上の命令の1つ以上のシーケンスを実行することに応答して、プロセッサシステム1600によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス1610等の別のプロセッサ可読媒体からメインメモリ1606の中に読み込まれてもよい。メインメモリ1606内に含有される命令のシーケンスの実行は、プロセッサ1604に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つ以上のプロセッサもまた、メインメモリ1606内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ1604に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1610等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ1606等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス1602を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH−EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
種々の形態のプロセッサ可読媒体が、実行のために、1つ以上の命令の1つ以上のシーケンスをプロセッサ1604に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム1600は、ネットワークラインに関するデータを受信することができる。バス1602は、データをメインメモリ1606に搬送し、そこから、プロセッサ1604は、命令を読み出し、実行する。メインメモリ1606によって受信された命令は、随意に、プロセッサ1604による実行の前または後のいずれかにおいて、記憶デバイス1610上に記憶され得る。
処理システム1600はまた、バス1602に結合される、通信インターフェース1618を含む。通信インターフェース1618は、ローカルネットワーク1622に接続される、ネットワークリンク1620への双方向データ通信結合を提供する。例えば、通信インターフェース1618は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース1618は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
ネットワークリンク1620は、典型的には、1つ以上のネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク1620は、ローカルネットワーク1622を通して、接続をホストコンピュータ1624または機器1626に提供してもよい。ネットワークリンク1620を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、ならびにネットワークリンク1620上、および処理システム1600におよびそこからデータを搬送する、通信インターフェース1618を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム1600は、ネットワーク、ネットワークリンク1620、および通信インターフェース1618を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
用語「画像」は、本明細書で使用されるように、表示される画像および/または表示形態ではない画像(例えば、媒体内に記憶される、または処理中の画像)を指し得ることに留意されたい。
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことは、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)は、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
加えて、本明細書で使用されるように、項目のリスト「〜のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、ならびにA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
本開示の範疇は、提供される実施例および/または本主題の明細書に限定されるべきではなく、むしろ、本開示と関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。

Claims (45)

  1. ユーザによって頭部に装着されるために構成される装置であって、
    前記ユーザのためにグラフィックを提示するように構成される画面と、
    前記ユーザが位置する環境を視認するように構成されるカメラシステムと、
    前記カメラシステムに結合される処理ユニットであって、前記処理ユニットは、
    第1の解像度を有する第1の画像を取得することであって、前記第1の画像は、第1の角を有する、ことと、
    第2の解像度を有する第2の画像を決定することであって、前記第2の画像は、前記第1の画像内の第1の角と対応する第2の角を有し、前記第2の画像は、前記第1の画像に基づき、前記第2の解像度は、前記第1の解像度未満である、ことと、
    前記第2の画像内の第2の角を検出することと、
    前記第2の画像内の第2の角の位置を決定することと、
    少なくとも部分的に、前記第2の画像内の第2の角の決定された位置に基づいて、前記第1の画像内の第1の角の位置を決定することと
    を行うように構成される、処理ユニットと
    を備える、装置。
  2. 前記処理ユニットは、前記第2の画像内の角のセットを検出するように構成され、前記角のセットは、前記第2の角を有する、請求項1に記載の装置。
  3. 前記処理ユニットは、1つ以上の基準に基づいて、前記第2の画像内の角のセットを検出するように構成され、
    前記1つ以上の基準は、平面状であり、かつ/または不十分なテクスチャを有する前記第2の画像内の1つ以上のオブジェクトを除外するための第1の基準、線形構成を有する前記第2の画像内の1つ以上のオブジェクトを除外するための第2の基準、または前記第1の基準および前記第2の基準の両方を備える、
    請求項2に記載の装置。
  4. 前記処理ユニットはまた、非最大値抑制を実施し、前記角のセット内の重複する検出された角を排除するように構成される、請求項2に記載の装置。
  5. 前記処理ユニットは、ハードウェアおよびソフトウェアを備え、
    前記処理ユニットのハードウェアは、前記角のセットを検出するように構成され、
    前記処理ユニットのソフトウェアは、前記非最大値抑制を実施するように構成される、
    請求項4に記載の装置。
  6. 前記処理ユニットは、空間ビニングを実施し、角のサブセットを前記角のセットから選択するように構成される、請求項2に記載の装置。
  7. 前記処理ユニットは、
    前記第2の画像を第1の画像部分を有する複数の画像部分に分割することと、
    前記角のセット内の角毎に、スコアを決定することと、
    前記第1の画像部分内の角のスコアに基づいて、かつ前記第1の画像部分に関して事前に規定された角の最大数に基づいて、1つ以上の角を前記第1の画像部分内の角から選択することと
    によって、空間ビニングを実施するように構成される、請求項2に記載の装置。
  8. 前記処理ユニットは、ハードウェアおよびソフトウェアを備え、
    前記処理ユニットのハードウェアは、前記角のセットを検出するように構成され、
    前記処理ユニットのソフトウェアは、前記空間ビニングを実施するように構成される、
    請求項6に記載の装置。
  9. 前記処理ユニットは、前記第1の角を含む前記第1の画像内の角のセットを検出するように構成され、
    前記処理ユニットはまた、少なくとも部分的に、前記第2の画像内の第2の角の位置に基づいて、前記第1の角を前記第1の画像内の角のセットから検出するように構成される、
    請求項1に記載の装置。
  10. 前記処理ユニットは、前記第1の画像内の角のセットを検出するように構成されるハードウェアと、前記第1の角を前記第1の画像内の角のセットから検出するように構成されるソフトウェアとを備える、請求項9に記載の装置。
  11. 前記処理ユニットは、前記第1の画像の前記第1の解像度と前記第2の画像の前記第2の解像度との間の関係に基づいて、前記第1の角の位置を決定するように構成される、請求項1に記載の装置。
  12. 前記第2の角の位置は、前記第2の画像内のピクセル位置(xr,yr)と対応し、
    前記第2の画像内のピクセル位置(xr,yr)は、前記第1の画像内の複数のピクセル位置と対応し、
    前記処理ユニットは、前記第2の画像内のピクセル位置(xr,yr)に対する最良空間関係を有する前記第1の画像内の複数のピクセル位置のうちの1つを選択することによって、前記第1の角の位置を決定するように構成される、
    請求項1に記載の装置。
  13. 前記処理ユニットは、前記第1の画像を前記第2の画像に変換することによって、前記第2の画像を決定するように構成される画像調節器を備え、
    前記画像調節器は、前記第1の画像の前記第1の解像度をダウンスケールし、前記第2の解像度を有する前記第2の画像を取得するように構成される、
    請求項1に記載の装置。
  14. 前記処理ユニットは、第1の基準に基づいて動作するように構成される角検出器を備え、
    前記第1の基準は、平面状であり、かつ/または不十分なテクスチャを有する前記第2の画像内のオブジェクトを除外する、
    請求項1に記載の装置。
  15. 前記角検出器はさらに、第2の基準に基づいて動作するように構成され、
    前記第2の基準は、前記第2の画像内の線形構成を伴うオブジェクトを除外する、
    請求項14に記載の装置。
  16. 前記処理ユニットは、第1の定数k1に基づいて、前記第2の画像内の第2の角を検出するように構成される、請求項1に記載の装置。
  17. k1=R/(1+R)^2であり、Rは、任意の数である、請求項16に記載の装置。
  18. 前記処理ユニットは、第2の定数k2に基づいて、前記第2の画像内の第2の角を検出するように構成される、請求項16に記載の装置。
  19. 前記第2の定数k2は、前記第1の定数k1に基づく、請求項18に記載の装置。
  20. k2=(k1−1/16)/16である、請求項19に記載の装置。
  21. 前記処理ユニットは、非最大値抑制または空間ビニングのうちの少なくとも1つを実施するように構成される、請求項1に記載の装置。
  22. 前記処理ユニットは、非最大値抑制または空間ビニングのうちの少なくとも1つを実施するように構成されるソフトウェアを備える、請求項21に記載の装置。
  23. 前記処理ユニットは、少なくとも部分的に、前記第1の角の位置に基づいて、マップを作成し、前記作成されたマップに基づいて、前記ユーザの位置特定を実施するように構成される、請求項1に記載の装置。
  24. 頭部装着型画像ディスプレイデバイスによって実施される方法であって、
    第1の解像度を有する第1の画像を取得することであって、前記第1の画像は、第1の角を有する、ことと、
    第2の解像度を有する第2の画像を決定することであって、前記第2の画像は、前記第1の画像内の第1の角と対応する第2の角を有し、前記第2の画像は、前記第1の画像に基づき、前記第2の解像度は、前記第1の解像度未満である、ことと、
    前記第2の画像内の第2の角を検出することと、
    前記第2の画像内の第2の角の位置を決定することと、
    少なくとも部分的に、前記第2の画像内の第2の角の決定された位置に基づいて、前記第1の画像内の第1の角の位置を決定することと
    を含む、方法。
  25. 前記第2の角は、検出された前記第2の画像内の角のセットの一部である、請求項24に記載の方法。
  26. 前記第2の画像内の角のセットは、1つ以上の基準に基づいて検出され、
    前記1つ以上の基準は、平面状であり、かつ/または不十分なテクスチャを有する前記第2の画像内の1つ以上のオブジェクトを除外するための第1の基準、線形構成を有する前記第2の画像内の1つ以上のオブジェクトを除外するための第2の基準、または前記第1の基準および前記第2の基準の両方を備える、
    請求項25に記載の方法。
  27. 非最大値抑制を実施し、前記角のセット内で重複する検出された角を排除することをさらに含む、請求項25に記載の方法。
  28. 前記方法は、ハードウェアおよびソフトウェアを備える処理ユニットによって実施され、
    前記角のセットは、前記処理ユニットのハードウェアによって検出され、
    前記非最大値抑制は、前記処理ユニットのソフトウェアによって実施される、
    請求項27に記載の方法。
  29. 空間ビニングを実施し、角のサブセットを前記角のセットから選択することをさらに含む、請求項25に記載の方法。
  30. 前記第2の画像を第1の画像部分を有する複数の画像部分に分割することと、
    前記角のセット内の角毎に、スコアを決定することと、
    前記第1の画像部分内の角のスコアに基づいて、かつ前記第1の画像部分に関して事前に規定された角の最大数に基づいて、1つ以上の角を前記第1の画像部分内の角から選択することと
    によって、空間ビニングを実施すること
    をさらに含む、請求項25に記載の方法。
  31. 前記方法は、ハードウェアおよびソフトウェアを備える処理ユニットによって実施され、
    前記角のセットは、前記処理ユニットのハードウェアによって検出され、
    前記空間ビニングは、前記処理ユニットのソフトウェアによって実施される、
    請求項29に記載の方法。
  32. 前記第1の角を含む前記第1の画像内の角のセットを検出することと、
    少なくとも部分的に、前記第2の画像内の第2の角の位置に基づいて、前記第1の角を前記第1の画像内の角のセットから識別することと
    をさらに含む、請求項24に記載の方法。
  33. 前記第1の画像内の角のセットは、ハードウェアによって検出され、前記第1の角は、ソフトウェアによって、前記第1の画像内の角のセットから識別される、請求項32に記載の方法。
  34. 前記第1の角の位置は、前記第1の画像の前記第1の解像度と前記第2の画像の前記第2の解像度との間の関係に基づいて決定される、請求項24に記載の方法。
  35. 前記第2の角の位置は、前記第2の画像内のピクセル位置(xr,yr)と対応し、
    前記第2の画像内のピクセル位置(xr,yr)は、前記第1の画像内の複数のピクセル位置と対応し、
    前記第1の角の位置は、前記第2の画像内のピクセル位置(xr,yr)に対する最良空間関係を有する前記第1の画像内の複数のピクセル位置のうちの1つを選択することによって決定される、
    請求項24に記載の方法。
  36. 前記第2の画像は、前記第1の画像を前記第2の画像に変換することによって決定され、
    前記第1の画像は、前記第1の画像の前記第1の解像度をダウンスケールし、前記第2の解像度を有する前記第2の画像を取得することによって、前記第2の画像に変換される、
    請求項24に記載の方法。
  37. 前記方法は、角検出器を備える処理ユニットによって実施され、前記角検出器は、第1の基準に基づいて動作するように構成され、
    前記第1の基準は、平面状であり、かつ/または不十分なテクスチャを有する前記第2の画像内のオブジェクトを除外する、
    請求項24に記載の方法。
  38. 前記角検出器はさらに、第2の基準に基づいて動作するように構成され、
    前記第2の基準は、前記第2の画像内の線形構成を伴うオブジェクトを除外する、
    請求項37に記載の方法。
  39. 前記第2の画像内の第2の角は、第1の定数k1に基づいて検出される、請求項24に記載の方法。
  40. k1=R/(1+R)^2であり、Rは、任意の数である、請求項39に記載の方法。
  41. 前記第2の画像内の第2の角は、第2の定数k2に基づいて検出される、請求項39に記載の方法。
  42. 前記第2の定数k2は、前記第1の定数k1に基づく、請求項42に記載の方法。
  43. k2=(k1−1/16)/16である、請求項43に記載の方法。
  44. 非最大値抑制または空間ビニングのうちの少なくとも1つを実施することをさらに含む、請求項24に記載の方法。
  45. 少なくとも部分的に、前記第1の角の位置に基づいて、マップを作成することをさらに含む、請求項24に記載の方法。
JP2021503756A 2018-07-24 2019-07-23 角検出のための方法および装置 Active JP7459051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023215648A JP2024019662A (ja) 2018-07-24 2023-12-21 角検出のための方法および装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862702477P 2018-07-24 2018-07-24
US62/702,477 2018-07-24
PCT/US2019/043070 WO2020023531A1 (en) 2018-07-24 2019-07-23 Methods and apparatuses for corner detection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023215648A Division JP2024019662A (ja) 2018-07-24 2023-12-21 角検出のための方法および装置

Publications (3)

Publication Number Publication Date
JP2021530816A true JP2021530816A (ja) 2021-11-11
JPWO2020023531A5 JPWO2020023531A5 (ja) 2022-07-29
JP7459051B2 JP7459051B2 (ja) 2024-04-01

Family

ID=69177423

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021503756A Active JP7459051B2 (ja) 2018-07-24 2019-07-23 角検出のための方法および装置
JP2023215648A Pending JP2024019662A (ja) 2018-07-24 2023-12-21 角検出のための方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023215648A Pending JP2024019662A (ja) 2018-07-24 2023-12-21 角検出のための方法および装置

Country Status (5)

Country Link
US (2) US11430212B2 (ja)
EP (1) EP3827374A4 (ja)
JP (2) JP7459051B2 (ja)
CN (1) CN112470167A (ja)
WO (1) WO2020023531A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10755135B2 (en) * 2018-09-23 2020-08-25 Paulo Eduardo Xavier da Silveira Computational imaging device and method for improved corner detection
WO2021168338A1 (en) * 2020-02-20 2021-08-26 Magic Leap, Inc. Cross reality system with wifi/gps based map merge
US11551370B2 (en) 2020-12-18 2023-01-10 Nationwide Management Services, Inc. Remote inspection and appraisal of buildings
CN113192095B (zh) * 2021-05-20 2022-09-23 郑州轻工业大学 一种基于平行四边形对角线的角点检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326693A (ja) * 2003-04-28 2004-11-18 Sony Corp 画像認識装置及び方法、並びにロボット装置
JP2005157911A (ja) * 2003-11-27 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> 顔領域検出方法及び装置及びプログラム及び顔領域検出プログラムを格納したコンピュータ読み取り可能な記憶媒体
JP2010009375A (ja) * 2008-06-27 2010-01-14 Fujifilm Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP2014099087A (ja) * 2012-11-15 2014-05-29 Olympus Corp 特徴点検出装置およびプログラム
JP2016115305A (ja) * 2014-12-18 2016-06-23 富士通テン株式会社 物体検出装置、物体検出システム、物体検出方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040104935A1 (en) * 2001-01-26 2004-06-03 Todd Williamson Virtual reality immersion system
DE102009039251A1 (de) * 2009-08-28 2011-03-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Zusammenfügen von mehreren digitalen Einzelbildern zu einem Gesamtbild
EP2783329A4 (en) * 2011-11-22 2016-08-24 Nokia Corp METHOD FOR PROCESSING IMAGES AND CORRESPONDING APPARATUS
US9213916B2 (en) * 2012-03-22 2015-12-15 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
US8737737B1 (en) * 2012-03-23 2014-05-27 A9.Com, Inc. Representing image patches for matching
US8666159B1 (en) * 2012-06-04 2014-03-04 Google Inc. Real time feature extraction
EP2888698A4 (en) * 2012-08-23 2016-06-29 Pelican Imaging Corp PROPERTY-BASED HIGH-RESOLUTION MOTION ESTIMATION FROM LOW-RESOLUTION IMAGES RECORDED WITH AN ARRAY SOURCE
CA2931776A1 (en) 2013-11-27 2015-06-04 Magic Leap, Inc. Virtual and augmented reality systems and methods
US9305362B1 (en) 2014-02-28 2016-04-05 Xilinx, Inc. Image stabilization
US10430985B2 (en) * 2014-03-14 2019-10-01 Magic Leap, Inc. Augmented reality systems and methods utilizing reflections
US10043076B1 (en) * 2016-08-29 2018-08-07 PerceptIn, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10380763B2 (en) * 2016-11-16 2019-08-13 Seiko Epson Corporation Hybrid corner and edge-based tracking
US10719712B2 (en) * 2018-02-26 2020-07-21 Canon Kabushiki Kaisha Classify actions in video segments using play state information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004326693A (ja) * 2003-04-28 2004-11-18 Sony Corp 画像認識装置及び方法、並びにロボット装置
JP2005157911A (ja) * 2003-11-27 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> 顔領域検出方法及び装置及びプログラム及び顔領域検出プログラムを格納したコンピュータ読み取り可能な記憶媒体
JP2010009375A (ja) * 2008-06-27 2010-01-14 Fujifilm Corp 画像処理装置、画像処理方法及び画像処理プログラム
JP2014099087A (ja) * 2012-11-15 2014-05-29 Olympus Corp 特徴点検出装置およびプログラム
JP2016115305A (ja) * 2014-12-18 2016-06-23 富士通テン株式会社 物体検出装置、物体検出システム、物体検出方法及びプログラム

Also Published As

Publication number Publication date
JP7459051B2 (ja) 2024-04-01
EP3827374A1 (en) 2021-06-02
US11430212B2 (en) 2022-08-30
CN112470167A (zh) 2021-03-09
US20220366688A1 (en) 2022-11-17
US11605223B2 (en) 2023-03-14
EP3827374A4 (en) 2021-09-15
WO2020023531A1 (en) 2020-01-30
US20200034623A1 (en) 2020-01-30
JP2024019662A (ja) 2024-02-09

Similar Documents

Publication Publication Date Title
US11687151B2 (en) Methods and apparatuses for determining and/or evaluating localizing maps of image display devices
JP7422785B2 (ja) ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置
US9710973B2 (en) Low-latency fusing of virtual and real content
JP6860488B2 (ja) 複合現実システム
JP7459051B2 (ja) 角検出のための方法および装置
US20130326364A1 (en) Position relative hologram interactions
CN108885342B (zh) 虚拟图像生成系统及其操作方法
US11709370B2 (en) Presentation of an enriched view of a physical setting
US20230244354A1 (en) 3d models for displayed 2d elements
WO2021113540A1 (en) Virtual, augmented, and mixed reality systems and methods
US20210192782A1 (en) Methods and apparatuses for corner detection

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220721

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220721

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231221

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240319

R150 Certificate of patent or registration of utility model

Ref document number: 7459051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150