(57)【要約】      （修正有）【課題】カメラを持った演算装置上で実行される拡張現実アプリケーションにおいて、実世界オブジェクトの位置を決定することができる拡張現実アプリケーションに関するシステム及び方法を提供する。【解決手段】実世界オブジェクトの位置を決定するためのシステムは、カメラを用いて画像情報を補足する。実世界オブジェクトの検知は、コンピュータビジョンモデルを使用して行い、補足された画像情報を用いて形成された仮想視錐台により、受け取った点群のフィルタリングを行う。最終的にオブジェクトの位置を、フィルターされた点を用いて決定する。【選択図】図１
2020201922.tif 000002
【特許請求の範囲】
【請求項１】
カメラを持った演算装置上で実行される拡張現実アプリケーションにおいて、実世界オブジェクトの位置を決定する方法であり、該方法は、以下のステップから構成される、
前記カメラを用いて画像情報を補足する、該画像情報は、実世界場面の画像を有する、
コンピュータビジョンモデルを使用して前記画像内の実世界オブジェクトを検知し、該実世界オブジェクトに関連する外接図形を生成する、
前記画像に関する点群を受け取る、
前記外接図形の幾何学形状及び画像情報を使用して、仮想視錐台を生成する、
前記視錐台内に位置する点のグループを検出する、及び、
前記点のグループの前記カメラからの代表距離を演算する。
【請求項２】
請求項１記載の方法において、前記画像情報は、前記カメラの位置、前記カメラの方向、アスペクト比、ビューポートのピクセル寸法、視野、前方クリッピング面及び後方クリッピング面の内、一つ以上を有する。
【請求項３】
請求項１又は２記載の方法において、前記外接図形は、矩形である。
【請求項４】
請求項１乃至３の内いずれか１項記載の方法において、前記演算装置は、スマートフォンである。
【請求項５】
請求項１乃至４の内いずれか１項記載の方法において、前記コンピュータビジョンモデルは、オブジェクトのタイプを識別するオブジェクト名前ラベルを決定することが出来る。
【請求項６】
請求項５記載の方法において、前記コンピュータビジョンモデルは、更に、前記オブジェクト名前ラベルに関連した、演算された確実性の程度に関する確実性係数を決定することが出来る。
【請求項７】
請求項６記載の方法において、該方法は更に、前記演算された確実性の程度が所定の閾値以下の場合には、オブジェクトが検知されていないものと決定するステップを有する。
【請求項８】
請求項１乃至７の内いずれか１項記載の方法において、該方法は更に、前記点のグループを検出するステップの前に、受け取った点群をプレフィルタリングするステップを有する。
【請求項９】
請求項８記載の方法において、前記プレフィルタリングのステップは、各点の前記カメラからの距離に基づいて行われる。
【請求項１０】
請求項８又は９記載の方法において、前記画像に関する点群を受け取るステップは、更に、前記点群の各点についての信頼値を受け取るステップを有し、前記プレフィルタリングステップは、該点の信頼値に基づいて行われる。
【請求項１１】
請求項２乃至１０の内いずれか１項記載の方法において、前記画像情報は、スクリーン寸法、変換データ及び視野を含み、前記外接図形の幾何学形状及び前記画像情報を用いて前記仮想視錐台を生成するステップは、前記スクリーン寸法、変換データ及び視野を用いて、スクリーン空間からバーチャル空間内に前記外接図形の側面を投影するステップを有する。
【請求項１２】
請求項１乃至１１の内いずれか１項記載の方法において、前記点のグループの前記カメラからの代表距離を演算するステップは、更に、前記カメラからの前記点のグループの中央値の距離を決定するステップを含む。
【請求項１３】
請求項１乃至１１の内いずれか１項記載の方法において、前記点のグループの前記カメラからの代表距離を演算するステップは、更に，前記カメラからの前記点のグループの平均距離を決定するステップを含む。
【請求項１４】
請求項１乃至１３の内いずれか１項記載の方法において、該方法は更に、前記外接図形の中央点を前記演算された距離に投影し、前記オブジェクトの最終的な見積もり３Ｄ位置を決定するステップを含む。
【請求項１５】
請求項１乃至１４の内いずれか１項記載の方法において、該方法は、更に、前記オブジェクトの外接容積を見積もるステップを有する。
【請求項１６】
請求項１５記載の方法において、前記オブジェクトの外接容積を見積もるステップは、更に、前記外接図形を前記計算された距離に投影し、該投影された外接図形の範囲を包含する外接容積を生成するステップを有する。
【請求項１７】
システム上で実行される拡張現実アプリケーションにおいて、実世界オブジェクトの位置を決定するシステムであって、該システムは、
画像情報を補足するカメラを有し、該画像情報は、実世界場面の画像を有しており、更に、
処理体を有し、該処理体は、
実世界オブジェクトに関連した外接図形を生成することのできるコンピュータビジョンモデルを使用して、前記画像内の実世界オブジェクトを検知し、
前記画像に関連する点群を受け取り、
前記外接図形の幾何学形状及び画像情報を用いて、仮想視錐台を生成し、
前記視錐台内に位置する点のグループを識別し、
前記点のグループの前記カメラからの代表距離を計算するように構成される。
【請求項１８】
処理装置が実行可能な指令を格納した、処理装置が読み取り可能な記録媒体であって、該指令は、処理装置により実行されると、該処理装置とカメラを有する演算装置に、拡張現実アプリケーションを実行させることが出来、
前記拡張現実アプリケーションは、
前記カメラを用いて画像情報を補足し、該画像情報は、実世界場面の画像を有しており、
実世界オブジェクトに関連した外接図形を生成することのできるコンピュータビジョンモデルを使用して、前記画像内の実世界オブジェクトを検知し、
該画像に関連する点群を受け取り、
前記外接図形の幾何学形状及び前記画像情報を用いて、仮想視錐台を生成し、
前記視錐台内に位置する点のグループを識別し、
前記点のグループのカメラからの代表距離を計算するように構成される。
【請求項１９】
請求項１８記載の処理装置が読み取り可能な記録媒体において、前記画像情報は、前記カメラの位置、前記カメラの方向、アスペクト比、ビューポートのピクセル寸法、視野、前方クリッピング面及び後方クリッピング面の内、一つ以上を有する。
【請求項２０】
請求項１８又は１９記載の処理装置が読み取り可能な記録媒体において、前記外接図形は、矩形である。
【請求項２１】
請求項１８乃至２０の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、前記演算装置は、スマートフォンである。
【請求項２２】
請求項１８至２１の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、前記コンピュータビジョンモデルは、更にオブジェクトのタイプを識別するオブジェクト名前ラベルを決定することが出来る。
【請求項２３】
請求項２２記載の処理装置が読み取り可能な記録媒体において、前記コンピュータビジョンモデルは、更に、前記オブジェクト名前ラベルに関連した、演算された確実性の程度に関する確実性係数を決定することが出来る。
【請求項２４】
請求項２３記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、
前記演算された確実性の程度が所定の閾値以下の場合には、オブジェクトが検知されていないものと決定するように構成される。
【請求項２５】
請求項２３又は２４記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記点のグループを検出するステップの前に、受け取った点群をプレフィルタリングするスように構成される。
【請求項２６】
請求項２５記載の処理装置が読み取り可能な記録媒体において、前記プレフィルタリングのステップは、各点の前記カメラからの距離に基づいて行われる。
【請求項２７】
請求項２５又は２６記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記点群の各点の信頼値を受け取り、前記プレフィルタリングは、該受け取った点の信頼値に基づいて行われるように構成される。
【請求項２８】
請求項１９至２７の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、記画像情報は、スクリーン寸法、変換データ及び視野を含み、拡張現実アプリケーションは、更に、前記スクリーン寸法、変換データ及び視野を用いて、スクリーン空間からバーチャル空間内に前記外接図形の側面を投影することで、前記外接図形の幾何学形状及び前記画像情報を用いて仮想視錐台を生成するように構成される。
【請求項２９】
請求項１８至２８の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記カメラからの前記点のグループの中央値の距離を決定することで、前記点のグループの前記カメラからの代表距離を演算するように構成される。
【請求項３０】
請求項１８至２８の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記カメラからの前記点のグループの平均距離を決定することで、前記点のグループの前記カメラからの代表距離を演算するように構成される。
【請求項３１】
請求項１８至３０の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記外接図形の中央点を前記演算された距離に投影し、前記オブジェクトの最終的な見積もり３Ｄ位置を決定するように構成される。
【請求項３２】
請求項１８至３１の内いずれか１項記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記オブジェクトの外接容積を見積もるように構成される。
【請求項３３】
請求項３２記載の処理装置が読み取り可能な記録媒体において、拡張現実アプリケーションは、更に、前記外接図形を前記計算された距離に投影し、該投影された外接図形の範囲を包含する外接容積を生成することで、前記オブジェクトの外接容積を見積もるように構成される。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実アプリケーションに関わり、特に拡張現実アプリケーション内で、実世界オブジェクトの位置及び／又は大きさを見積もるためのシステム及び方法に関する。
【背景技術】
【０００２】
拡張現実（ＡＲ）は、ユーザの実世界風景上に、コンピュータが生成したバーチャル画像をオーバーレイすることを目的とした一連の技術として開発された。スマートフォンなどのモバイル機器におけるグローバルポジショニングシステム（ＧＰＳ）チップ、デジタルコンパス及び加速度計の広範な使用により、モバイルＡＲアプリケーションが成長して来ている。こうしたモバイル機器は、通常、パーソナルコンピュータよりも大幅に低い処理能力しか持たないにもかかわらず、その携帯性がモバイルＡＲアプリケーションの普及の大きな要因となっている。
【０００３】
モバイル技術が洗練されるに従って、多くのＡＲアプリケーションは、バーチャル素子を実世界場面上に単にオーバーレイするにとどまらず、バーチャル及び実世界オブジェクトとの間のリアルタイム及び聴覚的な相互作用を導入することでその機能性を向上させてきた。従って、モバイルＡＲアプリケーションではバーチャル及び実世界素子の継ぎ目のない混合の要求が増大している。
【０００４】
こうした相互作用を実行することは、例えば、実世界オブジェクトの位置をバーチャル世界と実世界間の、相互作用のアンカーポイントとして使用する、例えば、オブジェクトの位置を、インテリジェントエージェント（ＩＡ）の地点情報として使用して、そこからの資源を検証し、及び／又は集める、ばかりか、例えば、実世界のカップにバーチャルなペンを位置させるなどの、バーチャルな視覚及び／又は聴覚素子を実世界オブジェクトの周囲に配置することが含まれる。
【０００５】
既知の画像追跡システムは大きな欠点を有している。例えば、画像及びオブジェクト認識システムは、検知された画像及びオブジェクトをそれぞれプレスキャンされた画像又はオブジェクトで比較する必要があり、システムが前もってスキャンされた画像／オブジェクトを持っていない場合、当該画像／オブジェクトの認識が出来ない。更に、これらのシステムは、検知された画像／オブジェクトの画像を見るためには、画像／オブジェクトスキャンが近似した特性で（例えば、照明状態、大きさ）で行われる必要がある。
【０００６】
バーチャル及び実世界素子の混合が増加していることと、殆どのモバイル機器の処理能力及び通信速度が限られていること及び前述の既知の方法における欠点とが結びついて、実世界オブジェクトの位置及び／又は大きさをＡＲアプリケーション内で見積もるための改良された方法及びシステムの必要性が高まっている。
【発明の概要】
【０００７】
本発明の第１の観点によれば、カメラを持った演算装置上で実行される拡張現実アプリケーションにおいて、実世界オブジェクトの位置を決定する方法を提供するものである。本方法は、カメラを用いて画像情報を補足し、該画像情報は、実世界の場面の画像を有しており、該画像内の実世界オブジェクトを、該実世界オブジェクトに関連した外接形状を生成することのできるコンピュータビジョンモデルを使用して、検知するステップを有する。本方法は、更に、該画像に関する点群を取得し、前記外接形状の幾何学形状及び画像情報を用いて、仮想視錐台を生成するステップを含む。本方法は、更に、前記視錐台内に位置する点のグループを識別し、前記点のグループのカメラからの代表距離を計算するステップを含む。
【０００８】
本発明の他の観点によれば、システム上で実行される拡張現実アプリケーションにおいて、実世界オブジェクトの位置を決定するシステムを提供するものである。該システムは、画像情報を補足するカメラを有し、該画像情報は、実世界場面の画像を有している。該システムは、実世界オブジェクトに関連した外接図形を生成することのできるコンピュータビジョンモデルを使用して、前記画像内の実世界オブジェクトを検知する処理体を有する。該処理体は、更に、該画像に関連する点群を受け取り、前記外接図形の幾何学形状及び画像情報を用いて、仮想視錐台を生成することができる。前記処理体は、更に、前記視錐台内に位置する点のグループを識別し、前記点のグループのカメラからの代表距離を計算することができる。
【０００９】
発明の他の観点によれば、処理装置が実行可能な指令を格納した、処理装置が読み取り可能な記録媒体を提供するものであり、該指令は、処理装置により実行されると、処理装置とカメラを有する演算装置に、拡張現実アプリケーションを実行させることが出来る。拡張現実アプリケーションは、カメラを用いて画像情報を補足し、該画像情報は、実世界場面の画像を有しており、実世界オブジェクトに関連した外接図形を生成することのできるコンピュータビジョンモデルを使用して、前記画像内の実世界オブジェクトを検知することが出来る。拡張現実アプリケーションは、更に、該画像に関連する点群を受け取り、前記外接図形の幾何学形状及び画像情報を用いて、仮想視錐台を生成することが出来る。拡張現実アプリケーションは、更に、前記視錐台内に位置する点のグループを識別し、前記点のグループのカメラからの代表距離を計算することができる。
【００１０】
本発明の他の観点及び特徴は、添付した図面と共に本発明の実施例の記述を参照することで、当業者にとって明らかになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実世界オブジェクトの位置をモバイルＡＲアプリケーションで決定するステップの一例を示すフローチャート。
【図２】図２は、コンピュータビジョンの出力による実世界オブジェクトの多数のデータセットの一例を示す図。
【図３】図３は、図２のオブジェクトから選択された一つのオブジェクトの２Ｄ外接矩形からの３Ｄ視錐台の構成を示す、３つの透視図の一例を示す図。
【図４】図４は、選択されたオブジェクトの捉えられたＡＲ点群のフィルターされた点を示す３つの透視図の一例であり、フィルターが掛けられた点は、図３の視錐台内に位置決めされている。
【図５】図５は、図４のフィルターされた点の決定された代表深さ平面の、二つの透視図の一例を示す図。
【図６】図６は、オブジェクトの外接矩形の中心点を図４の代表深さ平面上に投影して決定された選択されたオブジェクトの最終的に見積もられた３Ｄ位置の、二つの透視図の一例を示す図。
【図７】図７は、図６の投影された外接矩形の範囲を含む半径を持った外接球を生成して、外接容積の見積もりをする３つの透視図の一例を示す図。
【図８】図８は、オブジェクトが以前に検知されたものでるか否かを決定するステップを示すフローチャートの一例を示す図。
【図９】図９は、図８の方法を例示的なオブジェクトに適用した３つの透視図の一例を示す図。
【図１０】図１０は、図１及び図８の方法を実行するためのＡＲアプリケーションを示すブロック図の一例。
【００１２】
添付した図は、例示的で非限定的な実施例を示すものであり、限定的なものではない。
【発明を実施するための形態】
【００１３】
図１は、ＡＲアプリケーションで実世界オブジェクトの位置を見積もる方法１００を示す、１実施例である。
【００１４】
図１０は、図１の方法を実行するのに適したシステムの一例を示す、概略ブロック図である。システムは、オブジェクト検知モジュール（ＯＤＭ）１００１、コンピュータビジョンプラグイン（ＣＶＰ）１００３及びＡＲアプリケーションプログラムインターフェース（ＡＲ  ＡＰＩ）１００２を含むＡＲアプリケーション１０００を有する。ある実施例では、ＯＤＭ１００１は、図１の方法を、ＣＶＰ及びＡＲ  ＡＰＩと共に実行するソフトウェア処理ブロックである。
【００１５】
ＣＶＰは、コンピュータビジョンマシンラーニングのような、ＯＤＭにコンピュータビジョン機能を加えるどのようなソフトウェア要素であってもよく、ＡＲ  ＡＰＩはポイントクラウド（点群）データなどのＡＲ機能をＯＤＭに与える、又はアクセスし得る、どのようなソフトウェア要素であってもよい。コンピュータビジョン機能の例としては、TensorFlowTM Lite on AndroidTMオペレーティングシステム及びCoreMLTM on iOSTMオペレーティングシステムにより提供されるものを含む。拡張現実機能の例としては、ARCoreTM on AndroidTMオペレーティングシステム及びARKitTM on iOSTMオペレーティングシステムにより提供されるものを含む。
【００１６】
ある実施例では、ＡＲアプリケーションは、カメラが実装されたモバイル機器で実行される。ＡＲアプリケーション１０００が連続的にイニシャライズされた後、ＡＲセッションがステップ１０１を実行し、ＯＤＭ１００１は、装置カメラ映像（即ち、ビデオフレーム）から画像を補足する。次に、ステップ１０２で、ＡＲ  ＡＰＩが、ＡＲセッションが追跡している（即ち、ポイントクラウド（点群）及び他のＡＲ関連のデータが利用可能）ことを報告すると、ＯＤＭ１００１はＣＶＰに、ステップ１０３で前もって備えられているコンピュータビジョンモデル（ＣＶＭ）を使用して最近に補足された画像を処理する要求を送る。
【００１７】
ある実施例では、これは補足された画像内で、ＣＶＭが識別したオブジェクトを持つことで達成される。ＣＶＭで補足された画像を処理することで、検知されたオブジェクト２０１Ｘのリストが得られるが、それらはそれぞれ関連するデータのセットを持っている。図２に示すように、ある実施例では、各オブジェクトのデータのセットは、名前ラベル２０３Ｘ（例えば、マウス２０３１，カップ２０３２，ボトル２０３３）、確実性係数２０４Ｘ（例えば、０〜１００）及び２Ｄ外接矩形２０２Ｘ（例えば、前記モデルに供給されたフレームに関連するピクセル座標内）を含む。名前ラベル２０３Ｘは、例えば、形、色、質感及び相対的な大きさなどに基づいて、識別されたオブジェクトのタイプについて、該モデルが決定したものを示す。確実性係数２０４Ｘは、該モデルが決定したオブジェクトのタイプに関する確実性のレベルを表す。２Ｄ外接矩形２０２Ｘ（または、他の適当な外接図形）は、各オブジェクトの物理的な境界のあらましを示す。ある実施例では、各オブジェクトについてのデータのセットには、更なるデータを含めることが出来る。更に他の実施例では、オブジェクト２０１Ｘを外接するために、外接円又は外接三角形などの他の図形を使用することができる。更に他の実施例では、カメラの視点から、各オブジェクト２０１Ｘの輪郭をなぞる形で外接図形を生成することが出来る（オブジェクトのセグメンテーションとしても既知である）。
【００１８】
ある実施例では、ステップ１０４では、ＯＤＭ１００１は、カメラ位置、カメラの方向、アスペクト比、ビューポートのピクセル寸法（幅／高さ）、視野、前方クリップ面及び後方クリップ面を含むカメラデータスナップショットを保存する。ステップ１０４では、以下に述べるステップを実行するのに有益な更なる情報も保存することが出来る。
【００１９】
ステップ１０５では、ＡＲ点群をＡＲ  ＡＰＩ１００２から受け取るが、このＡＲ点群スナップショットは、ステップ１０６でＯＤＭ１００１により保存される。ステップ１０６で保存されたＡＲ点群スナップショットは、ステップ１０４で保存されたカメラスナップショット及びステップ１０１の装置カメラ映像から捕られた画像と一致するものである。ＡＲ点群は、実世界オブジェクトの表面の特徴に基づいてＡＲ  ＡＰＩ１００２により連続的に生成された、３Ｄ空間内のデータポイントのセットである。一旦生成されると、ＡＲ点群は、実世界空間内にバーチャル特性をアンカーするためのリファレンスを提供することが出来る。
【００２０】
ある実施例では、方法は、点群のプレフィルターリングステップ（ステップ１０７）を有する。特に、ある実施例では、ＡＲ  ＡＰＩ１００２により供給される点群の信頼値は、特定の閾値を下回る点を除外するために使用することが出来る。例えば、ある点の信頼値が６０％以下の場合、当該点の見積もり深さは（Ｚ値）、図１の方法の目的には、正確性が不十分である。
【００２１】
ある実施例では、プレフィルタリングは、カメラから閾距離（例えば、５ｍ）以上の点は、点が遠くなればなるほど不正確なものとなる傾向があるので、除外するように構成される。距離ベースのプレフィルタリングは、近接場及び／又は室内での適用に関しては、特に有効である（即ち、オブジェクトが近接している場合）。
【００２２】
ある実施例では、ＯＤＭ１００１は、検知されたものと考えられるオブジェクトに関して、プレフィルタリング後に残す点群の点の最小数を要求する。点群のプレフィルタリングは、図１の方法の正確性を向上させることが出来る。ステップ１０８では、ＯＤＭ１００１は、ＣＶＰ１００３が、ＣＶＭの結果を呼び戻すのを待つ。上記したように、ＣＶＭの結果は、検知されたオブジェクトのリストを含み、それぞれのオブジェクトは関連するデータを持っている。
【００２３】
ＣＶＰ１００３による特定された各オブジェクトについて、ステップ１０９〜１１４の一つ以上が実行される。ある実施例では、決定は、ステップ１０９でなされ、それは、あるオブジェクト２０１Ｘについての確実性係数２０４Ｘが所定の閾値（例えば、６５％）以上であるか否かにより行われる。あるオブジェクト２０１Ｘの確実性係数２０４Ｘが所定の閾値を下回った場合、ステップ１１１で当該オブジェクトは無視され、該オブジェクトに関する本方法は、終了する。しかしながら、ある実施例では、ステップ１０９で、あるオブジェクトの確実性係数２０４Ｘが所定の閾値以下ではない場合、２Ｄ外接矩形２０２Ｘが、以下に述べるように、ＡＲアプリケーションのビューポート内であるか否かを決定する。
【００２４】
ＡＲアプリケーションで使用される視野（即ち、ＡＲアプリケーションカメラのビューポート）は、モバイル機器のカメラの最大視野よりも小さい。その結果、ＡＲアプリケーションのビデオフィードは、モバイル機器のカメラのビデオフィードよりも少ない情報量となる。そうしたシナリオのもと、ＡＲアプリケーションは、モバイル機器が供給可能なフルサイズのビデオフィードを補足し、ＣＶＭへの入力として使用している。結果が返されたとき、何らかの検知されたオブジェクトがＡＲアプリケーションのピューポート内にフィットするか否かを決定することがなされる。ある実施例では、該決定は、あるオブジェクトがカメラのビューポートのどれだけ外に位置しうるかの許容度に関してなされる。こうして、部分的なオブジェクトの検知（例えば、ＣＶＭがキーボードを、その番号パッドのみが視野にあるときに、検知する）を避けるために、本方法は、ステップ１１２に入る前に、２Ｄ外接矩形２０２ＸがＡＲアプリケーションカメラのビューポート内にあることを保証するようにすることも出来る。もし、２Ｄ外接矩形２０２ＸがＡＲアプリケーションカメラのビューポート内に無い場合には、該オブジェクトはステップ１１１で無視され、本方法はそのオブジェクトについては終了する。
【００２５】
従って、与えられたオブジェクト２０１Ｘに起因する確実性係数２０４Ｘが所定の閾値を下回ることなく、該オブジェクト２０１Ｘの２Ｄ外接矩形２０２ＸがＡＲアプリケーションカメラのビューポート内にある時、方法は、ステップ１１２に進む。
【００２６】
ステップ１１２において、図３に示すように、四つの面（例えば、上、下、右及び左）の視錐台３００が、与えられたオブジェクトの外接矩形２０２Ｘの四つの側面を、スクリーン寸法、変換データ及びカメラフレームデータのメモリスナップショットからのビューデータのフィールドを用いて、スクリーン空間からバーチャル空間に投影することで、形成される。なお、異なる外接形状（例えば、三角又は円）の場合、対応する幾何学形状を持った視錐台となる。ある実施例では、このステップは、全ての点群の点のスクリーン空間位置を演算して、これらが外接矩形内にあるか否かを決定することが出来る。これは演算的に負荷が高いので、いくつかの点は演算に使用しないようにすることも出来る。
【００２７】
図３に、２Ｄ外接矩形２０２Ｘからの３Ｄ視錐台３００の形成を示す。ここで、外側の線は、カメラフレーム２００のカメラ視錐台３０１を示し、内側の線３００は外接矩形２０２Ｘから形成された視錐台を示す。特に、四つの面（上、下、右、左）からなるバーチャル視錐台は、スクリーン空間から２Ｄ外接矩形２０２Ｘの四辺を、スクリーン寸法、変換、及び上記したカメラデータスナップショットからの視野を用いて、世界空間に投影することで形成される。図３の左の図に、カメラフレーム２００とオブジェクト２０１Ｘの外接矩形２０２Ｘを示す。図３の他の二つの図は、それぞれ側面図及び平面図である。図及び上記した記述からも明らかなように、ここで規定する単語「視錐台」とは、視野の視錐台の部分、あるいは視覚のピラミッドを表しており、遠方又は近くの平面で切った錐台が要求されるものではない。更に、近くの平面で切った錐台及び／又は遠くの平面で切った錐台の実施例では、そうした切頭平面は任意の適当な位置に位置させることができる。
【００２８】
図４に示すように、ステップ１１３で、ステップ１０６で補足されたＡＰ点群はステップ１１２で生成された視錐台３００によってフィルターされ、視錐台３００内にある点のセットが得られる。言い換えれば、視錐台３００の外にある全ての点は、フィルターアウトされる。これにより、カメラの視点から初期の外接矩形２０２Ｘ内に含まれた全ての点を効率的に得ることが出来る。図４には、四角で図形的に示された点が視錐台３００内に位置し、円で図形的に示された点が視錐台３００外に位置している。
【００２９】
ある実施例では、ステップ１１４で、フィルターされた点の数（即ち、最初の又はプレフィルタされた点群がステップ１１３でフィルターされた後に、残った点の数）が前述の最小点数以上であるか否かの決定も行うことが出来る。もし、フィルターされた点の数が前述の最小点数以上無い場合には、当該オブジェクトはステップ１１１で無視され、該オブジェクトに関する本方法は、終了する。
【００３０】
ある実施例では、ステップ１１５から１１７で、オブジェクトの位置がフィルターされたＡＲ点群のデータを用いて演算される。最初に、ステップ１１５で、ＯＤＭ１００１がカメラに関して、各フィルターされた点（例えば、視錐台３００内の各残留点）の深さを演算する。そして、図５に示すように、ステップ１１６で、オブジェクトに関して代表深さ５００を計算し、又は選択することができる。代表深さを決定する例としては、限定的なものでは無いが、フィルターされた点の幾何学的な中央値を決定し、フィルターされた点の重心を決定し、カメラに関してフィルターされた点の平均深さを決定し、そしてカメラに関してフィルターされた点の中央値の深さを決定することを含む。
【００３１】
フィルターされた点の幾何学的な中央値を決定することに関連した演算負荷を軽減するために、そしてフィルターされた点の重心を決定すること又はフィルターされた点の平均深さを計算することに関連して、遠い点の影響をさけるために、カメラに関してフィルターされた点の中央値の深さを決定するようなより簡単な方法を使用することが、有利である。例えば、図５に、カメラに関してフィルターされた点の中央値の深さを決定することによる、代表深さ平面５００の計算を示す。
【００３２】
最後に、図６に示すように、外接矩形２０２Ｘの中央点が選択された深さ平面５００に投影され、オブジェクト２０１Ｘの最終的な見積もり３Ｄ位置を得る。なお、ＡＲ  ＡＰＩは静的な実又はバーチャル位置と方向を示すために使用されるＡＲアンカーの概念も含んでいる。この概念は、ＡＲ世界が発展しても、点が移動しないようにする必要がある。ある実施例では、オブジェクト２０１Ｘの決定された位置６００はオブジェクト２０１Ｘに関連したＡＲアンカーに変換され、その位置は静的に保持される。
【００３３】
ある実施例では、一旦、オブジェクトの位置が上記した方法で見積もられると、該方法は、更にオブジェクト２０１Ｘの大きさを（又は、外接容積）を見積もることが出来る。ある実施例では、図７に示すように、外接容積は決定された位置６００に外接矩形２０２Ｘを投影し、投影された外接矩形７００の範囲を包含する半径を持った外接球７０１を生成することで見積もることができる。
【００３４】
好適な実施例では、外接容積は、決定された位置６００に外接矩形２０２Ｘを投影し、最も大きな外接寸法（即ち、幅、高さ、どちらか大きな値）を採用した半径を持った外接球７０１を生成することで、見積もられる。ある例では、点は更に外接球によりフィルターされ、極端に端にあるものを、外接箱の正確性を高めるために除外する。外接箱は、決定された位置に投影された視錐台の四つの隅点を含むと共に、他のフィルターされた点も含む。
【００３５】
ある実施例では、図８及び図９に示すように、本方法は、前に検知されたオブジェクトを処理する方向に進む。前に検知されたオブジェクトの再検知（即ち、すでに検知されたオブジェクトを新しいオブジェクトとして検知すること）を避ける処理、及び位置及び境界に関してオブジェクトモデルの正確性を向上させる処理を行う。従って、図８に示すように、本方法は、前に検知したオブジェクトを処理するステップに入り、この処理は、新たに検知されたオブジェクトが前に検知したオブジェクトであるか否かを決定し、任意的に、前に生成したオブジェクトモデルを改良すべきかどうかを決定する見地で行う。
【００３６】
図８に示すように、図１の方法は、ステップ８０１で実行されうる。次に、ステップ８０２で、ある外接球が、前に述べたように、投影された外接矩形７００の寸法の、最も大きな値を用いた半径を有する外接球に関したものであるかを決定する。ステップ８０３では、該外接球が他の前に検知された外接球と重なっているか否かについて決定する。もし外接球が他の前に検知された外接球と重なっている場合には、該オブジェクトは前に検知されたものと判明し、本方法は、以下に述べるステップ８０５に入る。
【００３７】
しかしながら、外接球が他の前に検知された外接球と重ならないものと決定された場合には、ステップ８０４で、前に検知されたオブジェクトの外接容積が、ステップ８０１の間に形成された視錐台に関連するオブジェクトについてのものであるか否かを決定する。ある実施例では、あるラベル２０３Ｘを持った前に検知されたオブジェクト２０１Ｘが、もし該オブジェクトが視錐台内で交差したり、含まれていたりして、ステップ８０１間で構成された視錐台と関連している場合、該視錐台に関連するオブジェクトは同じラベル２０３Ｘを持つ（即ち、前に検知されたオブジェクトと本方法で提供されたコンピュータビジョンモデルは同じラベル２０３Ｘを持つ）。もし、これらの条件が合えば、オブジェクトは前に検知されたものとされ、本方法は、以下に述べるステップ８０５へ入る。しかしながら、前に検知されたオブジェクトがステップ８０１間で構築された視錐台に関連していないものと決定された場合には、該オブジェクトは、前に検知されたものとはされない。ある実施例では、ステップ８０４は、ステップ８０３の前に実行することが出来る。
【００３８】
図９に、いくつかの前に検知されたオブジェクト９０３，９０４，９０５，９０６及び９０７及び二つの視錐台９０１及び９０２が例として示されている。前に検知されたオブジェクト９０３及び９０６は視錐台９０１又は９０２のいずれとも交差したりまた、含まれていない。前に検知されたオブジェクト９０４及び９０５は視錐台９０１に完全に含まれており、前に検知されたオブジェクト９０５及び９０７は視錐台９０２と交差している。従って、もし前に検知されたオブジェクト９０４が、視錐台９０１と関連したコンピュータビジョンモデルとして、同じラベル２０３Ｘを持っていると、 前に検知されたオブジェクト９０４は視錐台９０１と関連していると考えられる。同様に、もし前に検知されたオブジェクト９０７が、視錐台９０２と関連したコンピュータビジョンモデルとして、同じラベル２０３Ｘを持っていると、 前に検知されたオブジェクト９０７は視錐台９０２と関連していると考えられる。もし前に検知されたオブジェクト９０５が、視錐台９０１と関連したコンピュータビジョンモデルとして、同じラベル２０３Ｘを持っていると、 前に検知されたオブジェクト９０５は視錐台９０１と関連していると考えられる。しかしながら、もし前に検知されたオブジェクト９０５が、視錐台９０２と関連したコンピュータビジョンモデルとして、同じラベル２０３Ｘを持っていると、 前に検知されたオブジェクト９０５は視錐台９０２と関連していると考えられる。
【００３９】
もし、ステップ８０３又はステップ８０４で、オブジェクトが前に検知されたものと判明した場合、新たにフィルターされたデータ（点及び外接矩形）を使用して、位置を調整し、また該オブジェクトの外接容積を広げ／小さくする調整をすることができる。従って、ある実施例では、ステップ８０５を持った図８の方法は、オブジェクトモデルを改良するためになされる。ある実施例では、ステップ８０５は、新たに検知された点を含み、及び／又は異なる角度から見た外接矩形の外側にある前に検知された点を除外する。ある実施例では、前に検知された点の除外は、何らかのＡＲ  ＡＰＩが供給する点のＩＤを用いて行うことができる。
【００４０】
記述及び図面は、単に本発明の原則を示すものである。当業者であれば、ここで明示又は記述されなかったが、本発明の原則を実現する多様な変形を工夫することが出来るが、それらは、添付したクレームに規定されるように、本発明の範囲内である。
【００４１】
更に、ここで述べた全ての例は、読者に本発明の原則を理解してもらうためのものであり、こうした特別な例及び条件に限定して解釈すべきものではない。例えば、ここでの開示は、多様な机の上のオブジェクトの分析に関して、本発明の実施例を述べている。しかしながら、当業者であれば、本発明は、他の環境にある他のタイプ及び形態のオブジェクトを検出するために使用することが出来ることは自明である。
【００４２】
更に、本発明の特定の例ばかりか、原則、観点、実施例への言及はその均等物をも包含するものである。例えば、「モジュール」、「プラグイン」、又は「アプリケーションプログラムインタフェース」などとラベル付けされた機能ブロックを含む、図面に示された多様な素子の機能は、適当なソフトウェアに関連するソフトウェアを実行することの出来るハードウェアばかりか、専用のハードウェアを使用することで実現することができる。
【００４３】
更に、前述の記述は、モバイル装置に関して述べたが、当業者にとって、前述の方法のステップは、ビデオカメラ、デジタルカメラ、赤外線カメラ、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォン、スマートウオッチ又は他のウエアラブル端末など、多様な演算装置により達成することができる。ここで、ある実施例はプログラム格納装置、即ち、デジタルデータ格納媒体を含むものであるが、それらは機械又はコンピュータ可読なものであり、機械が実行可能な又はコンピュータが実行可能な指示のプログラムをエンコードするものであり、それら指示は上記した方法の全て又は一部を達成するものである。実施例は、上記した方法のステップを達成するためにプログラムされたコンピュータをも含むものである。
【００４４】
ここで述べた実施例の何らかの特徴は、実装時にここで述べた他の実施例の特徴と組み合わせることができる。ある実施例の運転に必要な追加的な素子は記述されていないか、図示されていない。これは、それらが当業者にとって自明の範囲のものだからである。更に、ある実施例は、ここで特に開示されていない何らかの素子を備える必要も無く、またそれらの素子を欠いても、及び／又はそれらの素子が無くても機能する。
【図１】
2020201922.tif 000003
【図２】
2020201922.tif 000004
【図３】
2020201922.tif 000005
【図４】
2020201922.tif 000006
【図５】
2020201922.tif 000007
【図６】
2020201922.tif 000008
【図７】
2020201922.tif 000009
【図８】
2020201922.tif 000010
【図９】
2020201922.tif 000011
【図１０】
2020201922.tif 000012