コンクリート構造物画像のひび割れ検知装置、ひび割れ検知方法及びそのプログラム
【課題】コンクリート構造物を撮像した画像を画像処理によって自動検知するひび割れ検知装置を提供する。
【解決手段】ひび割れ検知装置100は、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部201と、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部301と、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部302と、ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部303と、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積を行う論理積演算部304とを備える。
【解決手段】ひび割れ検知装置100は、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部201と、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部301と、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部302と、ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部303と、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積を行う論理積演算部304とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を用いた構造物診断法に関するものであり、特に、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置、ひび割れ検知方法及びそのプログラムに関するものである。
【背景技術】
【0002】
戦後の高度成長期に建設された高速道路などの老朽化したコンクリート構造物に対する不安が社会問題化している。コンクリート構造物の耐久性を検査する際の最重要項目のひとつとして、コンクリート表面のひび割れ検査が挙げられる。ひび割れは、地震等によって構造物に応力が加わるとコンクリートが破断して生じる。コンクリートの表面でひび割れが発生すると、そこから雨水等が入り込み、内部の鉄筋に到達すると腐食が始まり、鉄筋の強度が落ちて構造物の耐久性低下を引き起こす。このような構造物の耐久性低下を未然に防ぐには、表面ひび割れの早期発見と補修の実施が重要となる。
【0003】
補修が必要となるひび割れの程度を示すには、コンクリート表面に現れたひび割れの「幅」を指標として用いる場合が多い。鉄筋への到達と直接的に関わる「深さ」も重要な指標であるが、ひび割れ幅から深さをある程度予測できるため、表面のひび割れ幅を用いて補修実施の要否を判断するのが一般的となっている。さて、構造物の耐久性に関する許容ひび割れ幅に関しては、各国の提案基準によって若干のばらつきがある。おおよそ、乾燥空気中であれば幅0.3〜0.4mm、湿空中であればそれ以下の値を許容ひび割れ幅と規定しているものが多く、幅が0.2mm以上に達したひび割れについては、充填材や被覆による補修、あるいは鋼製アンカー等による補強を実施する対象としている(例えば、非特許文献1参照)。
【0004】
このような理由によって現在行われているひび割れの診断方法は目視が主流である。しかしながら、熟練した作業員であっても長時間の作業においてサブミリメートル幅のひび割れを見落とさない集中力を維持することは困難である。ゆえに、機械によるひび割れ検査の自動化が望まれているが、機材の入手し易さや現場作業の簡易さという観点から、デジタルカメラによって構造物の壁面を遠隔撮影し、その画像から画像処理ソフトウエアによってひび割れの自動検知を試みるというアプローチが有力視されている。
【0005】
さて、コンクリート壁面の画像からひび割れの自動検知を行うアルゴリズムは既にいくつか提案されているが、これら既存のアルゴリズムは次の理由から実用化課題を抱えている。
【0006】
コンクリート構造物の表面には、ひび割れ以外にも汚れや傷等が多数ある。ゆえに、画像処理によってひび割れ検知を試みる場合、ノイズを含んだ入力画像からひび割れパターンを認識する処理が必要となる。これらのパターン認識を行うには、一般的にニューラルネットワークが最も有力なアルゴリズムのひとつであると知られている。しかしながら、従来のニューラルネットワークによるひび割れ検知アルゴリズムには、以下に挙げる二つの問題点が指摘されている(例えば、非特許文献2参照)。
【0007】
一つの問題点は、ひび割れ抽出精度の低さによる劣化見落としの危険性である。非特許文献2の方法によれば、一次元のエッジフィルタによって抽出された特徴量からひび割れの探索を行っているが、この方法では、汚れ、傷、或いはコンクリート表面に浮き出ている骨材等をひび割れとして誤検知する場合がしばしば生じる。なぜならば、一次元のエッジ情報には二次元の空間情報が含まれておらず、局在点として現れる汚れ、傷、或いは骨材と、線分として現れるひび割れの間にて特徴量の差が少ないためである。それゆえ、一次元のエッジフィルタによる特徴量を用いてニューラルネットワークでひび割れ収束を行った場合、ひび割れ以外に収束することがある。
【0008】
もう一つの問題点は、ひび割れの自動判定部が無いことによる作業時間の長さである。ひび割れ自動判定部が無い現状のアルゴリズムにおいては、ひび割れ収束結果を人間が眼で見て判断しないとならないため、大量にひび割れ画像を処理する場合において膨大な作業時間が必要となる。
【0009】
以上のように、ひび割れの抽出精度が低く、かつ自動判定部が無い従来アルゴリズムでは、現場運用に供することができない。
【0010】
この問題点を克服するには、ひび割れの抽出精度の向上と、ひび割れ自動判定機能の追加が必要となるが、ひび割れの形状、ひび割れ以外の汚れ、傷、骨材等の形状が千差万別であるゆえ、例えばテンプレートマッチングのような既存のパターン認識アルゴリズムを用いて簡易にひび割れ抽出精度を向上させることは容易ではない。
【0011】
また、実際のコンクリート構造物に生じるひび割れは直線とは限らず湾曲している場合があるため、例えばハフ変換のような既存の直線検出アルゴリズムを用いて簡易に自動判定することは容易ではない(例えば、非特許文献3参照)。
【0012】
以上のような理由から、コンクリート構造物の画像からひび割れを高精度で抽出し自動判定するシステムが望まれている反面、これまでの技術では実現困難である。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】「コンクリートのひび割れ調査、補修・補強指針」、社団法人日本コンクリート工学協会、2003年6月20日発行、p85−94
【非特許文献2】S. Oka, S. Mochizuki, H. Togo, and N. Kukutsu, "A Neural Network Algorithm for Detecting Invisible Concrete Surface Cracks in Near-field Millimeter-wave Images," Proc. of IEEE International Conference on Systems, Man, and Cybernetics, Neural Networks and Their Applications II, W2, Oct. 11-14, 2009, in Texas, p3803-3804
【非特許文献3】酒井幸市、「Visual Basic&Visual C++によるデジタル画像処理入門」、CQ出版株式会社、2008年2月1日第8版発行、p72−73
【発明の概要】
【発明が解決しようとする課題】
【0014】
上述したように、コンクリート構造物の画像からひび割れを高精度で抽出し自動判定するシステムが望まれている反面、これまでの技術では実現困難であった。
【0015】
本発明の目的は、上記の課題に鑑みてなされたものであり、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって、ひび割れの抽出精度を向上させて自動検知するコンクリート構造物画像のひび割れ検知装置、ひび割れ検知方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0016】
本発明のひび割れ検知装置は、コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置であって、コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部と、該ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部とを備え、前記ひび割れ探査部は、前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部と、前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するひび割れ収束部とを備えることを特徴とする。
【0017】
また、本発明のひび割れ検知装置において、前記ひび割れ判定部は、前記ひび割れ候補画像に対して、前記ひび割れ収束部で発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部と、前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部と、前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部と、前記近傍連結判定部、前記特徴量判定部及び前記飛び地判定部にて判定された結果の論理積を行う論理積演算部とを備えることを特徴とする。
【0018】
また、本発明のひび割れ検知装置において、前記ひび割れ収束部は、2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成されていることを特徴とする。
【0019】
また、本発明のひび割れ検知装置において、前記ひび割れ特徴量抽出部は、前記2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量ξとして選択し、前記対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、前記対応画素の位置との間のユークリッド距離に基づいて、前記周辺画素に対する前記対応画素の連結度ηを算出し、前記ひび割れ特徴量ξと前記連結度ηの各々に動的係数を乗算したものを線形結合して前記ひび割れ収束部(Hopfield型ニューラルネットワーク)の入力値とすることによって、前記ひび割れ収束部における前記2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる手段を有することを特徴とする。
【0020】
また、本発明のひび割れ検知装置において、前記近傍連結判定部は、前記ひび割れ候補画像を短冊状に分割したセグメント内で、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある前記ひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値cntとしてカウントし、前記近傍連結カウント値cntが一定値以上の場合にひび割れセグメントと判定し、さらに前記ひび割れセグメントの数が一定数以上の場合にひび割れと判定する手段を有することを特徴とする。
【0021】
また、本発明のひび割れ検知装置において、前記特徴量判定部は、前記ひび割れ候補画素の特徴量ξを合計した値が当該ひび割れ候補画像全体の平均輝度から算出した閾値θを超えた場合にひび割れと判定する手段を有することを特徴とする。
【0022】
また、本発明のひび割れ検知装置において、前記飛び地判定部は、前記ひび割れ候補画素中の前記判定対象画素と前記判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ前記判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する手段を有することを特徴とする。
【0023】
さらに、本発明のひび割れ検知方法は、ひび割れ検知装置によってコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知方法であって、前記ひび割れ検知装置の処理手順は、(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、を含むことを特徴とする。
【0024】
さらに、本発明のプログラムは、コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置として構成するコンピュータに、(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、を実行させるためのプログラムとして構成される。
【発明の効果】
【0025】
本発明によれば、コンクリート構造物の画像から精度良くひび割れを抽出し、かつ、自動判定することが可能となる。
【図面の簡単な説明】
【0026】
【図1】本発明による一実施例のひび割れ検知装置のブロック図である。
【図2】本発明による一実施例のひび割れ検知装置の動作説明図である。
【図3】従来のニューラルネットワークを用いたひび割れ検知ソフトによる実行結果を示す図である。
【図4】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の処理の詳細を説明する図である。
【図5】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の処理の詳細をさらに説明する図である。
【図6】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の特徴量抽出例を示す図である。
【図7】本発明による一実施例のひび割れ検知装置におけるひび割れ収束部の処理の詳細を説明する図である。
【図8】本発明による一実施例のひび割れ検知装置におけるひび割れ収束部の収束速度を高めるための処理を説明する図である。
【図9】本発明による一実施例のひび割れ検知装置におけるひび割れ判定部のデジタル画像上に現れうるひび割れ形状の定義を模式的に表した図である。
【図10】本発明による一実施例のひび割れ検知装置における近傍連結判定部の動作を示すフローチャートである。
【図11】本発明による一実施例のひび割れ検知装置における近傍連結判定部の計算例を説明する図である。
【図12】本発明による一実施例のひび割れ検知装置における特徴量判定部の動作を示すフローチャートである。
【図13】本発明による一実施例のひび割れ検知装置における飛び地判定部における処理の詳細を説明する図である。
【図14】本発明による一実施例のひび割れ検知装置における飛び地判定部の動作を示すフローチャートである。
【図15】本発明による一実施例のひび割れ検知装置における飛び地判定部の処理例を示す図である。
【図16】本発明による一実施例のひび割れ検知装置におけるひび割れ検知結果例を示す図である。
【発明を実施するための形態】
【0027】
以下、本発明による一実施例のひび割れ検知装置について説明する。本発明に係るひび割れ検知方法及びプログラムは、本実施例のひび割れ検知装置の説明から明らかになる。
【0028】
〔装置構成〕
図1は、本発明による一実施例のひび割れ検知装置のブロック図である。本実施例のひび割れ検知装置100は、制御部10及び記憶部40を備えており、コンピュータとして構成できるものである。制御部10の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部40に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで制御部10の各機能を実現することができる。
【0029】
制御部10は、コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部20と、ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部30とを備え、ひび割れ判定部30は、ひび割れ抽出画像を生成して表示装置(図示せず)に表示させることができる。尚、表示装置は、例えばパーソナルコンピュータのモニタを用いて実現できる。
【0030】
ひび割れ探査部20は、コンクリート構造物が映った画像からひび割れと思しきパターンの検知を行うことができ、より具体的には、ひび割れ特徴量抽出部201と、ひび割れ収束部202とを備える。ひび割れ判定部30は、ひび割れ探査部20で検知されたひび割れ候補のパターンを自動判定することができ、近傍連結判定部301と、特徴量判定部302と、飛び地判定部303と、論理積演算部304とを備える。
【0031】
ひび割れ特徴量抽出部201は、コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定する機能を有する。より具体的には、ひび割れ特徴量抽出部201は、2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量ξとして選択し、2次元エッジフィルタの対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、2次元エッジフィルタの対応画素の位置との間のユークリッド距離に基づいて、当該周辺画素に対する前記対応画素の連結度ηを算出し、ひび割れ特徴量ξと連結度ηの各々に動的係数を乗算したものを線形結合してひび割れ収束部202(Hopfield型ニューラルネットワーク)の入力値とすることによって、ひび割れ収束部202における2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる機能を有する。
【0032】
ひび割れ収束部202は、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成する機能を有する。より具体的には、ひび割れ収束部202は、ひび割れ特徴量抽出部201からの、ひび割れ特徴量ξと連結度ηの各々に動的係数を乗算したものを線形結合して得られる2次元ニューロン配列の発火パターンのニューロンを入力値とする2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成することができる。
【0033】
近傍連結判定部301は、ひび割れ候補画像に対して、ひび割れ収束部202で発火したニューロンの対応画素をひび割れ候補画素とし、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する機能を有する。より具体的には、近傍連結判定部301は、ひび割れ候補画像を短冊状に分割したセグメント内で、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にあるひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値cntとしてカウントし、近傍連結カウント値cntが一定値以上の場合にひび割れセグメントと判定し、さらにひび割れセグメントの数が一定数以上の場合にひび割れと判定する機能を有する。
【0034】
特徴量判定部302は、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する機能を有する。より具体的には、特徴量判定部302は、ひび割れ候補画素の特徴量ξを合計した値が当該入力画像全体(ひび割れ候補画像全体)の平均輝度から算出した閾値θを超えた場合にひび割れと判定する機能を有する。
【0035】
飛び地判定部303は、ひび割れ候補画素中の判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する機能を有する。より具体的には、飛び地判定部303は、ひび割れ候補画素中の判定対象画素と判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する機能を有する。
【0036】
論理積演算部304は、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積を行う機能を有する。
【0037】
また、本実施例のひび割れ検知装置100の動作について図2を参照して説明する。
【0038】
〔装置動作〕
ひび割れ検知装置100は、まず、コンクリート構造物を撮像した画像を入力して(ステップS100)、ひび割れ特徴量抽出部201によって、コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選択する(ステップS200)。
【0039】
次に、ひび割れ検知装置100は、ひび割れ収束部202によって、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成する(ステップS300)。
【0040】
次に、ひび割れ検知装置100は、近傍連結判定部301によって、ひび割れ候補画像に対して、ひび割れ収束部202で発火したニューロンの対応画素をひび割れ候補画素とし、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するとともに、特徴量判定部302によって、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定し、さらに、飛び地判定部303によって、ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定し、論理積演算部304によって、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積演算を実行し、最終的なひび割れ画像を抽出して所定の表示装置(図示せず)に表示する(ステップS400)。
【0041】
これにより、ひび割れ検知装置100は、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって、ひび割れの抽出精度を向上させて自動検知することが可能となる。
【0042】
以下より具体的に、ひび割れ検知装置100の処理について、図3(A)に示すひび割れ画像を例に挙げて各機能の詳細を説明する。図3(B)は、図3(A)に示す処理対象の入力画像を従来のニューラルネットワークによるひび割れ検知アルゴリズム(前述した非特許文献2参照)によって処理した結果であり、実際のひび割れ部分へと収束せず、正確なひび割れ形状の抽出に成功していない。なぜならば、この非特許文献2のアルゴリズムでは、一次元のエッジフィルタによって抽出された特徴量をニューラルネットワークの入力情報としてひび割れ探索を行うことになるが、図3(C)に示すように、この一次元のエッジフィルタではひび割れパターンとひび割れ以外のノイズパターンの間に特徴量の差が出難く、ノイズパターンへ収束してしまうケースがよくあるからである。ゆえに、より高い確率でひび割れに収束させるには、ひび割れの特徴のみを優位に捉えてニューラルネットワークの入力情報として設定する必要がある。尚、ニューラルネットワークの詳細は、以下のURLを参考にされたい。
【0043】
<参考URL>
http://msdn.microsoft.com/ja-jp/academic/cc998609.aspx
http://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF
【0044】
図4及び図5は、ひび割れ検知装置100におけるひび割れ特徴量抽出部201の処理の詳細を示している。まず、図4及び図5に示すような方向および幅の異なる複数の2次元エッジフィルタを処理対象の入力画像全体に適用し、式(1)に示すように各画素毎にその中から最大値となるものをひび割れ特徴量ξとして選択する。
【0045】
【数1】
【0046】
これらのエッジフィルタのサイズは、入力画像の解像度と探索するひび割れの平均的な幅の両方を加味して設計しなければならない。例えば、図3(A)の画像は、約1400万画素のデジタルカメラを用いて、このデジタルカメラの8メートル先にある幅0.1mmのひび割れを有するコンクリート構造物の表面を撮像したものであるが、これを18x26、3x5、99x101の三種類のエッジフィルタで処理した結果を、それぞれ図6(A)、図6(B)、図6(C)に示す。この中では、図6(A)においてひび割れの特徴量が最も優位に抽出されていることが分かるが、図6(B)ではひび割れと汚れ・傷との間に特徴量の差が少なく、前者のエッジフィルタの方が抽出効果として高くなることが分かる。しかしながら、図6(C)に示すようにエッジフィルタのサイズを大きくし過ぎても、かえってひび割れの特徴量が埋没してしまい逆効果であることが分かる。従って、ターゲットまでの距離、探索するひび割れ幅、撮像に用いるデジタルカメラの画素数等のパラメータから、予め最適フィルタサイズを調整する必要がある。
【0047】
図6(A)における2次元エッジフィルタのサイズ(18×26)は、前述した「カメラの8メートル先にある幅0.1mmのひび割れを約1400万画素のデジタルカメラを用いて」撮影した数10枚のひび割れ画像をひび割れ抽出・判定し、成功が最も多かったサイズである。したがって、ターゲットまでの距離、探索するひび割れ幅、カメラ画素数等のパラメータから、予め最適フィルタサイズを調べておくのが好適である。
【0048】
図7は、本発明に係るひび割れ収束部202における処理の詳細として、前述した非特許文献2に記載されている処理を引用している。ただし、本発明に係るひび割れ検知装置100では、(前述した非特許文献2に記載される)式(2)におけるg(i,j)を、ひび割れ特徴量抽出部201で用いる2次元エッジフィルタの出力ξで置き換えることに留意する。
【0049】
【数2】
【0050】
ここで、実用上の課題としてこのニューラルネットワークの処理速度について言及しておく。一般的にニューラルネットは繰り返し演算を用いており、入力画像が大きくなるにつれて計算コストが大きくなるという問題は本発明に係るひび割れ収束部202のアルゴリズムにおいても例外ではない。この問題を回避するための第1の工夫を図8(A)に示す。
【0051】
従来のアルゴリズムにおいては式(2)の係数A(t)と係数B(t)は定数であるが、本発明に係るひび割れ収束部202では係数A(t)と係数B(t)とを動的に変化させることで高速化を行う。ニューラルネットにおける高速化の手段としては繰り返し回数を減らすことが有効手段であり、繰り返し回数を減らすためには式(2)におけるひび割れパターンへ収束する力を向上させる必要がある。式(2)において、ひび割れ特有の線形状を持つパターンへ収束する力は係数A(t)の大きさに反比例し、係数B(t)の大きさに比例するという性質がある。しかしながら、ひび割れパターンへ収束する力を大きくするために単純に係数A(t)を小さな、また係数B(t)を大きな定数として固定してしまうと、ひび割れ以外の画像において線形状に収束してしまうエラーが起きる。この問題を回避するため、係数A(t),B(t)を繰り返し回数tに対して動的に変化させる。
【0052】
例えば、図8(A)に示すように始めの数回τは、係数A(t)を大きく、また係数B(t)を小さく設定してエッジ特徴量ξが大きい画素に収束し易くする。そして、繰り返し回数がτ+1以降は、徐々にA(t)を小さくB(t)を大きくして画素連結の影響を強くしていくことで、少ない繰り返し回数でひび割れに収束させることができ、ひび割れを抽出する力とひび割れ以外を排他する力を共存させることが可能となる。
【0053】
次に、収束速度を高めるための第2の工夫を図8(B)に示す。従来のアルゴリズムでは、全ての繰り返しステップにおいて全てのニューロンについて計算を行っていたが、本発明に係るひび割れ収束部202では繰り返しステップが進むにつれてニューロンの計算量を減らすことでさらなる高速化を行う。
【0054】
図8(B)に示すように、発火ニューロンまでの距離合計が一番小さくなるような重心列を求め、そこから一定距離R以内で発火しているニューロンのみ計算を行うようにする。その範囲外で発火しているニューロンについては消火し、当該範囲内のどこかでランダム発火させる。但し、一定距離Rを小さくすればするほど計算量が減って高速化される反面、ひび割れが斜め方向に生じている場合には発見し辛くなるというジレンマがあるので、時間と精度のどちらを優先すべきかを用途に応じて考慮し、一定距離Rを慎重に決定しなければならない。本実施例では一定距離Rをウィンドウサイズの6分の1とした。ここで、「発火」とは、式(2)におけるVi,jが1の値を持つ状態を云う。一方、「消火」とは、式(2)におけるVi,jの値を0にすることを云う。同時にUi,jも二度と発火しないように、小さな値(例:‐10000000)を代入する。
【0055】
図9は、ひび割れ判定部におけるデジタル画像上に現れたひび割れ形状の定義を模式的に表した図である。一般的に、ひび割れの形状を局所的な画素の連なりとして見た場合、図9(A)に示すように連続かつ適度に蛇行した分布となる。なぜならば、コンクリート構造物のひび割れというものは、内部に混在した大きさの異なる骨材に沿って連続的に破断しているため、図9(B)に示すような断絶分布となるものや、或いは、図9(C)に示すように規則的な直線分布となるものは、ひび割れではないからである。例えば、ニューラルネットが表面に浮き出た小さな骨材に収束した場合などは図9(B)のような分布になり易く、或いは、人工的な型枠跡に収束した場合などは図9(C)のような分布になり易く、この定義を用いればいずれもひび割れではないと判定することができる。
【0056】
図10は、ひび割れ検知装置100における近傍連結判定部301におけるアルゴリズムのフローチャートを示している。前述したように、本発明に係る近傍連結判定部301では、連続かつ適度に蛇行した分布であるひび割れは局所的に連結しているという特徴を利用してひび割れを判定する。
【0057】
まず、近傍連結判定部301は、ひび割れカウント変数crack_cntを0、近傍連結探索範囲kazuを任意数、式(3)を用いてひび割れ候補画素の各i行のy座標を座標変数ps(i)で初期化する。入力画像を複数のセグメントに分割し、一番上のセグメントから計算を行う(ステップS1)。
【0058】
【数3】
【0059】
次に、近傍連結判定部301は、セグメントごとの初期化として、近傍連結カウント変数cntを0で初期化し、各セグメントの最上部から近傍連結の計算を行う(ステップS2)。
【0060】
続いて、近傍連結判定部301は、式(4)を用いて近傍連結値kyori(i,ps(i))を計算する(ステップS3)。
【0061】
【数4】
【0062】
近傍連結判定部301は、発火ニューロン位置のばらつきを考慮し設定した閾値よりkyori(i,ps(i))が小さければ(ステップS4)、近傍で連結していると判定し近傍連結カウント変数cntに1を加算する(ステップS5)。
【0063】
近傍連結判定部301は、セグメント内の最後の画素であれば次の処理に進み、最後の画素でなければ次の行に移動し(ステップS6)、kyori(i,ps(i))の計算を繰り返す(ステップS7)。
【0064】
近傍連結判定部301は、近傍連結カウント変数cntをセグメントサイズで除算した値が、近傍連結カウント閾値cnt_threshより大きければひび割れセグメントと判定し(ステップS8)、ひび割れカウント変数crack_cntに1を加算する(ステップS9)。
【0065】
近傍連結判定部301は、全セグメントが計算を終了していれば次の処理に進み(ステップS10)、終了していなければ次のセグメントに移動し、セグメントごとの初期化から同様の計算を行う(ステップS11)。
【0066】
最後に、近傍連結判定部301は、ひび割れカウント変数crack_cntがひび割れカウント閾値crack_cnt_threshより大きければ(ステップS12)、ひび割れと判定し(ステップS13)、小さければひび割れではないと判定する(ステップS14)。
【0067】
図11は、近傍連結判定部301における計算例を示している。図11(図示左)は、ひび割れに収束した画像を複数のセグメントに分割したものである。各セグメントにおいて、図11(図示右)のようにひび割れ候補画素に対して近傍連結の計算を行う。太線の四角が近傍連結の計算対象画素であり、近傍連結探索範囲内のひび割れ候補画素とのユークリッド距離を計算する。仮に近傍連結閾値を30と設定し、計算対象画素の上下3画素を近傍連結探索範囲とする。
【0068】
ひび割れの例では、計算対象画素から1行上の画素との距離は1であり、2行上は3であり、3行上は5であり、1行下は1であり、2行下は3であり、3行下は6であることから、近傍連結値kyori(i,ps(i))は19となる。この場合、近傍連結判定部301は、近傍連結値が近傍連結閾値より小さいことから、連結していると判定し近傍連結カウント変数に1を加算する。
【0069】
同様にひび割れではない例では、計算対象画素から1行上の画素との距離は40であり、2行上は22であり、3行上は5であり、1行下は15であり、2行下は20であり、3行下は3であることから、近傍連結値kyori(i,ps(i))は105となる。この場合、近傍連結判定部301は、近傍連結値が近傍連結閾値より大きいことから、連結していないと判定し近傍連結カウント変数にはカウントしない。
【0070】
図12は、ひび割れ検知装置100における特徴量判定部302におけるアルゴリズムのフローチャートを示している。近傍連結判定部301のみでは、ひび割れではない入力画像においてひび割れの形状にひび割れ候補画素が収束した場合、ひび割れと誤って判定してしまう可能性がある。そこで、特徴量判定部302は、ひび割れ候補画素の2次元エッジ特徴量の大きさからひび割れを判定する。ひび割れがあると2次元エッジ特徴量は大きくなり、ひび割れが無いと2次元エッジ特徴量は小さくなる。また、通常ひび割れは黒いため、影などで暗い画像はひび割れがあったとしても2次元エッジ特徴量が小さくなってしまう。それゆえ、暗いほどひび割れを判定する閾値が小さくなるように入力画像全体の輝度に応じて閾値を動的に設定し、ひび割れ抽出力を高める。
【0071】
まず、特徴量判定部302は、処理対象の入力画像全体の初期化として、特徴量カウント変数feature_cntに0を代入する。入力画像を複数のセグメントに分割し、一番上のセグメントから計算を行う(ステップS21)。
【0072】
次に、特徴量判定部302は、式(5)に示すように当該入力画像全体の輝度から特徴量閾値feature_sum_threshを計算する(ステップS22)。
【0073】
【数5】
【0074】
続いて、特徴量判定部302は、セグメントごとの初期化として、2次元エッジ合計特徴量feature_sumに0を代入する(ステップS23)。
【0075】
特徴量判定部302は、式(6)に示すように、セグメント内の全ひび割れ候補画素の2次元エッジ合計特徴量feature_sumを計算する(ステップS24)。
【0076】
【数6】
【0077】
特徴量判定部302は、もし、2次元エッジ合計特徴量feature_sumが特徴量閾値feature_sum_threshより大きければ(ステップS25)、ひび割れセグメントと判定し特徴量カウント変数feature_cntに1を加算する(ステップS26)。
【0078】
特徴量判定部302は、全セグメントが計算を終了していれば次の処理に進み(ステップS27)、終了していなければ次のセグメントに移動し、セグメントごとの初期化から同様の計算を行う(ステップS28)。
【0079】
最後に、特徴量判定部302は、特徴量カウント変数feature_cntが特徴量カウント閾値feature_cnt_threshより大きければ(ステップS29)、ひび割れと判定し、小さければひび割れではないと判定する。
【0080】
図13は、ひび割れ検知装置100における飛び地判定部303の処理の詳細を示しており、図14は、ひび割れ検知装置100における飛び地判定部303のアルゴリズムのフローチャートを示している。図13に示すように、近傍連結判定部302と特徴量判定部303のみではセグメントごとのひび割れ判定であるため、汚れをひび割れと判定とすることがある。それゆえ、図13に示すように、ひび割れは入力画像全体で連続しているとの観点から、飛び地判定部303は、飛び地がある場合はひび割れではないとする判定を行う。
【0081】
まず、飛び地判定部303は、飛び地カウント変数tobi_cntを0、島サイズshima_sizeを任意の数、式(3)を用いてひび割れ候補画素の各i行のy座標を座標変数ps(i)で初期化する。入力画像の最上部の行から計算を開始する(ステップS31)。
【0082】
次に、飛び地判定部303は、隣接距離カウント変数kyori_cntと隣接距離計算用変数iiを0で初期化する(ステップS32)。
【0083】
続いて、飛び地判定部303は、i行のひび割れ候補画素に対して式(7)を用いて上部隣接距離tonari_kyori_uを計算し、式(8)を用いて下部隣接距離tonari_kyori_sを計算する(ステップS33)。
【0084】
【数7】
【0085】
【数8】
【0086】
飛び地判定部303は、上部隣接距離tonari_kyori_uが隣接距離閾値tonari_kyori_threshより小さければ(ステップS34)隣接距離カウント変数kyori_cntに1を加算する(ステップS35)。同様に、飛び地判定部303は、下部隣接距離tonari_kyori_sが隣接距離閾値tonari_kyori_threshより小さければ(ステップS36)、隣接距離カウント変数kyori_cntに1を加算する(ステップS37)。
【0087】
飛び地判定部303は、隣接距離計算用変数iiが島サイズshima_sizeであれば次の処理に進み(ステップS38)、島サイズ未満であれば隣接距離計算用変数iiに1を加算する(ステップS39)。
【0088】
飛び地判定部303は、式(9)を用いて飛び距離tobi_kyoriを計算する(ステップS40)。
【0089】
【数9】
【0090】
ここで、飛び地判定部303は、隣接距離カウント変数kyori_cntが0であり(ステップS41)かつ飛び距離tobi_kyoriが飛び距離閾値tobi_kyori_threshより大きければ(ステップS42)飛び地カウント変数tobi_cntに1を加算する(ステップS43)。
【0091】
飛び地判定部303は、最終行の計算が終了していれば次の処理に進み(S14),終了していなければ次の行に移動する(ステップS45)。
【0092】
最後に、飛び地判定部303は、飛び地カウント変数tobi_cntが飛び地カウント閾値tobi_cnt_threshより大きければ(ステップS46)、ひび割れではないと判定し、それ以外はひび割れと判定する。
【0093】
図15は、飛び地判定部303の処理例を示している。飛び地判定部303は、判定対象画素と判定対象画素に隣接したひび割れ候補画素間のユークリッド距離が一定値以上であり、かつ判定対象画素の前後の所定数画素において隣接するひび割れ候補画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する。
【0094】
図16に、本発明による一実施例のひび割れ検知装置100を用いてひび割れを抽出した結果を示す。従来手法では抽出困難であったひび割れ形状が正確に抽出され、かつ、ひび割れと自動判定されている。
【0095】
以上に説明した通り、本発明によれば、コンクリート構造物の画像から、ひび割れを高精度に抽出し、かつ、自動判定することが可能となる。
【0096】
本発明に係るひび割れ検知装置をコンピュータで構成した場合、各機能を実現する処理内容を記述したプログラムを、当該コンピュータの内部又は外部の記憶部に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで実現することができる。また、このようなプログラムは、例えばDVD又はCD−ROMなどの可搬型記録媒体の販売、譲渡、貸与等により流通させることができるほか、そのようなプログラムを、例えばネットワーク上にあるサーバの記憶部に記憶しておき、ネットワークを介してサーバから他のコンピュータにそのプログラムを転送することにより、流通させることができる。また、そのようなプログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから転送されたプログラムを、一旦、自己の記憶部に記憶することができる。また、このプログラムの別の実施態様として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。従って、本発明は、前述した実施例に限定されるものではなく、その主旨を逸脱しない範囲において種々変更可能である。
【産業上の利用可能性】
【0097】
本発明によれば、コンクリート構造物の画像から、ひび割れを高精度に抽出し、かつ、自動判定することが可能となるので、ひび割れの検査を要する用途に有用である。
【符号の説明】
【0098】
10 制御部
20 ひび割れ探査部
30 ひび割れ判定部
40 記憶部
100 ひび割れ検知装置
201 ひび割れ特徴量抽出部
202 ひび割れ収束部
301 近傍連結判定部
302 特徴量判定部
303 飛び地判定部
304 論理積演算部
【技術分野】
【0001】
本発明は、画像を用いた構造物診断法に関するものであり、特に、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置、ひび割れ検知方法及びそのプログラムに関するものである。
【背景技術】
【0002】
戦後の高度成長期に建設された高速道路などの老朽化したコンクリート構造物に対する不安が社会問題化している。コンクリート構造物の耐久性を検査する際の最重要項目のひとつとして、コンクリート表面のひび割れ検査が挙げられる。ひび割れは、地震等によって構造物に応力が加わるとコンクリートが破断して生じる。コンクリートの表面でひび割れが発生すると、そこから雨水等が入り込み、内部の鉄筋に到達すると腐食が始まり、鉄筋の強度が落ちて構造物の耐久性低下を引き起こす。このような構造物の耐久性低下を未然に防ぐには、表面ひび割れの早期発見と補修の実施が重要となる。
【0003】
補修が必要となるひび割れの程度を示すには、コンクリート表面に現れたひび割れの「幅」を指標として用いる場合が多い。鉄筋への到達と直接的に関わる「深さ」も重要な指標であるが、ひび割れ幅から深さをある程度予測できるため、表面のひび割れ幅を用いて補修実施の要否を判断するのが一般的となっている。さて、構造物の耐久性に関する許容ひび割れ幅に関しては、各国の提案基準によって若干のばらつきがある。おおよそ、乾燥空気中であれば幅0.3〜0.4mm、湿空中であればそれ以下の値を許容ひび割れ幅と規定しているものが多く、幅が0.2mm以上に達したひび割れについては、充填材や被覆による補修、あるいは鋼製アンカー等による補強を実施する対象としている(例えば、非特許文献1参照)。
【0004】
このような理由によって現在行われているひび割れの診断方法は目視が主流である。しかしながら、熟練した作業員であっても長時間の作業においてサブミリメートル幅のひび割れを見落とさない集中力を維持することは困難である。ゆえに、機械によるひび割れ検査の自動化が望まれているが、機材の入手し易さや現場作業の簡易さという観点から、デジタルカメラによって構造物の壁面を遠隔撮影し、その画像から画像処理ソフトウエアによってひび割れの自動検知を試みるというアプローチが有力視されている。
【0005】
さて、コンクリート壁面の画像からひび割れの自動検知を行うアルゴリズムは既にいくつか提案されているが、これら既存のアルゴリズムは次の理由から実用化課題を抱えている。
【0006】
コンクリート構造物の表面には、ひび割れ以外にも汚れや傷等が多数ある。ゆえに、画像処理によってひび割れ検知を試みる場合、ノイズを含んだ入力画像からひび割れパターンを認識する処理が必要となる。これらのパターン認識を行うには、一般的にニューラルネットワークが最も有力なアルゴリズムのひとつであると知られている。しかしながら、従来のニューラルネットワークによるひび割れ検知アルゴリズムには、以下に挙げる二つの問題点が指摘されている(例えば、非特許文献2参照)。
【0007】
一つの問題点は、ひび割れ抽出精度の低さによる劣化見落としの危険性である。非特許文献2の方法によれば、一次元のエッジフィルタによって抽出された特徴量からひび割れの探索を行っているが、この方法では、汚れ、傷、或いはコンクリート表面に浮き出ている骨材等をひび割れとして誤検知する場合がしばしば生じる。なぜならば、一次元のエッジ情報には二次元の空間情報が含まれておらず、局在点として現れる汚れ、傷、或いは骨材と、線分として現れるひび割れの間にて特徴量の差が少ないためである。それゆえ、一次元のエッジフィルタによる特徴量を用いてニューラルネットワークでひび割れ収束を行った場合、ひび割れ以外に収束することがある。
【0008】
もう一つの問題点は、ひび割れの自動判定部が無いことによる作業時間の長さである。ひび割れ自動判定部が無い現状のアルゴリズムにおいては、ひび割れ収束結果を人間が眼で見て判断しないとならないため、大量にひび割れ画像を処理する場合において膨大な作業時間が必要となる。
【0009】
以上のように、ひび割れの抽出精度が低く、かつ自動判定部が無い従来アルゴリズムでは、現場運用に供することができない。
【0010】
この問題点を克服するには、ひび割れの抽出精度の向上と、ひび割れ自動判定機能の追加が必要となるが、ひび割れの形状、ひび割れ以外の汚れ、傷、骨材等の形状が千差万別であるゆえ、例えばテンプレートマッチングのような既存のパターン認識アルゴリズムを用いて簡易にひび割れ抽出精度を向上させることは容易ではない。
【0011】
また、実際のコンクリート構造物に生じるひび割れは直線とは限らず湾曲している場合があるため、例えばハフ変換のような既存の直線検出アルゴリズムを用いて簡易に自動判定することは容易ではない(例えば、非特許文献3参照)。
【0012】
以上のような理由から、コンクリート構造物の画像からひび割れを高精度で抽出し自動判定するシステムが望まれている反面、これまでの技術では実現困難である。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】「コンクリートのひび割れ調査、補修・補強指針」、社団法人日本コンクリート工学協会、2003年6月20日発行、p85−94
【非特許文献2】S. Oka, S. Mochizuki, H. Togo, and N. Kukutsu, "A Neural Network Algorithm for Detecting Invisible Concrete Surface Cracks in Near-field Millimeter-wave Images," Proc. of IEEE International Conference on Systems, Man, and Cybernetics, Neural Networks and Their Applications II, W2, Oct. 11-14, 2009, in Texas, p3803-3804
【非特許文献3】酒井幸市、「Visual Basic&Visual C++によるデジタル画像処理入門」、CQ出版株式会社、2008年2月1日第8版発行、p72−73
【発明の概要】
【発明が解決しようとする課題】
【0014】
上述したように、コンクリート構造物の画像からひび割れを高精度で抽出し自動判定するシステムが望まれている反面、これまでの技術では実現困難であった。
【0015】
本発明の目的は、上記の課題に鑑みてなされたものであり、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって、ひび割れの抽出精度を向上させて自動検知するコンクリート構造物画像のひび割れ検知装置、ひび割れ検知方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0016】
本発明のひび割れ検知装置は、コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置であって、コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部と、該ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部とを備え、前記ひび割れ探査部は、前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部と、前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するひび割れ収束部とを備えることを特徴とする。
【0017】
また、本発明のひび割れ検知装置において、前記ひび割れ判定部は、前記ひび割れ候補画像に対して、前記ひび割れ収束部で発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部と、前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部と、前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部と、前記近傍連結判定部、前記特徴量判定部及び前記飛び地判定部にて判定された結果の論理積を行う論理積演算部とを備えることを特徴とする。
【0018】
また、本発明のひび割れ検知装置において、前記ひび割れ収束部は、2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成されていることを特徴とする。
【0019】
また、本発明のひび割れ検知装置において、前記ひび割れ特徴量抽出部は、前記2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量ξとして選択し、前記対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、前記対応画素の位置との間のユークリッド距離に基づいて、前記周辺画素に対する前記対応画素の連結度ηを算出し、前記ひび割れ特徴量ξと前記連結度ηの各々に動的係数を乗算したものを線形結合して前記ひび割れ収束部(Hopfield型ニューラルネットワーク)の入力値とすることによって、前記ひび割れ収束部における前記2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる手段を有することを特徴とする。
【0020】
また、本発明のひび割れ検知装置において、前記近傍連結判定部は、前記ひび割れ候補画像を短冊状に分割したセグメント内で、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある前記ひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値cntとしてカウントし、前記近傍連結カウント値cntが一定値以上の場合にひび割れセグメントと判定し、さらに前記ひび割れセグメントの数が一定数以上の場合にひび割れと判定する手段を有することを特徴とする。
【0021】
また、本発明のひび割れ検知装置において、前記特徴量判定部は、前記ひび割れ候補画素の特徴量ξを合計した値が当該ひび割れ候補画像全体の平均輝度から算出した閾値θを超えた場合にひび割れと判定する手段を有することを特徴とする。
【0022】
また、本発明のひび割れ検知装置において、前記飛び地判定部は、前記ひび割れ候補画素中の前記判定対象画素と前記判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ前記判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する手段を有することを特徴とする。
【0023】
さらに、本発明のひび割れ検知方法は、ひび割れ検知装置によってコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知方法であって、前記ひび割れ検知装置の処理手順は、(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、を含むことを特徴とする。
【0024】
さらに、本発明のプログラムは、コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置として構成するコンピュータに、(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、を実行させるためのプログラムとして構成される。
【発明の効果】
【0025】
本発明によれば、コンクリート構造物の画像から精度良くひび割れを抽出し、かつ、自動判定することが可能となる。
【図面の簡単な説明】
【0026】
【図1】本発明による一実施例のひび割れ検知装置のブロック図である。
【図2】本発明による一実施例のひび割れ検知装置の動作説明図である。
【図3】従来のニューラルネットワークを用いたひび割れ検知ソフトによる実行結果を示す図である。
【図4】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の処理の詳細を説明する図である。
【図5】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の処理の詳細をさらに説明する図である。
【図6】本発明による一実施例のひび割れ検知装置におけるひび割れ特徴量抽出部の特徴量抽出例を示す図である。
【図7】本発明による一実施例のひび割れ検知装置におけるひび割れ収束部の処理の詳細を説明する図である。
【図8】本発明による一実施例のひび割れ検知装置におけるひび割れ収束部の収束速度を高めるための処理を説明する図である。
【図9】本発明による一実施例のひび割れ検知装置におけるひび割れ判定部のデジタル画像上に現れうるひび割れ形状の定義を模式的に表した図である。
【図10】本発明による一実施例のひび割れ検知装置における近傍連結判定部の動作を示すフローチャートである。
【図11】本発明による一実施例のひび割れ検知装置における近傍連結判定部の計算例を説明する図である。
【図12】本発明による一実施例のひび割れ検知装置における特徴量判定部の動作を示すフローチャートである。
【図13】本発明による一実施例のひび割れ検知装置における飛び地判定部における処理の詳細を説明する図である。
【図14】本発明による一実施例のひび割れ検知装置における飛び地判定部の動作を示すフローチャートである。
【図15】本発明による一実施例のひび割れ検知装置における飛び地判定部の処理例を示す図である。
【図16】本発明による一実施例のひび割れ検知装置におけるひび割れ検知結果例を示す図である。
【発明を実施するための形態】
【0027】
以下、本発明による一実施例のひび割れ検知装置について説明する。本発明に係るひび割れ検知方法及びプログラムは、本実施例のひび割れ検知装置の説明から明らかになる。
【0028】
〔装置構成〕
図1は、本発明による一実施例のひび割れ検知装置のブロック図である。本実施例のひび割れ検知装置100は、制御部10及び記憶部40を備えており、コンピュータとして構成できるものである。制御部10の各機能を実現する処理内容を記述したプログラムを、当該コンピュータの記憶部40に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで制御部10の各機能を実現することができる。
【0029】
制御部10は、コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部20と、ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部30とを備え、ひび割れ判定部30は、ひび割れ抽出画像を生成して表示装置(図示せず)に表示させることができる。尚、表示装置は、例えばパーソナルコンピュータのモニタを用いて実現できる。
【0030】
ひび割れ探査部20は、コンクリート構造物が映った画像からひび割れと思しきパターンの検知を行うことができ、より具体的には、ひび割れ特徴量抽出部201と、ひび割れ収束部202とを備える。ひび割れ判定部30は、ひび割れ探査部20で検知されたひび割れ候補のパターンを自動判定することができ、近傍連結判定部301と、特徴量判定部302と、飛び地判定部303と、論理積演算部304とを備える。
【0031】
ひび割れ特徴量抽出部201は、コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定する機能を有する。より具体的には、ひび割れ特徴量抽出部201は、2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量ξとして選択し、2次元エッジフィルタの対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、2次元エッジフィルタの対応画素の位置との間のユークリッド距離に基づいて、当該周辺画素に対する前記対応画素の連結度ηを算出し、ひび割れ特徴量ξと連結度ηの各々に動的係数を乗算したものを線形結合してひび割れ収束部202(Hopfield型ニューラルネットワーク)の入力値とすることによって、ひび割れ収束部202における2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる機能を有する。
【0032】
ひび割れ収束部202は、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成する機能を有する。より具体的には、ひび割れ収束部202は、ひび割れ特徴量抽出部201からの、ひび割れ特徴量ξと連結度ηの各々に動的係数を乗算したものを線形結合して得られる2次元ニューロン配列の発火パターンのニューロンを入力値とする2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成することができる。
【0033】
近傍連結判定部301は、ひび割れ候補画像に対して、ひび割れ収束部202で発火したニューロンの対応画素をひび割れ候補画素とし、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する機能を有する。より具体的には、近傍連結判定部301は、ひび割れ候補画像を短冊状に分割したセグメント内で、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にあるひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値cntとしてカウントし、近傍連結カウント値cntが一定値以上の場合にひび割れセグメントと判定し、さらにひび割れセグメントの数が一定数以上の場合にひび割れと判定する機能を有する。
【0034】
特徴量判定部302は、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する機能を有する。より具体的には、特徴量判定部302は、ひび割れ候補画素の特徴量ξを合計した値が当該入力画像全体(ひび割れ候補画像全体)の平均輝度から算出した閾値θを超えた場合にひび割れと判定する機能を有する。
【0035】
飛び地判定部303は、ひび割れ候補画素中の判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する機能を有する。より具体的には、飛び地判定部303は、ひび割れ候補画素中の判定対象画素と判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する機能を有する。
【0036】
論理積演算部304は、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積を行う機能を有する。
【0037】
また、本実施例のひび割れ検知装置100の動作について図2を参照して説明する。
【0038】
〔装置動作〕
ひび割れ検知装置100は、まず、コンクリート構造物を撮像した画像を入力して(ステップS100)、ひび割れ特徴量抽出部201によって、コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選択する(ステップS200)。
【0039】
次に、ひび割れ検知装置100は、ひび割れ収束部202によって、ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成する(ステップS300)。
【0040】
次に、ひび割れ検知装置100は、近傍連結判定部301によって、ひび割れ候補画像に対して、ひび割れ収束部202で発火したニューロンの対応画素をひび割れ候補画素とし、ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するとともに、特徴量判定部302によって、ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定し、さらに、飛び地判定部303によって、ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定し、論理積演算部304によって、近傍連結判定部301、特徴量判定部302及び飛び地判定部303にて判定された結果の論理積演算を実行し、最終的なひび割れ画像を抽出して所定の表示装置(図示せず)に表示する(ステップS400)。
【0041】
これにより、ひび割れ検知装置100は、建物や電柱等のコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって、ひび割れの抽出精度を向上させて自動検知することが可能となる。
【0042】
以下より具体的に、ひび割れ検知装置100の処理について、図3(A)に示すひび割れ画像を例に挙げて各機能の詳細を説明する。図3(B)は、図3(A)に示す処理対象の入力画像を従来のニューラルネットワークによるひび割れ検知アルゴリズム(前述した非特許文献2参照)によって処理した結果であり、実際のひび割れ部分へと収束せず、正確なひび割れ形状の抽出に成功していない。なぜならば、この非特許文献2のアルゴリズムでは、一次元のエッジフィルタによって抽出された特徴量をニューラルネットワークの入力情報としてひび割れ探索を行うことになるが、図3(C)に示すように、この一次元のエッジフィルタではひび割れパターンとひび割れ以外のノイズパターンの間に特徴量の差が出難く、ノイズパターンへ収束してしまうケースがよくあるからである。ゆえに、より高い確率でひび割れに収束させるには、ひび割れの特徴のみを優位に捉えてニューラルネットワークの入力情報として設定する必要がある。尚、ニューラルネットワークの詳細は、以下のURLを参考にされたい。
【0043】
<参考URL>
http://msdn.microsoft.com/ja-jp/academic/cc998609.aspx
http://ja.wikipedia.org/wiki/%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%A9%E3%83%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF
【0044】
図4及び図5は、ひび割れ検知装置100におけるひび割れ特徴量抽出部201の処理の詳細を示している。まず、図4及び図5に示すような方向および幅の異なる複数の2次元エッジフィルタを処理対象の入力画像全体に適用し、式(1)に示すように各画素毎にその中から最大値となるものをひび割れ特徴量ξとして選択する。
【0045】
【数1】
【0046】
これらのエッジフィルタのサイズは、入力画像の解像度と探索するひび割れの平均的な幅の両方を加味して設計しなければならない。例えば、図3(A)の画像は、約1400万画素のデジタルカメラを用いて、このデジタルカメラの8メートル先にある幅0.1mmのひび割れを有するコンクリート構造物の表面を撮像したものであるが、これを18x26、3x5、99x101の三種類のエッジフィルタで処理した結果を、それぞれ図6(A)、図6(B)、図6(C)に示す。この中では、図6(A)においてひび割れの特徴量が最も優位に抽出されていることが分かるが、図6(B)ではひび割れと汚れ・傷との間に特徴量の差が少なく、前者のエッジフィルタの方が抽出効果として高くなることが分かる。しかしながら、図6(C)に示すようにエッジフィルタのサイズを大きくし過ぎても、かえってひび割れの特徴量が埋没してしまい逆効果であることが分かる。従って、ターゲットまでの距離、探索するひび割れ幅、撮像に用いるデジタルカメラの画素数等のパラメータから、予め最適フィルタサイズを調整する必要がある。
【0047】
図6(A)における2次元エッジフィルタのサイズ(18×26)は、前述した「カメラの8メートル先にある幅0.1mmのひび割れを約1400万画素のデジタルカメラを用いて」撮影した数10枚のひび割れ画像をひび割れ抽出・判定し、成功が最も多かったサイズである。したがって、ターゲットまでの距離、探索するひび割れ幅、カメラ画素数等のパラメータから、予め最適フィルタサイズを調べておくのが好適である。
【0048】
図7は、本発明に係るひび割れ収束部202における処理の詳細として、前述した非特許文献2に記載されている処理を引用している。ただし、本発明に係るひび割れ検知装置100では、(前述した非特許文献2に記載される)式(2)におけるg(i,j)を、ひび割れ特徴量抽出部201で用いる2次元エッジフィルタの出力ξで置き換えることに留意する。
【0049】
【数2】
【0050】
ここで、実用上の課題としてこのニューラルネットワークの処理速度について言及しておく。一般的にニューラルネットは繰り返し演算を用いており、入力画像が大きくなるにつれて計算コストが大きくなるという問題は本発明に係るひび割れ収束部202のアルゴリズムにおいても例外ではない。この問題を回避するための第1の工夫を図8(A)に示す。
【0051】
従来のアルゴリズムにおいては式(2)の係数A(t)と係数B(t)は定数であるが、本発明に係るひび割れ収束部202では係数A(t)と係数B(t)とを動的に変化させることで高速化を行う。ニューラルネットにおける高速化の手段としては繰り返し回数を減らすことが有効手段であり、繰り返し回数を減らすためには式(2)におけるひび割れパターンへ収束する力を向上させる必要がある。式(2)において、ひび割れ特有の線形状を持つパターンへ収束する力は係数A(t)の大きさに反比例し、係数B(t)の大きさに比例するという性質がある。しかしながら、ひび割れパターンへ収束する力を大きくするために単純に係数A(t)を小さな、また係数B(t)を大きな定数として固定してしまうと、ひび割れ以外の画像において線形状に収束してしまうエラーが起きる。この問題を回避するため、係数A(t),B(t)を繰り返し回数tに対して動的に変化させる。
【0052】
例えば、図8(A)に示すように始めの数回τは、係数A(t)を大きく、また係数B(t)を小さく設定してエッジ特徴量ξが大きい画素に収束し易くする。そして、繰り返し回数がτ+1以降は、徐々にA(t)を小さくB(t)を大きくして画素連結の影響を強くしていくことで、少ない繰り返し回数でひび割れに収束させることができ、ひび割れを抽出する力とひび割れ以外を排他する力を共存させることが可能となる。
【0053】
次に、収束速度を高めるための第2の工夫を図8(B)に示す。従来のアルゴリズムでは、全ての繰り返しステップにおいて全てのニューロンについて計算を行っていたが、本発明に係るひび割れ収束部202では繰り返しステップが進むにつれてニューロンの計算量を減らすことでさらなる高速化を行う。
【0054】
図8(B)に示すように、発火ニューロンまでの距離合計が一番小さくなるような重心列を求め、そこから一定距離R以内で発火しているニューロンのみ計算を行うようにする。その範囲外で発火しているニューロンについては消火し、当該範囲内のどこかでランダム発火させる。但し、一定距離Rを小さくすればするほど計算量が減って高速化される反面、ひび割れが斜め方向に生じている場合には発見し辛くなるというジレンマがあるので、時間と精度のどちらを優先すべきかを用途に応じて考慮し、一定距離Rを慎重に決定しなければならない。本実施例では一定距離Rをウィンドウサイズの6分の1とした。ここで、「発火」とは、式(2)におけるVi,jが1の値を持つ状態を云う。一方、「消火」とは、式(2)におけるVi,jの値を0にすることを云う。同時にUi,jも二度と発火しないように、小さな値(例:‐10000000)を代入する。
【0055】
図9は、ひび割れ判定部におけるデジタル画像上に現れたひび割れ形状の定義を模式的に表した図である。一般的に、ひび割れの形状を局所的な画素の連なりとして見た場合、図9(A)に示すように連続かつ適度に蛇行した分布となる。なぜならば、コンクリート構造物のひび割れというものは、内部に混在した大きさの異なる骨材に沿って連続的に破断しているため、図9(B)に示すような断絶分布となるものや、或いは、図9(C)に示すように規則的な直線分布となるものは、ひび割れではないからである。例えば、ニューラルネットが表面に浮き出た小さな骨材に収束した場合などは図9(B)のような分布になり易く、或いは、人工的な型枠跡に収束した場合などは図9(C)のような分布になり易く、この定義を用いればいずれもひび割れではないと判定することができる。
【0056】
図10は、ひび割れ検知装置100における近傍連結判定部301におけるアルゴリズムのフローチャートを示している。前述したように、本発明に係る近傍連結判定部301では、連続かつ適度に蛇行した分布であるひび割れは局所的に連結しているという特徴を利用してひび割れを判定する。
【0057】
まず、近傍連結判定部301は、ひび割れカウント変数crack_cntを0、近傍連結探索範囲kazuを任意数、式(3)を用いてひび割れ候補画素の各i行のy座標を座標変数ps(i)で初期化する。入力画像を複数のセグメントに分割し、一番上のセグメントから計算を行う(ステップS1)。
【0058】
【数3】
【0059】
次に、近傍連結判定部301は、セグメントごとの初期化として、近傍連結カウント変数cntを0で初期化し、各セグメントの最上部から近傍連結の計算を行う(ステップS2)。
【0060】
続いて、近傍連結判定部301は、式(4)を用いて近傍連結値kyori(i,ps(i))を計算する(ステップS3)。
【0061】
【数4】
【0062】
近傍連結判定部301は、発火ニューロン位置のばらつきを考慮し設定した閾値よりkyori(i,ps(i))が小さければ(ステップS4)、近傍で連結していると判定し近傍連結カウント変数cntに1を加算する(ステップS5)。
【0063】
近傍連結判定部301は、セグメント内の最後の画素であれば次の処理に進み、最後の画素でなければ次の行に移動し(ステップS6)、kyori(i,ps(i))の計算を繰り返す(ステップS7)。
【0064】
近傍連結判定部301は、近傍連結カウント変数cntをセグメントサイズで除算した値が、近傍連結カウント閾値cnt_threshより大きければひび割れセグメントと判定し(ステップS8)、ひび割れカウント変数crack_cntに1を加算する(ステップS9)。
【0065】
近傍連結判定部301は、全セグメントが計算を終了していれば次の処理に進み(ステップS10)、終了していなければ次のセグメントに移動し、セグメントごとの初期化から同様の計算を行う(ステップS11)。
【0066】
最後に、近傍連結判定部301は、ひび割れカウント変数crack_cntがひび割れカウント閾値crack_cnt_threshより大きければ(ステップS12)、ひび割れと判定し(ステップS13)、小さければひび割れではないと判定する(ステップS14)。
【0067】
図11は、近傍連結判定部301における計算例を示している。図11(図示左)は、ひび割れに収束した画像を複数のセグメントに分割したものである。各セグメントにおいて、図11(図示右)のようにひび割れ候補画素に対して近傍連結の計算を行う。太線の四角が近傍連結の計算対象画素であり、近傍連結探索範囲内のひび割れ候補画素とのユークリッド距離を計算する。仮に近傍連結閾値を30と設定し、計算対象画素の上下3画素を近傍連結探索範囲とする。
【0068】
ひび割れの例では、計算対象画素から1行上の画素との距離は1であり、2行上は3であり、3行上は5であり、1行下は1であり、2行下は3であり、3行下は6であることから、近傍連結値kyori(i,ps(i))は19となる。この場合、近傍連結判定部301は、近傍連結値が近傍連結閾値より小さいことから、連結していると判定し近傍連結カウント変数に1を加算する。
【0069】
同様にひび割れではない例では、計算対象画素から1行上の画素との距離は40であり、2行上は22であり、3行上は5であり、1行下は15であり、2行下は20であり、3行下は3であることから、近傍連結値kyori(i,ps(i))は105となる。この場合、近傍連結判定部301は、近傍連結値が近傍連結閾値より大きいことから、連結していないと判定し近傍連結カウント変数にはカウントしない。
【0070】
図12は、ひび割れ検知装置100における特徴量判定部302におけるアルゴリズムのフローチャートを示している。近傍連結判定部301のみでは、ひび割れではない入力画像においてひび割れの形状にひび割れ候補画素が収束した場合、ひび割れと誤って判定してしまう可能性がある。そこで、特徴量判定部302は、ひび割れ候補画素の2次元エッジ特徴量の大きさからひび割れを判定する。ひび割れがあると2次元エッジ特徴量は大きくなり、ひび割れが無いと2次元エッジ特徴量は小さくなる。また、通常ひび割れは黒いため、影などで暗い画像はひび割れがあったとしても2次元エッジ特徴量が小さくなってしまう。それゆえ、暗いほどひび割れを判定する閾値が小さくなるように入力画像全体の輝度に応じて閾値を動的に設定し、ひび割れ抽出力を高める。
【0071】
まず、特徴量判定部302は、処理対象の入力画像全体の初期化として、特徴量カウント変数feature_cntに0を代入する。入力画像を複数のセグメントに分割し、一番上のセグメントから計算を行う(ステップS21)。
【0072】
次に、特徴量判定部302は、式(5)に示すように当該入力画像全体の輝度から特徴量閾値feature_sum_threshを計算する(ステップS22)。
【0073】
【数5】
【0074】
続いて、特徴量判定部302は、セグメントごとの初期化として、2次元エッジ合計特徴量feature_sumに0を代入する(ステップS23)。
【0075】
特徴量判定部302は、式(6)に示すように、セグメント内の全ひび割れ候補画素の2次元エッジ合計特徴量feature_sumを計算する(ステップS24)。
【0076】
【数6】
【0077】
特徴量判定部302は、もし、2次元エッジ合計特徴量feature_sumが特徴量閾値feature_sum_threshより大きければ(ステップS25)、ひび割れセグメントと判定し特徴量カウント変数feature_cntに1を加算する(ステップS26)。
【0078】
特徴量判定部302は、全セグメントが計算を終了していれば次の処理に進み(ステップS27)、終了していなければ次のセグメントに移動し、セグメントごとの初期化から同様の計算を行う(ステップS28)。
【0079】
最後に、特徴量判定部302は、特徴量カウント変数feature_cntが特徴量カウント閾値feature_cnt_threshより大きければ(ステップS29)、ひび割れと判定し、小さければひび割れではないと判定する。
【0080】
図13は、ひび割れ検知装置100における飛び地判定部303の処理の詳細を示しており、図14は、ひび割れ検知装置100における飛び地判定部303のアルゴリズムのフローチャートを示している。図13に示すように、近傍連結判定部302と特徴量判定部303のみではセグメントごとのひび割れ判定であるため、汚れをひび割れと判定とすることがある。それゆえ、図13に示すように、ひび割れは入力画像全体で連続しているとの観点から、飛び地判定部303は、飛び地がある場合はひび割れではないとする判定を行う。
【0081】
まず、飛び地判定部303は、飛び地カウント変数tobi_cntを0、島サイズshima_sizeを任意の数、式(3)を用いてひび割れ候補画素の各i行のy座標を座標変数ps(i)で初期化する。入力画像の最上部の行から計算を開始する(ステップS31)。
【0082】
次に、飛び地判定部303は、隣接距離カウント変数kyori_cntと隣接距離計算用変数iiを0で初期化する(ステップS32)。
【0083】
続いて、飛び地判定部303は、i行のひび割れ候補画素に対して式(7)を用いて上部隣接距離tonari_kyori_uを計算し、式(8)を用いて下部隣接距離tonari_kyori_sを計算する(ステップS33)。
【0084】
【数7】
【0085】
【数8】
【0086】
飛び地判定部303は、上部隣接距離tonari_kyori_uが隣接距離閾値tonari_kyori_threshより小さければ(ステップS34)隣接距離カウント変数kyori_cntに1を加算する(ステップS35)。同様に、飛び地判定部303は、下部隣接距離tonari_kyori_sが隣接距離閾値tonari_kyori_threshより小さければ(ステップS36)、隣接距離カウント変数kyori_cntに1を加算する(ステップS37)。
【0087】
飛び地判定部303は、隣接距離計算用変数iiが島サイズshima_sizeであれば次の処理に進み(ステップS38)、島サイズ未満であれば隣接距離計算用変数iiに1を加算する(ステップS39)。
【0088】
飛び地判定部303は、式(9)を用いて飛び距離tobi_kyoriを計算する(ステップS40)。
【0089】
【数9】
【0090】
ここで、飛び地判定部303は、隣接距離カウント変数kyori_cntが0であり(ステップS41)かつ飛び距離tobi_kyoriが飛び距離閾値tobi_kyori_threshより大きければ(ステップS42)飛び地カウント変数tobi_cntに1を加算する(ステップS43)。
【0091】
飛び地判定部303は、最終行の計算が終了していれば次の処理に進み(S14),終了していなければ次の行に移動する(ステップS45)。
【0092】
最後に、飛び地判定部303は、飛び地カウント変数tobi_cntが飛び地カウント閾値tobi_cnt_threshより大きければ(ステップS46)、ひび割れではないと判定し、それ以外はひび割れと判定する。
【0093】
図15は、飛び地判定部303の処理例を示している。飛び地判定部303は、判定対象画素と判定対象画素に隣接したひび割れ候補画素間のユークリッド距離が一定値以上であり、かつ判定対象画素の前後の所定数画素において隣接するひび割れ候補画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する。
【0094】
図16に、本発明による一実施例のひび割れ検知装置100を用いてひび割れを抽出した結果を示す。従来手法では抽出困難であったひび割れ形状が正確に抽出され、かつ、ひび割れと自動判定されている。
【0095】
以上に説明した通り、本発明によれば、コンクリート構造物の画像から、ひび割れを高精度に抽出し、かつ、自動判定することが可能となる。
【0096】
本発明に係るひび割れ検知装置をコンピュータで構成した場合、各機能を実現する処理内容を記述したプログラムを、当該コンピュータの内部又は外部の記憶部に格納しておき、当該コンピュータの中央演算処理装置(CPU)によってこのプログラムを読み出して実行させることで実現することができる。また、このようなプログラムは、例えばDVD又はCD−ROMなどの可搬型記録媒体の販売、譲渡、貸与等により流通させることができるほか、そのようなプログラムを、例えばネットワーク上にあるサーバの記憶部に記憶しておき、ネットワークを介してサーバから他のコンピュータにそのプログラムを転送することにより、流通させることができる。また、そのようなプログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバから転送されたプログラムを、一旦、自己の記憶部に記憶することができる。また、このプログラムの別の実施態様として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、更に、このコンピュータにサーバからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。従って、本発明は、前述した実施例に限定されるものではなく、その主旨を逸脱しない範囲において種々変更可能である。
【産業上の利用可能性】
【0097】
本発明によれば、コンクリート構造物の画像から、ひび割れを高精度に抽出し、かつ、自動判定することが可能となるので、ひび割れの検査を要する用途に有用である。
【符号の説明】
【0098】
10 制御部
20 ひび割れ探査部
30 ひび割れ判定部
40 記憶部
100 ひび割れ検知装置
201 ひび割れ特徴量抽出部
202 ひび割れ収束部
301 近傍連結判定部
302 特徴量判定部
303 飛び地判定部
304 論理積演算部
【特許請求の範囲】
【請求項1】
コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置であって、
コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部と、該ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部とを備え、
前記ひび割れ探査部は、
前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部と、
前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するひび割れ収束部とを備えることを特徴とする、ひび割れ検知装置。
【請求項2】
前記ひび割れ判定部は、
前記ひび割れ候補画像に対して、前記ひび割れ収束部で発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部と、
前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部と、
前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部と、
前記近傍連結判定部、前記特徴量判定部及び前記飛び地判定部にて判定された結果の論理積を行う論理積演算部とを備えることを特徴とする、請求項1に記載のひび割れ検知装置。
【請求項3】
前記ひび割れ収束部は、2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成されていることを特徴とする、請求項1又は2に記載のひび割れ検知装置。
【請求項4】
前記ひび割れ特徴量抽出部は、前記2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量として選択し、前記対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、前記対応画素の位置との間のユークリッド距離に基づいて、前記周辺画素に対する前記対応画素の連結度を算出し、前記ひび割れ特徴量と前記連結度の各々に動的係数を乗算したものを線形結合して前記ひび割れ収束部の入力値とすることによって、前記ひび割れ収束部における前記2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる手段を有することを特徴とする、請求項1〜3のいずれか一項に記載のひび割れ検知装置。
【請求項5】
前記近傍連結判定部は、前記ひび割れ候補画像を短冊状に分割したセグメント内で、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある前記ひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値としてカウントし、前記近傍連結カウント値が一定値以上の場合にひび割れセグメントと判定し、さらに前記ひび割れセグメントの数が一定数以上の場合にひび割れと判定する手段を有することを特徴とする、請求項1〜4のいずれか一項に記載のひび割れ検知装置。
【請求項6】
前記特徴量判定部は、前記ひび割れ候補画素の特徴量を合計した値が当該ひび割れ候補画像全体の平均輝度から算出した閾値を超えた場合にひび割れと判定する手段を有することを特徴とする、請求項1〜5のいずれか一項に記載のひび割れ検知装置。
【請求項7】
前記飛び地判定部は、前記ひび割れ候補画素中の前記判定対象画素と前記判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ前記判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する手段を有することを特徴とする、請求項1〜6のいずれか一項に記載のひび割れ検知装置。
【請求項8】
ひび割れ検知装置によってコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知方法であって、
前記ひび割れ検知装置の処理手順は、
(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、
(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、
(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、
(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、
(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、
前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、
を含むことを特徴とする、ひび割れ検知方法。
【請求項9】
コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置として構成するコンピュータに、
(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、
(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、
(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、
(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、
(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、
前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、
を実行させるためのプログラム。
【請求項1】
コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置であって、
コンクリート構造物を撮像した画像を入力してコンクリート構造物の表面に生じたひび割れの候補画像を生成するひび割れ探査部と、該ひび割れの候補画像からコンクリート構造物の表面に生じたひび割れを抽出するひび割れ判定部とを備え、
前記ひび割れ探査部は、
前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するひび割れ特徴量抽出部と、
前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するひび割れ収束部とを備えることを特徴とする、ひび割れ検知装置。
【請求項2】
前記ひび割れ判定部は、
前記ひび割れ候補画像に対して、前記ひび割れ収束部で発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定する近傍連結判定部と、
前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定する特徴量判定部と、
前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定する飛び地判定部と、
前記近傍連結判定部、前記特徴量判定部及び前記飛び地判定部にて判定された結果の論理積を行う論理積演算部とを備えることを特徴とする、請求項1に記載のひび割れ検知装置。
【請求項3】
前記ひび割れ収束部は、2次元のニューロン配列を有するHopfield型ニューラルネットワークとして構成されていることを特徴とする、請求項1又は2に記載のひび割れ検知装置。
【請求項4】
前記ひび割れ特徴量抽出部は、前記2次元エッジフィルタの各対応画素についてm種類のエッジ方向とn種類のエッジ幅の組み合わせを持つm×n個の2次元エッジフィルタ処理を行い、そのm×n個の出力値の中から最大値となるものをひび割れ特徴量として選択し、前記対応画素から一定範囲に存在し、識別情報がひび割れを撮像した領域に該当することを示した周辺ニューロンに対応する周辺画素の位置と、前記対応画素の位置との間のユークリッド距離に基づいて、前記周辺画素に対する前記対応画素の連結度を算出し、前記ひび割れ特徴量と前記連結度の各々に動的係数を乗算したものを線形結合して前記ひび割れ収束部の入力値とすることによって、前記ひび割れ収束部における前記2次元ニューロン配列の発火パターンをひび割れパターンへと収束させる手段を有することを特徴とする、請求項1〜3のいずれか一項に記載のひび割れ検知装置。
【請求項5】
前記近傍連結判定部は、前記ひび割れ候補画像を短冊状に分割したセグメント内で、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある前記ひび割れ候補画素以外の各画素とのユークリッド距離を合計した値が一定値以下の場合に近傍連結カウント値としてカウントし、前記近傍連結カウント値が一定値以上の場合にひび割れセグメントと判定し、さらに前記ひび割れセグメントの数が一定数以上の場合にひび割れと判定する手段を有することを特徴とする、請求項1〜4のいずれか一項に記載のひび割れ検知装置。
【請求項6】
前記特徴量判定部は、前記ひび割れ候補画素の特徴量を合計した値が当該ひび割れ候補画像全体の平均輝度から算出した閾値を超えた場合にひび割れと判定する手段を有することを特徴とする、請求項1〜5のいずれか一項に記載のひび割れ検知装置。
【請求項7】
前記飛び地判定部は、前記ひび割れ候補画素中の前記判定対象画素と前記判定対象画素に隣接した画素とのユークリッド距離が一定値以上であり、かつ前記判定対象画素の前後の所定数画素において隣接する画素間のユークリッド距離が全て一定値内である場合、飛び地でありひび割れではないと判定する手段を有することを特徴とする、請求項1〜6のいずれか一項に記載のひび割れ検知装置。
【請求項8】
ひび割れ検知装置によってコンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知方法であって、
前記ひび割れ検知装置の処理手順は、
(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、
(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、
(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、
(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、
(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、
前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、
を含むことを特徴とする、ひび割れ検知方法。
【請求項9】
コンクリート構造物を撮像した画像から、コンクリート構造物の表面に生じたひび割れを画像処理によって自動検知するひび割れ検知装置として構成するコンピュータに、
(A)前記コンクリート構造物を撮像した画像に対して方向及び幅の異なる複数種類の2次元エッジフィルタを個別に適用し、画素ごとに、複数種類のエッジフィルタ適用後の画素値をそれぞれ比較し、最大の画素値をひび割れ特徴量として選定するステップと、
(B)前記ひび割れ特徴量からなる画素値を有する処理対象画像に対してニューラルネットの動作式を用いてニューラル収束演算を実行し、ひび割れ候補画像を生成するステップと、
(C)前記ひび割れ候補画像に対して、前記ステップにて発火したニューロンの対応画素をひび割れ候補画素とし、前記ひび割れ候補画素中の判定対象画素に対して所定の近傍範囲内にある画素についてひび割れと判定するステップと、
(D)前記ひび割れ候補画素の特徴量を合計した値に基づいてひび割れを判定するステップと、
(E)前記ひび割れ候補画素中の前記判定対象画素に対して隣接する画素のユークリッド距離に基づいてひび割れと判定するステップと、
前記ステップ(C)、前記ステップ(D)及び前記ステップ(E)にて判定された結果の論理積を行うステップと、
を実行させるためのプログラム。
【図1】
【図2】
【図4】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図3】
【図6】
【図16】
【図2】
【図4】
【図5】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図3】
【図6】
【図16】
【公開番号】特開2011−242365(P2011−242365A)
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願番号】特願2010−117139(P2010−117139)
【出願日】平成22年5月21日(2010.5.21)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成23年12月1日(2011.12.1)
【国際特許分類】
【出願日】平成22年5月21日(2010.5.21)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]