JP2021520540A - カメラの位置決め方法および装置、端末並びにコンピュータプログラム - Google Patents

カメラの位置決め方法および装置、端末並びにコンピュータプログラム Download PDF

Info

Publication number
JP2021520540A
JP2021520540A JP2020552267A JP2020552267A JP2021520540A JP 2021520540 A JP2021520540 A JP 2021520540A JP 2020552267 A JP2020552267 A JP 2020552267A JP 2020552267 A JP2020552267 A JP 2020552267A JP 2021520540 A JP2021520540 A JP 2021520540A
Authority
JP
Japan
Prior art keywords
camera
feature point
position information
feature points
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020552267A
Other languages
English (en)
Other versions
JP7026819B2 (ja
Inventor
チェン,チャオ
ウ,ウエイ
Original Assignee
テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド filed Critical テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
Publication of JP2021520540A publication Critical patent/JP2021520540A/ja
Application granted granted Critical
Publication of JP7026819B2 publication Critical patent/JP7026819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/485Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an optical system or imaging system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Abstract

カメラの位置決め方法を開示し、当該方法は、目標環境の環境マップを取得するステップであって、カメラが目標画像を撮影する前に履歴画像を撮影した時のカメラの位置情報に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得する、ステップと、カメラの予測位置情報、環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、環境マップにおける、カメラが現在観察できない特徴点をフィルタリングアウトするステップと、目標画像における特徴点と環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、特徴点対応関係に従って、カメラの位置情報を決定するステップとを含む。【選択図】図9

Description

(関連出願の相互参照)
本願は、2018年06月19日に中国特許局に提出された、出願番号が201810630115.7であり、発明の名称が「カメラの位置決め方法およびその、装置、端末並びに記憶媒体」である中国特許出願の優先権を主張し、その内容の全てが引用により本願に組み込まれている。
本発明の実施例は、コンピュータ技術分野、具体的に、カメラの位置決め方法および装置、端末並びに記憶媒体に関するものである。
視覚的の同時ローカリゼーションおよびマッピング(Simultaneous Localization and Mapping、SLAMと略称)技術は、カメラを介して目標環境を観察して、環境マップの構築とカメラの位置決めを実現する技術であり、現在、コンピュータビジョン分野では、次第に人気のある研究の方向になっている。
視覚的のSLAM技術は、マップ構築段階および位置決め段階を含む。マップ構築段階では、カメラは、まず、目標環境の複数枚の画像を撮影し、各画像に対して特徴抽出を実行して各画像の特徴点を取得し、各画像における特徴点をマッチングして、相互に一致する特徴点間の位置変化に従って、各画像の位置情報および各画像における各特徴点の位置情報を決定し、それにより、環境マップを構築する。当該環境マップは、各特徴点の位置情報を含む。その後の位置決め段階では、カメラが目標環境における特定の位置に位置すると、目標環境を撮影して、目標画像を取得することができる。目標画像に対して特徴抽出を実行して目標画像における特徴点を取得し、目標画像における特徴点と環境マップにおける特徴点とのマッチングを実行して、一致する特徴点の位置情報に従ってカメラの位置情報を取得し、カメラの位置決めを実現する。
ここで、マップ構築段階では、完全且つ包括的な環境マップを構築するために、目標環境の複数枚の画像を撮影する時に、目標環境における各位置に対して複数の異なる角度から撮影して、複数の視角からの複数枚の画像を取得することができ、それにより、複数の視角の特徴点を含む環境マップを構築する。それで、位置決め段階では、カメラの位置情報を取得するために、目標画像における特徴点と環境マップにおける複数の視角の特徴点の全てとのマッチングを実行する。
しかしながら、実際には、カメラは1つの視角からのみ目標環境を撮影し、他の視角で観察できるが現在の視角で観察できない特徴点は、カメラにとって無効なものである。したがって、目標画像における特徴点と環境マップにおける複数の視角の特徴点の全てとのマッチングを実行する方式は、カメラの実際の撮影状況に適合せず、無効な計算が多数生成され、不正確なマッチングの可能性が高まる。
本願実施例は、カメラの位置決め方法および装置、端末並びに記憶媒体を開示する。
端末が実行するカメラの位置決め方法を開示し、当該方法は、
目標環境の環境マップを取得するステップであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、ステップと、
カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するステップと、
前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするステップと、
前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、前記特徴点対応関係に従って前記カメラの位置情報を決定するステップであって、前記特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、ステップとを含む。
カメラの位置決め装置を開示し、当該装置は、
目標環境の環境マップを取得するように構成されるマップ取得モジュールであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、マップ取得モジュールと、
カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するように構成される位置予測モジュールと、
前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするように構成されるフィルタリングモジュールと、
前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、前記特徴点対応関係に従って前記カメラの位置情報を決定するように構成される位置決めモジュールであって、前記特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、位置決めモジュールとを備える。
端末を開示し、前記端末は、プロセッサおよびメモリを備え、前記メモリは、コンピュータ読み取り可能な命令を記憶し、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、前記プロセッサが、
目標環境の環境マップを取得するステップであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、ステップと、
カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するステップと、
前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするステップと、
前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、前記特徴点対応関係に従って前記カメラの位置情報を決定するステップであって、前記特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、ステップとを実行するようにすることを特徴とする。
不揮発性コンピュータ読み取り可能な記憶媒体を開示し、当該不揮発性コンピュータ読み取り可能な記憶媒体は、コンピュータ読み取り可能な命令を記憶し、前記コンピュータ読み取り可能な命令が1つまたは複数のプロセッサによって実行される時に、前記1つまたは複数のプロセッサが、
目標環境の環境マップを取得するステップであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、ステップと、
カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するステップと、
前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするステップと、
前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、前記特徴点対応関係に従って前記カメラの位置情報を決定するステップであって、前記特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、ステップとを実行するようにする。
本願の1つまたは複数の実施例の詳細は、以下の図面および説明で提案される。本願の他の特徴、目的および利点は、明細書、図面および特許請求の範囲から明らかになる。
本願実施例の技術的解決策をより明確に説明するために、以下は、実施例の説明で使用される図面について簡単に紹介する。以下に説明される図面は、本開示のいくつかの実施例に過ぎず、当業者にとっては、創造的な作業なしに、これらの図面にしたがって他の図面を得ることもできることは自明である。
本願実施例で開示された特徴点の概略図である。 本願実施例で開示された別の特徴点の概略図である。 本願実施例で開示された環境マップを構築する方法のフローチャートである。 本願実施例で開示された原画像における任意の1つの指定された特徴点において、当該指定された特徴点の位置情報および視角領域情報を取得するプロセスのステップのフローチャートである。 本願実施例で開示された環境マップを構築する操作のフローチャートである。 本願実施例で開示された目標環境の平面図である。 本願実施例で開示された目標環境の側面図である。 本願実施例で開示された目標環境の平面図である。 本願実施例で開示された目標環境の側面図である。 本願実施例で開示されたカメラの位置決め方法のフローチャートである。 本願実施例で開示されたカメラの位置決め装置の概略的な構造図である。 本願実施例で開示された端末の概略的な構造図である。
以下、本願実施例における図面を参照して、本願実施例における技術的解決策を明確且つ完全に説明するが、説明された実施例は、本願実施例の一部に過ぎず、実施例の全部ではないことは明らかであろう。本願実施例に基づき、創造的な努力なしに当業者が取得した他のすべての実施例は、本出願の保護範囲に含まれる。
従来の技術案では、特徴に基づくマップの構築およびカメラの位置決め方法が提案され、マップ構築段階では、画像間の特徴点をマッチングして環境マップを構築する。位置決め段階では、カメラを介して現在の画像を撮影し、現在の画像における特徴点と環境マップにおける特徴点とのマッチングを実行して、カメラの位置決めを実現する。
実際の応用では、同じ物体または同じシナリオを、異なる視角から観察すると異なる画面が見えるため、異なる特徴点を抽出する。したがって、環境マップの利用可能性を保証するために、同じ目標環境に対して、通常、複数の視角を含む環境マップを構築する必要がある。例えば、1つの廊下の環境マップを構築する時には、カメラを2つの反対する方向からそれぞれ1回ずつ回す必要がある。即ち、2つの異なる視角から当該廊下を観察し、それにより、構築した環境マップに、2つの異なる視角から観察した廊下の特徴点が含まれるように保証することができる。1つの方向からのみ廊下を観察すると、後続でカメラの位置決めを実行する時に、カメラが別の方向から通過する場合、観察される特徴点は異なり、以前に構築された環境マップに依存してカメラの位置決めを実行することは非常に難しく、最終的には位置決めの失敗につながる。
図1に示されたように、カメラが左側から三角形の物体を観察する時、特徴点1、特徴点2、特徴点3などのA領域を見ることができ、カメラが右側から当該三角形の物体を観察する時には、特徴点3、特徴点4、特徴点5などのC領域、および特徴点5、特徴点6などのB領域を見ることができる。左側で観察した三角形物体のみに従って環境マップを構築すると、環境マップが特徴点1、特徴点2および特徴点3のみを含み、特徴点4、特徴点5および特徴点6を含まないことになり、カメラが三角形物体の右側に位置する場合、位置決めを実現することができない。
環境マップの全体的な利用可能性を保証するために、カメラを介して異なる位置で目標環境を撮影すると、複数の視角の環境マップを構築することができるが、同時に、次の問題を引きおこす。カメラの位置決めを実行する時に、カメラは、実際に、1つの視角からのみ目標環境を撮影し、撮影する位置の多くの特徴点は現在の視角から撮影することができず、これらの特徴点はカメラにとって無効である。この場合、カメラで撮影された目標画像における特徴点と環境マップにおける全ての特徴点とのマッチングを実行すると、多数の無効な計算が生成し、不正確にマッチングする確率も増加させる。
図2に示されたように、カメラが三角形物体の右側に移動する場合、特徴点3、特徴点4および特徴点5のみが観察され、特徴点1、特徴点2および特徴点6もカメラの近くにあるため、当該6つの特徴点の全てがマッチング計算に参加し、計算量を増やす。さらに、カメラが実際に撮影した目標画像は特徴点1、特徴点2および特徴点6を含まないため、目標画像を三角形物体近くの環境マップとマッチングする場合、マッチング結果が、目標画像と三角形物体が一致しないというものである可能性が大きいため、カメラの位置決めにエラーが発生する。
従来の技術案で存在する技術的課題を解決するために、本願実施例は、カメラの位置決め方法を開示し、当該方法は、マップ構築段階で環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報を決定することができ、視角領域情報で特徴点を観察できる領域を示す。位置決め段階では、先ず、カメラの大体位置を予測し、各特徴点の視角領域情報に従って、カメラが現在観察できない特徴点をフィルタリングアウト(除外)し、次にカメラで撮影された目標画像における特徴点と環境マップにおける残りの特徴点とのマッチングを実行し、それにより、カメラの位置を決定するため、計算量を減少させ、且つマッチングするための特徴点がカメラの実際の撮影状況に適合すると、不正確にマッチングする可能性を低下させ、位置決めの精度を向上させるのに相当する。
本願で提案される「カメラ」は、画像収集機能を有する装置または機器を指し、画像を撮影するために使用されることができることを理解されたい。当該「カメラ」は、具体的に、画像を収集するために使用される専門的な画像収集機器であってもよく、端末によって構成された画像収集装置であってもよく、当該画像収集装置は、具体的に、カメラであってもよい。
本願実施例は、カメラを備える端末が位置決めを実行する様々なシナリオに適用されることができる。例えば、物品を配達するシナリオでは、ユーザが、クライアントおよびサーバを介して配達ロボットに物品の配達タスクを配信し、当該物品の配達タスクには、物品の積み込み場所及び配達場所が含まれる。配達ロボットは、物品の配達タスクを受信した後に、先ず、本願実施例で開示された方法を使用して位置決めを実行し、次に現在の位置に従って、物品の積み込み場所および配達場所に対して経路企画を実行することができる。先ず、現在の位置から積み込み場所までのルートを計画し、次に、積み込み場所から配達場所までのルートを計画した後、計画したルートに従って移動する。移動中に配達ロボットはリアルタイムの位置決めも実行し、計画したルートの通りに進むことを保証し、ルートから逸脱しないようにするために、移動速度や移動方向を制御する。
さらに例えば、仮想現実ゲームのシナリオでは、環境マップを構築することができ、当該環境マップは、実際のシーンのマップを含むだけでなく、仮想ペット、仮想クーポンなど、実際のシーンの特定の位置に追加された仮想要素をさらに含む。端末は、移動中に本願実施例で開示された方法を使用して位置決めを実行して、端末が現在位置する位置および端末の近くに設定された仮想要素を決定し、端末の表示インターフェースで現在撮影した実際のシーンの画像および近くに設定した仮想要素を表示し、仮想と現実を組み合わせた表示インターフェースを構成することができる。
もちろん、本願実施例は、他のシナリオに適用することもでき、ここでは繰り返して説明しない。
図3Aは、本願実施例で開示された環境マップを構築する方法のフローチャートであり、図4は、本願実施例で開示された環境マップを構築する操作のフローチャートである。当該環境マップを構築する方法の実行主体を端末として、環境マップを構築するプロセスについて例を挙げて説明する。図3Aおよび図4を参照すると、当該方法は、次のステップを含む。
ステップS301において、端末は、カメラが目標環境を撮影して取得した複数枚の原画像を取得する。
ここで、当該端末は、携帯電話、タブレットコンピュータ、ロボットおよびスマートカメラなどであってもよく、当該端末にはカメラが構成されて、カメラを介して現在位置する環境を撮影することができる。当該目標環境は、公園、建物、物品を格納する倉庫などの様々な環境であってもよい。目標環境の環境マップを構築する必要がある場合、端末は、目標環境内で移動し、カメラを介して目標環境を撮影することにより複数枚の原画像を取得することができる。
当該複数枚の原画像の数は、環境マップの精度要求に従って決定することができる。且つ、目標環境における同じ位置に対して、複数の異なる視角から当該位置を撮影して、複数の視角の原画像を取得することができる。
ステップS302において、端末は、複数枚の原画像に従って標準画像を決定し、カメラが標準画像を撮影する時のカメラの位置情報を決定する。
端末は、標準画像およびカメラが標準画像を撮影する時の位置情報を決定し、後続のプロセスでは、端末は、標準画像を基準として、他の原画像と標準画像との間の位置差に従ってカメラが他の原画像を撮影する時の位置情報を決定することができる。
一可能な実現形態において、当該端末は、カメラで撮影した最初の原画像を標準画像として決定し、カメラが標準画像を撮影する時のカメラの位置を原点位置として使用するなど、カメラが標準画像を撮影する時のカメラの位置情報を初期化して、環境座標系を作成することができ、即ち、標準画像の位置情報は
Figure 2021520540
である。その後に撮影した各原画像のすべては、標準画像との間の位置差に従って位置決め情報を決定することができる。さらに、カメラが移動し続けることに伴い、撮影された原画像と標準画像の類似点はますます少なくなることを考慮すれば、1枚の原画像を再選択して更新後の標準画像として使用して、カメラが当該更新後の標準画像を撮影する時の位置情報を決定することができ、その後に撮影された各原画像の全ては、更新後の標準画像との位置差に従って位置決め情報を決定することができる。
ステップS303において、標準画像以外の任意の1枚の原画像に対して、端末は、原画像における特徴点と標準画像における特徴点とのマッチングを実行して、特徴点対応関係を取得し、特徴点対応関係およびカメラが標準画像を撮影する時の位置情報に従って、カメラが原画像を撮影する時の位置情報を取得する。
端末は、複数枚の原画像を取得した後に、各原画像に対して特徴抽出を実行して、原画像内の各原画像における特徴点の位置情報を決定し、各特徴点の記述子を決定し、記述子を使用して特徴点について説明することができる。例えば、端末は、加速分割テストの特徴(Features from Accelerated Segment Test、FASTと略称)、コーナー検出アルゴリズム(Harrisと略称)、加速ロバスト特徴(Speed Up Robust Feature、SURFと略称)、バイナリのロバスト不変性スケーラブルなキーポイント(Binary Robust Invariant Scalable Keypoints、BRISKと略称)、特徴点検出アルゴリズム(ORBと略称)などのアルゴリズムを使用して特徴点を抽出することができる。
そして、標準画像を基準として、標準画像以外の任意の1枚の原画像のすべてに対して、原画像における特徴点と標準画像における特徴点とのマッチングを実行し、原画像における各特徴点および各特徴点が標準画像内で一致する特徴点に従って、特徴点対応関係を確立することができる。即ち、特徴点対応関係は、原画像における特徴点と標準画像における一致する特徴点との間の対応関係を含み、原画像と標準画像との間にペアで一致する特徴点ペアを生成することに相当する。
ここで、特徴点のマッチングを実行する時に、距離測定基準に従って、原画像における各特徴点を標準画像における各特徴点とそれぞれペアで組み合わせて、各ペアにおける2つの特徴点の記述子間の距離を計算することができ、原画像における各特徴点に対して、標準画像における当該特徴点距離と最も近い特徴点を、当該特徴点の一致する特徴点として選択する。または、標準画像内で、当該特徴点との距離が最も短く且つプリセットの距離より小さい特徴点を、当該特徴点のマッチングする特徴点として選択し、それにより、原画像における特徴点と標準画像におけるマッチングする特徴点との間の対応関係を確立する。
その後、当該特徴点対応関係および各特徴点の位置情報に従って、標準画像に対する原画像の位置変化情報を決定することができ、標準画像の位置情報および標準画像に対する原画像の位置変化情報に従って反復計算を実行すると、カメラが原画像を撮影する時のカメラの位置情報を取得することができる。
例えば、画像1を標準画像として決定し、位置情報は
Figure 2021520540
であり、その後、画像1との特徴点対応関係に従って、画像1に対する画像2の位置変化情報が
Figure 2021520540
であり、画像1に対する画像3の位置変化情報が
Figure 2021520540
であると決定した場合、画像2の位置情報
Figure 2021520540

Figure 2021520540
であることと、画像3の位置情報
Figure 2021520540

Figure 2021520540
であると決定することができる。この場合、画像3を2番目の標準画像に更新することができ、その後、画像3との特徴点対応関係に従って、画像3に対する画像4の位置変化情報が
Figure 2021520540
であると決定した場合、画像4の位置情報は
Figure 2021520540
である。
一可能な実現形態において、回転と平行移動(並進)行列の形でカメラが任意の1つの画像を撮影する時のカメラの位置情報を示すことができ、端末は、標準画像の回転と平行移動行列を取得し、当該特徴点対応関係および各特徴点の位置情報に従って、標準画像に対する原画像の回転と平行移動行列を決定することができる。ここで、当該回転と平行移動行列は、標準画像に対する原画像の回転パラメータおよび変位パラメータを含み、標準画像の回転と平行移動行列および標準画像に対する原画像の回転と平行移動行列に対して反復計算を実行して、原画像の回転と平行移動行列を取得することができ、当該回転と平行移動行列における変位パラメータは、即ちカメラが原画像を撮影する時のカメラの位置情報である。
別の可能な実施形態において、端末は、カメラが原画像を撮影する時のカメラの位置情報を取得した後に、原画像に存在する動的物体の特徴点またはマッチングできない特徴点など、原画像におけるノイズ特徴点を除去することもできる。
例えば、カメラは、原画像を撮影する時に、目標環境を撮影するだけでなく、目標環境における動的物体を撮影することもできる。したがって、目標環境の環境マップを正確に構築するために、端末は、撮影した複数枚の原画像を分析して、任意の2つの原画像間の位置変化情報を取得し、当該任意の2つの原画像における特定の特徴点の実際の位置変化情報と当該任意の2つの原画像の位置変化情報が一致しない場合、カメラが当該任意の2つの原画像を撮影するプロセスにおいて、特徴点が位置する物体は、目標環境内で移動したため、当該特徴点が、目標環境自体の特徴点ではなく、動的物体の特徴点であると決定することができ、この場合、当該特徴点をフィルタリングアウトする。
または、特定の特徴点が1枚の原画像で現れ、他の原画像では現れていない場合、当該特徴点に対してマッチングすることができないことを示し、1枚の原画像上の特徴点のみに従ってカメラの位置変化を予測することができず、カメラの位置決めを実現することもできないため、当該特徴点をフィルタリングアウトする。
ステップS304において、端末は、カメラが原画像を撮影する時のカメラの位置情報に従って、原画像における各特徴点の位置情報および各特徴点の視角領域情報を取得する。
図3Bを参照すると、原画像における任意の1つの指定された特徴点において、当該指定された特徴点の位置情報および視角領域情報を取得するプロセスは、次のステップS3041〜S3042を含み得る。
ステップS3041において、カメラが原画像を撮影する時のカメラの位置情報および原画像における指定された特徴点の深度に従って、指定された特徴点の位置情報を取得する。
ここで、原画像における指定された特徴点の深度は、原画像を撮影する時のカメラと、指定された特徴点との間の距離を示すために使用され、当該指定された特徴点とカメラとの間の相対位置関係を示し、カメラが原画像を撮影する時の位置情報を決定した後に、カメラの位置情報および原画像における指定された特徴点の深度に従って、指定された特徴点の位置情報を取得することができる。
ステップS3042において、指定された特徴点の位置情報および原画像における他の点の位置情報に従って、指定された特徴点のプリセットの範囲内で平面推定を実行して、指定された特徴点を通過する少なくとも1つの平面を決定する。
実際の環境でのことを考慮すれば、1つまたは複数の表面で完全な物体を構成し、各表面が配置されている位置は、物体表面上の各特徴点の観察可能な領域に影響を与える。したがって、端末は、指定された特徴点に対して観察可能な領域の分析を実行する場合、指定された特徴点の位置情報および原画像における他の位置情報をまとめて考慮して、指定された特徴点のプリセットの範囲内で平面推定を実行して、指定された特徴点を通過する少なくとも1つの平面を決定し、このとき、当該少なくとも1つの平面が、特徴点が位置する物体の少なくとも1つの表面であると見なすことができ、少なくとも1つの平面の位置に従って、指定された特徴点を観察できる視角領域を決定する。
ここで、当該プリセットの範囲を原画像において指定された特徴点が位置する位置に従って決定することができる。例えば、当該プリセットの範囲は、指定された特徴点を中心とし、且つ一定の距離を半径とする円形範囲であってもよく、または指定された特徴点を頂点として選択した複数の扇形領域で構成される範囲などであってもよい。
ここで、平面推定を実行する時に、グレースケールのエッジ線分割アルゴリズムまたは深度マップのエッジ線分割アルゴリズムなどを採用して、少なくとも1つの平面の平面パラメータを予測することができる。
一可能な実現形態において、端末は、指定された特徴点のプリセットの範囲内で少なくとも3つの特徴点を選択することができ、原画像において、指定された特徴点は、少なくとも3つの特徴点で構成された多角形の内側に位置し、当該少なくとも3つの特徴点は、環境マップ内で同じ平面上に位置するが同じ直線上に位置せず、指定された特徴点と、当該少なくとも3つの特徴点が位置する平面との間の距離を計算して、当該距離がプリセットの距離より小さいかどうかを判断する。指定された特徴点と当該平面との間の距離がプリセットの距離より小さい場合、指定された特徴点が当該少なくとも3つの特徴点が配置されている平面上に位置すると決定し、即ち、1つの平面のみが、指定された特徴点を通過する。
ここで、プリセットの範囲内で特徴点を選択する時に、指定された特徴点を頂点とする少なくとも3つの扇形領域を決定し、各扇形領域から1つの指定された特徴点と最も近い特徴点を選択し、それにより、少なくとも3つの特徴点を選択することができる。
図5は、本願実施例で開示された目標環境の平面図であり、図6は、本願実施例で開示された目標環境の側面図であり、図5および図6を参照すると、特徴点1は、視角分析を実行する特徴点であり、特徴点1の近くで特徴点2、特徴点3および特徴点4の3つの特徴点を選択し、当該3つの特徴点は、同じ直線上に位置せず、当該3つの特徴点に従って、1つの平面で、特徴点1と当該平面との間の距離が小さいことを予測することができ、したがって、特徴点1も当該平面上に位置すると決定することができる。
指定された特徴点と当該平面との間の距離がプリセットの距離より小さくない場合、指定された特徴点が当該少なくとも3つの特徴点が位置する平面上に位置しないと決定し、プリセットの範囲内でエッジ検出を実行して、指定された特徴点を頂点とする少なくとも1つのエッジ線を取得し、プリセットの範囲内の少なくとも4つの特徴点を取得し、指定された特徴点を少なくとも2つの平面の交点として使用し、少なくとも1つのエッジ線を任意の2つの平面の交線として使用し、少なくとも4つの特徴点を少なくとも2つの平面上の点として使用することにより、当該少なくとも2つの平面を取得する。
ここで、当該少なくとも4つの特徴点は、前に選択した少なくとも3つの特徴点を含むことができ、選択された他の少なくとも1つの特徴点を含むこともでき、当該少なくとも4つの特徴点が同じ直線上に位置せず且つ当該少なくとも4つの特徴点のいずれも当該少なくとも1つのエッジ線上に位置しないことを保証するのみで、当該指定された特徴点、当該少なくとも4つの特徴点および当該少なくとも1つのエッジ線に従って少なくとも2つの平面を決定することができる。
図7は、本願実施例で開示された目標環境の平面図であり、図8は、本願実施例で開示された目標環境の側面図であり、図7および図8を参照すると、特徴点2、特徴点3および特徴点4は同じ平面上に位置し、特徴点1と当該平面との間の距離は大きいため、特徴点1が当該平面上に位置しないことを決定することができ、この場合、特徴点1の近くで特徴点5をさらに選択し、エッジ検出を実行して、特徴点1を通過する1つのエッジ線を取得し、5つの特徴点の位置および検出して取得したエッジ線に従って、2つの平面を決定することができ、ここで、特徴点1、特徴点2および特徴点3は1つの平面上に位置し、特徴点1、特徴点4および特徴点5は別の平面上に位置する。
別の可能な実施形態において、端末に構成されたカメラが深度カメラである場合、当該深度カメラは、画像を撮影する時に、画像における各点の深度を取得することができ、指定された特徴点に対して、原画像における、指定された特徴点のプリセットの範囲内の複数の点の深度を取得し、取得した各点の原画像における深度に従って、目標環境における複数の特徴点の正確な位置を決定することができ、当該複数の特徴点の正確な位置に従って少なくとも1つの平面を構築して、指定された特徴点が少なくとも1つの平面の各々上に位置し、指定された特徴点のプリセットの範囲内の点が少なくとも1つの平面のうちの任意の1つまたは任意の2つの平面上に位置するようにする。ここで、プリセットの範囲内の複数の点は、原画像から抽出された特徴点を含むことができ、特徴点以外の他の点を含むこともできる。
ステップS3043において、少なくとも1つの平面を介して、目標環境を分割して取得した第1連通領域および第2連通領域を決定し、第1連通領域および第2連通領域における前記カメラが位置する領域を、指定された特徴点を観察できる視角領域として決定し、視角領域情報を取得する。
当該少なくとも1つの平面のうちの2つまたは複数の平面が交差する場合、例えば、1つの平面が、目標環境を上側と下側の2つの連通領域に分割し、2つの平面が、目標環境に対して二面角の内側および二面角の外側の2つの連通領域に分割するなど、目標環境を、第1連通領域および第2連通領域と称する2つの連通領域に分割することができる。3つの平面が目標環境を2つの連通領域に分割してもよい。
第1連通領域および第2連通領域を決定した後に、カメラが原画像を撮影する時の位置情報に従って、カメラが第1連通領域に位置するか第2連通領域に位置するかを判断し、それにより、カメラが位置する領域を、指定された特徴点を観察できる視角領域として決定し、カメラが位置する領域情報を、指定された特徴点の視角領域情報として使用することができる。
例えば、図6を参照すると、特徴点1は平面上に位置し、観察できる角度は180度であり、カメラが平面の上側領域に位置する場合、特徴点1を観察することができるが、平面の下側領域に位置する場合、特徴点1を観察することができない。さらに例えば、図8を参照すると、特徴点1は、2つの平面の交線上に位置し、点線で2つの平面の法線ベクトルの中心ベクトルを示すと、特徴点1の観察できる領域は、中心ベクトルを中心とし且つ角度がwである領域であり、カメラが当該領域に位置する場合、特徴点1を観察することができ、当該領域に位置しない場合、特徴点1を観察することができない。
ステップS305において、端末は、複数枚の原画像における各特徴点の位置情報および各特徴点の視角領域情報に従って、環境マップを構築し、環境マップは、複数の特徴点の位置情報および当該複数の特徴点の視角領域情報を含む。
端末は、後続で、カメラが現在撮影した目標画像における特徴点と環境マップにおける特徴点とのマッチングを実行して、一致結果に従って、カメラの位置を決定し、カメラの位置決めを実現することができる。
一可能な実現形態において、端末が各原画像の分析を完了して、特徴点の位置情報および視角領域情報を取得する場合、異なる画像におけるマッチングする特徴点の位置情報および視角領域情報を最適化して、全般的に一致する環境マップを取得することもできる。例えば、特定の画像における特徴点の位置情報と、他の複数枚の画像における一致する特徴点の位置情報に偏差がある場合、異なる画像間の位置変化情報と、異なる画像における一致する特徴点間の位置変化情報が一致することを保証するために、当該画像における特徴点の位置情報を補正することできる。
本願実施例で開示された方法は、カメラが目標環境を撮影して取得した複数枚の原画像に従って、各原画像の位置情報を取得し、各原画像の位置情報に従って、各特徴点の位置情報および各特徴点の視角領域情報を取得することにより、複数の視角の環境マップを構築するだけでなく、視角領域情報で特徴点を観察できる領域を示すことができ、後続では、カメラの予測位置情報および特徴点の視角領域情報に従って、カメラが観察できない特徴点をフィルタリングアウトすることにより、計算量が減少され、位置決めの精度が向上される。
図9は、本願実施例で開示されたカメラの位置決め方法のフローチャートであり、当該カメラの位置決め方法の実行主体を端末として、カメラが目標環境内で移動する時に位置決めを実行するプロセスについて例を挙げて説明する。図9を参照すると、当該方法は、次のステップを含む。
ステップS901において、端末が、目標環境の環境マップを取得する。
ここで、当該環境マップは、目標環境における複数の特徴点の位置情報および当該複数の特徴点の視角領域情報を含み、当該特徴点の視角領域情報は、当該目標環境内で当該特徴点を観察できる視角領域を示す。
環境マップを構築する具体的なプロセスは、上述の図3Aに示された実施例を参照することができ、本願実施例は、ここで繰り返して説明しない。
ステップS902において、端末が、カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得する。
本願実施例では、当該端末にはカメラが構成され、端末は、目標環境内で移動するプロセスにおいて、カメラを介して現在位置する目標環境を撮影し、1枚または複数枚の画像を取得することができる。
ここで、履歴画像は、撮影時間が当該目標画像の撮影時間より前の撮影時間の画像である。本願実施例において、カメラが履歴画像を撮影する時の位置情報は、具体的に、カメラが特定の1枚の履歴画像を撮影する時の位置情報(カメラが目標画像を撮影する前に撮影した前の1枚の画像など)であってもよく、カメラが撮影した複数枚の履歴画像の位置情報に従って決定した総合的な位置情報であってもよい。本願実施例で開示された技術案において、カメラが履歴画像を撮影する時の位置情報に従って、カメラが目標画像を撮影する位置を予測する必要があるため、カメラが前の1枚の画像を撮影する時の位置情報または前のいくつかの履歴画像を撮影する時の位置情報に従って予測し、予測の精度が高いことを理解することができる。
一実施例において、端末は、現在位置決めを実行する時に、カメラで現在撮影した画像を目標画像と称し、端末は、まず、カメラで目標画像の前に撮影した前の1枚の画像の位置情報に従って、カメラ(端末)の現在の位置を予測し、カメラの予測位置情報を取得し、この場合、端末は、しばらく、目標画像の特徴点を、環境マップにおける特徴点とマッチングしない。一実施例において、当該ステップS902は、ステップA、ステップBおよびステップCの任意の1つを含み得る。
ステップAにおいて、カメラが目標画像前の1枚の画像を撮影する時の位置情報およびカメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔に従って、等速モデルを使用して、カメラの予測位置情報を取得する。
具体的に、カメラは、固定した時間間隔を設定し、当該時間間隔ごとに1枚の画像を撮影し、それにより、複数枚の画像を撮影して取得することができる。ここで、時間的に隣接する任意の2枚の画像は、カメラで撮影された複数枚の画像のうち、時間的に隣接するいずれか2枚の画像を指し、当該2枚の画像の時間間隔は、カメラが設定した撮影の時間間隔と等しい。カメラが一定の速度で移動すると仮定する場合、等速モデルを取得することができ、当該等速モデルは、カメラが固定速度で移動するように設定し、当該固定速度は、端末によってデフォルトで設定するか、一般の人の歩行速度に従って設定することができる。そうすると、端末は、カメラで前の1枚の画像を撮影する時の位置情報を取得した後に、当該時間間隔に従って、等速モデルを使用して、当該時間間隔内のカメラの変位量を取得し、前の1枚の画像を撮影する時の位置情報および当該変位量に従って、カメラの予測位置情報を取得する。
ステップBにおいて、カメラが目標画像の前の1枚の画像を撮影する時の位置情報、カメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔およびセンサを介して検出した加速度に従って、変速モデルを使用して、カメラの予測位置情報を取得する。
カメラは、固定の時間間隔を設定して、当該時間間隔ごとに1枚の画像を撮影することにより、複数枚の画像を撮影して取得することができる。ここで、時間的に隣接する任意の2枚の画像は、カメラで撮影された複数枚の画像のうち、時間的に隣接する任意の2枚の画像を指し、当該2枚の画像の時間間隔は、カメラが設定した撮影の時間間隔と等しい。カメラが変速で移動すると仮定する場合、変速モデルを取得することができ、当該変速モデルは、カメラが一定の加速度に応じて移動するように設定して、入力された初期速度、加速度および時間間隔に応じて、当該時間間隔内のカメラの変位量を計算することができる。そうすると、カメラの移動に伴い、端末は、カメラで前の1枚の画像を撮影する時の位置情報および初期速度を取得した後に、構成されたセンサを介して加速度を検出し、カメラが前の1枚の画像を撮影する時の初期速度および加速度に従って、変速モデルを使用して、当該時間間隔内のカメラの変位量を取得し、カメラが前の1枚の画像を撮影する時の位置情報および当該変位量に従って、カメラの予測位置情報を取得する。
ステップCにおいて、カメラが前の1枚の画像を撮影する時から目標画像を撮影する時までのプロセスにおいて、端末は、前の1枚の画像における特徴点を追跡することにより、前の1枚の画像に対する目標画像の位置変化情報を取得し、カメラが前の1枚の画像を撮影する時の位置情報および前の1枚の画像に対する目標画像の位置変化情報に従って、カメラの予測位置情報を取得する。
カメラが前の1枚の画像を撮影する時に、カメラが前の1枚の画像を撮影する時の位置情報を取得し、且つカメラが前の1枚の画像を撮影する時から目標画像を撮影する時までのプロセスにおいて、端末は、前の1枚の画像における特徴点を追跡し、特徴点の移動情報に従って、前の1枚の画像における目標画像の位置変化情報を取得することができ、カメラが前の1枚の画像を撮影する時の位置情報および前の1枚の画像に対する目標画像の位置変化情報に対して反復計算して、カメラの予測位置情報を取得する。
ここで、追跡プロセスにおいて、端末は、オプティカルフローマッチングアルゴリズムを使用して特徴点の移動情報を取得し、当該移動情報に従って、前の1枚の画像に対する目標画像の位置情報を取得することができる。例えば、端末は、オプティカルフローマッチングアルゴリズムを使用して、複数の特徴点の移動情報を取得し、移動情報に従って、前の1枚の画像における当該複数の特徴点の位置情報および目標画像における当該複数の特徴点の位置情報を決定し、それにより、前の1枚の画像に対する目標画像の回転と平行移動行列を決定することができ、当該回転と平行移動行列における変位パラメータは、即ち、前の1枚の画像に対する目標画像の位置変化情報である。または端末は、他の追跡アルゴリズムを使用して、特徴点を追跡することもできる。
さらに、カメラを起動した時に、端末は、カメラがその前に前の1枚の画像を撮影する時の位置情報を取得せず、または端末の位置変化が大きすぎると、目標画像と、その前に撮影した前の1枚の画像との差が大きすぎるようになるため、両者には、一致する特徴点がない。当該2つの状況では、目標画像の前に撮影した前の1枚の画像におけるカメラの位置情報に従って目標画像の予測位置情報を取得することができなくなり、この場合は再位置決めを実行し、目標画像の特徴点を環境マップにおける複数の特徴点とそれぞれマッチングし、目標画像の特徴点と最も一致する特徴点を選択し、選択された一致する特徴点が位置する位置に従って、目標画像の予測位置情報を最初に決定することができる。
特徴点のマッチングを実行する時に、距離測定基準に従って、目標画像における各特徴点を環境マップにおける各特徴点とそれぞれペアで組み合わせて、各ペアにおける2つの特徴点の記述子間の距離を計算することができ、距離が小さいほど、2つの特徴点の記述子の差も小さく、同じ特徴点を有する可能性が高まる。目標画像における各特徴点において、環境マップ内で当該特徴点と距離が最も近い特徴点を、当該特徴点の一致する特徴点として選択する。または、環境マップにおける当該特徴点との距離が最も短く且つプリセットの距離より小さい特徴点を、当該特徴点の一致する特徴点として選択し、目標画像における複数の特徴点に対応する一致する特徴点の位置情報に従って、カメラの現在の予測位置情報を取得することができる。
一可能な実現形態において、端末は、外部センサによって検出された地理情報を通じて、カメラが配置されている地理的領域を決定し、特徴のマッチングを1つの比較的小さな地理的領域に限定してから、カメラが配置されている地理的領域で特徴点のマッチングを実行することにより、カメラの当前の予測位置情報を取得することができる。ここで、当該外部センサは、端末に接続するワイヤレス・フィディリティ(Wireless Fidelity、WIFIと略称)機器、超広帯域(Ultra Wideband、UWBと略称)機器などであってもよく、外部センサが、その自体が位置する位置に従って地理位置情報を構成し、端末の移動に伴い、端末が外部センサの近くに位置する場合、外部センサに接続し、外部センサによって送信された地理位置情報を受信し、地理位置情報に従って、現在位置する地理的領域を決定することができる。
一実施例において、端末が、他の履歴画像を撮影する時の位置情報(撮影目標画像の前にカメラで撮影した最後の2番目の画像など)に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得する具体的な実現形態は、前述した端末が、前の1枚の画像の位置情報に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得するステップの具体的な説明を参照することができ、ここでは繰り返して説明しない。ステップS903において、端末は、カメラの予測位置情報および環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、カメラが現在観察できない特徴点をフィルタリングアウトする。
特徴点の視角領域情報は、当該特徴点を観察できる視角領域を示し、カメラが特定の特徴点の視角領域内に位置する場合、当該特徴点を観察することができ、撮影した目標画像には、当該特徴点が含まれる可能性があり、カメラが特定の特徴点の視角領域に位置しない場合、当該特徴点とカメラの位置が遠く離れていなくても、カメラは、当該特徴点を観察することができず、撮影された目標画像にも当該特徴点が含まれない。
したがって、計算量を減少させるために、環境マップにおける各特徴点に対して、端末は、カメラの予測位置情報および当該特徴点の視角領域情報に従って、カメラが特徴点の視角領域内に位置するかどうかを判断して、カメラが特徴点の視角領域内に位置すると決定した場合、当該特徴点を保留し、カメラが特徴点の視角領域内に位置しない場合、当該特徴点をフィルタリングアウトする。
上述の方式を使用して、環境マップにおけるカメラが現在観察できない特徴点をフィルタリングアウトし、カメラが現在観察できる特徴点のみを保留することができる。
ステップS904において、端末は、目標画像における特徴点と環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、特徴点対応関係に従って、カメラの位置情報を取得し、特徴点対応関係は、目標画像における特徴点と、一致した特徴点との間の対応関係を含む。
端末は、目標画像における各特徴点の記述子、および環境マップのフィルタリングアウト後の残りの各特徴点の記述子を取得し、目標画像における各特徴点を、環境マップのフィルタリングアウト後の残りの特徴点とそれぞれペアで組み合わせて、各ペアにおける2つの特徴点の記述子間の距離を計算することができ、距離が小さいほど、2つの特徴点の記述子の差も小さく、同じ特徴点を有する可能性が高まる。目標画像における各特徴点において、環境マップ内で当該特徴点と距離が最も近い特徴点を、マッチングする特徴点として選択する。または、環境マップ内で、当該特徴点との距離が最も短く且つプリセットの距離より小さい特徴点を、マッチングする特徴点として選択し、それにより、特徴点対応関係を確立する。
その後、当該特徴点対応関係および環境マップの残りの各特徴点の位置情報に従って、カメラの位置情報を取得することができ、当該位置情報は、目標環境におけるカメラの現在の位置情報を示す。ここで、n個の特徴点の透視(PnPと略称)アルゴリズムまたは他のアルゴリズムを使用してカメラの位置情報を取得することができる。
カメラの位置情報を取得した後に、環境マップにおける位置を決定し、それにより、当該位置に基づいて対応する操作を実行することができる。例えば、物品を配達するシナリオでは、配達ロボットの現在の位置に従って、計画したルートから逸脱しているかどうかを判断し、配達ロボットが計画したルートから逸脱すると、配達ロボットの現在の位置および配達場に従って、ルートを再計画することができる。または、仮想現実ゲームのシナリオでは、端末の位置を決定した後に、ユーザと仮想要素とのインタラクションのために、端末の表示インターフェースで当該位置に設定された仮想要素を表示することができる。
本願実施例で開示された方法は、目標環境の環境マップを取得することにより、当該環境マップには、複数の特徴点の位置情報および当該複数の特徴点の視角領域情報が含まれ、視角領域情報は、特徴点を観察できる視角領域を示す。まず、カメラが目標画像を撮影する前に前の1枚の画像を撮影する時の位置情報に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得し、カメラの予測位置情報、環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、カメラが現在観察できない特徴点をフィルタリングアウトし、目標画像における特徴点を環境マップのフィルタリングアウト後の残りの特徴点とマッチングして、特徴点対応関係を取得し、それにより、カメラの位置情報を決定し、カメラの位置決めを実現して、計算量を減少させ、計算速度も速くなり、マッチングに使用される特徴点がカメラの実際の撮影状況に適合すると、マッチングが間違う可能性を低下させ、位置決めの精度およびマップ追跡のロバスト性を向上させるのに相当する。
本願実施例は、ビジョン特徴視角領域に基づくSLAM方法を開示し、位置決めとマッピングのロバスト性を大幅に向上させ、カメラの位置決めに確実な情報を提供し、ロボットナビゲーション、ゲームキャラクターの位置決め、ドローンの位置決め、水中ロボットの位置決めなどの様々なシナリオで幅広く適用され、システム全体の安定性が高まり、計算量が減少され、ハードウェア構成の要件が減らされて、コストが削減される。
図10は、本願実施例で開示されたカメラの位置決め装置の概略的な構造図である。図10を参照すると、当該装置は、
目標環境の環境マップを取得するように構成されるマップ取得モジュール1001であって、環境マップは、目標環境における複数の特徴点の位置情報および複数の特徴点の視角領域情報を含み、特徴点の視角領域情報は、目標環境内で特徴点を観察できる視角領域を示す、マップ取得モジュール1001と、
カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に従って、カメラが目標画像を撮影する時の位置を予測して、カメラの予測位置情報を取得するように構成される位置予測モジュール1002と、カメラの予測位置情報、環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に従って、環境マップにおける、カメラが現在観察できない特徴点をフィルタリングアウトするように構成されるフィルタリングモジュール1003と、目標画像における特徴点と環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、特徴点対応関係に従ってカメラの位置情報を決定するように構成される位置決めモジュール1004であって、特徴点対応関係は、目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、位置決めモジュールとを備える。
一実施例において、位置予測モジュール1002は、
カメラが前の1枚の画像を撮影する時の位置情報およびカメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔に従って、等速モデルを使用して、カメラの予測位置情報を取得するように構成される第1予測ユニット、または、
カメラが前の1枚の画像を撮影する時の位置情報、カメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔およびセンサを介して検出した加速度に従って、変速モデルを使用して、カメラの予測位置情報を取得するように構成される第2予測ユニット、または、
カメラが前の1枚の画像を撮影する時から目標画像を撮影する時までのプロセスにおいて、前の1枚の画像における特徴点を追跡することにより、前の1枚の画像に対する目標画像の位置変化情報を取得し、カメラが前の1枚の画像を撮影する時の位置情報および前の1枚の画像に対する目標画像の位置変化情報に従って、カメラの予測位置情報を取得するように構成される第3予測ユニットを備える。
一実施例において、当該カメラの位置決め装置は、
カメラを起動した場合に、またはカメラが前の1枚の画像を撮影した時の位置情報に従ってカメラの予測位置情報を取得することができない場合に、目標画像の特徴点と環境マップにおける複数の特徴点とのマッチングを実行して、カメラの予測位置情報を取得するように構成される再位置決めモジュールをさらに備える。
一実施例において、フィルタリングモジュール1003は、さらに、環境マップにおける各特徴点に対して、カメラの予測位置情報に従ってカメラが特徴点の視角領域内に位置しないと決定する場合に、特徴点をフィルタリングアウトするように構成される。
一実施例において、マップ取得モジュールは、
カメラが目標環境を撮影して取得した複数枚の原画像を取得し、複数枚の原画像に従って標準画像を決定し、カメラが前記標準画像を撮影する時の位置情報を決定するように構成される標準決定ユニットと、
標準画像以外の任意の1枚の原画像に対して、原画像における特徴点と標準画像における特徴点とのマッチングを実行して、特徴点対応関係を取得し、特徴点対応関係およびカメラが前記標準画像を撮影する時の位置情報に従って、カメラが原画像を撮影する時の位置情報を取得するように構成される位置取得ユニットであって、特徴点対応関係は、原画像における特徴点と、標準画像においてマッチングする特徴点との間の対応関係を含む、位置取得ユニットと、
カメラが原画像を撮影する時の位置情報に従って、原画像における各特徴点の位置情報および各特徴点の視角領域情報を取得するように構成される情報取得ユニットと、
複数枚の原画像における各特徴点の位置情報および各特徴点の視角領域情報に従って、環境マップを構築するように構成されるマップ構築ユニットとを備える。
一実施例において、情報取得ユニットは、さらに、原画像における任意の1つの指定された特徴点に対して、カメラが原画像を撮影する時の位置情報および原画像における指定された特徴点の深度に従って、指定された特徴点の位置情報を取得し、指定された特徴点の位置情報および原画像における他の点の位置情報に従って、指定された特徴点のプリセットの範囲内で平面推定を実行して、指定された特徴点を通過する少なくとも1つの平面を決定し、少なくとも1つの平面を介して、目標環境を分割して取得した第1連通領域および第2連通領域を決定し、第1連通領域および第2連通領域における前記カメラが位置する領域を、指定された特徴点を観察できる視角領域として決定し、視角領域情報を取得するように構成される。
一実施例において、情報取得ユニットは、さらに、
指定された特徴点のプリセットの範囲内で少なくとも3つの特徴点を選択し、指定された特徴点は、少なくとも3つの特徴点で構成される多角形の内側に位置し、少なくとも3つの特徴点は、環境マップ内で同じ平面上に位置するが同じ直線上に位置せず、指定された特徴点と、少なくとも3つの特徴点が位置する平面との間の距離がプリセットの距離より小さい場合、指定された特徴点が、少なくとも3つの特徴点が配置されている平面上に位置すると決定するように構成される。
一実施例において、情報取得ユニットは、さらに、指定された特徴点と、少なくとも3つの特徴点が位置する平面との間の距離がプリセットの距離より小さくない場合に、プリセットの範囲内でエッジ検出を実行して、指定された特徴点を頂点とする少なくとも1つのエッジ線を取得し、プリセットの範囲内の少なくとも4つの特徴点を取得し、指定された特徴点を少なくとも2つの平面の交点として使用し、少なくとも1つのエッジ線を任意の2つの平面の交線として使用し、少なくとも4つの特徴点を少なくとも2つの平面上の点として使用して、少なくとも2つの平面を取得するように構成される。
例示的に、カメラは深度カメラであり、情報取得ユニットは、さらに、原画像における、指定された特徴点のプリセットの範囲内の複数の点の深度を取得し、原画像における各点の深度に従って、少なくとも1つの平面を決定し、指定された特徴点は少なくとも1つの平面の各々上に位置し、指定された特徴点のプリセットの範囲内の点は、少なくとも1つの平面のうちの任意の1つまたは2つの平面上に位置するように構成される。
上述の実施例で開示されたカメラの位置決め装置がカメラの位置決めを実行する場合、上記の各機能モジュールの分割のみを例に挙げて説明したが、実際の応用では、必要に応じて上述の機能を異なる機能モジュールにより割り当てられて完了してもよく、即ち、端末の内部構造を異なる機能モジュールに分割して、上述の機能のすべてまたは一部を完了することができることに留意されたい。なお、上述の実施例で開示されたカメラの位置決め装置は、カメラの位置決め方法の実施例と同じ構想に属し、その具体的な実現プロセスについては方法の実施例を参照し、ここでは繰り返して説明しない。
図11は、本願の一例示的な実施例で開示された端末1100の構造のブロック図を示す。当該端末1100は、携帯式移動端末、例えば、スマトフォン、タブレットコンピュータ、動画エキスパートグループオーディオレイヤー3(Moving Picture Experts Group Audio Layer III、MP3と略称)プレーヤー、動画エキスパートグループオーディオレイヤー4(Moving Picture Experts Group Audio Layer IV、MP4と略称)プレーヤー、ラップトップコンピュータ、デスクトップコンピュータ、ヘッドマウント機器、または他の任意のスマート端末などであってもよい。端末1100は、ユーザ機器、携帯式端末、ラップトップ端末、デスクトップ端末などの他の名称で称されることもできる。
通常、端末1100は、プロセッサ1101およびメモリ1102を備える。
プロセッサ1101は、4コアプロセッサ、5コアプロセッサなどの1つまたは複数の処理コアを備えることができる。プロセッサ1101は、デジタル信号プロセッサ(Digital Signal Processing、DSPと略称)、フィールドプログラマブルゲートアレイ(Field−Programmable Gate Array、FPGAと略称)、プログラマブルロジックアレイ(Programmable Logic Array、PLAと略称)のうちの少なくとも1つのハードウェアの形式を使用して実現することができる。プロセッサ1101は、メインプロセッサおよびセカンダリプロセッサを備えることもでき、メインプロセッサは、アウェイク状態でデータを処理するために使用されるプロセッサであり、中央処理装置(Central Processing Unit、CPUと略称)とも称し、セカンダリプロセッサは、スタンバイ状態でデータを処理するために使用される低電力プロセッサである。いくつかの実施例において、プロセッサ1101は、グラフィックスプロセッサ(Graphics Processing Unit、GPUと略称)と統合されてもよく、GPUは、ディスプレイ画面に表示される必要があるコンテンツをレンダリングおよび描画するために使用される。いくつかの実施例において、プロセッサ1101は、人工知能(Artificial Intelligence、AIと略称)プロセッサをさらに備えることができ、当該AIプロセッサは、機械学習に関する計算操作を処理するために使用される。
メモリ1102は、1つまたは複数のコンピュータ読み取り可能な記憶媒体を含み得、当該コンピュータ読み取り可能な記憶媒体は非一時的である。メモリ1102は、1つまたは複数の磁気ディスクメモリ、フラッシュメモリなどの、高速ランダムアクセスメモリ、および不揮発性メモリを備えることもできる。いくつかの実施例において、本願の方法実施例で開示されたカメラの位置決め方法を実現するために、メモリ1102の非一時的なコンピュータ読み取り可能な記憶媒体は、少なくとも1つの命令を記憶するために使用され、当該少なくとも1つの命令は、プロセッサ1101によって実行される。
いくつかの実施例において、端末1100は、例示的に周辺機器インターフェース1103および少なくとも1つの周辺機器を備えることもできる。プロセッサ1101、メモリ1102および周辺機器インターフェース1103間は、バスまたは信号線を介して接続することができる。各周辺機器は、バス、信号線または回路基板および周辺機器インターフェース1103を介して接続されることができる。具体的に、周辺機器は、無線周波数回路1104、タッチスクリーン1105、カメラコンポーネント1106、オーディオ回路1107、測位コンポーネント1108および電源1109のうちの少なくとも1つを含む。
周辺機器インターフェース1103は、入力/出力(Input /Output、I/Oと略称)に関する少なくとも1つの周辺機器と、プロセッサ1101およびメモリ1102との接続を実行するように構成されることができる。いくつかの実施例において、プロセッサ1101、メモリ1102および周辺機器インターフェース1103は、同じチップまたは回路基板に統合され、いくつかの他の実施例において、プロセッサ1101、メモリ1102および周辺機器インターフェース1103における任意の1つまたは2つは、独立したチップまたは回路基板で実現し、本実施例は、これらに対して限定しない。
無線周波数回路1104は、電磁信号とも称される無線周波数(Radio Frequency、RFと略称)信号を送信および受信するために使用される。無線周波数回路1104は、電磁信号を介して通信ネットワークおよび他の通信機器と通信する。無線周波数回路1104は、電気信号を送信用の電磁信号に変換し、または、受信した電磁信号を電気信号に変換する。例示的に、無線周波数回路1104は、アンテナシステム、RFトランシーバ、1つまたは複数の増幅器、チューナ、発振器、デジタルシグナルプロセッサ、コーデックチップセット、ユーザIDモジュールカードなどを備える無線周波数回路1104は、少なくとも1つの無線通信プロトコルを介して他の端末と通信することができる。当該無線通信プロトコルは、メトロポリタンエリアネットワーク、各世代の移動通信ネットワーク(2G、3G、4Gおよび5G)、ワイヤレスメトロポリタンエリアネットワークおよび/またはWiFi(登録商標)ネットワークを含むが、これらに限定されない。いくつかの実施例において、無線周波数回路1104は、近距離無線通信(Near Field Communication、NFCと略称)に関する回路をさらに備えるが、本願は、これらに対して限定しない。
ディスプレイスクリーン1105は、ユーザインターフェイス(User Interface、UIと略称)を表示するように構成される。当該UIは、グラフィック、テキスト、アイコン、ビデオ、およびそれらの任意の組み合わせを含むことができる。ディスプレイスクリーン1105がタッチスクリーンである場合、ディスプレイスクリーン1105は、ディスプレイスクリーン1105の表面または表面の上側のタッチ信号を取得する機能を備える。当該タッチ信号は、処理のための制御信号としてプロセッサ1101に入力されてもよい。このとき、ディスプレイスクリーン1105は、ソフトボタンおよび/またはソフトキーボードとも称する、仮想ボタンおよび/または仮想キーボードを提供するように構成される。いくつかの実施例において、ディスプレイスクリーン1105は端末1100のフロントパネルに配置された1つのディスプレイスクリーン1105であってもよく、別のいくつかの実施例において、ディスプレイスクリーン1105は、端末1100の異なる表面にそれぞれ配置された、または折り畳み可能な形状に設計された少なくとも2つのディスプレイスクリーン1105であってもよく、さらにいくつかの実施例において、ディスプレイスクリーン1105は、端末1100の曲面または折り畳み面に配置されたフレキシブルディスプレイスクリーン(Flexible display screen)であってもよい。さらに、ディスプレイスクリーン1105は、長方形以外の不規則な形、即ち、特徴な形状のスクリーンに設定されてもよい。ディスプレイスクリーン1105は、液晶ディスプレイ(Liquid Crystal Display、LCDと略称)、有機発光ダイオード(Organic Light−Emitting Diode、OLEDと略称)などの素材で作られることができる。
カメラコンポーネント1106は、画像またはビデオを撮影するように構成される。例示的に、カメラコンポーネント1106は、フロントカメラおよびリアカメラを備える。通常、フロントカメラは、端末のフロントパネルに配置され、リアカメラは、端末の背面に配置される。いくつかの実施例において、リアカメラは少なくとも2つであり、それぞれ、メインカメラ、被写界深度カメラ、広角カメラ、望遠カメラのうちの任意の1つであり、メインカメラと被写界深度カメラの融合で背景ぼかし機能を実現し、メインカメラおよび望遠カメラの融合でパノラマ撮影および仮想現実(Virtual Reality、VRと略称)撮影機能または他の融合撮影機能を実現する。いくつかの実施例において、カメラコンポーネント1106は、フラッシュをさらに備える。フラッシュは、単色温度フラッシュであってもよく、二色温度フラッシュであってもよい。二色温度フラッシュは、ウォームフラッシュとコールドフラッシュの組み合わせを指し、異なる色温度での光線の補正に使用されることができる。
オーディオ回路1107は、マイクロフォンおよびスピーカを含み得る。マイクロフォンは、ユーザと環境の音波を取得し、音声通信を実現するために、音波を電気信号に変換してプロセッサ1101に入力して処理し、または無線周波数回路1104に入力するように構成される。ステレオ取得またはノイズ低減を目的とし、マイクロフォンは複数であってもよく、それぞれ、端末1100の異なる部位に配置されることができる。マイクロフォンは、マイクロフォンアレイまたは全方位型マイクロフォンであってもよい。スピーカは、プロセッサ1101または無線周波数回路1104からの電気信号を音波に変換するように構成される。スピーカは、従来のフィルムスピーカであってもよく、圧電セラミックスピーカであってもよい。スピーカが圧電セラミックスピーカである場合、電気信号を人間の可聴音波に変換してもよく、距離測定などの目的で電気信号を人間の不可聴音波に変換してもよい。いくつかの実施例において、オーディオ回路1107は、ヘッドフォンジャックをさらに含み得る。
測位コンポーネント1108は、ナビゲーションまたは位置ベースのサービス(Location Based Service、LBSと略称)を実現するために、端末1100の現在の地理的位置を位置決めするように構成される。測位コンポーネント1108は、アメリカの全地球測位システム(Global Positioning System、GPSと略称)であってもよく、中国の北斗衛星測位システム、ロシアのグロナスシステムまたは欧州連合のガリレオシステムに基づく測位コンポーネントであってもよい。
電源1109は、端末1100における各コンポーネントに電力を供給するように構成される。電源1109は、交流、直流、使い捨て電池、または充電式電池であり得る。電源1109が充電式電池を備える場合、当該充電式電池は、有線充電または無線充電をサポートすることができる。当該充電式電池は、高速充電技術をサポートするように構成されることできある。
いくつかの実施例において、端末1100は、1つまたは複数のセンサ1110をさらに備える。当該1つまたは複数のセンサ1110は、加速度センサ1111、ジャイロセンサ1112、圧力センサ1113、指紋センサ1114、光学センサ1115および近接センサ1116を含むが、これらに限定されない。
加速度センサ1111は、端末1100によって確立された座標系の3つの座標軸上の加速度の大きさを検出することができる。例えば、加速度センサ1111は、3つの座標軸上の重力加速度の成分を検出するために使用されることができる。プロセッサ1101は、加速度センサ1111で取得された重力加速度信号に従って、ランドスケープビューまたはポートレートビューをユーザインターフェイスで表示するために、タッチスクリーン1105を制御することができる。加速度センサ1111は、ゲームまたはユーザの運動データの取得に使用されることもできる。
ジャイロセンサ1112は、端末1100の本体方向および回転角度を検出することができ、ジャイロセンサ1112は、加速度センサ1111と協働して、端末1100に対するユーザの3D動作を取得することができる。プロセッサ1101は、ジャイロセンサ1112で取得されたデータに従って、モーションセンシング(ユーザの傾斜操作に応じてUIを変換させるなど)、撮影中の画像の手振れ補正、ゲーム制御および慣性航法などの機能を実現することができる。
圧力センサ1113は、端末1100のサイドフレームおよび/またはタッチスクリーン1105の下層に配置されることができる。圧力センサ1113が端末1100のサイドフレームに配置される場合、端末1100に対するユーザのホールディング信号を検出し、プロセッサ1101によって、圧力センサ1113によって取得されたホールディング信号に従って、右手と左手の識別またはクイック操作を実行することができる。圧力センサ1113がタッチスクリーン1105の下層に配置される場合、プロセッサ1101によって、ユーザがタッチスクリーン1105に対する圧力操作に従って、UIインターフェイス上の可操作性制御部に対する制御を実現する。可操作性制御部は、ボタン制御部、スクロールバー制御部、アイコン制御部、メニュー制御部のうちの1つを備える。
指紋センサ1114は、ユーザの指紋を取得するように構成され、プロセッサ1101によって、指紋センサ1114で取得された指紋に従ってユーザの身元を識別し、または、指紋センサ1114によって、取得した指紋に従ってユーザの身元を識別する。ユーザの身元が信頼できる身元であると識別した場合、プロセッサ1101は、画面のロックの解除、暗号化された情報の閲覧、ソフトウェアのダウンロード、支払い、設定の変更など、関連する敏感な操作をユーザに認可する。指紋センサ1114は、端末1100の正面、背面または側面に配置されることができる。端末1100に、物理的ボタンまたは製造業者のロゴ(Logo)に配置される場合、指紋センサ1114は、物理的ボタンまたはメーカーのロゴと統合されてもよい。
光学センサ1115は、環境光の強度を取得するように構成される。一実施例において、プロセッサ1101は、光学センサ1115によって取得された環境光の強度に従って、タッチスクリーン1105のディスプレイ輝度を制御することができる。具体的に、環境光の強度が高い場合、タッチスクリーン1105のディスプレイ輝度を上げ、環境光の強度が低い場合、タッチスクリーン1105のディスプレイ輝度を下げる。別の実施例において、プロセッサ1101は、光学センサ1115によって取得された環境光の強度に従って、カメラコンポーネント1106の撮影パラメータを動的に調整することもできる。
近接センサ1116は、距離センサとも称され、通常、端末1100のフロントパネルに配置される。近接センサ1116は、ユーザと端末1100の正面との間の距離を取得するように構成される。一実施例において、近接センサ1116がユーザと端末1100の正面との間の距離がますます小さくなることを検出した場合、プロセッサ1101が、タッチスクリーン1105がオンスクリーン状態からオフスクリーン状態に切り替えるように制御し、近接センサ1116がユーザと端末1100の正面との間の距離がますます大きくなることを検出した場合、プロセッサ1101が、タッチスクリーン1105がオフスクリーン状態からオンスクリーン状態に切り替えるように制御する。
当業者は、図11で示された構造は、端末1100に対して限定するものではなく、図に示されたものより多くまたはより少ないコンポーネントを備え、またはいくつかのコンポーネントを組み合わせ、または異なるコンポーネント配置を使用することができることを理解できるだろう。
本願実施例は、カメラの位置決めのための装置をさらに開示し、当該端末は、プロセッサおよびメモリを備え、メモリは、コンピュータ読み取り可能な命令を記憶し、コンピュータ読み取り可能な命令が前記プロセッサによって実行される時に、プロセッサが、上述のカメラの位置決め方法のステップを実行するようにする。ここで、カメラの位置決め方法のステップは、上述の各実施例のカメラの位置決め方法におけるステップであってもよい。
本願実施例は、コンピュータ読み取り可能な命令が記憶されたコンピュータ読み取り可能な記憶媒体をさらに開示し、コンピュータ読み取り可能な命令がプロセッサによって実行される時に、プロセッサが、上述のカメラの位置決め方法のステップを実行するようにする。ここで、カメラの位置決め方法のステップは、上述の各実施例のカメラの位置決め方法におけるステップであってもよい。
ここで、当該コンピュータ読み取り可能な命令は、プログラム、コードセットなどを含み得る。
上述の実施例の全てまたは一部のステップは、ハードウェアを介して完了してもよく、プログラムによって、関連するハードウェアに命令することにより完了してもよいことを当業者なら自明である。前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、上記で言及された記憶媒体は、読み取り専用メモリ、磁気ディスク、または光ディスクであり得る。
上記は本願の好ましい実施例に過ぎず、本願を限定することを意図するものではなく、本願の精神および原則内で行われるあらゆる修正、均等の置換、改善などは、すべて本願の保護範囲に含まれるべきである。

Claims (16)

  1. 端末が実行するカメラの位置決め方法であって、
    前記端末が、目標環境の環境マップを取得するステップであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、ステップと、
    前記端末が、カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に基づき、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するステップと、
    前記端末が、前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に基づき、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするステップと、
    前記端末が、前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、該特徴点対応関係に基づき、前記カメラの位置情報を決定するステップであって、該特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、ステップとを含むことを特徴とする、カメラの位置決め方法。
  2. 前記端末が、前記カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に基づき、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得する前記ステップは、
    前記端末が、前記カメラが前の1枚の画像を撮影する時の位置情報および前記カメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔に基づき、等速モデルを使用して、前記カメラの予測位置情報を取得するステップ、または、
    前記端末が、前記カメラが前記前の1枚の画像を撮影する時の位置情報、前記カメラが時間的に隣接する任意の2枚の画像を撮影する時間間隔およびセンサを介して検出した加速度に基づき、変速モデルを使用して、前記カメラの予測位置情報を取得するステップ、または、
    前記端末が、前記カメラが前記前の1枚の画像を撮影する時から前記目標画像を撮影する時までのプロセスにおいて、前記前の1枚の画像における特徴点を追跡することにより、前記前の1枚の画像に対する前記目標画像の位置変化情報を取得し、前記カメラが前記前の1枚の画像を撮影する時の位置情報および前記前の1枚の画像に対する前記目標画像の位置変化情報に基づき、前記カメラの予測位置情報を取得するステップを含むことを特徴とする、
    請求項1に記載のカメラの位置決め方法。
  3. 前記方法は、
    前記カメラを起動した場合に、または前記カメラが前記履歴画像を撮影した時の位置情報に基づき、前記カメラの予測位置情報を取得することができない場合に、前記端末が、前記目標画像の特徴点と前記環境マップにおける複数の特徴点とのマッチングを実行して、前記カメラの予測位置情報を取得するステップをさらに含むことを特徴とする、
    請求項1または2に記載のカメラの位置決め方法。
  4. 前記端末が、前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に基づき、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトする前記ステップは、
    前記環境マップにおける各特徴点に対して、前記カメラの予測位置情報に基づき前記カメラが前記特徴点の視角領域内に位置しないと決定する場合、前記端末が、前記特徴点をフィルタリングアウトするステップを含むことを特徴とする、
    請求項1に記載のカメラの位置決め方法。
  5. 前記端末が、前記目標環境の環境マップを取得する前記ステップは、
    前記端末が、前記カメラが前記目標環境を撮影して取得した複数枚の原画像を取得し、前記複数枚の原画像に基づき標準画像を決定し、前記カメラが前記標準画像を撮影する時の位置情報を決定するステップと、
    前記端末が、前記標準画像以外の任意の1枚の原画像に対して、該原画像における特徴点と前記標準画像における特徴点とのマッチングを実行して、特徴点対応関係を取得し、該特徴点対応関係および前記カメラが前記標準画像を撮影する時の位置情報に基づき、前記カメラが該原画像を撮影する時の位置情報を取得するステップであって、該特徴点対応関係は、該原画像における特徴点と、前記標準画像における一致する特徴点との間の対応関係を含む、ステップと、
    前記端末が、前記カメラが前記原画像を撮影する時の前記位置情報に基づき、前記原画像における各特徴点の位置情報および各特徴点の視角領域情報を取得するステップと、
    前記端末が、前記複数枚の原画像における各特徴点の位置情報および各特徴点の視角領域情報に基づき、前記環境マップを構築するステップとを含むことを特徴とする、
    請求項1に記載のカメラの位置決め方法。
  6. 前記端末が、前記カメラが前記原画像を撮影する時の前記位置情報に基づき、前記原画像における各特徴点の位置情報および各特徴点の視角領域情報を取得する前記ステップは、
    前記端末が、前記原画像における任意の1つの指定された特徴点に対して、前記カメラが前記原画像を撮影する時の前記位置情報および前記原画像における前記指定された特徴点の深度に基づき、前記指定された特徴点の位置情報を取得するステップと、
    前記端末が、前記指定された特徴点の位置情報および前記原画像における他の点の位置情報に基づき、前記指定された特徴点のプリセットの範囲内で平面推定を実行して、前記指定された特徴点を通過する少なくとも1つの平面を決定するステップと、
    前記端末が、前記少なくとも1つの平面を介して、前記目標環境を分割して取得した第1連通領域および第2連通領域を決定し、前記第1連通領域および前記第2連通領域における前記カメラが位置する領域を、前記指定された特徴点を観察できる視角領域として決定し、前記視角領域情報を取得するステップとを含むことを特徴とする、
    請求項5に記載のカメラの位置決め方法。
  7. 前記端末が、前記指定された特徴点の位置情報および前記原画像における他の点の位置情報に基づき、前記指定された特徴点のプリセットの範囲内で平面推定を実行して、前記指定された特徴点を通過する少なくとも1つの平面を決定する前記ステップは、
    前記端末が、前記指定された特徴点のプリセットの範囲内で少なくとも3つの特徴点を選択するステップであって、前記指定された特徴点は、前記少なくとも3つの特徴点で構成される多角形の内側に位置し、前記少なくとも3つの特徴点は、前記環境マップ内で同じ平面上に位置するが同じ直線上に位置しない、ステップと、
    前記指定された特徴点と、前記少なくとも3つの特徴点が位置する前記平面との間の距離がプリセットの距離より小さい場合に、前記端末が、前記指定された特徴点が、前記少なくとも3つの特徴点が位置する前記平面上に位置すると決定するステップとを含むことを特徴とする、
    請求項6に記載のカメラの位置決め方法。
  8. 前記端末が、前記指定された特徴点の位置情報および前記原画像における他の点の位置情報に基づき、前記指定された特徴点のプリセットの範囲内で平面推定を実行し、前記指定された特徴点を通過する少なくとも1つの平面を決定する前記ステップは、
    前記指定された特徴点と、前記少なくとも3つの特徴点が位置する前記平面との間の距離が前記プリセットの距離より小さくない場合に、前記端末が、前記プリセットの範囲内でエッジ検出を実行して、前記指定された特徴点を頂点とする少なくとも1つのエッジ線を取得し、前記プリセットの範囲内の少なくとも4つの特徴点を取得するステップと、
    前記端末が、前記指定された特徴点を少なくとも2つの平面の交点として使用し、前記少なくとも1つのエッジ線を任意の2つの平面の交線として使用し、前記少なくとも4つの特徴点を前記少なくとも2つの平面上の点として使用して、前記少なくとも2つの平面を取得するステップとをさらに含むことを特徴とする、
    請求項7に記載のカメラの位置決め方法。
  9. 前記カメラは深度カメラであり、前記端末が、前記指定された特徴点の位置情報および前記原画像における他の点の位置情報に基づき、前記指定された特徴点のプリセットの範囲内で平面推定を実行して、前記指定された特徴点を通過する少なくとも1つの平面を決定する前記ステップは、
    前記原画像における、前記指定された特徴点のプリセットの範囲内の複数の点の深度を取得し、前記原画像における各点の深度に基づき、少なくとも1つの平面を決定するステップであって、前記指定された特徴点は前記少なくとも1つの平面の各々上に位置し、前記指定された特徴点のプリセットの範囲内の点は、前記少なくとも1つの平面のうちの任意の1つまたは2つの平面上に位置する、ステップを含むことを特徴とする、
    請求項6または7に記載のカメラの位置決め方法。
  10. カメラの位置決め装置であって、
    目標環境の環境マップを取得するように構成されるマップ取得モジュールであって、前記環境マップは、前記目標環境における複数の特徴点の位置情報および前記複数の特徴点の視角領域情報を含み、前記特徴点の視角領域情報は、前記目標環境内で前記特徴点を観察できる視角領域を示す、マップ取得モジュールと、
    カメラが目標画像を撮影する前に履歴画像を撮影した時の前記カメラの位置情報に基づき、前記カメラが前記目標画像を撮影する時の位置を予測して、前記カメラの予測位置情報を取得するように構成される位置予測モジュールと、
    前記カメラの予測位置情報、前記環境マップにおける各特徴点の位置情報および各特徴点の視角領域情報に基づき、前記環境マップにおける、前記カメラが現在観察できない特徴点をフィルタリングアウトするように構成されるフィルタリングモジュールと、
    前記目標画像における特徴点と前記環境マップにおけるフィルタリングアウト後の残りの特徴点とのマッチングを実行して、特徴点対応関係を取得し、該特徴点対応関係に基づき前記カメラの位置情報を決定するように構成される位置決めモジュールであって、該特徴点対応関係は、前記目標画像における特徴点と、マッチングした特徴点との間の対応関係を含む、位置決めモジュールとを備えることを特徴とする、カメラの位置決め装置。
  11. 前記装置は、
    前記カメラを起動した場合に、または前記カメラが前記履歴画像を撮影した時の位置情報に基づき前記カメラの予測位置情報を取得することができない場合に、前記目標画像の特徴点と前記環境マップにおける複数の特徴点とのマッチングを実行して、前記カメラの予測位置情報を取得するように構成される再位置決めモジュールをさらに備えることを特徴とする、
    請求項10に記載のカメラの位置決め装置。
  12. 前記マップ取得モジュールは、
    前記カメラが前記目標環境を撮影して取得した複数枚の原画像を取得し、前記複数枚の原画像に基づき標準画像を決定し、前記カメラが前記標準画像を撮影する時の位置情報を決定するように構成される標準決定ユニットと、
    前記標準画像以外の任意の1枚の原画像に対して、該原画像における特徴点と前記標準画像における特徴点とのマッチングを実行して、特徴点対応関係を取得し、該特徴点対応関係および前記カメラが前記標準画像を撮影する時の位置情報に基づき、前記カメラが該原画像を撮影する時の位置情報を取得するように構成される位置取得ユニットであって、該特徴点対応関係は、該原画像における特徴点と、前記標準画像における一致する特徴点との間の対応関係を含む、位置取得ユニットと、
    前記カメラが前記原画像を撮影する時の前記位置情報に基づき、前記原画像における各特徴点の位置情報および各特徴点の視角領域情報を取得するように構成される情報取得ユニットと、
    前記複数枚の原画像における各特徴点の位置情報および各特徴点の視角領域情報に基づき、前記環境マップを構築するように構成されるマップ構築ユニットとを備えることを特徴とする、
    請求項10に記載のカメラの位置決め装置。
  13. 前記情報取得ユニットは、さらに、
    前記原画像における任意の1つの指定された特徴点に対して、前記カメラが前記原画像を撮影する時の前記位置情報および前記原画像における前記指定された特徴点の深度に基づき、前記指定された特徴点の位置情報を取得し、
    前記指定された特徴点の位置情報および前記原画像における他の点の位置情報に基づき、前記指定された特徴点のプリセットの範囲内で平面推定を実行して、前記指定された特徴点を通過する少なくとも1つの平面を決定し、
    前記少なくとも1つの平面を介して、前記目標環境を分割して取得した第1連通領域および第2連通領域を決定し、前記第1連通領域および前記第2連通領域における前記カメラが位置する領域を、前記指定された特徴点を観察できる視角領域として決定し、前記視角領域情報を取得するように構成されることを特徴とする、
    請求項12に記載のカメラの位置決め装置。
  14. 前記カメラは深度カメラであり、前記情報取得ユニットは、さらに、前記原画像における、前記指定された特徴点のプリセットの範囲内の複数の点の深度を取得し、前記原画像における各点の深度に基づき、少なくとも1つの平面を決定するように構成され、前記指定された特徴点は前記少なくとも1つの平面の各々上に位置し、前記指定された特徴点のプリセットの範囲内の点は、前記少なくとも1つの平面のうちの任意の1つまたは2つの平面上に位置する、
    請求項13に記載のカメラの位置決め装置。
  15. 端末であって、
    前記端末は、プロセッサおよびメモリを備え、前記メモリは、コンピュータ読み取り可能な命令を記憶し、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、前記プロセッサが、請求項1ないし9のいずれか一項に記載のカメラの位置決め方法を実行する、端末。
  16. コンピュータプログラムであって、
    コンピュータに、請求項1ないし9のいずれか一項に記載のカメラの位置決め方法を実行させる、コンピュータプログラム。
JP2020552267A 2018-06-19 2019-05-07 カメラの位置決め方法および装置、端末並びにコンピュータプログラム Active JP7026819B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810630115.7A CN110148178B (zh) 2018-06-19 2018-06-19 相机定位方法、装置、终端及存储介质
CN201810630115.7 2018-06-19
PCT/CN2019/085746 WO2019242418A1 (zh) 2018-06-19 2019-05-07 相机定位方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
JP2021520540A true JP2021520540A (ja) 2021-08-19
JP7026819B2 JP7026819B2 (ja) 2022-02-28

Family

ID=67589086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020552267A Active JP7026819B2 (ja) 2018-06-19 2019-05-07 カメラの位置決め方法および装置、端末並びにコンピュータプログラム

Country Status (5)

Country Link
US (1) US11210810B2 (ja)
EP (1) EP3813014B1 (ja)
JP (1) JP7026819B2 (ja)
CN (1) CN110148178B (ja)
WO (1) WO2019242418A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112013844B (zh) * 2019-05-31 2022-02-11 北京小米智能科技有限公司 建立室内环境地图的方法及装置
CN111310585B (zh) * 2020-01-20 2023-08-01 北京百度网讯科技有限公司 用于生成信息的方法和装置
CN113220928A (zh) * 2020-01-21 2021-08-06 北京达佳互联信息技术有限公司 一种图像搜索方法、装置、电子设备及存储介质
JP7290599B2 (ja) * 2020-04-17 2023-06-13 Kddi株式会社 点群処理システム、方法及びプログラム
US11232315B2 (en) * 2020-04-28 2022-01-25 NextVPU (Shanghai) Co., Ltd. Image depth determining method and living body identification method, circuit, device, and medium
CN112966725B (zh) * 2021-02-08 2024-01-16 深圳市优必选科技股份有限公司 匹配模板图像的方法、装置及终端设备
US11423576B1 (en) * 2021-07-23 2022-08-23 Ford Global Technologies, Llc Infrastructure node localization with respect to alternative frame of reference
WO2023070441A1 (zh) * 2021-10-28 2023-05-04 深圳市大疆创新科技有限公司 可移动平台的定位方法和装置
CN114187349B (zh) * 2021-11-03 2022-11-08 深圳市正运动技术有限公司 产品加工方法、装置、终端设备以及存储介质
WO2024015031A1 (en) * 2022-07-11 2024-01-18 Delivers Ai Robotik Otonom Surus Bilgi Teknolojileri A.S. A delivery system and hybrid localization method for a delivery robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646391A (zh) * 2013-09-30 2014-03-19 浙江大学 一种针对动态变化场景的实时摄像机跟踪方法
US20160012588A1 (en) * 2014-07-14 2016-01-14 Mitsubishi Electric Research Laboratories, Inc. Method for Calibrating Cameras with Non-Overlapping Views
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法
JP2016167688A (ja) * 2015-03-09 2016-09-15 富士通株式会社 画像生成方法、システム、装置、及び端末

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5776255B2 (ja) * 2011-03-25 2015-09-09 ソニー株式会社 端末装置、物体識別方法、プログラム及び物体識別システム
GB201208088D0 (en) * 2012-05-09 2012-06-20 Ncam Sollutions Ltd Ncam
CN103279952B (zh) * 2013-05-17 2017-10-17 华为技术有限公司 一种目标跟踪方法和装置
CN103731658B (zh) * 2013-12-25 2015-09-30 深圳市墨克瑞光电子研究院 双目摄像机复位方法和双目摄像机复位装置
US10062010B2 (en) * 2015-06-26 2018-08-28 Intel Corporation System for building a map and subsequent localization
CN106383123B (zh) 2016-10-26 2023-04-18 苏州誉阵自动化科技有限公司 相机定位装置及视觉检测装置
CN107564012B (zh) * 2017-08-01 2020-02-28 中国科学院自动化研究所 面向未知环境的增强现实方法及装置
CN107990899B (zh) * 2017-11-22 2020-06-30 驭势科技(北京)有限公司 一种基于slam的定位方法和系统
CN108648235B (zh) * 2018-04-27 2022-05-17 腾讯科技(深圳)有限公司 相机姿态追踪过程的重定位方法、装置及存储介质
US11636618B2 (en) * 2019-11-14 2023-04-25 Samsung Electronics Co., Ltd. Device and method with simultaneous implementation of localization and mapping
KR102216956B1 (ko) * 2019-11-26 2021-02-19 서울과학기술대학교 산학협력단 다중 시점 영상의 프리로드 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646391A (zh) * 2013-09-30 2014-03-19 浙江大学 一种针对动态变化场景的实时摄像机跟踪方法
US20160012588A1 (en) * 2014-07-14 2016-01-14 Mitsubishi Electric Research Laboratories, Inc. Method for Calibrating Cameras with Non-Overlapping Views
JP2016167688A (ja) * 2015-03-09 2016-09-15 富士通株式会社 画像生成方法、システム、装置、及び端末
CN105469405A (zh) * 2015-11-26 2016-04-06 清华大学 基于视觉测程的同时定位与地图构建方法

Also Published As

Publication number Publication date
CN110148178A (zh) 2019-08-20
EP3813014A1 (en) 2021-04-28
EP3813014B1 (en) 2023-08-23
JP7026819B2 (ja) 2022-02-28
WO2019242418A1 (zh) 2019-12-26
CN110148178B (zh) 2022-02-22
US20200342626A1 (en) 2020-10-29
EP3813014A4 (en) 2021-08-11
US11210810B2 (en) 2021-12-28

Similar Documents

Publication Publication Date Title
JP7026819B2 (ja) カメラの位置決め方法および装置、端末並びにコンピュータプログラム
US11221726B2 (en) Marker point location display method, electronic device, and computer-readable storage medium
US11205282B2 (en) Relocalization method and apparatus in camera pose tracking process and storage medium
US11189037B2 (en) Repositioning method and apparatus in camera pose tracking process, device, and storage medium
US11321870B2 (en) Camera attitude tracking method and apparatus, device, and system
US11158083B2 (en) Position and attitude determining method and apparatus, smart device, and storage medium
JP7305249B2 (ja) 画像特徴点の動き情報の決定方法、タスク実行方法およびデバイス
CN108710525B (zh) 虚拟场景中的地图展示方法、装置、设备及存储介质
WO2019205851A1 (zh) 位姿确定方法、装置、智能设备及存储介质
WO2020253655A1 (zh) 多虚拟角色的控制方法、装置、设备及存储介质
US11276183B2 (en) Relocalization method and apparatus in camera pose tracking process, device, and storage medium
CN111768454A (zh) 位姿确定方法、装置、设备及存储介质
CN109886208B (zh) 物体检测的方法、装置、计算机设备及存储介质
US20160284130A1 (en) Display control method and information processing apparatus
CN113269877A (zh) 获取房间布局平面图的方法和电子设备
CN110213205B (zh) 验证方法、装置及设备
CN111369684B (zh) 目标跟踪方法、装置、设备及存储介质
WO2019233299A1 (zh) 地图构建方法、装置及计算机可读存储介质
CN111984755A (zh) 确定目标停车点的方法、装置、电子设备及存储介质
CN113409235B (zh) 一种灭点估计的方法及装置
CN117671164A (zh) 高精地图底图构建方法
CN113384902A (zh) 虚拟对象的移动控制方法、装置、设备及存储介质
CN112214645A (zh) 一种存储轨迹数据的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220215

R150 Certificate of patent or registration of utility model

Ref document number: 7026819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150