(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-08
(54)【発明の名称】視覚標識に基づき標識マップを構築する方法、装置
(51)【国際特許分類】
G06T 7/70 20170101AFI20220901BHJP
【FI】
G06T7/70 Z
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022500643
(86)(22)【出願日】2020-07-04
(85)【翻訳文提出日】2022-01-05
(86)【国際出願番号】 CN2020100306
(87)【国際公開番号】W WO2021004416
(87)【国際公開日】2021-01-14
(31)【優先権主張番号】201910603494.5
(32)【優先日】2019-07-05
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】519059292
【氏名又は名称】杭州海康机器人技術有限公司
【氏名又は名称原語表記】Hangzhou Hikrobot Technology Co., Ltd.
【住所又は居所原語表記】Room 304, Unit B, Building 2, 399 Dangfeng Road, Binjiang District, Hangzhou, Zhejiang 310051, China
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】唐 恒博
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA04
5L096FA09
5L096FA67
(57)【要約】
本願は、視覚標識に基づき標識マップを構築する方法、装置を提供する。当該方法は、少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することと、前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得することと、前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得することと、前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識とに関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得することと、得られた前記第2類ポーズの最適化結果に基づいて、標識マップを構築することと、を含む。本技術案によって、視覚標識の測位情報に対する依存性を軽減できる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
視覚標識に基づき標識マップを構築する方法であって、
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、前記画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、前記ターゲット測定データは、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを含むことと、
前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得し、前記第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであることと、
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得し、前記第2類ポーズは前記視覚標識のワールド座標系におけるポーズであることと、
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得し、前記第1類残差は、前記画像フレームのオドメトリに関する拘束残差であり、前記第2類残差は、前記視覚標識の特徴点の前記画像フレームにおける再投影の拘束残差であり、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズの初期値は、前記第2類ポーズの初期化結果であることと、
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築することと、を含む
方法。
【請求項2】
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得することに続いて、
前記視覚標識に関する第3類残差を取得し、前記第3類残差は、前記画像フレームにおける視覚標識の局所的位置に関する拘束残差であることと、
前記第1類残差と第3類残差に対して、前記第1類ポーズを状態変数とし、前記第2類ポーズにおける大域的位置を状態変数とする共同最適化を行って、第1類ポーズの初歩的な最適化結果と前記第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得し、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズにおける大域的位置の初期値は、前記第2類ポーズにおける大域的位置の初期化結果であることと、
前記第1類ポーズの初歩的な最適化結果を、前記第1類ポーズの初期化結果とすることと、
前記第2類ポーズにおける大域的位置の初始最適化結果を、前記第2類ポーズにおける大域的位置の初期化結果とすることと、
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズにおける大域的姿勢を取得し、前記視覚標識が最初に観測されたときの前記視覚標識が属する画像フレームに対応するカメラポーズ、及び前記ターゲット検出データに基づいて、前記視覚標識に対応する第2類姿勢における大域的姿勢の初期化結果を取得することと、を含む
請求項1に記載の方法。
【請求項3】
前記画像フレームの数は複数であり、
前記第1類ポーズを状態変数とし前記第2類ポーズにおける大域的位置を状態変数とする共同最適化を行って、第1類ポーズの初歩的な最適化結果と前記第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得することは、
各第1類残差と各第3類残差とを融合する第1ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズにおける大域的位置の初期化結果を反復初期値とする反復により、前記第1ターゲット関数が最小値になるときの各第1類ポーズの初歩的な最適化結果と各第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得すること、を含む
請求項2に記載の方法。
【請求項4】
前記画像フレームの数は複数であり、
前記第1類ポーズを状態変数とし前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得することは、
各第1類残差と各第2類残差とを融合する第2ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズの初期化結果を反復初期値とする反復により、前記第2ターゲット関数が最小値になるときの各第2類ポーズの最適化結果を取得すること、を含む
請求項1乃至3のいずれかに記載の方法。
【請求項5】
ターゲット測定データに基づいて取得された前記画像フレームに関する前記第1類残差を取得するプロセスは、
画像フレームごとに、前記ターゲット測定データに基づいて、当該画像フレームとそれに隣接する画像フレームとの間の、第1類相対ポーズと第2類相対ポーズとを取得し、前記第1類相対ポーズ及び第2類相対ポーズは、いずれも、当該画像フレームが採取された時点の、隣接する画像フレームが採取された時点に対するロボット本体のポーズ変化であり、前記第1類相対ポーズは、前記第1類ポーズの状態変数に基づいて定められ、前記第2類相対ポーズは、前記ターゲット測定データに基づいて定められることと、
前記第1類相対ポーズと第2類相対ポーズとの差により、当該画像フレームに関する第1類残差を計算することと、
各前記画像フレームに関する第1類残差を積算して、全ての前記画像フレームに関する第1類残差を得ることと、を含む
請求項4に記載の方法。
【請求項6】
前記視覚標識に関する第3類残差を取得するプロセスは、
画像フレームごとに、任意の視覚標識に対して、当該視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置と当該視覚標識が観測された測定値との間の差を取得して、当該視覚標識に関する第3類残差を得ることと、
各視覚標識に関する第3類残差を積算して、全ての視覚標識に関する第3類残差を得ることと、を含み、
前記視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置は、当該視覚標識に対応するカメラの外部パラメーターのポーズと、当該画像フレームに対応する第1類ポーズの現在状態ベクトルと、当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルによって取得され、1回目の反復時の当該画像フレームに対応する第1類ポーズの現在状態ベクトルは、当該画像フレームに対応する第1類ポーズの初期化結果であり、1回目の反復時の当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルは、当該視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果のベクトルである
請求項4に記載の方法。
【請求項7】
前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識とに関する第2類残差を確定するプロセスは、
画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及び前記ターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得すること、を含む
請求項4に記載の方法。
【請求項8】
前記画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及び前記ターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得することは、
画像フレームごとに、任意の視覚標識が持つ任意の特徴点に対して、カメラの内部パラメーターマトリクス、当該画像フレームに対応する第1類ポーズの現在の状態変数、当該視覚標識に対応する第2類ポーズの現在の状態変数、及び当該特徴点の標識座標系における局所的位置の投影関数と当該特徴点の画像座標における測定値との間の差によって、当該視覚標識における当該特徴点のその画像フレームにおける再投影の誤差を取得することと、
各視覚標識の各特徴点の再投影誤差を積算して、全ての視覚標識の全ての特徴点の画像フレームにおける再投影の拘束残差を得ることと、を含む
請求項7に記載の方法。
【請求項9】
前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得することは、
前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを、前記画像フレームに対応する第1類ポーズの初期化結果とすることを含み、
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得することは、
前記画像フレームにおける任意の視覚標識に対して、当該視覚標識が最初に観測されたときの当該視覚標識が属する画像フレームに対応するカメラポーズ、及び当該ターゲット検出データに基づいて、ワールド座標系における当該視覚標識の位置の初期化結果と、ワールド座標系における当該視覚標識の姿勢の初期化結果とをそれぞれ取得することを含み、
前記視覚標識検出データは、視覚標識のカメラ座標系に対する局所的ポーズから取得された、視覚標識が観測された測定値を含み、
前記視覚標識のカメラ座標系に対する局所的ポーズは、視覚標識の特徴点の画像座標、カメラの内部パラメーター、及び標識のパラメーターによって取得され、
当該視覚標識が属する画像フレームに対応するカメラポーズは、当該視覚標識が属する画像フレームを取得するときのカメラのカメラポーズである
請求項1に記載の方法。
【請求項10】
前記画像フレームにおける任意の視覚標識に対して、当該視覚標識が最初に観測されたときの当該視覚標識が属する画像フレームに対応するカメラポーズ、及び当該ターゲット検出データに基づいて、ワールド座標系における当該視覚標識の位置の初期化結果と、ワールド座標系における当該視覚標識の姿勢の初期化結果とをそれぞれ取得することは、
前記画像フレームにおける任意の視覚標識に対して、前記画像フレームに対応する第1類ポーズのベクトル、カメラの外部パラメーターのポーズベクトル、及び観測された測定値のベクトルに基づいて、ワールド座標系における前記視覚標識の位置の初期化結果を取得することと、
当該視覚標識が属する画像フレームに対応する第1類ポーズのベクトル、及びカメラの外部パラメーターのポーズベクトルに基づいて、当該視覚標識が最初に観測されたときの視覚標識が属する画像フレームに対応するカメラポーズを得ることと、
ロボット本体座標系の大域的回転ベクトル、カメラの外部パラメーターの回転ベクトル、及びカメラ座標系における当該視覚標識の局所的回転ベクトルに基づいて、ワールド座標系における当該視覚標識の姿勢の初期化結果を取得することと、を含み、
前記ロボット本体座標系の大域的回転ベクトルは、前記第1類ポーズの初期化結果から取得され、
前記カメラの外部パラメーターの回転ベクトルは、前記カメラの外部パラメーターのポーズから取得され、
当該視覚標識のカメラ座標系における局所的回転ベクトルは、カメラ座標系に対する当該視覚標識の局所的ポーズから取得される
請求項9に記載の方法。
【請求項11】
前記少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することは、
構築しようとする標識マップの物理環境に配置された各視覚標識の画像を少なくとも1回採取して、少なくとも画像フレームを含むターゲット検出データを得ることと、
画像フレームの採取と同じ時点でターゲット測定データの測定を行うことと、を含む
請求項4に記載の方法。
【請求項12】
前記画像フレームの数は複数であり、
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することの続いて、さらに、
下記の条件、即ち、
現在のフレームに標識画像が存在する場合、当該フレームをキーフレームとすることと、
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の位置シフト偏差が設定されたシフト閾値より大きい場合、現在のフレームをキーフレームとすることと、
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の回転偏差が設定された回転閾値より大きい場合、現在のフレームをキーフレームとすることと、
第1フレームがキーフレームであることと
のいずれか、又はそれらの組み合わせにより、複数の画像フレームからキーフレームを選別すること、を含み、
前記ターゲット測定データに基づいて、前記画像フレームに対応する第1類ポーズの初期化結果を取得することは、前記ターゲット測定データに基づいて、前記キーフレームに対応する第1類ポーズの初期化結果を取得すること、を含み、
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差は、前記ターゲット測定データに基づいて取得された前記キーフレームに関する第1類残差を含み、
前記第2類残差は、前記視覚標識の特徴点の前記キーフレームにおける再投影拘束残差である
請求項1に記載の方法。
【請求項13】
視覚標識に基づき標識マップを構築する装置であって、
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、前記画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、前記ターゲット測定データは、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを含む、データ採取モジュールと、
前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得し、前記第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであり、前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得し、前記第2類ポーズは、前記視覚標識のワールド座標系におけるポーズである、初期化モジュールと、
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得し、前記第1類残差は、前記画像フレームのオドメトリに関する拘束残差であり、前記第2類残差は、前記視覚標識の特徴点の前記画像フレームにおける再投影の拘束残差であり、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズの初期値は、前記第2類ポーズの初期化結果である、第1共同最適化モジュールと、
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築する、マップ構築モジュールと、を含む
視覚標識に基づき標識マップを構築する装置。
【請求項14】
視覚標識に基づき標識マップを構築する電子機器であって、メモリとプロセッサとを備え、
前記メモリは、コンピュータプログラムを格納することに用いられ、
前記プロセッサは、前記メモリに格納されたプログラムを実行して、請求項1~12のいずれかに記載の視覚標識に基づき標識マップを構築する方法を実現することに用いられる
電子機器。
【請求項15】
コンピュータプログラムが格納されているコンピュータ可読記憶媒体であって、
前記コンピュータプログラムは、プロセッサによって実行されると、請求項1~12のいずれかに記載の視覚標識に基づき標識マップを構築する方法を実現する
コンピュータ可読記憶媒体。
【請求項16】
プロセッサによって実行されると、請求項1~12のいずれかに記載の視覚標識に基づき標識マップを構築する方法を実現する
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、2019年7月5日に中国国家知的財産権局により出願された、出願番号が201910603494.5であり、発明名称が「視覚標識に基づく標識マップを構築する方法、装置」である中国特許出願に基づく優先権を主張する。ここで、その全ての内容は、援用により本願に組み込まれる。
【0002】
本願はコンピュータビジョン分野に関し、特に視覚標識に基づき標識マップを構築する方法、装置に関する。
【背景技術】
【0003】
コンピュータビジョンにおいては、空間内の物体(剛体)を位置と姿勢によって記述することができる。位置と姿勢とは、合わせてポーズと称される。位置は、物体の三次元空間座標系における座標位置であり、姿勢は、物体の当該座標系における3つの座標軸に対する回転角度で、ピッチ角と、ヨー角とロール角とを含む。
【0004】
視覚標識ナビゲーション技術は、一般的なロボットナビゲーションソリューションの1つである。ロボットは、視覚標識により構築された標識マップに基づいて測位する。従来の視覚標識によるマップ構築は、通常、予め作業環境に対して物理的な測定を行い、物理的な測定結果に基づいて、配置しようとする視覚標識の位置と姿勢、即ち配置しようとする視覚標識のポーズを、人工方式で分析する。配置しようとする視覚標識のポーズに応じて、関係者が視覚標識を環境に配置する。そして、標識マップを生成する際には、標識マップが配置しようとする視覚標識の位置と姿勢に基づいて形成されている。
【発明の概要】
【課題を解決するための手段】
【0005】
本願は、視覚標識に対する配置精度の依存性を低減するように、視覚標識に基づき標識マップを構築する方法及び装置を提供する。具体的な技術案は以下の通りである。
【0006】
第1形態として、本願実施例は、視覚標識に基づき標識マップを構築する方法をであって、少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、前記画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、前記ターゲット測定データは、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを含むことと、
【0007】
前記ターゲット測定データに基づいて、前記画像フレームに対応する第1類ポーズの初期化結果を取得し、前記第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであることと、
【0008】
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得し、前記第2類ポーズは、前記視覚標識のワールド座標系におけるポーズであることと、
【0009】
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得し、前記第1類残差は、前記画像フレームのオドメトリに関する拘束残差であり、前記第2類残差は、前記視覚標識の特徴点の前記画像フレームにおける再投影の拘束残差であり、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズの初期値は、前記第2類ポーズの初期化結果であることと、
【0010】
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築することと、を含む方法を提供する。
【0011】
第2形態として、本願実施例は、視覚標識に基づき標識マップを構築する装置であって、
【0012】
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、前記画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、前記ターゲット測定データは、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを含む、データ採取モジュールと、
【0013】
前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得し、前記第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであり、前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得し、前記第2類ポーズは、前記視覚標識のワールド座標系におけるポーズである、初期化モジュールと、
【0014】
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得し、前記第1類残差は、前記画像フレームのオドメトリに関する拘束残差であり、前記第2類残差は、前記視覚標識の特徴点の前記画像フレームにおける再投影の拘束残差であり、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズの初期値は、前記第2類ポーズの初期化結果である、第1共同最適化モジュールと、
【0015】
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築する、マップ構築モジュールと、を含む装置を提供する。
【0016】
第3形態として、本願実施例は、視覚標識に基づき標識マップを構築する電子機器であって、メモリとプロセッサとを備え、
【0017】
前記メモリは、コンピュータプログラムを格納することに用いられ、
【0018】
前記プロセッサは、前記メモリに格納されたプログラムを実行して、第1形態に提供された視覚標識に基づき標識マップを構築する方法を実現することに用いられる、電子機器を提供する。
【0019】
第4形態として、本願実施例は、コンピュータプログラムが格納されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行されると、第1形態に提供された視覚標識に基づき標識マップを構築する方法を実現する、コンピュータ可読記憶媒体を提供する。
【0020】
第5形態として、本願実施例は、プロセッサによって実行されると、本願に提供された視覚標識に基づき標識マップを構築する方法を実現する、コンピュータプログラムを提供する。
【0021】
本願実施例に提供された技術案において、ターゲット測定データとターゲット検出データを利用して、オドメトリ拘束と標識観測拘束(少なくとも視覚標識の全ての特徴点のキーフレームにおける再投影拘束を含む)によって共同で最適化問題を構築し、この課題を解決することで視覚標識の大域的ポーズを取得する。さらに、取得された視覚標識の大域的ポーズを利用して標識マップを構築する。本願に提供された技術案がマップを構築するときに利用する視覚標識の大域的ポーズは、特定の計算方式によって定められたものであるため、マップ構築データ集合に対する要求が軽減された。視覚標識が配置されたときに利用する大域的位置または角度情報に依存せず、視覚標識の種類にも依存せず、いずれかの事前情報にも依存しないとともに、マップ構築の効率と精度を確保できた。これで分かるように、本技術案によって視覚標識の配置精度に対する依存性を軽減できる。なお、本技術案によれば、マップを構築するときに、視覚標識が配置されたときに利用されたポーズ情報に依存しないため、環境測定に対する要求を軽減し、環境測定のプロセスを省略でき、視覚標識の配置作業の難しさを軽減し、人件と時間のコストを削減することができる。
【図面の簡単な説明】
【0022】
本出願の実施例及び従来技術の技術案をより明確に説明するために、以下の実施例及び従来技術に必要な図面を簡単に説明するが、無論、以下に説明される図面は単に本出願の実施例の一部であり、当業者であれば、創造的な働きをせずに、これらの図面に基づいて他の実施例が得られることができる。
【
図1】
図1は本願実施例における視覚標識によるマップ構築の方法のフローチャートである。
【
図3】
図3は上記ステップ101~110に係る画像データの関連関係を示す模式図である。
【
図4】
図4は本願実施例における視覚標識に基づき標識マップを構築する装置の模式図である。
【発明を実施するための形態】
【0023】
以下、本願の実施例の目的、技術案及び利点をより明確にするために、図面を参照しながら例を挙げて本願の実施例をさらに詳しく説明する。無論、説明される実施例は単に本願の実施例の一部であり、全ての実施例ではない。本願の実施例に基づいて、当業者が創造的な労働を必要とせずに得られる全ての他の実施例は何れも本願の保護範囲に該当する。
【0024】
従来の視覚標識によるマップ構築は、通常、予め作業環境に対して物理的な測定を行い、物理的な測定結果に基づいて、配置しようとする視覚標識の位置と姿勢、即ち配置しようとする視覚標識のポーズを人工で分析し、配置しようとする視覚標識のポーズに応じて、環境において視覚標識を関係者によって配置する。そして、標識マップを生成するときに、配置しようとする視覚標識の位置と姿勢に基づいて標識マップを形成する。
【0025】
これで分かるように、従来の視覚標識によるマップ構築の方法は主に、以下の課題がある。マップ構築のときに、視覚標識の配置精度に対する依存性が高く、視覚標識の配置精度が低い場合、マップ構築の正確性も低いことである。
【0026】
従来技術の課題を解決ために、本願は、視覚標識に基づき標識マップを構築する方法及び装置を提供する。以下、まず、本願に提供された視覚標識に基づき標識マップを構築する方法を紹介する。
【0027】
以下、本願の実施例の目的、技術手段及び利点をより明確にするために、図面を参照しながら本願をさらに詳しく説明する。本願実施例の理解の便宜上、係る概念の説明は以下の通りである。
【0028】
本実施例は、ワールド座標系、撮影機座標系(カメラ座標系)、標識座標系、オドメトリ座標系、及びロボット本体座標系に係る。
【0029】
ワールド座標系は、システムの絶対座標系であって、環境から基准座標系を選出して、カメラ、及び環境中のいずれか物体の位置を記述する。
【0030】
撮影機座標系とは、原点が撮影機の光学中心であり、x軸、y軸が画像のX、Y軸と平行し、z軸がカメラ光軸で結像平面と垂直するように構成された、空間直交座標系であって、カメラ座標系とも称される。撮影機座標系は、三次元座標系である。光軸と画像平面との交点は、画像座標系の原点であり、画像のX、Y軸によって構成された直交座標系は画像座標系である。画像座標系は、二次元座標系である。
【0031】
標識座標系は、視覚標識の特徴点の三次元空間位置、例えば二次元コードの四隅にある測位特徴点の位置を記述することに用いられる。各視覚標識は、それぞれ、各自の標識座標系を備える。
【0032】
ロボット本体座標系は、ロボット本体に設定された座標系である。なお、ロボット本体座標系の原点は、ロボットの中心と重なってよく、無論、これに限らない。
【0033】
オドメトリ座標系は、ロボット本体の二次元平面におけるロボット本体の運動を記述する座標系であって、ポーズを計算し始める初期時点のロボット本体のポーズによって定められる。なお、オドメトリ座標系は、初期時点のロボット本体座標系であって、ロボットの相対運動の測定値、即ち初期時点に後続する時点のロボット本体座標系のオドメトリ座標系に対する相対ポーズ、具体的に、後続する時点でロボット本体のポーズ(ロボット本体座標におけるポーズ)の初期時点に対するポーズ変化値を表すことに用いられる。例示的に、初期時点は、ロボットの起動時点であってよく、または、ロボットの運動プロセスにおける任意的な時点であってよい。
【0034】
オドメトリとは、移動ロボットに対する累算式測位アルゴリズムであって、採用されたセンサーと機械構造によって複数種の実施形態があってよい。その出力結果は、ロボットのオドメトリ座標系の二次元平面におけるポーズである。
【0035】
以下の文において、「局所的」と「大域的」とは相対的な概念であり、大域系とはワールド座標系のことをさし、局所系とは非ワールド座標系のことをさす。
【0036】
PnP(Perspective-n-Point)は、n点透視とも称され、画像における一群の特徴点(n個の点)の座標、及び当該特徴点の三次元位置によって、カメラのポーズを計算する。nは少なくとも異なる4つの特徴点である。
【0037】
従来技術の課題を解決ために、本願は、視覚標識に基づき標識マップを構築する方法を提供する。標識マップを構築するために、予め構築しようとする標識マップの物理環境において一定の数の視覚標識をランダムに配置する。前記視覚標識は、測位するための特徴点を含む。
【0038】
当該視覚標識に基づき標識マップを構築する方法は、
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、ターゲット測定データは、画像フレームが採取された時点のロボットのロボット本体のオドメトリ座標系におけるポーズを含むことと、
【0039】
ターゲット測定データに基づいて画像フレームに対応する第1類ポーズの初期化結果を取得し、第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであることと、
【0040】
ターゲット検出データに基づいて視覚標識に対応する第2類ポーズの初期化結果を取得し、第2類ポーズは、前記視覚標識のワールド座標系におけるポーズであることと、
【0041】
ターゲット測定データに基づいて取得された画像フレームに関する第1類残差と、ターゲット検出データに基づいて取得された画像フレームと視覚標識に関する第2類残差とに対して、第1類ポーズを状態変数とし、第2類ポーズを状態変数とする共同最適化を行って、第2類ポーズの最適化結果を取得し、第1類残差は、画像フレームのオドメトリに関する拘束残差であり、第2類残差は、視覚標識の特徴点の画像フレームにおける再投影の拘束残差であり、第1類ポーズの初期値は、第1類ポーズの初期化結果であり、第2類ポーズの初期値は第2類ポーズの初期化結果であることと、
【0042】
得られた第2類ポーズの最適化結果に基づいて標識マップを構築することとを含んでよい。
【0043】
画像フレームの数は一つ又は複数であってよい。
【0044】
本願実施例に提供された技術案において、ターゲット測定データ及びターゲット検出データを利用して、オドメトリ拘束及び標識観測拘束(少なくとも視覚標識を含む全ての特徴点のキーフレームにおける再投影拘束)によって共同で最適化問題を構築し、この課題を解決することで視覚標識の大域的ポーズを取得する。さらに、取得された視覚標識の大域的ポーズを利用して標識マップを構築する。本願に提供された技術案がマップを構築するときに利用する視覚標識の大域的ポーズは、特定の計算方式によって定められたものであるため、マップ構築データ集合に対する要求が軽減された。視覚標識が配置されたときに利用する大域的位置または角度情報に依存せず、視覚標識の種類にも依存せず、いずれかの事前情報にも依存しないとともに、マップ構築の効率と精度を確保できた。これで分かるように、本技術案によって視覚標識の配置精度に対する依存性を軽減できる。なお、本技術案によれば、マップを構築するとき、視覚標識が配置されたときに利用されたポーズ情報に依存しないため、環境測定に対する要求を軽減し、環境測定のプロセスを省略でき、視覚標識の配置作業の難しさを軽減し、人件と時間のコストを削減することができる。
【0045】
好ましく、一実施形態において、ターゲット検出データに基づいて視覚標識に対応する第2類ポーズの初期化結果を取得することは、
【0046】
前記視覚標識に関する第3類残差を取得し、前記第3類残差は、前記画像フレームにおける視覚標識の局所的位置に関する拘束残差であることと、
【0047】
前記第1類残差と第3類残差に対して、前記第1類ポーズを状態変数とし、前記第2類ポーズにおける大域的位置が状態変数とする共同最適化を行って、第1類ポーズの初歩的な最適化結果と前記第2類ポーズにおける大域的位置の初歩的な最適化結果を取得し、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズにおける大域的位置の初期値は、前記第2類ポーズにおける大域的位置の初期化結果であることと、
【0048】
前記第1類ポーズの初歩的な最適化結果を前記第1類ポーズの初期化結果とすることと、
【0049】
前記第2類ポーズにおける大域的位置の初始最適化結果を前記第2類ポーズにおける大域的位置の初期化結果とすることと、
【0050】
前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズにおける大域的姿勢を取得し、前記視覚標識が最初に観測されたときの前記視覚標識が属する画像フレームに対応するカメラポーズ、及び前記ターゲット検出データとに基づいて、前記視覚標識に対応する第2類姿勢における大域的姿勢の初期化結果を取得することと、を含む。
【0051】
好ましく、一実施形態において、前記画像フレームの数は複数であり、
【0052】
第1類ポーズを状態変数とし、第2類ポーズにおける大域的位置が状態変数とする共同最適化を行って、第1類ポーズの初歩的な最適化結果と第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得することは、
【0053】
各第1類残差と各第3類残差とを融合する第1ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズにおける大域的位置の初期化結果を反復初期値とする反復により、第1ターゲット関数が最小値になるときの各第1類ポーズの初歩的な最適化結果と、各第2類ポーズにおける大域的位置の初歩的な最適化結果を取得すること、を含んでよい。
【0054】
好ましく、一実施形態において、画像フレームの数は複数であり、
【0055】
第1類ポーズを状態変数とし、第2類ポーズを状態変数とする共同最適化を行って、第2類ポーズの最適化結果を取得することは、
【0056】
各第1類残差と各第2類残差とを融合する第2ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズの初期化結果を反復初期値とする反復により、第2ターゲット関数が最小値になるときの各第2類ポーズの最適化結果を取得すること、を含んでよい。
【0057】
好ましく、一実施形態において、ターゲット測定データに基づいて取得された画像フレームに関する第1類残差を取得するプロセスは、
【0058】
画像フレームごとに、当該画像フレームとそれに隣接する画像フレームとの間の、第1類相対ポーズと第2類相対ポーズとを取得し、前記第1類相対ポーズと第2類相対ポーズは、いずれも、当該画像フレームが採取された時点の、隣接する画像フレームが採取された時点に対するロボット本体のポーズ変化であり、前記第1類相対ポーズは、前記第1類ポーズの状態変数に基づいて定められ、前記第2類相対ポーズは、前記ターゲット測定データに基づいて定められることと、
【0059】
第1類相対ポーズと第2類相対ポーズとの差により、当該画像フレームに関する第1類残差を計算することと、
【0060】
各画像フレームに関する第1類残差を積算して、全ての画像フレームに関する第1類残差を得ることと、を含んでよい。
【0061】
好ましく、一実施形態において、視覚標識に関する第3類残差を取得するプロセスは、
【0062】
画像フレームごとに、任意の視覚標識に対して、当該視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置と当該視覚標識が観測された測定値との間の差を取得して、当該視覚標識に関する第3類残差を得ることと、
【0063】
各視覚標識に関する第3類残差を積算して、全ての視覚標識に関する第3類残差を得ることと、
【0064】
視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置は、当該視覚標識に対応するカメラの外部パラメーターのポーズ、当該画像フレームに対応する第1類ポーズの現在状態ベクトル、及び当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルによって取得され、1回目の反復時の当該画像フレームに対応する第1類ポーズの現在状態ベクトルは、当該画像フレームに対応する第1類ポーズの初期化結果であり、1回目の反復時の当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルは、当該視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果のベクトルであることと、を含んでよい。
【0065】
好ましく、一実施形態において、ターゲット検出データに基づいて取得された画像フレームと視覚標識に関する第2類残差を確定するプロセスは、
【0066】
画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及びターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得すること、を含んでよい。
【0067】
好ましく、一実施形態において、画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及びターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得することは、
【0068】
画像フレームごとに、任意の視覚標識が持つ任意の特徴点に対して、カメラの内部パラメーターマトリクス、当該画像フレームに対応する第1類ポーズの現在の状態変数、当該視覚標識に対応する第2類ポーズの現在の状態変数、及び当該特徴点の標識座標系における局所的位置の投影関数と当該特徴点の画像座標の測定値との間の差によって、当該視覚標識における当該特徴点のその画像フレームにおける再投影の誤差を取得することと、
【0069】
各視覚標識の各特徴点の再投影誤差を積算して、全ての視覚標識の全ての特徴点の画像フレームにおける再投影の拘束残差を得ることと、を含んでよい。
【0070】
好ましく、一実施形態において、ターゲット測定データに基づいて画像フレームに対応する第1類ポーズの初期化結果を取得することは、
【0071】
画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを、画像フレームに対応する第1類ポーズの初期化結果とすること、を含んでよい。
【0072】
ターゲット検出データに基づいて視覚標識に対応する第2類ポーズの初期化結果を取得することは、
【0073】
画像フレームにおける任意の視覚標識に対して、当該視覚標識が最初に観測されたときの当該視覚標識が属する画像フレームに対応するカメラポーズ、及び当該ターゲット検出データに基づいて、ワールド座標系における当該視覚標識の位置の初期化結果と、ワールド座標系における当該視覚標識の姿勢の初期化結果とをそれぞれ取得すること、を含み、
【0074】
視覚標識検出データは、視覚標識のカメラ座標系に対する局所的ポーズから取得された、視覚標識が観測された測定値を含み、
【0075】
視覚標識のカメラ座標系に対する局所的ポーズは、視覚標識の特徴点の画像座標、カメラの内部パラメーター、及び標識のパラメーターによって取得され、
【0076】
当該視覚標識が属する画像フレームに対応するカメラポーズは、当該視覚標識が属する画像フレームを取得するときのカメラのカメラポーズである。
【0077】
好ましく、画像フレームにおける任意の視覚標識に対して、当該視覚標識が最初に観測されたときの当該視覚標識が属する画像フレームに対応するカメラポーズ、及び当該ターゲット検出データに基づいて、ワールド座標系における当該視覚標識の位置の初期化結果と、ワールド座標系における当該視覚標識の姿勢の初期化結果とをそれぞれ取得することは、
【0078】
前記画像フレームにおける任意の視覚標識に対して、前記画像フレームに対応する第1類ポーズのベクトル、カメラの外部パラメーターのポーズベクトル、及び観測された測定値のベクトルに基づいて、前記視覚標識のワールド座標系における位置の初期化結果を取得し、当該視覚標識が属する画像フレームに対応する第1類ポーズのベクトル、及びカメラの外部パラメーターのポーズベクトルに基づいて、当該視覚標識が最初に観測されたときの視覚標識が属する画像フレームに対応するカメラポーズを得ることと、
【0079】
ロボット本体座標系の大域的回転ベクトル、カメラの外部パラメーターの回転ベクトル、及び当該視覚標識のカメラ座標系における局所的回転ベクトルに基づいて、ワールド座標系における当該視覚標識の姿勢の初期化結果を取得することと、を含み、
【0080】
ロボット本体座標系の大域的回転ベクトルは、第1類ポーズの初期化結果から取得され、カメラの外部パラメーターの回転ベクトルは、カメラの外部パラメーターのポーズから取得され、当該視覚標識のカメラ座標系における局所的回転ベクトルは、カメラ座標系に対する当該視覚標識の局所的ポーズから取得される。
【0081】
好ましく、一実施形態において、少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することは、
構築しようとする標識マップの物理環境に配置された各視覚標識の画像を少なくとも1回採取して、少なくとも画像フレームを含むターゲット検出データを得ることと、
画像フレームの採取と同じ時点でターゲット測定データの測定を行うことと、を含んでよい。
【0082】
好ましく、一実施形態において、前記画像フレームの数は複数であり、
【0083】
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することの続いて、さらに、
下記の条件、即ち、
【0084】
現在のフレームに標識画像が存在する場合、当該フレームをキーフレームとすることと、
【0085】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の位置シフト偏差が設定された平均移動閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0086】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の回転偏差が設定された回転閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0087】
第1フレームがキーフレームであることと
のいずれか、又はそれらの組み合わせにより、複数の画像フレームからキーフレームを選別すること、を含み、
【0088】
ターゲット測定データに基づいて、画像フレームに対応する第1類ポーズの初期化結果を取得することは、
【0089】
ターゲット測定データに基づいて、キーフレームに対応する第1類ポーズの初期化結果を取得すること、を含み、
【0090】
前記ターゲット測定データに基づいて取得された画像フレームに関する第1類残差は、
【0091】
前記ターゲット測定データに基づいて取得された前記キーフレームに関する第1類残差を含み、
【0092】
第2類残差は、視覚標識の特徴点のキーフレームにおける再投影拘束残差である。
【0093】
技術案を明確するために、以下の文において、キーフレームをマップ構築に利用された画像とする例を挙げて、願に提供された視覚標識に基づき標識マップを構築する方法における各ステップを詳しく紹介する。なお、キーフレームを採用しない場合に対して、マップ構築に利用された画像は生データにおける画像フレームであり、マップ構築プロセスにおける各こととキーフレームを利用してマップ構築するときに対応ことと類似する。
【0094】
標識マップを構築するために、構築しようとする標識マップの物理環境において一定の数の視覚標識をランダムに配置する。前記視覚標識は、測位するための特徴点を含む。
【0095】
図1に示すように、
図1は本願実施例に提供された視覚標識に基づき標識マップを構築する方法のフローチャートである。当該方法は、以下のステップを含む。
【0096】
ステップ101、少なくとも画像フレームを含むターゲット検出データとターゲット測定データとを取得する。
【0097】
画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、ターゲット測定データは、画像フレームが採取された時点のロボットのロボット本体の当該オドメトリ座標系におけるポーズを含む。ターゲット検出データに含まれる画像フレームの数は、一つ又は複数であってよく、ターゲット検出データに含まれる画像フレームにおいては、少なくとも視覚標識に対する画像が存在し、それに応じて、ターゲット測定データは、画像フレームが採取された時点のロボットのロボット本体のオドメトリ座標系における一つ又は複数のポーズを含むこと、と理解されてよい。
【0098】
図2に示すように、
図2はデータ採取の模式図である。ロボットの移動を制御することで、ロボットは、少なくとも1つのカメラにより、構築しようとする標識マップの物理環境に配置された各視覚標識に対して画像採取を行い、かつ、各視覚標識を少なくとも1回採取する。画像採取により、少なくとも画像フレームを含むターゲット検出データを取得する。ホイールエンコーダなどの手段によりターゲット測定データを取得し、当該ターゲット測定データは少なくとも、画像フレームが採取された時点でロボット本体の、オドメトリに関する測定データを含む。オドメトリに関する測定データは、具体的に、ロボット本体のオドメトリ座標系におけるポーズである。ロボットの移動軌跡は制限されなく、全ての視覚標識が少なくとも1回採取されることを満たせばよい。
図2に示すように、合わせて4つの視覚標識が配置され、ロボット移動軌跡はオドメトリ軌跡であった。
【0099】
これにより、データ採取のプロセスにおいて採取された生データはターゲット測定データとターゲット検出データを含み、ターゲット測定データはロボット本体のオドメトリ座標系におけるポーズを含む。ターゲット検出データは、採取された画像フレームと、視覚標識の標識IDと、視覚標識の各特徴点の画像座標とを含む。
【0100】
また、カメラの内部パラメーター(光学中心の位置、レンズの焦点距離、変形係数など)と、カメラの外部パラメーター(カメラとロボット本体との間の相対ポーズ)と、標識パラメーター(各特徴点の標識座標系における局所的座標位置)とを含む、システムの変数を予め取得してよい。
【0101】
視覚標識に対する画像データを採取するプロセスにおいて、通常、視覚標識なしの画像フレーム及び当該画像フレームの測定データも採取し、これらのデータはターゲット検出データとターゲット測定データに属し、採取した生データを形成する。
【0102】
ステップ102、採取された生データに基づいて、キーフレームの選別ポリシーに応じて、生データから一定の数のキーフレームを選別する。
【0103】
計算効率を配慮して、大量の生データに含まれる画像フレームからキーフレームを選別することで標識マップの構築効率を向上するように、生データに対して選別を行ってよい。
【0104】
キーフレームの選別ポリシーは複数種であってよく、本実施例におけるポリシーは、
【0105】
現在のフレームに標識画像が存在する場合、当該フレームをキーフレームとすること、及び/または
【0106】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の位置シフト偏差が設定された平均移動閾値より大きい場合、現在のフレームをキーフレームとする、即ち、隣接するキーフレームのオドメトリに関するシフト偏差を設定された平均移動閾値より大きくすること、及び/または
【0107】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の回転偏差が設定された回転閾値より大きい場合、現在のフレームをキーフレームとする、即ち、隣接するキーフレームのオドメトリに関する回転偏差を設定された回転閾値より大くすること、及び/または
【0108】
第1フレームはキーフレームであること。
【0109】
具体的な応用において、具体的なキーフレーム選別方式は、現在のフレームに標識画像が存在する場合、キーフレームとして当該フレームを選択するとともに、下記の条件、即ち、
【0110】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の位置シフト偏差が設定された平均移動閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0111】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の回転偏差が設定された回転閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0112】
第1フレームがキーフレームであることと、
のいずれか、又はそれらの組み合わせにより、キーフレームを選別することを含んでよい、と理解される。
【0113】
これにより、選別されたキーフレームは、標識画像を有するキーフレームと、標識画像を有しないキーフレームとを含む。
【0114】
上記現在のフレームのオドメトリに関する上記測定とは、現在のフレームが採取された時点でロボット本体のオドメトリ座標系におけるポーズであり、キーフレームのオドメトリに関する測定とは、キーフレームが採取された時点でロボット本体のオドメトリ座標系におけるポーズである。つまり、任意のフレームのオドメトリに関する測定は、具体的に、当該フレームが採取された時点でロボット本体のオドメトリ座標系におけるポーズである。
【0115】
ステップ103、視覚標識を含むキーフレーム、及びステップ101 に取得された視覚標識の標識パラメーターにより、視覚標識のカメラ座標系に対する局所的ポーズを取得し、当該局所的ポーズを視覚標識が観測された測定値として、ターゲット検出データに追加する。視覚標識の標識パラメーターは、各特徴点の標識座標系における局所的座標位置を含む。
【0116】
当該ステップにおいて、視覚標識のカメラ座標系に対する局所的ポーズとは、具体的に、視覚標識のカメラ座標系におけるポーズである。視覚標識のカメラ座標系に対する局所的ポーズの解算は、実質的に、PnP(Perspective-n-Point)問題を解くこと、即ち、視覚標識の特徴点の画像座標、カメラの内部パラメーター、標識のパラメーターに基づいて、視覚標識のカメラ座標系に対する局所的ポーズを取得することである。PnP問題を解くための特徴点の数に対する要求を配慮すると、本願では、少なくとも4つの特徴点を含む。
【0117】
ステップ104、キーフレームに対応する第1類ポーズ、及び視覚標識に対応する第2類ポーズにおける大域的位置に対して初期化を行って、キーフレームに対応する第1類ポーズの初期化結果と視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果とを得る。キーフレームに対応する第1類ポーズは、キーフレームが採取された時点のロボット本体のワールド座標系におけるポーズであり、視覚標識に対応する第2類ポーズは、視覚標識のワールド座標系におけるポーズである。
【0118】
キーフレームに対応する第1類ポーズの初期化は、測定データの結果、即ち、ターゲット測定データに含まれるキーフレームが採取された時点でロボット本体のオドメトリ座標系におけるポーズを直接に採用する。視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果は、当該視覚標識が最初に観測されたときの視覚標識が属するキーフレームに対応するカメラポーズ、及びターゲット検出データに含まれる当該視覚標識が観測された測定値によって算出される。当該視覚標識が属するキーフレームに対応するカメラポーズは、当該視覚標識が属するキーフレームを取得するカメラのカメラポーズである。
【0119】
具体的な計算式は以下の通りである。
【0120】
【数1】
但し、記号の左側の上付きと下付きは、座標系の識別子である。
【0121】
【数2】
は、視覚標識のワールド座標系における大域的位置のベクトル(標識座標系mにおける、視覚標識がワールド座標系wに対する座標位置)、即ち視覚標識のワールド座標系における大域的位置の初期化結果である。
【0122】
【数3】
は、視覚標識が属するキーフレームに対応する第1類ポーズのベクトル(ロボット座標系bにおける、キーフレームが採取された時点でロボット本体がワールド座標系wに対するポーズ)であって、
【数4】
と表してよい。
【0123】
【数5】
は、ロボット本体のワールド座標系における大域的回転ベクトルであり、
【数6】
は、ロボット本体のワールド座標系における大域的位置ベクトルである。当該
【数7】
は、ロボット本体の大域的ポーズベクトル
【数8】
を二次元空間から三次元空間に変換して得られる。ロボット本体の大域的ポーズベクトルは
【数9】
と表してよい。
【数10】
は、ロボット本体のヨー角度であり、視覚標識が属するキーフレームに対応する第1類ポーズのベクトルの初期値は、ターゲット測定データを初期値とする。
【0124】
【数11】
は、カメラの外部パラメーターのポーズベクトル(カメラ座標系cにおけるカメラがロボット座標系bに対する位置)であって、
【数12】
と表してよい。
【数13】
は、カメラの外部パラメーターの回転ベクトルであり、
【数14】
は、カメラの外部パラメーター的位置ベクトルである。
【0125】
【数15】
は、視覚標識のカメラ座標系に対する局所的位置のベクトル(標識座標系mにおける視覚標識がカメラ座標系cに対する座標位置、即ち、観測された測定値)であって、ステップ103によって取得され、
【数16】
と表してよい。
【0126】
記号
【数17】
は右乗と表し、例えば、
【数18】
がある。記号
【数19】
は、投影を表し、例えば、
【数20】
がある。
【数21】
によって、視覚標識が最初に観測されたときの視覚標識が属するキーフレームに対応するカメラポーズを得る。
【0127】
ステップ105、キーフレームに対応する第1類ポーズの初期化結果と視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果に基づいて、キーフレームに関する第1類残差と、視覚標識に関する第3類残差とを計算する。本願では、第3類残差をM拘束残差と略称される。第1類残差は、キーフレームのオドメトリに関する拘束残差であり、第3類残差は、キーフレームにおける視覚標識の局所的位置の拘束残差である。
【0128】
任意のキーフレームiの第1類残差は、隣接するキーフレームとの間の第1類相対ポーズ、及び隣接するキーフレームとの間の第2類相対ポーズにより算出する。第1類相対ポーズ及び第2類相対ポーズは、いずれも、当該キーフレームが採取された時点の、隣接するキーフレームが採取された時点に対するロボット本体のポーズ変化であり、第1類相対ポーズは、第1類ポーズの状態変数に基づいて定められ、第2類相対ポーズは、ターゲット測定データにも基づいて定められる。例示的に、
【0129】
一実施形態として、隣接するキーフレームの第1類相対ポーズと当該第2類相対ポーズとの間の差を計算する。例えば、両者の間の差分は、以下の通りに表すことができる。
【0130】
【数22】
【数23】
は、キーフレームiの第1類残差の残差項を表する。
【数24】
は、キーフレームiに対応する第1類ポーズのベクトルを表し、
【数25】
は、キーフレームiと隣接するキーフレームi+1に対応する第1類ポーズのベクトルを表する。
【数26】
は、キーフレームiが採取された時点でロボット本体のオドメトリ座標系におけるポーズを表し、
【数27】
は、キーフレームi+1が採取された時点でロボット本体のオドメトリ座標系におけるポーズを表する。
【数28】
から隣接するキーフレームとの間の第1類相対ポーズが得られ、
【数29】
から隣接するキーフレームとの間の第2類相対ポーズが得られる。
【0131】
キーフレームにおける視覚標識の第3類残差を取得するプロセスは、
【0132】
任意のキーフレームiにおける任意の視覚標識jに対して、視覚標識jの局所的位置の拘束残差は、視覚標識が所在するキーフレームに対応するカメラ座標系における局所的位置と当該視覚標識が観測された測定値との間の差である。具体的に、視覚標識が所在するキーフレームに対応するカメラ座標系における局所的位置は、当該視覚標識に対応するカメラの外部パラメーターポーズ、当該キーフレーム(当該視覚標識が所在するキーフレーム)に対応する第1類ポーズの現在状態ベクトル、及び当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルによって取得され、当該キーフレームに対応する第1類ポーズの現在状態ベクトルは、1回目の反復時に当該キーフレームに対応する第1類ポーズの初期化結果であり、当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルは、1回目の反復時に、当該視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果のベクトルである。
【0133】
例示的に、一実施形態として、視覚標識が所在するキーフレームに対応するカメラ座標系における局所的位置と当該視覚標識が観測された測定値との間の差分は、以下の通りに表すことができる。
【0134】
【数30】
【数31】
は、キーフレームiにおける視覚標識jの局所的位置の拘束残差である。
【数32】
は、初期値がステップ104における第2類ポーズの初期化結果によって取得され、視覚標識jに対応する第2類ポーズにおける大域的位置のベクトルである。
【数33】
は、キーフレームiにおける視覚標識jが観測された測定値のベクトルを表す。
【数34】
から視覚標識jが所在するキーフレームiに対応するカメラ座標系における局所的位置が得られる。
【0135】
ステップ106、選別された全てのキーフレームの第1類残差と、全てのキーフレームにおける全ての視覚標識の第3類残差に対して共同最適化を行って、全てのキーフレームに対応する第1類ポーズの初歩的な最適化結果とキーフレームにおける全ての視覚標識に対応する第2類ポーズにおける大域的位置の初歩的な最適化結果を生成して、後続する標識特徴点の画像再投影拘束の共同最適化のために初期値を提供する。
【0136】
当該ステップにおいて、選別された全てのキーフレームの第1類残差と、全ての視覚標識の第3類残差によって、上記拘束残差を融合する第1ターゲット関数を構築し、非線形最適化問題に対する反復式最適化アルゴリズム、例えばLM(Levenberg-Marquardt)アルゴリズムを採用し、キーフレームに対応する第1類ポーズの初期化結果及びキーフレームにおける視覚標識に対応する第2類ポーズにおけるの大域的位置の初期化結果を初期値として、複数回の反復収束を行うことにより、反復プロセスにおいて、キーフレームに対応する第1類ポーズ及びキーフレームにおける第2類ポーズにおける大域的位置を状態変数として、即ち、最適化された状態変数は、第1類ポーズ及び第2類ポーズにおける大域的位置という二つの部分から構成される。第1ターゲット関数を最小値としたときの第1類ポーズ及び第2類ポーズにおける大域的位置を求める。第1ターゲット関数は、以下の通りに表すことができる。
【0137】
【数35】
但し、
【数36】
【数37】
は、キーフレームに対応する第1類ポーズであり、
【数38】
は、視覚標識に対応する第2類ポーズである。Nは、全てのキーフレームであり、Mは、全てのキーフレームにおける全ての視覚標識の数である。
【0138】
【数39】
は、キーフレームiの第1類残差に対応する拘束情報マトリクスであり、
【数40】
は、キーフレームiにおける視覚標識jの第3類残差に対応する拘束情報マトリクスである。情報マトリクスの値は、システムの誤差モデルに関連しており、通常、人工で与えられる。
【数41】
は、選別された全てのキーフレームNの第1類残差を積算することを表し、
【数42】
は、集合
【数43】
における全ての視覚標識jの第3類残差を積算することを表する。前記集合
【数44】
は、任意の視覚標識jを有するキーフレームiから構成される。最適化プロセスにおいて、第1反復時に、キーフレームに対応する第1類ポーズの状態変数の初期値は、ステップ104に取得されたキーフレームに対応する第1類ポーズの初期化結果であり、視覚標識に対応する第2類ポーズにおける大域的位置の状態変数の初期値は、ステップ104に取得された視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果である。1回目以降の反復プロセスにおいて、前回の反復に求められた状態変数を現在の状態変数として、各現在の反復時に最適化された状態変数を求める。
【0139】
ステップ106の共同最適化により、キーフレームに対応する第1類ポーズ及び視覚標識に対応する第2類ポーズにおける大域的位置は、より良いロバスト性を備え、反復プロセスにおいて局所的極小値に陥りにくくなり、後続する標識特徴点の画像再投影拘束の共同最適化の効率向上に寄与する。
【0140】
ステップ107、視覚標識を有するキーフレームに基づいて、視覚標識に対応する第2類姿勢における大域的姿勢(角度)に対して初期化を行う。
【0141】
視覚標識に対応する第2類姿勢における大域的姿勢(角度)の初期化は、当該視覚標識が最初に観測されたときの視覚標識が属するキーフレームに対応するカメラポーズ、及びターゲット検出データに含まれる観測された測定値によって計算されて得られる。以下の通りに表すことができる。
【0142】
【数45】
【数46】
は、視覚標識に対応する大域的回転ベクトル(標識座標系mがワールド座標系wに対する回転角度)、即ち、視覚標識に対応する第2類姿勢における大域的姿勢である。
【数47】
は、ロボット本体座標系の大域的回転ベクトル(ロボット本体座標系bがワールド座標系wに対する回転角度)である。
【数48】
は、カメラの外部パラメーターの回転ベクトル(カメラ座標系cがロボット本体座標系bに対する回転角度)である。
【数49】
は、視覚標識のカメラ座標系における局所的回転ベクトル(標識座標系mがカメラ座標系cに対する回転角度)であり、ステップ103において、取得された視覚標識のカメラ座標系に対する局所的ポーズから取得される。
【0143】
ステップ108、視覚標識に対応する第2類姿勢の初期化結果に基づいて、キーフレームと視覚標識に関する第2類残差を計算する。視覚標識に関する第2類残差は、視覚標識の特徴点のキーフレームにおける再投影拘束残差、即ち、カメラ画像における視覚標識特徴点のキーフレームの再投影誤差である。本願では、V拘束と略称され、以下の通りに表すことができる。
【0144】
【数50】
【数51】
は、キーフレームiにおける標識jが持つ特徴点kの当該キーフレームにおける再投影拘束残差、即ち、キーフレームと視覚標識に関する第2類残差である。proj(.)は、画像投影関数であり、Aは、カメラの内部パラメーターマトリクスである。
【数52】
は、特徴点kの視覚標識jの局所的位置ベクトル(標識座標系mにおける標識jに対する、特徴点kの画像座標系fにおける座標位置、即ち標識パラメーター)であり,
【数53】
は、特徴点kのカメラ画像における局所的位置のベクトル(カメラ座標系cにおけるキーフレームiに対する、特徴点kの画像座標系fにおける画像座標位置、即ち特徴点kの画像座標の測定値)である。
【数54】
は、ステップ107における視覚標識の大域的姿勢(角度)初期化結果及びステップ106で得られた大域的位置の初歩的な最適化結果により取得され、視覚標識jの第2類ポーズの初期値である。
【0145】
ステップ109、選別された全ての第1残差と、全ての第2類残差とに対して共同最適化を行って、前述両者の拘束残差を融合する第2ターゲット関数を構築し、第2ターゲット関数を最小値になるときの、キーフレームに対応する第1類ポーズと視覚標識に対応する第2類ポーズとを求める。
【0146】
ステップ106で取得されたキーフレームに対応する第1類ポーズの初歩的な最適化結果を、キーフレームに対応する第1類ポーズの初期値として、ステップ106で取得された視覚標識に対応する第2類ポーズにおける大域的位置の初歩的な最適化結果、及びステップ107で取得された視覚標識に対応する第2類ポーズにおける大域的姿勢結果を、視覚標識に対応する第2類ポーズの初期値として、非線形最適化問題に対する反復式最適化アルゴリズム、例えばLM(Levenberg-Marquardt)アルゴリズムを採用し、キーフレームに対応する第1類ポーズの初期値、及び視覚標識に対応する第2類ポーズの初期値に対して、複数回の反復収束を行う。反復プロセスにおいて、キーフレームに対応する第1類姿勢、及び視覚標識に対応する第2類ポーズ(大域的位置
【数55】
、及び大域的ポーズ
【数56】
)を状態変数として、即ち、最適化された状態変数は、キーフレームに対応する第1類姿勢、及び視覚標識に対応する第2類ポーズという二つの部分から構成される。第2ターゲット関数を最小値とするときの、キーフレームに対応する第1類ポーズと視覚標識に対応する第2類ポーズとを求める。第2ターゲット関数は、以下の通りに表すことができる。
【0147】
【数57】
但し、
【数58】
式中の第1類残差の残差項は、ステップ106における第1類残差と一致する。
【数59】
は、キーフレームiにおける視覚標識jが持つ特徴点kのキーフレームにおける再投影の拘束残差、即ちキーフレームiと視覚標識jに関する第2類残差である。
【数60】
は、V拘束残差に対応する情報マトリクス、即ちキーフレームiと視覚特徴jに関する第2類残差に対応する情報マトリクスである。
【数61】
は、全ての視覚標識jにおける全ての特徴点kのV拘束残差を積算することを表す。
【0148】
最適化プロセスにおいて、第2反復時に、キーフレームに対応する第1類ポーズの状態変数の初期値は、ステップ104に取得されたキーフレームに対応する第1類ポーズの初期化結果であり、視覚標識に対応する第2類ポーズにおける大域的位置の状態変数の初期値は、ステップ104に取得された視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果である。1回目以降の反復プロセスにおいて、前回の反復に求められた状態変数を現在の状態変数として、現在の反復時に最適化する状態変数を求める。
【0149】
ステップ110、取得された視覚標識に対応する第2類ポーズに基づいて標識マップを構築する。
【0150】
上記ステップにおいて、ステップバイステップの共同最適化ポリシーを採用する。即ち、まずM拘束共同最適化を採用して視覚標識の大域的位置を推定し、そして、V拘束共同最適化を実行して視覚標識の大域的ポーズを推算する。最適化アルゴリズムが局所的極小値に陥る確率を低減する。無論、キーフレームの第1類残差と視覚標識に対するM拘束残差との共同最適化は、実行されなくてもよい。第2ターゲット関数における反復収束を行う初期値は、ステップ104得られたキーフレームに対応する第1類ポーズの初期化結果、及び視覚標識に対応する第2類ポーズの初期化結果を採用することができる。視覚標識に対応する第2類ポーズにおけるの大域的位置の初期化結果は、ステップ104で取得され、視覚標識に対応する第2類ポーズにおける大域的姿勢の初期化結果は、ステップ107で取得される。
【0151】
図3に示すように、
図3は上記ステップ101~110に係る画像データの関連関係を示す模式図である。図においては、
【0152】
採取された生データ(画像フレーム)を選別して、キーフレームを取得し、
【0153】
キーフレームに基づいて、カメラの内部パラメーターマトリクス、標識パラメーター、及び特徴点のキーフレームにおける画像座標位置によって、カメラ座標系に対する視覚標識の局所的位置
【数62】
と、カメラに対する視覚標識の局所的姿勢
【数63】
とを含む、各視覚標識のカメラ座標系に対する局所的ポーズ、即ち、視覚標識が観測された測定値を取得し、
【0154】
ターゲット測定データに基づいて、ターゲット測定データ結果を、前記キーフレームに対応する第1類ポーズにおける大域的位置の初期化結果
【数64】
と、キーフレームに対応する第2類ポーズにおける大域的姿勢の初期化結果
【数65】
とを含む、キーフレームに対応する第1類ポーズの初期化結果とし、
【0155】
カメラの外部パラメーターから、カメラの外部パラメーターのポーズ
【数66】
と、カメラの外部パラメーターの姿勢
【数67】
とを取得し、即ち、カメラの外部パラメーターの回転ベクトルを取得し、
【0156】
前記
【数68】
(楕円破線内)によって、各視覚標識の第2類姿勢における大域的位置の初期化結果
【数69】
を取得し、
【0157】
前記
【数70】
によって、各視覚標識が所在するキーフレームカメラ座標系における局所的位置を取得し、当該局所的位置と所在するキーフレームに対応する画像座標系における局所的位置との間の差によって、各視覚標識的M拘束残差を取得し、
【0158】
全てのキーフレームに関する第1類残差と全てのキーフレームにおける視覚標識に関する第3類残差に対して、各キーフレームに対応する第1類ポーズの初期化結果及び各視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果を初期値(図示しない)とする共同最適化を行って、全てのキーフレームに対応する第1類姿勢の初歩的な最適化結果と全てのキーフレームにおける全ての視覚標識に対応する第2類姿勢における大域的位置の初歩的な最適化結果を取得し、前記全てのキーフレームの第1類残差は、ターゲット測定データに基づいて取得し、
【0159】
視覚標識の第1類ポーズの初期化結果(姿勢の初期化結果と位置の初期化結果とを含む)、カメラの内部パラメーターマトリクス、標識パラメーター、及びカメラ画像における特徴点の局所的位置によって、全てのキーフレームにおける各視覚標識の各特徴点のV拘束残差を計算し、全ての第1類残差と全ての第2類残差とに対して、前記各キーフレームに対応する第1類姿勢の初期化結果、及び前記各視覚標識に対応する第2類ポーズの初期化結果を初期値として共同最適化を行って、全てのキーフレームに対応する第1類ポーズの最適化結果と全てのキーフレームにおける全ての視覚標識に対応する第2類ポーズの最適化結果とを取得し、
【0160】
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築する。
【0161】
本願は、ターゲット検出データ及びターゲット測定データを利用して、オドメトリに関する拘束及び視覚標識の局所的位置に関する拘束の第1ターゲット関数と、オドメトリに関する拘束及び視覚標識特徴点の画像再投影拘束の第2ターゲット関数とをそれぞれ構築するとともに、第1ターゲット関数と第2ターゲット関数とを解く共同最適化問題によって、視覚標識の大域的ポーズを取得して、標識マップを構築する。これで分かるように、本技術案によれば、視覚標識の配置精度に対する依存性を軽減できる。なお、本技術案がマップを構築するとき、視覚標識が配置されたときに利用されたポーズ情報に依存しないため、環境測定に対する要求を軽減し、環境測定のプロセスを省略でき、視覚標識の配置作業の難しさを軽減し、人件と時間のコストを減らすことができる。そして、生データの選別、キーフレームデータの取得、及びキーフレームに対する最適化計算により、最適化アルゴリズムの計算効率を大幅に向上させる。
【0162】
図4に示すように、
図4は本願実施例における視覚標識に基づき標識マップを構築する装置の模式図である。当該装置は、
【0163】
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得し、前記画像フレームは、ロボットが予め配置された視覚標識に対する画像採取プロセスで採取した画像であり、前記ターゲット測定データは、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを含む、データ採取モジュールと、
【0164】
前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得し、前記第1類ポーズは、前記画像フレームが採取された時点のロボット本体のワールド座標系におけるポーズであり、前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得し、前記第2類ポーズは、前記視覚標識のワールド座標系におけるポーズである、初期化モジュールと、
【0165】
前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差と、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差とに対して、前記第1類ポーズを状態変数とし、前記第2類ポーズを状態変数とする共同最適化を行って、前記第2類ポーズの最適化結果を取得し、前記第1類残差は、前記画像フレームのオドメトリに関する拘束残差であり、前記第2類残差は、前記視覚標識の特徴点の前記画像フレームにおける再投影の拘束残差であり、前記第1類ポーズの初期値は、前記第1類ポーズの初期化結果であり、前記第2類ポーズの初期値は、前記第2類ポーズの初期化結果である、第1共同最適化モジュールと、
【0166】
得られた前記第2類ポーズの最適化結果に基づいて標識マップを構築する、マップ構築モジュールと、を含む。
【0167】
前記データ採取モジュールは、具体的に、構築しようとする標識マップの物理環境に配置された各視覚標識の画像を少なくとも1回採取して、少なくとも画像フレームを含むターゲット検出データを取得し、画像フレームの採取と同じ時点でターゲット測定データの測定を行う。
【0168】
前記データ採取モジュールは、ターゲット測定データとを取得するオドメトリ測定モジュールと、ターゲット検出データを取得する視覚標識検出モジュールと、を含む。
【0169】
前記初期化モジュールは、前記ターゲット測定データに基づいて前記画像フレームに対応する第1類ポーズの初期化結果を取得する第1初期化サブモジュールと、前記ターゲット検出データに基づいて前記視覚標識に対応する第2類ポーズの初期化結果を取得する第2初期化サブモジュールと、を含む。
【0170】
前記第1初期化サブモジュールは、具体的に、前記画像フレームが採取された時点の前記ロボットのロボット本体のオドメトリ座標系におけるポーズを、画像フレームに対応する第1類ポーズの初期化結果とする。
【0171】
前記第2初期化サブモジュールは、具体的に、
前記画像フレームにおける任意の視覚標識に対して、当該視覚標識が最初に観測されたときの当該視覚標識が属する画像フレームに対応するカメラポーズ、及び当該ターゲット検出データに基づいて、ワールド座標系における当該視覚標識の位置の初期化結果と、ワールド座標系における当該視覚標識の姿勢の初期化結果とをそれぞれ取得し、
【0172】
前記視覚標識検出データは、視覚標識のカメラ座標系に対する局所的ポーズから取得された、視覚標識が観測された測定値を含み、
【0173】
前記視覚標識のカメラ座標系に対する局所的ポーズは、視覚標識の特徴点の画像座標、カメラの内部パラメーター、及び標識のパラメーターによって取得され、
【0174】
当該視覚標識が属する画像フレームに対応するカメラポーズは、当該視覚標識が属する画像フレームを取得するときのカメラのカメラポーズである。
【0175】
前記第2初期化サブモジュールは、具体的に、
前記画像フレームにおける任意の視覚標識に対して、前記画像フレームに対応する第1類ポーズのベクトル、カメラの外部パラメーターのポーズベクトル、及び観測された測定値のベクトルに基づいて、前記視覚標識のワールド座標系における位置の初期化結果を取得し、当該視覚標識が属する画像フレームに対応する第1類ポーズのベクトル及びカメラの外部パラメーターのポーズベクトルに基づいて、当該視覚標識が最初に観測されたときの視覚標識が属する画像フレームに対応するカメラポーズを取得し、
【0176】
ロボット本体座標系の大域的回転ベクトル、カメラの外部パラメーターの回転ベクトル、及び当該視覚標識のカメラ座標系における局所的回転ベクトルに基づいて、ワールド座標系における当該視覚標識の姿勢の初期化結果を取得し、
【0177】
前記ロボット本体座標系の大域的回転ベクトルは、前記第1類ポーズの初期化結果から取得され、前記カメラの外部パラメーターの回転ベクトルは、前記カメラの外部パラメーターのポーズから取得され、当該視覚標識のカメラ座標系における局所的回転ベクトルは、カメラ座標系に対する当該視覚標識の局所的ポーズから取得される。
【0178】
当該装置は、さらに、
前記画像フレームにおける視覚標識の局所的位置に関する拘束残差である、前記視覚標識に関する第3類残差を取得し、
【0179】
前記第1類残差と第3類残差に対して、前記第1類ポーズを状態変数とし、前記第2類ポーズにおける大域的位置が状態変数とする共同最適化を行って、前記第1類ポーズの初期化結果である第1類ポーズの初歩的な最適化結果と、前記第2類ポーズにおける大域的位置の初期化結果である前記第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得し、
【0180】
前記第1類ポーズの初歩的な最適化結果を、前記第1類ポーズの初期化結果とし、
【0181】
前記第2類ポーズにおける大域的位置の初始最適化結果を、前記第2類ポーズにおける大域的位置の初期化結果とする、
第2共同最適化モジュールを含む。
【0182】
前記ターゲット検出データに基づいて、前記視覚標識に対応する第2類ポーズにおける大域的姿勢を取得することは、
【0183】
前記視覚標識が最初に観測されたときの前記視覚標識が属する画像フレームに対応するカメラポーズ、及び前記ターゲット検出データに基づいて、前記視覚標識に対応する第2類姿勢における大域的姿勢の初期化結果を取得することを含む。
【0184】
好ましく、前記画像フレームの数が複数であり、前記第2共同最適化モジュールは、具体的に、
【0185】
各第1類残差と各第3類残差とを融合する第1ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズにおける大域的位置の初期化結果を反復初期値とする反復により、前記第1ターゲット関数が最小値になるときの各第1類ポーズの初歩的な最適化結果と、各第2類ポーズにおける大域的位置の初歩的な最適化結果とを取得する。
【0186】
好ましく、前記画像フレームの数が複数であり、前記第1共同最適化モジュールは、具体的に、
【0187】
各第1類残差と各第2類残差とを融合する第2ターゲット関数を構築し、各第1類ポーズの初期化結果及び各第2類ポーズの初期化結果を反復初期値とする反復により、前記第2ターゲット関数が最小値になるときの各第2類ポーズの最適化結果を取得する。
【0188】
好ましく、前記第1共同最適化モジュールが、前記ターゲット測定データに基づいて取得された前記画像フレームに関する第1類残差を取得するプロセスは、
【0189】
画像フレームごとに、前記ターゲット測定データに基づいて、当該画像フレームとそれに隣接する画像フレームとの間の、第1類相対ポーズと第2類相対ポーズとを取得し、前記第1類相対ポーズ及び第2類相対ポーズは、いずれも、当該画像フレームが採取された時点の、隣接する画像フレームが採取された時点に対するロボット本体のポーズ変化であり、前記第1類相対ポーズは、前記第1類ポーズの状態変数に基づいて定められ、前記第2類相対ポーズは前記ターゲット測定データにも基づいて定められることと、
【0190】
前記第1類相対ポーズと第2類相対ポーズとの差により、当該画像フレームに関する第1類残差を計算することと、
【0191】
各前記画像フレームに関する第1類残差を積算して、全ての前記画像フレームに関する第1類残差を得ることとを含む。
【0192】
好ましく、前記第2共同最適化モジュールが、前記視覚標識に関する第3類残差を取得するプロセスは、
【0193】
画像フレームごとに、任意の視覚標識に対して、当該視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置と当該視覚標識が観測された測定値との間の差を取得して、当該視覚標識に関する第3類残差を得ることと、
【0194】
各視覚標識に関する第3類残差を積算して、全ての視覚標識に関する第3類残差を得ることと、を含み、
【0195】
前記視覚標識の当該画像フレームに対応するカメラ座標系における局所的位置は、当該視覚標識に対応するカメラの外部パラメーターのポーズ、当該画像フレームに対応する第1類ポーズの現在状態ベクトル、及び当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルによって取得され、当該画像フレームに対応する第1類ポーズの現在状態ベクトルは、1回目の反復時の当該画像フレームに対応する第1類ポーズの初期化結果であり、当該視覚標識に対応する第2類ポーズにおける大域的位置の現在状態ベクトルは、1回目の反復時の当該視覚標識に対応する第2類ポーズにおける大域的位置の初期化結果のベクトルである。
【0196】
好ましく、前記第1共同最適化モジュールが、前記ターゲット検出データに基づいて取得された前記画像フレームと視覚標識に関する第2類残差を確定するプロセスは、
【0197】
画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及び前記ターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得することを含む。
【0198】
好ましく、前記第1共同最適化モジュールが、画像フレームごとに、当該画像フレームにおける各視覚標識に対応する第2類ポーズの現在の状態変数、及びターゲット検出データに基づいて、当該画像フレームにおける全ての視覚標識の全ての特徴点の当該画像フレームにおける再投影の拘束残差を取得することは、
【0199】
画像フレームごとに、任意の視覚標識が持つ任意の特徴点に対して、カメラの内部パラメーターマトリクス、当該画像フレームに対応する第1類ポーズの現在の状態変数、当該視覚標識に対応する第2類ポーズの現在の状態変数、及び当該特徴点の標識座標系における局所的位置の投影関数と当該特徴点の画像座標の測定値との間の差によって、当該視覚標識における当該特徴点のその画像フレームにおける再投影の誤差を取得することと、
【0200】
各視覚標識の各特徴点の再投影誤差を積算して、全ての視覚標識の全ての特徴点の画像フレームにおける再投影の拘束残差を得ることとを含む。
【0201】
好ましく、前記画像フレームの数は複数であり、
【0202】
前記装置は、複数の画像フレームからキーフレームを選別する、キーフレーム選別モジュールをさらに含み、
少なくとも画像フレームを含むターゲット検出データと、ターゲット測定データとを取得することの続いて、下記の条件、即ち、
【0203】
現在のフレームに標識画像が存在する場合、当該フレームをキーフレームとすることと、
【0204】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の位置シフト偏差が設定された平均移動閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0205】
現在のフレームのオドメトリに関する測定と既存キーフレームのオドメトリに関する測定との間の回転偏差が設定された回転閾値より大きい場合、現在のフレームをキーフレームとすることと、
【0206】
第1フレームがキーフレームであることと
のいずれか、又はそれらの組み合わせにより、複数の画像フレームからキーフレームを選別し、
【0207】
前記ターゲット測定データに基づいて、前記画像フレームに対応する第1類ポーズの初期化結果を取得することは、前記ターゲット測定データに基づいて、前記キーフレームに対応する第1類ポーズの初期化結果を取得することを含み、
【0208】
ターゲット測定データに基づいて前記画像フレームに関する前記第1類残差は、
【0209】
前記ターゲット測定データに基づいて取得された前記キーフレームに関する第1類残差を含み、
【0210】
前記第2類残差は、前記視覚標識の特徴点の前記キーフレームにおける再投影拘束残差である。
【0211】
本願は、さらに、視覚標識に基づき標識マップを構築する電子機器を提供する。当該電子機器は、メモリとプロセッサとを備え、前記メモリは、コンピュータプログラムを格納することに用いられ、前記プロセッサは、前記メモリに格納されたプログラムを実行して、上記した視覚標識に基づき標識マップを構築する方法を実現することに用いられる。
【0212】
メモリは、ランダムアクセスメモリ(Random Access Memory,RAM)を含んでもよく、非揮発性メモリ(Non-Volatile Memory,NVM)を含んでもよく、例えば、少なくとも1つの磁気ディスクメモリである。好ましく、メモリは、さらに、少なくとも1つの前述プロセッサから離れた記憶装置であってもよい。上記したプロセッサは、セントラルプロセッサ(Central Processing Unit,CPU)、ネットワークプロセッサ(Network Processor,NP)等を含む汎用なプロセッサであってもよく、デジタルシグナルプロセッサ(Digital Signal Processing,DSP)、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、現場で書き換え可能な論理回路の多数配列(Field-Programmable Gate Array,FPGA)または他の書き換え可能な論理デバイス、ディスクリートゲート或いはトランジスタ倫理デバイス、ディスクリートハードウェアアセンブリを含む汎用プロセッサであってもよい。
【0213】
本願実施例は、さらに、コンピュータ可読記憶媒体を提供する。前記記憶媒体には、コンピュータプログラムが格納され、前記コンピュータプログラムは、プロセッサによって実行されると、本願に提供された視覚標識に基づき標識マップを構築する方法のステップを実現する。
【0214】
本願実施例は、コンピュータプログラムを提供する。前記コンピュータプログラムは、プロセッサによって実行されると、本願に提供された視覚標識に基づき標識マップを構築する方法を実現する。
【0215】
装置/ネットワーク側機器/記憶媒体実施例にとっては、基本的に、方法実施例と類似するので、説明が比較的に簡単であり、関連するところが方法実施例の部分に参照すればよい。
【0216】
本文において、「第1」と「第2」等の関係用語は1つのエンティティまたは操作を他のエンティティまたは操作を区別するのみに用いられ、これらのエンティティまたは操作の間にこのような実際な関係または順序がいずれかあることを、要求または示唆するものではない。また、用語「含まれる」、「含む」または他のいずれかの変形は非排他的な「含む」を意味する。従って、一連の要素を含む流れ、方法、製品或いはデバイスは、それらの要素のみを含むものではなく、さらに明確に挙げていない他の要素も含み、または、さらにこのような流れ、方法、製品或いはデバイスに固有する要素も含む。これ以上の制限がない場合、「・・・を含む」という記述によって限定した要素は、記載した要素を含む流れ、方法、製品、またはデバイスに、他の同一の要素があることを排除しない。
【0217】
以上の記載は本願の好ましい実施例に過ぎず、本願を制限することを意図するものではない。本願の主旨及び原則内で行われる如何なる修正、均等の代替、改良等は何れも本願の保護範囲内に含まれるべきである。
【国際調査報告】