JP2023502192A - 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 - Google Patents

視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP2023502192A
JP2023502192A JP2021569000A JP2021569000A JP2023502192A JP 2023502192 A JP2023502192 A JP 2023502192A JP 2021569000 A JP2021569000 A JP 2021569000A JP 2021569000 A JP2021569000 A JP 2021569000A JP 2023502192 A JP2023502192 A JP 2023502192A
Authority
JP
Japan
Prior art keywords
image
parameters
camera
processed
current image
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
JP2021569000A
Other languages
English (en)
Other versions
JP7280385B2 (ja
Inventor
カイ ホアン
グオフォン ジャン
フージュン バオ
ナン ワン
シアンチエン シュー
Original Assignee
チョーチアン センスタイム テクノロジー デベロップメント カンパニー,リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by チョーチアン センスタイム テクノロジー デベロップメント カンパニー,リミテッド filed Critical チョーチアン センスタイム テクノロジー デベロップメント カンパニー,リミテッド
Publication of JP2023502192A publication Critical patent/JP2023502192A/ja
Application granted granted Critical
Publication of JP7280385B2 publication Critical patent/JP7280385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)
  • Automatic Disk Changers (AREA)
  • Manufacturing Optical Record Carriers (AREA)
  • Optical Recording Or Reproduction (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本発明は、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体を開示し、ここで、視覚的ポジショニング方法は、カメラの重力情報を取得することと、重力情報を使用して、プリセットの運動状態のカメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む。上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大する。

Description

(関連出願の相互参照)
本願は、2020年10月23日に中国特許局に提出された、出願番号が202011148780.6である、中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照によって本願に組み込まれる。
本発明は、コンピュータ視覚技術分野に関し、特に、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体に関する。
電子情報技術の発展に伴い、同時ポジショニングと同時ローカリゼーションとマッピング(SLAM:Simultaneous Localization And Mapping)などの視覚的ポジショニング技術は、自律運転、屋内ナビゲーション、拡張現実(AR:Augmented Reality)、仮想現実(VR:Virtual Reality)などの分野に徐々に適用される。
SLAMなどの視覚的ポジショニング技術は、モバイル機器のカメラポーズを取得することにより、モバイル機器の自律的なポジショニング、ナビゲーションなどのタスクを完了し、本質的には、複雑な数学的問題である。現在、SLAMなどの視覚的ポジショニング技術は、ハードウェアにおいて、センサに依存し、通常、カメラ、加速度計、重力計、慣性測定ユニット(IMU:Inertial Measurement Unit)などのセンサが必要である。しかし、実際の適用において、通常、ミッドエンド/ハイエンドのモバイル機器にのみ上記のセンサが配置される。ローエンドのモバイル機器に配置されるセンサは、通常、比較的に少ないし、IMUを配置せず、既存の視覚的ポジショニング技術の使用コストが比較的に高くし、使用範囲を比較的に狭くする。これを鑑みて、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することは、緊急の問題である。
本発明は、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体を提供する。
本発明の第1態様は、視覚的ポジショニング方法を提供し、前記方法は、カメラの重力情報を取得することと、重力情報を使用して、プリセットの運動状態のカメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む。
したがって、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
ここで、重力情報は、重力方向情報を含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する前に、前記方法は、現在の画像内の特徴点の特徴方向情報を取得することと、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することと、をさらに含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することを含む。
したがって、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。
ここで、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することは、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することと、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得することと、を含む。
したがって、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。
ここで、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。
したがって、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。
ここで、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することは、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することと、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む。
したがって、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
ここで、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することと、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得することと、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することと、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化することと、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することと、を含む。
したがって、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができ、ここで、カメラポーズパラメータと深度情報をそれぞれ最適化して、最適化の計算量を減らす。
ここで、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、方法は、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定すること、および、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することをさらに含む。
したがって、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することと、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することと、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得することと、を含む。
したがって、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。
ここで、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する前に、方法は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することをさらに含み、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得することを含む。
したがって、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得した後、方法は、カメラの現在の加速度情報を検出し、加速度情報が、プリセットの運動状態にあるか否かを判断することと、ある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、ない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む。
したがって、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。
ここで、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得することは、重力方向情報を使用して、取得世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することであって、ここで、カメラが回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じである、ことと、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することと、を含む。
したがって、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。
ここで、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。
したがって、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。
ここで、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。
したがって、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。
本発明の第2態様は、視覚的ポジショニング装置を提供し、前記装置は、重力情報取得部、第1ポーズ取得部および第2ポーズ取得部を備え、重力情報取得部は、カメラの重力情報を取得するように構成され、第1ポーズ取得部は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。
本発明の第3態様は、電子機器を提供する。前記電子機器は、互いに結合されるメモリとプロセッサとを備え、プロセッサは、メモリに記憶されるプログラム命令を実行して、上記の第1態様における視覚的ポジショニング方法を実施する。
本発明の第4態様は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体は、プログラム命令を記憶し、プログラム命令は、プロセッサによって実行されるときに、前記プロセッサに上記の第1態様における視覚的ポジショニング方法を実施させる。
本発明の第5態様は、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードは、電子機器で実行されるときに、前記電子機器内のプロセッサに、上記の第1態様における視覚的ポジショニング方法を実施させる。
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
本発明の視覚的ポジショニング方法の一実施例の例示的なフローチャートである。 深度情報を取得する一実施例の概略図である。 図1におけるステップS13の一実施例の例示的なフローチャートである。 本発明の視覚追跡方法の別の一実施例の例示的なフローチャートである。 図4におけるステップS45の一実施例の例示的なフローチャートである。 本発明の視覚的ポジショニング装置の一実施例のフレームワークの概略図である。 本発明の電子機器の実施例のフレームワークの概略図である。 本発明のコンピュータ可読記憶媒体の実施例のフレームワークの概略図である。
以下は、図面を参照して、本発明の実施例の技術案を詳細に説明する。
以下の説明において、限定するためにではなく説明するためであり、本発明を完全に理解するために、特定のシステム構造、インターフェース、技術などの詳細を提案する。
本明細書における「システム」および「ネットワーク」という用語は、本明細書で常に互換的に使用される。本明細書における「および/または」という用語は、関連付けられるオブジェクトを説明する単なる関連付け関係であり、3つの関係が存在できることを示し、例えば、Aおよび/またはBは、Aが独立で存在する場合、AとBが同時に存在する場合、Bが独立で存在する場合という3つの場合を表す。さらに、本明細書における記号「/」は、一般的に、前後の関連付けられるオブジェクトが、「または」という関係であることを示す。なお、本明細書における「複数」は、2つまたは2つ以上を表す。
図1を参照すると、図1は、本発明の視覚的ポジショニング方法の一実施例の例示的なフローチャートである。視覚的ポジショニング方法は、以下のステップを含み得る。
ステップS11において、カメラの重力情報を取得する。
本発明実施例において、視覚的ポジショニング方法の実行主体は、視覚的ポジショニング装置であり得、例えば、視覚的ポジショニング方法は、端末機器またはサーバまたは其它処理機器によって実行されることができ、ここで、端末機器は、ユーザ機器(UE:User Equipment)、モバイル機器、ユーザ端末、端末、携帯電話、コードレス電話、パーソナルデジタル処理(PDA:Personal Digital Assistant)、ハンドヘルド機器、コンピューティング機器、車載機器、ウェアラブル機器などであり得る。いくつかの可能な実施形態において、前記視覚的ポジショニング方法は、プロセッサによって、メモリに記憶されるコンピュータ可読命令を呼び出す方式を介して実現さすることができる。
本発明実施例において、カメラは、モバイル機器に統合されることができ、モバイル機器は、携帯電話、タブレット、ロボットなどを含み得るが、これに限定されない。ここで、本発明実施例および以下の開示された実施例におけるステップは、モバイル機器によって実行されることができ、モバイル機器には、視覚的ポジショニング装置が配置される。さらに、モバイル機器は、加速度計、重力計、IMUなどの、他のセンサを統合することができ、それに対して、実際の適用シナリオに応じて設置することができ、ここでは限定しない。例えば、コスト限制によって、ローエンドモバイル機器は、カメラおよび加速度計のみを統合することができ、または、カメラおよび重力計を統合することができ、さらに、ミッドエンド/ハイエンドのモバイル機器は、カメラ、加速度計、IMUなどを統合することができ、ここでは限定しない。
一実施シナリオにおいて、重力情報は、プリセットの運動状態におけるカメラの加速度情報を使用して得られたものであり得、それにより、IMUの必要なく、加速度計のみに依存して重力情報を取得することができる。ここで、プリセットの運動状態は、静的状態または均一速度の運動状態である。例えば、プリセットの運動状態で検出されたカメラ加速度と重力加速度との間の差異が、プリセットの範囲内にあり、例えば、重力加速度が9.8m/sであり、プリセットの範囲が0~1m/sであり、検出されたカメラ加速度が10m/sである場合、カメラは、プリセットの運動状態において、プリセットの範囲は、実際の適用ニーズにしがって設定することができると見なすことができ、ここでは限定しない。さらに、モバイル機器に重力計が統合された場合にも、IMUの必要なく、直接に重力計を介して重力情報を取得することができる。
一実施シナリオにおいて、モバイル機器は、さらに、検出されたカメラ加速度に従って、静的状態または均一速度の運動状態にあるか否かを判断することができ、例えば、検出されたカメラ加速度が、重力加速度に近接する場合、静的状態または均一速度の運動状態にあると見なすことができる。ここで、加速度計を配置した場合、三軸における加速度計の加速度成分(例えば、
Figure 2023502192000002

Figure 2023502192000003

Figure 2023502192000004
)二乗和の根を計算して、カメラ加速度
Figure 2023502192000005
として使用することができ、即ち、
Figure 2023502192000006
である。
別の一実施シナリオにおいて、カメラが、プリセットの運動状態にないと検出された場合、モバイル機器は、カメラが、プリセットの運動状態にあると検出されるまで再検出することができる。ここで、検出された周波数は、カメラによって撮影された周波数と一致することができ、例えば、カメラが、毎秒25枚の画像を撮影すると、対応的に、プリセットの運動状態にあるか否かを毎秒25回検出することができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
一実施シナリオにおいて、カメラの重力情報は、重力方向情報を含み得、ここで、重力方向情報は、重力ベクトルを含み得る。一実施シナリオにおいて、加速度計が配置された場合、三軸における加速度計の加速度成分のベクトル合計(即ち、
Figure 2023502192000007
)を計算し、ベクトル合計を重力ベクトルとして使用することができ、または、ベクトルと同じ方向の単位ベクトルを重力ベクトルとして使用することもでき、重力ベクトルに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
ステップS12において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。
一実施シナリオにおいて、カメラポーズパラメータは、変位パラメータおよび回転パラメータを含み得、それにより、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することができ、且つ、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、さらに、回転角度を使用して、回転パラメータを取得することができ、変位パラメータをプリセットの数値に設定して、重力アライメントを介して現在の画像のカメラポーズパラメータを初始化することを簡略化して、計算量を減らすことができる。
一実施シナリオにおいて、x座標軸に対応するカメラの回転角度は、
Figure 2023502192000008
に表すことができ、y座標軸に対応するカメラの回転角度は、
Figure 2023502192000009
に表すことができ、z座標軸に対応するカメラの回転角度は、
Figure 2023502192000010
に表すことができ、世界座標系x座標軸に対応するカメラの回転パラメータ
Figure 2023502192000011
、世界座標系y座標軸に対応する回転パラメータ
Figure 2023502192000012
、世界座標系z座標軸に対応する回転パラメータ
Figure 2023502192000013
は、それぞれ以下のように表すことができる。
Figure 2023502192000014
……(1)
回転パラメータRは、世界座標系x座標軸に対応する回転パラメータ
Figure 2023502192000015
、世界座標系y座標軸に対応する回転パラメータ
Figure 2023502192000016
、世界座標系z座標軸に対応する回転パラメータ
Figure 2023502192000017
によって得られることができ、ここで、上記の回転パラメータ
Figure 2023502192000018
、回転パラメータ
Figure 2023502192000019
および回転パラメータ
Figure 2023502192000020
の乗積を、回転パラメータRとして使用することができ、即ち、回転パラメータRは、以下の通りに表すことができる。
Figure 2023502192000021
……(2)
別の一実施シナリオにおいて、モバイル機器は、世界座標系の原点を、カメラが現在の画像を撮影するときの位置として使用することができ、即ち、x座標軸、y座標軸、z座標軸に対応するカメラの変位は、すべて0であり、したがって、プリセットの数値を0に設定することができ、即ち、変位パラメータを0に設定することができる。
ステップS13において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。
一実施シナリオにおいて、モバイル機器は、スキャンしてマルチフレームの画像を取得し、三角化方式を使用して、現在の画像および現在の画像の隣接画像内の互いにマッチングする特徴点を処理して、マッチングする特徴点の深度情報を取得することができる。ここで、深度情報は、特徴点の深度値を含み得、それにより、計算して得られた深度値を使用して、世界座標系における特徴点の三次元座標を取得することができ、さらに、現在の画像の次のフレームの画像と現在の画像との間のポーズ変換パラメータを使用して、特徴点の三次元座標を次のフレームの画像に再投影して、次のフレームの画像における投影点を取得することができ、それにより、次のフレームの画像における投影点の画素値と、現在の画像における対応する特徴点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。当該ターゲット関数を最小化することにより、ポーズ変換パラメータを取得することができ、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することができ、これによって類推すれば、モバイル機器は、現在の画像後の処理されるべき画像のカメラポーズパラメータをフレームごとに取得することができる。一実施シナリオにおいて、三角化方式は、異なる位置で同じ三次元点を観察し、異なる位置で観察された三次元点の二次元投影点を知っており、三角関係を使用して、三次元点の深度情報を復元することを指し、ここで詳細に説明しない。
別の一実施シナリオにおいて、マルチフレームの画像をスキャンすることによる追加の応答時間を削減し、視覚的ポジショニングの応答速度を向上させるために、モバイル機器は、現在の画像内の特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することができ、それにより、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得し、さらに、現在の画像のみで深度情報を初始化することができ、したがって、マルチフレームの画像をスキャンすることを避け、視覚的ポジショニングの応答速度を向上させることに役立つことができる。
一実施シナリオにおいて、特徴方向情報は、特徴点の方向ベクトルを含み得、重力方向情報は、重力ベクトルを含み、ここで、方向ベクトルおよび重力ベクトルは、単位ベクトルであり得、深度情報は、特徴点の深度値を含み、特徴点は、画像内の輪郭エッジ画素点、画素値が突然変化する画素点など、画像特徴を説明できる画素点を含み得、ここで、特徴点に対して、実際のニーズに従って設定することができ、ここでは限定しない。例えば、加速セグメントテストの特徴(FAST:Features from Accelerated Segment Test)、バイナリロバスト独立特徴記述子(BRIEF:Binary Robust Independent Elementary Features)、スケール不変特徴変換(SIFT:Scale Invariant Feature Transform)、ORBなどの検出方式を介して、特徴点および特徴点の方向ベクトルを取得することができ、それに対して、実際の適用ニーズに従って、特徴点検出方式を選択することができ、ここでは限定しない。
別の一実施シナリオにおいて、図2を参照すると、図2は、深度情報を取得する一実施例の概略図であり、モバイル機器は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することができ、第1プリセットの演算は、内積演算を含み得、即ち、方向ベクトル
Figure 2023502192000022
と重力ベクトル
Figure 2023502192000023
との夾角
Figure 2023502192000024
は、以下に通りに表すことができる。
Figure 2023502192000025
……(3)
夾角
Figure 2023502192000026
を取得した後、カメラのプリセットの高さhおよび夾角
Figure 2023502192000027
に対して第2プリセットの演算を実行して、特徴点の深度値zを取得することができ、第2プリセットの演算は、プリセットの高さを夾角で除算するコサイン値を含み、プリセットの高さhは、実際の適用状況に従って設定することができる。AR適用を例として、仮想物体のサイズに従って設定することができ、例えば、仮想物体は、一般的なサイズの猫や犬などのペットである場合、プリセットの高さを0.5米~1米に設定することができ、他の適用状況は、実際の状況に従って設定することができ、ここではいちいち列挙をしない。ここで、深度値zは、以下の通りに表すことができる。
Figure 2023502192000028
……(4)
一実施シナリオにおいて、本発明の実施例および以下の開示される実施例におけるステップは、モバイル機器によってじっこうされる屋内ナビゲーション、自律運転、AR、VRなどのアプリケーションプログラム、ウェブサイトに統合されることができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
上記の技術案において、モバイル機器は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
図3を参照すると、図3は、図1におけるステップS13の一実施例の例示的なフローチャートである。図3は、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得する一実施例の例示的なフローチャートである。ここで、S13は、以下のステップを含み得る。
ステップS131において、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得する。
プリセットのポーズ追跡方式は、実際の適用ニーズに従って設定することができる。本発明の実施例において、プリセットのポーズ追跡方式は、スパース画像アライメント、特徴点アライメント、ポーズ最適化などのステップを含み得、それにより、上記のステップを介して処理して、次のフレームの画像のカメラポーズパラメータを取得し、さらに、プリセットのポーズ追跡方式は、マップポイント最適化ステップを含み得、それにより、マップポイント最適化などのステップを介して処理して、次のフレームの画像内の特徴点の深度情報を取得する。
一実施シナリオにおいて、モバイル機器は、スパース画像アライメントを実行するとき、まず、前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することができ、前記ステップは、二次元から三次元への逆投影関数
Figure 2023502192000029
を使用して、特徴点座標uおよび特徴点深度値duを含む第1座標情報
Figure 2023502192000030
を三次元空間に逆投影して、特徴点の三次元座標
Figure 2023502192000031
を取得し、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータTおよび三次元から二次元への投影関数
Figure 2023502192000032
を使用して、現在の画像特徴点の三次元座標
Figure 2023502192000033
を次のフレームの画像kに投影して、次のフレームの画像における特徴点の投影点
Figure 2023502192000034
を取得することを含み得、それにより、次のフレームの画像k内のローカル領域における投影点の画素値
Figure 2023502192000035
と、現在の画像k-1の特徴点ローカル領域に対応する画素値
Figure 2023502192000036
との間に差異があることを取得し、さらに、当該差異に基づいて、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータを取得することができる。ここで、ローカル領域は、特徴点(または投影点)を中心とする一長方形領域(例えば、3*3領域、4*4領域、8*8領域など)であり得、以下の式に示された通りである。
Figure 2023502192000037
……(5)
特徴点の数は通常、複数あるため、複数の特徴点に対して上記の差異を計算し、加算し、ターゲット関数をさらに構築することができ、以下の式に示された通りであることに留意されたい。
Figure 2023502192000038
……(6)
上記の式(6)において、
Figure 2023502192000039
は、ターゲット関数を表し、ここで、
Figure 2023502192000040
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
Figure 2023502192000041
は、ノルム演算を表し、
Figure 2023502192000042
は、ポーズ変換パラメータTを最適化対象としてターゲット関数を最小化することを表し、
Figure 2023502192000043
は、ターゲット関数を解けて得られたポーズ変換パラメータを表す。
計算してポーズ変換パラメータ
Figure 2023502192000044
を取得した後、モバイル機器は、ポーズ変換パラメータ
Figure 2023502192000045
および現在の画像k-1のカメラポーズパラメータ
Figure 2023502192000046
を使用して、次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000047
を取得することができる。ここで、ポーズ変換パラメータ
Figure 2023502192000048
を現在の画像k-1のカメラポーズパラメータ
Figure 2023502192000049
と乗算して、次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000050
を取得することができる。
さらに、スパース画像アライメントの計算の複雑さを減らすために、モバイル機器は、現在の画像k-1および次のフレームの画像kに対してダウンサンプリング処理を実行して、現在の画像k-1および次のフレームの画像kのピラミッド画像を取得し、ピラミッド画像のうち、解像度がプリセットの解像度である一層の画像またはマルチ層の画像を取って上記のスパース画像アライメントの処理を実行し、それにより、計算の複雑さを減らすことができる。
一実施シナリオにおいて、上記のスパース画像アライメントの動作は、必然的に累積誤差を引き起し、それにより、取得された次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000051
の精度が比較的に低くする。精度を向上させるために、モバイル機器は、収束した三次元点(例えば、三次元モデル内の三次元点)を使用して、次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000052
を最適化することができる。ここで、収束した三次元点をマッチングしアライメントすることにより投影点を取得することができ、投影点を利用して、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000053
に対して特徴点アライメントの最適化を実行するステップは、収束した三次元点から次のフレームの画像kに投影できる三次元点を選択して、ターゲット三次元点として使用し、撮影された画像から、ターゲット三次元点が投影できる画像のうち、最も早く撮影された画像を選択して、参照画像として使用し、参照画像内のローカル領域におけるターゲット三次元点の画素値
Figure 2023502192000054
を取得し、上記の概算された次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000055
を使用して、ターゲット三次元点を次のフレームの画像に投影して、次のフレームの画像におけるターゲット三次元点の投影点
Figure 2023502192000056
を取得し、それにより、次のフレームの画像内のローカル領域における投影点
Figure 2023502192000057
の画素値
Figure 2023502192000058
を取得し、さらに、ローカル領域画素値
Figure 2023502192000059
およびローカル領域画素値
Figure 2023502192000060
を使用して、投影点
Figure 2023502192000061
に関するターゲット関数を構築することができ、以下の式を参照されたい。
Figure 2023502192000062
……(7)
上記の式(7)において、
Figure 2023502192000063
は、ターゲット関数を表し、ここで、
Figure 2023502192000064
は、ノルム演算を表し、
Figure 2023502192000065
は、アフィン変換行列を表し、異なる視角による画像の歪みを補正するために使用され、
Figure 2023502192000066
は、投影点
Figure 2023502192000067
の位置を最適化対象としてターゲット関数を最小化することを表す。
投影点
Figure 2023502192000068
を取得した後、モバイル機器は、上記の特徴点アライメントによって得られた投影点
Figure 2023502192000069
に基づいて、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000070
を最適化し、最終的に、最適化して次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000071
を取得することができる。ポーズ最適化のステップは、次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000072
および三次元から二次元への投影関数
Figure 2023502192000073
を使用して、ターゲット三次元点
Figure 2023502192000074
を次のフレームの画像kに再投影して、投影点
Figure 2023502192000075
を取得し、投影点
Figure 2023502192000076
と、特徴点アライメントステップで最適化して得られた次のフレームの画像の投影点
Figure 2023502192000077
との位置差異を使用して、カメラポーズパラメータ
Figure 2023502192000078
に関するターゲット関数を構築することができ、以下の式を参照されたい。
Figure 2023502192000079
……(8)
上記の式(8)において、
Figure 2023502192000080
は、ターゲット関数を表し、ここで、
Figure 2023502192000081
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
Figure 2023502192000082
は、ノルム演算を表し、
Figure 2023502192000083
は、ポーズ変換パラメータ
Figure 2023502192000084
を最適化対象としてターゲット関数を最小化することを表す。
式(8)に示されたターゲット関数を解くことにより、最終的に、次のフレームの画像のカメラポーズパラメータ
Figure 2023502192000085
を取得することができる。
一実施シナリオにおいて、マップポイント最適化の本質は、三次元点が最初に観察された参照画像上の対応する位置の逆深度(即ち、深度値の逆数)に対する最適化である。ここで、特徴点の深度情報の確率分布を取得することができ、特徴点の内部点確率
Figure 2023502192000086
および逆深度値zは、ベータとガウスの混合モデル分布(Beta Gaussian Mixture Model Distribution)とほぼ一致し、以下の式を参照されたい。
Figure 2023502192000087
……(9)
ここで、上記の式(9)では、ある特徴点
Figure 2023502192000088
を第k回観察した後の確率分布を表し、
Figure 2023502192000089

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

Figure 2023502192000092
は、逆深度ガウス分布の平均値と分散を表す。確率分布を取得した後、モバイル機器は、取得された確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することができる。例えば、逆深度ガウス分布の分散
Figure 2023502192000093
が、一プリセットの深度範囲(例えば、1/200)より小さい場合、深度値収束に見なされることができ、この場合の逆深度ガウス分布の平均値
Figure 2023502192000094
の逆数を取って特徴点の深度値として使用して、撮影プロセスで、特徴点の深度値を最適化し続けることができる。
ステップS132において、次のフレームの画像を現在の画像として使用する。
次のフレームの画像のカメラポーズパラメータおよび特徴点の深度情報を取得した後、モバイル機器は、次のフレームの画像を現在の画像として使用し、上記のステップS131および後続のステップを再実行することができ、それにより、画像のカメラポーズパラメータおよび画像内の特徴点の深度情報をフレームごとに計算することができる。
ステップS133において、ステップS131および後続のステップを再実行する。
上記の実施例と区別して、モバイル機器は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
図4を参照すると、図4は、本発明の視覚追跡方法の別の一実施例の例示的なフローチャートであり、視覚追跡方法は、以下のステップを含み得る。
ステップS41において、カメラの重力情報を取得する。
上記の実施例における関連ステップを参照されたい。
ステップS42において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。
上記の実施例における関連ステップを参照されたい。
ステップS43において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。
上記の実施例における関連ステップを参照されたい。
ステップS44において、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たすか否かを判断し、満たさない場合、ステップS45を実行し、満たす場合、ステップS46を実行する。
プリセットの安定状態条件は、カメラポーズパラメータに異常値がないこと、処理されるべき画像のカメラポーズパラメータと処理されるべき画像前のフレームのカメラポーズパラメータとの間の差異が、プリセットの範囲内にあることのうちの少なくとも1つを含み得る。一実施シナリオにおいて、異常値は、変位閾値より大きい変位パラメータ、回転閾値より大きい回転パラメータを含み得、ここで、変位閾値、回転閾値およびプリセットの範囲は、実際の適用ニーズに従って設定することができ、ここでは限定しない。
ステップS45において、処理されるべき画像を取得できない変位パラメータを決定し、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得する。
実際の適用プロセスにおいて、急速な運動、照明条件の大幅の変化などの要因はすべて、カメラポーズパラメータを不正確にして、視覚的ポジショニングを不正確にし、視覚的ポジショニングのロバスト性を向上させるために、処理画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないと判断した場合、モバイル機器は、上記のステップによって取得されたカメラポーズパラメータの不正確度、特に、変位パラメータを決定することができる。したがって、回転パラメータの更新失敗による仮想物体が画面にくっつくなどの問題を低減するために、モバイル機器は、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、それにより、回転パラメータの更新を維持することができる。
一実施シナリオにおいて、図5を参照すると、図5は、図4におけるステップS45の一実施例の例示的なフローチャートである。ここで、S45は、以下のステップを含み得る。
ステップS451において、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する。
説明の便宜上、処理されるべき画像をkに表し、前のフレームの画像をk-1に表し、ポーズ変換パラメータを
Figure 2023502192000095
に表し、前のフレームの画像内の画素点の少なくとも一部の二次元座標をuに表し、画素点の少なくとも一部の深度値をduに表し、二次元から三次元への逆投影関数を
Figure 2023502192000096
に表すことができ、三次元から二次元への投影関数を
Figure 2023502192000097
に表すことができ、投影点は、
Figure 2023502192000098
に表すことができ、ここで、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。
一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、前のフレームの画像に対してダウンサンプリングを実行して、前のフレームの画像のサムネイル画像(例えば、40*30またはより小さい画像)を取得することができ、それにより、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。別の一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、サムネイル画像内の画素点を単位球に投影することができ、即ち、サムネイル画像内の画素点の深度値を1に統一に設定することができ、さらに、実際の適用ニーズに従って、深度値を他の数値に統一に設定することができ、ここでは限定しない。
ステップS452において、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築する。
一実施シナリオにおいて、モバイル機器は、前のフレームの画像内のローカル領域における画素点の少なくとも一部の画素値
Figure 2023502192000099
と、処理されるべき画像内のローカル領域における、画素点の少なくとも一部に対応する投影点
Figure 2023502192000100
の画素値
Figure 2023502192000101
との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。
別の一実施シナリオにおいて、前のフレームの画像に対してダウンサンプリングを実行する場合、モバイル機器は、サムネイル画像内の画素点の画素値と、処理されるべき画像におけるこれらの画素値に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。
ここで、ターゲット関数は、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。
ステップS453において、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得する。
上記のターゲット関数を最適化し解け、最適化し解くプロセスでは、モバイル機器は、回転パラメータのみを最適化して、解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像のカメラポーズパラメータを取得し、カメラポーズパラメータ内の回転パラメータを抽出して、処理されるべき画像の回転パラメータとして使用することができる。
一実施シナリオにおいて、視覚的ポジショニングのロバスト性を向上させるために、モバイル機器は、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報を検出し続け、加速度情報は、プリセットの運動状態にあるか否かを判断することができ、加速度情報を取得し、加速度情報が、プリセットの運動状態にあるか否かを判断するステップは、上記の開示された実施例の関連ステップを参照でき、ここで詳細に説明しない。プリセットの運動状態にある場合、個の場合のカメラは、静的状態または均一速度の運動状態にあると見なすことができ、そうすると、カメラの重力情報を取得するステップおよび後続のステップを再実行することができ、プリセットの運動状態にない場合、個の場合のカメラは、大幅に運動する状態にあると見なすことができ、そうすると、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することができる。視覚的ポジショニングが不正確である場合、カメラの現在の加速度情報を検出することを繰り返し、加速度情報がプリセットの運動状態にあるか否かを判断し、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行することにより、視覚的ポジショニングのロバスト性を向上させることができる。
ステップS46において、処理されるべき画像を現在の画像として使用する。
処理されるべき画像の回転パラメータを取得した後、大幅の運動または照明条件が大幅に変化する場合に、依然として回転パラメータの更新を持続できるようにするために、モバイル機器は、処理されるべき画像を現在の画像として使用し、上記の現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するステップおよび後続のステップを再実行することができる。
ステップS47において、ステップS43および後続のステップを再実行する。
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、モバイル機器が、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定して、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題を回避できる。
図6を参照すると、図6は、本発明の視覚的ポジショニング装置60の一実施例のフレームワークの概略図である。視覚的ポジショニング装置60は、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63を備え、重力情報取得部61は、カメラの重力情報を取得するように構成され、第1ポーズ取得部62は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部63は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、視覚的ポジショニング装置60は、さらに、現在の画像内の特徴点の特徴方向情報を取得するように構成される特徴方向取得部を備え、視覚的ポジショニング装置60は、さらに、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得するように構成される深度情報取得部を備え、第2ポーズ取得部63は、さらに、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得するように構成される。
上記の実施例と区別して、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。
いくつかの開示された実施例において、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、深度情報取得部は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得するように構成される第1演算サブ部を備え、深度情報取得部は、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得するように構成される第2演算サブ部を備える。
上記の実施例と区別して、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。
いくつかの開示された実施例において、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。
上記の実施例と区別して、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。
いくつかの開示された実施例において、第2ポーズ取得部63は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得ように構成されるポーズ追跡サブ部を備え、第2ポーズ取得部63は、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行するように構成される再実行サブ部を備える。
上記の実施例と区別して、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。
いくつかの開示された実施例において、ポーズ追跡サブ部は、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定するように構成される特徴点投影部と、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得するように構成されるポーズ変換パラメータ計算部と、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得するように構成されるカメラポーズパラメータ計算部と、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化するように構成されるカメラポーズパラメータ最適化部と、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得するように構成される深度情報取得部と、を備える。
上記の実施例と区別して、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができる。
いくつかの開示された実施例において、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、視覚的ポジショニング装置60は、さらに、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定するように構成されるカメラポーズ検出部を備え、視覚的ポジショニング装置60は、さらに、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得するように構成される回転パラメータ更新部を備える。
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。
いくつかの開示された実施例において、回転パラメータ更新部は、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得するように構成される投影変換サブ部を備え、回転パラメータ更新部は、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築するように構成される関数構築サブ部を備え、回転パラメータ更新部は、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得するように構成されるパラメータ取得サブ部を備える。
上記の実施例と区別して、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。
いくつかの開示された実施例において、回転パラメータ更新部は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得するように構成されるダウンサンプリングサブ部を備え、投影変換サブ部は、さらに、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得するように構成される。
上記の実施例と区別して、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。
いくつかの開示された実施例において、視覚的ポジショニング装置60は、さらに、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断するように構成される加速度検出部を備え、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63は、さらに、判断がはいである場合、カメラの重力情報を取得するステップおよび後続のステップを再実行するように構成され、加速度検出部は、さらに、判断結果がいいえである場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行するように構成される。
上記の実施例と区別して、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、第1ポーズ取得部62は、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向とおなじであるように構成される回転角度取得サブ部を備え、第1ポーズ取得部62は、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定するように構成されるパラメータ初始化サブ部を備える。
本発明の実施例および他の実施例において、「部分」は、部分回路、部分プロセッサ、部分プログラムまたはソフトウェア等であってもよく、もちろん、ユニットであってもよく、モジュールまたは非モジュール化であってもよい。
上記の実施例と区別して、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。
いくつかの開示された実施例において、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。
上記の実施例と区別して、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。
いくつかの開示された実施例において、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。
上記の実施例と区別して、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。
図7を参照すると、図7は、本発明の電子機器70の実施例のフレームワークの概略図である。電子機器70は、互いに結合されるメモリ71とプロセッサ72を備え、プロセッサ72は、メモリ71に記憶されるプログラム命令を実行して、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するように構成される。一実施シナリオにおいて、電子機器70は、携帯電話、タブレット、ロボットなどのモバイル機器を含み得るが、これに限定されなく、ここでは限定しない。
本開示された実施例において、プロセッサ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は、集積回路チップによって一緒に実現されることができる。
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
図8を参照すると、図8は、本発明のコンピュータ可読記憶媒体80の実施例のフレームワークの概略図である。コンピュータ可読記憶媒体80は、プロセッサによって実行されることができるプログラム命令801を記憶し、プログラム命令801は、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するために使用される。
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。
本発明によるいくつかの実施例では、開示された方法および装置は、他の方法で実現されることができることを理解されたい。例えば、上記で説明された装置の実施形態は、例示的なものに過ぎず、例えば、モジュールまたはユニットの分割は、論理機能の分割に過ぎず、実際に実現することには、別の分割方式があり、例えば、ユニットまたはコンポーネントを別のシステムに統合または集積してもよいし、特徴の一部を無視するか実行しなくてもよい。さらに、表示または議論される相互結合、または直接結合、または通信接続は、いくつかのインターフェースを使用して実現することができ、装置またはユニット間の間接結合または通信接続は、電気的または機械的な形であってもよく、他の形であってもよい。
分離部品として説明されるユニットは、物理的に分離されてもされなくてもよく、ユニットとして表示される部品は、物理的ユニットであってもなくてもよい。つまり、1箇所に配置されてもよく、ネットワークユニットに分散されてもよい。実際のニーズに従って、その中の一部またはすべてのユニットを選択して、本実施形態の技術案の目的を実現することができる。
さらに、本発明の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、または各ユニットが、物理的に別々に存在してもよく、または2つまたは2つ以上のユニットが1つのユニットに統合されてもよい。前記統合されたユニットは、ハードウェアの形で実装されてもよく、ソフトウェア機能ユニットの形で実装されてもよい。
統合されたユニットが、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用される場合、コンピュータ可読記憶媒体に記憶されることができる。このような理解に基づいて、本発明の技術的解決策は、本質的にまたは先行技術に対して寄与する部分または前記技術的解決策のすべてまたは一部は、ソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、1台のコンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワーク機器等であり得る)またはプロセッサ(processor)に本発明の各実施形態の方法の全部または一部のステップを実行させるためのいくつかの命令を含む。上記した記憶媒体は、Uディスク、モバイルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスクまたは光ディスクなどのプログラムコードを記憶することができる様々な媒体を含む。
本発明の実施例において、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。

Claims (17)

  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のいずれか一項に記載の視覚的ポジショニング方法を実現させるためのコンピュータ可読コードを含む、コンピュータプログラム。
JP2021569000A 2020-10-23 2021-02-19 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体 Active JP7280385B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202011148780.6A CN112348889A (zh) 2020-10-23 2020-10-23 视觉定位方法及相关装置、设备
CN202011148780.6 2020-10-23
PCT/CN2021/076957 WO2022083038A1 (zh) 2020-10-23 2021-02-19 视觉定位方法及相关装置、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
JP2023502192A true JP2023502192A (ja) 2023-01-23
JP7280385B2 JP7280385B2 (ja) 2023-05-23

Family

ID=74360141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021569000A Active JP7280385B2 (ja) 2020-10-23 2021-02-19 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体

Country Status (5)

Country Link
JP (1) JP7280385B2 (ja)
KR (1) KR20220054582A (ja)
CN (1) CN112348889A (ja)
TW (1) TWI795885B (ja)
WO (1) WO2022083038A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348889A (zh) * 2020-10-23 2021-02-09 浙江商汤科技开发有限公司 视觉定位方法及相关装置、设备
CN112884840A (zh) * 2021-03-29 2021-06-01 湖南国科微电子股份有限公司 一种视觉定位方法、装置、设备及存储介质
CN115641648B (zh) * 2022-12-26 2023-08-18 苏州飞蝶虚拟现实科技有限公司 基于视觉对重复动作分析过滤的3d远程互动处理系统
CN116429094B (zh) * 2023-06-15 2023-09-26 小米汽车科技有限公司 定位方法、装置、电子设备及存储介质
CN117058209B (zh) * 2023-10-11 2024-01-23 山东欧龙电子科技有限公司 一种基于三维地图的飞行汽车视觉图像深度信息计算方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013027628A1 (ja) * 2011-08-24 2013-02-28 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2017108370A (ja) * 2015-07-06 2017-06-15 セイコーエプソン株式会社 頭部装着型表示装置およびコンピュータープログラム
WO2019237099A1 (en) * 2018-06-08 2019-12-12 Magic Leap, Inc. Augmented reality viewer with automated surface selection placement and content orientation placement
JP2020042575A (ja) * 2018-09-11 2020-03-19 富士通株式会社 情報処理装置、位置合わせ方法、及びプログラム
JP2020067978A (ja) * 2018-10-26 2020-04-30 富士通株式会社 床面検出プログラム、床面検出方法及び端末装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664993B1 (en) * 2017-03-13 2020-05-26 Occipital, Inc. System for determining a pose of an object
CN108305317B (zh) * 2017-08-04 2020-03-17 腾讯科技(深圳)有限公司 一种图像处理方法、装置及存储介质
CN110720113A (zh) * 2018-08-01 2020-01-21 深圳市大疆创新科技有限公司 一种参数处理方法、装置及摄像设备、飞行器
CN110349213B (zh) * 2019-06-28 2023-12-12 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备
CN110335316B (zh) * 2019-06-28 2023-04-18 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备
CN111210463B (zh) * 2020-01-15 2022-07-15 上海交通大学 基于特征点辅助匹配的虚拟宽视角视觉里程计方法及系统
CN111709984B (zh) * 2020-06-08 2024-02-06 亮风台(上海)信息科技有限公司 位姿深度预测方法、视觉里程计方法、装置、设备及介质
CN111696162B (zh) * 2020-06-11 2022-02-22 中国科学院地理科学与资源研究所 一种双目立体视觉精细地形测量系统及方法
CN112348889A (zh) * 2020-10-23 2021-02-09 浙江商汤科技开发有限公司 视觉定位方法及相关装置、设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013027628A1 (ja) * 2011-08-24 2013-02-28 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2017108370A (ja) * 2015-07-06 2017-06-15 セイコーエプソン株式会社 頭部装着型表示装置およびコンピュータープログラム
WO2019237099A1 (en) * 2018-06-08 2019-12-12 Magic Leap, Inc. Augmented reality viewer with automated surface selection placement and content orientation placement
JP2020042575A (ja) * 2018-09-11 2020-03-19 富士通株式会社 情報処理装置、位置合わせ方法、及びプログラム
JP2020067978A (ja) * 2018-10-26 2020-04-30 富士通株式会社 床面検出プログラム、床面検出方法及び端末装置

Also Published As

Publication number Publication date
CN112348889A (zh) 2021-02-09
WO2022083038A1 (zh) 2022-04-28
TW202217755A (zh) 2022-05-01
JP7280385B2 (ja) 2023-05-23
KR20220054582A (ko) 2022-05-03
TWI795885B (zh) 2023-03-11

Similar Documents

Publication Publication Date Title
JP7280385B2 (ja) 視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体
US20210190497A1 (en) Simultaneous location and mapping (slam) using dual event cameras
CN107990899B (zh) 一种基于slam的定位方法和系统
US10636168B2 (en) Image processing apparatus, method, and program
JP2009252112A (ja) 画像処理装置、画像処理方法
JP2011179908A (ja) 3次元計測装置、その処理方法及びプログラム
CN113409391B (zh) 视觉定位方法及相关装置、设备和存储介质
CN113256718B (zh) 定位方法和装置、设备及存储介质
EP2851868A1 (en) 3D Reconstruction
CN113361365B (zh) 定位方法和装置、设备及存储介质
WO2022188334A1 (zh) 定位初始化方法和装置、设备、存储介质、程序产品
Frahm et al. Camera calibration with known rotation
JP7420135B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
TW202314593A (zh) 定位方法及設備、電腦可讀儲存媒體
Huttunen et al. A monocular camera gyroscope
JP2022132063A (ja) 拡張現実提供装置のポーズ決定方法及び装置
CN113052907B (zh) 一种动态环境移动机器人的定位方法
JP5976089B2 (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
US11758100B2 (en) Portable projection mapping device and projection mapping system
WO2010089938A1 (ja) 回転推定装置、回転推定方法および記録媒体
WO2021251171A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
Garro et al. Fast Metric Acquisition with Mobile Devices.
JP3452188B2 (ja) 2次元動画像中の特徴点の追跡方法
CN111489376A (zh) 跟踪交互设备的方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230511

R150 Certificate of patent or registration of utility model

Ref document number: 7280385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150