(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
先ず、
図1を参照して好ましい例を説明する。
図1は実際に撮影された領域と撮影されなかった領域を表した模式図である。
図1において被写体となる構造物として板状の部材100と直方体の部材101から構成され、地図を成す。102はカメラであり、103はカメラ102の視界を表す四角錐状の領域である。104は視界103内に入らない未撮影領域、105と106は被撮影領域、107は視界103の範囲には入るものの構造物101の陰となり撮影されない領域を表す。単にカメラの位置と方向に基づいて視界103に入る全ての領域を撮影済みと判断すると、地図上における領域104は未撮影領域として正しく判断され、領域105と領域106は被撮影領域として正しく判断されるが、視界103内の領域107については誤って撮影済み領域と判断されてしまう。
【0013】
そこで、カメラ102の位置から視界103の範囲内へ色を投影し、領域104、107が未撮影領域であることを作業者が容易に確認できるように被撮影領域である領域105、106とは異なる色の地図として作業者へ表示する。ここで、直方体の部材101の側面も未撮影領域となり、板状の部材100と直方体の部材101とが離れている場合は、2つの部材の間も未撮影領域となることは言うまでもない。
(第1の実施の形態)
以下、さらに具体的に構造物を点検するための画像を取得する点検カメラシステム200を例として説明する。
【0014】
図2は、第1の実施の形態における点検カメラシステム200の構成例を示す図である。点検カメラシステム200は、撮影部201、演算部202、記憶部203、表示部204、入力部205を備え、演算部202は、入力部205を通じて与えられる作業者の指示に基づき、撮影部201により点検対象の構造物を撮影し、記憶部203に保存している地図に対し撮影済み箇所を算出し、その結果を表示部204により表示する。
【0015】
撮影部201は自身の視界内に存在する点検対象の構造物を撮影する機器であり、モノクロームカメラ、カラーカメラなどとして実装される。なお、撮影部201が1台の例を示しているが、複数台でも良い。
【0016】
演算部202は、入力部205を通じての作業者からの指示の認識、撮影部201の制御、記憶部203の制御、表示部204の制御、撮影部201の位置姿勢推定、被撮影領域の特定、撮影情報含有地図の作成、表示画面の生成を行い、CPU206とRAM207の組合せとして実装される。演算部202は汎用のコンピュータであっても良い。演算部202は役割毎に分けられた複数のCPU206及びRAM207で構成されていても良い。CPU206は、記憶部203に記録されている各種プログラムをRAM207に読み出して実行することにより、後で説明する各種機能を実現する。
【0017】
記憶部203は外部記憶装置であり、例えばハードディスク、フロッピー(登録商標)ディスク、USBメモリなどとして実装され、演算部202からの制御に基づき、情報の読み出し、変更、追加、削除を行う。
【0018】
表示部204は例えばカラー表示可能なディスプレイやモニタなどとして実装され、演算部202から
図5に示す表示部通信プログラム502に基づき送られる画像情報を表示する。
【0019】
入力部205はマウス、キーボード、タッチパネル、テレビゲーム用コントローラなどの組合せとして実装され、作業者の意思を演算部202に伝えるものである。演算部202は、入力部205から送られた入力信号を
図5に示す入力部通信プログラム503に基づき指示として認識し、その指示に応じた各種機能を実行する。
【0020】
点検カメラシステム200は、その撮影部201を、作業者が保持する、あるいは車両など駆動機構を持つ装置に搭載するなどして、撮影部201が移動しながら、点検対象構造物を連続撮影するように運用される。表示部204並びに入力部205は作業者が保持するが、撮影部201、演算部202、表示部204並びに入力部205について、それぞれの間の物理的距離は問わない。また、演算部202は、機能に応じて二つ以上に分割されていても良く、撮影部201側、表示部204並びに入力部205側などに分かれていても良い。その場合、分割された演算部202の間を有線あるいは無線の通信により繋ぎ、互いの情報を交換することで各要素機能を連続的に動作させることで実現される。
【0021】
図3は、演算部202のRAM207で保持される主要な情報の構成例を表す図である。演算部202のRAM207では、記憶部格納情報301の他、撮影情報含有地
図302、画面データ303を保持する。記憶部格納情報301は、点検カメラシステム200の起動時に、演算部202が記憶部203に格納されている情報を読み込むことでRAM207上に生成される。RAM207上の記憶部格納情報301は点検カメラシステム200の動作中に更新されていくが、演算部202は記憶部203に格納している情報を必ずしも連動して更新しなくとも良い。ただし、点検カメラシステム200の動作を終了するときに、演算部202は、記憶部格納情報301に基づき、記憶部203に格納している情報を更新する。撮影情報含有地
図302、画面データ303に関しては
図4〜6を用いて記憶部203を説明した後で記憶部203に格納される情報に基づいて説明する。
【0022】
図4は、記憶部203に格納される情報の構成例を表す図である。記憶部203には、共通プログラム401、共通パラメータ402、撮影部位置姿勢推定プログラム403が格納される。
【0023】
図5は記憶部203に格納される共通プログラム401の構成例を表す図である。共通プログラム401は、撮影部201、表示部204、入力部205と所定の通信プロトコルによりそれぞれ通信を実現する通信プログラム501〜503、撮影部201と表示部205のそれぞれの制御プログラム504、505、被撮影領域を特定するプログラム506、撮影情報含有地
図302を作成するプログラム507、表示部204に表示する画面データ303を作成するプログラム508、地図表示のために仮想空間上に設置されるカメラのパラメータを変更するプログラム509、510を含む。プログラムの具体的な処理内容に関しては
図10を用いて後で説明する。
【0024】
図6は記憶部203に格納される共通パラメータ402の構成例を表す図である。共通パラメータ402は、画面中の地図、撮影画像、撮影ON/OFFボタンを表示するエリア601〜603、入力部205からの信号と連動して表示部204の画面上を移動するカーソルの位置604、撮影中か否かを表すパラメータ605、表示部204に表示するユーザインターフェースの画像606、地図に対し撮影済み領域を図示する際に用いる色情報607、撮影部201の撮影パラメータ608、609、微小領域の組合せで表現される地
図610、撮影済みの画像群611、地図内の微小領域に対する撮影情報を表すデータ612、前回推定した撮影部201の位置姿勢613、地図表示のために仮想空間上に設置されるカメラのパラメータ614、615を含む。
【0025】
ここで、画面中の地図、撮影画像、撮影ON/OFFボタンを表示するエリア601〜603は表示部204の画面中における各エリアの左上の頂点の2次元的位置、エリアの幅、エリアの高さの情報がそれぞれ格納されており、各エリアは全て矩形状である。
【0026】
カーソル位置604は、表示部204の画面中に表示されるカーソルの2自由度位置を表している。入力部205を介して作業者がその位置の変更を伝えることができ、演算部202は、入力部205からの信号に基づきカーソル位置604の値を変更し、作業者による入力部205を介した入力と表示部204に表示されるカーソルの動きが連動する。
【0027】
撮影ON/OFF605は、点検カメラシステム200が撮影中か否かの状態を表す情報である。点検カメラシステム200の起動時に演算部202が撮影ON/OFF605を読み出し、その情報に基づき撮影のスタートを決定する。また、点検カメラシステム200の動作中では、表示部204の画面内にてカーソルが画面中撮影ON/OFFボタンエリア内にある状態で、作業者が入力部205を通じて予め定められた信号を送ることにより、演算部202は入力部通信プログラム503に基づきその信号を撮影ON/OFF605の切り替え指示として認識し、撮影ON/OFF605の情報を反転させ、撮影中へと変更になる場合は撮影部201を起動して画像取得を開始し、停止中へと変更になる場合は撮影部201を停止して画像取得を終了する。
【0028】
ユーザインターフェース画像群606は、表示部204に表示される複数のユーザインターフェースのための画像を格納しており、カーソルの画像と撮影ON/OFFボタンの画像を含む。撮影ON/OFFボタンは、点検カメラシステム200が撮影中か否かの状態を作業員に伝える機能も同時に有していても良く、その場合、その画像は撮影中の状態を表すものと、停止中の状態とを表すものの2種類が含まれる。
【0029】
撮影済み領域図示用色情報607は、地図に対し撮影済み領域を示すための色を表す。撮影済み領域を示すための色のみならず、複数の被撮影領域の中で最新の被撮影領域を示すための色、重要点検エリアを示すための色など複数存在していても良い。
【0030】
撮影部画像サイズ608は、画像の幅w
Aと高さh
Aを画素数で表現したものである。また、撮影部201内部パラメータ307は、幅方向焦点距離α
A、高さ方向焦点距離β
A、画像中心幅方向座標ξ
A、画像中心高さ方向座標η
A、歪み補正用パラメータk
1A、k
2A、p
1A、p
2Aが含まれる。
【0031】
地
図610は、点検対象構造物の表面の色と形状を3次元的に表現する情報であり、複数の微小領域で構成される。
図7は、地
図610の例を視覚的に表現した図である。地
図610は、点検対象構造物の表面を微小な平面の集合体として表現する。
図7では、その平面の形状は四角形となっているが、3点以上の頂点を持つ多角形であれば良く、円や楕円であっても良い。各微小領域の情報は、微小領域のID番号、囲みの3次元座標、色、法線方向である。囲みの3次元座標は、多角形であればその頂点の3次元座標であり、円であれば中心及び半径、楕円であれば中心及び長半径、短半径、長軸方向である。色は単色、微小領域に貼付するテクスチャ画像などで表現される。法線方向については、多角形であれば、頂点の3次元座標の記述順によりその情報が付加され、円や楕円であれば、3自由度の法線ベクトルにより表現される。地
図610は、点検対象構造物の設計データに基づき作成されても良いし、カメラやレーザ距離センサなどにより予め得られた計測結果に基づき作成されても良い。
【0032】
撮影済み画像群611は、点検カメラシステム200の起動時から終了時までに撮影した画像の列であり、そのID番号と共に画像ファイルとして保存される。
【0033】
撮影情報群612は、地
図610の各微小領域に対して与えられる撮影に関する情報を格納する。その情報には、少なくとも、その微小領域が撮影済みか否かを表す情報が含まれる。撮影情報群612は、その微小領域が最新フレームの被撮影領域か否かを表す情報、その微小領域が重要点検エリアに含まれるか否かを表す情報を有していても良い。また、撮影済みの場合に、その微小領域が撮影されている撮影済み画像群611の画像のID番号を一つ以上格納可能としても良い。
【0034】
前回推定した撮影部の位置姿勢613は、撮影部201が1フレーム前の画像を撮影した際に、演算部202が、撮像部201位置姿勢推定プログラム403に基づき撮像部201の位置姿勢を推定した結果である。撮像部201の位置姿勢は、地
図610の座標系を基準とし、3×3の回転行列Rと3自由度の並進ベクトルtとして表現される。
【0035】
地図表示用仮想カメラ焦点距離614と地図表示用仮想カメラ位置姿勢615は表示部204へ被撮影領域などを表示する際の表示の視点を表す仮想カメラに関する情報を格納する。地図表示用仮想カメラ位置姿勢615は、地
図610の座標系を基準とし、3×3の回転行列R
Vと3自由度の並進ベクトルt
Vとして表現される。
【0036】
記憶部203に格納される情報のうち、撮影済み画像群611以外は全て予め初期値が入力されている。前回推定した撮影部位置姿勢613の初期値には、撮影開始時における撮影部201の位置姿勢のおおよその値を入力しておく。その際に、撮影開始時における撮影部201の位置姿勢からも、前回推定した撮影部位置姿勢613の初期値として与えられた位置姿勢からも見える被写体構造物の部位が、多数存在する位置姿勢とする。
【0037】
以上の記憶部203に格納される情報に対して、RAM207の撮影情報含有地
図302は、演算部202が、撮影情報含有地図作成プログラム507、地
図610、撮影済み領域図示用色情報607、撮影情報群612に基づき作成される。
図8は、撮影情報含有地
図302の例を視覚的に表す図である。撮影情報含有地
図302は、地
図610の各微小領域に対し、撮影済み領域図示用色情報607と撮影情報群612に基づき色付けされたものである。
【0038】
また、RAM207の画面データ303は、演算部202が、画面データ作成プログラム508、撮影情報含有地
図302、撮影済み画像群611の内の一枚の画像、カーソル位置604、撮影ON/OFF605、画面中における地図、撮影画像、撮影ON/OFFボタンの表示用エリア601〜603、ユーザインターフェース画像群606、地図表示用仮想カメラのパラメータ614、615に基づき作成される。
図9は、画面データ303の例を表す図である。演算部202は、表示部通信プログラム502に基づき、画面データ303を表示部204へ送り、表示部204は画面データ303にしたがって画面を表示する。
【0039】
画面データ303のうち画面中地図表示用エリア601に表示する画像は、3次元的な情報を持つ撮影情報含有地
図302をその空間内に仮想的に設置した地図表示用仮想カメラから見た画像である。地図表示用仮想カメラは、画面中地図表示用エリア601をその画像サイズとし、撮影地図表示用仮想カメラ焦点距離614、表示用仮想カメラ位置姿勢615によって地図表示用仮想カメラの状態が定義される。地図表示用仮想カメラ焦点距離変更プログラム509は、入力部205からの入力信号に対し、地図表示用仮想カメラ焦点距離614の変更処理を行うプログラムである。また、地図表示用仮想カメラ位置姿勢変更プログラム510は、入力部205からの入力信号に対し、地図表示用仮想カメラ位置姿勢615の変更処理を行うプログラムである。この二つのプログラムにより、画面データ152内の画面中地図表示用エリア601に表示される撮影情報含有地
図302の見え方を変更することができる。
【0040】
図10は、演算部202の処理例を説明するフローチャートである。先ず、点検カメラシステム200が起動し、演算部202が、記憶部203に格納されている全てのデータを、RAM207内の記憶部格納情報301へと読み込み、前回推定した撮影部の位置姿勢613の初期値付近に実際の撮影部201が存在している状態で、撮影ON/OFF605がONに変更になったところでスタートする。
【0041】
スタートすると、演算部202は、撮影部通信プログラム501と撮影部制御プログラム504に基づき、撮影部201に構造物を撮影させ、画像を取得する(S100)。続いて、演算部202は、得られた画像にID番号を付加し、RAM207内の記憶部格納情報301における撮影済み画像群611に最新画像としてID番号と共に格納する(S101)。さらに、1フレーム前の画像をRAM207内に格納している場合に、演算部202はその画像をそのID番号と共に記憶部203内の撮影済み画像群611へと格納し、その画像およびID番号をRAMから削除する(S102)。演算部202が、定期的にRAM内に確保される画像を削除することにより、RAM内のデータ量が積算されることを防ぐことができる。
【0042】
続いて、演算部202は、RAM207内の記憶部格納情報301における撮影部位置姿勢推定プログラム403に基づき、前回推定した撮影部の位置姿勢613から撮影する画像を予測して予測画像をRAM207内に作成し、その予測画像と最新画像とを照合し、現在の撮影部201の位置姿勢を推定する(S103)。予測画像の作成には、撮影部画像サイズ608、撮影部内部パラメータ609、地
図610、前回推定した撮影部の位置姿勢613を利用する。
【0043】
作成する予測画像の各画素に対し、前回推定した撮影部201の3次元位置からその画素に対応する方向に延びる半直線を定義し、地
図610内の全微小領域のうちその半直線と交わるものを算出し、半直線と微小領域との交点までの距離が前回推定した撮影部201の3次元位置に最も近い点が撮影されるとみなし、その点に対応する色をその画素に色付けする。これにより、予測画像を作成することができる。
【0044】
予測画像の作成後、最新画像と撮影部画像サイズ608、撮影部内部パラメータ609に基づいてレンズ歪みを補正した補正画像を作成する。さらに、予測画像から構造物の頂点などの特徴点を抽出し、各特徴点を中心に10画素×10画素程度の領域を切り出し、その領域を補正画像上で探索することにより、予測画像−補正画像間の対応点を複数個取得する。全ての対応点がエピポーラ幾何拘束を満たすように、前回推定した撮影部201位置姿勢と現在の位置姿勢との相対関係を求め、その後、現在の撮影部201の位置姿勢の推定値を決定することができる。
【0045】
続いて、演算部202はRAM207内の記憶部格納情報301における被撮影微小領域特定プログラム506に基づき、本フレームにおける被撮影微小領域を特定し、RAM207内に格納する(S104)。その際に、現在の位置姿勢の推定値、撮影部画像サイズ608、撮影部内部パラメータ609、地
図610を使用する。
【0046】
予測画像作成と同様に、推定した現在の撮影部201の3次元位置から地
図610内の各微小領域への方向に延びる半直線を視界の範囲内で定義し、地
図610内の全微小領域のうちその半直線と交わるものを算出し、複数の交わるものの中で半直線と微小領域との交点までの距離が推定した現在の撮影部201の3次元位置に最も近い点が撮影されるとみなし、その微小領域を被撮影微小領域として特定することができる。最も近い点の算出には、撮影部201の3次元位置から複数の交点までの距離を計算しソートしても良いし、撮影部201の3次元位置を原点として複数の交点のx座標あるいはy座標のいずれかを比較するなどしても良い。一つしか交わるものがない場合はその交点が最も近い点となることは言うまでもないが、交わるものの数を判定して一つしか交わるものがない場合にその交点を最も近い点としても良いし、複数の交わるものに対応できる処理の結果として一つしか交わるものがない場合にその交点を最も近い点とするなどしても良い。
【0047】
ここで、特定した微小領域の構造物の内側から外側へ向かう法線方向と半直線の方向との成す角が90度以下の場合すなわち直方体の部材101などの構造物の内側から外側へ向けて撮影した状態となる場合、実際にはその微小領域は撮影されない。このようなケースは地図が不完全であり、撮影部201へさらに近い微小領域が地図から欠損している場合に発生するため、この成す角の大きさが90度より大きい場合にその微小領域を被撮影微小領域として特定することがより望ましい。
【0048】
続いて、演算部202は、特定した被撮影微小領域に対し、RAM207内の記憶部格納情報301における撮影情報群612のうち撮影済みか否かを表す情報を撮影済みとして更新する(S105)。その後、演算部202は、RAM207内の撮影情報含有地図作成プログラム507に基づき、撮影情報含有地
図302を作成する(S106)。
【0049】
撮影情報群612に微小領域が撮影されている画像のID番号を入力可能としている場合、そこに最新画像のID番号を入力しても良い。
【0050】
撮影情報含有地
図302の作成には、撮影済み領域図示用色情報607、地
図610、撮影情報群612を用いる。具体的には、地
図610をRAM207上でコピーし、撮影情報群612の撮影済みか否かを表す情報が撮影済みとなっている微小領域に対し、その色情報を撮影済み領域図示用色情報607に基づき変更する。その際に、撮影済み領域図示用色情報607をそのまま利用しても良いが、地
図610に記されているその微小領域の色情報と撮影済み領域図示用色情報607とを一定の割合で混ぜ合わせて作成した色を利用すると、作業者が点検対象構造物のどの部位が計測済みであるかを視認し易くなる。
【0051】
また、撮影情報群612及び撮影済み領域図示用色情報607の中に、重点点検領域か否かを表す情報及びそれに対応する色を含めておき、重点点検領域のうち未撮影の微小領域を重点点検領域の色とすることで、今後どの領域を撮影すれば良いか作業者が視認しやすくなる。さらに、撮影済み領域図示用色情報305の中に最新フレームの被撮影領域を表すための色を保持しておき、S104で特定した被撮影微小領域をその色とすることで、現在の撮影部201がどの領域を撮影しているのか、撮影部201を今後どの方向に移動すれば良いかを作業者が視認しやすくなる。最新フレームの被撮影領域が移動した場合は、一つ前のフレームの被撮影領域の色を最新フレームの被撮影領域を表すための色以外の色へ変更しても良いし、一つ前のフレームの被撮影領域の色は残して最新フレームの被撮影領域を表すための色を常に変更し、作業者へは最新フレームの被撮影領域を表すための色が何色であるかを表示するなどしても良い。
【0052】
続いて、演算部202は、RAM207内の記憶部格納情報301における画面データ作成プログラム508により、画面データを作成し(S107)、表示部通信プログラム502と表示部制御プログラム505により、表示部204に画面データ303を表示させる(S108)。
【0053】
画面データ303の作成には、撮影情報含有地
図302、画面中の地図、画像、撮影ON/OFFボタンのエリア601〜603、カーソル位置604、撮影ON/OFF605、ユーザインターフェース画像群606、撮影済み画像群611に格納されている最新画像、地図表示用仮想カメラの焦点距離及び位置姿勢614、615を用いる。
【0054】
まず、画面中地図表示用エリア601に表示する画像を作成する。撮影情報含有地
図302に対し、画面中地図表示用エリア601を画像サイズとし、地図表示用仮想カメラ焦点距離614を焦点距離とする仮想カメラを、地図表示用仮想カメラ位置姿勢615に仮想的に出現させて表示の視点とし、その仮想カメラによる仮想的な撮影結果を表示画像とする。地図表示用仮想カメラ位置姿勢615に記された3次元位置に表示画面の各画素を置き、その各画素から撮影方向に延びる半直線を定義し、撮影情報含有地
図302内の全微小領域のうちその半直線と交わるものを算出し、半直線と微小領域との交点までの距離が地図表示用仮想カメラ位置姿勢615に記された3次元位置に最も近い点が撮影されるとみなし、撮影情報含有地
図302のその最も近い点の色を表示画像のその画素に色付けする。これにより、撮影情報含有地
図302に対する表示画像を作成することができる。
【0055】
図9における画面中の地図、画像、撮影ON/OFFボタンを表示するためのエリア601〜603を包含する表示ウィンドウ904に対応する画面データ303をRAM207上に作成するため、エリア901に対応する画面中地図表示用エリア601に作成した表示画像を、エリア902に対応する画面中画像表示用エリア602に撮影済み画像群611に格納されている最新画像あるいは所定の条件を満たす画像を、エリア903に対応する画面中撮影ON/OFFボタンエリア603にユーザインターフェース画像群606に格納されている撮影ON/OFFボタン画像907のうち撮影ON/OFF605に対応する画像を、それぞれ表示ウィンドウに対応するデータへ合成する。その上から、ユーザインターフェース画像群606に格納されているカーソル画像905をカーソル位置604に基づきエリア906へ合成する。この結果が画面データ303となる。
【0056】
演算部202は、入力部通信プログラム503に基づき入力部205からの入力信号を指示として認識し、その指示に対応する動作を実行する(S109)。その指示には、少なくとも、撮影ON/OFF605の切り替え、カーソル位置604の移動、地図表示用仮想カメラ焦点距離614の変更、地図表示用仮想カメラ位置姿勢615の変更が含まれる。そして、演算部202は、撮影ON/OFF605の値に応じて、S100からの一連の動作を再度繰り返すか、点検カメラシステム200を終了するかを選択する(S110)。終了する際には、RAM207内の記憶部格納情報301を記憶部203にコピーする。ただし、撮影済み画像群611については、既にコピーした画像へ上書きするのではなく、最新画像をそのID番号と共に追加保存しても良い。
【0057】
また、撮影情報群612に、撮影済みの微小領域に対しその微小領域が撮影されている画像のID番号を付加されている場合、撮影ON/OFF605が停止中を表す際に、作業者がカーソル905を撮影済み微小領域に重ね合わせて予め定義した信号を送ることで、その微小領域を撮影した画像が画面中画像表示用エリア602に表示されるようにしても良い。これにより、作業者が撮影後にカーソル905のみによる仮想カメラなどの操作だけで撮影結果の再確認を容易に行うことができるようになる。
【0058】
画像撮影は亀裂などの発見を目的としていることから、点検対象構造物の表面は可能な限り垂直に撮影されることが望ましく、平行に近づくにつれて点検用途に利用不可能な画像となる。そこで、被撮影微小領域を特定する際に(S104)、最も近いという条件に加えて、その画像を撮影したときの撮影部201の位置姿勢と地
図610から、微小領域の法線方向と撮影部201の3次元位置からその微小領域が写し出されている画素への方向の半直線との成す角を算出し、その成す角と予め与えられた閾値とを比較して平行に近くない場合にその微小領域が撮影されたとすることが望ましい。
【0059】
点検対象構造物の表面は可能な限り拡大して撮影されていることが望ましく、1画素に対応する面積が亀裂の太さに対して大き過ぎる場合は点検用途に利用不可能な画像となる。そこで、被撮影微小領域を特定する際に(S104)、最も近いという条件や平行に近くないという条件に加えて、その画像を撮影したときの撮影部201の位置姿勢と撮影部201の撮影に関するサイズやパラメータ608、609、地
図610から、その微小領域が写し出されている画素数を算出し、微小領域の面積をその画素数で割った1画素当たりの面積の値が予め与えられた閾値よりも小さい場合にその微小領域が撮影されたと見なすことが望ましい。
【0060】
撮影対象群612について、撮影済みの微小領域に対しその微小領域が撮影されている画像のID番号を付加している場合、さらに、上記の成す角や1画素当たりの面積あるいはそれらの組み合わせから算出される評価値を画像に与えて、その微小領域を撮影している画像が複数存在する際にはそれらの値に基づき優先順位付けを行い、優先順位の高い順に表示できるようにその画像のID番号を保存しても良い。これにより、撮影後に画像を再点検する際に、条件の良い画像のみを確認することができ、再点検の時間を短縮することができる。なお、一つの画像を構成する複数の微小領域で上記の成す角や1画素当たりの面積の異なる場合は最低値を画像の評価値としても良い。
【0061】
画面中地図表示用エリア601に関しても、上記の成す角や1画素当たりの面積あるいはそれらの組み合わせから算出される評価値に応じて撮影済み領域図示用色情報607の複数の色から特定の色を選択して撮影情報含有地図へ色付けし、作業者へどのような状態で撮影したかを認識させることにより、同じ領域を再度撮影し直すかの判断をさせても良い。
【0062】
さらに、現在の撮影部201の位置姿勢推定(S103)には、誤差の生じる場合がある。その誤差により半直線により構成された視界と実際に撮影された画像とにズレが生じ、被撮影微小領域の特定(S104)にも誤りが生じて、それが点検用画像の取得漏れにつながる場合もある。そこで、撮影した画像のうち予め定められた画素数の幅を持った外枠よりも内側の領域のみを被撮影微小領域として、ズレが生じても確実に撮影された領域のみを被撮影微小領域とすることにより点検用画像の取得漏れを抑えることもできる。ここで、外枠も被撮影微小領域として外枠と外枠よりも内側の領域との撮影済み領域図示用色情報の色を異なる色として、外枠であって点検用画像の取得漏れの可能性のあることを作業者へ認識させても良い。
(第2の実施の形態)
第2の実施の形態では、構造物を点検するための画像を取得する点検カメラシステムの他の例を説明する。
【0063】
図11は、点検カメラシステム1100の構成例を示す図であり、点検カメラシステム1100は
図2における点検カメラシステム200に対して距離計測部1101を加えたものであって、記憶部1103の記憶内容が異なり、RAM1104の記憶内容が異なることにおいて演算部1102が異なる。ここで、距離計測部1101と撮影部201との相対位置姿勢関係は固定されているものとする。距離計測部1101はある方向に存在する物体までの距離を計測し、瞬間的に複数の方向の距離を取得できるセンサであり、レーザ距離センサ、距離画像センサなどとして実装される。距離計測部1101による計測結果の1フレーム分は、複数方向の距離計測結果を統合して得られ、それは空間の部分的な形状を表すものとなり、地
図610の微小領域の形状及び法線方向と同様な形式に変換可能である。このことから、
図2における点検カメラシステム200に対して距離計測部1101のみにより撮影部201の位置姿勢を特定でき、さらに地
図610を予め用意しておかなくても良い。ここで、距離計測部1101の計測結果の1フレーム分を部分地図と呼ぶこととする。距離計測部1101がレーザの反射強度を計測する機能を持つ、あるいは、色を計測するセンサを含めたデバイスとなっている場合、この部分地図には色情報も付加される。
【0064】
図12は、演算部1102がRAM1104で保持される主要な情報の構成例を表す図であり、その構成は
図2における演算部202のRAM207で保持する情報に対して最新部分地
図1202が追加されており、記憶部格納情報1201に格納される情報が記憶部1103に格納される情報に応じて異なる。
【0065】
図13は、記憶部1103に格納される情報の構成例を示す図である。
図4における記憶部203と同じく共通プログラム401、共通パラメータ402を格納するが、撮影部位置姿勢推定プログラム1303については記憶部203に格納される撮影部位置姿勢推定プログラム403とは異なるものとなっている。それ以外に、距離計測部1101の通信プログラム1301、距離計測部1101の制御プログラム1302、地
図610を追記及び更新するプログラム1304、撮影部201と距離計測部1101との相対位置姿勢1305、時系列的に推定した撮影部201の位置姿勢群1306を新たに格納している。
【0066】
図14は、演算部1102の処理例を説明するフローチャートである。まず、演算部1102は、
図10におけるS100〜S102を実行する(S200)。続いて、演算部1102は、距離計測部通信プログラム1301及び距離計測部制御プログラム1302により、距離計測部1101を制御し、瞬間的に複数の方向の距離を計測して点検対象構造物の部分地図を取得し、RAM1102内の最新部分地
図1202にコピーする(S201)。
【0067】
続いて、演算部1102は、RAM1104内の撮影部位置姿勢推定プログラム1303により、現在の撮影部201の位置姿勢を推定する(S202)。その際に、最新部分地
図1202、地
図610、前回推定した撮影部の位置姿勢613、撮影部201と距離計測部1101との相対位置姿勢1305を用いて、距離計測部1101の位置姿勢を推定することにより、相対位置姿勢関係が固定されている撮影部201の位置姿勢を推定する。なお、撮影部201の位置姿勢を推定する際に、地
図610の各微小領域が保持する情報のうち、色情報については無くとも良い。
【0068】
すなわち、前回推定した撮影部の位置姿勢613及び撮影部201と距離計測部1101との相対位置姿勢1305から、前回推定した距離計測部1101の位置姿勢を算出する。この値を地
図610が存在する空間に最新部分画像1202を設置する初期値とし、iterative closest pointアルゴリズムを用いて、地
図610と最新部分地
図1202を照合することで、その結果として現在の距離計測部1101の位置姿勢が得られる。さらに、撮影部201と距離計測部1101との相対位置姿勢1305に基づき、現在の撮影部201の位置姿勢が推定される。この撮影部201の位置姿勢推定は、
図10の処理と比較し、距離を測定して奥行き情報を利用しているため、推定精度が高くなるという長所がある。
【0069】
演算部1102は、得られた現在の撮影部201の位置姿勢を撮影部位置姿勢群に画像ID番号と共に保存し、前回推定した撮影部の位置姿勢613を更新する(S203)。さらに、演算部1102は、RAM1104内の地図更新プログラム1304により、地図を更新する(S204)。地図の更新には、現在の距離計測部1101の位置姿勢に基づき、最新部分地
図1202を座標変換し、座標変換結果を地
図610に加えることで地図の更新を実現する。これにより、予め地
図610が無い環境においても、地
図610を拡張しながら、拡張した地図に対し、被撮影微小領域を図示することが可能となる。その後の演算部1102の処理は
図10のS104以降の処理と同一である。
【0070】
距離計測部1101が距離計測の方向を2自由度に変更可能な場合は、周囲空間を3次元的に計測可能となり、地
図610も3次元的な微小形状を構成要素とすれば、距離計測部1101の位置姿勢を3次元的に推定することができ、その結果撮影部201は3次元的な移動が許容される。逆に、2次元平面上を移動する車両などに撮像部201が搭載される場合、距離計測部1101は距離計測の方向の変更を水平面上の1自由度のみに限定し、地
図610も間取り図のような水平面上の断面図とすることができる。
【0071】
図14の処理では、地
図610を拡張して作成された部分地図について、その部分地図が作成される前にその部分地図に該当する領域を撮影した画像が撮影情報群612に反映されない。そこで、撮影ON/OFF605が停止中を表す際などに、作業者が予め定められた信号を用いて入力部205を介して演算部1102に撮影情報群612の再計算を指示した場合は、撮影部201の位置姿勢群1306、撮影部201の撮影パラメータ608、609、撮影済み画像群611に基づき、撮影済み画像群611の全画像に対し順に撮影情報群612を更新しても良い。これにより、地
図610を拡張していく場合においても、撮影の無駄な重複を抑制することが可能になる。
なお、上記実施の形態では構造物の点検を例に説明したが、撮影部で撮影できるものであれば構造物以外の対象物であっても良く、撮影した画像の利用目的は点検以外であっても良い。また、プログラムそれぞれの代わりに回路で機能を実現しても良い。