(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-05
(45)【発行日】2023-06-13
(54)【発明の名称】点群構築装置、位置推定装置、点群構築方法、位置推定方法及びプログラム
(51)【国際特許分類】
G06T 7/579 20170101AFI20230606BHJP
G01B 11/00 20060101ALI20230606BHJP
【FI】
G06T7/579
G01B11/00 H
(21)【出願番号】P 2020078123
(22)【出願日】2020-04-27
【審査請求日】2022-06-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】小森田 賢史
(72)【発明者】
【氏名】田坂 和之
【審査官】佐田 宏史
(56)【参考文献】
【文献】特開2020-126432(JP,A)
【文献】特開2016-177388(JP,A)
【文献】特開2018-010630(JP,A)
【文献】特開平11-144076(JP,A)
【文献】風間 光、外2名,“画像検索を用いた図書館内での自己位置推定”,情報処理学会研究報告,日本,一般社団法人情報処理学会,2012年06月15日,Vol.2012-CVIM-182, No.27,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,7/00-7/90
G06V 10/00-10/98
G01B 11/00-11/30
(57)【特許請求の範囲】
【請求項1】
フィールドを撮影した複数の画像を取得する画像取得部と、
各画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第1置換部と、
各置換画像より特徴点の抽出を行い、置換画像の間で特徴点同士の対応を求めることにより、前記フィールドの点群を構築する点群構築部と、を備え
、
前記テクスチャは、無地以外のものとして構成されることで、当該テクスチャの領域から特徴点の抽出が可能なものとして構成されていることにより、前記点群構築部で抽出される特徴点には、当該テクスチャの領域から抽出されるものが含まれることを特徴とする点群構築装置。
【請求項2】
前記動体は、環境内に固定して設置され、当該動体の内部に現れる内容が時間変化するものとして構成されていることを特徴とする請求項1に記載の点群構築装置。
【請求項3】
前記第1置換部は、各画像にインスタンスセグメンテーションを適用し、前記動体に該当する物体種別の領域を検出することを特徴とする請求項2に記載の点群構築装置。
【請求項4】
前記動体は矩形形状として構成され、
前記第1置換部は前記検出した領域の四隅を検出し、前記動体を正面で見た矩形形状と同一形状の領域で定義される正面テクスチャの四隅との間で対応関係を求め、当該対応関係を用いて前記テクスチャを描画することを特徴とする請求項3に記載の点群構築装置。
【請求項5】
前記第1置換部は射影変換として前記対応関係を求め、前記正面テクスチャを当該射影変換で変換することにより、前記テクスチャを描画することを特徴とする請求項4に記載の点群構築装置。
【請求項6】
前記動体はディスプレイであることを特徴とする請求項1ないし5のいずれかに記載の点群構築装置。
【請求項7】
前記構築した点群を、当該点群を構成する各点がいずれの置換画像のいずれの特徴点に対応しているかの情報を紐づけて記憶する点群データベースをさらに備えることを特徴とする請求項1ないし6のいずれかに記載の点群構築装置。
【請求項8】
請求項7に記載の点群構築装置の点群データベースを参照して位置推定を行う位置推定装置であって、
カメラで撮影を行うことで画像を得る画像撮影部と、
前記画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第2置換部と、
前記置換画像に類似すると判定される類似画像を前記点群データベースに記憶されている置換画像の中から検索し、当該類似画像と当該置換画像との間で特徴点のマッチングを行うことにより、前記カメラで前記画像を撮影した際の位置を推定する位置推定部と、を備え
、
前記テクスチャは、無地以外のものとして構成されることで、当該テクスチャの領域から特徴点の抽出が可能なものとして構成されていることにより、前記位置推定部で前記置換画像から抽出されてマッチングされる候補となる特徴点には、当該テクスチャの領域から抽出されるものが含まれることを特徴とする位置推定装置。
【請求項9】
フィールドを撮影した複数の画像を取得する画像取得段階と、
各画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第1置換段階と、
各置換画像より特徴点の抽出を行い、置換画像の間で特徴点同士の対応を求めることにより、前記フィールドの点群を構築する点群構築段階と、を備え
、
前記テクスチャは、無地以外のものとして構成されることで、当該テクスチャの領域から特徴点の抽出が可能なものとして構成されていることにより、前記点群構築段階で抽出される特徴点には、当該テクスチャの領域から抽出されるものが含まれることを特徴とする
コンピュータによって実行される点群構築方法。
【請求項10】
前記構築した点群を、当該点群を構成する各点がいずれの置換画像のいずれの特徴点に対応しているかの情報を紐づけて記憶することをさらに備える、請求項9に記載の
コンピュータによって実行される点群構築方法。
【請求項11】
請求項10に記載の点群構築方法で構築された点群を参照して位置推定を行う位置推定方法であって、
カメラで撮影を行うことで画像を得る画像撮影段階と、
前記画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第2置換段階と、
前記置換画像に類似すると判定される類似画像を前記点群に紐づけて記憶されている置換画像の中から検索し、当該類似画像と当該置換画像との間で特徴点のマッチングを行うことにより、前記カメラで前記画像を撮影した際の位置を推定する位置推定段階と、を備え、
前記テクスチャは、無地以外のものとして構成されることで、当該テクスチャの領域から特徴点の抽出が可能なものとして構成されていることにより、前記位置推定段階で前記置換画像から抽出されてマッチングされる候補となる特徴点には、当該テクスチャの領域から抽出されるものが含まれることを特徴とする
コンピュータによって実行される位置推定方法。
【請求項12】
コンピュータを請求項1ないし7のいずれかに記載の点群構築装置または請求項8に記載の位置推定装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動体の存在を活用した点群構築装置、位置推定装置、点群構築方法、位置推定方法及びプログラムに関する。
【背景技術】
【0002】
VPS(Visual Positioning System)等の、モバイル端末で撮影される画像を用いてこのモバイル端末の測位を行ったり環境地図を作製したりする技術において、精度向上が課題とされている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Dynamic Objects Segmentation for Visual Localization in Urban Environments。https://arxiv.org/abs/1807.02996。submitted to the IROS 2018 Workshop "From Freezing to Jostling Robots: Current Challenges and New Paradigms for Safe Robot Navigation in Dense Crowds"
【発明の概要】
【発明が解決しようとする課題】
【0005】
VPS等において精度を悪化させる要因として、動体が画像に撮影されていることが挙げられる。このような動体は、移動する及び/又は見た目が時間変化するという挙動を示すため、測位等に利用することができず、従来技術においてもこのような動体をマスクして測位等に利用しないようにするという対処がなされている。
【0006】
なお、移動する動体の例として街角等における歩行者や車が挙げられ、見た目が時間変化する動体の例として、街角等において動画を再生して表示しているデジタルサイネージ等が挙げられる。前者は実際の対象物が移動しており、後者は実際の対象物は静止しているが、これらはいずれも、映像として撮影した際には動体として振る舞う。
【0007】
動体への対処として例えば、非特許文献1でも提案されているように、人物等の動体を認識しマスク処理すること、すなわち、動体領域の認識処理とマスク処理が行われてきた。このようなマスク処理では、動体のスケールや向きなどが不明確となり、スケールや向きなどに影響を与え、点群構築が不正確になってしまうという課題もあった。
【0008】
また、マスク処理では、画像から動体を検知してマスクすることで影響を削減するが、動体自体が一つの目印になる場合、精度を落としてしまうという課題があった。特許文献1では、ライトフィールドカメラによりキャプチャされる対象物の分類のための深層学習アーキテクチャが提案され、学習させたい対象領域以外をマスクして学習呼応率を上げている。この特許文献1等のように、注力したくないエリアを自動マスクして除外することは行われてきたが、詳細は注力せず、目印としてその存在があることは注力したいという要件を満たすことはできない。
【0009】
すなわち、非特許文献1や特許文献1の手法では、マスク処理により動体等を排除することで対処しており、測位等の精度向上のために何らかの形で活用することは実現できていなかった。
【0010】
上記従来技術の課題に鑑み、本発明は、動体の存在を活用して精度向上させることができる点群構築装置、位置推定装置、点群構築方法、位置推定方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明は点群構築装置であって、フィールドを撮影した複数の画像を取得する画像取得部と、各画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第1置換部と、各置換画像より特徴点の抽出を行い、置換画像の間で特徴点同士の対応を求めることにより、前記フィールドの点群を構築する点群構築部と、を備えること、または、当該点群構築装置に対応する方法またはプログラムであることを第1の特徴とする。
【0012】
また、前記点群構築装置が前記構築した点群を、当該点群を構成する各点がいずれの置換画像のいずれの特徴点に対応しているかの情報を紐づけて記憶する点群データベースをさらに備えており、本発明は前記点群構築装置の点群データベースを参照して位置推定を行う位置推定装置であって、カメラで撮影を行うことで画像を得る画像撮影部と、前記画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像を生成する第2置換部と、前記置換画像に類似すると判定される類似画像を前記点群データベースに記憶されている置換画像の中から検索し、当該類似画像と当該置換画像との間で特徴点のマッチングを行うことにより、前記カメラで前記画像を撮影した際の位置を推定する位置推定部と、を備えること、または、当該位置推定装置に対応する方法またはプログラムであることを第2の特徴とする。
【発明の効果】
【0013】
前記第1の特徴によれば、各画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像により点群を構築することにより、動体の領域を活用して点群構築の精度を向上させることができる。
【0014】
前記第2の特徴によれば、画像より動体の領域を検出して、当該領域の形状に応じて描画されるテクスチャに置換した置換画像より位置推定を行うことにより、動体の領域を活用して位置推定の精度を向上させることができる。
【図面の簡単な説明】
【0015】
【
図1】一実施形態に係る点群処理システムの構成図である。
【
図2】一実施形態に係る点群処理システムの機能ブロック図である。
【
図3】一実施形態に係る点群構築装置の動作のフローチャートである。
【
図4】一実施形態に係る位置推定装置の動作のフローチャートである。
【
図5】点群構築装置及び位置推定装置において共通の、フレーム画像に対して動体領域を検出してテクスチャで置換する処理を模式的な画像例によって示す図である。
【
図6】第1描画部によるテクスチャ描画を説明するための図である。
【
図7】一般的なコンピュータ装置におけるハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0016】
図1は、一実施形態に係る点群処理システムの構成図であり、点群処理システム100はインターネット等のネットワークNWを介して相互に通信可能とされる少なくとも1つの端末1及び少なくとも1つのサーバ2を備える。端末1は、スマートフォン等のモバイルデバイス又は車載装置等として構成することができる移動体であり、点群処理システム100において処理する対象となる点群を、映像として撮影する等によって端末1の周辺環境から取得するものである。一実施形態では点群処理システム100には端末1のみが含まれサーバ2が含まれない構成により、端末1が単独で点群に関する処理を行うようにしてもよい。一実施形態では点群処理システム100は端末1及びサーバ2を含み、端末1及びサーバ2で処理を分担しながら点群に関する処理を担うようにしてもよい。
【0017】
図2は、一実施形態に係る点群処理システム100の機能ブロック図である。点群処理システム100は、点群構築装置10及び位置推定装置20を備える。点群構築装置10は画像取得部11、第1置換部12、点群構築部13及び点群DB(データベース)14を備え、第1置換部12は第1領域検知部121、第1輪郭抽出部122及び第1描画部123を備える。位置推定装置20は画像撮影部21、第2置換部22及び位置推定部23を備え、第2置換部22は第2領域検知部221、第2輪郭抽出部222及び第2描画部223を備え、位置推定部23は類似検索部231及びマッチング部232を備える。
【0018】
なお、点群構築装置10及び位置推定装置20の各々に関して、
図1に示される端末1(及びサーバ2)として構成することができる。点群構築装置10を移動体として構成する端末1と、位置推定装置20を移動体として構成する端末1とは別の端末であってもよい。
【0019】
点群構築装置10を移動体として構成する端末1には少なくとも画像取得部11が備わり、端末1自身の周辺環境の撮影を行うことにより映像を取得するが、画像取得部11以外の点群構築装置10の構成はサーバ2に備わることで、処理をサーバ2に委ねるようにしてもよい。位置推定装置20を移動体として構成する端末1には少なくとも画像撮影部21が備わり、端末1自身の周辺環境の撮影を行うことにより画像を取得するが、画像撮影部21以外の位置推定装置20の構成はサーバ2に備わることで、処理をサーバ2に委ねるようにしてもよい。
【0020】
図3は、一実施形態に係る点群構築装置10の動作のフローチャートである。
図4は、一実施形態に係る位置推定装置20の動作のフローチャートである。点群処理システム100の全体的な動作として、
図3に示されるフローチャートにより点群構築装置10において点群データベースとしての点群DB14を構築してから、この構築された点群DB14を参照することにより、
図4に示されるフローチャートにより位置推定装置20が移動体としての位置推定装置20自身(端末1自身)の位置を推定することが可能となる。
【0021】
点群構築装置10は、その全体的な動作として、画像取得部11で取得した映像の各フレーム画像に対して、動体の領域を検出してテクスチャに置換した画像を作成し、このテクスチャ置換された画像を用いて点群DB14に登録する点群(移動体に備わる画像取得部11を構成するカメラの周辺環境(フィールド)についての点群)を構築する。位置推定装置20は、その全体的な動作として、画像撮影部21で撮影した映像の各フレーム画像に対して、動体の領域を検出してテクスチャに置換した画像を作成し、このテクスチャ置換された画像を用いて位置推定(移動体に備わる画像撮影部21を構成するカメラの位置推定)を行う。
【0022】
ここで、点群構築装置10及び位置推定装置20における、各々が取得したフレーム画像に対して動体領域を検出してテクスチャで置換する処理は共通であり、
図5はこの共通の処理を模式的な画像例によって示す図である。
図5で上段側がフレーム画像P1の例であり、下段側がこのフレーム画像P1における動体領域をテクスチャで置換した置換画像P2の例である。
【0023】
フレーム画像P1は屋内フィールドが撮影された例として、通路STに沿って柱W1,W2,W3,W4が存在し、その表面に液晶ディスプレイ等によるデジタルサイネージの表示領域R1,R2,R3,R4がそれぞれ存在し、これらの領域R1,R2,R3,R4が動画像の表示される領域として動体を構成している。このフレーム画像P1において動体領域R1,R2,R3,R4を同サイズ及び同形状のテクスチャT1,T2,T3,T4でそれぞれ置換して得られるのが、下段側に示される置換画像P2である。
【0024】
以下、この
図5に模式的に示されるような処理を行う、点群構築装置10及び位置推定装置20の処理内容の詳細を、それぞれ
図3及び
図4のフローチャートを参照して順に説明する。
【0025】
図3のフローが開始されると、ステップS1では、画像取得部11が、この点群構築装置10においてフィールド内の点群を構築するための映像を取得してから、ステップS2へと進む。画像取得部11はハードウェアとしてはカメラで構成され、移動体である端末1に備わることでこの移動体と共にフィールド内を移動しながら撮影を行うことにより、ステップS1での映像(画像群)が取得される。画像取得部11で取得した映像は第1領域検知部121及び第1描画部123へと出力される。
【0026】
ステップS2では、ステップS1で取得した映像(各時刻t=1,2,3…のフレーム画像F(t))の中から、以降のステップS3,S4,S5において第1置換部12による処理の対象となる画像を選んでから、ステップS3へと進む。説明のため、ステップS2で処理対象として選ばれたフレーム画像をF(t)とする。
【0027】
ステップS3,S4,S5では、第1置換部12においてフレーム画像F(t)内の動体の領域を検知して、この動体領域をテクスチャ描画で置換することにより、フレーム画像F(t)より置換画像RF(t)を生成する処理が行われる。なお、このフレーム画像F(t)及び置換画像RF(t)の模式的な例は、
図5を参照して画像P1及びP2として示した通りである。以下、ステップS3,S4,S5のそれぞれの詳細を説明する。
【0028】
ステップS3では、第1領域検知部121がフレーム画像F(t)の中から、動体領域(その形状の情報も含む)を検知して、この検知結果を第1輪郭抽出部122へと出力してから、ステップS4へと進む。
【0029】
具体的に第1領域検知部121では、予め学習しておく深層学習モデルを利用することにより、フレーム画像F(t)内から所定の物体種別に該当する領域として、動体領域を検知することができる。例えば、深層学習による画像認識のタスクの1つとして既存手法であるインスタンスセグメンテーション(Mask R-CNNなど)を用いることで、動体領域を検知することができる。
【0030】
第1領域検知部121において検知する動体領域の物体種別としては、
図5の模式例でも示したように、一般に矩形状で構成されることが多くデジタルサイネージ等として利用されることの多いディスプレイを設定しておくのが好適である。このようなディスプレイは一般に動画が表示されるか、あるいは、静止画が表示されるが定期的にその内容が更新されることにより、ディスプレイとしての位置は固定されているが、表示内容が変化しうることによって動体を構成するものとなる。第1領域検知部121ではインスタンスセグメンテーション等により、このように動体として構成されるディスプレイを検知できる。従来手法ではこのような動体はマスクして排除していたが、本実施形態では以下に説明するように、測位等の精度向上のために活用することが可能となる。
【0031】
なお、以下、動体領域はディスプレイである場合を例として説明するものとする。
【0032】
第1領域検知部121でインスタンスセグメンテーションにより動体であるディスプレイ領域を検知する際に用いる深層学習モデルにおいては、クラスは1つのみを割り当ててもよいし、ディスプレイの種別(矩形としてのディスプレイ形状も種別により変化しうる)に応じた2つ以上のクラスを割り当てておいてもよい。
【0033】
ステップS4では、第1輪郭抽出部122が、第1領域検知部121で得た領域形状に対して輪郭抽出を適用した結果を第1描画部123へと出力してから、ステップS5へと進む。
【0034】
具体的に、第1輪郭抽出部122では、矩形として構成される動体のディスプレイの輪郭として、四角形を検出して、この四角形の情報を輪郭情報として第1描画部123へと出力することができる。領域形状から四角形を検出するには任意の既存手法を用いてよく、例えばCanny法によるエッジ検出の結果を四角形でフィッティングする等すればよい。(例えば、OpenCV等の既存ライブラリを使用し、Canny()関数及びfindContours()関数を用いて第1輪郭抽出部122の処理を実装することができる)
【0035】
ステップS5では、第1輪郭抽出部122で抽出した輪郭の四角形に対して、第1描画部123が、この輪郭四角形の形状(及びサイズ)に整合させたテクスチャ描画を行い、フレーム画像F(t)において輪郭四角形部分を当該描画されたテスクチャで置換した置換画像RF(t)を得て、この置換画像RF(t)を点群構築部13及び点群DB14へと出力してから、ステップS6へと進む。
【0036】
具体的に、動体であるディスプレイに対して、このディスプレイ領域が形成する矩形と同形状の矩形テクスチャを予め用意しておき、矩形テクスチャの四隅が輪郭四角形の四隅に一致するように、矩形テクスチャに対して射影変換を施すことで、第1描画部123ではテクスチャ描画を行うことができる。
【0037】
図6は、第1描画部123によるテクスチャ描画を説明するための図である。四隅(4頂点)q1,q2,q3,q4を有する四角形Qは、第1輪郭抽出部122で抽出した輪郭形状の四角形Qであり、予め用意しておくのが矩形テクスチャRTであり、四隅(4頂点)p1,p2,p3,p4を有している。この場合、コンピュータグラフィックス等の分野において数学的な関係として既知のように、4頂点p1,p2,p3,p4を4頂点q1,q2,q3,q4に変換する関係として射影変換行列(ホモグラフィ変換行列)Hを求めることができ、この行列Hで矩形テクスチャRTを変換したものとして、四角形Qに形状が一致するテクスチャ描画GTを得ることができる。
【0038】
なお、4頂点p1,p2,p3,p4と4頂点q1,q2,q3,q4とは、
図6に示されるようにこの順番で画像上における左上、右上、右下、左下の頂点であり、この順番で各頂点が対応しているものとして、射影変換行列Hを求めることができる。(なお、画像取得部11で撮影する画像は、上方向が現実世界(3次元世界座標系)における鉛直上方向に該当するものとして撮影を行うことにより、このような対応関係が成立する。)なお、予め用意しておく矩形テクスチャRTは矩形形状のディスプレイを正面から見た状態として歪みのない四角形(矩形)として構成されるのに対し、このディスプレイが画像上に撮影される際には一般にカメラ平面に対して斜めになることにより形状や表示内容が歪むことで、
図6に示されるような四角形Qのような形状となる。(正面からディスプレイが撮影されている場合であれば、歪みは発生しない。)
【0039】
なお、第1領域検知部121においてディスプレイに該当する物体を1クラスのみではなく2クラス以上の複数で設定している場合には、第1描画部123では各クラスに応じたテクスチャで描画を行うようにすればよい。例えば2クラスが設定され、第1クラスのディスプレイが横W1、縦H1のサイズであり、第2クラスのディスプレイが横W2、縦H2のサイズであるのならば、それぞれ、横W1、縦H1の第1テクスチャと、横W2、縦H2の第2テクスチャと、を用意しておき、描画を行うようにすればよい。
【0040】
なお、以上のステップS3,S4,S5は、ステップS3で検知された動体領域が複数存在する場合は、当該検知されたそれぞれの動体領域について実施されるものである。(この際、動体領域ごとに、第1描画部123で求める射影変換行列Hも一般に異なる。)例えば、
図5の例であれば、フレーム画像P1より4つの動体領域R1,R2,R3,R4が検知され、それぞれについてステップS3,S4,S5が実施され、不図示の射影変換行列H1,H2,H3,H4がそれぞれ算出されることでテクスチャ描画T1,T2,T3,T4による置換がなされた結果として、置換画像P2が得られることとなる。
【0041】
ステップS6では、以上のステップS3,S4,S5による処理(フレーム画像からの置換画像の作成)が未処理の画像が、ステップS1で得た映像内に存在するか否かの判定が行われ、肯定の場合(未処理フレーム画像が存在する場合)、ステップS2に戻り、未処理のフレーム画像に対して処理を継続し、否定の場合(ステップS1で得た映像内のフレーム画像の全てについて処理が完了している場合)、ステップS7へと進む。
【0042】
ステップS7では、以上により得られた全ての置換画像RF(t)(t=1,2,3,…)を利用して点群構築部13が点群PGを構築し、置換画像RF(t)と点群PGとを紐付けて点群DB14に登録して保存したうえで、この
図3のフローは終了する。
【0043】
ここで、置換画像RF(t) (t=1,2,3,…)から点群PGを構築する手法としては、SfM(Structure from Motion)等の任意の既存手法を利用してよい。例えばSIFT特徴等により各画像から特徴点及び局所特徴量を求め、画像間での特徴点の対応(局所特徴量が一致すると判定される特徴点同士の対応)を利用して三角測量等の原理により、各特徴点の3次元世界座標の情報を得ることで、点群PGを構築することができる。置換画像RF(t)と点群PGとの紐付けに関しては、点群PGを構成する各点(3次元世界座標の点)がいずれの置換画像RF(t)のいずれの特徴点(2次元画像座標の点)及び局所特徴量に対応しているかの情報を与えることで、紐付けを行うことができる。
【0044】
以上、
図3のフローにより点群構築装置10では、各フレーム画像F(t)に撮影されている表示内容が時間変化しうる動体としてのディスプレイを、射影変換Hを用いたテクスチャ描画で置換した置換画像RF(t)を利用して点群構築を行う。すなわち、動体であるディスプレイの存在する四角形領域に、あたかも、所定テクスチャで構成される静止物体(例えば所定サイズ、所定模様のポスター等)が実在しているかのように置換して描画がなされた置換画像RF(t)を利用して点群構築を行うので、動体をマスクして完全に排除してしまう従来手法とは異なり、動体の存在を活用して精度よく点群構築を行うことが可能となる。
【0045】
次に、位置推定装置20に関して
図4の各ステップを説明する。
図4のフローが開始されると、ステップS11では、画像撮影部21が、この位置推定装置20の位置をVPSにより推定するためのフレーム画像Fを撮影して第2領域検知部221及び第2描画部223へ出力
してから、ステップS13へと進む。
【0046】
ステップS13,S14,S15では、第2置換部22においてフレーム画像F内の動体の領域を検知して、この動体領域をテクスチャ描画で置換することにより、フレーム画像Fより置換画像RFを生成する処理が行われる。この処理は、第1置換部12がステップS3,S4,S5でフレーム画像F(t)から置換画像RF(t)を生成する処理と同一であるため、重複する説明を省略する。すなわち、ステップS13,S14,S15ではぞれぞれ、第2領域検知部221、第2輪郭抽出部222及び第2描画部223が、ステップS3,S4,S5において第1領域検知部121、第1輪郭抽出部122及び第1描画部123が行ったのと同様の処理を、ステップS11で取得したフレーム画像Fに対して行うことにより、最終的にステップS15において第2描画部223が置換画像RFを生成する。第2描画部223が生成した置換画像RFは位置推定部23へと出力される。
【0047】
ステップS15から進むステップS17では、類似検索部231が、ステップS15で第2描画部223より得られた置換画像RFに類似すると判定される画像(複数あってもよい)を、点群DB14を参照して、記録されている置換画像RF(t)(t=1,2,3,…)の中から検索し、検索結果(RF(T)とする)をマッチング部232へと出力してからステップS18へと進む。類似検索部231では、任意の既存の類似画像検索手法により、点群DB14の置換画像RF(t)(t=1,2,3,…)の中から第2描画部223で得た置換画像RFに類似する画像を検索することができる。例えば、GeM(Generalized mean Pooling)などの深層学習を用いてよい。
【0048】
ステップS18では、マッチング部232が、ステップS17で類似検索部231より得られた類似結果の置換画像RF(T)と置換画像RFとの間で特徴点のマッチングを行うことにより、置換画像RTを撮影した際の位置を位置推定装置20からの最終的な結果として出力して、
図4のフローは終了する。特徴点マッチングによる位置の推定は、既存手法のVPSにおいてなされているのと同様にすればよく、置換画像RFよりSIFT特徴等の特徴点及び局所特徴量を抽出し、置換画像RF(T)の特徴点及び局所特徴量(点群DB14に紐づけて保存されている)との間で点対応を求め、一致する対応点の3次元座標から、バンドル調整などを用いて置換画像RFの位置および向きを、置換画像RFの測位結果として得ることができる。(点対応により、点対応でマッチングした画像RF(T)に対する置換画像RTの相対位置が求められ、一致した特徴点(マッチングした画像RF(T)の特徴点)には既に点群として3次元座標(3次元世界座標)が与えられているので、置換画像RTの位置及び向きを3次元座標において得ることができる。)
【0049】
以上、
図4のフローにより、位置推定装置20では第2置換部22において点群構築装置10の第1置換部12と同一の手法でフレーム画像Fから置換画像RFを生成し、同様の手法で生成された置換画像RF(t)(t=1,2,3,…)を記録している点群DB14を参照して測位を行うことにより、点群構築装置10において点群構築の精度が向上されたのと同様に、動体をマスクして排除する従来技術よりも測位の精度を向上させることができる。
【0050】
以下、種々の補足例や変形例に関して説明する。
【0051】
(1) 本実施形態で動体は矩形状のディスプレイの場合を例として説明したが、矩形状で構成され、ディスプレイと同様の挙動(環境内に固定的に設置されることで位置が時間変化しないが、その内部に現れる内容は時間変化するという挙動)を示すものを動体として設定して、同様に本実施形態を適用することが可能である。例えば、矩形状の枠(例えば木の棒で構成される額縁状の矩形中空枠)は、その内部に見える内容はその内部の景色が時間変化する(例えばその内部を人物等の動体が通過することで時間変化する)ことにより、本実施形態を適用する動体として設定できる。同様に、矩形状の鏡面や、矩形状の鏡面をなすビルの窓枠なども、本実施形態を適用する動体として設定できる。さらに、同様に、エッジが検出可能であれば、矩形以外の所定の形状(三角形などの多角形や円形やこれらの組み合わせ形状など)で構成される対象も、本実施形態を適用する動体として設定できる。
【0052】
(2)
図3のステップS1にて画像取得部11は、単一の移動体としての端末1においてフィールド内を移動しながら撮影した映像の各フレーム画像として画像群を取得するものとして説明したが、本実施形態を適用可能な画像群はこのように取得されたものに限定されない。ステップS1にて画像取得部11は、点群構築の対象となるフィールドを、複数の移動体における各カメラによって様々な位置姿勢において撮影された画像群を取得するようにしてもよい。また、移動体のカメラに限らず、様々な位置の固定カメラから撮影された画像群を取得するようにしてもよい。このように取得する場合、画像取得部11はハードウェアとしてカメラとして構成されることに代えて、または加えて、様々なカメラで撮影された画像をネットワーク上から取得するための通信インタフェースとして構成されるものであってよい。
【0053】
(3)
図7は、一般的なコンピュータ装置70におけるハードウェア構成の例を示す図である。点群処理システム100における点群構築装置10及び位置推定装置20を構成する端末1及びサーバ2はそれぞれ、このような構成を有する1台以上のコンピュータ装置70として実現可能である。なお、2台以上のコンピュータ装置70で点群構築装置10又は位置推定装置20実現する場合、ネットワーク経由で処理に必要な情報の送受を行うようにしてよい。コンピュータ装置70は、所定命令を実行するCPU(中央演算装置)71、CPU71の実行命令の一部又は全部をCPU71に代わって又はCPU71と連携して実行する専用プロセッサとしてのGPU(グラフィックス演算装置)72、CPU71(及びGPU72)にワークエリアを提供する主記憶装置としてのRAM73、補助記憶装置としてのROM74、通信インタフェース75、ディスプレイ76、マウス、キーボード、タッチパネル等によりユーザ入力を受け付ける入力インタフェース77、画像取得部11及び画像撮影部21をハードウェアとして構成するカメラ78と、これらの間でデータを授受するためのバスBSと、を備える。前述の通り、画像取得部11を構成するハードウェアは、通信インタフェース75であってもよい。
【0054】
点群構築装置10及び位置推定装置20の各機能部は、各部の機能に対応する所定のプログラムをROM74から読み込んで実行するCPU71及び/又はGPU72によって実現することができる。なお、CPU71及びGPU72は共に、演算装置(プロセッサ)の一種である。ここで、表示関連の処理が行われる場合にはさらに、ディスプレイ76が連動して動作し、データ送受信に関する通信関連の処理が行われる場合にはさらに通信インタフェース75が連動して動作する。点群処理システム100による処理結果等はディスプレイ76で表示して出力してよい。
【符号の説明】
【0055】
100…点群処理システム、1…端末、2…サーバ
10…点群構築装置、11…画像取得部、12…第1置換部、13…点群構築部、14…点群DB、121…第1領域検知部、122…第1輪郭抽出部、123…第1描画部
20…位置推定装置、21…画像撮影部、22…第2置換部、23…位置推定部、221…第2領域検知部、222…第2輪郭抽出部、223…第2描画部、231…類似検索部、232…マッチング部