JP7280385B2 - Visual positioning method and related apparatus, equipment and computer readable storage medium - Google Patents
Visual positioning method and related apparatus, equipment and computer readable storage medium Download PDFInfo
- Publication number
- JP7280385B2 JP7280385B2 JP2021569000A JP2021569000A JP7280385B2 JP 7280385 B2 JP7280385 B2 JP 7280385B2 JP 2021569000 A JP2021569000 A JP 2021569000A JP 2021569000 A JP2021569000 A JP 2021569000A JP 7280385 B2 JP7280385 B2 JP 7280385B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- parameters
- camera
- processed
- camera pose
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera 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)
- Optical Recording Or Reproduction (AREA)
- Automatic Disk Changers (AREA)
- Manufacturing Optical Record Carriers (AREA)
- Length Measuring Devices By Optical Means (AREA)
Description
(関連出願の相互参照)
本願は、2020年10月23日に中国特許局に提出された、出願番号が202011148780.6である、中国特許出願に基づいて提出されるものであり、当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容が参照によって本願に組み込まれる。
(Cross reference to related applications)
This application is filed based on and claims priority from a Chinese patent application with application number 202011148780.6 filed with the Chinese Patent Office on October 23, 2020. , the entire content of the Chinese patent application is incorporated herein by reference.
本発明は、コンピュータ視覚技術分野に関し、特に、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体に関する。 TECHNICAL FIELD The present invention relates to the field of computer vision technology, and more particularly to visual positioning methods and related apparatus, apparatus, and computer readable storage media.
電子情報技術の発展に伴い、同時ポジショニングと同時ローカリゼーションとマッピング(SLAM:Simultaneous Localization And Mapping)などの視覚的ポジショニング技術は、自律運転、屋内ナビゲーション、拡張現実(AR:Augmented Reality)、仮想現実(VR:Virtual Reality)などの分野に徐々に適用される。 With the development of electronic information technology, visual positioning technology such as Simultaneous Localization And Mapping (SLAM) is widely used in autonomous driving, indoor navigation, augmented reality (AR), virtual reality (VR). : Virtual Reality).
SLAMなどの視覚的ポジショニング技術は、モバイル機器のカメラポーズを取得することにより、モバイル機器の自律的なポジショニング、ナビゲーションなどのタスクを完了し、本質的には、複雑な数学的問題である。現在、SLAMなどの視覚的ポジショニング技術は、ハードウェアにおいて、センサに依存し、通常、カメラ、加速度計、重力計、慣性測定ユニット(IMU:Inertial Measurement Unit)などのセンサが必要である。しかし、実際の適用において、通常、ミッドエンド/ハイエンドのモバイル機器にのみ上記のセンサが配置される。ローエンドのモバイル機器に配置されるセンサは、通常、比較的に少ないし、IMUを配置せず、既存の視覚的ポジショニング技術の使用コストが比較的に高くし、使用範囲を比較的に狭くする。これを鑑みて、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することは、緊急の問題である。 Visual positioning techniques such as SLAM complete tasks such as mobile device autonomous positioning, navigation, etc. by acquiring the mobile device's camera pose, which is essentially a complex mathematical problem. Currently, visual positioning techniques such as SLAM rely on sensors in hardware, typically requiring sensors such as cameras, accelerometers, gravimeters, and inertial measurement units (IMUs). However, in practical applications, usually only mid-end/high-end mobile devices are equipped with the above sensors. Low-end mobile devices typically have relatively few sensors and no IMU, which makes the existing visual positioning technology relatively expensive to use and relatively narrow in scope. In view of this, reducing the cost of using visual positioning technology and expanding the scope of use of visual positioning technology are urgent issues.
本発明は、視覚的ポジショニング方法および関連装置、機器並びにコンピュータ可読記憶媒体を提供する。 The present invention provides a visual positioning method and related apparatus, apparatus and computer readable storage medium.
本発明の第1態様は、視覚的ポジショニング方法を提供し、前記方法は、カメラの重力情報を取得することと、重力情報を使用して、プリセットの運動状態のカメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含む。 A first aspect of the present invention provides a visual positioning method, the method comprising obtaining gravity information of a camera and using the gravity information to determine the current image taken by the camera in a preset motion state. and obtaining camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image.
したがって、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 Therefore, by obtaining the gravity information of the camera, the gravity information is used to obtain the camera pose parameters of the current image taken by the camera in the preset motion state, and based on the camera pose parameters of the current image , the camera pose parameters of the image to be processed after the current image can be obtained, and furthermore, visual positioning can be performed only by relying on the camera and gravity information, thus reducing the cost of using visual positioning technology and extend the range of use of visual positioning techniques.
ここで、重力情報は、重力方向情報を含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する前に、前記方法は、現在の画像内の特徴点の特徴方向情報を取得することと、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することと、をさらに含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することを含む。 Here, the gravity information includes gravity direction information, and before obtaining the camera pose parameters of the image to be processed after the current image based on the camera pose parameters of the current image, the method includes: further comprising obtaining feature direction information for the feature points in the image, and using the feature direction information and gravity direction information for the feature points to obtain depth information for the feature points in the current image; Obtaining the camera pose parameters of the image to be processed after the current image based on the camera pose parameters of the current image is based on the depth information of the feature points in the current image and the camera pose parameters of the current image. Based on this, obtaining depth information of feature points in the image to be processed after the current image and camera pose parameters of the image to be processed.
したがって、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。 Therefore, obtain the feature direction information of the feature points in the current image, and use the feature direction information of the feature points and the gravity direction information included in the gravity information to obtain the depth information of the feature points in the current image can initialize the depth information of the feature points in the current image and the camera pose parameters of the current image based on the current image, and obtain the depth information of the feature points in the current image and the camera pose parameters of the current image Based on the camera pose parameters, the depth information of the feature points in the image to be processed after the current image and the camera pose parameters of the image to be processed can be obtained, and the multi-frame image for the initial initiation operation. can improve the response speed of visual positioning without the need to scan the
ここで、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することは、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することと、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得することと、を含む。 Here, the feature direction information includes the direction vector of the feature point, the gravity direction information includes the gravity vector, the depth information includes the depth value of the feature point, and the feature direction information and the gravity direction information of the feature point are used. to obtain the depth information of the feature point in the current image by performing a first preset operation on the feature point's direction vector and the gravity vector to obtain the feature point's direction vector and the gravity vector obtaining an included angle; and performing a second preset operation on the preset height and included angle of the camera to obtain the depth value of the feature point.
したがって、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。 Therefore, the feature direction information is set to include the direction vector of the feature point, the gravity direction information is set to include the gravity vector, the depth information is set to include the depth value of the feature point, and Perform a first preset operation on the feature point's direction vector and gravity vector to obtain the included angle between the feature point's direction vector and the gravity vector, thereby for the preset height and included angle of the camera A second preset operation may be performed to obtain the depth values of the feature points to help reduce the computational complexity of obtaining the feature point depth values.
ここで、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。 Here, the first preset operation includes an inner product operation and/or the second preset operation includes dividing the preset height by the cosine value of the included angle.
したがって、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。 Therefore, the first preset operation can be set to include an inner product operation to help reduce the complexity of obtaining the included angle between the direction vector and the gravity vector, and the second preset operation can be set to include a preset can be set to include a cosine value dividing the height of by the included angle to help reduce the complexity of obtaining depth values.
ここで、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することは、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することと、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む。 Here, based on the depth information of the feature points in the current image and the camera pose parameters of the current image, the depth information of the feature points in the image to be processed after the current image and the camera of the image to be processed Obtaining the pose parameters uses the preset pose tracking method to perform the tracking process on the depth information of the feature points in the current image, the camera pose parameters of the current image, and the Obtaining the depth information of the feature points in the next frame image and the camera pose parameters of the next frame image and using the next frame image as the current image and using the preset pose tracking method , the depth information of the feature points in the current image, the step of performing the tracking process on the camera pose parameters of the current image, and re-performing the subsequent steps.
したがって、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。 Therefore, using the preset pose tracking method, the depth information of the feature points in the current image, the camera pose parameters of the current image, and the tracking process are performed in the next frame of the current image. feature point depth information and the camera pose parameters of the next frame image, thereby using the next frame image as the current image and using the preset pose tracking method, feature point depth information, the step of performing the tracking process on the camera pose parameters of the current image and the subsequent steps can be re-executed, and the camera pose parameters can be calculated for each frame, and the camera pose parameters It helps to reduce the cumulative error of
ここで、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得することは、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することと、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得することと、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することと、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化することと、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することと、を含む。 Here, using the preset pose tracking method, the depth information of the feature points in the current image, the camera pose parameters of the current image, the tracking process is performed to obtain the image of the next frame of the current image. Obtaining the depth information of the feature points in the image of the next frame and the camera pose parameters of the image of the next frame uses the depth information of the feature points in the current image to determine the projection points of the feature points in the image of the next frame. and based on the difference between the pixel values of the feature points in the local region in the current image and the pixel values of the projection points in the local region in the image of the next frame, the current image and the next obtaining the pose transformation parameters between the images of the frame; using the pose transformation parameters and the camera pose parameters of the current image to obtain the camera pose parameters of the image of the next frame; Using the original point to optimize the camera pose parameters of the image of the next frame, obtaining the probability distribution of the depth information of the feature points, and using the probability distribution to determine the features in the image of the next frame obtaining depth information for the points.
したがって、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができ、ここで、カメラポーズパラメータと深度情報をそれぞれ最適化して、最適化の計算量を減らす。 Therefore, by using the depth information of the feature points in the current image to determine the projection points of the feature points in the image of the next frame, the pixel values of the feature points in the local region in the current image and the Get the pose transformation parameters between the current image and the image of the next frame, based on the difference between the pixel values of the projection points in the local region in the image of the frame, and obtain the pose transformation parameters and the current image get the camera pose parameters of the next frame image using the camera pose parameters of , and use the converged 3D points to optimize the camera pose parameters of the next frame image to It can be further optimized, which helps improve the accuracy of the camera pose parameters, obtains the probability distribution of the depth information of the feature points, and uses the probability distribution to identify the feature points in the image of the next frame. By obtaining the depth information, the depth information can be optimized in the shooting process based on the distribution probability of the depth information, where the camera pose parameters and the depth information are optimized respectively to reduce the computational complexity of optimization reduce
ここで、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、方法は、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定すること、および、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することをさらに含む。 Here, the camera pose parameters include rotation parameters and displacement parameters, and after obtaining the camera pose parameters of the image to be processed after the current image based on the camera pose parameters of the current image, the method includes processing Determining a displacement parameter at which the image to be processed cannot be obtained in response to the camera pose parameters of the image to be processed failing to satisfy a preset steady state condition, and the previous frame of the image to be processed. using the pixel values of the image of the previous frame and the camera pose parameters of the image of the previous frame to obtain the rotation parameters of the image to be processed.
したがって、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。 Therefore, after setting the camera pose parameters to include rotation and displacement parameters and obtaining the camera pose parameters of the image to be processed after the current image, the camera pose parameters of the image to be processed are set to the preset determining the displacement parameters for which the image to be processed cannot be obtained, in response to failure to satisfy the steady state condition of to obtain the rotation parameters of the image to be processed, and if the camera pose parameters are inaccurate, the image pixels are directly used to estimate the rotation parameters, and the rotation parameters It can help to reduce the probability of problems such as virtual objects sticking to the screen in virtual reality caused by the inability to update.
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することと、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することと、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得することと、を含む。 Here, using the pixel values of the image of the previous frame of the image to be processed and the camera pose parameters of the image of the previous frame to obtain the rotation parameters of the image to be processed is pixel points in the image to be processed by performing a projection transformation on at least some of the pixel points in the image of the previous frame using the pose transformation parameters between the image and the image of the previous frame pixel values of at least some of the pixel points in the image of the previous frame; and pixels of the projection points corresponding to at least some of the pixel points in the image to be processed. constructing a target function for the pose transform parameters using the difference between the values of and performing a transformation process on the image to obtain rotation parameters of the image to be processed.
したがって、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。 Therefore, using the pose transformation parameters between the image to be processed and the image of the previous frame, a projective transformation is performed on at least some of the pixel points in the image of the previous frame to be processed. obtaining projection points of at least some of the pixel points in the image to be processed, corresponding to pixel values of at least some of the pixel points in the image of the previous frame and at least some of the pixel points in the image to be processed. Using the difference between the pixel values of the projection points to construct a target function for the pose transformation parameters, thereby using the pose transformation parameters obtained by solving the target function, the image of the previous frame. Calculation for calculating the rotation parameter, which can be performed on the camera pose parameter to obtain the rotation parameter for the image to be processed, to obtain the rotation parameter based at least in part on the pixel points; It can help you cut down on volume.
ここで、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する前に、方法は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することをさらに含み、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得することは、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得することを含む。 where the pose transformation parameters between the image to be processed and the image of the previous frame are used to perform a projective transformation on at least some of the pixel points in the image of the previous frame to Before obtaining projection points of at least some of the pixel points in the image to be projected, the method performs a downsampling operation on the previous frame image to obtain a thumbnail image of the previous frame image. performing a projective transformation on at least some of the pixel points in the image to be processed using the pose transformation parameters between the image to be processed and the image of the previous frame , obtaining the projection points of at least some of the pixel points in the image to be processed uses pose transformation parameters between the image to be processed and the image of the previous frame to obtain the pixel points in the thumbnail image Performing a projection transformation on the points to obtain projection points of the pixel points in the thumbnail image in the image to be processed.
したがって、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。 Therefore, by performing a downsampling process on the image of the previous frame to obtain a thumbnail image of the image of the previous frame, the image to be processed uses the pose transformation parameters between the images of the previous frame. to perform a projective transformation on the pixel points in the thumbnail image to obtain the projection points of the pixel points in the thumbnail image in the image to be processed for subsequent target function construction and solution. This can help reduce the computational complexity of calculating the rotation parameters.
ここで、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得した後、方法は、カメラの現在の加速度情報を検出し、加速度情報が、プリセットの運動状態にあるか否かを判断することと、ある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、ない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む。 Here, after obtaining the rotation parameters of the image to be processed using the pixel values of the image of the previous frame of the image to be processed and the camera pose parameters of the image of the previous frame, the method uses the camera's detecting the current acceleration information and determining whether the acceleration information is in a preset motion state; if yes, re-performing the step of obtaining gravity information of the camera and subsequent steps; detecting current acceleration information of the camera and re-performing subsequent steps.
したがって、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。 Therefore, after obtaining the rotation parameters of the image to be processed, further detect the current acceleration information of the camera, determine whether the acceleration information is in the preset motion state, and determine whether the acceleration information is in the preset motion state. If so, re-execute the step of obtaining the gravity information of the camera and subsequent steps, and re-execute the step of detecting the current acceleration information of the camera and subsequent steps if it is not in the preset motion state, and additionally perform the visual Positioning robustness can be improved.
ここで、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得することは、重力方向情報を使用して、取得世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することであって、ここで、カメラが回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じである、ことと、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することと、を含む。 Here, the gravity information includes gravity direction information, the camera pose parameters include rotation parameters and displacement parameters, and the gravity information is used to calculate the camera pose parameters of the current image taken by the camera in the preset motion state. is using the gravitational direction information to obtain the rotation angles of the camera respectively corresponding to the acquisition world coordinate system x-coordinate axis, y-coordinate axis and z-coordinate axis, wherein the camera is according to the rotation angle The direction of gravity after rotation is the same as the opposite direction of the z-coordinate axis; and using the rotation angle to obtain the rotation parameter and set the displacement parameter to a preset numerical value.
したがって、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。 Therefore, the direction of gravity information is used to obtain the rotation angles of the camera corresponding to the world coordinate system x-, y-, and z-coordinate axes, and the direction of gravity after the camera rotates according to the rotation angle is the z-coordinate axis of It is the same as the reverse direction, using the rotation angle to get the rotation parameter, setting the displacement parameter to a preset number to get the rotation parameter by gravity alignment, and also initializing the camera pose parameter , which helps reduce the amount of computation for initializing the camera pose parameters.
ここで、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。 Here, the origin of the world coordinate system is the position when the camera takes the current image, and the preset value is 0.
したがって、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。 Therefore, the origin of the world coordinate system can be set to the position when the camera takes the current image, and the preset numerical value can be set to 0 to help reduce the complexity of initializing the displacement parameters.
ここで、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。 Here, the preset motion state is a static state or a uniform velocity motion state, and/or the gravity information is obtained using the acceleration information of the camera in the preset state.
したがって、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。 Therefore, the preset motion state can be set to a static state or a uniform velocity motion state to help improve the accuracy of initializing the camera pose parameters of the current image, and the acceleration of the camera in the preset state Information can be used to obtain gravity information to obtain gravity information using only the accelerometer, thereby further reducing the cost of using visual positioning technology and increasing the scope of use of visual positioning technology can be useful in expanding the
本発明の第2態様は、視覚的ポジショニング装置を提供し、前記装置は、重力情報取得部、第1ポーズ取得部および第2ポーズ取得部を備え、重力情報取得部は、カメラの重力情報を取得するように構成され、第1ポーズ取得部は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。 A second aspect of the present invention provides a visual positioning device, the device comprising a gravity information acquisition unit, a first pose acquisition unit and a second pose acquisition unit, the gravity information acquisition unit obtaining gravity information of a camera. a first pose obtaining unit configured to obtain camera pose parameters of a current image taken by the camera in a preset motion state using the gravity information; and a second pose obtaining The unit is configured to obtain camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image.
本発明の第3態様は、電子機器を提供する。前記電子機器は、互いに結合されるメモリとプロセッサとを備え、プロセッサは、メモリに記憶されるプログラム命令を実行して、上記の第1態様における視覚的ポジショニング方法を実施する。 A third aspect of the present invention provides an electronic device. The electronic device comprises a memory and a processor coupled to each other, the processor executing program instructions stored in the memory to implement the visual positioning method in the first aspect above.
本発明の第4態様は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体は、プログラム命令を記憶し、プログラム命令は、プロセッサによって実行されるときに、前記プロセッサに上記の第1態様における視覚的ポジショニング方法を実施させる。 A fourth aspect of the present invention provides a computer-readable storage medium, said computer-readable storage medium storing program instructions, said program instructions, when executed by a processor, instructing said processor to perform the steps of the above first aspect. Have a visual positioning method implemented.
本発明の第5態様は、コンピュータプログラムを提供し、前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードは、電子機器で実行されるときに、前記電子機器内のプロセッサに、上記の第1態様における視覚的ポジショニング方法を実施させる。 A fifth aspect of the present invention provides a computer program product, said computer program product comprising computer readable code, said computer readable code, when executed in an electronic device, instructing a processor in said electronic device to perform the above-described process. The visual positioning method in the first aspect is performed.
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 The above technical solution is to obtain the gravity information of the camera, use the gravity information to obtain the camera pose parameters of the current image taken by the camera in the preset motion state, and obtain the camera pose parameters of the current image Based on the parameters, the camera pose parameters of the image to be processed after the current image can be obtained, and furthermore, visual positioning can be performed only by relying on the camera and gravity information, so the use of visual positioning technology The cost of use can be reduced and the range of use of visual positioning technology can be expanded.
以下は、図面を参照して、本発明の実施例の技術案を詳細に説明する。 The technical solutions of the embodiments of the present invention are described in detail below with reference to the drawings.
以下の説明において、限定するためにではなく説明するためであり、本発明を完全に理解するために、特定のシステム構造、インターフェース、技術などの詳細を提案する。 In the following description, for purposes of illustration rather than limitation, details of specific system architectures, interfaces, techniques, etc. are suggested in order to provide a thorough understanding of the present invention.
本明細書における「システム」および「ネットワーク」という用語は、本明細書で常に互換的に使用される。本明細書における「および/または」という用語は、関連付けられるオブジェクトを説明する単なる関連付け関係であり、3つの関係が存在できることを示し、例えば、Aおよび/またはBは、Aが独立で存在する場合、AとBが同時に存在する場合、Bが独立で存在する場合という3つの場合を表す。さらに、本明細書における記号「/」は、一般的に、前後の関連付けられるオブジェクトが、「または」という関係であることを示す。なお、本明細書における「複数」は、2つまたは2つ以上を表す。 The terms "system" and "network" are always used interchangeably herein. The term "and/or" herein is simply an association relationship describing the objects that are associated, indicating that there can be three relationships, e.g., A and/or B if A exists independently , where A and B exist simultaneously, and where B exists independently. Furthermore, the symbol "/" in this specification generally indicates that the associated objects before and after are in an "or" relationship. In addition, "plurality" in this specification represents two or two or more.
図1を参照すると、図1は、本発明の視覚的ポジショニング方法の一実施例の例示的なフローチャートである。視覚的ポジショニング方法は、以下のステップを含み得る。 Referring to FIG. 1, FIG. 1 is an exemplary flow chart of one embodiment of the visual positioning method of the present invention. A visual positioning method may include the following steps.
ステップS11において、カメラの重力情報を取得する。 In step S11, gravity information of the camera is acquired.
本発明実施例において、視覚的ポジショニング方法の実行主体は、視覚的ポジショニング装置であり得、例えば、視覚的ポジショニング方法は、端末機器またはサーバまたは其它処理機器によって実行されることができ、ここで、端末機器は、ユーザ機器(UE:User Equipment)、モバイル機器、ユーザ端末、端末、携帯電話、コードレス電話、パーソナルデジタル処理(PDA:Personal Digital Assistant)、ハンドヘルド機器、コンピューティング機器、車載機器、ウェアラブル機器などであり得る。いくつかの可能な実施形態において、前記視覚的ポジショニング方法は、プロセッサによって、メモリに記憶されるコンピュータ可読命令を呼び出す方式を介して実現さすることができる。 In the embodiments of the present invention, the execution subject of the visual positioning method can be a visual positioning device, for example, the visual positioning method can be executed by a terminal device or a server or other processing device, wherein: Terminal Equipment includes User Equipment (UE), Mobile Equipment, User Terminal, Terminal, Mobile Phone, Cordless Phone, Personal Digital Assistant (PDA), Handheld Device, Computing Device, Vehicle Device, Wearable Device. and so on. In some possible embodiments, the visual positioning method can be implemented by a processor via a method of calling computer readable instructions stored in memory.
本発明実施例において、カメラは、モバイル機器に統合されることができ、モバイル機器は、携帯電話、タブレット、ロボットなどを含み得るが、これに限定されない。ここで、本発明実施例および以下の開示された実施例におけるステップは、モバイル機器によって実行されることができ、モバイル機器には、視覚的ポジショニング装置が配置される。さらに、モバイル機器は、加速度計、重力計、IMUなどの、他のセンサを統合することができ、それに対して、実際の適用シナリオに応じて設置することができ、ここでは限定しない。例えば、コスト限制によって、ローエンドモバイル機器は、カメラおよび加速度計のみを統合することができ、または、カメラおよび重力計を統合することができ、さらに、ミッドエンド/ハイエンドのモバイル機器は、カメラ、加速度計、IMUなどを統合することができ、ここでは限定しない。 In embodiments of the present invention, the camera can be integrated into a mobile device, which can include, but is not limited to, mobile phones, tablets, robots, and the like. Here, the steps in the embodiments of the present invention and the following disclosed embodiments can be performed by a mobile device, in which a visual positioning device is arranged. In addition, mobile devices can integrate other sensors, such as accelerometers, gravimeters, IMUs, etc., which can be installed according to actual application scenarios, not limited here. For example, due to cost constraints, low-end mobile devices may integrate only a camera and accelerometer, or may integrate a camera and a gravimeter, while mid-/high-end mobile devices may integrate a camera, accelerometer, controller, IMU, etc., and is not limited here.
一実施シナリオにおいて、重力情報は、プリセットの運動状態におけるカメラの加速度情報を使用して得られたものであり得、それにより、IMUの必要なく、加速度計のみに依存して重力情報を取得することができる。ここで、プリセットの運動状態は、静的状態または均一速度の運動状態である。例えば、プリセットの運動状態で検出されたカメラ加速度と重力加速度との間の差異が、プリセットの範囲内にあり、例えば、重力加速度が9.8m/s2であり、プリセットの範囲が0~1m/s2であり、検出されたカメラ加速度が10m/s2である場合、カメラは、プリセットの運動状態において、プリセットの範囲は、実際の適用ニーズにしがって設定することができると見なすことができ、ここでは限定しない。さらに、モバイル機器に重力計が統合された場合にも、IMUの必要なく、直接に重力計を介して重力情報を取得することができる。 In one implementation scenario, the gravity information may have been obtained using the acceleration information of the camera in a preset motion state, thereby relying solely on the accelerometer to obtain the gravity information without the need for an IMU. be able to. Here, the preset motion state is a static state or a uniform speed motion state. For example, the difference between the camera acceleration detected in the preset motion state and the gravitational acceleration is within a preset range, for example, the gravitational acceleration is 9.8 m/ s2 and the preset range is 0-1 m /s 2 , and the detected camera acceleration is 10m/s 2 , consider that the camera is in the preset motion state, the preset range can be set according to the actual application needs , not limited here. Furthermore, even if the gravimeter is integrated into the mobile device, gravity information can be obtained directly through the gravimeter without the need for an IMU.
一実施シナリオにおいて、モバイル機器は、さらに、検出されたカメラ加速度に従って、静的状態または均一速度の運動状態にあるか否かを判断することができ、例えば、検出されたカメラ加速度が、重力加速度に近接する場合、静的状態または均一速度の運動状態にあると見なすことができる。ここで、加速度計を配置した場合、三軸における加速度計の加速度成分(例えば、
,
,
)二乗和の根を計算して、カメラ加速度
として使用することができ、即ち、
である。
In one implementation scenario, the mobile device can further determine whether it is in a static state or a uniform-velocity motion state according to the detected camera acceleration, for example, the detected camera acceleration is the gravitational acceleration can be considered to be in a state of static or uniform velocity motion if it is close to . Now, if the accelerometer is placed, the acceleration components of the accelerometer in three axes (e.g.,
,
,
) to calculate the root of the sum of squares to give the camera acceleration
can be used as, i.e.
is.
別の一実施シナリオにおいて、カメラが、プリセットの運動状態にないと検出された場合、モバイル機器は、カメラが、プリセットの運動状態にあると検出されるまで再検出することができる。ここで、検出された周波数は、カメラによって撮影された周波数と一致することができ、例えば、カメラが、毎秒25枚の画像を撮影すると、対応的に、プリセットの運動状態にあるか否かを毎秒25回検出することができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。 In another implementation scenario, if the camera is detected not to be in a preset motion state, the mobile device can redetect until the camera is detected to be in a preset motion state. Here, the detected frequency can correspond to the frequency captured by the camera, for example, if the camera captures 25 images per second, correspondingly whether it is in a preset motion state or not. It can be detected 25 times per second, while it can be set according to the actual application needs and is not limited here.
一実施シナリオにおいて、カメラの重力情報は、重力方向情報を含み得、ここで、重力方向情報は、重力ベクトルを含み得る。一実施シナリオにおいて、加速度計が配置された場合、三軸における加速度計の加速度成分のベクトル合計(即ち、
)を計算し、ベクトル合計を重力ベクトルとして使用することができ、または、ベクトルと同じ方向の単位ベクトルを重力ベクトルとして使用することもでき、重力ベクトルに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。
In one implementation scenario, the camera's gravity information may include gravity direction information, where the gravity direction information may include a gravity vector. In one implementation scenario, when the accelerometer is positioned, the vector sum of the acceleration components of the accelerometer in three axes (i.e.
), the vector sum can be used as the gravity vector, or the unit vector in the same direction as the vector can be used as the gravity vector, and the gravity vector can be set according to the actual application needs , not limited here.
ステップS12において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。 In step S12, the gravity information is used to obtain the camera pose parameters of the current image taken by the camera in the preset motion state.
一実施シナリオにおいて、カメラポーズパラメータは、変位パラメータおよび回転パラメータを含み得、それにより、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得することができ、且つ、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、さらに、回転角度を使用して、回転パラメータを取得することができ、変位パラメータをプリセットの数値に設定して、重力アライメントを介して現在の画像のカメラポーズパラメータを初始化することを簡略化して、計算量を減らすことができる。 In one implementation scenario, the camera pose parameters may include a displacement parameter and a rotation parameter, whereby the gravity direction information is used to determine the rotation angles of the camera corresponding to the world coordinate system x-, y-, and z-coordinate axes, respectively. and the direction of gravity after the camera rotates according to the rotation angle is the same as the opposite direction of the z-coordinate axis, and the rotation angle can be used to obtain the rotation parameters, The displacement parameters can be set to preset numerical values to simplify initializing the camera pose parameters of the current image via gravity alignment and reduce the amount of computation.
一実施シナリオにおいて、x座標軸に対応するカメラの回転角度は、
に表すことができ、y座標軸に対応するカメラの回転角度は、
に表すことができ、z座標軸に対応するカメラの回転角度は、
に表すことができ、世界座標系x座標軸に対応するカメラの回転パラメータ
、世界座標系y座標軸に対応する回転パラメータ
、世界座標系z座標軸に対応する回転パラメータ
は、それぞれ以下のように表すことができる。
……(1)
In one implementation scenario, the rotation angle of the camera corresponding to the x coordinate axis is
and the rotation angle of the camera corresponding to the y coordinate axis is
and the rotation angle of the camera corresponding to the z coordinate axis is
and the rotation parameter of the camera corresponding to the world coordinate system x coordinate axis
, the rotation parameter corresponding to the world coordinate system y coordinate axis
, the rotation parameter corresponding to the world coordinate system z coordinate axis
can be expressed as follows.
……(1)
回転パラメータRは、世界座標系x座標軸に対応する回転パラメータ
、世界座標系y座標軸に対応する回転パラメータ
、世界座標系z座標軸に対応する回転パラメータ
によって得られることができ、ここで、上記の回転パラメータ
、回転パラメータ
および回転パラメータ
の乗積を、回転パラメータRとして使用することができ、即ち、回転パラメータRは、以下の通りに表すことができる。
……(2)
The rotation parameter R is the rotation parameter corresponding to the world coordinate system x coordinate axis.
, the rotation parameter corresponding to the world coordinate system y coordinate axis
, the rotation parameter corresponding to the world coordinate system z coordinate axis
where the above rotation parameters
, rotation parameter
and rotation parameters
can be used as the rotation parameter R, ie the rotation parameter R can be expressed as:
……(2)
別の一実施シナリオにおいて、モバイル機器は、世界座標系の原点を、カメラが現在の画像を撮影するときの位置として使用することができ、即ち、x座標軸、y座標軸、z座標軸に対応するカメラの変位は、すべて0であり、したがって、プリセットの数値を0に設定することができ、即ち、変位パラメータを0に設定することができる。 In another implementation scenario, the mobile device can use the origin of the world coordinate system as the position when the camera takes the current image, i.e., the camera are all zero, so the preset number can be set to zero, ie the displacement parameter can be set to zero.
ステップS13において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。 In step S13, the camera pose parameters of the image to be processed after the current image are obtained according to the camera pose parameters of the current image.
一実施シナリオにおいて、モバイル機器は、スキャンしてマルチフレームの画像を取得し、三角化方式を使用して、現在の画像および現在の画像の隣接画像内の互いにマッチングする特徴点を処理して、マッチングする特徴点の深度情報を取得することができる。ここで、深度情報は、特徴点の深度値を含み得、それにより、計算して得られた深度値を使用して、世界座標系における特徴点の三次元座標を取得することができ、さらに、現在の画像の次のフレームの画像と現在の画像との間のポーズ変換パラメータを使用して、特徴点の三次元座標を次のフレームの画像に再投影して、次のフレームの画像における投影点を取得することができ、それにより、次のフレームの画像における投影点の画素値と、現在の画像における対応する特徴点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。当該ターゲット関数を最小化することにより、ポーズ変換パラメータを取得することができ、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得することができ、これによって類推すれば、モバイル機器は、現在の画像後の処理されるべき画像のカメラポーズパラメータをフレームごとに取得することができる。一実施シナリオにおいて、三角化方式は、異なる位置で同じ三次元点を観察し、異なる位置で観察された三次元点の二次元投影点を知っており、三角関係を使用して、三次元点の深度情報を復元することを指し、ここで詳細に説明しない。 In one implementation scenario, the mobile device scans to obtain a multi-frame image, uses a triangulation scheme to process feature points that match each other in the current image and neighboring images of the current image, Depth information of matching feature points can be obtained. wherein the depth information may include depth values of the feature points, so that the calculated depth values can be used to obtain three-dimensional coordinates of the feature points in the world coordinate system; , using the pose transformation parameters between the image of the next frame of the current image and the current image, reprojecting the 3D coordinates of the feature points to the image of the next frame to obtain A projection point can be obtained, thereby using the difference between the pixel value of the projection point in the image of the next frame and the pixel value of the corresponding feature point in the current image to determine the pose transformation parameters A target function can be constructed. The pose transformation parameters can be obtained by minimizing the target function, and the pose transformation parameters and the camera pose parameters of the current image can be used to obtain the camera pose parameters of the next frame image. By analogy, the mobile device can obtain the camera pose parameters of the image to be processed after the current image on a frame-by-frame basis. In one implementation scenario, the triangulation scheme observes the same 3D point at different locations, knows the 2D projection points of the 3D points observed at different locations, and uses trigonometry to determine the 3D point It refers to restoring the depth information of , and will not be described in detail here.
別の一実施シナリオにおいて、マルチフレームの画像をスキャンすることによる追加の応答時間を削減し、視覚的ポジショニングの応答速度を向上させるために、モバイル機器は、現在の画像内の特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することができ、それにより、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得し、さらに、現在の画像のみで深度情報を初始化することができ、したがって、マルチフレームの画像をスキャンすることを避け、視覚的ポジショニングの応答速度を向上させることに役立つことができる。 In another implementation scenario, in order to reduce the additional response time of scanning multi-frame images and improve the response speed of visual positioning, the mobile device calculates the feature directions of feature points in the current image. Using the information and the gravity direction information, the depth information of the feature points in the current image can be obtained, so that based on the depth information of the feature points in the current image and the camera pose parameters of the current image to obtain the depth information of the feature points in the image to be processed after the current image and the camera pose parameters of the image to be processed, and furthermore, the depth information can be initialized only in the current image, thus , avoiding scanning multi-frame images, can help improve the response speed of visual positioning.
一実施シナリオにおいて、特徴方向情報は、特徴点の方向ベクトルを含み得、重力方向情報は、重力ベクトルを含み、ここで、方向ベクトルおよび重力ベクトルは、単位ベクトルであり得、深度情報は、特徴点の深度値を含み、特徴点は、画像内の輪郭エッジ画素点、画素値が突然変化する画素点など、画像特徴を説明できる画素点を含み得、ここで、特徴点に対して、実際のニーズに従って設定することができ、ここでは限定しない。例えば、加速セグメントテストの特徴(FAST:Features from Accelerated Segment Test)、バイナリロバスト独立特徴記述子(BRIEF:Binary Robust Independent Elementary Features)、スケール不変特徴変換(SIFT:Scale Invariant Feature Transform)、ORBなどの検出方式を介して、特徴点および特徴点の方向ベクトルを取得することができ、それに対して、実際の適用ニーズに従って、特徴点検出方式を選択することができ、ここでは限定しない。 In one implementation scenario, the feature direction information may include the feature point direction vector, the gravity direction information may include the gravity vector, where the direction vector and the gravity vector may be unit vectors, and the depth information may include the feature point The feature points may include pixel points that can describe image features, such as contour edge pixel points in an image, pixel points with abrupt changes in pixel values, etc., where for feature points, actual can be set according to your needs and is not limited here. For example, Features from Accelerated Segment Test (FAST), Binary Robust Independent Elementary Features (BRIEF), Scale Invariant Feature Transform (SIFT), OR Detection of B, etc. Through the method, the feature points and the direction vectors of the feature points can be obtained, for which the feature point detection method can be selected according to the actual application needs, which is not limited here.
別の一実施シナリオにおいて、図2を参照すると、図2は、深度情報を取得する一実施例の概略図であり、モバイル機器は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得することができ、第1プリセットの演算は、内積演算を含み得、即ち、方向ベクトル
と重力ベクトル
との夾角
は、以下に通りに表すことができる。
……(3)
In another implementation scenario, please refer to FIG. 2 , which is a schematic diagram of an embodiment of obtaining depth information, wherein the mobile device sets a first preset for the direction vector and the gravity vector of the feature point. An operation can be performed to obtain the included angle between the direction vector of the feature point and the gravity vector, and the first preset operation can include an inner product operation, namely, the direction vector
and the gravity vector
included angle with
can be expressed as
……(3)
夾角
を取得した後、カメラのプリセットの高さhおよび夾角
に対して第2プリセットの演算を実行して、特徴点の深度値zを取得することができ、第2プリセットの演算は、プリセットの高さを夾角で除算するコサイン値を含み、プリセットの高さhは、実際の適用状況に従って設定することができる。AR適用を例として、仮想物体のサイズに従って設定することができ、例えば、仮想物体は、一般的なサイズの猫や犬などのペットである場合、プリセットの高さを0.5米~1米に設定することができ、他の適用状況は、実際の状況に従って設定することができ、ここではいちいち列挙をしない。ここで、深度値zは、以下の通りに表すことができる。
……(4)
included angle
After obtaining the camera preset height h and included angle
to obtain the depth value z of the feature point, the second preset operation including a cosine value dividing the preset height by the included angle, the preset height h can be set according to the actual application situation. Taking AR application as an example, it can be set according to the size of the virtual object. For example, if the virtual object is a pet such as a cat or dog of general size, the preset height is 0.5 to 1 meter. , and other applicable situations can be set according to the actual situation, not listed here. Here, the depth value z can be expressed as follows.
……(4)
一実施シナリオにおいて、本発明の実施例および以下の開示される実施例におけるステップは、モバイル機器によってじっこうされる屋内ナビゲーション、自律運転、AR、VRなどのアプリケーションプログラム、ウェブサイトに統合されることができ、それに対して、実際の適用ニーズに従って設定することができ、ここでは限定しない。 In one implementation scenario, the embodiments of the present invention and the steps in the following disclosed embodiments can be integrated into application programs, websites, such as indoor navigation, autonomous driving, AR, VR, etc. operated by mobile devices. can be configured according to actual application needs, and is not limited here.
上記の技術案において、モバイル機器は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 In the above technical solution, the mobile device obtains the gravity information of the camera, uses the gravity information to obtain the camera pose parameters of the current image taken by the camera in the preset motion state, and obtains the current image Based on the camera pose parameters of the image, the camera pose parameters of the image to be processed after the current image can be obtained, and furthermore, visual positioning can be performed by relying only on the camera and gravity information, so the visual The cost of using visual positioning technology can be reduced and the range of use of visual positioning technology can be expanded.
図3を参照すると、図3は、図1におけるステップS13の一実施例の例示的なフローチャートである。図3は、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得する一実施例の例示的なフローチャートである。ここで、S13は、以下のステップを含み得る。 Referring to FIG. 3, FIG. 3 is an exemplary flow chart of one embodiment of step S13 in FIG. FIG. 3 shows the depth information of the feature points in the image to be processed after the current image and the depth information of the image to be processed based on the depth information of the feature points in the current image and the camera pose parameters of the current image. FIG. 4 is an exemplary flowchart of one embodiment of obtaining camera pose parameters; FIG. Here, S13 may include the following steps.
ステップS131において、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得する。 In step S131, using the preset pose tracking method, the depth information of the feature points in the current image and the camera pose parameters of the current image are tracked to obtain the next frame of the current image. Obtain the depth information of the feature points in the image and the camera pose parameters of the image of the next frame.
プリセットのポーズ追跡方式は、実際の適用ニーズに従って設定することができる。本発明の実施例において、プリセットのポーズ追跡方式は、スパース画像アライメント、特徴点アライメント、ポーズ最適化などのステップを含み得、それにより、上記のステップを介して処理して、次のフレームの画像のカメラポーズパラメータを取得し、さらに、プリセットのポーズ追跡方式は、マップポイント最適化ステップを含み得、それにより、マップポイント最適化などのステップを介して処理して、次のフレームの画像内の特徴点の深度情報を取得する。 The preset pose tracking schemes can be set according to actual application needs. In embodiments of the present invention, the preset pose tracking scheme may include steps such as sparse image alignment, feature point alignment, pose optimization, etc., thereby processing through the above steps to obtain the next frame's image In addition, the preset pose tracking scheme may include a map point optimization step, thereby processing through steps such as map point optimization to obtain the camera pose parameters in the image of the next frame Get the depth information of feature points.
一実施シナリオにおいて、モバイル機器は、スパース画像アライメントを実行するとき、まず、前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することができ、前記ステップは、二次元から三次元への逆投影関数
を使用して、特徴点座標uおよび特徴点深度値duを含む第1座標情報
を三次元空間に逆投影して、特徴点の三次元座標
を取得し、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータTおよび三次元から二次元への投影関数
を使用して、現在の画像特徴点の三次元座標
を次のフレームの画像kに投影して、次のフレームの画像における特徴点の投影点
を取得することを含み得、それにより、次のフレームの画像k内のローカル領域における投影点の画素値
と、現在の画像k-1の特徴点ローカル領域に対応する画素値
との間に差異があることを取得し、さらに、当該差異に基づいて、現在の画像k-1と次のフレームの画像kとの間のポーズ変換パラメータを取得することができる。ここで、ローカル領域は、特徴点(または投影点)を中心とする一長方形領域(例えば、3*3領域、4*4領域、8*8領域など)であり得、以下の式に示された通りである。
……(5)
In one implementation scenario, when performing sparse image alignment, the mobile device first uses depth information of the feature points in the current image to determine projection points of the feature points in the next frame image. can be determined, said step being a two-dimensional to three-dimensional backprojection function
to obtain first coordinate information including feature point coordinates u and feature point depth values du using
to the 3D space, the 3D coordinates of the feature points
, and the pose transformation parameter T between the current image k−1 and the next frame image k and the 3D to 2D projection function
to find the 3D coordinates of the current image feature point using
is projected onto the image k of the next frame, and the projected point of the feature point in the image of the next frame is
by obtaining the pixel value of the projection point in the local region in the image k of the next frame
and the pixel value corresponding to the feature point local region of the current image k−1
, and based on the difference, the pose transformation parameters between the current image k−1 and the next frame image k can be obtained. Here, the local region can be one rectangular region (eg, 3*3 region, 4*4 region, 8*8 region, etc.) centered on the feature point (or projection point), and is shown in the following formula: That's right.
……(5)
特徴点の数は通常、複数あるため、複数の特徴点に対して上記の差異を計算し、加算し、ターゲット関数をさらに構築することができ、以下の式に示された通りであることに留意されたい。
……(6)
Since the number of feature points is usually multiple, the above differences can be calculated and summed for multiple feature points, and the target function can be further constructed, as shown in the equation below. Please note.
……(6)
上記の式(6)において、
は、ターゲット関数を表し、ここで、
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
は、ノルム演算を表し、
は、ポーズ変換パラメータTを最適化対象としてターゲット関数を最小化することを表し、
は、ターゲット関数を解けて得られたポーズ変換パラメータを表す。
In the above formula (6),
represents the target function, where
represents a robust function and is used to reduce noise effects,
represents the norm operation,
represents minimization of the target function with the pose transformation parameter T as the optimization target,
represents the pose transformation parameters obtained by solving the target function.
計算してポーズ変換パラメータ
を取得した後、モバイル機器は、ポーズ変換パラメータ
および現在の画像k-1のカメラポーズパラメータ
を使用して、次のフレームの画像のカメラポーズパラメータ
を取得することができる。ここで、ポーズ変換パラメータ
を現在の画像k-1のカメラポーズパラメータ
と乗算して、次のフレームの画像のカメラポーズパラメータ
を取得することができる。
Calculate pose transformation parameters
, the mobile device uses the pose transformation parameters
and the camera pose parameters of the current image k−1
Use the camera pose parameters for the next frame's image
can be obtained. where the pose transformation parameters
be the camera pose parameters of the current image k−1
to obtain the camera pose parameters for the next frame's image
can be obtained.
さらに、スパース画像アライメントの計算の複雑さを減らすために、モバイル機器は、現在の画像k-1および次のフレームの画像kに対してダウンサンプリング処理を実行して、現在の画像k-1および次のフレームの画像kのピラミッド画像を取得し、ピラミッド画像のうち、解像度がプリセットの解像度である一層の画像またはマルチ層の画像を取って上記のスパース画像アライメントの処理を実行し、それにより、計算の複雑さを減らすことができる。 Furthermore, in order to reduce the computational complexity of the sparse image alignment, the mobile device performs a downsampling process on the current image k−1 and the image k of the next frame to obtain the current image k−1 and Obtaining a pyramid image of the image k of the next frame, taking a single layer image or a multi-layer image whose resolution is the preset resolution from the pyramid image and performing the above sparse image alignment process, thereby: It can reduce computational complexity.
一実施シナリオにおいて、上記のスパース画像アライメントの動作は、必然的に累積誤差を引き起し、それにより、取得された次のフレームの画像のカメラポーズパラメータ
の精度が比較的に低くする。精度を向上させるために、モバイル機器は、収束した三次元点(例えば、三次元モデル内の三次元点)を使用して、次のフレームの画像のカメラポーズパラメータ
を最適化することができる。ここで、収束した三次元点をマッチングしアライメントすることにより投影点を取得することができ、投影点を利用して、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
に対して特徴点アライメントの最適化を実行するステップは、収束した三次元点から次のフレームの画像kに投影できる三次元点を選択して、ターゲット三次元点として使用し、撮影された画像から、ターゲット三次元点が投影できる画像のうち、最も早く撮影された画像を選択して、参照画像として使用し、参照画像内のローカル領域におけるターゲット三次元点の画素値
を取得し、上記の概算された次のフレームの画像のカメラポーズパラメータ
を使用して、ターゲット三次元点を次のフレームの画像に投影して、次のフレームの画像におけるターゲット三次元点の投影点
を取得し、それにより、次のフレームの画像内のローカル領域における投影点
の画素値
を取得し、さらに、ローカル領域画素値
およびローカル領域画素値
を使用して、投影点
に関するターゲット関数を構築することができ、以下の式を参照されたい。
……(7)
In one implementation scenario, the sparse image alignment operation described above inevitably introduces an accumulated error, thereby causing the camera pose parameter
The accuracy of is relatively low. To improve accuracy, the mobile device uses converged 3D points (e.g., 3D points in a 3D model) to determine the camera pose parameters for the next frame's image.
can be optimized. Now, the projection points can be obtained by matching and aligning the converged 3D points, and the projection points are used to obtain the camera pose parameters of the next frame's image obtained by the sparse image alignment above.
The step of performing feature point alignment optimization on the captured image is by selecting a 3D point that can be projected from the converged 3D point onto the image k of the next frame to be used as the target 3D point and the captured image , among the images that the target 3D point can be projected onto, the earliest captured image is selected and used as the reference image, and the pixel value of the target 3D point in the local region within the reference image is
and the camera pose parameters of the next frame image estimated above
is used to project the target 3D point onto the next frame's image to find the projected point of the target 3D point in the next frame's image
so that the projected point in the local region in the image of the next frame
pixel value of
and the local region pixel value
and local region pixel values
using the projection point
You can construct a target function for , see the formula below.
……(7)
上記の式(7)において、
は、ターゲット関数を表し、ここで、
は、ノルム演算を表し、
は、アフィン変換行列を表し、異なる視角による画像の歪みを補正するために使用され、
は、投影点
の位置を最適化対象としてターゲット関数を最小化することを表す。
In the above formula (7),
represents the target function, where
represents the norm operation,
represents the affine transformation matrix and is used to correct image distortion due to different viewing angles,
is the projection point
It means minimizing the target function with the position of as the optimization target.
投影点
を取得した後、モバイル機器は、上記の特徴点アライメントによって得られた投影点
に基づいて、上記のスパース画像アライメントによって得られた次のフレームの画像のカメラポーズパラメータ
を最適化し、最終的に、最適化して次のフレームの画像のカメラポーズパラメータ
を取得することができる。ポーズ最適化のステップは、次のフレームの画像のカメラポーズパラメータ
および三次元から二次元への投影関数
を使用して、ターゲット三次元点
を次のフレームの画像kに再投影して、投影点
を取得し、投影点
と、特徴点アライメントステップで最適化して得られた次のフレームの画像の投影点
との位置差異を使用して、カメラポーズパラメータ
に関するターゲット関数を構築することができ、以下の式を参照されたい。
……(8)
projection point
After obtaining , the mobile device uses the projected points
camera pose parameters of the next frame image obtained by the above sparse image alignment based on
and finally, optimize the camera pose parameters for the next frame image
can be obtained. The pose optimization step is to use the camera pose parameters of the next frame image
and the projection function from 3D to 2D
using the target 3D point
to the image k of the next frame, and the projection point
and get the projection point
and the projection point of the next frame image optimized in the feature point alignment step
Using the position difference between the camera pose parameters
You can construct a target function for , see the formula below.
……(8)
上記の式(8)において、
は、ターゲット関数を表し、ここで、
は、ロバスト関数を表し、ノイズ影響を低減するために使用され、
は、ノルム演算を表し、
は、ポーズ変換パラメータ
を最適化対象としてターゲット関数を最小化することを表す。
In the above formula (8),
represents the target function, where
represents a robust function and is used to reduce noise effects,
represents the norm operation,
is the pose transform parameter
is the optimization target and the target function is minimized.
式(8)に示されたターゲット関数を解くことにより、最終的に、次のフレームの画像のカメラポーズパラメータ
を取得することができる。
By solving the target function shown in equation (8), we finally obtain the camera pose parameters of the next frame image
can be obtained.
一実施シナリオにおいて、マップポイント最適化の本質は、三次元点が最初に観察された参照画像上の対応する位置の逆深度(即ち、深度値の逆数)に対する最適化である。ここで、特徴点の深度情報の確率分布を取得することができ、特徴点の内部点確率
および逆深度値zは、ベータとガウスの混合モデル分布(Beta Gaussian Mixture Model Distribution)とほぼ一致し、以下の式を参照されたい。
……(9)
In one implementation scenario, the essence of map point optimization is the optimization for the inverse depth (ie, the inverse of the depth value) of the corresponding location on the reference image where the 3D point was originally observed. Here, the probability distribution of the depth information of the feature points can be obtained, and the internal point probability of the feature points
and the inverse depth value z approximately match the Beta Gaussian Mixture Model Distribution, see the equation below.
……(9)
ここで、上記の式(9)では、ある特徴点
を第k回観察した後の確率分布を表し、
,
は、ベータ分布のパラメータを表し、
,
は、逆深度ガウス分布の平均値と分散を表す。確率分布を取得した後、モバイル機器は、取得された確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することができる。例えば、逆深度ガウス分布の分散
が、一プリセットの深度範囲(例えば、1/200)より小さい場合、深度値収束に見なされることができ、この場合の逆深度ガウス分布の平均値
の逆数を取って特徴点の深度値として使用して、撮影プロセスで、特徴点の深度値を最適化し続けることができる。
Here, in the above equation (9), a feature point
represents the probability distribution after the k-th observation of
,
is the parameter of the beta distribution, and
,
represents the mean and variance of the inverse depth Gaussian distribution. After obtaining the probability distribution, the mobile device can use the obtained probability distribution to obtain the depth information of the feature points in the image of the next frame. For example, the variance of the inverse depth Gaussian distribution
is less than one preset depth range (e.g., 1/200), it can be considered depth value convergence, where the mean value of the inverse depth Gaussian distribution
can be taken and used as the feature point depth values to continue optimizing the feature point depth values in the imaging process.
ステップS132において、次のフレームの画像を現在の画像として使用する。 In step S132, the image of the next frame is used as the current image.
次のフレームの画像のカメラポーズパラメータおよび特徴点の深度情報を取得した後、モバイル機器は、次のフレームの画像を現在の画像として使用し、上記のステップS131および後続のステップを再実行することができ、それにより、画像のカメラポーズパラメータおよび画像内の特徴点の深度情報をフレームごとに計算することができる。 After obtaining the camera pose parameters and the depth information of the feature points of the next frame image, the mobile device may use the next frame image as the current image and re-perform the above step S131 and subsequent steps. , whereby the camera pose parameters of the image and the depth information of the feature points in the image can be calculated for each frame.
ステップS133において、ステップS131および後続のステップを再実行する。 In step S133, step S131 and subsequent steps are re-executed.
上記の実施例と区別して、モバイル機器は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。 Distinguished from the above embodiments, the mobile device uses a preset pose tracking scheme to perform tracking processing on depth information of feature points in the current image, camera pose parameters of the current image, Get the depth information of the feature points in the next frame image of the current image and the camera pose parameters of the next frame image, thereby using the next frame image as the current image and preset pose tracking method is used to re-execute the step of performing tracking processing on the depth information of the feature points in the current image, the camera pose parameters of the current image and the subsequent steps, and furthermore, the camera pose parameters are re-performed for each frame. , which helps reduce the cumulative error of the camera pose parameters.
図4を参照すると、図4は、本発明の視覚追跡方法の別の一実施例の例示的なフローチャートであり、視覚追跡方法は、以下のステップを含み得る。 Referring to FIG. 4, FIG. 4 is an exemplary flowchart of another embodiment of the visual tracking method of the present invention, which may include the following steps.
ステップS41において、カメラの重力情報を取得する。 In step S41, the gravitational information of the camera is obtained.
上記の実施例における関連ステップを参照されたい。 Please refer to the relevant steps in the above example.
ステップS42において、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得する。 In step S42, the gravity information is used to obtain the camera pose parameters of the current image taken by the camera in the preset motion state.
上記の実施例における関連ステップを参照されたい。 Please refer to the relevant steps in the above example.
ステップS43において、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得する。 In step S43, the camera pose parameters of the image to be processed after the current image are obtained according to the camera pose parameters of the current image.
上記の実施例における関連ステップを参照されたい。 Please refer to the relevant steps in the above example.
ステップS44において、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たすか否かを判断し、満たさない場合、ステップS45を実行し、満たす場合、ステップS46を実行する。 In step S44, it is determined whether the camera pose parameter of the image to be processed satisfies a preset steady state condition, if not, step S45 is performed; if yes, step S46 is performed.
プリセットの安定状態条件は、カメラポーズパラメータに異常値がないこと、処理されるべき画像のカメラポーズパラメータと処理されるべき画像前のフレームのカメラポーズパラメータとの間の差異が、プリセットの範囲内にあることのうちの少なくとも1つを含み得る。一実施シナリオにおいて、異常値は、変位閾値より大きい変位パラメータ、回転閾値より大きい回転パラメータを含み得、ここで、変位閾値、回転閾値およびプリセットの範囲は、実際の適用ニーズに従って設定することができ、ここでは限定しない。 The preset steady-state conditions are that there are no outliers in the camera pose parameters, and that the difference between the camera pose parameters of the image to be processed and the camera pose parameters of the previous frame of the image to be processed is within the preset range. at least one of In one implementation scenario, the outliers may include displacement parameters greater than the displacement threshold, rotation parameters greater than the rotation threshold, where the displacement threshold, rotation threshold and preset ranges can be set according to actual application needs. , not limited here.
ステップS45において、処理されるべき画像を取得できない変位パラメータを決定し、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得する。 In step S45, determine the displacement parameters that fail to obtain the image to be processed, and use the pixel values of the previous frame image of the image to be processed and the camera pose parameters of the previous frame image to be processed. Get the rotation parameter of the image to power.
実際の適用プロセスにおいて、急速な運動、照明条件の大幅の変化などの要因はすべて、カメラポーズパラメータを不正確にして、視覚的ポジショニングを不正確にし、視覚的ポジショニングのロバスト性を向上させるために、処理画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないと判断した場合、モバイル機器は、上記のステップによって取得されたカメラポーズパラメータの不正確度、特に、変位パラメータを決定することができる。したがって、回転パラメータの更新失敗による仮想物体が画面にくっつくなどの問題を低減するために、モバイル機器は、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、それにより、回転パラメータの更新を維持することができる。 In the actual application process, factors such as rapid motion, drastic changes in lighting conditions, etc. will all make the camera pose parameters inaccurate, resulting in inaccurate visual positioning, and to improve the robustness of visual positioning. , if it is determined that the camera pose parameters of the processed image do not satisfy the preset steady state conditions, the mobile device may determine the inaccuracy of the camera pose parameters obtained by the above steps, particularly the displacement parameters. can. Therefore, in order to reduce problems such as the virtual object sticking to the screen due to failure to update the rotation parameter, the mobile device sets the pixel value of the image of the previous frame and the camera pose of the image of the previous frame to the image to be processed. The parameter can be used to obtain the rotation parameters of the image to be processed, thereby keeping the rotation parameters updated.
一実施シナリオにおいて、図5を参照すると、図5は、図4におけるステップS45の一実施例の例示的なフローチャートである。ここで、S45は、以下のステップを含み得る。 In one implementation scenario, refer to FIG. 5, which is an exemplary flowchart of one implementation of step S45 in FIG. Here, S45 may include the following steps.
ステップS451において、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得する。 performing a projective transformation on at least some of the pixel points in the previous frame image using the pose transformation parameters between the image to be processed and the previous frame image, in step S451; Obtain projection points of at least some of the pixel points in the image to be processed.
説明の便宜上、処理されるべき画像をkに表し、前のフレームの画像をk-1に表し、ポーズ変換パラメータを
に表し、前のフレームの画像内の画素点の少なくとも一部の二次元座標をuに表し、画素点の少なくとも一部の深度値をduに表し、二次元から三次元への逆投影関数を
に表すことができ、三次元から二次元への投影関数を
に表すことができ、投影点は、
に表すことができ、ここで、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。
For convenience of explanation, let the image to be processed be k, the image of the previous frame be k−1, and the pose transformation parameters be
, the two-dimensional coordinates of at least some of the pixel points in the image of the previous frame in u, the depth values of at least some of the pixel points in du, and the two-dimensional to three-dimensional backprojection function as
and the projection function from 3D to 2D is
and the projection point is
where reference can be made to the relevant steps in the above embodiments, which will not be described in detail herein.
一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、前のフレームの画像に対してダウンサンプリングを実行して、前のフレームの画像のサムネイル画像(例えば、40*30またはより小さい画像)を取得することができ、それにより、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。別の一実施シナリオにおいて、演算の複雑さを減らすために、モバイル機器は、さらに、サムネイル画像内の画素点を単位球に投影することができ、即ち、サムネイル画像内の画素点の深度値を1に統一に設定することができ、さらに、実際の適用ニーズに従って、深度値を他の数値に統一に設定することができ、ここでは限定しない。 In one implementation scenario, to reduce computational complexity, the mobile device further performs downsampling on the previous frame image to provide a thumbnail image of the previous frame image (e.g., 40*30 or smaller image), thereby performing a projective transformation on the pixel points in the thumbnail image using the pose transformation parameters between the image to be processed and the image of the previous frame to obtain the projection point of the pixel point in the thumbnail image in the image to be processed. In another implementation scenario, to reduce computational complexity, the mobile device can also project the pixel points in the thumbnail image onto the unit sphere, i.e., the depth values of the pixel points in the thumbnail image are It can be uniformly set to 1, and further according to actual application needs, the depth value can be uniformly set to other numerical values, and is not limited here.
ステップS452において、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築する。 In step S452, using the difference between the pixel values of at least some of the pixel points in the image of the previous frame and the pixel values of the projected points corresponding to at least some of the pixel points in the image to be processed. to construct a target function for the pose transformation parameters.
一実施シナリオにおいて、モバイル機器は、前のフレームの画像内のローカル領域における画素点の少なくとも一部の画素値
と、処理されるべき画像内のローカル領域における、画素点の少なくとも一部に対応する投影点
の画素値
との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。
In one implementation scenario, the mobile device determines the pixel values of at least some of the pixel points in the local region within the image of the previous frame.
and projection points corresponding to at least some of the pixel points in the local region in the image to be processed
pixel value of
can be used to construct a target function for the pose transformation parameters.
別の一実施シナリオにおいて、前のフレームの画像に対してダウンサンプリングを実行する場合、モバイル機器は、サムネイル画像内の画素点の画素値と、処理されるべき画像におけるこれらの画素値に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築することができる。 In another implementation scenario, when performing downsampling on the image of the previous frame, the mobile device corresponds the pixel values of the pixel points in the thumbnail image with those pixel values in the image to be processed. The difference between the pixel values of the projection points can be used to construct a target function for the pose transformation parameters.
ここで、ターゲット関数は、上記の実施例における関連ステップを参照でき、ここでは詳細に説明しない。 Here, the target function can refer to the relevant steps in the above embodiments and will not be described in detail here.
ステップS453において、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得する。 In step S453, using the pose transformation parameters obtained by solving the target function, perform transformation processing on the camera pose parameters of the image of the previous frame to obtain the rotation parameters of the image to be processed. .
上記のターゲット関数を最適化し解け、最適化し解くプロセスでは、モバイル機器は、回転パラメータのみを最適化して、解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像のカメラポーズパラメータを取得し、カメラポーズパラメータ内の回転パラメータを抽出して、処理されるべき画像の回転パラメータとして使用することができる。 In the process of optimizing and solving the above target function, the mobile device only optimizes the rotation parameters and uses the pose transformation parameters obtained by solving to the camera pose parameters of the image of the previous frame. A transformation process may be performed on it to obtain the camera pose parameters of the image to be processed, and the rotation parameter within the camera pose parameters may be extracted and used as the rotation parameter of the image to be processed.
一実施シナリオにおいて、視覚的ポジショニングのロバスト性を向上させるために、モバイル機器は、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報を検出し続け、加速度情報は、プリセットの運動状態にあるか否かを判断することができ、加速度情報を取得し、加速度情報が、プリセットの運動状態にあるか否かを判断するステップは、上記の開示された実施例の関連ステップを参照でき、ここで詳細に説明しない。プリセットの運動状態にある場合、個の場合のカメラは、静的状態または均一速度の運動状態にあると見なすことができ、そうすると、カメラの重力情報を取得するステップおよび後続のステップを再実行することができ、プリセットの運動状態にない場合、個の場合のカメラは、大幅に運動する状態にあると見なすことができ、そうすると、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することができる。視覚的ポジショニングが不正確である場合、カメラの現在の加速度情報を検出することを繰り返し、加速度情報がプリセットの運動状態にあるか否かを判断し、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行することにより、視覚的ポジショニングのロバスト性を向上させることができる。 In one implementation scenario, in order to improve the robustness of visual positioning, the mobile device continues to detect the current acceleration information of the camera after obtaining the rotation parameters of the image to be processed, and the acceleration information is preset and the steps of obtaining acceleration information and determining whether the acceleration information is in a preset exercise state are the relevant steps of the above disclosed embodiments. and will not be described in detail here. When in a preset state of motion, the camera in this case can be considered to be in a static state or a state of uniform velocity motion, and then re-execute the step of obtaining the gravity information of the camera and subsequent steps. If the camera is not in a preset motion state, then the camera can be considered to be in a state of significant motion, and the step of detecting the camera's current acceleration information and subsequent steps can then be repeated. can be executed. If the visual positioning is inaccurate, repeat detecting the current acceleration information of the camera, determine whether the acceleration information is in the preset motion state, and if it is in the preset motion state, the camera's gravity Re-executing the step of obtaining information and subsequent steps can improve the robustness of visual positioning.
ステップS46において、処理されるべき画像を現在の画像として使用する。 At step S46, the image to be processed is used as the current image.
処理されるべき画像の回転パラメータを取得した後、大幅の運動または照明条件が大幅に変化する場合に、依然として回転パラメータの更新を持続できるようにするために、モバイル機器は、処理されるべき画像を現在の画像として使用し、上記の現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するステップおよび後続のステップを再実行することができる。 After obtaining the rotation parameters of the image to be processed, the mobile device may use the image to be processed in order to still be able to continue updating the rotation parameters in the event of significant motion or significant changes in lighting conditions. as the current image, and based on the camera pose parameters of the current image above, the step of obtaining the camera pose parameters of the image to be processed after the current image and subsequent steps can be reperformed .
ステップS47において、ステップS43および後続のステップを再実行する。 In step S47, step S43 and subsequent steps are re-executed.
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、モバイル機器が、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定して、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題を回避できる。 Distinct from the above example, the camera pose parameters are set to include rotation parameters and displacement parameters, and after the mobile device obtains the camera pose parameters of the image to be processed after the current image, the Determining displacement parameters at which the image to be processed cannot be obtained in response to the camera pose parameters of the image to be processed failing to satisfy a preset steady state condition, thereby causing the previous frame of the image to be processed to be Use the pixel values of the image and the camera pose parameters of the previous frame image to obtain the rotation parameters of the image to be processed, and if the camera pose parameters are inaccurate, use the image pixels directly. By estimating the rotation parameter, it is possible to avoid the problem that the virtual object in the virtual reality sticks to the screen due to the inability to update the rotation parameter.
図6を参照すると、図6は、本発明の視覚的ポジショニング装置60の一実施例のフレームワークの概略図である。視覚的ポジショニング装置60は、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63を備え、重力情報取得部61は、カメラの重力情報を取得するように構成され、第1ポーズ取得部62は、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得するように構成され、第2ポーズ取得部63は、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される。
Referring to FIG. 6, FIG. 6 is a schematic diagram of the framework of one embodiment of the
上記の技術案は、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 The above technical solution is to obtain the gravity information of the camera, use the gravity information to obtain the camera pose parameters of the current image taken by the camera in the preset motion state, and obtain the camera pose parameters of the current image Based on the parameters, the camera pose parameters of the image to be processed after the current image can be obtained, and furthermore, visual positioning can be performed only by relying on the camera and gravity information, so the use of visual positioning technology The cost of use can be reduced and the range of use of visual positioning technology can be expanded.
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、視覚的ポジショニング装置60は、さらに、現在の画像内の特徴点の特徴方向情報を取得するように構成される特徴方向取得部を備え、視覚的ポジショニング装置60は、さらに、特徴点の特徴方向情報および重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得するように構成される深度情報取得部を備え、第2ポーズ取得部63は、さらに、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得するように構成される。
In some disclosed embodiments, the gravity information includes gravity direction information, and the
上記の実施例と区別して、現在の画像内の特徴点の特徴方向情報を取得し、特徴点の特徴方向情報および重力情報に含まれる重力方向情報を使用して、現在の画像内の特徴点の深度情報を取得することにより、現在の画像に基づいて、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータを初始化することができ、現在の画像内の特徴点の深度情報および現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像内の特徴点の深度情報および処理されるべき画像のカメラポーズパラメータを取得することができ、初始化動作のためにマルチフレームの画像をスキャンする必要なく、視覚的ポジショニングの応答速度を向上させることができる。 Different from the above embodiment, the feature direction information of the feature point in the current image is obtained, and the feature direction information of the feature point and the gravity direction information included in the gravity information are used to obtain the feature point in the current image. Based on the current image, the depth information of the feature points in the current image and the camera pose parameters of the current image can be initialized by obtaining the depth information of the feature points in the current image Based on the information and the camera pose parameters of the current image, the depth information of the feature points in the image to be processed after the current image and the camera pose parameters of the image to be processed can be obtained, and the initial initiation operation is performed. Therefore, the response speed of visual positioning can be improved without the need to scan multi-frame images.
いくつかの開示された実施例において、特徴方向情報は、特徴点の方向ベクトルを含み、重力方向情報は、重力ベクトルを含み、深度情報は、特徴点の深度値を含み、深度情報取得部は、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得するように構成される第1演算サブ部を備え、深度情報取得部は、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得するように構成される第2演算サブ部を備える。 In some disclosed embodiments, the feature direction information includes a feature point direction vector, the gravity direction information includes a gravity vector, the depth information includes a depth value of the feature point, and the depth information obtaining unit comprises: , a first computing sub-unit configured to perform a first preset operation on the direction vector and the gravity vector of the feature point to obtain an included angle between the direction vector and the gravity vector of the feature point; The information obtaining unit comprises a second calculation sub-unit configured to perform a second preset calculation on the preset height and included angle of the camera to obtain the depth value of the feature point.
上記の実施例と区別して、特徴方向情報を、特徴点の方向ベクトルを含むように設定し、重力方向情報を、重力ベクトルを含むように設定し、深度情報を、特徴点の深度値を含むように設定して、特徴点の方向ベクトルおよび重力ベクトルに対して第1プリセットの演算を実行して、特徴点の方向ベクトルと重力ベクトルとの夾角を取得し、それにより、カメラのプリセットの高さおよび夾角に対して第2プリセットの演算を実行して、特徴点の深度値を取得して、特徴点深度値を取得する計算の複雑さを削減することに役立つことができる。 Different from the above embodiment, the feature direction information is set to include the direction vector of the feature point, the gravity direction information is set to include the gravity vector, and the depth information is set to include the depth value of the feature point. and perform a first preset operation on the direction vector and the gravity vector of the feature point to obtain the included angle between the direction vector and the gravity vector of the feature point, thereby obtaining the preset height of the camera A second preset operation may be performed on height and included angle to obtain feature point depth values to help reduce the computational complexity of obtaining feature point depth values.
いくつかの開示された実施例において、第1プリセットの演算は、内積演算を含み、および/または、第2プリセットの演算は、プリセットの高さを夾角のコサイン値で除算することを含む。 In some disclosed embodiments, the first preset operation includes a dot product operation and/or the second preset operation includes dividing the preset height by the cosine value of the included angle.
上記の実施例と区別して、第1プリセットの演算を、内積演算を含むように設定して、方向ベクトルと重力ベクトルとの夾角を取得する複雑さを削減することに役立つことができ、第2プリセットの演算を、プリセットの高さを夾角で除算するコサイン値を含むように設定して、深度値を取得する複雑さを削減することに役立つことができる。 Distinct from the above example, the first preset operation can be set to include an inner product operation to help reduce the complexity of obtaining the included angle between the direction vector and the gravity vector; The preset arithmetic can be set to include a cosine value that divides the preset height by the included angle to help reduce the complexity of obtaining depth values.
いくつかの開示された実施例において、第2ポーズ取得部63は、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得ように構成されるポーズ追跡サブ部を備え、第2ポーズ取得部63は、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行するように構成される再実行サブ部を備える。
In some disclosed embodiments, the
上記の実施例と区別して、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行して、現在の画像の次のフレームの画像内の特徴点の深度情報および次のフレームの画像のカメラポーズパラメータを取得し、それにより、次のフレームの画像を現在の画像として使用し、プリセットのポーズ追跡方式を使用して、現在の画像内の特徴点の深度情報、現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行し、さらに、カメラポーズパラメータをフレームごとに計算することができ、カメラポーズパラメータの累積誤差を減らすことに役立つ。 Distinguished from the above embodiment, the preset pose tracking method is used to perform tracking processing on the depth information of the feature points in the current image, the camera pose parameters of the current image, and the Get the depth information of the feature points in the next frame image and the camera pose parameters of the next frame image, thereby using the next frame image as the current image and using the preset pose tracking method and re-performing the step of performing a tracking process on the depth information of the feature points in the current image, the camera pose parameters of the current image and subsequent steps, and further calculating the camera pose parameters for each frame. can help reduce the cumulative error of the camera pose parameters.
いくつかの開示された実施例において、ポーズ追跡サブ部は、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定するように構成される特徴点投影部と、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得するように構成されるポーズ変換パラメータ計算部と、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得するように構成されるカメラポーズパラメータ計算部と、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化するように構成されるカメラポーズパラメータ最適化部と、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得するように構成される深度情報取得部と、を備える。 In some disclosed embodiments, the pose tracking subunit is configured to use the depth information of the feature points in the current image to determine the projection points of the feature points in the image of the next frame. A feature point projection unit calculates a current image and a next image based on the difference between the pixel values of the feature points in the local region in the current image and the pixel values of the projection points in the local region in the image of the next frame. a pose transformation parameter calculation unit configured to obtain pose transformation parameters between the image of the next frame and a camera pose of the image of the next frame using the pose transformation parameters and the camera pose parameters of the current image; A camera pose parameter calculator configured to obtain the parameters and a camera pose parameter optimizer configured to use the converged 3D points to optimize the camera pose parameters for the image of the next frame. and a depth information obtaining unit configured to obtain a probability distribution of depth information of the feature points and use the probability distribution to obtain depth information of the feature points in the image of the next frame.
上記の実施例と区別して、現在の画像内の特徴点の深度情報を使用して、次のフレームの画像における特徴点の投影点を決定することにより、現在の画像内のローカル領域における特徴点の画素値と、次のフレームの画像内のローカル領域における投影点の画素値との間の差異に基づいて、現在の画像と次のフレームの画像との間のポーズ変換パラメータを取得し、ポーズ変換パラメータおよび現在の画像のカメラポーズパラメータを使用して、次のフレームの画像のカメラポーズパラメータを取得し、収束した三次元点を使用して、次のフレームの画像のカメラポーズパラメータを最適化して、カメラポーズパラメータをさらに最適化することができ、カメラポーズパラメータの正確度を向上させることに役立ち、特徴点の深度情報の確率分布を取得し、確率分布を使用して、次のフレームの画像内の特徴点の深度情報を取得することにより、深度情報の分布確率に基づいて、撮影プロセスで深度情報を最適化することができる。 Distinguishing from the above example, by using the depth information of the feature points in the current image to determine the projection points of the feature points in the image of the next frame, the feature points in the local region in the current image are and the pixel values of the projection point in the local region in the image of the next frame, get the pose transformation parameters between the current image and the image of the next frame, and pose Use the transformation parameters and the camera pose parameters of the current image to get the camera pose parameters of the next frame image, and use the converged 3D points to optimize the camera pose parameters of the next frame image. can further optimize the camera pose parameters, which helps improve the accuracy of the camera pose parameters, obtain the probability distribution of the depth information of the feature points, and use the probability distribution to determine the next frame By obtaining the depth information of the feature points in the image, the depth information can be optimized in the imaging process based on the distribution probability of the depth information.
いくつかの開示された実施例において、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、視覚的ポジショニング装置60は、さらに、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定するように構成されるカメラポーズ検出部を備え、視覚的ポジショニング装置60は、さらに、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得するように構成される回転パラメータ更新部を備える。
In some disclosed embodiments, the camera pose parameters include rotation parameters and displacement parameters, and
上記の実施例と区別して、カメラポーズパラメータを、回転パラメータおよび変位パラメータを含むように設定し、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、処理されるべき画像を取得できない変位パラメータを決定し、それにより、処理されるべき画像の前のフレームの画像の画素値および前のフレームの画像のカメラポーズパラメータを使用して、処理されるべき画像の回転パラメータを取得し、さらに、カメラポーズパラメータが不正確である場合、画像画素を直接に使用して、回転パラメータを推定し、回転パラメータが更新できないためによる、仮想現実内の仮想物体が画面にくっつくなどの問題が引き起こす確率を減らすことに役立つことができる。 Distinct from the above embodiment, the camera pose parameters are set to include rotation parameters and displacement parameters, and after obtaining the camera pose parameters of the image to be processed after the current image, Determining a displacement parameter for which the image to be processed cannot be obtained in response to the camera pose parameter not satisfying a preset steady state condition, thereby resulting in pixel values of an image of a frame preceding the image to be processed. and the camera pose parameters of the image of the previous frame to obtain the rotation parameters of the image to be processed, and if the camera pose parameters are inaccurate, the image pixels are directly used to obtain the rotation parameters , and can help reduce the probability of problems such as virtual objects sticking to the screen in virtual reality due to the inability to update the rotation parameters.
いくつかの開示された実施例において、回転パラメータ更新部は、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得するように構成される投影変換サブ部を備え、回転パラメータ更新部は、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築するように構成される関数構築サブ部を備え、回転パラメータ更新部は、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得するように構成されるパラメータ取得サブ部を備える。 In some disclosed embodiments, the rotation parameter updater uses pose transformation parameters between the image to be processed and the previous frame image to at least a projection transformation sub-unit configured to perform a projection transformation on the portion to obtain projection points of at least some of the pixel points in the image to be processed, wherein the rotation parameter update unit is configured to perform a projection transformation on the portion of the for pose transformation parameters using differences between pixel values of at least some of the pixel points in the image of the frame and pixel values of projection points in the image to be processed corresponding to at least some of the pixel points; A function construction sub-unit configured to construct a target function, wherein the rotation parameter update unit uses the pose transformation parameters obtained by solving the target function to the camera pose parameters of the image of the previous frame. a parameter obtaining sub-unit configured to perform a transformation process on the image to obtain a rotation parameter of the image to be processed.
上記の実施例と区別して、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、処理されるべき画像における画素点の少なくとも一部の投影点を取得し、前のフレームの画像における画素点の少なくとも一部の画素値と、処理されるべき画像における、画素点の少なくとも一部に対応する投影点の画素値との間の差異を使用して、ポーズ変換パラメータに関するターゲット関数を構築し、それにより、ターゲット関数を解けて得られたポーズ変換パラメータを使用して、前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、処理されるべき画像の回転パラメータを取得して、画素点の少なくとも一部に基づいて回転パラメータを取得することができ、回転パラメータを計算する計算量をけらすことに役立つことができる。 In contrast to the above embodiment, the pose transformation parameters between the image to be processed and the image of the previous frame are used to perform a projective transformation on at least some of the pixel points in the image of the previous frame. obtaining projection points of at least some of the pixel points in the image to be processed, pixel values of at least some of the pixel points in the image of the previous frame, and pixel values of the pixel points in the image to be processed; constructing a target function for the pose transformation parameters using the differences between the pixel values of the corresponding projection points at least in part, thereby using the pose transformation parameters obtained by solving the target function; performing a transform operation on the camera pose parameters of the image of the previous frame to obtain rotation parameters of the image to be processed, obtaining the rotation parameters based at least in part on the pixel points; It can help to avoid the computational complexity of calculating the rotation parameters.
いくつかの開示された実施例において、回転パラメータ更新部は、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得するように構成されるダウンサンプリングサブ部を備え、投影変換サブ部は、さらに、処理されるべき画像と前のフレームの画像との間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行して、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得するように構成される。 In some disclosed embodiments, the rotation parameter updater is configured to perform a downsampling operation on the previous frame image to obtain a thumbnail image of the previous frame image. a sub-unit, the projection transformation sub-unit further performing projection transformation on the pixel points in the thumbnail image using the pose transformation parameters between the image to be processed and the image of the previous frame; to obtain projection points of pixel points in the thumbnail image in the image to be processed.
上記の実施例と区別して、前のフレームの画像に対してダウンサンプリング処理を実行して、前のフレームの画像のサムネイル画像を取得することにより、処理されるべき画像の前のフレームの画像間のポーズ変換パラメータを使用して、サムネイル画像内の画素点に対して投影変換を実行し、後続のターゲット関数の構築と解けのために、処理されるべき画像におけるサムネイル画像内の画素点の投影点を取得する。これにより、回転パラメータを計算する計算量を減らすことに役立つことができる。 Distinct from the above embodiment, by performing a downsampling process on the previous frame image to obtain a thumbnail image of the previous frame image, the image between the previous frame image to be processed is performs a projective transformation on the pixel points in the thumbnail image using the pose transformation parameters of get points. This can help reduce the computational complexity of calculating the rotation parameters.
いくつかの開示された実施例において、視覚的ポジショニング装置60は、さらに、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断するように構成される加速度検出部を備え、重力情報取得部61、第1ポーズ取得部62および第2ポーズ取得部63は、さらに、判断がはいである場合、カメラの重力情報を取得するステップおよび後続のステップを再実行するように構成され、加速度検出部は、さらに、判断結果がいいえである場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行するように構成される。
In some disclosed embodiments, the
上記の実施例と区別して、処理されるべき画像の回転パラメータを取得した後、カメラの現在の加速度情報をさらに検出し、加速度情報が、プリセットの運動状態にあるか否かを判断して、プリセットの運動状態にある場合、カメラの重力情報を取得するステップおよび後続のステップを再実行し、プリセットの運動状態にない場合、カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行し、さらに、視覚的ポジショニングのロバスト性を向上させることができる。 Distinct from the above embodiments, further detecting the current acceleration information of the camera after obtaining the rotation parameters of the image to be processed, determining whether the acceleration information is in the preset motion state, If it is in the preset motion state, re-execute the step of obtaining the gravity information of the camera and subsequent steps, and re-execute the step of detecting the current acceleration information of the camera and subsequent steps if it is not in the preset motion state. and further improve the robustness of visual positioning.
いくつかの開示された実施例において、重力情報は、重力方向情報を含み、カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、第1ポーズ取得部62は、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向とおなじであるように構成される回転角度取得サブ部を備え、第1ポーズ取得部62は、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定するように構成されるパラメータ初始化サブ部を備える。
In some disclosed embodiments, the gravity information includes gravity direction information, the camera pose parameters include rotation parameters and displacement parameters, and the
本発明の実施例および他の実施例において、「部分」は、部分回路、部分プロセッサ、部分プログラムまたはソフトウェア等であってもよく、もちろん、ユニットであってもよく、モジュールまたは非モジュール化であってもよい。 In embodiments and other embodiments of the present invention, a "portion" may be a partial circuit, partial processor, partial program or software, etc., and of course may be a unit, modular or non-modular. may
上記の実施例と区別して、重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応するカメラの回転角度を取得し、カメラが、回転角度に従って回転した後の重力方向は、z座標軸の逆方向と同じであり、回転角度を使用して、回転パラメータを取得し、変位パラメータをプリセットの数値に設定することにより、重力アライメントにより回転パラメータを取得し、さらに、カメラポーズパラメータを初始化することができ、カメラポーズパラメータの初始化の計算量を減らすことに役立つ。 Different from the above embodiment, the gravity direction information is used to obtain the rotation angles of the camera corresponding to the world coordinate system x-, y-, and z-coordinate axes, respectively, and the gravity after the camera rotates according to the rotation angle The direction is the same as the opposite direction of the z coordinate axis, the rotation angle is used to obtain the rotation parameter, the displacement parameter is set to a preset number to obtain the rotation parameter by gravity alignment, and the camera The pose parameters can be initialized, which helps reduce the amount of calculation for initializing the camera pose parameters.
いくつかの開示された実施例において、世界座標系の原点は、カメラが現在の画像を撮影するときの位置であり、プリセットの数値は0である。 In some disclosed embodiments, the origin of the world coordinate system is the position when the camera takes the current image, and the preset number is zero.
上記の実施例と区別して、世界座標系の原点を、カメラが現在の画像を撮影するときの位置に設定し、プリセットの数値を0に設定して、変位パラメータを初始化する複雑さを減らすことに役立つことができる。 Distinct from the above example, the origin of the world coordinate system is set to the position when the camera takes the current image, and the preset numerical value is set to 0 to reduce the complexity of initializing the displacement parameters. can help.
いくつかの開示された実施例において、プリセットの運動状態は、静的状態または均一速度の運動状態であり、および/または、重力情報は、プリセットの状態におけるカメラの加速度情報を使用して得られたものである。 In some disclosed embodiments, the preset motion state is a static state or a uniform velocity motion state, and/or the gravity information is obtained using the acceleration information of the camera in the preset state. It is a thing.
上記の実施例と区別して、プリセットの運動状態を静的状態または均一速度の運動状態に設定して、現在の画像のカメラポーズパラメータを初始化する正確度を向上させることに役立つことができ、プリセットの状態におけるカメラの加速度情報を使用して重力情報を取得して、加速度計のみを使用して重力情報を取得することができ、それにより、視覚的ポジショニング技術の使用コストをさらに削減し、視覚的ポジショニング技術の使用範囲を拡大することに役立つことができる。 Different from the above embodiments, the preset motion state can be set to a static state or a uniform velocity motion state to help improve the accuracy of initializing the camera pose parameters of the current image. Gravity information can be obtained using the acceleration information of the camera in the state of , and only the accelerometer can be used to obtain the gravity information, thereby further reducing the cost of using visual positioning technology and reducing visual It can help expand the range of use of target positioning techniques.
図7を参照すると、図7は、本発明の電子機器70の実施例のフレームワークの概略図である。電子機器70は、互いに結合されるメモリ71とプロセッサ72を備え、プロセッサ72は、メモリ71に記憶されるプログラム命令を実行して、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するように構成される。一実施シナリオにおいて、電子機器70は、携帯電話、タブレット、ロボットなどのモバイル機器を含み得るが、これに限定されなく、ここでは限定しない。
Referring to FIG. 7, FIG. 7 is a schematic diagram of the framework of an embodiment of an
本開示された実施例において、プロセッサ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は、集積回路チップによって一緒に実現されることができる。
In the disclosed embodiment,
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 The above technical solutions can reduce the cost of using visual positioning technology and expand the scope of using visual positioning technology.
図8を参照すると、図8は、本発明のコンピュータ可読記憶媒体80の実施例のフレームワークの概略図である。コンピュータ可読記憶媒体80は、プロセッサによって実行されることができるプログラム命令801を記憶し、プログラム命令801は、上記の任意の1つの視覚的ポジショニング方法実施例のステップを実現するために使用される。
Referring to FIG. 8, FIG. 8 is a schematic diagram of the framework of an embodiment of the computer-
上記の技術案は、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 The above technical solutions can reduce the cost of using visual positioning technology and expand the scope of using visual positioning technology.
本発明によるいくつかの実施例では、開示された方法および装置は、他の方法で実現されることができることを理解されたい。例えば、上記で説明された装置の実施形態は、例示的なものに過ぎず、例えば、モジュールまたはユニットの分割は、論理機能の分割に過ぎず、実際に実現することには、別の分割方式があり、例えば、ユニットまたはコンポーネントを別のシステムに統合または集積してもよいし、特徴の一部を無視するか実行しなくてもよい。さらに、表示または議論される相互結合、または直接結合、または通信接続は、いくつかのインターフェースを使用して実現することができ、装置またはユニット間の間接結合または通信接続は、電気的または機械的な形であってもよく、他の形であってもよい。 It should be understood that in some embodiments according to the present invention, the disclosed method and apparatus can be implemented in other ways. For example, the embodiments of the apparatus described above are exemplary only, e.g., the division of modules or units is merely the division of logical functions, and the actual implementation may involve other division schemes. , for example, units or components may be integrated or integrated into another system, and some features may be ignored or not performed. Further, the mutual or direct couplings or communication connections shown or discussed may be realized using a number of interfaces, and the indirect couplings or communication connections between devices or units may be electrical or mechanical. It may be in a simple shape or in another shape.
分離部品として説明されるユニットは、物理的に分離されてもされなくてもよく、ユニットとして表示される部品は、物理的ユニットであってもなくてもよい。つまり、1箇所に配置されてもよく、ネットワークユニットに分散されてもよい。実際のニーズに従って、その中の一部またはすべてのユニットを選択して、本実施形態の技術案の目的を実現することができる。 Units described as separate parts may or may not be physically separated, and parts denoted as units may or may not be physical units. That is, it may be centrally located or distributed among network units. According to actual needs, some or all units therein can be selected to achieve the purpose of the technical solution of the present embodiment.
さらに、本発明の各実施例における各機能ユニットは、1つの処理ユニットに統合されてもよく、または各ユニットが、物理的に別々に存在してもよく、または2つまたは2つ以上のユニットが1つのユニットに統合されてもよい。前記統合されたユニットは、ハードウェアの形で実装されてもよく、ソフトウェア機能ユニットの形で実装されてもよい。 Furthermore, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be present. may be integrated into one unit. Said integrated unit may be implemented in the form of hardware or in the form of a software functional unit.
統合されたユニットが、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売または使用される場合、コンピュータ可読記憶媒体に記憶されることができる。このような理解に基づいて、本発明の技術的解決策は、本質的にまたは先行技術に対して寄与する部分または前記技術的解決策のすべてまたは一部は、ソフトウェア製品の形で具現されることができ、当該コンピュータソフトウェア製品は、1つの記憶媒体に記憶され、1台のコンピュータ機器(パーソナルコンピュータ、サーバ、またはネットワーク機器等であり得る)またはプロセッサ(processor)に本発明の各実施形態の方法の全部または一部のステップを実行させるためのいくつかの命令を含む。上記した記憶媒体は、Uディスク、モバイルハードディスク、読み取り専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、磁気ディスクまたは光ディスクなどのプログラムコードを記憶することができる様々な媒体を含む。 When an integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art, or all or part of the said technical solution is embodied in the form of a software product. The computer software product may be stored in a single storage medium and implemented in a single computer device (which may be a personal computer, server, network device, etc.) or processor. It contains some instructions for performing all or part of the steps of the method. The above storage media include U disk, mobile hard disk, read-only memory (ROM: Read-Only Memory), random access memory (RAM: Random Access Memory), magnetic disk, optical disk, etc. media.
本発明の実施例において、カメラの重力情報を取得することにより、重力情報を使用して、プリセットの運動状態のカメラによって撮影された現在の画像のカメラポーズパラメータを取得し、現在の画像のカメラポーズパラメータに基づいて、現在の画像後の処理されるべき画像のカメラポーズパラメータを取得し、さらに、カメラおよび重力情報にのみ依存して視覚的ポジショニングを実行することができるため、視覚的ポジショニング技術の使用コストを削減し、視覚的ポジショニング技術の使用範囲を拡大することができる。 In an embodiment of the present invention, by obtaining the gravity information of the camera, the gravity information is used to obtain the camera pose parameters of the current image taken by the camera in the preset motion state, and the camera of the current image Based on the pose parameters, the camera pose parameters of the image to be processed after the current image can be obtained, and furthermore, the visual positioning can be performed only by relying on the camera and gravity information, so the visual positioning technology It can reduce the cost of using , and expand the scope of use of visual positioning technology.
Claims (15)
カメラの重力情報を取得することと、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得することと、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することと、を含み、
前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得した後、前記視覚的ポジショニング方法は、
前記処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、前記処理されるべき画像の変位パラメータを取得できないことを決定することと、
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得することと、をさらに含む、視覚的ポジショニング方法。 A visual positioning method comprising:
obtaining camera gravity information;
using the gravity information to obtain camera pose parameters for a current image taken by the camera in a preset motion state;
obtaining camera pose parameters for an image to be processed after the current image based on camera pose parameters for the current image ;
the camera pose parameters include rotation parameters and displacement parameters;
After obtaining camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image, the visual positioning method comprises:
determining that a displacement parameter of the to-be-processed image cannot be obtained in response to a camera pose parameter of the to-be-processed image not meeting a preset steady state condition;
obtaining rotation parameters of the image to be processed using pixel values of a previous frame image of the image to be processed and camera pose parameters of the previous frame image. , visual positioning method.
前記現在の画像内の特徴点の特徴方向情報を取得することと、
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することと、をさらに含み、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得することは、
前記現在の画像内の前記特徴点の深度情報および前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像内の前記特徴点の深度情報および前記処理されるべき画像のカメラポーズパラメータを取得することを含む、
請求項1に記載の視覚的ポジショニング方法。 The gravity information includes gravity direction information, and before obtaining the camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image, the visual positioning method comprises: ,
obtaining feature direction information for feature points in the current image;
obtaining depth information for the feature points in the current image using the feature direction information and the gravity direction information for the feature points;
Obtaining camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image comprises:
Depth information of the feature points in an image to be processed after the current image and the depth information of the feature points in the image to be processed based on depth information of the feature points in the current image and camera pose parameters of the current image. including getting the camera pose parameters of the image,
A visual positioning method according to claim 1.
前記特徴点の特徴方向情報および前記重力方向情報を使用して、前記現在の画像内の前記特徴点の深度情報を取得することは、
前記特徴点の前記方向ベクトルおよび前記重力ベクトルに対して第1プリセットの演算を実行して、前記特徴点の前記方向ベクトルと前記重力ベクトルとの夾角を取得することと、
前記カメラのプリセットの高さおよび前記夾角に対して第2プリセットの演算を実行して、前記特徴点の深度値を取得することと、を含み、
前記第1プリセットの演算は、内積演算を含み、
および/または、前記第2プリセットの演算は、前記プリセットの高さを前記夾角のコサイン値で除算することを含む、
請求項2に記載の視覚的ポジショニング方法。 the feature direction information includes a direction vector of the feature point, the gravity direction information includes a gravity vector, the depth information includes a depth value of the feature point;
obtaining depth information for the feature point in the current image using the feature direction information and the gravity direction information for the feature point;
performing a first preset operation on the direction vector and the gravity vector of the feature point to obtain an included angle between the direction vector and the gravity vector of the feature point;
performing a second preset operation on the camera preset height and the included angle to obtain a depth value for the feature point;
the first preset operation includes an inner product operation;
and/or, calculating the second preset comprises dividing the preset height by the cosine value of the included angle;
A visual positioning method according to claim 2.
プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行して、前記現在の画像の次のフレームの画像内の前記特徴点の深度情報および前記次のフレームの画像のカメラポーズパラメータを取得することと、
前記次のフレームの画像を前記現在の画像として使用し、前記プリセットのポーズ追跡方式を使用して、前記現在の画像内の前記特徴点の深度情報、前記現在の画像のカメラポーズパラメータに対して追跡処理を実行するステップおよび後続のステップを再実行することと、を含む、
請求項2に記載の視覚的ポジショニング方法。 Depth information of the feature points in an image to be processed after the current image and the depth information of the feature points in the image to be processed based on depth information of the feature points in the current image and camera pose parameters of the current image. To get the camera pose parameters of an image,
Using a preset pose tracking scheme, performing a tracking process on the depth information of the feature points in the current image, the camera pose parameters of the current image, and the next frame of the current image. obtaining depth information for the feature points in an image and camera pose parameters for the next frame image;
using the image of the next frame as the current image, and using the preset pose tracking scheme, depth information of the feature points in the current image, relative to camera pose parameters of the current image; performing the tracking process and re-performing subsequent steps;
A visual positioning method according to claim 2.
前記現在の画像内の前記特徴点の深度情報を使用して、前記次のフレームの画像における前記特徴点の投影点を決定することと、
前記現在の画像内のローカル領域における前記特徴点の画素値と前記次のフレームの画像内のローカル領域における前記投影点の画素値との間の差異に基づいて、前記現在の画像と前記次のフレームの画像との間のポーズ変換パラメータを取得することと、
前記ポーズ変換パラメータおよび前記現在の画像のカメラポーズパラメータを使用して、前記次のフレームの画像のカメラポーズパラメータを取得することと、
収束した三次元点を使用して、前記次のフレームの画像のカメラポーズパラメータを最適化することと、
前記特徴点の深度情報の確率分布を取得し、前記確率分布を使用して、次のフレームの画像内の前記特徴点の深度情報を取得することと、を含む、
請求項4に記載の視覚的ポジショニング方法。 using the preset pose tracking scheme, performing a tracking process on depth information of the feature points in the current image, camera pose parameters of the current image, and performing a tracking process on the next frame of the current image; obtaining depth information of the feature points in the image of and camera pose parameters of the image of the next frame,
using depth information for the feature points in the current image to determine projection points for the feature points in the next frame image;
Based on the difference between the pixel values of the feature points in the local region in the current image and the pixel values of the projection points in the local region in the next frame image, the current image and the next frame obtaining pose transformation parameters to and from the image of the frame;
obtaining camera pose parameters for the next frame image using the pose transformation parameters and the current image camera pose parameters;
optimizing camera pose parameters for the next frame image using the converged 3D points;
obtaining a probability distribution of depth information for the feature points, and using the probability distribution to obtain depth information for the feature points in an image of a next frame;
A visual positioning method according to claim 4.
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することと、
前記前のフレームの画像における前記画素点の少なくとも一部の画素値と、前記処理されるべき画像における、前記画素点の少なくとも一部に対応する前記投影点の画素値との間の差異を使用して、前記ポーズ変換パラメータに関するターゲット関数を構築することと、
前記ターゲット関数を解けて得られた前記ポーズ変換パラメータを使用して、前記前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、前記処理されるべき画像の回転パラメータを取得することと、を含む、
請求項1に記載の視覚的ポジショニング方法。 obtaining rotation parameters of the image to be processed using pixel values of a previous frame image of the image to be processed and camera pose parameters of the previous frame image;
performing a projective transformation on at least some of the pixel points in the previous frame image using pose transformation parameters between the image to be processed and the previous frame image; obtaining projection points of at least some of said pixel points in an image to be processed;
using the difference between the pixel values of at least some of the pixel points in the previous frame image and the pixel values of the projected points corresponding to at least some of the pixel points in the image to be processed. to construct a target function for the pose transformation parameters;
Using the pose transformation parameters obtained by solving the target function, performing transformation processing on camera pose parameters of the previous frame image to obtain rotation parameters of the image to be processed. including
A visual positioning method according to claim 1 .
前記前のフレームの画像に対してダウンサンプリング処理を実行して、前記前のフレームの画像のサムネイル画像を取得することをさらに含み、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記処理されるべき画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における前記画素点の少なくとも一部の投影点を取得することは、
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記サムネイル画像内の画素点に対して投影変換を実行して、前記処理されるべき画像における前記サムネイル画像内の画素点の投影点を取得することを含む、
請求項6に記載の視覚的ポジショニング方法。 performing a projective transformation on at least some of the pixel points in the previous frame image using pose transformation parameters between the image to be processed and the previous frame image; Before obtaining projection points of at least some of the pixel points in the image to be processed, the visual positioning method comprises:
further comprising performing a downsampling process on the previous frame image to obtain a thumbnail image of the previous frame image;
performing a projective transformation on at least some of the pixel points in the image to be processed using pose transformation parameters between the image to be processed and the image of the previous frame; obtaining projection points of at least some of said pixel points in an image to be processed,
performing a projective transformation on pixel points in the thumbnail image using pose transformation parameters between the image to be processed and the image of the previous frame to perform the projection transformation on the image to be processed; including obtaining a projected point of the pixel point in the thumbnail image;
A visual positioning method according to claim 6 .
前記カメラの現在の加速度情報を検出し、前記加速度情報が、前記プリセットの運動状態にあるか否かを判断することと、
前記プリセットの運動状態にある場合、前記カメラの重力情報を取得するステップおよび後続のステップを再実行し、
前記プリセットの運動状態にない場合、前記カメラの現在の加速度情報を検出するステップおよび後続のステップを再実行することと、をさらに含む、
請求項1に記載の視覚的ポジショニング方法。 after obtaining a rotation parameter of the image to be processed using the pixel values of the image of the previous frame of the image to be processed and the camera pose parameters of the image of the previous frame, the visual positioning method teeth,
detecting current acceleration information of the camera and determining whether the acceleration information is in the preset motion state;
if in the preset motion state, re-performing the step of obtaining gravity information of the camera and subsequent steps;
if not in the preset motion state, detecting current acceleration information of the camera and re-performing subsequent steps;
A visual positioning method according to claim 1 .
前記重力方向情報を使用して、世界座標系x座標軸、y座標軸およびz座標軸にそれぞれ対応する前記カメラの回転角度を取得することであって、前記カメラが前記回転角度に従って回転した後の重力方向は、前記z座標軸の逆方向と同じである、ことと、
前記回転角度を使用して、前記回転パラメータを取得し、前記変位パラメータをプリセットの数値に設定することと、を含み、
前記世界座標系の原点は、前記カメラが前記現在の画像を撮影するときの位置であり、前記プリセットの数値は0である、
請求項1に記載の視覚的ポジショニング方法。 The gravity information includes gravity direction information, the camera pose parameters include rotation parameters and displacement parameters, and the gravity information is used to determine the camera pose of a current image taken by the camera in a preset motion state. Getting the parameters
using the gravity direction information to obtain rotation angles of the camera respectively corresponding to the world coordinate system x-coordinate axis, y-coordinate axis and z-coordinate axis, wherein the gravity direction after the camera is rotated according to the rotation angle is the same as the opposite direction of the z-coordinate axis;
using the rotation angle to obtain the rotation parameter and setting the displacement parameter to a preset number;
The origin of the world coordinate system is the position when the camera captures the current image, and the preset value is 0.
A visual positioning method according to claim 1.
および/または、前記重力情報は、前記プリセットの運動状態における前記カメラの加速度情報を使用して得られたものである、
請求項1ないし9のいずれか一項に記載の視覚的ポジショニング方法。 the preset motion state includes a static state or a uniform speed motion state;
and/or the gravity information is obtained using acceleration information of the camera in the preset motion state.
10. A visual positioning method according to any one of claims 1-9 .
カメラの重力情報を取得するように構成される重力情報取得部と、
前記重力情報を使用して、プリセットの運動状態の前記カメラによって撮影される現在の画像のカメラポーズパラメータを取得するように構成される第1ポーズ取得部と、
前記現在の画像のカメラポーズパラメータに基づいて、前記現在の画像後の処理されるべき画像のカメラポーズパラメータを取得するように構成される第2ポーズ取得部であって、前記カメラポーズパラメータは、回転パラメータおよび変位パラメータを含む、第2ポーズ取得部と、
前記処理されるべき画像のカメラポーズパラメータが、プリセットの安定状態条件を満たさないことに応答して、前記処理されるべき画像を取得できない変位パラメータを決定するように構成されるカメラポーズ検出部と、
前記処理されるべき画像の前のフレームの画像の画素値および前記前のフレームの画像のカメラポーズパラメータを使用して、前記処理されるべき画像の回転パラメータを取得するように構成される回転パラメータ更新部と、を備える、視覚的ポジショニング装置。 A visual positioning device comprising:
a gravity information acquisition unit configured to acquire gravity information of a camera;
a first pose obtaining unit configured to obtain camera pose parameters of a current image taken by the camera in a preset motion state using the gravity information;
a second pose obtaining unit configured to obtain camera pose parameters of an image to be processed after the current image based on the camera pose parameters of the current image , the camera pose parameters comprising: a second pose obtainer including rotation and displacement parameters ;
a camera pose detector configured to determine a displacement parameter at which the to-be-processed image cannot be obtained in response to the camera-pose parameter of the to-be-processed image failing to satisfy a preset steady state condition; ,
A rotation parameter configured to obtain a rotation parameter of the image to be processed using a pixel value of a previous frame image of the image to be processed and a camera pose parameter of the previous frame image. and an updater .
前記処理されるべき画像と前記前のフレームの画像との間のポーズ変換パラメータを使用して、前記前のフレームの画像内の画素点の少なくとも一部に対して投影変換を実行して、前記処理されるべき画像における画素点の少なくとも一部の投影点を取得するように構成される投影変換サブ部と、 performing a projective transformation on at least some of the pixel points in the previous frame image using pose transformation parameters between the image to be processed and the previous frame image; a projection transformation sub-unit configured to obtain projection points of at least some of the pixel points in the image to be processed;
前記前のフレームの画像における前記画素点の少なくとも一部の画素値と、前記処理されるべき画像における、前記画素点の少なくとも一部に対応する前記投影点の画素値との間の差異を使用して、前記ポーズ変換パラメータに関するターゲット関数を構築するように構成される関数構築サブ部と、 using the difference between the pixel values of at least some of the pixel points in the previous frame image and the pixel values of the projected points corresponding to at least some of the pixel points in the image to be processed. a function construction sub-unit configured to construct a target function in terms of the pose transformation parameters as a
前記ターゲット関数を解けて得られた前記ポーズ変換パラメータを使用して、前記前のフレームの画像のカメラポーズパラメータに対して変換処理を実行して、前記処理されるべき画像の回転パラメータを取得するように構成されるパラメータ取得サブ部と、を備える Using the pose transformation parameters obtained by solving the target function, performing transformation processing on camera pose parameters of the previous frame image to obtain rotation parameters of the image to be processed. a parameter acquisition sub-unit configured to
請求項11に記載の視覚的ポジショニング装置。 A visual positioning device according to claim 11.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148780.6A CN112348889B (en) | 2020-10-23 | 2020-10-23 | Visual positioning method, and related device and equipment |
CN202011148780.6 | 2020-10-23 | ||
PCT/CN2021/076957 WO2022083038A1 (en) | 2020-10-23 | 2021-02-19 | Visual positioning method and related apparatus, device and computer-readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023502192A JP2023502192A (en) | 2023-01-23 |
JP7280385B2 true JP7280385B2 (en) | 2023-05-23 |
Family
ID=74360141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021569000A Active JP7280385B2 (en) | 2020-10-23 | 2021-02-19 | Visual positioning method and related apparatus, equipment and computer readable storage medium |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP7280385B2 (en) |
KR (1) | KR20220054582A (en) |
CN (1) | CN112348889B (en) |
TW (1) | TWI795885B (en) |
WO (1) | WO2022083038A1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112348889B (en) * | 2020-10-23 | 2024-06-07 | 浙江商汤科技开发有限公司 | Visual positioning method, and related device and equipment |
CN112884840A (en) * | 2021-03-29 | 2021-06-01 | 湖南国科微电子股份有限公司 | Visual positioning method, device, equipment and storage medium |
CN115641648B (en) * | 2022-12-26 | 2023-08-18 | 苏州飞蝶虚拟现实科技有限公司 | 3D remote interactive processing system based on visual repetitive action analysis and filtration |
CN116429094B (en) * | 2023-06-15 | 2023-09-26 | 小米汽车科技有限公司 | Positioning method, positioning device, electronic equipment and storage medium |
CN117058209B (en) * | 2023-10-11 | 2024-01-23 | 山东欧龙电子科技有限公司 | Method for calculating depth information of visual image of aerocar based on three-dimensional map |
KR102711526B1 (en) * | 2024-02-28 | 2024-09-30 | 고려대학교 산학협력단 | BIM-based Camera Tracking Method and Apparatus in Indoor Environments |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013027628A1 (en) | 2011-08-24 | 2013-02-28 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2017108370A (en) | 2015-07-06 | 2017-06-15 | セイコーエプソン株式会社 | Head-mounted display device and computer program |
WO2019237099A1 (en) | 2018-06-08 | 2019-12-12 | Magic Leap, Inc. | Augmented reality viewer with automated surface selection placement and content orientation placement |
JP2020042575A (en) | 2018-09-11 | 2020-03-19 | 富士通株式会社 | Information processing apparatus, positioning method, and program |
JP2020067978A (en) | 2018-10-26 | 2020-04-30 | 富士通株式会社 | Floor detection program, floor detection method, and terminal device |
Family Cites Families (9)
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 (en) * | 2017-08-04 | 2020-03-17 | 腾讯科技(深圳)有限公司 | Image processing method, device and storage medium |
WO2020024182A1 (en) * | 2018-08-01 | 2020-02-06 | 深圳市大疆创新科技有限公司 | Parameter processing method and apparatus, camera device and aircraft |
CN110349213B (en) * | 2019-06-28 | 2023-12-12 | Oppo广东移动通信有限公司 | Pose determining method and device based on depth information, medium and electronic equipment |
CN110335316B (en) * | 2019-06-28 | 2023-04-18 | Oppo广东移动通信有限公司 | Depth information-based pose determination method, device, medium and electronic equipment |
CN111210463B (en) * | 2020-01-15 | 2022-07-15 | 上海交通大学 | Virtual wide-view visual odometer method and system based on feature point auxiliary matching |
CN111709984B (en) * | 2020-06-08 | 2024-02-06 | 亮风台(上海)信息科技有限公司 | Pose depth prediction method, visual odometer device, pose depth prediction equipment and visual odometer medium |
CN111696162B (en) * | 2020-06-11 | 2022-02-22 | 中国科学院地理科学与资源研究所 | Binocular stereo vision fine terrain measurement system and method |
CN112348889B (en) * | 2020-10-23 | 2024-06-07 | 浙江商汤科技开发有限公司 | Visual positioning method, and related device and equipment |
-
2020
- 2020-10-23 CN CN202011148780.6A patent/CN112348889B/en active Active
-
2021
- 2021-02-19 KR KR1020227003202A patent/KR20220054582A/en unknown
- 2021-02-19 WO PCT/CN2021/076957 patent/WO2022083038A1/en active Application Filing
- 2021-02-19 JP JP2021569000A patent/JP7280385B2/en active Active
- 2021-08-25 TW TW110131503A patent/TWI795885B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013027628A1 (en) | 2011-08-24 | 2013-02-28 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2017108370A (en) | 2015-07-06 | 2017-06-15 | セイコーエプソン株式会社 | Head-mounted display device and computer program |
WO2019237099A1 (en) | 2018-06-08 | 2019-12-12 | Magic Leap, Inc. | Augmented reality viewer with automated surface selection placement and content orientation placement |
JP2020042575A (en) | 2018-09-11 | 2020-03-19 | 富士通株式会社 | Information processing apparatus, positioning method, and program |
JP2020067978A (en) | 2018-10-26 | 2020-04-30 | 富士通株式会社 | Floor detection program, floor detection method, and terminal device |
Also Published As
Publication number | Publication date |
---|---|
TWI795885B (en) | 2023-03-11 |
WO2022083038A1 (en) | 2022-04-28 |
CN112348889B (en) | 2024-06-07 |
KR20220054582A (en) | 2022-05-03 |
CN112348889A (en) | 2021-02-09 |
JP2023502192A (en) | 2023-01-23 |
TW202217755A (en) | 2022-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7280385B2 (en) | Visual positioning method and related apparatus, equipment and computer readable storage medium | |
US20210190497A1 (en) | Simultaneous location and mapping (slam) using dual event cameras | |
CN110582798B (en) | System and method for virtual enhanced vision simultaneous localization and mapping | |
US10636168B2 (en) | Image processing apparatus, method, and program | |
WO2021043213A1 (en) | Calibration method, device, aerial photography device, and storage medium | |
CN112219087A (en) | Pose prediction method, map construction method, movable platform and storage medium | |
JP2009252112A (en) | Image processing apparatus and method | |
JP2008506953A5 (en) | ||
CN113256718B (en) | Positioning method and device, equipment and storage medium | |
US20160210761A1 (en) | 3d reconstruction | |
CN113052907B (en) | Positioning method of mobile robot in dynamic environment | |
CN113361365A (en) | Positioning method and device, equipment and storage medium | |
WO2022188334A1 (en) | Positioning initialization method and apparatus, device, storage medium, and program product | |
JP2022132063A (en) | Method and device for pose determination of augmented reality providing device | |
Frahm et al. | Camera calibration with known rotation | |
CN110119189B (en) | Initialization method, AR control method, device and system of SLAM system | |
TW202314593A (en) | Positioning method and equipment, computer-readable storage medium | |
US11145072B2 (en) | Methods, devices and computer program products for 3D mapping and pose estimation of 3D images | |
JP6922348B2 (en) | Information processing equipment, methods, and programs | |
JP5976089B2 (en) | Position / orientation measuring apparatus, position / orientation measuring method, and program | |
Huttunen et al. | A monocular camera gyroscope | |
US11758100B2 (en) | Portable projection mapping device and projection mapping system | |
WO2010089938A1 (en) | Rotation estimation device, rotation estimation method, and storage medium | |
CN111489376A (en) | Method and device for tracking interactive equipment, terminal equipment and storage medium | |
WO2021251171A1 (en) | Information processing device, information processing method, and program |
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 |