(57)【特許請求の範囲】
【請求項１】
撮影画像に含まれる点のうち、対象の点の輝度が第１の閾値以下で、かつ、第１の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第２の閾値以上である場合に、前記対象の点を暗部と特定する特定部と、
前記特定部によって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する検出部と、
を含む検出装置。
【請求項２】
前記撮影画像はグレースケール画像である請求項１に記載の検出装置。
【請求項３】
前記検出部は、前記特定部によって暗部と特定された複数の点を含む領域のうち間隙が所定の第２の距離以下の領域同士を連結し、前記異常個所を検出する請求項１または請求項２に記載の検出装置。
【請求項４】
前記検出部によって検出された前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記異常個所の位置を演算する位置演算部を更に含む請求項１〜請求項３の何れか１項に記載の検出装置。
【請求項５】
撮影画像に含まれる点のうち、対象の点の輝度が第１の閾値以下で、かつ、第１の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第２の閾値以上である場合に、前記対象の点を暗部と特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータが実行する検出方法。
【請求項６】
撮影画像に含まれる点のうち、対象の点の輝度が第１の閾値以下で、かつ、第１の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第２の閾値以上である場合に、前記対象の点を暗部と特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータに実行させる検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検出装置、検出方法及び検出プログラムに関する。
【背景技術】
【０００２】
２個所から配管にＸ線を照射し、カメラで撮影して画面に各々表示し、２画面から基準点と腐食の同位置をプロットすることで、Ｘ線源から配管の腐食位置までの距離を算出する第１の技術が提案されている。
【０００３】
また、水分による金属の腐食状態を測定するにあたり、腐食領域やむらの像を含む入力画像に対して以下の画像処理を行う第２の技術も提案されている。すなわち、入力画像を微分して二値化することで輪郭点を抽出した後、微分画像中の輪郭点同士を連結し、輪郭点の接続により生成された閉曲線の領域を腐食領域として抽出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４５１４号公報
【特許文献２】特開２００５−１８１３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パイプやタンクの内部のような閉鎖された空間において、腐食等の異常個所の有無や、異常個所が有る場合の規模などを、非破壊で検出したいというニーズがある。第１の技術はこのニーズを満たす技術ではあるが、Ｘ線を用いるため防護設備が必要となり、また閉鎖空間の外部から検出するため、異常個所と検出器との距離が大きくなることで検出精度が低下する。
【０００６】
また、閉鎖空間内に撮影装置を挿入し、撮影装置で撮影された画像に対して第２の技術を適用して異常個所を検出することも考えられる。しかし、閉鎖空間内に挿入可能な機器にはサイズ等の制約があり、撮影装置による撮影範囲内の照明条件等を均一にすることは困難であるので、第２の技術を適用しても異常個所の検出精度は不十分である。
【０００７】
一つの側面として、本発明は、異常個所の検出精度の低下を抑制することが目的である。
【課題を解決するための手段】
【０００８】
一つの実施態様では、特定部は、撮影画像に含まれる点のうち、第１の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定する。そして、検出部は、前記特定部によって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する。
【発明の効果】
【０００９】
一つの側面として、異常個所の検出精度の低下を抑制できる、という効果を有する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る検査装置の概略図である。
【図２】制御部の機能ブロック図である。
【図３】検査装置の制御部として機能するコンピュータの概略構成を示すブロック図である。
【図４】異常検査処理の一例を示すフローチャートである。
【図５】異常個所検出処理の一例を示すフローチャートである。
【図６】暗部評価用画素の配置の一例を示す概念図である。
【図７】第１撮影画像及びバイナリ画像の一例を各々示すイメージ図である。
【図８】膨張／収縮処理を経たバイナリ画像の一例を示すイメージ図である。
【図９】バイナリ画像から抽出された暗部領域の一例を示すイメージ図である。
【図１０】検出部によるパイプ内の異常個所の検出結果の一例を示す図である。
【図１１】撮影装置から異常個所までの距離の算出を説明するための図である。
【図１２】撮影装置から異常個所までの距離の算出を説明するための図である。
【図１３】異常個所の位置を示すリストの一例を示す図である。
【図１４】表示画像の一例を示す図である。
【図１５】第２撮影装置による撮影を説明するための図である。
【図１６】第２撮影装置により撮影された撮影画像及び撮影画像の各画素が保持する距離の情報をグラフ化した一例を示す図である。
【図１７】比較例として、異常個所以外の箇所の撮影画像及び撮影画像の各画素が保持する距離の情報をグラフ化した一例を示す図である。
【図１８】異常個所の位置を示すマップの一例を示す概略図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。なお、以下では本発明を、パイプ内の異常個所の検出及び検査に適用した態様を説明する。
【００１２】
本実施形態に係る検査装置１０は、図１に示すように、パイプ３０内を移動しながら、腐食による侵食などのパイプ３０の内壁の異常個所３２を検出し、検出した異常個所３２の深さを計測するなどの検査を行う。検査装置１０は、第１撮影装置１１と、第１照明装置１２と、駆動部１４と、第２撮影装置１６と、第２照明装置１７と、制御部２０とを含む。
【００１３】
第１撮影装置１１は、撮影対象物であるパイプ３０の内壁のうち、検査装置１０の位置を基準とする所定範囲をモノクロのグレースケール画像(以下、第１撮影画像という)として撮影する。一例として本実施形態では、第１撮影装置１１は、パイプ３０の内壁のうちの底部側をパイプ３０の終端まで撮影可能なように、検査装置１０の進行方向の前側に、進行方向前方の斜め下方向を撮影範囲とする向きで取り付けられている。
【００１４】
第１照明装置１２は、第１撮影装置１１の撮影範囲を照明するように、例えば、検査装置１０の進行方向の前側に取り付けられている。第１照明装置１２による照明及び第１撮影装置１１による撮影の波長域は、例えば可視光域や赤外域であるが、異常個所３２を検出可能であれば、それ以外の波長域であってもよい。
【００１５】
駆動部１４は、検査装置１０全体を移動させる移動機構である。駆動部１４は、例えば、モータ等の駆動源と、車輪やキャタピラ等の回転機構と、を含み、駆動源の駆動力により回転機構を回転駆動することで、検査装置１０を前後左右の各方向に移動させる。
【００１６】
第２撮影装置１６は、合焦法により対象物との距離を計測する３−dimensional(３Ｄ)カメラである。合焦法は、焦点位置を互いに相違させた複数の状態で画像を撮影し、撮影画像の各画素毎に合焦画像を選択し、合焦画像の撮影時の焦点位置から、各画素に対応する撮影範囲における対象物との距離を計測するものである。第２撮影装置１６は、例えば、検査装置１０の直下の所定範囲を撮影とするように、検査装置１０の底面に取り付けられている。
【００１７】
第２照明装置１７は、第２撮影装置１６の撮影範囲を照明するように、例えば、検査装置１０の底面に取り付けられている。第２照明装置１７による照明及び第２撮影装置１６による撮影の波長域は、例えば可視光域であるが、対象物との距離を計測可能であれば、それ以外の波長域であってもよい。
【００１８】
なお、第１撮影装置１１、第１照明装置１２、第２撮影装置１６及び第２照明装置１７の各々の取付位置は、図１に示した位置に限られるものではなく、撮影範囲や検査装置１０の形態等に応じて適宜変更してもよい。
【００１９】
制御部２０は、検査装置１０全体の制御を行う。図２に示すように、制御部２０は、第１撮影制御部２１、検出部２２、駆動制御部２４、第２撮影制御部２５、表示制御部２６及び通信制御部２７を含む。また、検出部２２は、特定部２２Ａ、検出部２２Ｂ及び位置演算部２２Ｃを含む。
【００２０】
第１撮影制御部２１は、第１照明装置１２による照明及び第１撮影装置１１による撮影を制御する。詳しくは、第１撮影制御部２１は、第１撮影装置１１の撮影範囲が照明されるように第１照明装置１２を制御すると共に、第１撮影装置１１による撮影を実行させ、撮影された第１撮影画像を第１撮影装置１１から取得する。第１撮影制御部２１は、取得した第１撮影画像を、第１撮影画像が撮影された際の検査装置１０の位置情報と共に、検出部２２へ出力する。詳細は後述するが、検査装置１０の位置情報は、駆動制御部２４から第１撮影制御部２１へ入力される。また、第１撮影制御部２１は、第１撮影画像を表示制御部２６へも出力する。
【００２１】
検出部２２は、第１撮影制御部２１から入力された第１撮影画像に基づいて、パイプ３０の内壁の異常個所３２を検出し、検出した異常個所３２の位置情報を駆動制御部２４及び表示制御部２６へ出力する。
【００２２】
詳しくは、特定部２２Ａは、第１撮影画像に含まれる点のうち、第１撮影画像上で第１の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定する。検出部２２Ｂは、特定部２２Ａによって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、異常個所３２として検出する。位置演算部２２Ｃは、検出部２２Ｂによって検出された異常個所３２の第１撮影画像上での位置及び第１撮影画像の撮影条件に基づいて、第１撮影装置１１と異常個所３２との距離を演算し、異常個所３２の位置を演算する。
【００２３】
なお、検出部２２は本発明に係る検出装置の一例である。検出部２２の特定部２２Ａ、検出部２２Ｂ及び位置演算部２２Ｃによる処理の詳細は後述する。
【００２４】
駆動制御部２４は、第１撮影装置１１による撮影及び検出部２２による異常個所３２の検出がパイプ３０の全長に亘って行われるように、駆動部１４を制御して検査装置１０を移動させる。詳しくは、駆動制御部２４は、第１撮影装置１１による撮影範囲が、パイプ３０内の基準位置(例えば検査装置１０の進入口付近の位置)に設定した基準位置からパイプ３０の奥側(終端)へ順次移動するように、検査装置１０をパイプ３０内で移動させる。また、駆動制御部２４は、センサによって検出されたモータの回転軸や車輪の回転量などに基づいて、基準位置からの検査装置１０の移動距離を算出し、パイプ３０内における検査装置１０の位置情報として、第１撮影制御部２１へ出力する。
【００２５】
また、駆動制御部２４は、異常個所３２の位置情報が検出部２２から入力されると、入力された異常個所３２の位置情報に基づいて、異常個所３２が第２撮影装置１６の撮影範囲内に位置するように、駆動部１４を制御して検査装置１０を移動させる。なお、駆動制御部２４は、位置情報が入力された複数の異常個所３２が所定距離以内に近接して存在している場合は、それらの複数の異常個所３２が第２撮影装置１６の撮影範囲内に各々位置するように検査装置１０を移動させる。
【００２６】
詳しくは、駆動制御部２４は、検査装置１０がパイプ３０内の基準位置に位置している状態からの移動距離が、入力された異常個所３２の位置情報に対応する移動距離に一致するように、検査装置１０を移動させる。なお、駆動制御部２４は、異常個所３２の検出が終了した位置(例えばパイプ３０内の終端位置)から、検査装置１０を後進させて異常個所３２の位置まで移動させてもよい。駆動制御部２４は、異常個所３２が第２撮影装置１６の撮影範囲内に位置する位置迄検査装置１０を移動させると、検査装置１０の移動が完了したことを第２撮影制御部２５に通知する。
【００２７】
なお、第２撮影装置１６として合焦法による３Ｄカメラを適用する場合、一例として図１５に示すように、異常個所３２の真上に第２撮影装置１６が位置するように検査装置１０を移動させることが好ましい。これは、異常個所３２の真上から撮影を行うことで、３Ｄカメラにより異常個所３２の深さの計測精度が向上するためである。
【００２８】
第２撮影制御部２５は、第２撮影装置１６による撮影及び第２照明装置１７による照明を制御する。詳しくは、第２撮影制御部２５は、検査装置１０の移動完了が通知されると、第２撮影装置１６の撮影範囲が照明されるように第２照明装置１７を制御すると共に、第２撮影装置１６による撮影を実行させ、撮影された第２撮影画像を第２撮影装置１６から取得する。第２撮影画像の各画素は、第２撮影装置１６からその画素に対応する撮影範囲における対象物までの距離を表す情報を含む。第２撮影制御部２５は、第２撮影装置１６から取得した第２撮影画像を通信制御部２７へ出力する。
【００２９】
表示制御部２６は、パイプ３０の外に位置している情報処理装置の表示装置に表示するための表示画像の画像データを生成する。情報処理装置は、通信機能及び表示装置を備えており、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等を適用できる。
【００３０】
通信制御部２７は、表示制御部２６から入力された表示画像の画像データ及び第２撮影装置１６から取得した第２撮影画像３６を、パイプ３０の外に位置している情報処理装置へ無線通信により送信するように制御する。
【００３１】
検査装置１０の制御部２０は、例えば図３に示すコンピュータ４０で実現することができる。コンピュータ４０はCentral Processing Unit(ＣＰＵ)４１、一時記憶領域としてのメモリ４２及び不揮発性の記憶部４３を備える。また、コンピュータ４０は、第１撮影装置１１、第１照明装置１２、駆動部１４、第２撮影装置１６、第２照明装置１７と接続される入出力インターフェイス(Ｉ／Ｆ)４４を備える。また、コンピュータ４０は、メモリカード等の記録媒体４９に対するデータの読み込み及び書き込みを制御するread/write(Ｒ／Ｗ)部４５、及び、Ｗｉ−Ｆｉ(登録商標)などの無線通信を行う通信Ｉ／Ｆ４６を備える。ＣＰＵ４１、メモリ４２、記憶部４３、入出力Ｉ／Ｆ４４、Ｒ／Ｗ部４５及び通信Ｉ／Ｆ４６は、バス４７を介して互いに接続される。
【００３２】
記憶部４３はHard Disk Drive(ＨＤＤ)、Solid State Drive(ＳＳＤ)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部４３には、コンピュータ４０を制御部２０として機能させるための異常検査プログラム５０が記憶されている。異常検査プログラム５０は、第１撮影制御プロセス５１、検出プロセス５２、駆動制御プロセス５４、第２撮影制御プロセス５５、表示制御プロセス５６及び通信制御プロセス５７を含む。また、検出プロセス５２は、特定プロセス５２Ａ、検出プロセス５２Ｂ及び位置演算プロセス５２Ｃを含む
【００３３】
ＣＰＵ４１は、異常検査プログラム５０を記憶部４３から読み出してメモリ４２に展開し、異常検査プログラム５０が有するプロセスを順次実行する。ＣＰＵ４１は、第１撮影制御プロセス５１を実行することで、図２に示す第１撮影制御部２１として動作する。また、ＣＰＵ４１は、検出プロセス５２を実行することで、図２に示す検出部２２として動作する。より詳しくは、ＣＰＵ４１は、特定プロセス５２Ａを実行することで、図２に示す特定部２２Ａとして動作する。またＣＰＵ４１は、検出プロセス５２Ｂを実行することで、図２に示す検出部２２Ｂとして動作する。またＣＰＵ４１は、位置演算プロセス５２Ｃを実行することで、図２に示す位置演算部２２Ｃとして動作する。また、ＣＰＵ４１は、駆動制御プロセス５４を実行することで、図２に示す駆動制御部２４として動作する。また、ＣＰＵ４１は、第２撮影制御プロセス５５を実行することで、図２に示す第２撮影制御部２５として動作する。また、ＣＰＵ４１は、表示制御プロセス５６を実行することで、図２に示す表示制御部２６として動作する。また、ＣＰＵ４１は、通信制御プロセス５７を実行することで、図２に示す通信制御部２７として動作する。これにより、異常検査プログラム５０を実行したコンピュータ４０が、検査装置１０の制御部２０として機能することになる。異常検査プログラム５０は本発明に係る検査プログラムの一例である。
【００３４】
なお、異常検査プログラム５０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ＡＳＩＣ)等で実現することも可能である。
【００３５】
次に、本実施形態の作用を説明する。パイプ３０内への検査装置１０の進入口付近に設定した基準位置に検査装置１０が配置され、検査装置１０に対して異常検査処理の実行を指示する情報が入力されると、制御部２０において、図４に示す異常検査処理が実行される。
【００３６】
異常検査処理のステップ１００において、第１撮影制御部２１は、第１照明装置１２により第１撮影装置１１の撮影範囲を照明させ、第１撮影装置１１による撮影を実行させ、撮影された第１撮影画像を第１撮影装置１１から取得する。第１撮影制御部２１は、取得した第１撮影画像を、第１撮影画像が撮影された際の検査装置１０の位置情報と共に、検出部２２へ出力する。また、第１撮影制御部２１は、第１撮影画像を表示制御部２６へも出力する。
【００３７】
ステップ１０２において、検出部２２は、異常個所検出処理を行う。以下、図５を参照し、異常個所検出処理を説明する。
【００３８】
異常個所検出処理のステップ１３０において、検出部２２の特定部２２Ａは、第１撮影制御部２１から入力された第１撮影画像に含まれる画素の中から、処理対象の画素を１個選択する。ステップ１３２において、特定部２２Ａは、ステップ１３０で選択した処理対象の画素の輝度が、予め設定された第１の閾値th1以下か否か判定する。パイプ３０内に異常個所３２が存在している場合、当該異常個所３２は、第１撮影画像上で輝度が比較的低い領域として現れる。ステップ１３２の判定が否定された場合、処理対象の画素は異常個所３２に対応する画素ではないと判断できるので、ステップ１４０へ移行する。
【００３９】
一方、ステップ１３２の判定が肯定された場合はステップ１３４へ移行し、ステップ１３４において、特定部２２Ａは、まず、処理対象画素から第１撮影画像上で第１の距離Ｌ1以上離れた所定数(少なくとも２個以上)の暗部評価用画素を第１撮影画像から抽出する。
【００４０】
一例として図６には、処理対象画素を"Ａ"の表記で示すと共に、暗部評価用画素の一例を"ｐ1"〜"ｐ16"の表記で示す。図６の例では、１６個の暗部評価用画素のうち、４個の暗部評価用画素ｐ3,ｐ8,ｐ9,ｐ14は処理対象の画素との距離が第１の距離Ｌ1に等しいが、その他の暗部評価用画素は処理対象の画素との距離が第１の距離Ｌ1よりも大きい。なお、抽出する暗部評価用画素の数は１６個に限られるものではない。
【００４１】
第１の距離Ｌ1は、一例として、異常個所３２として想定される最大サイズを第１撮影画像上での画素数に換算した値よりも大きい値とすることができる。これにより、処理対象の画素が異常個所３２に対応する画素であったとすると、抽出した暗部評価用画素は、少なくとも処理対象の画素と同一の異常個所３２に対応する画素ではない、とみなすことができる。なお、処理対象の画素と暗部評価用画素との距離に最大値を定め、処理対象の画素と暗部評価用画素との距離を、第１の距離Ｌ1以上で、かつ所定の範囲内としてもよい。処理対象の画素と暗部評価用画素とが離れ過ぎている場合にも、暗部である点を特定する処理の精度が低下する可能性があるためである。そして特定部２２Ａは、抽出した個々の暗部評価用画素毎に処理対象画素と輝度を比較し、輝度が処理対象画素よりも高い暗部評価用画素の数Ｃntを計数する。
【００４２】
次のステップ１３６において、特定部２２Ａは、輝度が処理対象画素よりも高い暗部評価用画素の数Ｃntが、予め設定した第２の閾値th2以上か否か判定する。検査装置１０はパイプ３０内を移動可能である必要があるのでサイズ等の制約があり、第１照明装置１２についても、サイズ等の制約により、第１撮影装置１１の撮影範囲を均一に照明するように構成することは困難である。
【００４３】
このため、本実施形態では、輝度が処理対象画素よりも高い暗部評価用画素の数Ｃntを計数し、暗部評価用画素の数Ｃntを第２の閾値th2と比較している。これにより、例えば処理対象の画素が異常個所３２に対応する画素である場合、抽出した暗部評価用画素の中に、照明の不均一性に起因して低輝度の画素が混在していたとしても、この画素が及ぼす影響が小さくなり、暗部評価用画素の数Ｃntは閾値th2以上になる。また、例えば処理対象の画素が異常個所３２に対応する画素でない場合、抽出した暗部評価用画素の中に、照明の不均一性に起因して高輝度の画素が混在していたとしても、この画素が及ぼす影響が小さくなり、暗部評価用画素の数Ｃntは第２の閾値th2未満になる。
【００４４】
このように、ステップ１３６の判定が否定された場合、処理対象の画素が異常個所３２に対応する画素でないと判断できるので、ステップ１４０へ移行する。また、ステップ１３６の判定が肯定された場合は、処理対象の画素が異常個所３２に対応する画素と判断できるので、ステップ１３８へ移行し、ステップ１３８において、特定部２２Ａは、処理対象の画素を暗部画素としてメモリ等に記憶させる。
【００４５】
ステップ１４０において、特定部２２Ａは、第１撮影画像の全ての画素を処理対象として処理を行ったか否か判定する。ステップ１４０の判定が否定された場合はステップ１３０に戻り、ステップ１４０の判定が肯定される迄、ステップ１３０〜ステップ１４０を繰り返す。これにより、第１撮影画像の全ての画素について暗部画素か否かが特定され、特定された結果がメモリ等に情報として記憶される。
【００４６】
ステップ１４０の判定が肯定されるとステップ１４２へ移行する。ステップ１４２において、検出部２２Ｂは、特定部２２Ａによってメモリ等に記憶された暗部画素の情報に基づいて、第１撮影画像を、暗部画素とそれ以外の画素とで値を相違させたバイナリ画像へ変換する。一例として図７には、第１撮影画像３４と、この第１撮影画像３４のうち暗部画素を"1"、暗部でない画素を"0"に変換することで得られるバイナリ画像６０Ａと、を各々示す。なお、バイナリ画像は、暗部画素が"1"、暗部でない画素が"0"の画像に限られるものではなく、暗部画素が"0"、暗部でない画素が"1"の画像であってもよい。
【００４７】
ステップ１４４において、検出部２２Ｂは、ステップ１４２で得られたバイナリ画像に対し、膨張処理をＮ1回行う。この膨張により、図８に示すバイナリ画像６０Ｂを図７に示すバイナリ画像６０Ａと比較しても明らかなように、暗部画素の領域のうち間隙が所定の第２の距離Ｌ2以下の領域同士が連結される。上記の第２の距離Ｌ2は膨張処理の実行回数Ｎ1に応じて定まる。
【００４８】
次のステップ１４６において、ステップ１４２の膨張処理を経たバイナリ画像に対して収縮処理をＮ2回行う。収縮処理の実行回数Ｎ2＞Ｎ1である。これにより、ステップ１４２の膨張処理を経ても孤立している、面積が予め設定した第４の閾値th4未満の微小な暗部領域が除去される。上記の第４の閾値th4は収縮処理の実行回数Ｎ2に応じて定まる。また、ステップ１４８において、検出部２２Ｂは、ステップ１４６の収縮処理を経たバイナリ画像に対して膨張処理をＮ3回行う。
【００４９】
なお、バイナリ画像が、暗部画素が"0"、暗部でない画素が"1"の画像の場合には、ステップ１４４,１４８で収縮処理を行い、ステップ１４６で膨張処理を行えばよい。また、膨張処理／収縮処理に限られるものではなく、同様の平滑化効果が得られる他の画像処理を適用してもよい。
【００５０】
次のステップ１５０において、検出部２２Ｂは、ステップ１４８の膨張処理を経たバイナリ画像から暗部領域を抽出する。一例として図９には、図８に示すバイナリ画像６０Ｂから抽出される暗部領域を、白い円で囲んで示す。
【００５１】
ステップ１５２において、検出部２２Ｂは、次のステップ１５４以降の処理を未実行の暗部領域が有るか否か判定する。先のステップ１５０で暗部領域が抽出されなかった場合はステップ１５２の判定は否定されてステップ１６２へ移行する。そして、ステップ１６２において、位置演算部２２Ｃは、暗部領域が検出されなかったことを表す情報を駆動制御部２４及び表示制御部２６へ出力し、異常個所検出処理を終了する。一方、ステップ１５０で暗部領域が１個以上抽出された場合、ステップ１５２の判定は、抽出された暗部領域の個数と同数回肯定される。
【００５２】
ステップ１５２の判定が肯定された場合はステップ１５４へ移行し、ステップ１５４において、検出部２２Ｂは、ステップ１５４以降の処理を未実行の暗部領域の中から、処理対象の暗部領域を選択する。次のステップ１５６において、検出部２２Ｂは、ステップ１５４で選択した処理対象の暗部領域の面積が、予め設定した第３の閾値th3以下か否か判定する。第１撮影画像には、例えばパイプ３０の継ぎ目における段差などが、面積が非常に大きい暗部領域として含まれている可能性がある。ステップ１５４の判定は、このような暗部領域を異常個所３２と誤判定することを防止するために行っており、ステップ１５６の判定が否定された場合はステップ１５２へ戻る。
【００５３】
一方、本実施形態では、ステップ１５６の判定が肯定された暗部領域を、撮影対象物であるパイプ３０内における腐食による侵食等の異常個所３２を示す領域として検出している。図１０には、パイプ３０内の異常個所３２を示す領域３２Ａを検出した結果の一例を示す。ステップ１５６の判定が肯定された場合はステップ１５８へ移行する。
【００５４】
ステップ１５８において、位置演算部２２Ｃは、第１撮影画像中の暗部領域の位置(例えば領域３２Ａ内の中心座標の座標値)及び第１撮影装置１１の撮影条件に基づき、第１撮影装置１１から異常個所３２までの距離Ｌを演算する。
【００５５】
図１１に、第１撮影装置１１が第１撮影画像を撮影した際の、第１撮影装置１１と第１撮影画像と異常個所３２との側面視での位置関係を概略的に示す。図１１では、第１撮影画像を、第１撮影装置１１の撮影範囲内に仮想的に配置した仮想撮影画像面３４Ａとして示している。例えば、図１１に示すように、第１撮影装置１１が、検査装置１０の接地面から高さＨ(ｍｍ)の位置に、俯角Ｄ(°)で取り付けられており、パイプ３０の奥行き方向に対する第１撮影装置１１の画角がＶｙ(°)であるとする。また、第１撮影画像の奥行き方向の画素数をＷｙ、第１撮影画像の中心から異常個所３２を示す領域３２Ａの中心座標ｐまでの奥行き方向の画素数をｐｙとする。また、第１撮影装置１１の撮影光軸と、第１撮影装置１１と異常個所３２の位置を撮影範囲の幅方向の中心線に射影した位置３２Ｙとを結ぶ線との成す角をαとする。
【００５６】
この場合、位置演算部２２Ｃは、第１撮影装置１１から異常個所３２までの奥行き方向の距離Ｌｙを下記(１)式により演算する。
Ｌｙ＝Ｈ×(１−ｔａｎ(Ｄ)×ｔａｎα)÷(ｔａｎ(Ｄ)＋ｔａｎα)      …(１) 
なお、(１)式のｔａｎαは、下記(２)式で表される。
ｔａｎα＝ｐｙ×ｔａｎ(Ｖｙ／２)÷(Ｗｙ／２)      …(２) 
【００５７】
また、図１２に、第１撮影装置１１が第１撮影画像を撮影した際の、第１撮影装置１１と第１撮影画像と異常個所３２との平面視での位置関係を概略的に示す。図１２に示すように、第１撮影装置１１の水平方向の画角をＶｘ(°)、第１撮影画像(仮想撮影画像面３４Ａ)の水平方向の画素数をＷｘ、第１撮影画像の中心から異常個所３２を示す領域３２Ａの中心座標ｐまでの水平方向の画素数をｐｘとする。
【００５８】
位置演算部２２Ｃは、第１撮影装置１１の水平方向の画角の中心から異常個所３２までの水平方向の距離Ｌｘを下記(３)式により演算する。
Ｌｘ＝(ｘ×ｐｘ)÷Ｗｘ      …(３) 
なお、(３)式のｘは、下記(４)式で表される。
ｘ＝２Ｌｙ×ｔａｎ(Ｖｘ／２)      …(４) 
位置演算部２２Ｃは、第１撮影装置１１から異常個所３２までの距離を、例えば、上記(１)式及び(３)式により演算する。
【００５９】
ステップ１６０において、位置演算部２２Ｃは、第１撮影制御部２１から入力された第１撮影画像の撮影時の検査装置１０の位置と、ステップ１５８で演算した異常個所３２までの距離Ｌに基づき、異常個所３２のパイプ３０内における位置を演算する。また、位置演算部２２Ｃは、演算した異常個所３２の位置をメモリ等に記憶させる。
【００６０】
ステップ１６０の処理を終了するとステップ１５２に戻り、ステップ１５２の判定が否定される迄、ステップ１５２〜ステップ１６０を繰り返す。これにより、メモリ等には、位置演算部２２Ｃにより、個々の異常個所３２の位置情報が、例えば図１３に示すようなリスト６２として記憶される。そして、ステップ１５２の判定が否定されると、位置演算部２２Ｃは、メモリ等に記憶されている異常個所３２の位置情報のリスト６２を駆動制御部２４及び表示制御部２６へ出力し、異常個所検出処理を終了する。
【００６１】
異常個所検出処理を終了すると、異常検査処理のステップ１０４へ移行する。ステップ１０４において、表示制御部２６は、第１撮影制御部２１から入力された第１撮影画像上に、異常個所３２を示す領域３２Ａを示すマーク３８と、検査装置１０からの等距離線３９とを重畳した表示画像３７の画像データを生成する。そして表示制御部２６は、生成した表示画像３７の画像データを通信制御部２７へ出力する。
【００６２】
表示画像３７の一例を図１４に示す。図１４において、マーク３８は、検出部２２で検出された異常個所３２を示す領域３２Ａを示しており、複数の等距離線３９は検査装置１０からの奥行き方向の距離が等しい位置を示している。等距離線３９の表示位置は、先の(１)式及び(２)式において、距離Ｌｙとして、等距離線３９を表示する検査装置１０からの距離を代入し、画像中心からの画素数ｐｙとして求めればよい。また、図１４の例では、各等距離線３９が示す位置までの検査装置１０からの距離及び検出された異常個所３２の位置を示す数値も合わせて表示している。異常個所３２の位置として、奥行き方向の位置は、検査装置１０からの距離で表しており、水平方向の位置は、画像中心からの距離で表している。なお、表示している距離は、画像中心に対して左側(図１４の表示画像３７では下側)の符号を正で、右側(図１４の表示画像３７では上側)の符号を負にしている。
【００６３】
通信制御部２７は、表示制御部２６から表示画像３７の画像データが入力されると、入力された表示画像３７の画像データを通信Ｉ／Ｆ４６を介して、外部の情報処理装置に送信する。これにより、情報処理装置の表示装置に、例えば図１４に示すような表示画像３７が表示され、パイプ３０内で検出された異常個所３２の画像をリアルタイムで確認することも可能となる。
【００６４】
ステップ１０６において、駆動制御部２４は、検査装置１０がパイプ３０内で前進するように駆動部１４を制御する処理を開始する。ステップ１０８において、駆動制御部２４は、第１撮影装置１１が第１撮影画像を撮影してからの検査装置１０の移動距離が所定距離に達したか否かに基づいて、第１撮影装置１１が次に第１撮影画像を撮影する位置に検査装置１０が到達したか否か判定する。
【００６５】
ステップ１０８の判定が否定された場合はステップ１１２へ移行する。ステップ１１２において、駆動制御部２４は、検出部２２から入力された異常個所３２の位置情報に基づいて、第２撮影装置１６が異常個所３２を撮影する位置(第２撮影装置１６の撮影範囲内に異常個所３２が入る位置)に検査装置１０が到達したか否か判定する。
【００６６】
ステップ１１２の判定が否定された場合はステップ１２２へ移行する。ステップ１２２において、駆動制御部２４は、検査装置１０がパイプ３０の終端に到達したか否かを判定する。この判定は、例えば、検査装置１０の移動距離とパイプ３０の全長距離とを比較したり、パイプ３０の終端に設けられた標識を、検査装置１０に設けたセンサ(図示省略)で検出したりすることで行うことができる。
【００６７】
ステップ１２２の判定も否定された場合はステップ１０８に戻り、ステップ１０８,１１２,１２２の何れかの判定が肯定される迄、ステップ１０８,１１２,１２２が繰り返され、この間、検査装置１０がパイプ３０内を前進することが継続される。
【００６８】
ステップ１０８の判定が肯定された場合はステップ１１０へ移行し、ステップ１１０において、駆動制御部２４は、駆動部１４による検査装置１０の移動を停止させ、ステップ１００に戻る。従って、第１撮影装置１１による第１撮影画像の撮影は、検査装置１０が所定距離を移動する度に行われる。
【００６９】
また、ステップ１１２の判定が肯定された場合はステップ１１４へ移行し、ステップ１１４において、駆動制御部２４は、駆動部１４による検査装置１０の移動を停止させる。
【００７０】
このとき、検査装置１０は、例として図１５に示すように、異常個所３２のおよそ真上に第２撮影装置１６が位置する位置で停止される。
【００７１】
次のステップ１１６において、第２撮影制御部２５は、第２照明装置１７により第２撮影装置１６の撮影範囲を照明させ、第２撮影装置１６による撮影を実行させ、撮影された第２撮影画像を第２撮影装置１６から取得する。
【００７２】
図１６に、パイプ３０内の異常個所３２を第２撮影装置１６で撮影することで得られる第２撮影画像３６の一例を示す。また、図１６の上段右図の３Ｄ表示及び図１６下段の高さ(深さ)のプロファイル(第２撮影画像３６内のＸ方向及びＹ方向の各位置における高さ(深さ)のプロファイル)の図は、第２撮影画像３６の各画素が保持する距離の情報をグラフ化したものである。また、比較例として、異常個所３２が検出されていない個所を第２撮影装置１６で撮影した第２撮影画像３６、距離情報の３Ｄ表示及び高さプロファイルの一例を図１７に示す。
【００７３】
次に、ステップ１１８で、第２撮影制御部２５は、第２撮影装置１６から取得した第２撮影画像３６の画像データを通信制御部２７へ出力する。そして、通信制御部２７は、第２撮影制御部２５から入力された第２撮影画像３６の画像データを、通信Ｉ／Ｆ４６を介して外部の情報処理装置に送信する。これにより、外部の情報処理装置の表示装置に、図１６に示すような異常個所の高さ(深さ)のプロファイルや３Ｄ表示を表示することが可能となる。
【００７４】
次のステップ１２０において、駆動制御部２４は、検査装置１０がパイプ３０内で前進するように駆動部１４を制御する処理を再開し、ステップ１２２へ移行する。これにより、ステップ１０８,１１２,１２２のループに戻り、この間、検査装置１０がパイプ３０内を前進することが継続される。
【００７５】
また、ステップ１２２の判定が肯定された場合はステップ１２４へ移行し、ステップ１２４において、駆動制御部２４は、パイプ３０内への進入口まで検査装置１０が後進するように駆動部１４を制御する。そして、検査装置１０がパイプ３０内への進入口まで戻ると異常検査処理を終了する。
【００７６】
上述したように、本実施形態では、特定部２２Ａが、第１撮影画像に含まれる点のうち、第１の距離Ｌ1以上離れた他の複数の点との輝度の比較により暗部である点を特定する。また、検出部２２Ｂが、特定部２２Ａによって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所３２として検出する。これにより、照明条件等に起因する閉鎖空間内の異常個所３２の検出精度の低下を抑制することができる。
【００７７】
また、本実施形態では、第１撮影画像としてグレースケール画像を適用している。これにより、撮影対象物の錆や汚れの影響で異常個所３２の検出精度が低下することも抑制することができる。
【００７８】
また、本実施形態では、特定部２２Ａが、対象の点の輝度が第１の閾値th1以下で、かつ、対象の点から第１の距離Ｌ1以上離れた他の複数の点のうち、対象の点よりも輝度が高い点の数Ｃntが第２の閾値th2以上である点を暗部と特定する。これにより、例えば、処理対象の画素と個々の暗部評価用画素との輝度差を積算する等の処理と比較して、簡易な処理で異常個所３２の検出精度の低下を抑制することができる。
【００７９】
また、本実施形態では、検出部２２Ｂが、特定部２２Ａによって暗部と特定された複数の点を含む領域のうち、間隙が所定の第２の距離Ｌ2以下の領域同士を連結した後に、異常個所３２を検出する。間隙が所定の第２の距離Ｌ2以下の領域は、実際は同一の異常個所３２に対応する領域である可能性が高く、これらを連結することで異常個所３２の検出精度が向上する。また、間隙が所定の第２の距離Ｌ2以下の領域に対して別々に位置を演算する場合と比較して、処理負荷も低減することができる。
【００８０】
また、本実施形態では、位置演算部２２Ｃが、検出部２２Ｂによって検出された異常個所３２の第１撮影画像上での位置及び第１撮影画像の撮影条件に基づいて異常個所３２の位置を演算する。これにより、異常個所３２のおよそ真上に第２撮影装置１６が位置している状態で、第２撮影装置１６による撮影を行うことが可能になる。
【００８１】
なお、上記では、本発明における「撮影画像に含まれる点」の一例として、第１撮影画像の１個の画素を適用した態様を説明したが、これに限定されるものではなく、上記の「点」は２個以上の画素を含む領域であってもよい。
【００８２】
また、上記では、暗部評価用画素の一例として、処理対象の画素を中心とする正方形の外縁に位置している画素を用いる態様を説明したが、これに限定されるものではなく、例えば正方形に代えて円等の他の図形を適用してもよい。また、第１撮影画像上での処理対象画素からの距離が第１の距離Ｌ1以上であれば、例えば同心円の各円の外縁上の画素等のように、距離が所定値以上異なる複数群の画素を暗部評価用画素に含めてもよい。
【００８３】
また、上記では輝度が処理対象の画素よりも高い暗部評価用画素の数Ｃntを第２の閾値th2と比較して暗部画素を特定していたが、これに限定されるものではない。暗部評価用画素の総数に占める輝度が処理対象の画素よりも高い暗部評価用画素の割合を、対応する閾値と比較することで暗部画素を特定してもよい。本発明には、例えば処理対象の画素の輝度に応じて暗部評価用画素の総数を変化させることも含まれ、特にこのような態様では、上記の割合を用いることが好ましい。
【００８４】
また、上記では、異常個所の検出及び位置の演算と並行して異常個所の検査も行う態様を説明した。しかし、これに限定されるものではなく、検査装置１０を前進させながら異常個所３２の検出及び位置の演算を行った後で、検査装置１０を後進させながら異常個所３２の検査を行う処理シーケンスとしてもよい。この場合、位置演算部２２Ｃは、異常個所３２の検出終了の段階で、異常個所３２の位置情報と、予め用意されたパイプ３０の形状データとに基づいて、例えば、図１８に示すような、異常個所３２の位置を示すマップを作成し、駆動制御部２４へ出力してもよい。
【００８５】
更に、通信制御部２７は、第１撮影制御部２１から取得した第１撮影画像及び検出部２２が演算した異常個所の位置情報を外部の情報処理装置へ送信し、情報処理装置において、表示画像３７の画像データを生成して表示装置に表示する処理を行ってもよい。この場合、表示制御部２６を省略することが可能になる。
【００８６】
また、異常個所３２の検出及び検査の作業中には、外部の情報処理装置への画像データ等の送信を行わず、画像データ等を検査装置１０に挿入されたメモリカード等に記憶しておいてもよい。この場合、パイプ３０の終端まで検査が終了した際に、メモリカードを取り出して、記憶しておいたデータを読み出すことになるので、通信制御部２７を省略することが可能になる。
【００８７】
また、上記では、第２撮影装置として合焦法による測距を行う３Ｄカメラを用いて異常個所３２のプロファイルを得る場合について説明したが、これに限定されない。例えば、第２撮影装置として、ステレオカメラを用いてもよい。この場合も、各画素がその画素に対応する位置までの距離の情報を含む画像が第２撮影装置により得られる。また、第２撮影装置に替えて、レーザレーダなどの測距装置を用いて、異常個所のプロファイルを得るようにしてもよい。
【００８８】
更に、上記では、パイプ内の腐食による侵食個所を異常個所として検出する場合を例に説明したが、これに限定されない。例えば、ひび割れや亀裂などを異常個所として検出するようにしてもよい。これらの場合、異常個所は撮影装置の下面に生じるとは限らない。また、パイプ内の腐食による侵食を異常個所として検出する場合であっても、検査対象のパイプを流通する物質の種類によっては、侵食個所は撮影装置の下面に限らない可能性がある。そこで、第１撮影装置及び第２撮影装置の各々による撮影範囲が、パイプ内の全周をカバーできるように、複数の第１撮影装置及び複数の第２撮影装置を設けたり、第１撮影装置及び第２撮影装置の各々を可動式としたりしてもよい。
【００８９】
また、上記ではパイプ内の全長に亘って異常個所の検出及び検査を行う態様を説明したが、これに限定されるものでもなく、予め指定された範囲、例えば腐食による侵食などが生じ易いパイプの屈曲部などを異常個所の検出及び検査の対象としてもよい。
【００９０】
また、上記では、撮影対象物をパイプ内部とする場合について説明したが、本発明は、撮影装置が移動可能な空間であれば、パイプに限らず、例えばタンクなどの他の閉鎖空間を撮影対象物とする場合にも適用可能である。
【００９１】
更に、上記では、異常検査プログラム５０が記憶部４３に予め記憶(インストール)されている態様を説明したが、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記憶媒体に記録された形態で提供することも可能である。
【００９２】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００９３】
以上の実施形態に関し、更に以下の付記を開示する。
【００９４】
（付記１）
撮影画像に含まれる点のうち、第１の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定する特定部と、
前記特定部によって暗部と特定された複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する検出部と、
を含む検出装置。
【００９５】
（付記２）
前記撮影画像はグレースケール画像である付記１に記載の検出装置。
【００９６】
（付記３）
前記特定部は、前記第１の距離以上離れ、かつ所定の範囲内の他の複数の点との輝度の比較により暗部である前記点を特定する付記１に記載の検出装置。
【００９７】
（付記４）
前記特定部は、対象の点の輝度が第１の閾値以下で、かつ、前記第１の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第２の閾値以上である場合に、前記対象の点を暗部と特定する付記１又は付記２に記載の検出装置。
【００９８】
（付記５）
前記検出部は、前記特定部によって暗部と特定された複数の点を含む領域のうち間隙が所定の第２の距離以下の領域同士を連結し、前記異常個所を検出する付記１乃至付記４の何れか１項に記載の検出装置。
【００９９】
（付記６）
前記検出部によって検出された前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記異常個所の位置を演算する位置演算部を更に含む付記１乃至付記５の何れか１項に記載の検出装置。
【０１００】
（付記７）
前記位置演算部は、前記検出部によって検出された前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記撮影画像を撮影した撮影部と前記異常個所の距離を演算し、演算した前記距離に基づいて前記異常個所の位置を演算する付記６に記載の検出装置。
【０１０１】
（付記８）
撮影画像に含まれる点のうち、第１の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータが実行する検出方法。
【０１０２】
（付記９）
撮影画像に含まれる点のうち、第１の距離以上離れた他の複数の点との輝度の比較により暗部である点を特定し、
暗部と特定した複数の点の集まりを含む領域であって、面積が所定範囲内の暗部領域を、撮影対象物の異常個所として検出する、
処理をコンピュータに実行させる検出プログラム。
【０１０３】
（付記１０）
前記撮影画像はグレースケール画像である付記８に記載の検出方法、又は付記９に記載の検出プログラム。
【０１０４】
（付記１１）
前記第１の距離以上離れ、かつ所定の範囲内の他の複数の点との輝度の比較により暗部である前記点を特定する付記８に記載の検出方法、又は、付記９に記載の検出プログラム。
【０１０５】
（付記１２）
対象の点の輝度が第１の閾値以下で、かつ、前記第１の距離以上離れた他の複数の点のうち前記対象の点よりも輝度が高い点の数又は割合が第２の閾値以上である場合に、前記対象の点を暗部と特定する付記８又は付記１０に記載の検出方法、又は、付記９又は付記１０に記載の検出プログラム。
【０１０６】
（付記１３）
暗部と特定した複数の点を含む領域のうち間隙が所定の第２の距離以下の領域同士を連結し、前記異常個所を検出する付記８、付記１０及び付記１２の何れか１項に記載の検出方法、又は、付記９乃至付記１２の何れか１項に記載の検出プログラム。
【０１０７】
（付記１４）
検出した前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記異常個所の位置を演算する付記８、付記１０乃至付記１３の何れか１項に記載の検出方法、又は、付記９乃至付記１３の何れか１項に記載の検出プログラム。
【０１０８】
（付記１５）
検出した前記異常個所の前記撮影画像上での位置及び前記撮影画像の撮影条件に基づいて、前記撮影画像を撮影した撮影部と前記異常個所の距離を演算し、演算した前記距離に基づいて前記異常個所の位置を演算する付記１４に記載の検出方法又は検出プログラム。
【符号の説明】
【０１０９】
１０…検査装置、１１…第１撮影装置、１２…第１照明装置、２０…制御部、２１…第１撮影制御部、２２…検出部、２２Ａ…特定部、２２Ｂ…検出部、２２Ｃ…位置演算部、３０…パイプ、３２…異常個所、３４…第１撮影画像、４０…コンピュータ、４１…ＣＰＵ、４２…メモリ、４３…記憶部、５０…異常検査プログラム
【図１】
0006662126.tif 000002
【図２】
0006662126.tif 000003
【図３】
0006662126.tif 000004
【図４】
0006662126.tif 000005
【図５】
0006662126.tif 000006
【図６】
0006662126.tif 000007
【図７】
0006662126.tif 000008
【図８】
0006662126.tif 000009
【図９】
0006662126.tif 000010
【図１０】
0006662126.tif 000011
【図１１】
0006662126.tif 000012
【図１２】
0006662126.tif 000013
【図１３】
0006662126.tif 000014
【図１４】
0006662126.tif 000015
【図１５】
0006662126.tif 000016
【図１６】
0006662126.tif 000017
【図１７】
0006662126.tif 000018
【図１８】
0006662126.tif 000019