以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。なお、以下では本発明を、パイプ内の異常個所の検出及び検査に適用した態様を説明する。
本実施形態に係る検査装置10は、図1に示すように、パイプ30内を移動しながら、腐食による侵食などのパイプ30の内壁の異常個所32を検出し、検出した異常個所32の深さを計測するなどの検査を行う。検査装置10は、第1撮影装置11と、第1照明装置12と、駆動部14と、第2撮影装置16と、第2照明装置17と、制御部20とを含む。
第1撮影装置11は、撮影対象物であるパイプ30の内壁のうち、検査装置10の位置を基準とする所定範囲をモノクロのグレースケール画像(以下、第1撮影画像という)として撮影する。一例として本実施形態では、第1撮影装置11は、パイプ30の内壁のうちの底部側をパイプ30の終端まで撮影可能なように、検査装置10の進行方向の前側に、進行方向前方の斜め下方向を撮影範囲とする向きで取り付けられている。
第1照明装置12は、第1撮影装置11の撮影範囲を照明するように、例えば、検査装置10の進行方向の前側に取り付けられている。第1照明装置12による照明及び第1撮影装置11による撮影の波長域は、例えば可視光域や赤外域であるが、異常個所32を検出可能であれば、それ以外の波長域であってもよい。
駆動部14は、検査装置10全体を移動させる移動機構である。駆動部14は、例えば、モータ等の駆動源と、車輪やキャタピラ等の回転機構と、を含み、駆動源の駆動力により回転機構を回転駆動することで、検査装置10を前後左右の各方向に移動させる。
第2撮影装置16は、合焦法により対象物との距離を計測する3−dimensional(3D)カメラである。合焦法は、焦点位置を互いに相違させた複数の状態で画像を撮影し、撮影画像の各画素毎に合焦画像を選択し、合焦画像の撮影時の焦点位置から、各画素に対応する撮影範囲における対象物との距離を計測するものである。第2撮影装置16は、例えば、検査装置10の直下の所定範囲を撮影とするように、検査装置10の底面に取り付けられている。
第2照明装置17は、第2撮影装置16の撮影範囲を照明するように、例えば、検査装置10の底面に取り付けられている。第2照明装置17による照明及び第2撮影装置16による撮影の波長域は、例えば可視光域であるが、対象物との距離を計測可能であれば、それ以外の波長域であってもよい。
なお、第1撮影装置11、第1照明装置12、第2撮影装置16及び第2照明装置17の各々の取付位置は、図1に示した位置に限られるものではなく、撮影範囲や検査装置10の形態等に応じて適宜変更してもよい。
制御部20は、検査装置10全体の制御を行う。図2に示すように、制御部20は、第1撮影制御部21、検出部22、駆動制御部24、第2撮影制御部25、表示制御部26及び通信制御部27を含む。また、検出部22は、特定部22A、検出部22B及び位置演算部22Cを含む。
第1撮影制御部21は、第1照明装置12による照明及び第1撮影装置11による撮影を制御する。詳しくは、第1撮影制御部21は、第1撮影装置11の撮影範囲が照明されるように第1照明装置12を制御すると共に、第1撮影装置11による撮影を実行させ、撮影された第1撮影画像を第1撮影装置11から取得する。第1撮影制御部21は、取得した第1撮影画像を、第1撮影画像が撮影された際の検査装置10の位置情報と共に、検出部22へ出力する。詳細は後述するが、検査装置10の位置情報は、駆動制御部24から第1撮影制御部21へ入力される。また、第1撮影制御部21は、第1撮影画像を表示制御部26へも出力する。
検出部22は、第1撮影制御部21から入力された第1撮影画像に基づいて、パイプ30の内壁の異常個所32を検出し、検出した異常個所32の位置情報を駆動制御部24及び表示制御部26へ出力する。
詳しくは、特定部22Aは、第1撮影画像に含まれる点のうち、第1撮影画像上で第1の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定する。検出部22Bは、特定部22Aによって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、異常個所32として検出する。位置演算部22Cは、検出部22Bによって検出された異常個所32の第1撮影画像上での位置及び第1撮影画像の撮影条件に基づいて、第1撮影装置11と異常個所32との距離を演算し、異常個所32の位置を演算する。
なお、検出部22は本発明に係る検出装置の一例である。検出部22の特定部22A、検出部22B及び位置演算部22Cによる処理の詳細は後述する。
駆動制御部24は、第1撮影装置11による撮影及び検出部22による異常個所32の検出がパイプ30の全長に亘って行われるように、駆動部14を制御して検査装置10を移動させる。詳しくは、駆動制御部24は、第1撮影装置11による撮影範囲が、パイプ30内の基準位置(例えば検査装置10の進入口付近の位置)に設定した基準位置からパイプ30の奥側(終端)へ順次移動するように、検査装置10をパイプ30内で移動させる。また、駆動制御部24は、センサによって検出されたモータの回転軸や車輪の回転量などに基づいて、基準位置からの検査装置10の移動距離を算出し、パイプ30内における検査装置10の位置情報として、第1撮影制御部21へ出力する。
また、駆動制御部24は、異常個所32の位置情報が検出部22から入力されると、入力された異常個所32の位置情報に基づいて、異常個所32が第2撮影装置16の撮影範囲内に位置するように、駆動部14を制御して検査装置10を移動させる。なお、駆動制御部24は、位置情報が入力された複数の異常個所32が所定距離以内に近接して存在している場合は、それらの複数の異常個所32が第2撮影装置16の撮影範囲内に各々位置するように検査装置10を移動させる。
詳しくは、駆動制御部24は、検査装置10がパイプ30内の基準位置に位置している状態からの移動距離が、入力された異常個所32の位置情報に対応する移動距離に一致するように、検査装置10を移動させる。なお、駆動制御部24は、異常個所32の検出が終了した位置(例えばパイプ30内の終端位置)から、検査装置10を後進させて異常個所32の位置まで移動させてもよい。駆動制御部24は、異常個所32が第2撮影装置16の撮影範囲内に位置する位置迄検査装置10を移動させると、検査装置10の移動が完了したことを第2撮影制御部25に通知する。
なお、第2撮影装置16として合焦法による3Dカメラを適用する場合、一例として図15に示すように、異常個所32の真上に第2撮影装置16が位置するように検査装置10を移動させることが好ましい。これは、異常個所32の真上から撮影を行うことで、3Dカメラにより異常個所32の深さの計測精度が向上するためである。
第2撮影制御部25は、第2撮影装置16による撮影及び第2照明装置17による照明を制御する。詳しくは、第2撮影制御部25は、検査装置10の移動完了が通知されると、第2撮影装置16の撮影範囲が照明されるように第2照明装置17を制御すると共に、第2撮影装置16による撮影を実行させ、撮影された第2撮影画像を第2撮影装置16から取得する。第2撮影画像の各画素は、第2撮影装置16からその画素に対応する撮影範囲における対象物までの距離を表す情報を含む。第2撮影制御部25は、第2撮影装置16から取得した第2撮影画像を通信制御部27へ出力する。
表示制御部26は、パイプ30の外に位置している情報処理装置の表示装置に表示するための表示画像の画像データを生成する。情報処理装置は、通信機能及び表示装置を備えており、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等を適用できる。
通信制御部27は、表示制御部26から入力された表示画像の画像データ及び第2撮影装置16から取得した第2撮影画像36を、パイプ30の外に位置している情報処理装置へ無線通信により送信するように制御する。
検査装置10の制御部20は、例えば図3に示すコンピュータ40で実現することができる。コンピュータ40はCentral Processing Unit(CPU)41、一時記憶領域としてのメモリ42及び不揮発性の記憶部43を備える。また、コンピュータ40は、第1撮影装置11、第1照明装置12、駆動部14、第2撮影装置16、第2照明装置17と接続される入出力インターフェイス(I/F)44を備える。また、コンピュータ40は、メモリカード等の記録媒体49に対するデータの読み込み及び書き込みを制御するread/write(R/W)部45、及び、Wi−Fi(登録商標)などの無線通信を行う通信I/F46を備える。CPU41、メモリ42、記憶部43、入出力I/F44、R/W部45及び通信I/F46は、バス47を介して互いに接続される。
記憶部43はHard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を制御部20として機能させるための異常検査プログラム50が記憶されている。異常検査プログラム50は、第1撮影制御プロセス51、検出プロセス52、駆動制御プロセス54、第2撮影制御プロセス55、表示制御プロセス56及び通信制御プロセス57を含む。また、検出プロセス52は、特定プロセス52A、検出プロセス52B及び位置演算プロセス52Cを含む
CPU41は、異常検査プログラム50を記憶部43から読み出してメモリ42に展開し、異常検査プログラム50が有するプロセスを順次実行する。CPU41は、第1撮影制御プロセス51を実行することで、図2に示す第1撮影制御部21として動作する。また、CPU41は、検出プロセス52を実行することで、図2に示す検出部22として動作する。より詳しくは、CPU41は、特定プロセス52Aを実行することで、図2に示す特定部22Aとして動作する。またCPU41は、検出プロセス52Bを実行することで、図2に示す検出部22Bとして動作する。またCPU41は、位置演算プロセス52Cを実行することで、図2に示す位置演算部22Cとして動作する。また、CPU41は、駆動制御プロセス54を実行することで、図2に示す駆動制御部24として動作する。また、CPU41は、第2撮影制御プロセス55を実行することで、図2に示す第2撮影制御部25として動作する。また、CPU41は、表示制御プロセス56を実行することで、図2に示す表示制御部26として動作する。また、CPU41は、通信制御プロセス57を実行することで、図2に示す通信制御部27として動作する。これにより、異常検査プログラム50を実行したコンピュータ40が、検査装置10の制御部20として機能することになる。異常検査プログラム50は本発明に係る検査プログラムの一例である。
なお、異常検査プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、本実施形態の作用を説明する。パイプ30内への検査装置10の進入口付近に設定した基準位置に検査装置10が配置され、検査装置10に対して異常検査処理の実行を指示する情報が入力されると、制御部20において、図4に示す異常検査処理が実行される。
異常検査処理のステップ100において、第1撮影制御部21は、第1照明装置12により第1撮影装置11の撮影範囲を照明させ、第1撮影装置11による撮影を実行させ、撮影された第1撮影画像を第1撮影装置11から取得する。第1撮影制御部21は、取得した第1撮影画像を、第1撮影画像が撮影された際の検査装置10の位置情報と共に、検出部22へ出力する。また、第1撮影制御部21は、第1撮影画像を表示制御部26へも出力する。
ステップ102において、検出部22は、異常個所検出処理を行う。以下、図5を参照し、異常個所検出処理を説明する。
異常個所検出処理のステップ130において、検出部22の特定部22Aは、第1撮影制御部21から入力された第1撮影画像に含まれる画素の中から、処理対象の画素を1個選択する。ステップ132において、特定部22Aは、ステップ130で選択した処理対象の画素の輝度が、予め設定された第1の閾値th1以下か否か判定する。パイプ30内に異常個所32が存在している場合、当該異常個所32は、第1撮影画像上で輝度が比較的低い領域として現れる。ステップ132の判定が否定された場合、処理対象の画素は異常個所32に対応する画素ではないと判断できるので、ステップ140へ移行する。
一方、ステップ132の判定が肯定された場合はステップ134へ移行し、ステップ134において、特定部22Aは、まず、処理対象画素から第1撮影画像上で第1の距離L1以上離れた所定数(少なくとも2個以上)の暗部評価用画素を第1撮影画像から抽出する。
一例として図6には、処理対象画素を"A"の表記で示すと共に、暗部評価用画素の一例を"p1"〜"p16"の表記で示す。図6の例では、16個の暗部評価用画素のうち、4個の暗部評価用画素p3,p8,p9,p14は処理対象の画素との距離が第1の距離L1に等しいが、その他の暗部評価用画素は処理対象の画素との距離が第1の距離L1よりも大きい。なお、抽出する暗部評価用画素の数は16個に限られるものではない。
第1の距離L1は、一例として、異常個所32として想定される最大サイズを第1撮影画像上での画素数に換算した値よりも大きい値とすることができる。これにより、処理対象の画素が異常個所32に対応する画素であったとすると、抽出した暗部評価用画素は、少なくとも処理対象の画素と同一の異常個所32に対応する画素ではない、とみなすことができる。なお、処理対象の画素と暗部評価用画素との距離に最大値を定め、処理対象の画素と暗部評価用画素との距離を、第1の距離L1以上で、かつ所定の範囲内としてもよい。処理対象の画素と暗部評価用画素とが離れ過ぎている場合にも、暗部である点を特定する処理の精度が低下する可能性があるためである。そして特定部22Aは、抽出した個々の暗部評価用画素毎に処理対象画素と輝度を比較し、輝度が処理対象画素よりも高い暗部評価用画素の数Cntを計数する。
次のステップ136において、特定部22Aは、輝度が処理対象画素よりも高い暗部評価用画素の数Cntが、予め設定した第2の閾値th2以上か否か判定する。検査装置10はパイプ30内を移動可能である必要があるのでサイズ等の制約があり、第1照明装置12についても、サイズ等の制約により、第1撮影装置11の撮影範囲を均一に照明するように構成することは困難である。
このため、本実施形態では、輝度が処理対象画素よりも高い暗部評価用画素の数Cntを計数し、暗部評価用画素の数Cntを第2の閾値th2と比較している。これにより、例えば処理対象の画素が異常個所32に対応する画素である場合、抽出した暗部評価用画素の中に、照明の不均一性に起因して低輝度の画素が混在していたとしても、この画素が及ぼす影響が小さくなり、暗部評価用画素の数Cntは閾値th2以上になる。また、例えば処理対象の画素が異常個所32に対応する画素でない場合、抽出した暗部評価用画素の中に、照明の不均一性に起因して高輝度の画素が混在していたとしても、この画素が及ぼす影響が小さくなり、暗部評価用画素の数Cntは第2の閾値th2未満になる。
このように、ステップ136の判定が否定された場合、処理対象の画素が異常個所32に対応する画素でないと判断できるので、ステップ140へ移行する。また、ステップ136の判定が肯定された場合は、処理対象の画素が異常個所32に対応する画素と判断できるので、ステップ138へ移行し、ステップ138において、特定部22Aは、処理対象の画素を暗部画素としてメモリ等に記憶させる。
ステップ140において、特定部22Aは、第1撮影画像の全ての画素を処理対象として処理を行ったか否か判定する。ステップ140の判定が否定された場合はステップ130に戻り、ステップ140の判定が肯定される迄、ステップ130〜ステップ140を繰り返す。これにより、第1撮影画像の全ての画素について暗部画素か否かが特定され、特定された結果がメモリ等に情報として記憶される。
ステップ140の判定が肯定されるとステップ142へ移行する。ステップ142において、検出部22Bは、特定部22Aによってメモリ等に記憶された暗部画素の情報に基づいて、第1撮影画像を、暗部画素とそれ以外の画素とで値を相違させたバイナリ画像へ変換する。一例として図7には、第1撮影画像34と、この第1撮影画像34のうち暗部画素を"1"、暗部でない画素を"0"に変換することで得られるバイナリ画像60Aと、を各々示す。なお、バイナリ画像は、暗部画素が"1"、暗部でない画素が"0"の画像に限られるものではなく、暗部画素が"0"、暗部でない画素が"1"の画像であってもよい。
ステップ144において、検出部22Bは、ステップ142で得られたバイナリ画像に対し、膨張処理をN1回行う。この膨張により、図8に示すバイナリ画像60Bを図7に示すバイナリ画像60Aと比較しても明らかなように、暗部画素の領域のうち間隙が所定の第2の距離L2以下の領域同士が連結される。上記の第2の距離L2は膨張処理の実行回数N1に応じて定まる。
次のステップ146において、ステップ142の膨張処理を経たバイナリ画像に対して収縮処理をN2回行う。収縮処理の実行回数N2>N1である。これにより、ステップ142の膨張処理を経ても孤立している、面積が予め設定した第4の閾値th4未満の微小な暗部領域が除去される。上記の第4の閾値th4は収縮処理の実行回数N2に応じて定まる。また、ステップ148において、検出部22Bは、ステップ146の収縮処理を経たバイナリ画像に対して膨張処理をN3回行う。
なお、バイナリ画像が、暗部画素が"0"、暗部でない画素が"1"の画像の場合には、ステップ144,148で収縮処理を行い、ステップ146で膨張処理を行えばよい。また、膨張処理/収縮処理に限られるものではなく、同様の平滑化効果が得られる他の画像処理を適用してもよい。
次のステップ150において、検出部22Bは、ステップ148の膨張処理を経たバイナリ画像から暗部領域を抽出する。一例として図9には、図8に示すバイナリ画像60Bから抽出される暗部領域を、白い円で囲んで示す。
ステップ152において、検出部22Bは、次のステップ154以降の処理を未実行の暗部領域が有るか否か判定する。先のステップ150で暗部領域が抽出されなかった場合はステップ152の判定は否定されてステップ162へ移行する。そして、ステップ162において、位置演算部22Cは、暗部領域が検出されなかったことを表す情報を駆動制御部24及び表示制御部26へ出力し、異常個所検出処理を終了する。一方、ステップ150で暗部領域が1個以上抽出された場合、ステップ152の判定は、抽出された暗部領域の個数と同数回肯定される。
ステップ152の判定が肯定された場合はステップ154へ移行し、ステップ154において、検出部22Bは、ステップ154以降の処理を未実行の暗部領域の中から、処理対象の暗部領域を選択する。次のステップ156において、検出部22Bは、ステップ154で選択した処理対象の暗部領域の面積が、予め設定した第3の閾値th3以下か否か判定する。第1撮影画像には、例えばパイプ30の継ぎ目における段差などが、面積が非常に大きい暗部領域として含まれている可能性がある。ステップ154の判定は、このような暗部領域を異常個所32と誤判定することを防止するために行っており、ステップ156の判定が否定された場合はステップ152へ戻る。
一方、本実施形態では、ステップ156の判定が肯定された暗部領域を、撮影対象物であるパイプ30内における腐食による侵食等の異常個所32を示す領域として検出している。図10には、パイプ30内の異常個所32を示す領域32Aを検出した結果の一例を示す。ステップ156の判定が肯定された場合はステップ158へ移行する。
ステップ158において、位置演算部22Cは、第1撮影画像中の暗部領域の位置(例えば領域32A内の中心座標の座標値)及び第1撮影装置11の撮影条件に基づき、第1撮影装置11から異常個所32までの距離Lを演算する。
図11に、第1撮影装置11が第1撮影画像を撮影した際の、第1撮影装置11と第1撮影画像と異常個所32との側面視での位置関係を概略的に示す。図11では、第1撮影画像を、第1撮影装置11の撮影範囲内に仮想的に配置した仮想撮影画像面34Aとして示している。例えば、図11に示すように、第1撮影装置11が、検査装置10の接地面から高さH(mm)の位置に、俯角D(°)で取り付けられており、パイプ30の奥行き方向に対する第1撮影装置11の画角がVy(°)であるとする。また、第1撮影画像の奥行き方向の画素数をWy、第1撮影画像の中心から異常個所32を示す領域32Aの中心座標pまでの奥行き方向の画素数をpyとする。また、第1撮影装置11の撮影光軸と、第1撮影装置11と異常個所32の位置を撮影範囲の幅方向の中心線に射影した位置32Yとを結ぶ線との成す角をαとする。
この場合、位置演算部22Cは、第1撮影装置11から異常個所32までの奥行き方向の距離Lyを下記(1)式により演算する。
Ly=H×(1−tan(D)×tanα)÷(tan(D)+tanα) …(1)
なお、(1)式のtanαは、下記(2)式で表される。
tanα=py×tan(Vy/2)÷(Wy/2) …(2)
また、図12に、第1撮影装置11が第1撮影画像を撮影した際の、第1撮影装置11と第1撮影画像と異常個所32との平面視での位置関係を概略的に示す。図12に示すように、第1撮影装置11の水平方向の画角をVx(°)、第1撮影画像(仮想撮影画像面34A)の水平方向の画素数をWx、第1撮影画像の中心から異常個所32を示す領域32Aの中心座標pまでの水平方向の画素数をpxとする。
位置演算部22Cは、第1撮影装置11の水平方向の画角の中心から異常個所32までの水平方向の距離Lxを下記(3)式により演算する。
Lx=(x×px)÷Wx …(3)
なお、(3)式のxは、下記(4)式で表される。
x=2Ly×tan(Vx/2) …(4)
位置演算部22Cは、第1撮影装置11から異常個所32までの距離を、例えば、上記(1)式及び(3)式により演算する。
ステップ160において、位置演算部22Cは、第1撮影制御部21から入力された第1撮影画像の撮影時の検査装置10の位置と、ステップ158で演算した異常個所32までの距離Lに基づき、異常個所32のパイプ30内における位置を演算する。また、位置演算部22Cは、演算した異常個所32の位置をメモリ等に記憶させる。
ステップ160の処理を終了するとステップ152に戻り、ステップ152の判定が否定される迄、ステップ152〜ステップ160を繰り返す。これにより、メモリ等には、位置演算部22Cにより、個々の異常個所32の位置情報が、例えば図13に示すようなリスト62として記憶される。そして、ステップ152の判定が否定されると、位置演算部22Cは、メモリ等に記憶されている異常個所32の位置情報のリスト62を駆動制御部24及び表示制御部26へ出力し、異常個所検出処理を終了する。
異常個所検出処理を終了すると、異常検査処理のステップ104へ移行する。ステップ104において、表示制御部26は、第1撮影制御部21から入力された第1撮影画像上に、異常個所32を示す領域32Aを示すマーク38と、検査装置10からの等距離線39とを重畳した表示画像37の画像データを生成する。そして表示制御部26は、生成した表示画像37の画像データを通信制御部27へ出力する。
表示画像37の一例を図14に示す。図14において、マーク38は、検出部22で検出された異常個所32を示す領域32Aを示しており、複数の等距離線39は検査装置10からの奥行き方向の距離が等しい位置を示している。等距離線39の表示位置は、先の(1)式及び(2)式において、距離Lyとして、等距離線39を表示する検査装置10からの距離を代入し、画像中心からの画素数pyとして求めればよい。また、図14の例では、各等距離線39が示す位置までの検査装置10からの距離及び検出された異常個所32の位置を示す数値も合わせて表示している。異常個所32の位置として、奥行き方向の位置は、検査装置10からの距離で表しており、水平方向の位置は、画像中心からの距離で表している。なお、表示している距離は、画像中心に対して左側(図14の表示画像37では下側)の符号を正で、右側(図14の表示画像37では上側)の符号を負にしている。
通信制御部27は、表示制御部26から表示画像37の画像データが入力されると、入力された表示画像37の画像データを通信I/F46を介して、外部の情報処理装置に送信する。これにより、情報処理装置の表示装置に、例えば図14に示すような表示画像37が表示され、パイプ30内で検出された異常個所32の画像をリアルタイムで確認することも可能となる。
ステップ106において、駆動制御部24は、検査装置10がパイプ30内で前進するように駆動部14を制御する処理を開始する。ステップ108において、駆動制御部24は、第1撮影装置11が第1撮影画像を撮影してからの検査装置10の移動距離が所定距離に達したか否かに基づいて、第1撮影装置11が次に第1撮影画像を撮影する位置に検査装置10が到達したか否か判定する。
ステップ108の判定が否定された場合はステップ112へ移行する。ステップ112において、駆動制御部24は、検出部22から入力された異常個所32の位置情報に基づいて、第2撮影装置16が異常個所32を撮影する位置(第2撮影装置16の撮影範囲内に異常個所32が入る位置)に検査装置10が到達したか否か判定する。
ステップ112の判定が否定された場合はステップ122へ移行する。ステップ122において、駆動制御部24は、検査装置10がパイプ30の終端に到達したか否かを判定する。この判定は、例えば、検査装置10の移動距離とパイプ30の全長距離とを比較したり、パイプ30の終端に設けられた標識を、検査装置10に設けたセンサ(図示省略)で検出したりすることで行うことができる。
ステップ122の判定も否定された場合はステップ108に戻り、ステップ108,112,122の何れかの判定が肯定される迄、ステップ108,112,122が繰り返され、この間、検査装置10がパイプ30内を前進することが継続される。
ステップ108の判定が肯定された場合はステップ110へ移行し、ステップ110において、駆動制御部24は、駆動部14による検査装置10の移動を停止させ、ステップ100に戻る。従って、第1撮影装置11による第1撮影画像の撮影は、検査装置10が所定距離を移動する度に行われる。
また、ステップ112の判定が肯定された場合はステップ114へ移行し、ステップ114において、駆動制御部24は、駆動部14による検査装置10の移動を停止させる。
このとき、検査装置10は、例として図15に示すように、異常個所32のおよそ真上に第2撮影装置16が位置する位置で停止される。
次のステップ116において、第2撮影制御部25は、第2照明装置17により第2撮影装置16の撮影範囲を照明させ、第2撮影装置16による撮影を実行させ、撮影された第2撮影画像を第2撮影装置16から取得する。
図16に、パイプ30内の異常個所32を第2撮影装置16で撮影することで得られる第2撮影画像36の一例を示す。また、図16の上段右図の3D表示及び図16下段の高さ(深さ)のプロファイル(第2撮影画像36内のX方向及びY方向の各位置における高さ(深さ)のプロファイル)の図は、第2撮影画像36の各画素が保持する距離の情報をグラフ化したものである。また、比較例として、異常個所32が検出されていない個所を第2撮影装置16で撮影した第2撮影画像36、距離情報の3D表示及び高さプロファイルの一例を図17に示す。
次に、ステップ118で、第2撮影制御部25は、第2撮影装置16から取得した第2撮影画像36の画像データを通信制御部27へ出力する。そして、通信制御部27は、第2撮影制御部25から入力された第2撮影画像36の画像データを、通信I/F46を介して外部の情報処理装置に送信する。これにより、外部の情報処理装置の表示装置に、図16に示すような異常個所の高さ(深さ)のプロファイルや3D表示を表示することが可能となる。
次のステップ120において、駆動制御部24は、検査装置10がパイプ30内で前進するように駆動部14を制御する処理を再開し、ステップ122へ移行する。これにより、ステップ108,112,122のループに戻り、この間、検査装置10がパイプ30内を前進することが継続される。
また、ステップ122の判定が肯定された場合はステップ124へ移行し、ステップ124において、駆動制御部24は、パイプ30内への進入口まで検査装置10が後進するように駆動部14を制御する。そして、検査装置10がパイプ30内への進入口まで戻ると異常検査処理を終了する。
上述したように、本実施形態では、特定部22Aが、第1撮影画像に含まれる点のうち、第1の距離L1以上離れた他の複数の点との輝度の比較により暗部である点を特定する。また、検出部22Bが、特定部22Aによって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所32として検出する。これにより、照明条件等に起因する閉鎖空間内の異常個所32の検出精度の低下を抑制することができる。
また、本実施形態では、第1撮影画像としてグレースケール画像を適用している。これにより、撮影対象物の錆や汚れの影響で異常個所32の検出精度が低下することも抑制することができる。
また、本実施形態では、特定部22Aが、対象の点の輝度が第1の閾値th1以下で、かつ、対象の点から第1の距離L1以上離れた他の複数の点のうち、対象の点よりも輝度が高い点の数Cntが第2の閾値th2以上である点を暗部と特定する。これにより、例えば、処理対象の画素と個々の暗部評価用画素との輝度差を積算する等の処理と比較して、簡易な処理で異常個所32の検出精度の低下を抑制することができる。
また、本実施形態では、検出部22Bが、特定部22Aによって暗部と特定された複数の点を含む領域のうち、間隙が所定の第2の距離L2以下の領域同士を連結した後に、異常個所32を検出する。間隙が所定の第2の距離L2以下の領域は、実際は同一の異常個所32に対応する領域である可能性が高く、これらを連結することで異常個所32の検出精度が向上する。また、間隙が所定の第2の距離L2以下の領域に対して別々に位置を演算する場合と比較して、処理負荷も低減することができる。
また、本実施形態では、位置演算部22Cが、検出部22Bによって検出された異常個所32の第1撮影画像上での位置及び第1撮影画像の撮影条件に基づいて異常個所32の位置を演算する。これにより、異常個所32のおよそ真上に第2撮影装置16が位置している状態で、第2撮影装置16による撮影を行うことが可能になる。
なお、上記では、本発明における「撮影画像に含まれる点」の一例として、第1撮影画像の1個の画素を適用した態様を説明したが、これに限定されるものではなく、上記の「点」は2個以上の画素を含む領域であってもよい。
また、上記では、暗部評価用画素の一例として、処理対象の画素を中心とする正方形の外縁に位置している画素を用いる態様を説明したが、これに限定されるものではなく、例えば正方形に代えて円等の他の図形を適用してもよい。また、第1撮影画像上での処理対象画素からの距離が第1の距離L1以上であれば、例えば同心円の各円の外縁上の画素等のように、距離が所定値以上異なる複数群の画素を暗部評価用画素に含めてもよい。
また、上記では輝度が処理対象の画素よりも高い暗部評価用画素の数Cntを第2の閾値th2と比較して暗部画素を特定していたが、これに限定されるものではない。暗部評価用画素の総数に占める輝度が処理対象の画素よりも高い暗部評価用画素の割合を、対応する閾値と比較することで暗部画素を特定してもよい。本発明には、例えば処理対象の画素の輝度に応じて暗部評価用画素の総数を変化させることも含まれ、特にこのような態様では、上記の割合を用いることが好ましい。
また、上記では、異常個所の検出及び位置の演算と並行して異常個所の検査も行う態様を説明した。しかし、これに限定されるものではなく、検査装置10を前進させながら異常個所32の検出及び位置の演算を行った後で、検査装置10を後進させながら異常個所32の検査を行う処理シーケンスとしてもよい。この場合、位置演算部22Cは、異常個所32の検出終了の段階で、異常個所32の位置情報と、予め用意されたパイプ30の形状データとに基づいて、例えば、図18に示すような、異常個所32の位置を示すマップを作成し、駆動制御部24へ出力してもよい。
更に、通信制御部27は、第1撮影制御部21から取得した第1撮影画像及び検出部22が演算した異常個所の位置情報を外部の情報処理装置へ送信し、情報処理装置において、表示画像37の画像データを生成して表示装置に表示する処理を行ってもよい。この場合、表示制御部26を省略することが可能になる。
また、異常個所32の検出及び検査の作業中には、外部の情報処理装置への画像データ等の送信を行わず、画像データ等を検査装置10に挿入されたメモリカード等に記憶しておいてもよい。この場合、パイプ30の終端まで検査が終了した際に、メモリカードを取り出して、記憶しておいたデータを読み出すことになるので、通信制御部27を省略することが可能になる。
また、上記では、第2撮影装置として合焦法による測距を行う3Dカメラを用いて異常個所32のプロファイルを得る場合について説明したが、これに限定されない。例えば、第2撮影装置として、ステレオカメラを用いてもよい。この場合も、各画素がその画素に対応する位置までの距離の情報を含む画像が第2撮影装置により得られる。また、第2撮影装置に替えて、レーザレーダなどの測距装置を用いて、異常個所のプロファイルを得るようにしてもよい。
更に、上記では、パイプ内の腐食による侵食個所を異常個所として検出する場合を例に説明したが、これに限定されない。例えば、ひび割れや亀裂などを異常個所として検出するようにしてもよい。これらの場合、異常個所は撮影装置の下面に生じるとは限らない。また、パイプ内の腐食による侵食を異常個所として検出する場合であっても、検査対象のパイプを流通する物質の種類によっては、侵食個所は撮影装置の下面に限らない可能性がある。そこで、第1撮影装置及び第2撮影装置の各々による撮影範囲が、パイプ内の全周をカバーできるように、複数の第1撮影装置及び複数の第2撮影装置を設けたり、第1撮影装置及び第2撮影装置の各々を可動式としたりしてもよい。
また、上記ではパイプ内の全長に亘って異常個所の検出及び検査を行う態様を説明したが、これに限定されるものでもなく、予め指定された範囲、例えば腐食による侵食などが生じ易いパイプの屈曲部などを異常個所の検出及び検査の対象としてもよい。
また、上記では、撮影対象物をパイプ内部とする場合について説明したが、本発明は、撮影装置が移動可能な空間であれば、パイプに限らず、例えばタンクなどの他の閉鎖空間を撮影対象物とする場合にも適用可能である。
更に、上記では、異常検査プログラム50が記憶部43に予め記憶(インストール)されている態様を説明したが、CD−ROMやDVD−ROM等の記憶媒体に記録された形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
撮影画像に含まれる点のうち、第1の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定する特定部と、
前記特定部によって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する検出部と、
を含む検出装置。
(付記2)
前記撮影画像はグレースケール画像である付記1に記載の検出装置。
(付記3)
前記特定部は、前記第1の距離以上離れ、かつ所定の範囲内の他の複数の点との輝度の比較により暗部である前記点を特定する付記1に記載の検出装置。
(付記4)
前記特定部は、対象の点の輝度が第1の閾値以下で、かつ、前記第1の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第2の閾値以上である場合に、前記対象の点を暗部と特定する付記1又は付記2に記載の検出装置。
(付記5)
前記検出部は、前記特定部によって暗部と特定された複数の点を含む領域のうち間隙が所定の第2の距離以下の領域同士を連結し、前記異常個所を検出する付記1乃至付記4の何れか1項に記載の検出装置。
(付記6)
前記検出部によって検出された前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記異常個所の位置を演算する位置演算部を更に含む付記1乃至付記5の何れか1項に記載の検出装置。
(付記7)
前記位置演算部は、前記検出部によって検出された前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記撮影画像を撮影した撮影部と前記異常個所の距離を演算し、演算した前記距離に基づいて前記異常個所の位置を演算する付記6に記載の検出装置。
(付記8)
撮影画像に含まれる点のうち、第1の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータが実行する検出方法。
(付記9)
撮影画像に含まれる点のうち、第1の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータに実行させる検出プログラム。
(付記10)
前記撮影画像はグレースケール画像である付記8に記載の検出方法、又は付記9に記載の検出プログラム。
(付記11)
前記第1の距離以上離れ、かつ所定の範囲内の他の複数の点との輝度の比較により暗部である前記点を特定する付記8に記載の検出方法、又は、付記9に記載の検出プログラム。
(付記12)
対象の点の輝度が第1の閾値以下で、かつ、前記第1の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第2の閾値以上である場合に、前記対象の点を暗部と特定する付記8又は付記10に記載の検出方法、又は、付記9又は付記10に記載の検出プログラム。
(付記13)
暗部と特定した複数の点を含む領域のうち間隙が所定の第2の距離以下の領域同士を連結し、前記異常個所を検出する付記8、付記10及び付記12の何れか1項に記載の検出方法、又は、付記9乃至付記12の何れか1項に記載の検出プログラム。
(付記14)
検出した前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記異常個所の位置を演算する付記8、付記10乃至付記13の何れか1項に記載の検出方法、又は、付記9乃至付記13の何れか1項に記載の検出プログラム。
(付記15)
検出した前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記撮影画像を撮影した撮影部と前記異常個所の距離を演算し、演算した前記距離に基づいて前記異常個所の位置を演算する付記14に記載の検出方法又は検出プログラム。