(57)【要約】【課題】  移動する点検対象における点検箇所の位置情報保存装置を可能とする。【解決手段】  本発明の一側面は、広域画像を取得する第１のステップ、広域画像より高分解能である精細画像を取得する第２のステップ、精細画像から、精細画像特徴点を抽出する第３のステップ、精細画像から、精細画像特徴点に対して三次元上の座標を与えた三次元点群を生成する第４のステップ、広域画像から広域画像特徴点を抽出し、精細画像特徴点とマッチングを行う第５のステップ、広域画像特徴点に対して、マッチングが成立した精細画像特徴点の三次元座標を対応付けて記録する第６のステップ、を備える位置情報記録方法である。【選択図】図７
2019032218.tif 000002
【特許請求の範囲】
【請求項１】
広域画像を取得する第１のステップ、
前記広域画像より高分解能である精細画像を取得する第２のステップ、
前記精細画像から、精細画像特徴点を抽出する第３のステップ、
前記精細画像から、前記精細画像特徴点に対して三次元上の座標を与えた三次元点群を生成する第４のステップ、
前記広域画像から広域画像特徴点を抽出し、前記精細画像特徴点とマッチングを行う第５のステップ、
前記広域画像特徴点に対して、マッチングが成立した前記精細画像特徴点の三次元座標を対応付けて記録する第６のステップ、
を備える位置情報記録方法。
【請求項２】
前記第４のステップにおいて、Visual ＳＬＡＭを用いる、
請求項１記載の位置情報記録方法。
【請求項３】
前記第５のステップにおいて、前記マッチングを行う領域を前記広域画像の一部に限定する、
請求項１記載の位置情報記録方法。
【請求項４】
前記第５のステップにおいて、前記マッチングを行う領域を前記広域画像の一部に限定するために、前記広域画像に含まれるマークを用いる、
請求項３記載の位置情報記録方法。
【請求項５】
前記第５のステップにおいて、前記マッチングを行う領域を前記広域画像の一部に限定するために、オペレータによる範囲指定を可能とする、
請求項３記載の位置情報記録方法。
【請求項６】
前記第１のステップにおいて、空撮により広域画像を取得し、
前記第２のステップにおいて、一連の空撮により複数の精細画像を取得し、
前記第５のステップにおいて、前記マッチングを行う領域を前記広域画像の一部に限定するために、前記一連の空撮を行うためのカメラの位置情報を利用する、
請求項３記載の位置情報記録方法。
【請求項７】
前記第５のステップにおいて、前記カメラに加速度センサおよび磁気センサのうち少なくとも一つを備え、加速度情報および磁気情報の少なくとも一つを用いて、前記カメラが撮影している領域を推定することで、前記マッチングを行う領域を前記広域画像の一部に限定する、
請求項６記載の位置情報記録方法。
【請求項８】
前記第６のステップにおいて、前記広域画像特徴点の広域画像上の座標に対して、マッチングが成立した前記精細画像特徴点の三次元座標を対応付けて記録する、
請求項１記載の位置情報記録方法。
【請求項９】
前記第２のステップにおいて、同一の対象物に対して異なる時間タイミングで精細画像を取得し、前記異なる時間タイミングにおいて前記対象物の絶対位置が変化しており、
前記第６のステップで記録した情報に基づいて、前記対象物の時間的変化を検知する、
請求項８記載の位置情報記録方法。
【請求項１０】
広域画像を取得する広域画像取得部と、
前記広域画像より高分解能である精細画像を取得する精細画像取得部と、
前記精細画像から精細画像特徴点を抽出し、前記精細画像から前記精細画像特徴点に対して三次元上の座標を与えた三次元点群を生成する精細画像処理部と、
前記広域画像から広域画像特徴点を抽出し、前記精細画像特徴点とマッチングを行い、前記広域画像特徴点に対して、マッチングが成立した前記精細画像特徴点の三次元座標を対応付けて記録する位置情報記録部、
を備える位置情報記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間上の位置情報を保存する技術に関する。
【背景技術】
【０００２】
近年、ＵＡＶ（Unmanned Aerial Vehicle）を用いた点検が一般的になっている。一般化している理由は、点検に使用するＵＡＶの機体とセンサの価格低下に伴い、ＵＡＶを用いた点検が、人手による点検より、短時間かつ低価格に実施できるようになったからである。点検の後は、点検結果に基づいた点検後の作業が必要である。点検後の作業とは、例えば、損傷していた箇所の修理と、同一箇所の比較と、同一箇所の再検査が考えられる。
【０００３】
当該作業を実施するには検査箇所の相対位置情報を把握する必要がある。カメラを用いた撮影対象及びカメラ自体の相対位置把握技術として、ＳｆＭ（Structure from Motion）という技術が存在する。ＳｆＭは、共通領域を撮影した画像群からカメラの相対位置と撮影対象物の三次元形状の相対位置関係を推定する技術である。ゆえに、画像群の間で共通領域を撮影した画像のペアが存在しない場合、それぞれの画像群で推定されたカメラの相対位置関係が分からず、当該画像群間で推定された三次元形状の相対位置と相対スケールが分からない。
【０００４】
一方で、点検に不要な箇所を点検対象と同様に詳細に撮影していては、処理する画像の増加とともに計算時間が膨大になる。これに対し、特開２０１４−０６１４８号公報（特許文献１）には、撮像装置を具備する飛行体が高高度を飛行し、測定範囲を含む広域画像を取得し、広域画像取得時の３次元位置を取得する工程と、該広域画像に基づき測定範囲を設定する工程と、飛行体が低高度を飛行し、所定距離間隔で精細画像を取得する工程と、精細画像取得時の位置を取得する工程と、広域画像と精細画像との倍率を合わせる工程と、広域画像取得時の位置、精細画像取得時の位置に基づき倍率を合わせた広域画像と精細画像とを広域画像／精細画像マッチングを行う工程と、広域画像／精細画像マッチングで得られる相対関係情報に基づき隣接する精細画像を精細画像／精細画像マッチングし、前記測定範囲全域の測定範囲精細３Ｄモデルを作成する工程が記載されている。
【０００５】
図１は、前記特許文献１の概念を示した図である。広域画像を用いて相対スケールを把握することで、２つ以上の３次元形状の相対位置と相対スケールを決定することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−０６１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前記特許文献１では、精細画像と広域画像を照合するのに、ＧＰＳ（Global Positioning System）で計測した絶対位置情報を用いていた。しかし、撮影対象が動いてしまう場合、広域画像で撮影したときの撮影対象の絶対位置と、精細画像で撮影したときの撮影対象の絶対位置の関係が変化するので、ＧＰＳを用いた照合ができない。
【０００８】
移動する点検対象として、例えば、洋上風力発電機等が存在する。そこで、本発明は、精細画像と広域画像を用いて、移動する点検対象における点検箇所の位置情報を自動保存する技術の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面は、広域画像を取得する第１のステップ、広域画像より高分解能である精細画像を取得する第２のステップ、精細画像から、精細画像特徴点を抽出する第３のステップ、精細画像から、精細画像特徴点に対して三次元上の座標を与えた三次元点群を生成する第４のステップ、広域画像から広域画像特徴点を抽出し、精細画像特徴点とマッチングを行う第５のステップ、広域画像特徴点に対して、マッチングが成立した精細画像特徴点の三次元座標を対応付けて記録する第６のステップ、を備える位置情報記録方法である。
【００１０】
本発明の他の一側面は、広域画像を取得する広域画像取得部と、広域画像より高分解能である精細画像を取得する精細画像取得部と、精細画像から精細画像特徴点を抽出し、精細画像から精細画像特徴点に対して三次元上の座標を与えた三次元点群を生成する精細画像処理部と、広域画像から広域画像特徴点を抽出し、精細画像特徴点とマッチングを行い、広域画像特徴点に対して、マッチングが成立した精細画像特徴点の三次元座標を対応付けて記録する位置情報記録部、を備える位置情報記録装置である。
【発明の効果】
【００１１】
広域画像と精細画像の撮影対象の絶対位置が必ずしも等しくなく、ＧＰＳベースでは広域画像と精細画像の３次元形状の位置合わせができない環境下でも、広域画像上で点検箇所の把握が可能となる。
【図面の簡単な説明】
【００１２】
【図１】広域画像を用いた相対スケールの把握の概念図。
【図２】実施形態１のシステムフロー図。
【図３】特徴点マッチングの概念図。
【図４】三次元点群の生成概念図。
【図５】領域限定とＲＡＮＳＡＣを用いた特徴点マッチングの概念図。
【図６】投影誤差とその修正の概念図。
【図７】実施形態１の機能ブロック図。
【図８】精細画像ＤＢの表図。
【図９】精細画像同士の特徴点マッチング部の機能ブロック図。
【図１０】画像特徴点ＤＢの表図。
【図１１】マッチングＤＢの表図。
【図１２】ＳｆＭ部の機能ブロック図。
【図１３】カメラＤＢの表図。
【図１４】三次元点群ＤＢの表図。
【図１５】広域画像と精細画像の特徴点マッチング部の機能ブロック図。
【図１６】広域画像ＤＢの表図。
【図１７】センサＤＢの表図。
【図１８】広域画像座標位置ＤＢの表図。
【図１９】実施例２の機能ブロック図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【００１４】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００１５】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【００１６】
本実施形態では、位置情報記録装置を活用する一例であるＵＡＶを用いた点検を用いて説明する。本実施形態の位置情報記録装置は、点検の対象全域を映した広域画像と、点検を実施する時にカメラから取得した精細画像と、を用いて点検個所の広域画像上での位置情報を記録する。ただし、ＵＡＶは一例であり、有人飛行機や地上を移動するロボットや人にも装着することは可能である。点検に使用するセンサは、本装置を構成するカメラによる撮影結果をそのまま使用してもよい。また、当該カメラとは別のセンサを準備し、当該センサで取得した点検結果に位置情報を与えることも考えられる。
【００１７】
本実施例では、撮影対象が静止しておらず、過去の点検のタイミングと最新の点検のタイミングの間に移動している場合も取り扱うものとする。また、各点検のタイミングでは、例えばＵＡＶにより、広域画像の一部領域に対応する精細画像を取得しておくものとする。広域画像は例えばＵＡＶにより高高度から撮影対象を撮影した遠隔画像であり、精細画像は撮影対象により接近して撮影した近接画像である。精細画像はある一つの点検のタイミングにおいて、複数のカメラ位置から撮影された複数の静止画像を含むものとし、この複数の静止画像間では撮影対象は実質的に動いていないものとする。このような静止画像は、例えばＵＡＭが撮影対象の周りを接近して飛行しながら撮影した動画像から、抽出することができる。一方、広域画像は最初の点検のタイミング以前に一度だけ撮影して保存しておいてもよいし、各点検のタイミングで精細画像とともに撮影してもよい。
【００１８】
以下に詳細に説明される実施例では、精細画像に対して例えばVisual ＳＬＡＭ（Simultaneous Localization and Mapping：位置推定と地図作成の同時実行）のような技術を用いて、撮影対象の３次元マップを作成する。公知のように、Visual ＳＬＡＭでは、動画像を解析することで、逐次的にカメラの位置・姿勢と撮影対象の三次元マップを推定することができる。本実施例では、推定した３次元マップと広域画像を比較して、特徴点同士を対応付けることにより、広域画像の座標系における３次元マップの位置を推定し、記憶する。
【００１９】
この方法により、精細画像から得られた３次元座標を、広域画像の座標系と対応付けることができる。そこで、過去の点検のタイミングにおける精細画像と、現在の点検のタイミングにおける精細画像との間で、精細画像に含まれる撮影対象の絶対位置が変化している場合でも、同じ座標系で撮影対象物の位置を特定することが可能となる。
【実施例１】
【００２０】
図２により、本発明の第１の実施形態について説明する。図２は、本発明の実施形態１に係る位置情報保存システムの処理フロー図である。本実施形態では、広域画像上における精細画像を取得したカメラの相対位置関係を把握するため、時間的に連続する複数の精細画像間での特徴点マッチングを行う（Ｓ２０１）。これら複数の精細画像は、短時間間隔で撮影されたものとし、その時間内では撮影対象は実質的に移動していないものとする。
【００２１】
図３により、特徴点マッチングの概念を説明する。マッチングとは、２枚の画像に映る同一点を結び付ける作業のことである。まず、カメラで取得した精細画像３００の特徴点３０１を取得する（図３(a)）。
【００２２】
特徴点３０１は、他の点と区別が容易な画像上の点のことであり、画素情報の勾配情報を特徴点の特徴量として表現することができる。特徴量の例として、公知のＳＩＦＴ，ＳＵＲＦ，ＯＲＢ，ＡＫＡＺＥ等がある。ただし、カメラの位置が変わらず、画像がほとんど変化しない場合は、当該画像から特徴点を取得しなくても良い。特徴点を取得するかの判断に関しては、多くの研究が行われているので詳細を省く。
【００２３】
次に、取得した特徴点のマッチングを行う。特徴点マッチングとは、２つの精細画像３００aと３００ｂから同一地点を表す点を紐付けることである（図３(ｂ)）。比較した特徴点の特徴量が似た値を示している場合に、２つの特徴点３０１aと３０１ｂが同一点を表現していると判断する。当該マッチングの精度を高めるため、幾何的制約等を使用することで、誤ったマッチングを消去しても良い。誤ったマッチングを消去する手段に関しては、後に説明する。
【００２４】
次に特徴点マッチングの結果を用いて、初期の精細画像より生成された三次元点群の相対位置と、カメラの相対位置と、カメラの向きとを、推定する（Ｓ２０２）。三次元点群とは、当該画像上の点に対して三次元上の座標を与えたものである。カメラ相対位置と向きは、当該画像を撮影したときの、カメラの位置と向きのことである。
【００２５】
図４に示すように、特徴点マッチングの結果に基づいて、三角測量を利用することで、初期三次元点群４０１の相対位置とカメラの相対位置４０２と向き４０３を推定することができる。このような処理は、前述のVisual ＳＬＡＭにより行うことができる。
【００２６】
ただし、三角測量を用いた当該処理は、カメラパラメータが既知であることを前提に行われている。カメラパラメータとは、画像のピクセルの数、センサのサイズ、焦点距離、レンズの歪み等を表現したパラメータである。しかし、実際は事前にカメラパラメータが不明である、もしくは、推定されていたとしても誤差が含まれていることがある。カメラパラメータが正確に把握できない状況でも、特徴点マッチングのマッチング結果によりカメラパラメータを推定することができるので、必ずしも事前にカメラパラメータを推定する必要は無い。
【００２７】
次に広域画像と精細画像の特徴点マッチングを行う（Ｓ２０３）。まず、撮影した高度の異なる広域画像と精細画像の特徴点マッチングについて説明する。特徴点マッチングでは、精細画像同士のマッチングで述べたように、画素の勾配情報に基づいた特徴量の類似度で２つの点が同一の箇所を示しているかを判断する。この類似度に基づいたマッチングでは、誤対応点が多く含まれている。そこで、背後にある拘束式を推定し、正しい特徴点マッチング精度を実施するため、公知のＲＡＮＳＡＣ(RANdom Sample Consensus)と呼ばれるアルゴリズムを用いる。これにより同一地点を適切に対応付けているマッチングを抽出する。
【００２８】
ＲＡＮＳＡＣでは、外れ値を含んだデータから、確率的に背後に存在する拘束を推定し、その拘束に基づいて、マッチングが正しいか判断する。しかし、高度の異なる画像では、誤対応の割合の多さから、背後に存在する拘束条件を推定できず、うまく特徴点マッチングできない。
【００２９】
図５を用いて、精細画像と広域画像の特徴点マッチングの方法を説明する。一例であるが、図５は精細画像の大きさを変えて、回転した画像を広域画像に対応付けるという拘束を用いて、正しいマッチングを取得しようとしている。
【００３０】
図５（ａ）を見ると、広域画像５００は精細画像３００を撮影した箇所より、高いところで撮影した結果、撮影対象物は精細画像３００を小さくし、回転したように写っている。しかし、大量の誤ったマッチングがある結果、マッチング結果だけを見ても、サイズをどれだけ変化させて、回転させたか推定することは難しい。
【００３１】
図５（ｂ）は、広域画像５００において、マッチング対象とする特徴点５００１がある領域を５１０に限定して、特徴点マッチングを行なった例である。このように、精細画像３００の広域画像５００における場所に基づいて、明らかなマッチング誤りを除去すると、大きさと回転の変化の推定が容易となる。すると、背後の拘束が推定できた結果、図５（ｃ）のように誤マッチングを除去することができる。
【００３２】
本実施形態ではＲＡＮＳＡＣを実行する前に、広域画像５００における撮影範囲外の特徴点５００１ｘが含まれているマッチングを除去する。大量の誤マッチングを除去することで、正しく背後に存在する拘束条件を推定し、結果的に正しいマッチング結果を取得することができた。以下に具体的な手順について説明する。
【００３３】
まず、広域画像データベース（ＤＢと略す。以下同様）より事前に撮影した広域画像５００を取得する。ただし、当該広域画像５００は精細画像３００を撮影する前に撮影し、そのまま精細画像３００の撮影を開始しても良い。次に、当該広域画像５００の特徴点５００１を取得し、特徴点ＤＢに格納する。ただし、当該広域画像５００の特徴点５００１の取得は、広域画像５００が事前に撮影されている場合には、事前に行い特徴点ＤＢに格納しても良い。
【００３４】
マッチングする広域画像５００の領域５１０は、事前に広域画像ＤＢに初期三次元点群領域として格納し、当該領域に基づいてマッチング領域を限定する。初期三次元点領域の座標は、例えば精細画像の撮影スタート位置の座標とする。この座標は、精細画像の撮影時にＧＰＳ等で記録したカメラの座標を用いる、あるいは、カメラの方向の情報を併用してもよい。これらの情報によれば、カメラが撮影した場所をおおよそ特定することができる。この場合、精密な座標は必要でない。また、カメラの座標が記録されていない場合には、処理Ｓ２０２で推定したカメラ位置の座標を用いてもよい。
【００３５】
領域の範囲は、当該座標を中心に所定半径の円内や所定の辺の長さを持つ四角形のように定める。他の方法としては、広域画像５００から初期三次元点群領域を確認できるように、事前に撮影対象の移動が想定される領域に初期三次元点群領域を示す目印を置き、目印を撮影することで、当該限定領域を事前に格納せずに実施することも考えられる。
【００３６】
また、他の方法として、マッチングの前にオペレータに広域画像を表示し、オペレータが範囲を指定してもよい。これらの領域限定により、誤ったマッチングを除去する。
【００３７】
次にＲＡＮＳＡＣを用いたマッチングを行う。拘束として考えられるのは、例えば、同一平面に存在する点を撮影した２枚の画像における同一地点の画像上の拘束条件である平面拘束が考えられる。また、エピポーラ拘束を用いても良い。当該広域画像５００と当該精細画像３００のマッチング結果から推定された平面拘束を満たす、マッチングのみを正しいマッチングとして処理する。
【００３８】
広域画像の特徴点５００１とマッチングした精細画像の特徴点３０１が存在した場合、当該特徴点３０１の三次元点群４０１は広域画像上の点との対応が確認できる。ただし、当該精細画像のみでの三次元点群の推定では、当該三次元点群４０１がゆがんでしまう場合がある。そこで、三次元点群とカメラ位置の補正をして広域画像と精細画像の特徴点の記録を行う（処理Ｓ２０４）。以下三次元点群とカメラ位置を補正する方法について説明する。
【００３９】
図６で、三次元点群のゆがみとこの修正について説明する。広域画像５００と精細画像３００のマッチングした特徴点のうち、三角測量で３次元座標が計算されているものを抽出する。この広域画像５００における特徴点の対応をもとに、三次元点群及び精細画像のカメラ位置を修正する。
【００４０】
まず、広域画像上で特定されている三次元点群４０１の位置情報から広域画像を撮影した場所を推定する。推定した結果から広域画像と精細画像の投影誤差の和が最小になるようにカメラ位置４０２と三次元点群４０１の位置を図中太矢印のように調整することで相対自己位置を修正する。３０１で示す点が画像上で特徴点が存在していた箇所であり、４０２と４０１で示す点はカメラと三次元点群の相対位置である。
【００４１】
推定した広域画像を撮影した場所は誤差を含んでおり、カメラ位置と三次元点群の相対位置から推定される画像上の座標は、実際の画像上の座標とは一致しない。このカメラ位置と三次元点群を結んだ直線が精細画像３００上のどこに存在するかを推定する作業を再投影という。再投影される場所は、カメラ位置と、カメラの向き、カメラパラメータ、三次元点群の相対位置により、計算することができる。この再投影した点６００２と実際の画像に映っている点６００１の画像上での誤差を投影誤差６００３という。そして、この投影誤差を最小化するようにカメラ位置と三次元点群位置を補正することで、推定誤差を削減する。最小化する手段として、例えば、非線形最適化手法であるバンドル調整を使用する。
【００４２】
以上で、初期精細画像に基づいて得られた初期三次元点群の特徴点と広域画像の特徴点とが対応付けられた。広域画像上に座標軸を定義しておけば、初期三次元点群の特徴点を広域画像上の座標で表わすことができる。本実施例では、精細画像は例えば、ある一つの点検のタイミングにおいて、ＵＡＶが撮影対象の周りを飛行しながら撮影した複数の静止画像であり、初期精細画像は例えば、その中から選ばれた２つの静止画像である。撮影時にリアルタイムで処理を行っている場合には、２つの静止画像は撮影スタート直後の２枚の精細画像である。以下ではリアルタイム処理を例に説明するが、画像をいったん保存しておき、後にバッチ処理を行うことも可能である。
【００４３】
次に、ＵＡＶはスタート地点から移動して行く。ＵＡＶは移動しながら新たな精細画像を撮影する。追加された新規精細画像と直前の精細画像とで特徴点マッチングを行う（処理Ｓ２０５）。特徴点マッチングした特徴点のうち、三次元点群として位置情報が付加された点が存在した場合、当該三次元点群の位置情報をもとに、当該追加精細画像のカメラ位置を推定する（処理Ｓ２０６）。ただし、カメラ位置を推定した後に、投影誤差を用いて補正する処理を行っても良い。２つの精細画像間で同じ位置情報が付加された特徴点を共有するためには、撮影範囲が一部重複するように２つの精細画像を撮影すればよい。
【００４４】
続いて、三次元点群の追加を行う（処理Ｓ２０７）。特徴点マッチング（処理Ｓ２０５）の結果抽出された特徴点のうち、相対位置情報が付加されていない特徴点を抽出する。当該位置情報が付加されていない特徴点については、処理Ｓ２０２と同様に三角測量を用いることで、相対位置情報を付加する。当該処理を終えた後も、処理Ｓ２０４と同様に投影誤差を用いて補正する処理を行っても良い。相対位置情報を付加した特徴点は、三次元点群に追加する。
【００４５】
続いて、広域画像と新規精細画像の特徴点マッチングを行う（処理Ｓ２０８〜Ｓ２０９）。スタート地点では、特徴点マッチングを成功させるために、既知情報もしくは目印を用いることで、マッチングする領域を決定した（処理Ｓ２０３）。新規精細画像と広域画像とのマッチングの領域は処理Ｓ２０３と同様に決定してもよいが、新規精細画像のカメラ位置とカメラパラメータで決定してもよい（処理Ｓ２０８）。すなわち、処理Ｓ２０６で当該精細画像のカメラ位置が推定されているので、倍率などのカメラパラメータに基づいて、広域画像中の精細画像位置を推定することができる。
【００４６】
特徴点マッチングを行った後、必要により処理Ｓ２０４と同様に投影誤差を用いて補正する処理を行い、三次元点群とカメラ位置の補正をして広域画像と精細画像の特徴点の記録を行う（処理Ｓ２１０）。
【００４７】
以後、処理Ｓ２０５〜処理Ｓ２１０のプロセスを繰り返すことによって、絶対位置情報が分からない状態であっても、逐次的に領域を限定した特徴点マッチングを行うことにより、ＧＰＳ等による絶対位置情報を取得できない状況下でも、広域画像と精細画像の位置情報の対応を取り続けることができる。
【００４８】
点検の結果のデータを点検対象物の位置情報とともに記録する方法について述べる。処理Ｓ２０５〜処理Ｓ２１０のプロセスでは、カメラ位置とカメラによって撮影された特徴点の三次元点群の相対位置情報を記録したに過ぎない。本実施例の目的とする点検の自動化のプロセスでは、点検対象物の相対位置情報と当該点検対象物の状態を反映したセンサデータを関連付けて記録する必要がある。
【００４９】
一つの例では、記録する点検対象物の相対位置情報は、点検に使用するセンサに依存して決定することができる。温度や特定物質を検知するセンサのように、センサの位置と測定対象の位置が一致するセンサを使用する場合は、位置情報として当該センサ位置を記録すればよい。また、カメラやスペクトルカメラや熱赤外線カメラのような、センサがセンサとは離れた位置の情報を取得する場合であって、センサデータが二次元の画像として表現される場合は、センサ（カメラ）の向きによって、記録される位置情報が異なる。センサが位置情報を記録するためのカメラと同じ向きの場合は、当該カメラで取得した三次元点群の相対位置を記録すればよい。向きが異なる場合は、センサが取得しているデータが三次元座標上のどこに対応するかを把握する必要がある。このためには、センサ自体の位置とセンサの向きや感度等のセンサパラメータに基づいて、センサデータを取得している点検対象物の位置を把握することで、位置を決定することができる。また、センサに距離センサを併設することで、点検対象との距離を把握することができる。また、存在する平面を仮定することで限定することもできる。
【００５０】
図７を用いて、図２の手順を実施するための機能ブロックについて説明する。本実施形態の位置情報記録装置７００は、カメラ１４００１と、精細画像ＤＢ１４００２と、特徴点ＤＢ４０３と、マッチングＤＢ４０４と、三次元点群ＤＢ４０５と、カメラＤＢ４０６と、広域画像ＤＢ４０７と、広域画像座標位置ＤＢ４０８と、センサＤＢ４０９と、精細画像処理部４１０と、位置情報記録部４１３と、結果出力部４１７を有する。
【００５１】
このような機能ブロックは、基本的に入力装置、出力装置、記憶装置、処理装置を備える一般的なサーバで構成することができる。本実施例では計算や制御等の機能は、記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウェアと協働して実現されるものとする。サーバが実行するプログラム、その機能、あるいはその機能を実現する手段を、「部」、「機能」、「手段」、「ユニット」、「モジュール」等と呼び、処理の主語として記述する場合がある。また、以後の説明では記憶装置に格納されたデータを、「〜テーブル」、「〜リスト」、「〜ＤＢ」、「〜キュー」、「情報」等の表現で説明することがあるが、これらは等価な情報である限り、データ形式を問わない。
【００５２】
また、以上の構成は、単体のサーバで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。また、図７の構成では説明上カメラ１４００１を装置に含めているが、カメラ１４００１は別途ＵＡＶに搭載し、遠隔地から無線回線等により画像データを位置情報記録装置７００に送信するように構成することができる。
【００５３】
位置情報記録装置７００は、１または複数のカメラ１４００１によって、位置情報を取得するための精細画像もしくは動画を取得し、撮影した画像を精細画像ＤＢ１４００２へ保存する。
【００５４】
図８は精細画像ＤＢ１４００２のインデックスのデータ構造を示す一例である。精細画像は、例えば取得した順番がわかるように撮影した順番に精細画像ＩＤ８０１をつける。もしくは、撮影時刻を保存しても良い。カメラを使った場合は、撮影した当該カメラのカメラＩＤ８０４を保存する。また、撮影時のカメラ位置８０２、カメラ向き８０３などの撮影条件が分かっている場合にはこれらを保存してもよい。カメラ位置は例えばＧＰＳによって取得できる。ただし、これらが分かっていない場合でも、カメラ位置８０２やカメラ向き８０３は、前述のように推定して保存することもできる。また、カメラＩＤ８０４に対応して、別途ピクセル数や焦点距離など、カメラの性能パラメータを格納してもよい。
【００５５】
図９は、精細画像同士の特徴点マッチング部４１１の機能ブロック図である。本実施例では、各機能ブロックはソフトウェアで実現することにしている。保存された精細画像は、精細画像同士の特徴点マッチング部４１１により、精細画像同士の特徴点マッチングを行う。精細画像同士の特徴点マッチング部は、画像特徴点検出部５０１と、画像特徴点特徴量比較部５０２と、画像特徴点特徴量計算部５０３と、特徴点マッチングＲＡＮＳＡＣ部５０４を有する。
【００５６】
図１０は特徴点ＤＢ４０３のデータ構造を示す一例である。画像特徴点検出部５０１では、精細画像ＤＢ１４００２より精細画像を取得し、精細画像上の特徴点を検出し、精細画像ＩＤ１００１と特徴点ＩＤ１００４を割り当て、特徴点の二次元座標１００２とともに特徴点ＤＢ４０３に保存する。画像特徴点特徴量計算部５０３で、精細画像と特徴点の二次元座標１００２を用いて、特徴点の特徴量１００３を計算し、特徴点ＤＢ４０３に保存する。
【００５７】
画像特徴点特徴量比較部５０２で、特徴点ＤＢ４０３の特徴量１００３が近い特徴点の組み合わせを特徴点マッチングとして、マッチングＤＢ４０４に格納する。
【００５８】
図１１はマッチングＤＢ４０４のデータ構造を示す一例である。マッチングＤＢ４０４では、マッチングＩＤ１１０１に対応して、複数枚の精細画像の精細画像ＩＤ１１０２（１１０１）と、当該精細画像ＩＤの精細画像中でマッチングした特徴点の特徴点ＩＤ１１０３（１００４）が保存されている。図１１の１行目の例では、画像ＩＤ「２」の特徴点ＩＤ「６」の点が、画像ＩＤ「３」の特徴点ＩＤ「３９」の点とマッチングしていることを示す。
【００５９】
特徴点マッチングＲＡＮＳＡＣ部５０４では、２枚の画像の背後にある拘束条件を推定し、マッチングＤＢ４０４から誤ったマッチングを除去する。
【００６０】
図１２にＳｆＭ部４１２を示す。ＳｆＭ部４１２により、三次元点群と、カメラ相対位置、カメラ向き等を推定する。
【００６１】
初期三次元点群生成部６０１にて、特徴点ＤＢ４０３とマッチングＤＢ４０４に基づいて、マッチングする特徴点の二次元座標を得、図４で説明したように、二次元座標と精細画像から初期三次元点群座標を得ることができる。初期三次元点群座標は、三次元点群ＤＢ４０５に格納する。また、カメラＤＢ４０６のカメラパラメータと、精細画像ＤＢ１４００２のカメラ位置等を推定することができ、それぞれ、カメラパラメータはカメラＤＢ４０６に格納し、カメラ位置等は精細画像ＤＢ１４００２にカメラ位置８０２、カメラ向き８０３のように格納する。
【００６２】
図１３はカメラＤＢ４０６のデータ構造を示す一例である。カメラＩＤ１３０１に対して、ピクセル数１３０２、焦点距離１３０１、センササイズ１３０４、歪み係数１３０５のようなカメラパラメータが格納される。これらは事前に格納できる場合は事前に格納しておいてもよいし、精細画像から推定した値でもよい。
【００６３】
図１４は三次元点群ＤＢ４０５のデータ構造を示す一例である。初期三次元点群生成部６０１で生成された三次元点群の各点は一意のＩＤである三次元点群ＩＤ１４０１を付与され、三次元点群ＩＤ１４０１は、当該三次元点群の元となる精細画像の精細画像ＩＤ１４０２と、当該精細画像中において三次元点群を構成する特徴点の特徴点ＩＤ１４０３とともに格納される。また、三次元点群の相対位置１４０４が格納される。三次元点群の相対位置１４０４は、例えば三次元点群に対して任意に設定された原点（０，０，０）に対する、相対位置座標を示す。図１４の例では、一行目のデータは、精細画像ＩＤ「１」の特徴点ＩＤ「３３」と、精細画像ＩＤ「３」の特徴点ＩＤ「２２」と、精細画像ＩＤ「４」の特徴点ＩＤ「１４」とがマッチングし、その点の三次元点群上の相対位置座標が（２，３，４）であることを示す。
【００６４】
三次元点群ＩＤ１４０１に点群の色情報を保存したい場合は、精細画像ＤＢ４０２より色情報を取得する。ただし、３枚以上の精細画像を使っている場合は、カメラＤＢ４０６に予め準備されたカメラパラメータがない場合であっても、カメラパラメータを推定することができる。その場合は、推定したカメラパラメータをカメラＤＢ４０６に保存する。
【００６５】
カメラ位置推定部６０３では、マッチングＤＢ４０４のマッチング情報と、三次元点群ＤＢ４０５の相対位置情報と、カメラＤＢ４０６のカメラパラメータにより、特徴点ＤＢ４０３の特徴点の二次元座標を用いて、新規精細画像のカメラ位置を推定し、精細画像ＤＢ４０２に保存する。
【００６６】
新規三次元点群追加部６０２では、カメラＤＢ４０６のカメラパラメータにより、特徴点ＤＢ４０３の特徴点の二次元座標と、精細画像ＤＢ４０２の当該新規精細画像のカメラ位置を用いることで、三次元点群ＤＢ４０５に保存されていない特徴点の相対三次元位置を推定し、三次元点群ＤＢ４０５に保存（追加）する。
【００６７】
バンドル調整部６０４では、特徴点ＤＢ４０３の二次元座標と、三次元点群ＩＤと、カメラＤＢ４０６のカメラパラメータと、を用いて投影誤差を計算し、三次元点群とカメラ位置とカメラ向きを補正し、それぞれ、三次元点群ＤＢ４０５と精細画像ＤＢ４０２に格納する。
【００６８】
図１５には、広域画像と精細画像の特徴点マッチング部４１４の構成ブロック図を示す。広域画像と接近画像の特徴点マッチング部４１４には、画像特徴点検出部５０１、画像特徴点特徴量比較部５０２と、画像特徴点特徴量計算部５０３と、特徴点マッチングＲＡＮＳＡＣ部５０４と特徴点マッチング領域限定部７０１を有する。特徴点マッチング領域限定部７０１以外は、図９に示した精細画像同士の特徴点マッチング部４１１と基本的に同様の構成であるが、対象とする画像に広域画像が含まれる点が異なる。特徴点マッチング領域限定部７０１では、直前の精細画像に含まれる特徴点の広域画像上の位置に基づいて、マッチングを行う限定領域を決定する。すなわち、今回の精細画像の特徴点は、直前の精細画像の位置の近傍に位置することが推測されるので、直前の精細画像の特徴点の位置にもとづいて限定領域を決定すればよい。ただし、初期三次元点群との対応に関しては、広域画像ＤＢ４０７記載のスタート座標を使用する。
【００６９】
広域画像座標位置計算部４１５では、精細画像で撮影された特徴点が、広域画像上の座標のどこに対応付けられるかを示す広域画像座標位置を計算する。すなわち、広域画像と精細画像の特徴点マッチング部４１４でマッチした特徴点に対して、広域画像上の座標を対応付ける。なお、広域画像から抽出した特徴点は、図１０の特徴点ＤＢ４０３と同様に記録しておくものとする。
【００７０】
図１６は、広域画像ＤＢ４０７のデータ構造を示す一例である。広域画像の広域画像ＩＤ１６０１に対して、当該画像を撮影したカメラの位置１６０２、カメラの向き１６０３が格納される。カメラの位置１６０２はＧＰＳ等でカメラ位置を取得して記録することができる。かめらの向き１６０３はカメラの動作パラメータから取得することができる。あるいは、これらは広域画像自体から推定した値でもよい。
【００７１】
スタート位置１６０４は、図５で説明した広域画像と精細画像のマッチングにおいて、領域５１０の位置を示す。スタート位置の設定方法としては、先に述べたように、オペレータが広域画像を見て人為的に策定し入力することができる。あるいは、広域画像上でも確認可能なマークをフィールドに設置し、マークを撮影した広域画像から画像処理によりマークを抽出し、マークに基づいて定めることができる。あるいは、被写体が動かない場合は、ＧＰＳ等によって被写体と同じ場所と推定される位置に定めることができる。あるいは、初期三次元点群を抽出するための精細画像を撮影したカメラの位置や方向から定めることができる。
【００７２】
スタート位置１６０４の設定方法としては、図１６に示すように領域の中心や角部を示す二次元座標でもよいし、領域が四角形であれば、その四隅を示す二次元座標でもよい。
【００７３】
図１７は、センサＤＢ４０９のデータ構造を示す一例である。センサを一意に識別するセンサＩＤ１７０１、センサが取得する点検位置の定義１７０２、およびセンサの向き１７０３を含む。
【００７４】
図１８は、広域画像座標位置ＤＢ４０８のデータ構造を示す一例である。図１４に示した三次元点群ＩＤ１４０１を持つ点が、広域画像ＩＤ１８０２を持つ広域画像の広域画像特徴点ＩＤ１８０３を持つ特徴点のどれに対応するかを示している。さらに、その点の広域画像上の広域画像座標１８０４を対応付ける。
【００７５】
最後に結果出力部にて、広域画像座標ＤＢ４０８の広域画像座標１８０４を用いて、点検箇所が広域画像上のどこかを示すことができる。また、広域画像とそれぞれの特徴点の対応が判明した、三次元点群モデルを作成することができる。例えば、各点と広域画像の特徴点に番号が付加されており、数字が一致する点が同一点を表現する方法などが考えられる。
【実施例２】
【００７６】
実施形態１では、広域画像と精細画像の位置的な対応を取得するところで処理を終了している。実際の点検作業では、定期的に点検を行って最新の結果と過去の結果を比較することにより点検を行う。実施例１の適用により、時間的に異なるタイミングで撮影された精細画像中の点検箇所の位置を、広域画像の座標を用いて対応付けることができる。よって、点検箇所の絶対位置が移動した場合でも、現在と過去の点検箇所同士の位置合わせを行うことができ、時間的に異なる点検内容を比較することができる。
【００７７】
図１９は実施形態２のブロック図である。結果出力部４１７の代わりに点検結果比較部８０１を備えている。位置の表示が実施例１では主目的であったが、実施例２では記録した位置を用いた点検結果の比較を主目的としている。
【実施例３】
【００７８】
実施例１では、広域画像と精細画像の特徴点マッチング部４１４では、広域画像と精細画像の特徴点マッチングのための領域限定を画像情報だけで処理した。通常ＵＡＶ等により連続的に空撮を行って精細画像を取得する場合には、連続して撮影された精細画像の位置は近接しているため、直近の精細画像の広域画像中の位置が推定できれば、次のマッチングのための領域を推定できる。しかし、ＵＡＶやカメラの向きが突然変化した場合には、領域の限定が難しい場合がある。
【００７９】
そこで、ＵＡＶやカメラに、加速度センサ、磁気センサを設置し、加速度情報や磁気情報を用いることで、ＵＡＶやカメラが突然向きを変えても、撮影している向きを予測し、マッチングに用いる領域の推定誤差を修正することができる。
【符号の説明】
【００８０】
１４００１  カメラ
１４００２  精細画像ＤＢ
４０３  特徴点ＤＢ
４０４  マッチングＤＢ
４０５  三次元点群ＤＢ
４０６  カメラＤＢ
４０７  広域画像ＤＢ
４０８  広域画像座標位置ＤＢ
４０９  センサＤＢ
４１０  精細画像処理部
４１１  精細画像同士の特徴点マッチング部
４１２  ＳｆＭ部
４１３  位置情報記録部
４１４  広域画像と精細画像の特徴点マッチング部
４１５  広域画像座標位置計算部
４１６  広域画像座標位置記録部
４１７  結果出力部
６０１  初期三次元点群生成部
６０２  新規三次元点群追加部
６０３  カメラ位置推定部
６０４  バンドル調整部
７０１  特徴点マッチング領域限定部
８０１  点検結果比較部
【図１】
2019032218.tif 000003
【図２】
2019032218.tif 000004
【図３】
2019032218.tif 000005
【図４】
2019032218.tif 000006
【図５】
2019032218.tif 000007
【図６】
2019032218.tif 000008
【図７】
2019032218.tif 000009
【図８】
2019032218.tif 000010
【図９】
2019032218.tif 000011
【図１０】
2019032218.tif 000012
【図１１】
2019032218.tif 000013
【図１２】
2019032218.tif 000014
【図１３】
2019032218.tif 000015
【図１４】
2019032218.tif 000016
【図１５】
2019032218.tif 000017
【図１６】
2019032218.tif 000018
【図１７】
2019032218.tif 000019
【図１８】
2019032218.tif 000020
【図１９】
2019032218.tif 000021