JP2021056028A - 環境地図調整値算出方法および環境地図調整値算出プログラム - Google Patents

環境地図調整値算出方法および環境地図調整値算出プログラム Download PDF

Info

Publication number
JP2021056028A
JP2021056028A JP2019176985A JP2019176985A JP2021056028A JP 2021056028 A JP2021056028 A JP 2021056028A JP 2019176985 A JP2019176985 A JP 2019176985A JP 2019176985 A JP2019176985 A JP 2019176985A JP 2021056028 A JP2021056028 A JP 2021056028A
Authority
JP
Japan
Prior art keywords
image
environment map
map
adjustment value
information
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
JP2019176985A
Other languages
English (en)
Other versions
JP7338369B2 (ja
Inventor
麻子 北浦
Asako Kitaura
麻子 北浦
藤田 卓志
Takushi Fujita
卓志 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019176985A priority Critical patent/JP7338369B2/ja
Priority to US17/003,842 priority patent/US11467001B2/en
Priority to EP20193834.7A priority patent/EP3798982B1/en
Publication of JP2021056028A publication Critical patent/JP2021056028A/ja
Application granted granted Critical
Publication of JP7338369B2 publication Critical patent/JP7338369B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3859Differential updating map data
    • 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
    • G06T7/579Depth or shape recovery from multiple images from motion
    • 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
    • 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/10016Video; Image sequence
    • 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
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)

Abstract

【課題】環境地図において発生する位置誤差を調整すること。【解決手段】一般車301aの車載カメラ302aによって撮影された映像における画像の特徴点303aと、GNSS衛星300の測位によるカメラの位置に基づいて、V−SLAMの環境地図A305aを作成する。一般車301aとは別の一般車301bの車載カメラ302bによって撮影された映像からV−SLAMの環境地図B305bを作成する。環境地図A305aに基づいて推測される位置姿勢A306aと環境地図B305bに基づいて推測される位置姿勢B306bとを比較し、環境地図A305aと環境地図B305bの画像の位置差307を得る。位置差307に基づいて、環境地図A305aと環境地図305bとの位置誤差(ずれ)を調整する調整値308を算出し、それにより、環境地図A305aまたは環境地図305bの位置誤差を補正する。【選択図】図3

Description

本発明は、環境地図の調整値を算出する環境地図調整値算出方法および環境地図調整値算出プログラムに関する。
従来、移動体が移動中に取得した周辺状況に関するデータを入力とし、移動体の走行経路と周辺環境地図を同時に作成するSLAM(Simultaneous Localization and Mapping)という技術がある。また、SLAM技術の中でも、移動体が撮影した映像を入力として、移動体の走行時のカメラ位置・姿勢を推定する技術は、Visual−SLAM(以後、「V−SLAM」という)と呼ばれる。
V−SLAMは、車載カメラで撮影した映像を入力とし、撮影した映像に映る被写体の変化を用いて、自車走行経路(自車位置・姿勢)と周辺環境地図(周辺の被写体の画像特徴点群の3次元位置マップ、以下、「環境地図」という)を推定作成することができる技術であり、一般車の映像から自車位置と姿勢を推定することができる。
関連する先行技術としては、V−SLAMによる位置・姿勢推定のための環境地図を事前作成しておき、それを読み出して使用し、さらに、経年変化などで環境が変化した場合に、取得した画像特徴情報を用いて環境地図を更新する技術がある。
また、別の関連する先行技術としては、V−SLAMによる位置・姿勢推定において、誤差蓄積の影響を排除するために、画像と同時に取得したGNSS(Global Navigation Satellite System)による位置情報を補正用に用いる技術がある。
特開2018−128314号公報 特願2018−202252号
しかしながら、従来技術では、V−SLAMによって環境地図を作成する際に、GNSS情報を用いた場合に、一般にGNSS情報は誤差を含むため、利用したGNSS情報の誤差の影響で各環境地図の境界部分でずれが生じる。そのため、地域ごとの地図(マップ)の境界でマップを切り替える際にギャップが生じるという問題がある。
一つの側面では、本発明は、環境地図において発生する位置誤差を調整することを目的とする。
一つの実施態様では、情報処理装置が、撮影された第1の時系列画像のうちの任意の画像の特徴に基づいて作成される第1の環境地図と、前記第1の時系列画像とは別に撮影された第2の時系列画像のうちの任意の画像の特徴に基づいて作成される第2の環境地図との間の差異を調整するにあたり、前記第1の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置との比較をおこない、当該比較の結果に基づいて、前記第1の環境地図と前記第2の環境地図との間の差異を調整する調整値を算出する環境地図調整値算出方法が提供される。
本発明の一側面によれば、環境地図において発生する位置誤差を調整することができる。
図1は、理想的な環境地図(位置誤差なし)の上空俯瞰図の一例を模式的に示す説明図である。 図2は、実際の環境地図(位置誤差あり)の上空俯瞰図の一例を模式的に示す説明図である。 図3は、環境地図調整値算出方法および環境地図調整値算出プログラムの概要の一例を示す説明図である。 図4は、環境地図と映像との関係の一例(実施の形態1)を模式的に示す説明図である。 図5は、環境地図調整値算出方法を実現するシステム構成の一例を示す説明図である。 図6は、サーバのハードウェア構成の一例を示すブロック図である。 図7は、車載機のハードウェア構成の一例を示すブロック図である。 図8は、環境地図のデータ構成の一例を示す説明図である。 図9は、環境地図作成部の内容の一例を示す説明図である。 図10は、対象選定部・位置姿勢推定部の内容の一例を示す説明図である。 図11は、位置比較部・環境地図位置調整部の内容の一例を示す説明図である。 図12は、調整値算出の内容の一例を示す説明図である。 図13は、調整値算出の内容の別の一例を示す説明図である。 図14は、環境地図調整値算出方法の処理の手順の一例(実施の形態1)を示すフローチャートである。 図15は、環境地図と映像との関係の別の一例(実施の形態2)を模式的に示す説明図である。 図16Aは、第1位置比較部・GNSS位置調整部・環境地図更新部の内容の一例(実施の形態2)を示す説明図である。 図16Bは、第2位置比較部・環境地図位置調整部の内容の一例(実施の形態2)を示す説明図である。 図17は、環境地図調整値算出方法の処理の手順の別の一例(実施の形態2)を示すフローチャートである。 図18は、GNSS値補間の内容の一例を示す説明図である。 図19は、GNSS値補間の内容の別の一例を示す説明図である。
以下に図面を参照して、本発明にかかる環境地図調整値算出方法および環境地図調整値算出プログラムの実施の形態を詳細に説明する。
(実施の形態)
まず、図1〜図3を用いて、本実施の形態にかかる環境地図調整値算出方法および環境地図調整値算出プログラムの概要について説明する。
移動する一般車の車載機・ドライブレコーダのデータ(映像)を収集(プローブ)し、収集した一般車映像から、道路上や道路周辺の地物や移動物体の情報を取得し、交通情報や路上障害物情報を更新提供したり、自動運転向けの高精度地図を更新したり、自動運転向けに撮影時の周辺状況を解析したりするサービスを実施するにあたり、当該一般車映像を使ったサービス利用の前提として、車載画像(映像)を撮影したカメラ位置・姿勢(映像の撮影位置・姿勢)を正確に知る必要がある。
そこで、一般車などの移動体に搭載したカメラで撮影した画像について、撮影位置と姿勢を実座標系で高精度に求める。ここで、実座標系とは、世界座標系とも呼ばれ、世界における場所および方向を一意に表現可能な座標系であり、緯度・経度、標高、方位などが定義される。実座標系の定義方法は多種あるが、いずれも相互変換可能である。
SLAMは、移動中に取得した周辺状況に関する車載データ、たとえばLIDAR(Laser Imaging Detection and Ranging)データなどを入力とし、自車走行経路(自車の位置と姿勢)と周辺環境地図(周辺物の3次元位置マップなど)を同時に作成する技術の総称である。
V−SLAMは、移動するカメラで撮影した、時系列に連続する連続画像(動画)から、それぞれ空間上の点に対応付け可能な画像特徴を多数抽出する。そして、抽出した各画像特徴について、類似性を用いて連続画像間での対応付けをおこない、それらすべてが連続画像間で満たすべき幾何学条件について解を求める。これによって、各画像特徴の空間内での位置と、各画像の撮影位置および姿勢を求めることができる。
従来の一般的なV−SLAMでは、画像特徴の空間内での位置情報からなる「環境地図」を作成しながら、V−SLAM処理開始時点からの相対的な位置・姿勢の変化を求めるものである。しかしながら、たとえば、上述の特許文献2にかかる先行技術のように、開始時点を含めた各画像の位置を別手段で求めて、それらを最初の計算を行う座標系の決定計算や、相対的な位置・姿勢変化および環境地図の計算をおこなう際に用いることで、実座標系での位置・姿勢と、実座標系での環境地図を求めることも可能である。
ここで、この位置を求める別手段として、GPSなどのGNSSによる位置情報(「GNSS情報」)を用いることができる。GNSS情報を用いたV−SLAM処理をおこなうことで、GNSS情報単独では推定できない姿勢を含めて、実座標系での位置・姿勢を推定することができる。しかし、GNSS情報は、一般には数メートルの誤差を含んでいるため、求めた位置・姿勢や同時に求めた環境地図は、用いたGNSS情報の誤差を反映した誤差を含んでいる。このため、ほぼ同じ経路を別々に撮影した画像について、それぞれの画像を撮影した時のGNSS情報を用いたV−SLAMで実座標系での位置・姿勢を求めた結果は、異なる誤差を持ち、正確な相互の相対位置関係を求めることができない。
ところで、従来技術によれば、環境地図を作成する代わりに、ほぼ同じ経路を撮影した映像とGNSS情報からあらかじめ作成しておいた環境地図を入力することで、移動体映像のカメラの位置姿勢を推定することもできる。この推定では、まず事前準備として、画像から処理によって抽出可能かつ実座標系上の一点と対応付けが可能な多数の「画像特徴」について、それらの実座標系での位置をデータとして持つ「環境地図(環境マップ)」を作成しておく。
つぎに、撮影位置・姿勢の推定対象である画像から、「画像特徴」を多数抽出して、それらの「画像特徴」と入力した「環境地図」に記録されている画像特徴とを、類似性を考慮して対応付けをする。そして、それらの画像特徴が満たすべき幾何学条件の解を求めることで、画像を撮影した位置および姿勢を算出する。この方法で算出した位置・姿勢は、入力した環境地図の誤差、すなわち、入力した環境地図を作成した時に利用したGNSS情報の誤差を含む。
ところで、広域の環境地図を作成する場合、一般には全域の環境地図を一気に作成することは難しい。したがって、分割した地域ごとに別々に環境地図を作成し、かつ、境界でギャップが生じないようにしておく。そして、境界を跨ぐ際に環境地図を切り替えながら使用することで、広域でシームレスに環境地図を利用できる。
ここで、地域ごとの環境地図を作成する場合、上述のように、一般にGNSS情報は誤差を含むため、環境地図の境界部分において、位置誤差、すなわち「ずれ」が生じる。そのため、地域ごとの地図(マップ)の境界でマップを切り替える際にギャップが生じてしまう。これは、カーナビゲーションなどの一般のGNSSは、数メートルの位置誤差があり、かつ走行日時や場所によって位置誤差量が異なるためである。したがって、同じ場所において取得したデータであっても、取得タイミングごとに位置が異なる。この結果、異なる画像およびGNSS情報から作成した環境地図は、同じ場所であっても位置ずれが生じることになる。
図1は、理想的な環境地図(位置誤差なし)の上空俯瞰図の一例を模式的に示す説明図であり、図2は、実際の環境地図(位置誤差あり)の上空俯瞰図の一例を模式的に示す説明図である。図1においては、向かって左側から右側、すなわち、カメラ101→カメラ102→・・・→カメラ105の方向に走行路がある場合を示している。そして、各カメラ101〜105に対して、画像1〜画像5が対応している。また、三角形の図形で示した各カメラ101〜105において、頂点の白丸は、カメラ原点、すなわち、撮影位置を示している。
図1において、走行路の周辺に走行中映像から抽出した画像特徴点111を含む丸印(白丸「○」)および画像特徴点112を含む丸印(黒丸「●」)の3次元位置を、環境地図AおよびBについて色分け表示している。白丸「○」で示す丸印は、環境地図Aにおける画像特徴点であり、黒丸「●」で示す丸印は、環境地図Bにおける画像特徴点である。そして、白丸「○」でも、黒丸「●」でもない画像特徴点113を含む丸印(斜線の丸印)が、環境地図Aと環境地図Bに共通な画像特徴点の存在範囲領域110における画像特徴点を示している。また、図1では、環境地図を使って画像1〜画像5の撮影位置姿勢を推定している様子も示す。
図1に示すように、理想的な環境地図においては、位置誤差がない、すなわち、GNSS情報に誤差がないため、環境地図Aと環境地図Bとで「位置ずれ」は生じない。したがって、走路上の共通する画像特徴点の3次元位置、たとえば同じビルの角などは、環境地図A、環境地図Bのどちらでも、3次元位置は同じ場所となるため、環境地図の重複部分110の画像特徴点は、すべて同じ3次元位置になる。
このため、一般的な透視投影により周辺の画像特徴点群の3D位置を画像上に逆投影したものと、実際の画像上の画像特徴点の出現状況と比較して撮影位置姿勢を推定して得られる画像1〜5の位置姿勢は、環境地図Aと環境地図Bで画像特徴点の位置ずれがなく、どちらの地図を用いた場合であっても、重複区間内の特徴点で推定する画像3の位置姿勢は同じ1つの値に特定され、環境地図を切り替える場合にも、ギャップが生じることはない。
一方で、図2は、GNSS位置誤差によって位置ずれが生じている環境地図Aと環境地図Bの様子を示している。図2においても、図1と同様に、向かって左側から右側、すなわち、カメラ201→カメラ202→・・・→カメラ205の方向に走行路がある場合を示している。そして、各カメラ201〜205に対して、画像1〜画像5が対応している。
図2において、走行路の周辺に走行中映像から抽出した画像特徴点211を含む丸印(白丸「○」)および画像特徴点212を含む丸印(黒丸「●」)の3次元位置を、環境地図AおよびBについて色分け表示している。白丸「○」で示す丸印は、環境地図Aにおける画像特徴点であり、黒丸「●」で示す丸印は、環境地図Bにおける画像特徴点である。そして、白丸「○」でも、黒丸「●」でもない画像特徴点213aを含む丸印(右肩上がりの斜線の丸印)が、環境地図Aと環境地図Bに共通な画像特徴点の存在範囲領域210aにおける画像特徴点を示している。また、画像特徴点213bを含む丸印(左肩上がり斜線の丸印)が、共通画像特徴点の存在範囲領域210bにおける画像特徴点を示している。共通画像特徴点の存在範囲領域210aと210bは、図1における共通画像特徴点の存在領域110に対応し、本来重なるべき共通画像特徴点の存在範囲領域である。
図2に示すように、実際の環境地図においては、位置誤差がある、すなわち、GNSS情報などに誤差があるため、環境地図Aと環境地図Bとで「位置ずれ」が生じ、重複区間の共通画像特徴点群が、同じ3D位置にならず、それぞれ別の場所に存在している。このため、同じ画像特徴点との位置関係から推定する「画像3」の撮影位置姿勢も、環境地図Aによって推定した位置姿勢(「画像3a」)と、環境地図Bで推定した位置姿勢(「画像3b」)には差が生じてしまう。したがって、環境地図Aから環境地図Bに移行する際に、「画像3」としてどちらの位置を使用しても、その前後の「画像2」または「画像4」の位置姿勢との間に、本来よりも大きな位置差が生じてしまい、推定位置姿勢にギャップが生じることになる。本発明は、このGNSS情報の誤差による環境地図のずれという課題を解決することを目的とする。
図3は、環境地図調整値算出方法および環境地図調整値算出プログラムの概要の一例を示す説明図である。図3において、一般車301aには、車載カメラ302aが搭載されている。この車載カメラ302aによって撮影された映像における画像の特徴点303aと、(GNSS)衛星300による測位情報、すなわち、衛星300からの電波による車載カメラの位置(すなわち、一般車の位置)304aとに基づいて、V−SLAMの環境地図A305aを作成する。
同様に、一般車301bには、車載カメラ302bが搭載されている。この車載カメラ302bによって撮影された映像における画像の特徴点303bと、GNSS衛星300による測位情報であるカメラの位置304bとから、V−SLAMの環境地図B305bを作成する。
さらに、一般車301cには、車載カメラ302cが搭載されており、この車載カメラ302cによって撮影された映像における画像の特徴点303cを作成する。
そして、画像の特徴点303cに対して、環境地図A305aに基づいて推測される位置姿勢A306aと環境地図B305bに基づいて推測される位置姿勢B306bと算出し、同じ画像の位置姿勢であるはずのそれら2つの位置姿勢306aと306bの位置をを比較し、位置差307を得る。この位置差307に基づいて、環境地図A305aと環境地図B305bとの位置誤差(ずれ)を調整する調整値308を算出する。算出された調整値308を用いて、環境地図A305aまたは環境地図B305bのいずれかを補正する。
なお、後述するように、一般車301cおよび車載カメラ302cは、一般車301aおよび車載カメラ302aとおなじであってもよい。あるいは、一般車301cおよび車載カメラ302cは、一般車301bおよび車載カメラ301bと同じであってもよい。このため、画像の特徴点303cは、画像の特徴点303aと画像の特徴点303bのいずれかと等しくてもよい。
以下、環境地図調整値算出方法および環境地図調整値算出プログラムの詳細な内容について、実施の形態1および実施の形態2において説明する。
(実施の形態1)
図4は、環境地図と映像との関係の一例(実施の形態1)を模式的に示す説明図である。図4では、映像A、映像B、映像Cの一例として、各映像の撮影時の走行ルートと、映像A、映像Bから作成した環境地図A、環境地図Bの一例を、上空俯瞰図を用いて模式的に示している。
図4において、環境地図Aの領域401は、映像Aに出現する画像特徴点の3D位置の存在範囲を示しており、環境地図Bの領域402は、映像Bに出現する画像特徴点の3D位置の存在範囲を示している。符号421を含む、環境地図Aの領域401内の丸印は、環境地図Aの画像特徴点3D位置を示しており、符号422を含む、環境地図Bの領域402内の丸印は、環境地図Bの画像特徴点3D位置を示している。
矢印411は、環境地図Aの作成時の映像Aの走行ルートを示しており、矢印412は、環境地図Bの作成時の映像Bの走行ルートを示している。また、矢印413は、映像Cの走行ルートを示している。ここで、映像Cは、同じ位置を含む環境地図A・環境地図Bと、同位置を含む映像である。図4においては、映像Cは、映像A・映像Bと異なる映像としたが、後述するように、映像Cは、映像A・映像Bのいずれかと同じ映像であってもよい。また、映像A〜Cの走行方向は矢印で示しているが、SLAM処理による位置姿勢推定が算出できれば、その走行方法は問わない(ただし、同じ走行方向のほうが、SLAM処理による位置姿勢推定が算出しやすい)。
図4に示すように、環境地図A・環境地図Bには、同位置を走行した映像によって、同じ区間(重複区間403)の画像特徴点が含まれる。実施の形態1においては、この重複区間403における画像特徴点を用いて、環境地図調整値を算出する。
(システム構成例)
図5は、環境地図調整値算出方法を実現するシステム構成の一例を示す説明図である。図5において、実施の形態にかかる環境地図調整値算出方法を実現するシステム500は、サーバ501と、移動体503に搭載される車載機502とを備える。車載機502は、移動体503に搭載され、衛星505からのGNSS情報および車載カメラ(後述する図7に示す撮像装置706)の映像を収集する。
そして、サーバ501と車載機502とが、ネットワーク504によって接続されることにより、システム500を構成する。また、システム500は、図示は省略するが、クラウドコンピューティングシステムによって、その機能を実現するようにしてもよい。
移動体503は、具体的には、たとえば、一般乗用車やタクシーなどの営業車、二輪車(自動二輪や自転車)、大型車(バスやトラック)などである。また、情報を収集するコネクテッド・カーであってもよい。また、移動体503には、水上を移動する船舶や上空を移動する航空機、無人航空機(ドローン)、自動走行ロボットなどであってもよい。
車載機502は、車載カメラ(後述する図7に示す撮像装置706)の撮影映像に関する情報を収集する。また、車載機502は、測位情報の一例であるGNSS情報を含む移動体503の情報を収集する。移動体503の情報には、移動体503から収集する、移動体503の姿勢情報なども含んでいてよい。また、車載機502は、撮影時刻などに関する情報も収集するようにしてもよい。
車載機502は、移動体503に搭載された専用の装置であってもよく、取り外し可能な機器であってもよい。また、スマートフォンやタブレット端末装置などの通信機能を備えた携帯端末装置を移動体503において利用するものであってもよい。また、車載機502の各種機能の全部または一部を、移動体503が備えている機能を用いて実現するようにしてもよい。
したがって、車載機502の『車載』という表現は、移動体に搭載された専用装置という意味には限定されない。車載機502は、移動体503における情報を収集し、収集した情報をサーバ501に対して送信できる機能を持った装置であれば、どのような形態の装置であってもよい。
車載機502は、撮影映像に関する情報およびGNSS情報を含む移動体503の情報(車載データ)を取得し、取得した車載データを保存する。そして、保存した車載データを、無線通信によって、ネットワーク504を介して、サーバ501へ送信する。また、サーバ501から配信されたプログラムを含む各種データを、ネットワーク504を介して、無線通信により受信する。
また、車載機502は、近距離通信機能により、近くを走行中の別の移動体503の情報を取得し、サーバ501へ送信するようにしてもよい。また、車載機502どうしが、近距離通信機能により、通信をおこない、他の車載機502を介して、サーバ501との通信をおこなうようにしてもよい。
このようにして、移動***置推定システム500において、サーバ501は、移動体503に搭載された車載機502から車載データを取得するとともに、各車載機502へ各種データを配信することができる。
また、車載機502は、通信手段を備えていなくてよい。すなわち、車載機502は、サーバ501とは、ネットワーク504を介して接続されていなくてもよい。その場合は、車載機502に蓄積されたデータは、オフラインで(たとえば、記録メディアを介して人手などにより)、サーバ501に入力することができる。
サーバ501は、環境地図作成部511、位置姿勢推定部512、位置比較部513、環境地図位置調整部514を有する。これらの構成部511〜514によって、サーバ501の制御部を構成することができる。さらに、後述する、図10に示す対象選定部1001を有していてもよい。また、サーバ501は、映像522(映像A522a、映像B522b、映像C522c)とともに取得したGNSS情報としてGNSS−a、GNSS−b、GNSS−cを持つ。
また、サーバ501は、内部処理データとして、環境地図データ(「環境地図」523)、中間データとして位置姿勢データ(「位置姿勢」524)、オフセットデータとして位置差データ(「位置差」525)、環境地図B523bを位置補正するための調整値データ(「調整値」526)を保持する。また、カメラ映像(「映像」522)を車載機502から取得するとともに、映像522と同時に取得するGNSS情報(「GNSS」521)も車載機502から取得する。
環境地図作成部511は、撮影された時系列画像(映像)522を入力し、入力された映像522のうちの任意の画像の特徴に基づいて、環境地図523を作成する。環境地図作成部511は、映像A522a、映像B522b、映像C522cとともに取得したGNSS521を入力するようにしてもよい。
位置姿勢推定部512は、環境地図作成部511によって作成された環境地図523の情報と映像情報522に基づいて位置姿勢524を推定(算出)する。位置比較部513は、位置姿勢推定部512によって推定(算出)された位置姿勢524のうち、同じ画像の位置どうしを比較し、位置差525を出力する。環境地図位置調整部514は、位置比較部513によって出力された位置差525に基づいて、環境地図間の差異を調整する調整値526を算出する。
より具体的には、図9に示すように、環境地図作成部511は、撮影された第1の時系列画像(映像A522a)のうちの任意の画像の特徴に基づいて第1の環境地図(環境地図A523a)を作成する。また、環境地図作成部511は、環境地図A523aとは別に撮影された第2の時系列画像(映像B522b)のうちの任意の画像の特徴に基づいて第2の環境地図(環境地図B523b)を作成する。第1の時系列画像および第2の時系列画像は、移動体503(の車載機502)の撮像装置706(図7を参照)によって撮影されたものであってもよい。
また、図10に示すように、位置姿勢推定部512は、環境地図A523aの情報に基づいて位置姿勢Ca524aを推定(算出)する。また、位置姿勢推定部512は、環境地図B523bの情報に基づいて位置姿勢Cb524bを推定(算出)する。より具体的には、位置姿勢推定部512は、映像A522aの撮影場所および映像B522bの撮影場所を含む第3の時系列画像(映像C522c)を用いて、環境地図A523aの情報に基づいて推定される映像C522cの位置姿勢Ca524aを推定(算出)する。また、位置姿勢推定部512は、映像C522cを用いて、環境地図B523bの情報に基づいて推定される映像C522cの位置姿勢Cb524bを推定する。
また、図11に示すように、位置比較部513は、位置姿勢推定部512によって推定(算出)された位置姿勢524aにかかる画像の位置と、位置姿勢推定部512によって推定(算出)された位置姿勢524bにかかる画像の位置とを比較し、当該比較の結果として位置差525を出力する。
また、環境地図位置調整部514は、位置比較部513によって出力された位置差525に基づいて、環境地図A523aと環境地図B523bとの間の差異を調整する調整値526を算出する。また、環境地図位置調整部514は、算出した調整値526に関する情報を、環境地図A523aおよび環境地図B523bの少なくともいずれかと関連付けて記憶するようにしてもよい。
また、図12に示すように、環境地図位置調整部514は、環境地図A523aにおける画像の位置と、環境地図B523bにおける画像の位置との位置差525と、位置差525の算出に用いた画像間の位置差とを用いて、調整値526を算出するようにしてもよい。
また、環境地図位置調整部514は、環境地図A523aにおける画像の位置との位置差525を用いて、位置差525が規定値以上の画像を複数選択し、選択された画像群の位置を用いる空間変換行列を求めて、調整値526を算出するようにしてもよい。
また、図13に示すように、環境地図位置調整部514は、環境地図A523aにおける画像の位置との位置差525と、位置差525の算出に用いた画像の位置と、環境地図523に含まれる任意の画像特徴の3次元位置との位置差とを用いて、調整値526を算出するようにしてもよい。
図5においては、サーバ501が、環境地図作成部511と、位置姿勢推定部512と、位置比較部513と、環境地図位置調整部514と、を有する構成とした。図示は省略するが、これらの各機能部の少なくとも一つを、サーバ501に加えて、あるいは、サーバ501に代えて、車載機502が有するようにしてもよい。車載機502が、各機能部511、512、513、514の少なくとも一つを有する場合は、サーバ501が実施する処理の内容と同じであってもよい。また、サーバ501は複数のサーバから構成されてもよく、それらの複数のサーバが、各機能部を分散して処理をおこなうようにしてもよい。
(サーバのハードウェア構成例)
図6は、サーバのハードウェア構成の一例を示すブロック図である。情報処理装置の一例であるサーバ501は、1つまたは複数のCPU(Central Processing Unit)601と、メモリ602と、ネットワークI/F(Interface)603と、記録媒体I/F604と、記録媒体605と、を有する。また、各構成部は、バス600によってそれぞれ接続される。
ここで、CPU601は、サーバ501の全体の制御を司る。メモリ602は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、たとえば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU601のワークエリアとして使用される。メモリ602に記憶されるプログラムは、CPU601にロードされることで、コーディングされている処理をCPU601に実行させる。
ネットワークI/F603は、通信回線を通じてネットワーク504に接続され、ネットワーク504を介して他の装置(たとえば、車載機502や、他のサーバやシステム)に接続される。そして、ネットワークI/F603は、ネットワーク504と自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。ネットワークI/F603には、たとえば、モデムやLANアダプタなどを採用することができる。
記録媒体I/F604は、CPU601の制御にしたがって記録媒体605に対するデータのリード/ライトを制御する。記録媒体605は、記録媒体I/F604の制御で書き込まれたデータを記憶する。記録媒体605としては、たとえば、磁気ディスク、光ディスクなどが挙げられる。
なお、サーバ501は、上述した構成部のほかに、たとえば、SSD(Solid State Drive)、キーボード、ポインティングデバイス、ディスプレイなどを有していてもよい。
(車載機のハードウェア構成例)
図7は、車載機のハードウェア構成の一例を示すブロック図である。情報収集装置の一例である車載機502は、CPU701と、メモリ702と、無線通信装置703と、移動体I/F704と、受信装置705と、撮像装置706と、を有する。また、各構成部は、バス700によってそれぞれ接続される。
CPU701は、車載機502の全体の制御を司る。メモリ702は、たとえば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、たとえば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU701のワークエリアとして使用される。メモリ702に記憶されるプログラムは、CPU701にロードされることで、コーディングされている処理をCPU701に実行させる。
無線通信装置703は、発信された電波を受信したり、電波を発信したりする。アンテナと受信装置とを含む構成であり、各種通信規格による移動通信(具体的には、たとえば、3G、4G、5G、PHS通信など)、Wi−Fi(登録商標)などの通信を送受信する機能を備えている。
移動体I/F704は、移動体503と車載機502の自装置内部とのインターフェースを司り、移動体503からのデータの入出力を制御する、したがって、車載機502は、移動体I/F704を介して移動体503が備えるECU(各種センサなどを含む)707から情報を収集する。移動体I/F704は、具体的には、たとえば、有線により接続する際に用いるコネクタや近距離無線通信(具体的には、たとえば、Bluetooth(登録商標))装置などであってもよい。
受信装置(たとえばGPS(Global Positioning System)受信装置などのGNSS受信装置)705は、複数の衛星505からの電波を受信し、受信した電波に含まれる情報から、地球上の現在位置を算出する。
撮像装置(たとえばカメラなど)706は、静止画や動画を撮像する機器である。具体的には、たとえば、レンズと撮像素子とを備える構成である。撮像装置706は、ドライブレコーダであってもよい。撮像装置706による撮像画像は、メモリ702に保存される。また、カメラなどの撮像装置706は、画像認識機能や、バーコードやQRコード(登録商標)を読み取る機能や、OMR(Optical Mark Reader)、OCR(Optical Character Reader)機能などを備えていてもよい。
図7に示したように、GNSS受信装置705および撮像装置706は、車載機502が備えていてもよく、また、移動体503が備えていたり、別途、外付けされたものを用いるようにしてもよい。その際、GNSS受信装置705あるいは撮像装置706と、車載機502とのデータのやりとりは、有線または無線通信によりおこなうようにしてもよい。
GNSS受信装置705や撮像装置706を、車載機502が備えていない場合は、移動体I/F704などを介して、それらの情報を取得するようにしてもよい。また、車載機502は、図示は省略するが、各種入力装置、ディスプレイ、メモリカードなどの記録媒体の読み書き用のインターフェース、各種入力端子などを備えていてもよい。
(環境地図の内容)
図8は、環境地図のデータ構成の一例を示す説明図である。図8において、環境地図523は、特徴点群情報(3次元位置情報)801を有する。図8に示すように、特徴点群情報(3次元位置情報)801は、当該特徴点群情報を識別する一意の識別情報である「ID」、特徴点の実座標系での位置座標に関する情報(3次元位置の情報)である「位置座標」、および、画像特徴量を示す情報である「画像特徴量」を含む各種情報からなる。このように、環境地図523は、画像特徴点の画像特徴量と3次元位置の情報を持つデータ構成を有する。
また、環境地図523は、特徴点群情報(3次元位置情報)801に加えて、さらに、特徴点群情報(画像内位置情報)802を有するようにしてもよい。環境地図523を用いて任意画像の撮影位置姿勢を推定するには、環境地図523の画像特徴点が任意画像上に現れたか、現れたならばどの位置であるか、を知る必要がある。
そこで、特徴点群情報(画像内位置情報)802を保持することによって、環境地図523を利用して任意画像の撮影位置姿勢を推定する際に、当該任意画像と似た画像が環境地図523作成時の画像群にないかを調べて、該作成の画像でどの画像特徴点が出現していたかを、特徴点群情報(画像内位置情報)802を使ってあらかじめ判定することができる。
これによって、明らかに当該任意画像と無関係な3次元特徴点群の利用を、容易に省くことができる。このように、環境地図523の利用を簡単にするため、参考として環境地図523の作成に用いた各画像内での該特徴点の出現情報である特徴点群情報(画像内位置情報)802を保持するようにしてもよい。
特徴点群情報(画像内位置情報)802は、当該特徴点群情報を識別する一意の識別情報である「ID」、出現画像を識別する一意の識別情報である「出現画像ID」、特徴点群情報(3次元位置情報)を識別する一意の識別情報(すなわち、特徴点群情報(3次元位置情報)801の「ID」)である「3D特徴点ID」、当該特徴点の画像内2次元位置を示す情報である「特徴点出現位置」を含む各種情報からなる。
このように、環境地図(環境地図A523aおよび環境地図B523b)は、画像特徴の空間内での位置情報(特徴点群情報(3次元位置情報)801)を含む。この位置情報は、空間内の一点と対応付けられた画像特徴(画像特徴量)について、実座標系における位置に関する情報(位置座標)であってもよい。すなわち、環境地図523がV−SLAMの地図であってもよい。
(環境地図作成部511の内容)
図9は、環境地図作成部の内容の一例を示す説明図である。図9において、環境地図作成部511は、環境地図未作成の映像522(522a、522b)と、当該映像522と同時取得したGNSS情報521(521a、521b)を入力し、映像内の画像特徴の実座標系における3次元位置を環境地図(523a、523b)として作成し、出力する処理をおこなう処理部である。
GNSS−a521aは、映像A522aと同時に測位センサ(たとえば、図7に示した受信装置705)により取得したGNSS情報である。同様に、GNSS−b521bは、映像B522bと同時に測位センサにより取得したGNSS情報である。GNSS−a521aおよびGNSS−b521bは、それぞれ異なる位置誤差を含む値である。GNSS−a521aおよびGNSS−b521bは、具体的には、たとえば、GPS値であってもよい。各位置は、計算を簡単にするため、平面直角座標系などの値に変換しておくことが望ましい。このため、以後は、GNSSの値を含めた各実座標位置である経度・緯度の値を、直交するXYの二次元値に変換した値として説明する。
なお、測位センサで取得した各位置に対し、取得した測位センサと車載カメラとの移動体内の設置位置の相対位置差を付加することで、車載カメラの位置に変換することができる。このように変換した位置を用いることで、後述する映像の撮影位置・姿勢の推定精度を、より向上させることができる。
映像A522a、映像B522b、および、後述する映像C522cは、たとえば、異なるタイミングで撮影した移動体映像であり、移動体や撮影したカメラは異なっていてもよく、撮影日時も異なっていてもよい。また、映像A522a、映像B522bおよび映像C522cは、撮影時に同じ位置を走行した映像である。
ここで、同じ位置の走行とは、完全に同じ実座標位置を走行するのではなく、走行路の同区間における走行であればよい。具体的には、たとえば、同じ交差点を通過したり、同じ店の前を通過したりしたものを含む。したがって、同じ位置の走行には、若干の走行位置の違いがあったり、異なる車線を走行したりしていてもよい。また、走行方向も同じでなくてもよい。たとえば、逆方向走行でもよいし、同じ交差点を通過する直進走行と右折走行または左折走行であってもよい。
そして、環境地図作成部511は、映像A522aとGNSS−a521aを使って環境地図A523aを作成する。また、映像B522bとGNSS−b521bを使って環境地図B523bを作成する。なお、この際、本実施の形態1においては、映像A522aの画像の撮影位置姿勢である位置姿勢Aaを、環境地図A523aと同時に出力しているが、この位置姿勢Aaの出力は省略してもよい。同様に、本実施の形態1において、映像B522bの画像の撮影位置姿勢である位置姿勢Bbを、環境地図B523bと同時に出力しているが、この位置姿勢Bbの出力は省略してもよい。
環境地図作成部511による環境地図の作成は、従来技術におけるV−SLAM(具体的には、たとえば、本願発明者による特願2018−202252号などに記載のVisual−SLAM)の技術を用いておこなうことができる。
環境地図作成部511は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
(対象選定部1001・位置姿勢推定部512の内容)
図10は、対象選定部・位置姿勢推定部の内容の一例を示す説明図である。図10において、対象選定部1001は、位置姿勢推定部512において位置姿勢を推定する対象および位置姿勢の推定に用いる映像を選定する処理部である。具体的には、対象選定部1001は、作成済の環境地図523内で同じ走行位置を走行している位置誤差未調整の環境地図が複数ないかを調べるとともに、当該走行位置を走行している映像522を1つ選定する処理をおこなう処理部である。
図10において、対象選定部1001は、環境地図作成部511から出力された位置姿勢情報Aa901aおよび位置姿勢Bb901bを比較する。そして、撮影位置が規定距離以内にあるか否かを判定して、当該判定結果に基づいて、位置姿勢情報Aa901と位置姿勢Bb901bが同じ走行位置の走行によるものか否かを決定する。撮影位置が規定距離以内にあるか否かは、具体的には、位置姿勢Aa901aの各位置と位置姿勢Bb901bの各位置の距離が、任意システム設定値、たとえば3m以内か否かなどによって判定するようにしてもよい。
このように、直接、位置姿勢Aa901aと位置姿勢Bb901bの距離を求めて判定する以外にも、位置姿勢Aa901aや位置姿勢Bb901bの周りに円や矩形、楕円球や直方体などの予め規定しておいた任意の2次元または3次元の形状を設定し、一方の形状が他方の形状内に含まれたり、形状どうしが重なるか否かなどを判定するようにしてもよい。
なお、環境地図作成部511において、位置姿勢Aa901a、位置姿勢Bb901bの出力を省略する場合に、環境地図A523a、環境地図B523bを作成する際に使用したGNSS−a521a、GNSS−b521bの各位置を撮影位置として代用することで、撮影位置が規定距離以内にあるか否かの判定を実施してもよい。
また、環境地図A523a、環境地図B523bに含まれる画像特徴点群の3D位置座標を比較し、同じ画像特徴点が規定数以上存在するとの判断によって、環境地図A523aと環境地図B523bとが、同じ走行位置の走行映像を含む、すなわち重複区間を要する環境地図であることを判定するようにしてもよい。この場合には、同じ画像特徴点か否かを判断するために、既知の点群対応付け方法を使って環境地図A523aと環境地図B523bの点群どうしの対応付けをおこなってもよい。あるいは、環境地図A523aと環境地図B523bに含まれる画像特徴点群の3D位置点群どうしを群として比較し、2つの群空間が規定割合以上重複するとの判断によって、環境地図A523aと環境地図B523bとが、重複区間を要する環境地図であることを判定するようにしてもよい。
対象選定部1001は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
位置姿勢推定部512は、対象選定部1001で選定した環境地図A523a、環境地図B523bと、映像C522cとを用いて、映像C522cの各画像の撮影位置姿勢を推定(算出)し、それぞれ位置姿勢Ca524a、位置姿勢Cb524bを出力する処理部である。
この処理は、たとえば、従来技術を用いた、V−SLAMによる実座標系の環境地図A523aまたは環境地図B523bを入力とする映像C522cの撮影位置姿勢推定であって、実座標系の位置姿勢として環境地図A523aを使った場合に位置姿勢Ca524a、環境地図B523bを使った場合に位置姿勢Cb524bをそれぞれ算出する。位置姿勢として算出できる映像部分は、ほぼ環境地図と同じ区間に限定されるが、環境地図A523a、環境地図B523bには同じ位置を走行した区間(重複区間)が含まれるため、環境地図A523a、環境地図B523bのどちらを使っても、該重複区間を走行した映像C522cの撮影位置姿勢を推定することができる。
このように、同じ走行位置の走行映像を含む、すなわち重複区間を要する環境地図として、環境地図A523a、環境地図B523bを見つけ、また、当該重複区間を走行する映像として、映像C522cを選定する。なお、映像C522cは、映像A522a、映像B522bと異なる映像としたが、映像A522a、映像B522bのどちらかであってもよい。
映像C522cが、映像A522a、映像B522bと異なる映像であるとすれば、環境地図作成部511の処理の後は映像A522a、映像B522bを使うことがないため、環境地図A523a、環境地図B523bを作成した後は、作成に用いた映像(映像A522a、映像B522b)を保持し続ける必要がなくなり、その分、保持データ量を削減することができる。一方、映像C522cを映像A522a、映像B522bのどちらかと同じ映像とすれば、該当区間を走行する新たな映像Cが出現することを待つことなく、環境地図作成後、速やかに以後の処理を実施することができる。
また、映像C522cが映像A522aに等しかった場合には、位置姿勢推定部512で算出する映像C522c(実際は映像A522a)に対する環境地図A523aによる位置姿勢Ca524aは、環境地図作成部511で出力した位置姿勢Aa901aと実質的に等しいため、この位置姿勢推定部512の処理を省略し、位置姿勢Caの代わりに位置姿勢Aaを用いてもよい。同様に、映像C522cが映像B522bに等しい場合も、環境地図B523bと映像C522c(実際には映像B522b)を用いた位置姿勢推定部512の処理を省略し、位置姿勢Cb524bの代わりに環境地図作成部511によって出力される位置姿勢Bb901bを用いてもよい。
位置姿勢推定部512は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
(位置比較部513・環境地図位置調整部514の内容)
図11は、位置比較部・環境地図位置調整部の内容の一例を示す説明図である。図11において、位置比較部513は、位置姿勢推定部512によって推定された映像C522cの位置姿勢Ca524aと位置姿勢Cb524bとを比較する処理部である。
位置比較部513は、位置姿勢Ca524aと位置姿勢Cb524bの双方に含まれる同じ画像の推定位置姿勢がないかを探し、同じ画像の位置差(Cb−Ca)525を算出する。少なくとも、重複区間の画像群に対して、同じ画像に対する各環境地図による推定位置の差を算出することができる。推定位置を緯度経度相当の2次元値XY、またはさらに高さを加えた3次元値とみなして、位置差525を2次元の値または3次元の値として算出してもよい。また、2次元の値または3次元の値の成分すべてのノルムとして1次元(1つ)の値として算出してもよい。
このように、後述する環境地図位置調整部514の算出する調整値の算出方法に従って、任意の次元の値とすることができる。さらに、位置比較部513は、位置差525だけでなく姿勢差も算出するようにしてもよい。算出した姿勢差は、環境地図位置調整部514で用いることができる。
位置比較部513は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
また、図11において、環境地図位置調整部514は、環境地図523どうしの位置ずれを補正するための調整値526を算出する処理部である。環境地図位置調整部514は、位置比較部513において算出した異なる環境地図523による同画像の推定された位置差525を用いて、調整値(B→A)526を算出する。「B→A」は、環境地図B523bと環境地図A523aとの位置ずれを補正し、環境地図B523bを、環境地図A523aの位置へ調整するための調整値を示している。なお、必要なら環境地図も本処理の出力として出力してよく、調整値526の代わりに実際に環境地図B523aを調整値526を用いて補正した「環境地図B’」を出力するようにしてもよい。
環境地図位置調整部514は、具体的には、たとえば、複数の画像に対して位置差が算出されている場合には、それらの任意統計量、たとえば平均値を算出して調整値526とすることができる。調整値526の算出の具体的な内容については、後述する。
環境地図位置調整部514は、調整値526を算出するにあたり、各画像の姿勢も算出している場合には、姿勢差が小さいものだけを調整値として使用したり、姿勢差を重みに用いて、姿勢差が少ないものほど寄与が高くなるような重み平均を求めたりしてもよい。このように、姿勢差も勘案しながら調整値を算出することで、局所的なGNSSの位置誤差や、位置姿勢推定部512自体の推定ミスなどによる姿勢乱れをできるだけ排除し、環境地図523の全体的なGNSSの位置誤差の影響を考慮した調整値526を算出することができる。
また、環境地図位置調整部514は、位置差525を算出した各画像群に対し、前後の画像フレームの撮影位置からの移動距離を求めるようにしてもよい。移動距離は、同じ環境地図523を使った位置姿勢Ca524a、位置姿勢Cb524bにおける、前後画像フレームの撮影位置を参照し、同該当フレームの撮影位置との差を求めることで算出することができる。
環境地図位置調整部514は、求めた移動距離に基づいて、各画像の位置差525を、調整値526の算出に用いるか否か選別するようにしてもよい。または、移動距離を各画像の位置差の重みとして用いて調整値を算出してもよい。たとえば、移動距離が大きいものほど寄与率を高めるような調整値を算出してもよい。
環境地図位置調整部514は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
(調整値算出の内容(その1))
図12は、調整値算出の内容の一例を示す説明図である。図12は、環境地図位置調整部514において、環境地図B523bの値を環境地図A523aの値に補正するための調整値526の算出例として、前後画像との移動距離を重みとする一例を示す。
図12は、上空俯瞰図の一例を示している。図12において、カメラ1200〜1205によって、それぞれ撮影された画像0〜画像N+1のうち、カメラ1201〜1204によって撮影された画像1〜Nは、環境地図A523aと環境地図B523bの重複区間1250の画像である。カメラ1200によって撮影された画像0と、カメラ1205によって撮影された画像N+1は重複区間1250外の画像とする。
各画像1〜Nは、それぞれ、環境地図A523aによる推定撮影位置Ca1〜CaN、Cb1〜CbNを持っている。移動距離L0〜Lnは、画像1〜Nの前後画像との環境地図Bで推定した撮影位置の差を示している。具体的には、たとえば、画像1と画像2の移動距離L1の場合、環境地図Bでの画像1の推定撮影位置Cb1と画像2の推定撮影位置Cb2との距離から得ることができる。
図12における環境地図A523aに対する環境地図B523bの調整値526は、たとえば、移動距離を重みに用いた位置差の平均である下記式(1)によって求めることができる。
調整値は、各画像の位置誤差の前後画像の移動距離重み平均であるから、
Figure 2021056028
ここで、Sは、下記式(2)で示すことができる。
Figure 2021056028
また、環境地図B523bでの画像1(Cb1)における次画像(画像2(Cb2))との移動距離L1は、下記式(3)で示すことができる。
Figure 2021056028
位置差は1つの値、または、2次元あるいは3次元の値のいずれかであるので、調整値526も1つの値、または、2次元あるいは3次元の値のいずれかとなっていてもよい。また、調整値526を2次元値あるいは3次元値とするときには、移動距離Liも2次元各成分XY、あるいは、3次元の各成分XYZで共通な1つの値(距離=ノルム)ではなく、距離の各XYZ成分値(距離を算出するのに用いた位置差の各成分そのもの)として算出するようにしてもよい。移動距離を成分ごとに算出することによって、同じ位置差の重みであっても成分ごとに調整値への寄与割合(重み)を変えることができ、より詳細な重み計算を実現することができる。
このように、移動距離を重みとして用いることで、撮影時に停止中だった可能性が高い移動距離がほとんど無い画像に対しては、利用および調整値への寄与率を制限することができる。そして、なるべく様々な位置で撮影した画像を使って位置ずれを補正する調整値526を算出することができる。
また、別途規定した距離(例えば2m)を上記式(1)に掛けることで、規定距離(ここでは2m)に対する実際の移動距離の割合を重みとすることができる。これにより、疑似的に1画像あたり規定距離を移動する定速移動で撮影した画像群の位置差で調整値を求めるのと類似した調整値526を得ることができる。この結果、重複区間1250内で渋滞停止したり、低速走行したりした地点での位置誤差補正を過剰に重視することなく、重複区間1250全体での位置誤差をまんべんなく使った調整値526を得ることができる。
(調整値算出の内容(その2))
環境地図位置調整部514の調整値算出の内容の別の一例を示す。この例では、調整値526として、環境地図A523aの座標系と環境地図B523bの座標系の任意の変換を算出する。たとえば、平行移動および線形変換(拡大や縮小、回転など)からなる任意のアフィン変換を定義して、環境地図A523aまたは環境地図B523bでの重複区間の各画像の推定撮影位置どうしを対応づけるようなアフィン変換を算出する。
具体的には、たとえば、緯度経度の2次元値に対する調整値を求める場合に、2次元アフィン変換を算出する。2次元アフィン変換は、同時座標系で下記式(4)のように記述できる。
Figure 2021056028
異なる位置の画像が3画像以上あれば、アフィン行列を求めることができるため、環境地図A523a、環境地図B523bの重複区間内の各画像の撮影位置のうち、環境地図A523aでの各撮影位置をx、yとし、環境地図B523bでの各撮影位置をX’、Y’として上記式(4)に代入する。そして、アフィン変換行列のパラメータであるa〜fを既知の連立方程式の解法を用いて算出する。
このとき、正しく解を求めるためには、撮影位置が異なる画像を用いることが望ましい。このため、位置比較部513で求めた位置差(Cb−Ca)525がゼロまたは十分小さい値の場合には、環境地図A523a、環境地図B523bで推定した撮影位置が同じとみなして連立方程式から省略するようにしてもよい。このように、環境地図A523aと環境地図B523bの位置差525は、アフィン行列算出では直接的には用いないが、算出時の連立方程式で、「同じ位置」=「位置差ゼロの撮影位置」を省くなどで利用することができる。
また、任意の多数画像位置を用いて、ランダムな3画像で求めたアフィン変換行列を用いて、残りの画像のアフィン変換後の位置と、実際の環境地図B523b上の画素位置とを比較して、それらの位置誤差が最小となるように、アフィン行列を求めるようにしてもよい。
このように、算出したアフィン変換行列を補正値として、環境地図B523bの任意の画像特徴点群の位置に掛けることで、環境地図A523aの位置に補正した位置を算出することでき、環境地図B523bの位置を補正することができる。
なお、高さを含めた調整値を求める場合は、高さZ値を含めた、1次元増えた4×4の3次元に拡張したアフィン変換行列とすればよい。
(調整値算出の内容(その3))
調整値算出の内容(その1)、(その2)に示した例のように、環境地図位置調整部514の調整値526として、環境地図A523a、環境地図B523bに対して、1つの調整値または1つの補正行列を算出するのではなく、その代わりに、環境地図523の各画像特徴点ごとに動的に調整値を求めるようにしてもよい。すなわち、調整値算出の内容(その3)では、各画像特徴点の位置を補正するのに最適な調整値526を、各画像特徴点ごとに算出する。
図13は、調整値算出の内容の別の一例を示す説明図であり、上空俯瞰図の一例を示している。図13において、カメラ1301〜1304によって、それぞれ撮影された画像1〜画像Nは、環境地図A523aと環境地図B523bの重複区間1350の画像である。各画像1〜Nは、それぞれ、環境地図A523aによる推定撮影位置Ca1〜CaN、環境地図B523bによる推定撮影位置Cb1〜CbNを持っている。
図13に示すように、各画像の各位置と位置差を用いて、実際に環境地図B上のある画像特徴点P1300の位置を補正する調整値を算出する。画像特徴点P1300は、環境地図B523b内の点ならば、環境地図A523aと環境地図B523bの重複区間1350外にあってもよい。
画像特徴点P1300の環境地図B523bでの位置Pbに対し、環境地図B523bにおける各画像の撮影位置Cbiから該画像特徴点P1300までの距離liによる重みを用いて、各画像の環境地図A523a、環境地図B523bの位置差の重み平均である、以下の下記式(5)、(6)の調整値を算出する。
Figure 2021056028
ここで、Sは、下記式(6)で示すことができる。
Figure 2021056028
このように、調整値526を該画像特徴点P1300の環境地図B523bでの位置に足すことで、環境地図A523aに位置誤差を合わせた補正後の位置を算出することができる。なお、図12の調整値と同様に、距離liを2次元または3次元の各成分に分解し、各成分ごとの調整値を算出して使ってもよい。
環境地図位置調整部514は、このように位置差525から算出した調整値526を出力する。たとえば、環境地図523を利用する時などに、3次元位置を補正するためのオフセット値として調整値526を出力保持することができる。
なお、環境地図位置調整部514は、調整値526を出力する代わりに、環境地図523の3次元位置を実際に調整値526を使って補正変更して出力し、調整値526自体の出力に代用してもよい。
また、環境地図位置調整部514は、環境地図A523aと環境地図B523bの位置補正が終了したという履歴を、別途、図示を省略するデータベースなどに保持するようにしてもよい。たとえば、位置誤差を補正した環境地図523どうしには、その旨の履歴を保持して参照することで、以後の対象選定部1001の判定から一度補正した環境地図523どうしを簡単に除外することができ、対象選定部1001の処理を効率化することができる。
また、この環境地図位置調整部514の処理は、環境地図523を実際に利用する時に実施することとして、位置比較部513までの処理結果を環境地図523と共に保持する構成であってもよい。
(環境地図調整値算出方法の処理手順)
図14は、環境地図調整値算出方法の処理の手順の一例(実施の形態1)を示すフローチャートである。図14のフローチャートにおいて、環境地図未作成の映像とGNSSがあるか否かを判断する(ステップS1401)。
ステップS1401において、環境地図未作成の映像とGNSSがある場合(ステップS1401:Yes)は、未作成の映像とGNSSとで、それぞれ環境地図A523a、環境地図B523bを作成する(ステップS1402)。具体的には、図9に示したように、入力が、映像A522a+GNSS−a521aであるV−SLAMで、環境地図A523aと位置姿勢Aa901aを作成する。同様に、入力が、映像B522b+GNSS−b521bであるV−SLAMで、環境地図B523bと位置姿勢Bb901bを作成する。
その後、ステップS1401へ戻る。そして、ステップS1401において、環境地図未作成の映像とGNSSがなくなった場合(ステップS1401:No)は、つぎに、映像C522cと同じ走行位置を含む、位置誤差未調整の環境地図が複数あるか否かを判断する(ステップS1403)。具体的には、図10に示したように、対象選定部1001が、GNSS−c521cと、位置姿勢Aa901aと、位置姿勢Bb901bに基づいて判断する。ここで、位置誤差未調整の環境地図がない場合(ステップS1403:No)は、一連の処理を終了する。
一方、ステップS1403において、位置誤差未調整の環境地図がある場合(ステップS1403:Yes)は、環境地図A523a、環境地図B523bに対して、映像C522cの撮影位置姿勢を算出する(ステップS1404)。具体的には、図10に示したように、入力が、映像C522c+環境地図A523aであるV−SLAMで、位置姿勢(撮影位置)Ca524aを推定(算出)する。同様に、入力が、映像C522c+環境地図B523bであるV−SLAMで、位置姿勢(撮影位置)Cb524bを推定(算出)する。
つぎに、映像C522cの同画像フレームの位置差525=「位置姿勢(撮影位置)Cb−位置姿勢(撮影位置)Ca」を算出する(ステップS1405)。そして、ステップS1405において算出された位置差(「Cb−Ca」)525を用いて、環境地図B523bの位置を補正する調整値526を算出する(ステップS1406)。具体的には、図11に示したとおりである。これにより、一連の処理を終了する。
図14のフローチャートにおいては、便宜上、すべての映像およびGNSS情報に対して環境地図作成部511で環境地図523を作成してから、つぎの対象選定部1001に進む例を示したが、実際には、環境地図523の作成処理(ステップS1402)中に、対象選定部1001の処理(ステップS1403)をおこなうようにしてもよい。
環境地図作成部511と対象選定部1001の実施サーバや実施頻度が異なっていてもよく、別のサーバであらかじめ環境地図作成部511における処理(ステップS1402)を実行を通して環境地図群を作成準備しておき、新映像入手などの任意タイミングでそれら環境地図群を参照して、対象選定部1001における処理(ステップS1403)を実行するようにしてもよい。また、対象選定部1001における処理(ステップS1403)は、同じ走行位置を走行する環境地図が必要であるため、ある程度、環境地図を蓄積してから実行することで、無駄な処理を抑制することができる。
以上説明したように、本実施の形態1によれば、たとえば、GNSS位置誤差に起因する異なる位置誤差をもつ複数の環境地図に対して、両方の地図に含まれる撮影位置で撮影した映像を用いて、環境地図どうしの位置ずれを推定して補正することができる。その結果、複数の環境地図を用いた場合の推定位置ギャップを解消し、単一環境地図と同じ滑らかな位置推定結果を実現することができる。したがって、複数のV−SLAMの環境地図をシームレスに繋ぐことができ、複数マップに跨った利用(撮影位置姿勢推定)が可能となる。
このように、測量車のような絶対的に位置精度の高いGPSを使うことなく、位置誤差の大きく不揃いな一般GPSを使って、V−SLAMによる撮影位置姿勢推定ができる。この結果、V−SLAM向けの環境地図整備に用いるデータを、測量車のデータではなく、より安価で大量に収集できる一般車のデータを使うことが可能となる。
(実施の形態2)
図15は、環境地図と映像との関係の別の一例(実施の形態2)を模式的に示す説明図である。図15では、図4に示した実施の形態1と同様に、映像A、映像B、映像Cの別の一例として、各映像の撮影時の走行ルートと、映像A、映像Bから作成した環境地図A、環境地図Bの一例を、上空俯瞰図を用いて模式的に示している。
図15において、環境地図Aの領域1501は、映像Aに出願する画像特徴点の3D位置の存在範囲を示しており、環境地図Bの領域1502は、映像Bに出願する画像特徴点の3D位置の存在範囲を示している。符号1521を含む、環境地図Aの領域1501内の丸印は、環境地図Aの画像特徴点3D位置を示しており、符号1522を含む、環境地図Bの領域1502内の丸印は、環境地図Bの画像特徴点3D位置を示している。また、矢印1511は、環境地図Aの作成時の映像Aの走行ルートを示しており、矢印1512は、環境地図Bの作成時の映像Bの走行ルートを示している。また、矢印1513は、映像Cの走行ルートを示している。
図15の上空俯瞰模式図で示すように、図4に示した本実施例1と異なり、環境地図AB自体には、同じ位置を走行する重複区間は存在しない。一方、映像Cは、環境地図Bと映像Cの重複区間では、同じ位置を走行している。また、映像Cは、環境地図Aと映像Cの重複区間では、同じ位置を走行している。このように、映像Cは、環境地図A、Bに対し、それぞれ異なる重複する区間が存在する。実施の形態2では、2つの環境地図A、Bに対し、環境地図A、Bに両方に含まれる位置がないが、環境地図A、Bの双方に含まれる位置を走行する映像を含む映像Cを用いて、環境地図Bを環境地図Aの位置に合わせて補正する環境地図調整値を算出する。
実施の形態2においては、実施の形態1と同様に、サーバ501は、環境地図作成部、位置姿勢推定部、位置比較部、環境地図位置調整部を有する。実施の形態2においては、さらに、図16Aに示す、GNSS位置調整部1602、環境地図更新部1603を有する。また、図16Aに示す第1位置比較部1601と、図16Bに示す第2位置比較部1604の2つの位置比較部を有する。図示は省略するが、これらの各機能部の少なくとも一つを、サーバ501に加えて、あるいは、サーバ501に代えて、車載機502が有するようにしてもよい。車載機502が、各機能部1601、1602、1603、1604、1605の少なくとも一つを有する場合は、サーバ501が実施する処理の内容と同じであってもよい。
図16Aは、第1位置比較部・GNSS位置調整部・環境地図更新部の内容の一例(実施の形態2)を示す説明図である。また、図16Bは、第2位置比較部・環境地図位置調整部の内容の一例(実施の形態2)を示す説明図である。なお、実施の形態2における環境地図作成部は、図9に示した、実施の形態1における環境地図作成部511と同じ構成内容であるので、図示およびその説明は省略する。また、実施の形態2における対象選定部・位置姿勢推定部も、図10に示した、実施の形態1における対象選定部1001、位置姿勢推定部512と同じ構成内容であるので、それらの図示および説明も省略する。
図16Aにおいて、第1位置比較部1601は、環境地図A523aを使って位置姿勢推定部512によって推定された映像C522cの位置姿勢Ca524aと、映像C522cと共に取得したGNSS−c521cの値とを比較し、同じ画像に対する位置差分値である位置差(GNSS−c−Ca)1611を算出する処理部である。
第1位置比較部1601は、この位置比較でより正確な位置差分値(位置差1611)を得るために、一般に映像のフレームレートに比べると1秒間隔等と取得頻度が低いGNSS−c521cの値を、あらかじめ任意の補間方法で補間し、映像C522の各画像ごとのGNSSでの位置を算出しておくとよい。GNSS値の補間の具体的な内容についての詳細は後述する(図18、図19を参照)。
第1位置比較部1601は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
図16Aにおいて、GNSS位置調整部1602は、映像C522に関するGNSS−c521cの位置を、環境地図A523aの位置に合わせて調整する処理部である。GNSS位置調整部1602は、具体的には、映像C522に関するGNSS−c521cの位置を、第1位置比較部1601において算出した位置差1611を用いて、環境地図A523aの位置に合わせる調整値を算出する。そして、実際にGNSS−c521cおよび補間したGNSS−c521cの位置を、算出した調整値で補正し、補正後のGNSS相当の値GNSS−ca1612を出力する。
このとき、GNSS位置調整部1602は、実施の形態1の環境地図位置調整部514と同様に、映像C522cのGNSS−c521cの各位置群を、環境地図A523aに補正するための補正値を1つ算出してもよいし、各GNSS−c521cの値ごとに調整値を算出するように補正してもよい。
ここで、GNSS位置調整部1602は、図12に示したように、映像C522cと環境地図A523aの重複区間の位置差を用いた補正値を1つ求めてもよい。また、GNSS位置調整部1602は、上記式(4)に示したように、アフィン変換式から1つの調整値であるアフィン行列を求めるようにしてもよい。また、GNSS位置調整部1602は、図13に示したように、映像C522cと環境地図A523aの重複区間か否かに関わらず、位置誤差の距離重みなどを用いて、各GNSS−c521cの値ごとの調整値を算出してもよい。すなわち、図12、図13の環境地図Bによる推定撮影位置CbをGNSS−cに置き換えて処理をおこなってもよい。
GNSS位置調整部1602は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
図16Aにおいて、環境地図更新部1603は、映像C522cと、GNSS位置調整部1602の調整値で補正したGNSS−ca1612とを入力し、映像C522cの各撮影位置姿勢Ca’524a’を出力する処理部である。環境地図更新部1603は、具体的には、たとえば、上述した環境地図作成部(実施の形態1における環境地図作成部511(図9を参照))と同等の処理をおこなって、位置姿勢Ca’524a’を出力する。
また、環境地図更新部1603は、環境地図A’1613を出力するようにしてもよい。このとき、図示は省略するが、環境地図更新部1603に既存の環境地図A523aも入力して、環境地図A523aの不足分のみを、環境地図A’1613として新たに生成更新して利用するようにしてもよい。なお、撮影位置姿勢推定に利用した環境地図A’1613は、環境地図更新部1603の内部データとしておくだけで、あえて出力しなくてもよい。
環境地図A523aと位置誤差がないように位置補正したGNSS−ca1612を入力するため、環境地図更新部1603は、環境地図A523aと位置誤差が等しい環境地図A’1613と撮影位置姿勢Ca’524a’を、映像C522cの走行ルート全体(全画像)に対して算出することが可能である。この結果、新たに図15の環境地図Bの領域1502と重畳する区間でも、環境地図Aの領域1501と同等の位置誤差の環境地図A’1613で推定した撮影位置姿勢Ca’524a’を得ることができる。
環境地図更新部1603は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
このように、第1位置比較部1601、GNSS位置調整部1602、環境地図更新部1603によって、環境地図A523aまたは環境地図B523bの情報に基づいて推定される映像C522cの位置姿勢Ca524a、位置姿勢Cb524bを、映像C522cの測位情報(GNSS−c521c)を用いて調整することができる。
図16Bにおいて、第2位置比較部1604は、図16Aの環境地図更新部1603によって出力された位置姿勢Ca’524a’と、位置姿勢推定部(実施の形態1における位置姿勢推定部512(図10を参照))によって推定された映像C522cの位置姿勢Cb524bとを比較する処理部である。
第2位置比較部1604は、位置姿勢Ca’524a’と位置姿勢Cb524bの双方に含まれる、位置姿勢の求まっている同じ画像の推定位置姿勢がないかを探し、同じ画像の位置差(Cb−Ca’)1614を算出する。位置姿勢Ca’524a’は、前述したように、映像C522cの全画像に対して算出可能であるが、位置姿勢Cb524bは、ほぼ環境地図B523bとの重複区間内の画像に対してのみ算出されたものである。
第2位置比較部1604は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
また、図16Bにおいて、環境地図位置調整部1605は、環境地図523どうしの位置ずれを補正するための調整値1615を算出する処理部である。環境地図位置調整部1605は、第2位置比較部1604において算出した映像Cと環境地図Bの重複区間の各画像の撮影位置差(Cb−Ca’)1614を用いて、調整値(B→A)1615を算出する。
この位置差1614を用いた調整値1615を算出して補正する方法も、実施の形態1に示した環境地図位置調整部514、実施の形態2に示したGNSS位置調整部1602と同じ処理を使ってもよい。すなわち、環境地図位置調整部1605は、図12に示したように、環境地図A523aと環境地図B523aの重複区間の位置差を用いた補正値を1つ求めてもよい。また、環境地図位置調整部1605は、上記式(4)に示したように、アフィン変換式から1つの調整値であるアフィン行列を求めるようにしてもよい。また、環境地図位置調整部1605は、図13に示したように、各画像の各位置と位置差を用いて、実際に環境地図B上のある画像特徴点P1300の位置を補正する調整値を算出するようにしてもよい。
撮影位置差は、同じ画像に対して環境地図Bによる推定撮影位置と、環境地図Aによる推定撮影位置の差であるため、該調整値は環境地図Bを環境地図Aの位置誤差へと調整するための値となる。環境地図位置調整部1605は、この調整値を出力してもよいし、実際に環境地図B523bを調整値1615を使って環境地図A523aと同じ位置誤差の環境地図として補正した環境地図B’を出力してもよい。すなわち、実施の形態1の環境地図位置調整部514と同様に、環境地図B523bの画像特徴点群の3次元位置座標を補正するためのオフセット値として調整値1615を保持してもよいし、環境地図B’として実際に画像特徴点群の3次元位置座標を補正してもよい。
なお、実施の形態2では便宜的に、第1位置比較部1601、GNSS位置調整部1602、環境地図更新部1603において、環境地図A523aを用いたが、その代わりに、環境地図B523bを用いて、第1位置比較部1601において、位置差(GNSS−c −Cb)を求め、GNSS位置調整部1602において、GNSS−c521cを補正したGNSS−cbを求め、環境地図更新部1603において、GNSS−cbと、必要なら環境地図B’を入力して位置姿勢Cb’を求め、第2位置比較部1604において、位置差(Cb’−Ca)を求める処理をおこなうようにしてもよい。
環境地図位置調整部1605は、具体的には、たとえば、図6に示したサーバ501において、メモリ602に記憶されたプログラムをCPU601が実行することによって、その機能を実現することができる。また、具体的には、たとえば、図7に示した車載機502において、メモリ702に記憶されたプログラムをCPU701が実行することによって、その機能を実現するようにしてもよい。
このように、図16Bに示す第2位置比較部1604以降の処理(すなわち、第2位置比較部1604の処理および環境地図位置調整部1605の処理)は、実質的には、図11に示した実施の形態1における各処理(位置比較部513の処理および環境地図位置調整部514の処理)と同じ処理でよい。したがって、図16Aに示した、第1位置比較部1601、GNSS位置調整部1602、環境地図更新部1603を経て算出した位置姿勢Ca’524a’と環境地図A’1613が、図10に示した位置指定推定部512で算出した結果(位置姿勢Ca524a)であったとみなせば、実施の形態1における処理をそのまま使うことができる。
(環境地図調整値算出方法の処理手順)
図17は、環境地図調整値算出方法の処理の手順の別の一例(実施の形態2)を示すフローチャートである。実施の形態2にかかる環境地図調整値算出方法は、実施の形態1にかかる環境地図調整値算出方法における、図14に示したフローチャートのステップS1401〜S1404までは、同じ処理をおこなうので、図17のフローチャートにおいて、これらのステップS1401〜S1404の記載は省略する。
図17のフローチャートにおいて、図14に示したフローチャートのステップS1404の処理の後、映像C522cの同画像フレームの位置差1611=「補間GNSS−c−位置姿勢(撮影位置)Ca」を推定する(ステップS1701)。つぎに、ステップS1701において推定された位置差(「補間GNSS−c−位置姿勢(撮影位置)Ca」)1611を用いて、補間GNSS−cの位置を補正する(ステップS1702)。そして、補間「GNSS−ca」1612とする。
つぎに、環境地図A523aに対して、映像C522c+GNSS−ca1612で、環境地図を延長更新し、撮影位置姿勢を算出V−SLAM(入力:映像C522c+環境地図A523a+補間GNSS−ca1612)で環境地図A’1613と位置姿勢(撮影位置)Ca’524a’を推定する(ステップS1703)。
その後、映像C522cの同画像フレームの位置差1614=「位置姿勢(撮影位置)Cb−位置姿勢(撮影位置)Ca’」を算出する(ステップS1704)。そして、ステップS1704において算出された位置差(「Cb−Ca’」)1614を用いて、環境地図B523bの位置を補正する調整値1615を算出する(ステップS1705)。具体的には、図16Bに示したとおりである。これにより、一連の処理を終了する。
(GNSS値補間の内容)
つぎに、第1位置比較部1601におけるGNSS値の補間の具体的な内容について説明する。図18および図19は、GNSS値補間の内容の一例を示す説明図である。ここで、第1位置比較部1601は、GNSS−c521cの測位時刻と各画像の撮影時刻を比較し、画像の近傍の測位タイミングで得たGNSS−c521cの測位値(前後の2測位の位置である「Pa」、「Pb」)を用いて、時間差を重みとして重み平均で取得する。
図18は、時刻差を用いた補間の一例として、画像撮影時刻と測位時刻が等しい場合の例を示している。図18において、画像1の撮影時刻が「T1」、画像2の撮影時刻が「T2」、・・・画像6の撮影時刻が「T6」を示している。すなわち、画像1〜画像6を時系列に示しており、画像1、画像2、・・・画像6の順に撮影されたことを示している。
測位A1801は、その測位時刻が、画像1の撮影時刻「T1」と一致している。同様に、測位B1802は、その測位時刻が、画像6の撮影時刻「T6」と一致している。ここで、測位A1801の位置P1をT1と同じ時刻の位置Pa(P1=Pa)とし、測位B1802の位置P6をT6を同じ時刻の位置Pb(P6=Pb)とすると、画像3の位置P3は、下記式(7)で示すことができる。
Figure 2021056028
また、図19は、時刻差を用いた補間の一例として、画像撮影時刻と測位時刻が異なる場合の例を示している。図19においては、図18と同様に、画像1の撮影時刻が「T1」、画像2の撮影時刻が「T2」、・・・画像6の撮影時刻が「T6」を示している。すなわち、画像1〜画像6を時系列に示しており、画像1、画像2、・・・画像6の順に撮影されたことを示している。
ここで、測位A1901は、その測位時刻が「Ta」であり、「Ta」と、画像1の撮影時刻「T1」とは一致していない。同様に、測位B1902は、その測位時刻が「Tb」であり、「Tb」と、画像6の撮影時刻「T6」とは一致していない。ここで、測位A1901の位置をPaとし、測位B1802の位置をPbとすると、画像3の位置P3は、下記式(8)で示すことができる。
Figure 2021056028
このように、第1位置比較部1601では、この位置比較でより正確な位置差分値(位置差1611)を得るために、取得頻度が低いGNSS−c521cの値を、たとえば、上述の補間方法で補間し、映像C522の各画像ごとのGNSSでの位置を算出することができる。
以上説明したように、実施の形態2によれば、GNSS位置誤差に起因する異なる位置誤差をもつ複数の環境地図に対し、両環境地図に同時に含まれる撮影位置で撮影した映像が無くても、各地図に含まれる撮影位置で撮影した画像が映像内のどこかに存在する1つの映像があれば、当該映像を介して環境地図どうしの位置ずれを推定して補正することができる。この結果、より簡単に複数の環境地図を用いた推定位置ギャップの無い滑らかな位置推定を実現できる。
なお、本実施の形態で説明した環境地図調整値算出方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。プログラム配信プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)−ROM、MO(Magneto−Optical Disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、環境地図調整値算出プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)情報処理装置が、
撮影された第1の時系列画像のうちの任意の画像の特徴に基づいて作成される第1の環境地図と、前記第1の時系列画像とは別に撮影された第2の時系列画像のうちの任意の画像の特徴に基づいて作成される第2の環境地図との間の差異を調整するにあたり、
前記第1の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置との比較をおこない、当該比較の結果に基づいて、前記第1の環境地図と前記第2の環境地図との間の差異を調整する調整値を算出する、
ことを特徴とする環境地図調整値算出方法。
(付記2)前記情報処理装置が、
前記第1の時系列画像の撮影場所および前記第2の時系列画像の撮影場所を含む第3の時系列画像を用いて、
前記第1の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢にかかる画像の位置との位置差に基づいて、前記調整値を算出する、
ことを特徴とする付記1に記載の環境地図調整値算出方法。
(付記3)前記情報処理装置が、
前記第1の環境地図または前記第2の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢を、前記第3の時系列画像の測位情報を用いて調整する、
ことを特徴とする付記2に記載の環境地図調整値算出方法。
(付記4)前記第1の環境地図および前記第2の環境地図は、画像特徴の空間内での位置情報を含むことを特徴とする付記1〜3のいずれか一つに記載の環境地図調整値算出方法。
(付記5)前記位置情報は、前記空間内の一点と対応付けられた前記画像特徴について、実座標系における位置に関する情報であることを特徴とする付記4に記載の環境地図調整値算出方法。
(付記6)前記情報処理装置が、
算出した前記調整値に関する情報を、前記第1の環境地図および前記第2の環境地図の少なくともいずれかと関連付けして記憶する、
ことを特徴とする付記1〜5のいずれか一つに記載の環境地図調整値算出方法。
(付記7)前記情報処理装置が、
前記第1の環境地図における前記画像の位置と前記第2の環境地図における前記画像の位置との位置差と、前記位置差の算出に用いた画像間の位置差と、を用いて、前記調整値を算出する、
ことを特徴とする付記1〜6のいずれか一つに記載の環境地図調整値算出方法。
(付記8)前記情報処理装置が、
前記第1の環境地図における前記画像の位置と、前記第2の環境地図における前記画像の位置との位置差を用いて、当該位置差が規定値以上の画像を複数選択し、選択された画像群の位置を用いる空間変換行列を求めて、前記調整値を算出する、
ことを特徴とする付記1〜6のいずれか一つに記載の環境地図調整値算出方法。
(付記9)前記情報処理装置が、
前記第1の環境地図における前記画像の位置と、前記第2の環境地図における前記画像の位置との位置差と、前記位置差の算出に用いた画像の位置と、環境地図に含まれる任意の画像特徴の3次元位置との位置差と、を用いて前記調整値を算出する、
ことを特徴とする付記1〜6のいずれか一つに記載の環境地図調整値算出方法。
(付記10)前記第1の時系列画像および前記第2の時系列画像は、移動体の撮像手段(705)によって撮影されたものであることを特徴とする付記1〜9のいずれか一つに記載の環境地図調整値算出方法。
(付記11)撮影された第1の時系列画像のうちの任意の画像の特徴に基づいて作成される第1の環境地図と、前記第1の時系列画像とは別に撮影された第2の時系列画像のうちの任意の画像の特徴に基づいて作成される第2の環境地図との間の差異を調整するにあたり、
前記第1の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置との比較をおこない、当該比較の結果に基づいて、前記第1の環境地図と前記第2の環境地図との間の差異を調整する調整値を算出する処理を情報処理装置に実行させる、
ことを特徴とする環境地図調整値算出プログラム。
111〜113、211〜213、421、422 画像特徴点
300、505 衛星
301(301a、301b、301c)、503 移動体
302、(302a、302b、302c) 車載カメラ
305、523(523a、523b)、1613 環境地図
307、525、1611、1614 位置差
308、526、1615 調整値
500 全体システム
501 サーバ
502 車載機
504 ネットワーク
511 環境地図作成部
512 位置姿勢推定部
513 位置比較部
514、1605 環境地図位置調整部
521(521a、521b、521c) GNSS(測位情報)
522(522a、522b、522c) 映像
524(524a、524a’、524b)、901a、901b 位置姿勢
1001 対象選定部
1601 第1位置比較部
1602 GNSS位置調整部
1603 環境地図更新部
1604 第2位置比較部

Claims (10)

  1. 情報処理装置が、
    撮影された第1の時系列画像のうちの任意の画像の特徴に基づいて作成される第1の環境地図と、前記第1の時系列画像とは別に撮影された第2の時系列画像のうちの任意の画像の特徴に基づいて作成される第2の環境地図との間の差異を調整するにあたり、
    前記第1の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置との比較をおこない、当該比較の結果に基づいて、前記第1の環境地図と前記第2の環境地図との間の差異を調整する調整値を算出する、
    ことを特徴とする環境地図調整値算出方法。
  2. 前記情報処理装置が、
    前記第1の時系列画像の撮影場所および前記第2の時系列画像の撮影場所を含む第3の時系列画像を用いて、
    前記第1の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢にかかる画像の位置との位置差に基づいて、前記調整値を算出する、
    ことを特徴とする請求項1に記載の環境地図調整値算出方法。
  3. 前記情報処理装置が、
    前記第1の環境地図または前記第2の環境地図の情報に基づいて算出される前記第3の時系列画像の位置姿勢を、前記第3の時系列画像の測位情報を用いて調整する、
    ことを特徴とする請求項2に記載の環境地図調整値算出方法。
  4. 前記第1の環境地図および前記第2の環境地図は、画像特徴の空間内での位置情報を含むことを特徴とする請求項1〜3のいずれか一つに記載の環境地図調整値算出方法。
  5. 前記位置情報は、前記空間内の一点と対応付けられた前記画像特徴について、実座標系における位置に関する情報であることを特徴とする請求項4に記載の環境地図調整値算出方法。
  6. 前記情報処理装置が、
    算出した前記調整値に関する情報を、前記第1の環境地図および前記第2の環境地図の少なくともいずれかと関連付けして記憶する、
    ことを特徴とする請求項1〜5のいずれか一つに記載の環境地図調整値算出方法。
  7. 前記情報処理装置が、
    前記第1の環境地図における前記画像の位置と前記第2の環境地図における前記画像の位置との位置差と、前記位置差の算出に用いた画像間の位置差と、を用いて、前記調整値を算出する、
    ことを特徴とする請求項1〜6のいずれか一つに記載の環境地図調整値算出方法。
  8. 前記情報処理装置が、
    前記第1の環境地図における前記画像の位置と、前記第2の環境地図における前記画像の位置との位置差を用いて、当該位置差が規定値以上の画像を複数選択し、選択された画像群の位置を用いる空間変換行列を求めて、前記調整値を算出する、
    ことを特徴とする請求項1〜6のいずれか一つに記載の環境地図調整値算出方法。
  9. 前記情報処理装置が、
    前記第1の環境地図における前記画像の位置と、前記第2の環境地図における前記画像の位置との位置差と、前記位置差の算出に用いた画像の位置と、環境地図に含まれる任意の画像特徴の3次元位置との位置差と、を用いて前記調整値を算出する、
    ことを特徴とする請求項1〜6のいずれか一つに記載の環境地図調整値算出方法。
  10. 撮影された第1の時系列画像のうちの任意の画像の特徴に基づいて作成される第1の環境地図と、前記第1の時系列画像とは別に撮影された第2の時系列画像のうちの任意の画像の特徴に基づいて作成される第2の環境地図との間の差異を調整するにあたり、
    前記第1の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置と、前記第2の環境地図の情報に基づいて算出される位置姿勢にかかる画像の位置との比較をおこない、当該比較の結果に基づいて、前記第1の環境地図と前記第2の環境地図との間の差異を調整する調整値を算出する処理を情報処理装置に実行させる、
    ことを特徴とする環境地図調整値算出プログラム。
JP2019176985A 2019-09-27 2019-09-27 環境地図調整値算出方法および環境地図調整値算出プログラム Active JP7338369B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019176985A JP7338369B2 (ja) 2019-09-27 2019-09-27 環境地図調整値算出方法および環境地図調整値算出プログラム
US17/003,842 US11467001B2 (en) 2019-09-27 2020-08-26 Adjustment value calculation method
EP20193834.7A EP3798982B1 (en) 2019-09-27 2020-09-01 Adjustment value calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019176985A JP7338369B2 (ja) 2019-09-27 2019-09-27 環境地図調整値算出方法および環境地図調整値算出プログラム

Publications (2)

Publication Number Publication Date
JP2021056028A true JP2021056028A (ja) 2021-04-08
JP7338369B2 JP7338369B2 (ja) 2023-09-05

Family

ID=72322351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019176985A Active JP7338369B2 (ja) 2019-09-27 2019-09-27 環境地図調整値算出方法および環境地図調整値算出プログラム

Country Status (3)

Country Link
US (1) US11467001B2 (ja)
EP (1) EP3798982B1 (ja)
JP (1) JP7338369B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024069760A1 (ja) * 2022-09-27 2024-04-04 日本電信電話株式会社 環境地図製作装置、環境地図製作方法及びプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10859713B2 (en) * 2017-01-04 2020-12-08 Qualcomm Incorporated Position-window extension for GNSS and visual-inertial-odometry (VIO) fusion
WO2019205069A1 (en) * 2018-04-27 2019-10-31 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for updating 3d model of building
US11880212B2 (en) * 2020-07-10 2024-01-23 Alarm.Com Incorporated Robot localization
JP2022039187A (ja) * 2020-08-28 2022-03-10 富士通株式会社 位置姿勢算出方法および位置姿勢算出プログラム
JP2022138036A (ja) * 2021-03-09 2022-09-22 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7362797B2 (ja) * 2021-03-09 2023-10-17 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2022261381A1 (en) * 2021-06-09 2022-12-15 AeroCine Ventures, Inc. Localization processing service

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016080460A (ja) * 2014-10-15 2016-05-16 シャープ株式会社 移動体
WO2019044498A1 (ja) * 2017-09-04 2019-03-07 日本電産株式会社 移動体、位置推定装置、およびコンピュータプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107941A (ja) 2006-10-24 2008-05-08 Mitsubishi Electric Corp 監視装置
CN102725789B (zh) * 2009-12-04 2015-08-05 Nlt科技股份有限公司 立体显示装置、用于产生用于立体显示的图像数据的方法
JP6821154B2 (ja) 2016-11-16 2021-01-27 株式会社岩根研究所 基準映像地図を用いた自己位置姿勢標定装置
JP6882664B2 (ja) 2017-02-07 2021-06-02 富士通株式会社 移動***置推定システム、移動***置推定端末装置、情報格納装置、及び移動***置推定方法
JP6775776B2 (ja) * 2017-03-09 2020-10-28 株式会社岩根研究所 自由視点移動表示装置
JP2018202252A (ja) 2018-10-05 2018-12-27 株式会社大一商会 遊技機
JP7326720B2 (ja) 2018-10-26 2023-08-16 富士通株式会社 移動***置推定システムおよび移動***置推定方法
US10696222B1 (en) * 2019-03-12 2020-06-30 Waymo Llc Communications for autonomous vehicles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016080460A (ja) * 2014-10-15 2016-05-16 シャープ株式会社 移動体
WO2019044498A1 (ja) * 2017-09-04 2019-03-07 日本電産株式会社 移動体、位置推定装置、およびコンピュータプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024069760A1 (ja) * 2022-09-27 2024-04-04 日本電信電話株式会社 環境地図製作装置、環境地図製作方法及びプログラム

Also Published As

Publication number Publication date
US20210095992A1 (en) 2021-04-01
JP7338369B2 (ja) 2023-09-05
US11467001B2 (en) 2022-10-11
EP3798982A1 (en) 2021-03-31
EP3798982B1 (en) 2023-06-28

Similar Documents

Publication Publication Date Title
JP7338369B2 (ja) 環境地図調整値算出方法および環境地図調整値算出プログラム
JP7398506B2 (ja) ローカライゼーション基準データを生成及び使用する方法及びシステム
US11176701B2 (en) Position estimation system and position estimation method
US11131752B2 (en) Vehicle navigation system using pose estimation based on point cloud
AU2018282302B2 (en) Integrated sensor calibration in natural scenes
US10240934B2 (en) Method and system for determining a position relative to a digital map
Alonso et al. Accurate global localization using visual odometry and digital maps on urban environments
US20200150275A1 (en) Methods and systems for color point cloud generation
JP4273119B2 (ja) ナビゲーション装置
US11906983B2 (en) System and method for tracking targets
CN110462343A (zh) 基于地图的用于车辆的自动图像标记
CN108896994A (zh) 一种无人驾驶车辆定位方法及设备
JP7259454B2 (ja) 移動***置推定システムおよび移動***置推定方法
JP2012118666A (ja) 三次元地図自動生成装置
EP3961155A1 (en) Pose calculation method, device and program
CN113240813A (zh) 三维点云信息确定方法及装置
US11473912B2 (en) Location-estimating device and computer program for location estimation
CN113312403B (zh) 地图获取方法、装置、电子设备及存储介质
JP7229111B2 (ja) 地図更新データ生成装置及び地図更新データ生成方法
AU2018102199A4 (en) Methods and systems for color point cloud generation
CN114127658A (zh) 使用道路模型2d流形的6d空间中的3d里程
CN114004957A (zh) 增强现实图片的生成方法、装置、设备和存储介质
CN118279468A (zh) 车道线标注方法、电子设备及计算机存储介质
CN113899356A (zh) 一种非接触式移动测量***及方法
CN117746006A (zh) 一种应用于港口水平运输任务的视觉定位***及定位方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R150 Certificate of patent or registration of utility model

Ref document number: 7338369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150