IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ チョーチアン センスタイム テクノロジー デベロップメント カンパニー,リミテッドの特許一覧

特表2023-502192視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体
<>
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図1
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図2
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図3
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図4
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図5
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図6
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図7
  • 特表-視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-23
(54)【発明の名称】視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体
(51)【国際特許分類】
   G06T 7/73 20170101AFI20230116BHJP
   G06T 7/70 20170101ALI20230116BHJP
【FI】
G06T7/73
G06T7/70 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021569000
(86)(22)【出願日】2021-02-19
(85)【翻訳文提出日】2021-11-18
(86)【国際出願番号】 CN2021076957
(87)【国際公開番号】W WO2022083038
(87)【国際公開日】2022-04-28
(31)【優先権主張番号】202011148780.6
(32)【優先日】2020-10-23
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521295468
【氏名又は名称】チョーチアン センスタイム テクノロジー デベロップメント カンパニー,リミテッド
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】ホアン カイ
(72)【発明者】
【氏名】ジャン グオフォン
(72)【発明者】
【氏名】バオ フージュン
(72)【発明者】
【氏名】ワン ナン
(72)【発明者】
【氏名】シュー シアンチエン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA08
5L096BA18
5L096CA02
5L096FA66
5L096FA67
5L096FA69
(57)【要約】
本発明は、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体を開示し、ここで、視覚的ポジショニング方法は、カメラの重力情報を取得することと、重力情報を使用して、プリセットの運動状態のカメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む。上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大する。
【特許請求の範囲】
【請求項1】
視覚的ポジショニング方法であって、
カメラの重力情報を取得することと、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む、視覚的ポジショニング方法。
【請求項2】
前記重力情報は、重力方向情報を含み、前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する前に、前記視覚的ポジショニング方法は、
前記現在の画像内の特徴点の特徴方向情報を取得することと、
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することと、をさらに含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、
前記現在の画像内の前記特徴点の深度情報および前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像内の前記特徴点の深度情報および前記処理されるべき画像のカメラポーズパラメータを取得することを含む、
請求項1に記載の視覚的ポジショニング方法。
【請求項3】
前記特徴方向情報は、前記特徴点の方向ベクトルを含み、前記重力方向情報は、重力ベクトルを含み、前記深度情報は、前記特徴点の深度値を含み、
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することは、
前記特徴点の前記方向ベクトルおよび前記重力ベクトルに対して第1プリセットの演算を実行して、前記特徴点の前記方向ベクトルと前記重力ベクトルとの夾角を取得することと、
前記カメラのプリセットの高さおよび前記夾角に対して第2プリセットの演算を実行して、前記特徴点の深度値を取得することと、を含む、
請求項2に記載の視覚的ポジショニング方法。
【請求項4】
前記第1プリセットの演算は、内積演算を含み、
および/または、前記第2プリセットの演算は、前記プリセットの高さを前記夾角のコサイン値で除算することを含む、
請求項3に記載の視覚的ポジショニング方法。
【請求項5】
前記現在の画像内の前記特徴点の深度情報および前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像内の前記特徴点の深度情報および前記処理されるべき画像のカメラポーズパラメータを取得することは、
プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行して、前記現在の画像の次のフレームの画像内の前記特徴点の深度情報および前記次のフレームの画像のカメラポーズパラメータを取得することと、
前記次のフレームの画像を前記現在の画像として使用し、前記プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む、
請求項2に記載の視覚的ポジショニング方法。
【請求項6】
前記プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行して、前記現在の画像の次のフレームの画像内の前記特徴点の深度情報および前記次のフレームの画像のカメラポーズパラメータを取得することは、
前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することと、
前記現在の画像内のローカル領域における前記特徴点の画素値と前記次のフレームの画像内のローカル領域における前記投影点の画素値との間の差異に基づいて、前記現在の画像と前記次のフレームの画像との間のポーズ変換パラメータを取得することと、
前記ポーズ変換パラメータおよび前記現在の画像のカメラポーズパラメータを使用して、前記次のフレームの画像のカメラポーズパラメータを取得することと、
収束した三次元点を使用して、前記次のフレームの画像のカメラポーズパラメータを最適化することと、
前記特徴点の深度情報の確率分布を取得し、前記確率分布を使用して、次のフレームの画像内の前記特徴点の深度情報を取得することと、を含む、
請求項5に記載の視覚的ポジショニング方法。
【請求項7】
前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、前記視覚的ポジショニング方法は、
前記処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、前記処理されるべき画像の変位パラメータを取得できないことを決定することと、
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得することと、をさらに含む、
請求項1に記載の視覚的ポジショニング方法。
【請求項8】
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得することは、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することと、
前記前のフレームの画像における前記画素点の少なくとも一部の画素値と、前記処理されるべき画像における、前記画素点の少なくとも一部に対応する前記投影点の画素値との間の差異を使用して、前記ポーズ変換パラメータに関するターゲット関数を構築することと、
前記ターゲット関数を解けて得られた前記ポーズ変換パラメータを使用して、前記前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、前記処理されるべき画像の回転パラメータを取得することと、を含む、
請求項7に記載の視覚的ポジショニング方法。
【請求項9】
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得する前に、前記視覚的ポジショニング方法は、
前記前のフレームの画像に対してダウンサンプリング処理を実行して、前記前のフレームの画像のサムネイル画像を取得することをさらに含み、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することは、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記サムネイル画像内の画素点に対して投影変換を実行して、前記処理されるべき画像における前記サムネイル画像内の画素点の投影点を取得することを含む、
請求項8に記載の視覚的ポジショニング方法。
【請求項10】
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得した後、前記視覚的ポジショニング方法は、
前記カメラの現在の加速度情報を検出し、前記加速度情報が、前記プリセットの運動状態にあるか否かを判断することと、
前記プリセットの運動状態にある場合、前記カメラの重力情報を取得するステップおよび後続のステップを再実行し、
前記プリセットの運動状態にない場合、前記カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む、
請求項7に記載の視覚的ポジショニング方法。
【請求項11】
前記重力情報は、重力方向情報を含み、前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得することは、
前記重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応する前記カメラの回転角度を取得することであって、前記カメラが前記回転角度に従って回転した後の重力方向は、前記z座標軸の逆方向と同じである、ことと、
前記回転角度を使用して、前記回転パラメータを取得し、前記変位パラメータをプリセットの数値に設定することと、を含む、
請求項1に記載の視覚的ポジショニング方法。
【請求項12】
前記世界座標系の原点は、前記カメラが前記現在の画像を撮影するときの位置であり、前記プリセットの数値は0である、
請求項11に記載の視覚的ポジショニング方法。
【請求項13】
前記プリセットの運動状態は、静的状態または均一速度の運動状態を含み、
および/または、前記重力情報は、前記プリセットの運動状態における前記カメラの加速度情報を使用して得られたものである、
請求項1ないし12のいずれか一項に記載の視覚的ポジショニング方法。
【請求項14】
視覚的ポジショニング装置であって、
カメラの重力情報を取得するように構成される重力情報取得部と、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得するように構成される第1ポーズ取得部と、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される第2ポーズ取得部と、を備える、視覚的ポジショニング装置。
【請求項15】
互いに結合されるメモリとプロセッサとを備える電子機器であって、前記プロセッサは、前記メモリに記憶されるプログラム命令を実行して、請求項1ないし13のいずれか一項に記載の視覚的ポジショニング方法を実施する、電子機器。
【請求項16】
プロセッサによって実行されるとき、前記プロセッサに請求項1ないし13のいずれか一項に記載の視覚的ポジショニング方法を実現させるためのプログラム命令を記憶した、コンピュータ可読記憶媒体。
【請求項17】
電子機器で実行されるとき、前記電子機器内のプロセッサに、請求項1ないし13のいずれか一項に記載の視覚的ポジショニング方法を実現させるためのコンピュータ可読コードを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2020年10月23日に中国特許局に提出された、出願番号が202011148780.6である、中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照によって本願に組み込まれる。
【0002】
本発明は、コンピュータ視覚技術分野に関し、特に、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
電子情報技術の発展に伴い、同時ポジショニングと同時ローカリゼーションとマッピング(SLAM:Simultaneous Localization And Mapping)などの視覚的ポジショニング技術は、自律運転、屋内ナビゲーション、拡張現実(AR:Augmented Reality)、仮想現実(VR:Virtual Reality)などの分野に徐々に適用される。
【0004】
SLAMなどの視覚的ポジショニング技術は、モバイル機器のカメラポーズを取得することにより、モバイル機器の自律的なポジショニング、ナビゲーションなどのタスクを完了し、本質的には、複雑な数学的問題である。現在、SLAMなどの視覚的ポジショニング技術は、ハードウェアにおいて、センサに依存し、通常、カメラ、加速度計、重力計、慣性測定ユニット(IMU:Inertial Measurement Unit)などのセンサが必要である。しかし、実際の適用において、通常、ミッドエンド/ハイエンドのモバイル機器にのみ上記のセンサが配置される。ローエンドのモバイル機器に配置されるセンサは、通常、比較的に少ないし、IMUを配置せず、既存の視覚的ポジショニング技術の使用コストが比較的に高くし、使用範囲を比較的に狭くする。これを鑑みて、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することは、緊急の問題である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本発明の第1態様は、視覚的ポジショニング方法を提供し、前記方法は、カメラの重力情報を取得することと、重力情報を使用して、プリセットの運動状態のカメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む。
【0007】
したがって、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【0008】
ここで、重力情報は、重力方向情報を含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する前に、前記方法は、現在の画像内の特徴点の特徴方向情報を取得することと、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することと、をさらに含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することを含む。
【0009】
したがって、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。
【0010】
ここで、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することは、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することと、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得することと、を含む。
【0011】
したがって、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。
【0012】
ここで、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。
【0013】
したがって、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。
【0014】
ここで、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することは、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することと、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む。
【0015】
したがって、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
【0016】
ここで、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することと、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得することと、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することと、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化することと、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することと、を含む。
【0017】
したがって、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができ、ここで、カメラポーズパラメータと深度情報をそれぞれ最適化して、最適化の計算量を減らす。
【0018】
ここで、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、方法は、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定すること、および、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することをさらに含む。
【0019】
したがって、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。
【0020】
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することと、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することと、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得することと、を含む。
【0021】
したがって、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。
【0022】
ここで、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する前に、方法は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することをさらに含み、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得することを含む。
【0023】
したがって、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。
【0024】
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得した後、方法は、カメラの現在の加速度情報を検出し、加速度情報が、プリセットの運動状態にあるか否かを判断することと、ある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、ない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む。
【0025】
したがって、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。
【0026】
ここで、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得することは、重力方向情報を使用して、取得世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することであって、ここで、カメラが回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じである、ことと、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することと、を含む。
【0027】
したがって、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。
【0028】
ここで、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。
【0029】
したがって、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。
【0030】
ここで、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。
【0031】
したがって、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。
【0032】
本発明の第2態様は、視覚的ポジショニング装置を提供し、前記装置は、重力情報取得部、第1ポーズ取得部および第2ポーズ取得部を備え、重力情報取得部は、カメラの重力情報を取得するように構成され、第1ポーズ取得部は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。
【0033】
本発明の第3態様は、電子機器を提供する。前記電子機器は、互いに結合されるメモリとプロセッサとを備え、プロセッサは、メモリに記憶されるプログラム命令を実行して、上記の第1態様における視覚的ポジショニング方法を実施する。
【0034】
本発明の第4態様は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体は、プログラム命令を記憶し、プログラム命令は、プロセッサによって実行されるときに、前記プロセッサに上記の第1態様における視覚的ポジショニング方法を実施させる。
【0035】
本発明の第5態様は、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードは、電子機器で実行されるときに、前記電子機器内のプロセッサに、上記の第1態様における視覚的ポジショニング方法を実施させる。
【発明の効果】
【0036】
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【図面の簡単な説明】
【0037】
図1】本発明の視覚的ポジショニング方法の一実施例の例示的なフローチャートである。
図2】深度情報を取得する一実施例の概略図である。
図3図1におけるステップS13の一実施例の例示的なフローチャートである。
図4】本発明の視覚追跡方法の別の一実施例の例示的なフローチャートである。
図5図4におけるステップS45の一実施例の例示的なフローチャートである。
図6】本発明の視覚的ポジショニング装置の一実施例のフレームワークの概略図である。
図7】本発明の電子機器の実施例のフレームワークの概略図である。
図8】本発明のコンピュータ可読記憶媒体の実施例のフレームワークの概略図である。
【発明を実施するための形態】
【0038】
以下は、図面を参照して、本発明の実施例の技術案を詳細に説明する。
【0039】
以下の説明において、限定するためにではなく説明するためであり、本発明を完全に理解するために、特定のシステム構造、インターフェース、技術などの詳細を提案する。
【0040】
本明細書における「システム」および「ネットワーク」という用語は、本明細書で常に互換的に使用される。本明細書における「および/または」という用語は、関連付けられるオブジェクトを説明する単なる関連付け関係であり、3つの関係が存在できることを示し、例えば、Aおよび/またはBは、Aが独立で存在する場合、AとBが同時に存在する場合、Bが独立で存在する場合という3つの場合を表す。さらに、本明細書における記号「/」は、一般的に、前後の関連付けられるオブジェクトが、「または」という関係であることを示す。なお、本明細書における「複数」は、2つまたは2つ以上を表す。
【0041】
図1を参照すると、図1は、本発明の視覚的ポジショニング方法の一実施例の例示的なフローチャートである。視覚的ポジショニング方法は、以下のステップを含み得る。
【0042】
ステップS11において、カメラの重力情報を取得する。
【0043】
本発明実施例において、視覚的ポジショニング方法の実行主体は、視覚的ポジショニング装置であり得、例えば、視覚的ポジショニング方法は、端末機器またはサーバまたは其它処理機器によって実行されることができ、ここで、端末機器は、ユーザ機器(UE:User Equipment)、モバイル機器、ユーザ端末、端末、携帯電話、コードレス電話、パーソナルデジタル処理(PDA:Personal Digital Assistant)、ハンドヘルド機器、コンピューティング機器、車載機器、ウェアラブル機器などであり得る。いくつかの可能な実施形態において、前記視覚的ポジショニング方法は、プロセッサによって、メモリに記憶されるコンピュータ可読命令を呼び出す方式を介して実現さすることができる。
【0044】
本発明実施例において、カメラは、モバイル機器に統合されることができ、モバイル機器は、携帯電話、タブレット、ロボットなどを含み得るが、これに限定されない。ここで、本発明実施例および以下の開示された実施例におけるステップは、モバイル機器によって実行されることができ、モバイル機器には、視覚的ポジショニング装置が配置される。さらに、モバイル機器は、加速度計、重力計、IMUなどの、他のセンサを統合することができ、それに対して、実際の適用シナリオに応じて設置することができ、ここでは限定しない。例えば、コスト限制によって、ローエンドモバイル機器は、カメラおよび加速度計のみを統合することができ、または、カメラおよび重力計を統合することができ、さらに、ミッドエンド/ハイエンドのモバイル機器は、カメラ、加速度計、IMUなどを統合することができ、ここでは限定しない。
【0045】
一実施シナリオにおいて、重力情報は、プリセットの運動状態におけるカメラの加速度情報を使用して得られたものであり得、それにより、IMUの必要なく、加速度計のみに依存して重力情報を取得することができる。ここで、プリセットの運動状態は、静的状態または均一速度の運動状態である。例えば、プリセットの運動状態で検出されたカメラ加速度と重力加速度との間の差異が、プリセットの範囲内にあり、例えば、重力加速度が9.8m/sであり、プリセットの範囲が0~1m/sであり、検出されたカメラ加速度が10m/sである場合、カメラは、プリセットの運動状態において、プリセットの範囲は、実際の適用ニーズにしがって設定することができると見なすことができ、ここでは限定しない。さらに、モバイル機器に重力計が統合された場合にも、IMUの必要なく、直接に重力計を介して重力情報を取得することができる。
【0046】
一実施シナリオにおいて、モバイル機器は、さらに、検出されたカメラ加速度に従って、静的状態または均一速度の運動状態にあるか否かを判断することができ、例えば、検出されたカメラ加速度が、重力加速度に近接する場合、静的状態または均一速度の運動状態にあると見なすことができる。ここで、加速度計を配置した場合、三軸における加速度計の加速度成分(例えば、


)二乗和の根を計算して、カメラ加速度
として使用することができ、即ち、
である。
【0047】
別の一実施シナリオにおいて、カメラが、プリセットの運動状態にないと検出された場合、モバイル機器は、カメラが、プリセットの運動状態にあると検出されるまで再検出することができる。ここで、検出された周波数は、カメラによって撮影された周波数と一致することができ、例えば、カメラが、毎秒25枚の画像を撮影すると、対応的に、プリセットの運動状態にあるか否かを毎秒25回検出することができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
【0048】
一実施シナリオにおいて、カメラの重力情報は、重力方向情報を含み得、ここで、重力方向情報は、重力ベクトルを含み得る。一実施シナリオにおいて、加速度計が配置された場合、三軸における加速度計の加速度成分のベクトル合計(即ち、
)を計算し、ベクトル合計を重力ベクトルとして使用することができ、または、ベクトルと同じ方向の単位ベクトルを重力ベクトルとして使用することもでき、重力ベクトルに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
【0049】
ステップS12において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。
【0050】
一実施シナリオにおいて、カメラポーズパラメータは、変位パラメータおよび回転パラメータを含み得、それにより、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することができ、且つ、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、さらに、回転角度を使用して、回転パラメータを取得することができ、変位パラメータをプリセットの数値に設定して、重力アライメントを介して現在の画像のカメラポーズパラメータを初始化することを簡略化して、計算量を減らすことができる。
【0051】
一実施シナリオにおいて、x座標軸に対応するカメラの回転角度は、
に表すことができ、y座標軸に対応するカメラの回転角度は、
に表すことができ、z座標軸に対応するカメラの回転角度は、
に表すことができ、世界座標系x座標軸に対応するカメラの回転パラメータ
、世界座標系y座標軸に対応する回転パラメータ
、世界座標系z座標軸に対応する回転パラメータ
は、それぞれ以下のように表すことができる。
……(1)
【0052】
回転パラメータRは、世界座標系x座標軸に対応する回転パラメータ
、世界座標系y座標軸に対応する回転パラメータ
、世界座標系z座標軸に対応する回転パラメータ
によって得られることができ、ここで、上記の回転パラメータ
、回転パラメータ
および回転パラメータ
の乗積を、回転パラメータRとして使用することができ、即ち、回転パラメータRは、以下の通りに表すことができる。
……(2)
【0053】
別の一実施シナリオにおいて、モバイル機器は、世界座標系の原点を、カメラが現在の画像を撮影するときの位置として使用することができ、即ち、x座標軸、y座標軸、z座標軸に対応するカメラの変位は、すべて0であり、したがって、プリセットの数値を0に設定することができ、即ち、変位パラメータを0に設定することができる。
【0054】
ステップS13において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。
【0055】
一実施シナリオにおいて、モバイル機器は、スキャンしてマルチフレームの画像を取得し、三角化方式を使用して、現在の画像および現在の画像の隣接画像内の互いにマッチングする特徴点を処理して、マッチングする特徴点の深度情報を取得することができる。ここで、深度情報は、特徴点の深度値を含み得、それにより、計算して得られた深度値を使用して、世界座標系における特徴点の三次元座標を取得することができ、さらに、現在の画像の次のフレームの画像と現在の画像との間のポーズ変換パラメータを使用して、特徴点の三次元座標を次のフレームの画像に再投影して、次のフレームの画像における投影点を取得することができ、それにより、次のフレームの画像における投影点の画素値と、現在の画像における対応する特徴点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。当該ターゲット関数を最小化することにより、ポーズ変換パラメータを取得することができ、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することができ、これによって類推すれば、モバイル機器は、現在の画像後の処理されるべき画像のカメラポーズパラメータをフレームごとに取得することができる。一実施シナリオにおいて、三角化方式は、異なる位置で同じ三次元点を観察し、異なる位置で観察された三次元点の二次元投影点を知っており、三角関係を使用して、三次元点の深度情報を復元することを指し、ここで詳細に説明しない。
【0056】
別の一実施シナリオにおいて、マルチフレームの画像をスキャンすることによる追加の応答時間を削減し、視覚的ポジショニングの応答速度を向上させるために、モバイル機器は、現在の画像内の特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することができ、それにより、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得し、さらに、現在の画像のみで深度情報を初始化することができ、したがって、マルチフレームの画像をスキャンすることを避け、視覚的ポジショニングの応答速度を向上させることに役立つことができる。
【0057】
一実施シナリオにおいて、特徴方向情報は、特徴点の方向ベクトルを含み得、重力方向情報は、重力ベクトルを含み、ここで、方向ベクトルおよび重力ベクトルは、単位ベクトルであり得、深度情報は、特徴点の深度値を含み、特徴点は、画像内の輪郭エッジ画素点、画素値が突然変化する画素点など、画像特徴を説明できる画素点を含み得、ここで、特徴点に対して、実際のニーズに従って設定することができ、ここでは限定しない。例えば、加速セグメントテストの特徴(FAST:Features from Accelerated Segment Test)、バイナリロバスト独立特徴記述子(BRIEF:Binary Robust Independent Elementary Features)、スケール不変特徴変換(SIFT:Scale Invariant Feature Transform)、ORBなどの検出方式を介して、特徴点および特徴点の方向ベクトルを取得することができ、それに対して、実際の適用ニーズに従って、特徴点検出方式を選択することができ、ここでは限定しない。
【0058】
別の一実施シナリオにおいて、図2を参照すると、図2は、深度情報を取得する一実施例の概略図であり、モバイル機器は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することができ、第1プリセットの演算は、内積演算を含み得、即ち、方向ベクトル
と重力ベクトル
との夾角
は、以下に通りに表すことができる。
……(3)
【0059】
夾角
を取得した後、カメラのプリセットの高さhおよび夾角
に対して第2プリセットの演算を実行して、特徴点の深度値zを取得することができ、第2プリセットの演算は、プリセットの高さを夾角で除算するコサイン値を含み、プリセットの高さhは、実際の適用状況に従って設定することができる。AR適用を例として、仮想物体のサイズに従って設定することができ、例えば、仮想物体は、一般的なサイズの猫や犬などのペットである場合、プリセットの高さを0.5米~1米に設定することができ、他の適用状況は、実際の状況に従って設定することができ、ここではいちいち列挙をしない。ここで、深度値zは、以下の通りに表すことができる。
……(4)
【0060】
一実施シナリオにおいて、本発明の実施例および以下の開示される実施例におけるステップは、モバイル機器によってじっこうされる屋内ナビゲーション、自律運転、AR、VRなどのアプリケーションプログラム、ウェブサイトに統合されることができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
【0061】
上記の技術案において、モバイル機器は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【0062】
図3を参照すると、図3は、図1におけるステップS13の一実施例の例示的なフローチャートである。図3は、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得する一実施例の例示的なフローチャートである。ここで、S13は、以下のステップを含み得る。
【0063】
ステップS131において、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得する。
【0064】
プリセットのポーズ追跡方式は、実際の適用ニーズに従って設定することができる。本発明の実施例において、プリセットのポーズ追跡方式は、スパース画像アライメント、特徴点アライメント、ポーズ最適化などのステップを含み得、それにより、上記のステップを介して処理して、次のフレームの画像のカメラポーズパラメータを取得し、さらに、プリセットのポーズ追跡方式は、マップポイント最適化ステップを含み得、それにより、マップポイント最適化などのステップを介して処理して、次のフレームの画像内の特徴点の深度情報を取得する。
【0065】
一実施シナリオにおいて、モバイル機器は、スパース画像アライメントを実行するとき、まず、前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することができ、前記ステップは、二次元から三次元への逆投影関数
を使用して、特徴点座標uおよび特徴点深度値duを含む第1座標情報
を三次元空間に逆投影して、特徴点の三次元座標
を取得し、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータTおよび三次元から二次元への投影関数
を使用して、現在の画像特徴点の三次元座標
を次のフレームの画像kに投影して、次のフレームの画像における特徴点の投影点
を取得することを含み得、それにより、次のフレームの画像k内のローカル領域における投影点の画素値
と、現在の画像k-1の特徴点ローカル領域に対応する画素値
との間に差異があることを取得し、さらに、当該差異に基づいて、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータを取得することができる。ここで、ローカル領域は、特徴点(または投影点)を中心とする一長方形領域(例えば、3*3領域、4*4領域、8*8領域など)であり得、以下の式に示された通りである。
……(5)
【0066】
特徴点の数は通常、複数あるため、複数の特徴点に対して上記の差異を計算し、加算し、ターゲット関数をさらに構築することができ、以下の式に示された通りであることに留意されたい。
……(6)
【0067】
上記の式(6)において、
は、ターゲット関数を表し、ここで、
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
は、ノルム演算を表し、
は、ポーズ変換パラメータTを最適化対象としてターゲット関数を最小化することを表し、
は、ターゲット関数を解けて得られたポーズ変換パラメータを表す。
【0068】
計算してポーズ変換パラメータ
を取得した後、モバイル機器は、ポーズ変換パラメータ
および現在の画像k-1のカメラポーズパラメータ
を使用して、次のフレームの画像のカメラポーズパラメータ
を取得することができる。ここで、ポーズ変換パラメータ
を現在の画像k-1のカメラポーズパラメータ
と乗算して、次のフレームの画像のカメラポーズパラメータ
を取得することができる。
【0069】
さらに、スパース画像アライメントの計算の複雑さを減らすために、モバイル機器は、現在の画像k-1および次のフレームの画像kに対してダウンサンプリング処理を実行して、現在の画像k-1および次のフレームの画像kのピラミッド画像を取得し、ピラミッド画像のうち、解像度がプリセットの解像度である一層の画像またはマルチ層の画像を取って上記のスパース画像アライメントの処理を実行し、それにより、計算の複雑さを減らすことができる。
【0070】
一実施シナリオにおいて、上記のスパース画像アライメントの動作は、必然的に累積誤差を引き起し、それにより、取得された次のフレームの画像のカメラポーズパラメータ
の精度が比較的に低くする。精度を向上させるために、モバイル機器は、収束した三次元点(例えば、三次元モデル内の三次元点)を使用して、次のフレームの画像のカメラポーズパラメータ
を最適化することができる。ここで、収束した三次元点をマッチングしアライメントすることにより投影点を取得することができ、投影点を利用して、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
に対して特徴点アライメントの最適化を実行するステップは、収束した三次元点から次のフレームの画像kに投影できる三次元点を選択して、ターゲット三次元点として使用し、撮影された画像から、ターゲット三次元点が投影できる画像のうち、最も早く撮影された画像を選択して、参照画像として使用し、参照画像内のローカル領域におけるターゲット三次元点の画素値
を取得し、上記の概算された次のフレームの画像のカメラポーズパラメータ
を使用して、ターゲット三次元点を次のフレームの画像に投影して、次のフレームの画像におけるターゲット三次元点の投影点
を取得し、それにより、次のフレームの画像内のローカル領域における投影点
の画素値
を取得し、さらに、ローカル領域画素値
およびローカル領域画素値
を使用して、投影点
に関するターゲット関数を構築することができ、以下の式を参照されたい。
……(7)
【0071】
上記の式(7)において、
は、ターゲット関数を表し、ここで、
は、ノルム演算を表し、
は、アフィン変換行列を表し、異なる視角による画像の歪みを補正するために使用され、
は、投影点
の位置を最適化対象としてターゲット関数を最小化することを表す。
【0072】
投影点
を取得した後、モバイル機器は、上記の特徴点アライメントによって得られた投影点
に基づいて、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
を最適化し、最終的に、最適化して次のフレームの画像のカメラポーズパラメータ
を取得することができる。ポーズ最適化のステップは、次のフレームの画像のカメラポーズパラメータ
および三次元から二次元への投影関数
を使用して、ターゲット三次元点
を次のフレームの画像kに再投影して、投影点
を取得し、投影点
と、特徴点アライメントステップで最適化して得られた次のフレームの画像の投影点
との位置差異を使用して、カメラポーズパラメータ
に関するターゲット関数を構築することができ、以下の式を参照されたい。
……(8)
【0073】
上記の式(8)において、
は、ターゲット関数を表し、ここで、
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
は、ノルム演算を表し、
は、ポーズ変換パラメータ
を最適化対象としてターゲット関数を最小化することを表す。
【0074】
式(8)に示されたターゲット関数を解くことにより、最終的に、次のフレームの画像のカメラポーズパラメータ
を取得することができる。
【0075】
一実施シナリオにおいて、マップポイント最適化の本質は、三次元点が最初に観察された参照画像上の対応する位置の逆深度(即ち、深度値の逆数)に対する最適化である。ここで、特徴点の深度情報の確率分布を取得することができ、特徴点の内部点確率
および逆深度値zは、ベータとガウスの混合モデル分布(Beta Gaussian Mixture Model Distribution)とほぼ一致し、以下の式を参照されたい。
……(9)
【0076】
ここで、上記の式(9)では、ある特徴点
を第k回観察した後の確率分布を表し、

は、ベータ分布のパラメータを表し、

は、逆深度ガウス分布の平均値と分散を表す。確率分布を取得した後、モバイル機器は、取得された確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することができる。例えば、逆深度ガウス分布の分散
が、一プリセットの深度範囲(例えば、1/200)より小さい場合、深度値収束に見なされることができ、この場合の逆深度ガウス分布の平均値
の逆数を取って特徴点の深度値として使用して、撮影プロセスで、特徴点の深度値を最適化し続けることができる。
【0077】
ステップS132において、次のフレームの画像を現在の画像として使用する。
【0078】
次のフレームの画像のカメラポーズパラメータおよび特徴点の深度情報を取得した後、モバイル機器は、次のフレームの画像を現在の画像として使用し、上記のステップS131および後続のステップを再実行することができ、それにより、画像のカメラポーズパラメータおよび画像内の特徴点の深度情報をフレームごとに計算することができる。
【0079】
ステップS133において、ステップS131および後続のステップを再実行する。
【0080】
上記の実施例と区別して、モバイル機器は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
【0081】
図4を参照すると、図4は、本発明の視覚追跡方法の別の一実施例の例示的なフローチャートであり、視覚追跡方法は、以下のステップを含み得る。
【0082】
ステップS41において、カメラの重力情報を取得する。
【0083】
上記の実施例における関連ステップを参照されたい。
【0084】
ステップS42において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。
【0085】
上記の実施例における関連ステップを参照されたい。
【0086】
ステップS43において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。
【0087】
上記の実施例における関連ステップを参照されたい。
【0088】
ステップS44において、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たすか否かを判断し、満たさない場合、ステップS45を実行し、満たす場合、ステップS46を実行する。
【0089】
プリセットの安定状態条件は、カメラポーズパラメータに異常値がないこと、処理されるべき画像のカメラポーズパラメータと処理されるべき画像前のフレームのカメラポーズパラメータとの間の差異が、プリセットの範囲内にあることのうちの少なくとも1つを含み得る。一実施シナリオにおいて、異常値は、変位閾値より大きい変位パラメータ、回転閾値より大きい回転パラメータを含み得、ここで、変位閾値、回転閾値およびプリセットの範囲は、実際の適用ニーズに従って設定することができ、ここでは限定しない。
【0090】
ステップS45において、処理されるべき画像を取得できない変位パラメータを決定し、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得する。
【0091】
実際の適用プロセスにおいて、急速な運動、照明条件の大幅の変化などの要因はすべて、カメラポーズパラメータを不正確にして、視覚的ポジショニングを不正確にし、視覚的ポジショニングのロバスト性を向上させるために、処理画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないと判断した場合、モバイル機器は、上記のステップによって取得されたカメラポーズパラメータの不正確度、特に、変位パラメータを決定することができる。したがって、回転パラメータの更新失敗による仮想物体が画面にくっつくなどの問題を低減するために、モバイル機器は、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、それにより、回転パラメータの更新を維持することができる。
【0092】
一実施シナリオにおいて、図5を参照すると、図5は、図4におけるステップS45の一実施例の例示的なフローチャートである。ここで、S45は、以下のステップを含み得る。
【0093】
ステップS451において、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する。
【0094】
説明の便宜上、処理されるべき画像をkに表し、前のフレームの画像をk-1に表し、ポーズ変換パラメータを
に表し、前のフレームの画像内の画素点の少なくとも一部の二次元座標をuに表し、画素点の少なくとも一部の深度値をduに表し、二次元から三次元への逆投影関数を
に表すことができ、三次元から二次元への投影関数を
に表すことができ、投影点は、
に表すことができ、ここで、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。
【0095】
一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、前のフレームの画像に対してダウンサンプリングを実行して、前のフレームの画像のサムネイル画像(例えば、40*30またはより小さい画像)を取得することができ、それにより、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。別の一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、サムネイル画像内の画素点を単位球に投影することができ、即ち、サムネイル画像内の画素点の深度値を1に統一に設定することができ、さらに、実際の適用ニーズに従って、深度値を他の数値に統一に設定することができ、ここでは限定しない。
【0096】
ステップS452において、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築する。
【0097】
一実施シナリオにおいて、モバイル機器は、前のフレームの画像内のローカル領域における画素点の少なくとも一部の画素値
と、処理されるべき画像内のローカル領域における、画素点の少なくとも一部に対応する投影点
の画素値
との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。
【0098】
別の一実施シナリオにおいて、前のフレームの画像に対してダウンサンプリングを実行する場合、モバイル機器は、サムネイル画像内の画素点の画素値と、処理されるべき画像におけるこれらの画素値に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。
【0099】
ここで、ターゲット関数は、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。
【0100】
ステップS453において、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得する。
【0101】
上記のターゲット関数を最適化し解け、最適化し解くプロセスでは、モバイル機器は、回転パラメータのみを最適化して、解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像のカメラポーズパラメータを取得し、カメラポーズパラメータ内の回転パラメータを抽出して、処理されるべき画像の回転パラメータとして使用することができる。
【0102】
一実施シナリオにおいて、視覚的ポジショニングのロバスト性を向上させるために、モバイル機器は、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報を検出し続け、加速度情報は、プリセットの運動状態にあるか否かを判断することができ、加速度情報を取得し、加速度情報が、プリセットの運動状態にあるか否かを判断するステップは、上記の開示された実施例の関連ステップを参照でき、ここで詳細に説明しない。プリセットの運動状態にある場合、個の場合のカメラは、静的状態または均一速度の運動状態にあると見なすことができ、そうすると、カメラの重力情報を取得するステップおよび後続のステップを再実行することができ、プリセットの運動状態にない場合、個の場合のカメラは、大幅に運動する状態にあると見なすことができ、そうすると、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することができる。視覚的ポジショニングが不正確である場合、カメラの現在の加速度情報を検出することを繰り返し、加速度情報がプリセットの運動状態にあるか否かを判断し、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行することにより、視覚的ポジショニングのロバスト性を向上させることができる。
【0103】
ステップS46において、処理されるべき画像を現在の画像として使用する。
【0104】
処理されるべき画像の回転パラメータを取得した後、大幅の運動または照明条件が大幅に変化する場合に、依然として回転パラメータの更新を持続できるようにするために、モバイル機器は、処理されるべき画像を現在の画像として使用し、上記の現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するステップおよび後続のステップを再実行することができる。
【0105】
ステップS47において、ステップS43および後続のステップを再実行する。
【0106】
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、モバイル機器が、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定して、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題を回避できる。
【0107】
図6を参照すると、図6は、本発明の視覚的ポジショニング装置60の一実施例のフレームワークの概略図である。視覚的ポジショニング装置60は、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63を備え、重力情報取得部61は、カメラの重力情報を取得するように構成され、第1ポーズ取得部62は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部63は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。
【0108】
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【0109】
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、視覚的ポジショニング装置60は、さらに、現在の画像内の特徴点の特徴方向情報を取得するように構成される特徴方向取得部を備え、視覚的ポジショニング装置60は、さらに、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得するように構成される深度情報取得部を備え、第2ポーズ取得部63は、さらに、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得するように構成される。
【0110】
上記の実施例と区別して、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。
【0111】
いくつかの開示された実施例において、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、深度情報取得部は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得するように構成される第1演算サブ部を備え、深度情報取得部は、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得するように構成される第2演算サブ部を備える。
【0112】
上記の実施例と区別して、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。
【0113】
いくつかの開示された実施例において、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。
【0114】
上記の実施例と区別して、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。
【0115】
いくつかの開示された実施例において、第2ポーズ取得部63は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得ように構成されるポーズ追跡サブ部を備え、第2ポーズ取得部63は、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行するように構成される再実行サブ部を備える。
【0116】
上記の実施例と区別して、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
【0117】
いくつかの開示された実施例において、ポーズ追跡サブ部は、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定するように構成される特徴点投影部と、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得するように構成されるポーズ変換パラメータ計算部と、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得するように構成されるカメラポーズパラメータ計算部と、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化するように構成されるカメラポーズパラメータ最適化部と、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得するように構成される深度情報取得部と、を備える。
【0118】
上記の実施例と区別して、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができる。
【0119】
いくつかの開示された実施例において、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、視覚的ポジショニング装置60は、さらに、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定するように構成されるカメラポーズ検出部を備え、視覚的ポジショニング装置60は、さらに、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得するように構成される回転パラメータ更新部を備える。
【0120】
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。
【0121】
いくつかの開示された実施例において、回転パラメータ更新部は、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得するように構成される投影変換サブ部を備え、回転パラメータ更新部は、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築するように構成される関数構築サブ部を備え、回転パラメータ更新部は、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得するように構成されるパラメータ取得サブ部を備える。
【0122】
上記の実施例と区別して、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。
【0123】
いくつかの開示された実施例において、回転パラメータ更新部は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得するように構成されるダウンサンプリングサブ部を備え、投影変換サブ部は、さらに、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得するように構成される。
【0124】
上記の実施例と区別して、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。
【0125】
いくつかの開示された実施例において、視覚的ポジショニング装置60は、さらに、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断するように構成される加速度検出部を備え、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63は、さらに、判断がはいである場合、カメラの重力情報を取得するステップおよび後続のステップを再実行するように構成され、加速度検出部は、さらに、判断結果がいいえである場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行するように構成される。
【0126】
上記の実施例と区別して、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。
【0127】
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、第1ポーズ取得部62は、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向とおなじであるように構成される回転角度取得サブ部を備え、第1ポーズ取得部62は、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定するように構成されるパラメータ初始化サブ部を備える。
【0128】
本発明の実施例および他の実施例において、「部分」は、部分回路、部分プロセッサ、部分プログラムまたはソフトウェア等であってもよく、もちろん、ユニットであってもよく、モジュールまたは非モジュール化であってもよい。
【0129】
上記の実施例と区別して、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。
【0130】
いくつかの開示された実施例において、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。
【0131】
上記の実施例と区別して、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。
【0132】
いくつかの開示された実施例において、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。
【0133】
上記の実施例と区別して、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。
【0134】
図7を参照すると、図7は、本発明の電子機器70の実施例のフレームワークの概略図である。電子機器70は、互いに結合されるメモリ71とプロセッサ72を備え、プロセッサ72は、メモリ71に記憶されるプログラム命令を実行して、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するように構成される。一実施シナリオにおいて、電子機器70は、携帯電話、タブレット、ロボットなどのモバイル機器を含み得るが、これに限定されなく、ここでは限定しない。
【0135】
本開示された実施例において、プロセッサ72は、その自体およびメモリ71を制御して、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するように構成される。プロセッサ72は、中央処理ユニット(CPU:Central Processing Unit)とも称し得る。プロセッサ72は、信号の処理能力を有する集積回路チップであり得る。プロセッサ72は、さらに、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、または他のプログラマブルロジックデバイス、ディスクリートゲート、またはトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであってもよい。汎用プロセッサは、マイクロプロセッサであり得、または当該プロセッサは、任意の従来のプロセッサなどであり得る。さらに、プロセッサ72は、集積回路チップによって一緒に実現されることができる。
【0136】
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【0137】
図8を参照すると、図8は、本発明のコンピュータ可読記憶媒体80の実施例のフレームワークの概略図である。コンピュータ可読記憶媒体80は、プロセッサによって実行されることができるプログラム命令801を記憶し、プログラム命令801は、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するために使用される。
【0138】
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
【0139】
本発明によるいくつかの実施例では、開示された方法および装置は、他の方法で実現されることができることを理解されたい。例えば、上記で説明された装置の実施形態は、例示的なものに過ぎず、例えば、モジュールまたはユニットの分割は、論理機能の分割に過ぎず、実際に実現することには、別の分割方式があり、例えば、ユニットまたはコンポーネントを別のシステムに統合または集積してもよいし、特徴の一部を無視するか実行しなくてもよい。さらに、表示または議論される相互結合、または直接結合、または通信接続は、いくつかのインターフェースを使用して実現することができ、装置またはユニット間の間接結合または通信接続は、電気的または機械的な形であってもよく、他の形であってもよい。
【0140】
分離部品として説明されるユニットは、物理的に分離されてもされなくてもよく、ユニットとして表示される部品は、物理的ユニットであってもなくてもよい。つまり、1箇所に配置されてもよく、ネットワークユニットに分散されてもよい。実際のニーズに従って、その中の一部またはすべてのユニットを選択して、本実施形態の技術案の目的を実現することができる。
【0141】
さらに、本発明の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、または各ユニットが、物理的に別々に存在してもよく、または2つまたは2つ以上のユニットが1つのユニットに統合されてもよい。前記統合されたユニットは、ハードウェアの形で実装されてもよく、ソフトウェア機能ユニットの形で実装されてもよい。
【0142】
統合されたユニットが、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用される場合、コンピュータ可読記憶媒体に記憶されることができる。このような理解に基づいて、本発明の技術的解決策は、本質的にまたは先行技術に対して寄与する部分または前記技術的解決策のすべてまたは一部は、ソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、1台のコンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワーク機器等であり得る)またはプロセッサ(processor)に本発明の各実施形態の方法の全部または一部のステップを実行させるためのいくつかの命令を含む。上記した記憶媒体は、Uディスク、モバイルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスクまたは光ディスクなどのプログラムコードを記憶することができる様々な媒体を含む。
【産業上の利用可能性】
【0143】
本発明の実施例において、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
図1
図2
図3
図4
図5
図6
図7
図8
【手続補正書】
【提出日】2021-11-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
視覚的ポジショニング方法であって、
カメラの重力情報を取得することと、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む、視覚的ポジショニング方法。
【請求項2】
前記重力情報は、重力方向情報を含み、前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する前に、前記視覚的ポジショニング方法は、
前記現在の画像内の特徴点の特徴方向情報を取得することと、
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することと、をさらに含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、
前記現在の画像内の前記特徴点の深度情報および前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像内の前記特徴点の深度情報および前記処理されるべき画像のカメラポーズパラメータを取得することを含む、
請求項1に記載の視覚的ポジショニング方法。
【請求項3】
前記特徴方向情報は、前記特徴点の方向ベクトルを含み、前記重力方向情報は、重力ベクトルを含み、前記深度情報は、前記特徴点の深度値を含み、
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することは、
前記特徴点の前記方向ベクトルおよび前記重力ベクトルに対して第1プリセットの演算を実行して、前記特徴点の前記方向ベクトルと前記重力ベクトルとの夾角を取得することと、
前記カメラのプリセットの高さおよび前記夾角に対して第2プリセットの演算を実行して、前記特徴点の深度値を取得することと、を含み、
前記第1プリセットの演算は、内積演算を含み、
および/または、前記第2プリセットの演算は、前記プリセットの高さを前記夾角のコサイン値で除算することを含む、
請求項2に記載の視覚的ポジショニング方法。
【請求項4】
前記現在の画像内の前記特徴点の深度情報および前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像内の前記特徴点の深度情報および前記処理されるべき画像のカメラポーズパラメータを取得することは、
プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行して、前記現在の画像の次のフレームの画像内の前記特徴点の深度情報および前記次のフレームの画像のカメラポーズパラメータを取得することと、
前記次のフレームの画像を前記現在の画像として使用し、前記プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む、
請求項2に記載の視覚的ポジショニング方法。
【請求項5】
前記プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行して、前記現在の画像の次のフレームの画像内の前記特徴点の深度情報および前記次のフレームの画像のカメラポーズパラメータを取得することは、
前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することと、
前記現在の画像内のローカル領域における前記特徴点の画素値と前記次のフレームの画像内のローカル領域における前記投影点の画素値との間の差異に基づいて、前記現在の画像と前記次のフレームの画像との間のポーズ変換パラメータを取得することと、
前記ポーズ変換パラメータおよび前記現在の画像のカメラポーズパラメータを使用して、前記次のフレームの画像のカメラポーズパラメータを取得することと、
収束した三次元点を使用して、前記次のフレームの画像のカメラポーズパラメータを最適化することと、
前記特徴点の深度情報の確率分布を取得し、前記確率分布を使用して、次のフレームの画像内の前記特徴点の深度情報を取得することと、を含む、
請求項に記載の視覚的ポジショニング方法。
【請求項6】
前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、前記視覚的ポジショニング方法は、
前記処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、前記処理されるべき画像の変位パラメータを取得できないことを決定することと、
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得することと、をさらに含む、
請求項1に記載の視覚的ポジショニング方法。
【請求項7】
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得することは、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することと、
前記前のフレームの画像における前記画素点の少なくとも一部の画素値と、前記処理されるべき画像における、前記画素点の少なくとも一部に対応する前記投影点の画素値との間の差異を使用して、前記ポーズ変換パラメータに関するターゲット関数を構築することと、
前記ターゲット関数を解けて得られた前記ポーズ変換パラメータを使用して、前記前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、前記処理されるべき画像の回転パラメータを取得することと、を含む、
請求項に記載の視覚的ポジショニング方法。
【請求項8】
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得する前に、前記視覚的ポジショニング方法は、
前記前のフレームの画像に対してダウンサンプリング処理を実行して、前記前のフレームの画像のサムネイル画像を取得することをさらに含み、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することは、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記サムネイル画像内の画素点に対して投影変換を実行して、前記処理されるべき画像における前記サムネイル画像内の画素点の投影点を取得することを含む、
請求項に記載の視覚的ポジショニング方法。
【請求項9】
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得した後、前記視覚的ポジショニング方法は、
前記カメラの現在の加速度情報を検出し、前記加速度情報が、前記プリセットの運動状態にあるか否かを判断することと、
前記プリセットの運動状態にある場合、前記カメラの重力情報を取得するステップおよび後続のステップを再実行し、
前記プリセットの運動状態にない場合、前記カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む、
請求項に記載の視覚的ポジショニング方法。
【請求項10】
前記重力情報は、重力方向情報を含み、前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得することは、
前記重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応する前記カメラの回転角度を取得することであって、前記カメラが前記回転角度に従って回転した後の重力方向は、前記z座標軸の逆方向と同じである、ことと、
前記回転角度を使用して、前記回転パラメータを取得し、前記変位パラメータをプリセットの数値に設定することと、を含み、
前記世界座標系の原点は、前記カメラが前記現在の画像を撮影するときの位置であり、前記プリセットの数値は0である、
請求項1に記載の視覚的ポジショニング方法。
【請求項11】
前記プリセットの運動状態は、静的状態または均一速度の運動状態を含み、
および/または、前記重力情報は、前記プリセットの運動状態における前記カメラの加速度情報を使用して得られたものである、
請求項1ないし10のいずれか一項に記載の視覚的ポジショニング方法。
【請求項12】
視覚的ポジショニング装置であって、
カメラの重力情報を取得するように構成される重力情報取得部と、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得するように構成される第1ポーズ取得部と、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される第2ポーズ取得部と、を備える、視覚的ポジショニング装置。
【請求項13】
互いに結合されるメモリとプロセッサとを備える電子機器であって、前記プロセッサは、前記メモリに記憶されるプログラム命令を実行して、請求項1ないし11のいずれか一項に記載の視覚的ポジショニング方法を実施する、電子機器。
【請求項14】
コンピュータに請求項1ないし11のいずれか一項に記載の視覚的ポジショニング方法を実現させるためのプログラムを記憶した、コンピュータ可読記憶媒体。
【請求項15】
コンピュータに、請求項1ないし11のいずれか一項に記載の視覚的ポジショニング方法を実現させる、コンピュータプログラム。
【国際調査報告】