以下、図面を参照しながら、対象位置特定システムおよび対象位置特定方法の実施形態について詳細に説明する。
図1の符号1は、本実施形態の対象位置特定システムである。この対象位置特定システム1は、撮影装置2と画像処理装置3とを備える。本実施形態では、発電プラントまたは工場などの施設に設置される機器の点検に対象位置特定システム1を用いる形態を例示する。
従来、発電プラントまたは工場などの施設では、安全な運転を行うために、定期的に点検員が巡視し、膨大な機器の保守点検を行っている。点検員は、巡視中に機器またはその配置なども合わせて目視で確認している。このような保守点検では、現場で点検員が確認した結果を手書きで記録し、事務所に戻ってきてから点検記録を作成している。そのため、人手による作業が多く、作業の省力化を図る取り組みが行われている。
省力化の主な手段として、モバイル端末を利用することがある。モバイル端末は、点検員へ点検要領書を提示する。さらに、点検員が目視確認したメータなどの数値をモバイル端末に入力することで手書き作業を除外し、点検結果をデジタル化している。また、記録として、巡視中の点検員が所持したカメラの映像をドライブレコーダーのように記録し、後日、必要に応じて映像を確認できるシステムの検討も進められている。
しかし、映像を確認する際に、映像上に機密性の高い機器が映り込んでいる可能性が高いために、確認が可能な点検員が限られ、省力化ができない。また、機密情報を含むために外部への持ち出しができないなどの映像の利用が制限されることがある。さらに、機器がどのような位置にあるか、または、撮影日の異なる過去の映像と比較してどのように移動したかを把握することが難しい。
本実施形態では、自己位置を認識したカメラで撮影された映像から機器の位置を簡易に測定可能なシステムを提供する。さらに、機器が撮影された映像のみを抽出すること、または、対象の機器を視認できないようマスク処理を施した映像を出力することなどの様々な対応が可能なシステムを提供する。
図2に示すように、本実施形態の位置の特定の対象となっている対象部分として、点検現場に配置されている対象機器4を例示する。なお、点検現場には、多数の対象機器4が配置されている。理解を助けるために、1つの対象機器4の位置の特定を行う形態を例示する。
対象機器4は、例えば、装置でも良いし、制御盤でも良いし、製品でも良いし、計器でも良いし、操作スイッチでも良いし、バルブでも良いし、配管でも良いし、センサでも良い。つまり、形状があり映像で撮影できる物であれば形状寸法は問わない。
本実施形態では、対象部分として対象機器4を例示しているが、対象部分は、建物の所定の部分、例えば、窓、扉、壁、天井、床、通路、壁の開口部、室内空間の一部の範囲であっても良い。また、巨大な1つの装置の一部が対象部分であっても良い。さらに、1つの装置の複数箇所が対象部分であっても良い。つまり、対象部分とは、建築物または物品を含めた撮影現場全体の立体的形状の所定の部分を構成している。
本実施形態では、点検用ロボット5を用いて現場で対象機器4の点検を行う態様を例示する。この点検用ロボット5は、自律的に所定のルートを巡回し、点検のための撮影を行う。なお、点検用ロボット5は、移動可能な端末としての撮影装置2と、この撮影装置2を搭載する移動装置6を備えている。
対象機器4の近傍には、対象機器4を撮影装置2で撮影した際に背景に写り込む背景物7が配置されているものとする。
点検用ロボット5は、撮影装置2で画像を撮影しながら点検現場を移動する。撮影装置2は、移動装置6により搬送される。移動装置6は、撮影装置2を移動させるための車輪および駆動機構を備える。なお、点検用ロボット5の撮影および移動は、自律的に行われる形態を例示するが、人手により遠隔操作で点検用ロボット5の撮影および移動を行っても良い。
本実施形態の撮影装置2で撮影される画像としては、いわゆる映像であって、ビデオ映像(動画像)を例示する。ビデオ映像は、静止画像を連続して撮影することで構成される。なお、撮影装置2は、ビデオ映像のみならず、所定の時間間隔ごとに静止画像を撮影しても良い。以下の説明において、「画像」とは、ビデオ映像を構成する複数の静止画像のうちのいずれか1つを示している。
本実施形態では、撮影装置2が撮影した対象機器4が写る少なくとも2つの画像に基づいて、対象機器4(対象部分)の位置(形状)の特定を行うことができる。なお、理解を助けるために、少なくとも2箇所の互いに異なる撮影位置P1,P2で撮影された画像に基づいて、対象機器4の位置を特定する形態を例示する。
例えば、撮影装置2は、第1撮影位置P1と第2撮影位置P2とで対象機器4が写る画像の撮影を行う。なお、第1撮影位置P1および第2撮影位置P2以外の他の撮影位置P3でも撮影が行われる。
第1撮影位置P1では、対象機器4が存在する第1撮影方向D1を向いた状態で撮影が行われる。第2撮影位置P2では、対象機器4が存在する第2撮影方向D2を向いた状態で撮影が行われる。
平面視において、第1撮影方向D1と第2撮影方向D2のそれぞれに沿って延びる仮想線は、対象機器4が存在する位置で交差する。なお、それぞれの撮影方向D1,D2の仮想線のなす角θは、30°~150°の範囲が良い。好ましくは60°~120°の範囲が良い。さらに好ましくは80°~100°の範囲が良い。
なお、3箇所以上の互いに異なる撮影位置P1,P2,P3で撮影された画像に基づいて、対象機器4の位置を特定しても良い。位置の特定の精度を向上させたい場合には、多くの撮影位置で撮影することが好ましい。
撮影装置2は、画像が撮影された時点の撮影位置P1,P2および撮影方向D1,D2を計測することができる。また、撮影装置2は、撮影方向D1,D2を任意に変更可能である。撮影範囲を重複させながら複数の画像の撮影を連続して行うようにする。撮影装置2で撮影された画像は、画像処理装置3に送られる。この画像処理装置3は、対象機器4の位置の特定を行うとともに、画像に所定の画像処理を施す。
第1撮影位置P1で撮影された画像(図3)と第2撮影位置P2で撮影された画像(図4)には、対象機器4が写っている。画像処理装置3は、それぞれの画像において、対象機器が写った2次元領域Cを選択する。
本実施形態では、対象機器4の全体が含まれるように2次元領域Cを矩形状の閉領域として選択する。なお、2次元領域Cを円形状の閉領域として選択しても良いし、対象機器4の像の形状に合せて任意の形状の閉領域として選択しても良い。
図5は、ボクセルVで区切られた仮想空間Kを示している。ここで、ボクセルVとは、体積を示す要素であって、3次元空間での正規格子単位の値を表す。なお、ボクセルVの形状は、立方体でも良いし、直方体でも良いし、点群などでも良い。
本実施形態では、理解を助けるために、2次元平面のマス目としてボクセルVを図示している。つまり、X軸とY軸のボクセルVのみを図示し、Z軸のボクセルの図示を省略している。図5の仮想空間Kは、図2の平面図に対応している。なお、撮影現場の所定の位置を原点として仮想空間Kを作成する。
第1撮影位置P1から所定の画角G1で撮影が行われる。また、第2撮影位置P2から所定の画角G2で撮影が行われる。それぞれの画角G1,G2の範囲内に2次元領域Cに対応する立体角R1,R2が含まれる。つまり、第1撮影位置P1を頂点として撮影方向D1に沿って広がり、2次元領域Cで区切られる立体角R1が規定される。さらに、第2撮影位置P2を頂点として撮影方向D2に沿って広がり、2次元領域Cで区切られる立体角R2が規定される。それぞれの立体角R1,R2が互いに重なる3次元領域Qを対象機器4が存在する対象位置として特定する。
例えば、仮想空間KのそれぞれのボクセルVにおいて、1つ立体角R1,R2の範囲に含まれるものを「1」とカウントし、2つの立体角R1,R2の範囲に含まれるものを「2」とカウントする。ここで、「2」とカウントされたボクセルVが3次元領域Qであり、対象機器4が存在する対象位置として特定される。位置の特定の精度を向上させたい場合には、ボクセルVの解像度を高めること、または、画像の解像度を高めることが好ましい。
また、3つ以上の多数の撮影位置で撮影が行われた場合には、それぞれのボクセルVのカウントの回数も多くなる。その場合には、対象位置として特定するための閾値を設ける。例えば、予め決められた所定の数を閾値としても良いし、カウントの回数の平均値を閾値としても良いし、撮影された撮影位置P1,P2の数を閾値としても良いし、対象機器4が写る画像の枚数を閾値としても良い。また、撮影の状況または対象機器4に応じて閾値を変更しても良い。このようにすれば、ボクセルVがカウントされた回数が統計的に充分に多く、対象機器4が存在している可能性が高い3次元領域Qを対象位置として特定することができる。
なお、対象機器4の対象位置を特定し、3D-CADデータなどの既存の設計情報と比較をすることで、対象機器4が移動しているか否か、対象機器4の形状が変化しているか否かなどの各種状況を把握することができる。
なお、それぞれのボクセルVには、対象機器4を個々に識別可能な識別情報(固有番号または名称)が対応付けられても良い。このようにすれば、1つの画像に複数の対象機器4が写っていても、これらの対象機器4ごとにカウントされた回数が対応付けられるようになり、それぞれの対象機器4の対象位置を特定することができる。
図2に示すように、撮影装置2が撮影したビデオ映像を構成するそれぞれの画像は、撮影位置および撮影方向が対応付けられている。そのため、対象機器4の対象位置が特定されることで、ビデオ映像を構成するそれぞれの画像において、対象機器4が写っている部分を特定することができる。例えば、他の撮影位置P3で撮影された画像の対象機器4が写っている部分を特定することができる。
図6に示すように、他の撮影位置P3で撮影された画像の対象機器4が写っている部分を対象領域Tとして特定する。そして、この対象領域Tに所定の画像処理を施すことができる。なお、画像処理を施す部分は、第1撮影位置P1または第2撮影位置P2で撮影された画像の2次元領域Cであっても良い。画像処理の態様としては、例えば、対象機器4の部分を強調する表示8を行う。
図7に示すように、対象機器4の対象位置が以前に取得された位置と異なっている場合には、以前の位置を示す表示9を行っても良い。図8に示すように、対象機器4の形状が以前に取得された形状と異なっている場合には、その異なっている部分を強調する表示10を行っても良い。
なお、画像処理により施される表示8,9,10には、2次元領域Cまたは対象領域Tを枠で囲む表示、2次元領域Cまたは対象領域Tの色彩を変更する表示、2次元領域Cまたは対象領域Tを示す矢印または記号の表示が含まれる。また、3次元領域Qに対応する仮想の立体物を構築し、この立体物の像を2次元領域Cまたは対象領域Tに投影したものでも良い。
図9に示すように、対象機器4が機密情報に関するものである場合には、対象機器4が写っている部分にマスク11を施しても良い。なお、マスク11は、画像の一部の範囲の画素を変更することで不鮮明(不可視)にした部分を示す。また、マスク11は、対象機器4が見えなくなるものであれば良い。本実施形態の「マスク」という用語には、塗りつぶし、モザイクまたはボカシが含まれる。また、対象機器4が写った対象領域Tを別の画像で上書きすることで、対象機器4を隠す態様を含む。
次に、対象位置特定システム1のシステム構成を図1に示すブロック図を参照して説明する。
撮影装置2は、カメラ12と撮影位置計測部13と撮影方向計測部14と情報統合部15とを備える。
カメラ12は、撮影装置2の周辺の物体を可視光により撮影する。例えば、レンズ付きの画像素子を備えている。このカメラ12は、対象機器4が写る画像を撮影する。本実施形態のカメラ12は、ビデオ映像の撮影を行う。なお、カメラ12は、一定の画角G1,G2および拡大率で撮影を行っても良いし、画角G1,G2および拡大率を途中で変更しても良い。
撮影位置計測部13は、カメラ12の撮影位置P1,P2を計測する。ここで、カメラ12がビデオ映像の撮影を行う場合には、ビデオ映像のフレーム(画像)ごとに撮影位置P1,P2の計測を行う。
本実施形態において、撮影位置計測部13は、撮影装置2の自位置および自姿勢を特定することができる。例えば、GPS(Global Positioning System)などの位置測定システムを有していても良い。
また、撮影装置2の自位置および自姿勢の変位の算出に用いる位置推定技術には、SLAM(Simultaneous Localization and Mapping)、SfM(Structure from Motion)などの公知の技術を用いることができる。
本実施形態の撮影装置2は、VSLAM(Visual Simultaneous Localization and Mapping)を用いて、撮影装置2で撮影された画像に基づいて、その位置および姿勢の変位を算出することができる。つまり、撮影装置2は、例えば、屋内などのGPSが使用できない場所でも自己位置を推定することができる。
VSLAM技術では、撮影装置2のカメラ12および3次元測定センサなどの所定のデバイスで取得した情報を用いて、周囲の物体の特徴点を抽出する。そして、カメラ12で撮影した動画像を解析し、物体の特徴点(例えば、角などの物体の部分)をリアルタイムに追跡する。そして、撮影装置2の位置または姿勢の3次元情報を推定する。
撮影方向計測部14は、カメラ12の撮影方向D1,D2を計測する。ここで、カメラ12がビデオ映像の撮影を行う場合には、ビデオ映像のフレーム(画像)ごとに撮影方向D1,D2の計測を行う。撮影方向D1,D2は、撮影装置2の筐体の水平方向および垂直方向の傾きの測定に基づいて取得される。例えば、撮影方向計測部14は、慣性センサ(3軸加速度センサと3軸角速度センサ)と3軸地磁気センサを組み合わせた9軸センサであるモーションセンサによる検出信号に基づいて、カメラ12の撮影方向D1,D2を計測する。
特に図示はしないが、加速度センサは、撮影装置2に搭載され、この撮影装置2が移動したときに生じる加速度を検出する。また、この加速度センサにより重力加速度の検出も行える。つまり、鉛直方向の検出が可能となっている。また、角速度センサ(ジャイロセンサ)は、撮影装置2に搭載され、この撮影装置2の筐体の姿勢が変化したときに生じる角速度を検出する。この撮影装置2の筐体の姿勢によりカメラ12の撮影方向を把握することができる。
情報統合部15は、カメラ12で撮影された画像に、撮影位置P1,P2、撮影方向D1,D2、画角G1,G2、拡大率などを含む情報を統合する。カメラ12がビデオ映像の撮影を行う場合には、ビデオ映像のフレーム(画像)ごとに、撮影位置P1,P2、撮影方向D1,D2、画角G1,G2、拡大率などを含む情報をそれぞれの画像に統合する。これら統合された撮影情報は、画像処理装置3に送信される。
なお、撮影情報の送信は、リアルタイムで行っても良いし、点検用ロボット5の巡回点検終了後に行っても良い。
また、カメラ12を個々に識別可能な識別情報、カメラ12の機種(種類)を示し機種情報などを撮影情報に含めても良い。
画像処理装置3は、2次元領域選択部16と対象位置特定部17と画像処理部18と撮影情報取得部19と画像情報判定部20と画像情報追加部21と差分判定部22と対象位置追加部23と対象領域演算部24と対象領域記憶部25と対象選択受付部26と画像抽出部27と画像出力部28と時系列変化出力部29と画像出力受付部30と情報入力部31とメイン制御部32とを備える。これらは、メモリまたはHDDに記憶されたプログラムがCPUによって実行されることで実現される。
さらに、画像処理装置3は、画像情報データベース33と属性情報データベース34と対象位置データベース35と撮影画像データベース36とを備える。これらは、メモリまたはHDDに記憶され、検索または蓄積ができるよう整理された情報の集まりである。
画像情報データベース33には、対象機器4の画像認識に用いる画像情報が記憶されている。また、画像情報データベース33には、画像情報に対応する撮影位置P1,P2および撮影方向D1,D2が記憶されている。属性情報データベース34には、対象機器4に対応する属性情報が記憶されている。対象位置データベース35は、予め計画上(設計上)の対象機器4に対応する対象位置(位置情報)が記憶されている。撮影画像データベース36には、撮影装置2のカメラ12で撮影された画像が記憶される。
本実施形態の画像処理装置3は、CPU、ROM、RAM、HDDなどのハードウェア資源を有し、CPUが各種プログラムを実行することで、ソフトウェアによる情報処理がハードウェア資源を用いて実現されるコンピュータで構成される。さらに、本実施形態の対象位置特定方法は、各種プログラムをコンピュータに実行させることで実現される。
2次元領域選択部16は、対象位置の特定のために、多数の撮影位置のうちから少なくとも2箇所の互いに異なる撮影位置P1,P2で撮影された画像を抽出する。2次元領域選択部16は、異なる撮影位置P1,P2で撮影されたそれぞれの画像(図3および図4)における対象機器4(対象部分)が写った2次元領域Cを選択する処理を行う。この2次元領域選択部16は、対象判定部37と属性付与部38とを備える。
対象判定部37は、画像情報データベース33に記憶された画像情報に基づいて、この画像情報に対応する対象機器4が画像に写っているか否かを判定する処理を行う。画像情報とは、対象機器4の特徴量を示すデータなどを含んでいる。対象判定部37は、画像情報データベース33に記憶されている画像情報と、撮影装置2で撮影された画像に写っている対象機器4を比較し、その類似度に基づいて判定を行う。このようにすれば、画像に対象機器4以外の背景物7が写っていても、画像情報データベース33に記憶された画像情報に基づいて、対象機器4と背景物7を識別し、画像における対象機器4が写った2次元領域Cを選択することができる。
例えば、画像情報データベース33には、第1撮影位置P1および撮影方向D1,D2で撮影されたときの対象機器4の画像に対応する画像情報が予め記憶されている。そして、カメラ12を用いて、第1撮影位置P1および撮影方向D1,D2で撮影されたときに、これに対応する画像情報を画像情報データベース33から抽出する。そして、この抽出した画像情報に基づいて、画像に対象機器4が写っているか否かを判定する。なお、対象判定部37は、機械学習により画像を認識する処理が行えるものであっても良い。また、対象判定部37の判定には、テンプレートマッチまたは特徴点抽出による画像の解析方法が用いられても良い。
属性付与部38は、対象判定部37にて対象機器4が画像に写っていると判定された場合に、2次元領域Cを選択するとともに対応する属性情報を2次元領域Cに付与する処理を行う。この属性付与部38は、画像に写っている対象機器4に対応する属性情報を属性情報データベース34から抽出し、2次元領域Cに付与する。このようにすれば、対象部分が写っている画像を属性情報ごとに管理することができる。つまり、対象機器4が写った画像と属性情報とを対応付けることができる。なお、属性情報には、対象位置を示す位置情報が含まれていても良い。また、属性情報には、対象機器4の固有の番号または名称が含まれる。
例えば、対象機器4が機密情報である属性を有している場合には、この対象機器4が写った画像だけを選別し、この画像を外部に対して非公開とすることができる。また、対象機器4が点検の対象である属性を有している場合には、ビデオ映像の再生時に、点検が必要な対象機器4が写っている箇所だけを選別して再生することができる。そのため、不要なビデオ映像の出力が抑制される。
対象位置特定部17は、撮影位置P1,P2を頂点として撮影方向D1,D2に沿って広がり、2次元領域Cで区切られる立体角R1,R2(図5)が互いに重なる3次元領域Qを対象機器4が存在する対象位置として特定する処理を行う。この対象位置特定部17は、空間演算部39と範囲演算部40と回数記録部41と対象位置計測部42とを備える。
空間演算部39は、対象機器4が存在する3次元空間の仮想空間K(図5)をボクセルVに区切って演算する処理を行う。
範囲演算部40は、仮想空間K(図5)のそれぞれのボクセルVが立体角R1,R2の範囲に含まれるか否かを演算する処理を行う。そして、空間演算部39は、立体角R1,R2の範囲に含まれるボクセルVを特定する。
回数記録部41は、ボクセルVがそれぞれの立体角R1,R2に含まれるとカウントされた回数を、それぞれのボクセルVに対応付けて記録する処理を行う。
対象位置計測部42は、仮想空間Kにおける立体角R1,R2に含まれるボクセルVをカウントし、このカウントされた回数が閾値以上であるボクセルVを対象位置として計測する処理を行う。このようにすれば、3次元空間のボクセルVのカウントという簡素な処理で対象機器4の位置を特定することができる。
なお、時系列順に対象位置を計測することにより、対象機器4(対象部分)が移動しているか否かを特定することができる。さらに、対象機器4の形状が変化することで、対象機器4が存在する対象位置も変化するため、時系列順に対象位置を計測することより、対象機器4の形状が変化しているか否かを特定することができる。
画像処理部18は、カメラ12で撮影された画像において、2次元領域Cと対象領域Tの少なくとも一方に画像処理を施す。このようにすれば、対象機器4が写った箇所に所定の画像処理を施して出力することができる。この画像処理部18は、強調処理部43とマスク処理部44とを備える。
強調処理部43は、カメラ12で撮影された画像において、2次元領域Cと対象領域Tの少なくとも一方を強調する処理を行う(図6)。このようにすれば、対象機器4を強調した表示8を行い、ユーザが対象機器4を視認し易くなる。
マスク処理部44は、カメラ12で撮影された画像において、2次元領域Cと対象領域Tの少なくとも一方をマスキングする処理を行う(図9)。このようにすれば、マスク11により対象機器4を見えないようにして画像を表示することができる。
撮影情報取得部19は、撮影装置2から送信された撮影情報を取得する。撮影情報には、画像に対応付けて、撮影位置P1,P2、撮影方向D1,D2、画角G1,G2、拡大率などの各種情報が含まれている。なお、撮影装置2のカメラ12で撮影された画像は、撮影画像データベース36に記憶される。
撮影情報取得部19は、通信回線を介して撮影装置2と通信を行う。この撮影情報取得部19は、所定のネットワーク機器、例えば、無線LANアクセスポイントまたはアンテナに搭載されても良い。なお、撮影情報取得部19は、WAN(Wide Area Network)、インターネット回線、または携帯通信網を介して撮影装置2と通信を行っても良い。その他にも、LANケーブルまたはUSBケーブルにより撮影装置2と接続して通信を行っても良い。
画像情報判定部20は、対象判定部37にて対象機器4が画像に写っていると判定された場合に、この画像から新たに生成可能な画像情報が既に画像情報データベース33に記憶されているか否かを判定する。
画像情報追加部21は、画像情報判定部20にて画像情報データベース33に記憶されていないと判定された新たに生成された画像情報を画像情報データベース33に追加する。このようにすれば、画像の撮影に伴って新たな画像情報を画像情報データベース33に蓄積することができる。
例えば、他の撮影位置P3で撮影されたときの対象機器4の画像に対応する画像情報が画像情報データベース33に記憶されていないとする。このときに、他の撮影位置P3で撮影を行うと、新たに他の撮影位置P3から対象機器4を写したときの画像を取得することができる。この対象機器4の画像に基づいて、新たに対象機器4に関する特徴量を示すデータ(画像情報)を生成することができる。このようにして、画像情報を画像情報データベース33に蓄積することができる。
なお、画像情報追加部21は、新たな画像情報を画像情報データベース33に追加するときに、この画像が撮影されたときの撮影位置および撮影方向を画像情報に対応付けて追加する。このようにすれば、画像の撮影に伴ってこの画像が撮影されたときの各種情報を画像情報データベース33に蓄積することができる。
差分判定部22は、対象位置特定部17で特定された対象位置と対象位置データベース35に記憶された対象位置を比較して差分が生じているか否かを判定する。対象位置データベース35には、点検が行われる度に取得される対象機器4の位置を、点検が行われた時刻(日付)に対応付けて順次記憶されても良い。このようにすれば、対象機器4の位置に変化があるか否かを判定することができる。なお、対象機器4が固定的に設けられる物体の場合には、対象機器4の形状が変化しているか否かを判定することができる。
なお、差分判定部22の判定には、画像情報データベース33に記憶された画像情報に基づいて、この画像情報に対応する対象機器4が画像に写っているか否かの判定が含まれても良い。また、差分判定部22の判定には、テンプレートマッチまたは特徴点抽出による画像の解析方法が用いられても良い。
対象位置追加部23は、差分判定部22にて差分が生じていると判定された場合に、新たに特定された対象位置を対象位置データベース35に追加する処理を行う。なお、新たに対象位置データベース35に対象位置を追加する場合には、追加される対象位置を特定するために用いた画像の撮影時刻を対応付けて記憶する。対象位置を特定するために用いた画像が所定の期間に亘って撮影されたものである場合には、その撮影時刻は、最初の時刻でも良いし、最後の時刻でも良いし、その中間の時刻でも良い。なお、時刻ではなく、日付のみを対応付けても良い。
対象領域演算部24は、2次元領域Cが選択された画像とは異なる他の撮影位置P3で撮影された画像における対象機器4が写った対象領域Tを演算する。なお、他の撮影位置P3で撮影された画像とは、2次元領域Cの選択に用いていない画像のことである。
対象領域記憶部25は、それぞれの画像におけるいずれの範囲に対象領域Tが存在するかを記憶する。この対象領域記憶部25では、対象領域演算部24で演算された対象領域Tを抽出して記憶しても良い。このようにすれば、対象機器4に関する画像を蓄積してゆくことができる。
対象選択受付部26は、複数の対象機器4のうち任意の対象機器4の選択を受け付ける。例えば、ユーザが複数の対象機器4のうち任意の対象機器4に関する画像を見たい場合には、ユーザがその対象機器4を選択する。
画像抽出部27は、対象選択受付部26で選択された対象機器4が写った画像を撮影画像データベース36から抽出する処理を行う。このようにすれば、ユーザが見たい対象機器4が写った画像のみを抽出することができる。それぞれの画像には、属性付与部38により属性情報が付与されている。画像抽出部27は、ユーザが見たい対象機器4属性情報に基づいて、画像を抽出する。
画像出力部28は、カメラ12で撮影された画像、ユーザが選択した対象機器4の画像、または、画像に画像処理が施された画像を出力する制御を行う。また、画像出力部28は、画像を出力する際に、この画像を撮影したときの撮影位置と撮影方向を出力しても良いし、撮影装置2と対象機器4の位置関係を出力しても良い。
本実施形態の画像処理装置3には、ディスプレイなどの表示装置が含まれる。つまり、画像出力部28は、ディスプレイに表示される画像の制御を行う。なお、ディスプレイはコンピュータ本体と別体であっても良いし、一体であっても良い。さらに、ネットワークを介して接続される他のコンピュータが備えるディスプレイに表示される画像の制御を画像出力部28が行っても良い。
なお、本実施形態では、表示装置としてディスプレイを例示するが、その他の態様であっても良い。例えば、紙媒体に情報を印字するプリンタをディスプレイの替りとして用いても良い。つまり、画像出力部28が制御する対象として、プリンタが含まれても良い。
時系列変化出力部29は、対象位置データベース35に記憶された対象位置に基づいて、対象機器4の時系列変化を示す画像を出力する。このようにすれば、画像処理装置3のユーザが対象機器4の時系列変化を把握することができる。例えば、以前の位置を示す表示9(図7)を行っても良いし、対象機器4の形状が以前と異なっている部分を強調する表示10(図8)を行っても良い。
画像出力受付部30は、画像出力部28に出力する画像の設定を受け付ける。例えば、カメラ12で撮影された画像の出力の設定を受け付ける。また、対象機器4の時系列変化を示す画像の出力の設定を受け付ける。
情報入力部31は、画像処理装置3を使用するユーザの操作に応じて所定の情報が入力される。この情報入力部31には、マウスまたはキーボードなどの入力装置が含まれる。つまり、これら入力装置の操作に応じて所定の情報が情報入力部31に入力される。
メイン制御部32は、画像処理装置3を統括的に制御する。このメイン制御部32は、主に画像処理装置3の内部の情報処理、外部の機器との通信処理を制御する。なお、メイン制御部32は、撮影装置2(点検用ロボット5)の制御を行っても良い。
次に、撮影装置2が実行する撮影処理について図10のフローチャートを用いて説明する。なお、図1に示すブロック図を適宜参照する。
この処理は、一定時間毎に繰り返される処理である。この処理が繰り返されることで、撮影装置2で撮影処理が実行される。なお、撮影装置2が他のメイン処理を実行中に、この処理を割り込ませて実行しても良い。
図10に示すように、まず、ステップS11において、カメラ12は、対象機器4が写る画像を撮影する。
次のステップS12において、撮影位置計測部13は、カメラ12の撮影位置P1,P2を計測する。
次のステップS13において、撮影方向計測部14は、カメラ12の撮影方向D1,D2を計測する。
次のステップS14において、情報統合部15は、カメラ12で撮影された画像に、撮影位置P1,P2、撮影方向D1,D2、画角G1,G2、拡大率などを含む情報を統合して撮影情報を生成する。
次のステップS15において、情報統合部15は、撮影情報を画像処理装置3に送信する。そして、撮影処理を終了する。
次に、画像処理装置3が実行する撮影画像管理処理について図11のフローチャートを用いて説明する。なお、図1に示すブロック図を適宜参照する。
図11に示すように、まず、ステップS21において、撮影情報取得部19は、撮影装置2から送信された撮影情報を取得する。なお、撮影情報取得部19は、撮影装置2のカメラ12で撮影された画像を撮影画像データベース36に記憶する処理を行う。
次のステップS22において、2次元領域選択部16は、2次元領域選択処理(図12)を実行する。ここで、2次元領域選択部16は、少なくとも2箇所の互いに異なる撮影位置P1,P2で撮影されたそれぞれの画像(図3および図4)における対象機器4が写った2次元領域Cを選択する処理を行う。
次のステップS23において、対象位置特定部17は、対象位置特定処理(図13)を実行する。ここで、対象位置特定部17は、撮影位置P1,P2を頂点として撮影方向D1,D2に沿って広がり、2次元領域Cで区切られる立体角R1,R2(図5)が互いに重なる3次元領域Qを対象機器4が存在する対象位置として特定する処理を行う。
次のステップS24において、差分判定部22は、対象位置特定部17で特定された対象位置と対象位置データベース35に記憶された対象位置を比較して差分が生じているか否かを判定する。ここで、差分が生じていない場合(ステップS24にてNOの場合)は、ステップS26に進む。一方、差分が生じている場合(ステップS24にてYESの場合)は、ステップS25に進む。
次のステップS25において、対象位置追加部23は、新たに特定された対象位置を対象位置データベース35に追加する処理を行う。
次のステップS26において、メイン制御部32は、画像出力受付部30がカメラ12で撮影された画像(撮影画像)の出力の設定を受け付けているか否かの判定を行う。つまり、ユーザによる情報入力部31の操作により撮影画像の出力の設定がなされたか否かの判定を行う。ここで、撮影画像の出力の設定を受け付けている場合(ステップS26にてYESの場合)は、ステップS29に進む。一方、撮影画像の出力の設定を受け付けてない場合(ステップS26にてNOの場合)は、ステップS27に進む。なお、撮影画像の出力の設定には、画像処理の態様の設定を含む。例えば、対象機器4の部分を強調する表示8(図6)を行う設定、対象機器4が写っている部分にマスク11(図9)を施す設定を含む。
次のステップS27において、メイン制御部32は、対象選択受付部26が複数の対象機器4のうち任意の対象機器4の選択を受け付けているか否かの判定を行う。つまり、ユーザによる情報入力部31の操作により対象機器4の選択の設定がされたか否かの判定を行う。ここで、対象機器4の選択を受け付けていない場合(ステップS27にてNOの場合)は、撮影画像管理処理を終了する。一方、対象機器4の選択を受け付けている場合(ステップS27にてYESの場合)は、ステップS28に進む。
次のステップS28において、画像抽出部27は、対象選択受付部26で選択された対象機器4が写った画像を撮影画像データベース36から抽出する処理を行う。
次のステップS29において、対象領域演算部24は、2次元領域Cが選択された画像とは異なる他の撮影位置P3で撮影された画像における対象機器4が写った対象領域Tを演算する。ここで、対象領域記憶部25は、それぞれの画像におけるいずれの範囲に対象領域Tが存在するかを記憶する。
次のステップS30において、メイン制御部32は、画像出力受付部30が対象機器4の時系列変化を示す画像(時系列変化画像)の出力の設定を受け付けているか否かの判定を行う。つまり、ユーザによる情報入力部31の操作により時系列変化画像の出力の設定がなされたか否かの判定を行う。ここで、時系列変化画像の出力の設定を受け付けている場合(ステップS30にてYESの場合)は、ステップS33に進む。一方、時系列変化画像の出力の設定を受け付けてない場合(ステップS30にてNOの場合)は、ステップS31に進む。
次のステップS31において、画像処理部18は、画像処理を実行する。ここで、画像処理部18は、カメラ12で撮影された画像において、2次元領域Cと対象領域Tの少なくとも一方に画像処理を施す。ここで、強調処理部43は、対象機器4の部分を強調する表示8(図6)の処理を行う。また、マスク処理部44は、対象機器4が写っている部分にマスク11(図9)を施す処理を行う。
次のステップS32において、画像出力部28は、画像に画像処理が施された画像をディスプレイなどに出力する制御を行う。そして、撮影画像管理処理を終了する。
また、ステップS33において、時系列変化出力部29は、対象機器4の時系列変化を示す画像をディスプレイなどに出力する制御を行う。そして、撮影画像管理処理を終了する。
次に、2次元領域選択部16が実行する2次元領域選択処理について図12のフローチャートを用いて説明する。なお、図1に示すブロック図を適宜参照する。
図12に示すように、まず、ステップS41において、2次元領域選択部16は、対象位置の特定のために、多数の撮影位置のうちから少なくとも2箇所の互いに異なる撮影位置P1,P2で撮影された画像を抽出する。
次のステップS42において、対象判定部37は、画像情報データベース33に記憶された画像情報に基づいて、この画像情報に対応する対象機器4が画像に写っているか否かを判定する。なお、異なる撮影位置P1,P2で撮影されたそれぞれの画像(図3および図4)ごとに判定を行う。
ここで、対象機器4が画像に写っていない場合(ステップS42にてNOの場合)は、ステップS41に戻り、対象機器4が画像に写っている可能がある他の画像を抽出する。一方、対象機器4が画像に写っている場合(ステップS42にてYESの場合)は、ステップS43に進む。
次のステップS43において、2次元領域選択部16は、異なる撮影位置P1,P2で撮影されたそれぞれの画像(図3および図4)における対象機器4(対象部分)が写った2次元領域Cを選択する処理を行う。
次のステップS44において、属性付与部38は、画像に写っている対象機器4に対応する属性情報を属性情報データベース34から抽出し、この抽出した属性情報を2次元領域Cに付与する処理を行う。
次のステップS45において、画像情報判定部20は、対象機器4が写っている画像から新たに生成可能な画像情報が既に画像情報データベース33に記憶されているか否かを判定する。つまり、新たに生成可能な画像情報が既に画像情報データベース33に記憶されているものと同一または類似の範囲にあるか否かを判定する。
ここで、新たに生成可能な画像情報が既に画像情報データベース33に記憶されている場合(ステップS45にてYESの場合)は、2次元領域選択処理を終了する。一方、新たに生成可能な画像情報が未だ画像情報データベース33に記憶されていない場合(ステップS45にてNOの場合)は、ステップS46に進む。
次のステップS46において、画像情報追加部21は、新たに生成された画像情報を画像情報データベース33に追加する。そして、2次元領域選択処理を終了する。
次に、対象位置特定部17が実行する対象位置特定処理について図13のフローチャートを用いて説明する。なお、図1に示すブロック図を適宜参照する。
図13に示すように、まず、ステップS51において、空間演算部39は、対象機器4が存在する3次元空間の仮想空間K(図5)をボクセルVに区切って演算する処理を行う。
次のステップS52において、範囲演算部40は、仮想空間K(図5)のそれぞれのボクセルVが立体角R1,R2の範囲に含まれるか否かを演算する処理を行う。そして、空間演算部39は、立体角R1,R2の範囲に含まれるボクセルVを特定する。
次のステップS53において、回数記録部41は、ボクセルVがそれぞれの立体角R1,R2に含まれるとカウントされた回数を、それぞれのボクセルVに対応付けて記録する処理を行う。
次のステップS54において、対象位置計測部42は、仮想空間Kにおける立体角R1,R2に含まれるボクセルVをカウントし、このカウントされた回数が閾値以上であるボクセルVを対象位置として計測する処理を行う。ここで、カウントされた回数が閾値以上であるボクセルVが3次元領域Qとして特定される。
次のステップS55において、対象位置特定部17は、3次元領域Qを対象機器4が存在する対象位置として特定する処理を行う。そして、対象位置特定処理を終了する。
なお、本実施形態において、基準値(閾値)を用いた任意の値(ボクセルのカウント回数)の判定は、「任意の値が基準値以上か否か」の判定でも良いし、「任意の値が基準値を超えているか否か」の判定でも良い。或いは、「任意の値が基準値以下か否か」の判定でも良いし、「任意の値が基準値未満か否か」の判定でも良い。また、基準値が固定されるものでなく、変化するものであっても良い。従って、基準値の代わりに所定範囲の値を用い、任意の値が所定範囲に収まるか否かの判定を行っても良い。また、予め装置に生じる誤差を解析し、基準値を中心として誤差範囲を含めた所定範囲を判定に用いても良い。
なお、本実施形態のフローチャートにおいて、各ステップが直列に実行される形態を例示しているが、必ずしも各ステップの前後関係が固定されるものでなく、一部のステップの前後関係が入れ替わっても良い。また、一部のステップが他のステップと並列に実行されても良い。
本実施形態のシステムは、専用のチップ、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)、またはCPU(Central Processing Unit)などのプロセッサを高集積化させた制御装置と、ROM(Read Only Memory)またはRAM(Random Access Memory)などの記憶装置と、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの外部記憶装置と、ディスプレイなどの表示装置と、マウスまたはキーボードなどの入力装置と、通信インターフェースとを備える。このシステムは、通常のコンピュータを利用したハードウェア構成で実現できる。
なお、本実施形態のシステムで実行されるプログラムは、ROMなどに予め組み込んで提供される。もしくは、このプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD、フレキシブルディスク(FD)などのコンピュータで読み取り可能な非一過性の記憶媒体に記憶されて提供するようにしても良い。
また、このシステムで実行されるプログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせて提供するようにしても良い。また、このシステムは、構成要素の各機能を独立して発揮する別々のモジュールを、ネットワークまたは専用線で相互に接続し、組み合わせて構成することもできる。
なお、画像処理装置3には、機械学習を行う人工知能(AI:Artificial Intelligence)を備えるコンピュータが含まれても良い。また、2次元領域選択部16には、深層学習に基づいて、複数のパターンから特定のパターンを抽出する深層学習部が含まれても良い。
本実施形態のコンピュータを用いた解析には、人工知能の学習に基づく解析技術を用いることができる。例えば、ニューラルネットワークによる機械学習により生成された学習モデル、その他の機械学習により生成された学習モデル、深層学習アルゴリズム、回帰分析などの数学的アルゴリズムを用いることができる。また、機械学習の形態には、クラスタリング、深層学習などの形態が含まれる。
本実施形態のシステムは、機械学習を行う人工知能を備えるコンピュータを含む。例えば、ニューラルネットワークを備える1台のコンピュータでシステムを構成しても良いし、ニューラルネットワークを備える複数台のコンピュータでシステムを構成しても良い。
ここで、ニューラルネットワークとは、脳機能の特性をコンピュータによるシミュレーションによって表現した数学モデルである。例えば、シナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようになるモデルを示す。さらに、ニューラルネットワークは、深層学習(Deep Learning)により問題解決能力を取得する。
例えば、ニューラルネットワークには、6層のレイヤーを有する中間層が設けられる。この中間層の各レイヤーは、300個のユニットで構成されている。また、多層のニューラルネットワークに学習用データを用いて予め学ばせておくことで、回路またはシステムの状態の変化のパターンの中にある特徴量を自動で抽出することができる。なお、多層のニューラルネットワークは、ユーザインターフェース上で、任意の中間層数、任意のユニット数、任意の学習率、任意の学習回数、任意の活性化関数を設定することができる。
なお、学習対象となる各種情報項目に報酬関数が設定されるとともに、報酬関数に基づいて価値が最も高い情報項目が抽出される深層強化学習をニューラルネットワークに用いても良い。
例えば、画像認識で実績のあるCNN(Convolution Neural Network)を用いる。このCNNでは、中間層が畳み込み層とプーリング層で構成される。畳み込み層は、前の層で近くにあるノードにフィルタ処理を施すことで特徴マップを取得する。プーリング層は、畳込み層から出力された特徴マップを、さらに縮小して新たな特徴マップとする。この際に特徴マップにおいて着目する領域に含まれる画素の最大値を得ることで、特徴量の位置の多少のずれも吸収することができる。
畳み込み層は、画像の局所的な特徴を抽出し、プーリング層は、局所的な特徴をまとめる処理を行う。これらの処理では、入力画像の特徴を維持しながら画像を縮小処理する。つまり、CNNでは、画像の持つ情報量を大幅に圧縮(抽象化)することができる。そして、ニューラルネットワークに記憶された抽象化された画像イメージを用いて、入力される画像を認識し、画像の分類を行うことができる。
なお、深層学習には、オートエンコーダ、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)、GAN(Generative Adversarial Network)などの各種手法がある。これらの手法を本実施形態の深層学習に適用しても良い。
なお、本実施形態では、撮影装置2と画像処理装置3がそれぞれ別個の装置としているが、その他の態様であっても良い。例えば、撮影装置2と画像処理装置3を一体の装置としても良い。
なお、本実施形態では、画像処理装置3がデータベース33~36を備えているが、その他の態様であっても良い。例えば、画像処理装置3とネットワークを介して接続された他のコンピュータがデータベース33~36を備えても良い。
なお、本実施形態では、画像情報データベース33と属性情報データベース34と対象位置データベース35がそれぞれ別個に設けられているが、その他の態様であっても良い。例えば、画像情報データベース33と属性情報データベース34と対象位置データベース35を一体のデータベースとしても良い。
なお、本実施形態では、点検用ロボット5にカメラ12を搭載して対象機器4の撮影を行っているが、その他の態様であっても良い。例えば、点検員が所持するモバイル端末にカメラ12を搭載して、人手により対象機器4の撮影を行っても良い。
なお、本実施形態では、2次元領域選択部16が画像における2次元領域Cを自動的に選択する処理を行う形態を例示しているが、2次元領域Cを人手により選択しても良い。例えば、画像を視認するユーザが、対象機器4が写っている領域を所定の操作により選択するものであっても良い。2次元領域選択部16は、ユーザの入力操作を受け付ける領域選択受付部を備えても良い。
以上説明した実施形態によれば、撮影位置を頂点として撮影方向に沿って広がり、2次元領域で区切られる立体角が互いに重なる3次元領域を対象部分が存在する対象位置として特定する対象位置特定部を備えることにより、カメラで撮影した画像に基づいて、対象部分の位置を特定することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。