A.第1実施形態:
A−1.装置構成:
図1は、第1実施形態におけるひび割れ検出装置100の構成を概略的に示す説明図である。ひび割れ検出装置100は、例えばパーソナルコンピュータやタブレット型端末、スマートフォン等の汎用コンピュータである。ひび割れ検出装置100は、記憶部110と、表示部(ディスプレイ)120と、入力部130と、インターフェース部140と、制御部170とを備える。これらの各部は、バス190を介して互いに通信可能に接続されている。
表示部120は、例えば液晶ディスプレイ等により構成され、各種の画像や情報を表示する。入力部130は、例えばキーボードやマウス、マイク等により構成され、ユーザの操作や音声による指示を受け付ける。インターフェース部140は、例えば、LANインターフェースやUSBインターフェース等により構成され、有線または無線により他の装置(例えば、撮像装置320)との通信を行う。
記憶部110は、例えばハードディスクドライブ(HDD)等により構成され、各種のプログラムやデータを記憶する。例えば、記憶部110には、後述するひび割れ検出処理を実行するためのひび割れ検出プログラムCPが格納されている。ひび割れ検出プログラムCPは、例えば、CD−ROMやDVD−ROM、USBメモリ等のコンピュータ読み取り可能な記録媒体(図示しない)に格納された状態で提供され、ひび割れ検出装置100にインストールすることにより記憶部110に格納される。
また、記憶部110には、画像データIdが格納されている。画像データIdは、例えば、対象物(本実施形態では、建築物310の壁)を、デジタルスチルカメラ等の撮像装置320で撮像することにより生成されたものである。画像データIdは、インターフェース部140を介してひび割れ検出装置100に入力され、記憶部110に格納される。
制御部170は、例えばCPUやROM、RAM等により構成され、記憶部110から読み出したコンピュータプログラムを実行することにより、ひび割れ検出装置100の動作を制御する。例えば、制御部170は、ひび割れ検出プログラムCPを読み出して実行することにより、後述のひび割れ検出処理を実行するひび割れ検出処理部200として機能する。ひび割れ検出処理部200は、表示制御部210と、候補検出処理部220と、候補確認処理部230とを含む。また、候補検出処理部220は、ラインフィルタ処理部222と、候補判定部224と、候補領域設定部226とを含む。また、候補確認処理部230は、矩形算出部232と、確認判定部234とを含む。これら各部の機能については、後述のひび割れ検出処理の説明に合わせて説明する。
A−2.ひび割れ検出処理:
次に、ひび割れ検出装置100により実行されるひび割れ検出処理について説明する。ひび割れ検出処理は、対象物を撮像した画像に対する画像処理を行うことにより、該画像からひび割れ(クラック)を検出する処理である。一般に、対象物に発生するひび割れは、線分の成分(すなわち、細長く、かつ、直線的に伸びる成分)を含んでいる。本実施形態では、このようなひび割れの特徴を利用して、精度の高いひび割れ検出処理を実現している。なお、本実施形態では、ひび割れ検出処理の対象物は、建築物310のタイル張りの壁(すなわち、壁状の構造物)である。
図2は、ひび割れ検出処理の実行時に表示部120に表示される画面(以下、「処理時画面S1」という)の一例を示す説明図である。処理時画面S1は、表示制御部210によって表示部120に表示される。処理時画面S1は、画像選択領域R1と、手法選択領域R2と、画像表示領域R3とを含んでいる。画像選択領域R1は、ひび割れ検出処理の対象となる対象画像IOを選択するための領域である。手法選択領域R2は、ひび割れ検出処理に使用する手法(アルゴリズム)を選択するための領域である。画像表示領域R3は、対象画像IO等を表示するための領域である。
処理時画面S1の画像選択領域R1には、記憶部110に記憶された画像データId(図1参照)の表す画像の識別子(ファイル名やサムネイル等)が、選択肢として表示される。画像選択領域R1に表示された画像の選択肢の中から、ユーザが入力部130を介して所望の画像(例えば、「画像1」)を選択すると、選択された画像が対象画像IOとして設定され、画像表示領域R3に表示される。なお、画像選択領域R1には、ひび割れ検出処理により検出されたひび割れの個数を表示する個数表示欄R11が含まれている。
また、処理時画面S1の手法選択領域R2には、ひび割れ検出処理を構成する後述の各処理(ひび割れ候補検出処理、ひび割れ候補確認処理)に使用する手法(アルゴリズム)の選択肢が表示される。手法選択領域R2に表示された複数の手法の中から、ユーザが入力部130を介して各処理についての所望の手法(例えば、ひび割れ候補検出処理の「手法A」、および、ひび割れ候補確認処理の「手法H」)を選択し、「実行」ボタンB1を選択すると、選択された手法を用いたひび割れ検出処理が開始される。なお、図2に示すように、本実施形態では、対象画像IOは、建築物310のタイル張りの壁が写った画像であり、画像を構成する各画素が256階調の画素値で表現されたグレースケール画像である。このグレースケール画像では、黒色画素の画素値が最小値(すなわち、0)であり、白色画素の画素値が最大値(すなわち、255)である。また、対象画像IOには、ひび割れを表す画素(以下、「ひび割れ画素Pc」という)や、ひび割れ画素Pcではないが、ひび割れ画素Pcの画素値に近い画素値を有する画素(例えば、対象物の表面の汚れ等を表す画素であり、以下、「ノイズ画素Pn」という)が含まれている。
図3は、ひび割れ検出処理の流れを示すフローチャートである。まず、ひび割れ検出処理部200は、必要により対象画像IOに対する前処理を実行する(S120)。前処理としては、例えば、対象画像IOの画素値を補正する処理や、対象画像IOからタイルを表す画像領域(以下、「タイル領域」という)を抽出し、タイル領域以外の画像領域(目地の領域等)をひび割れ検出の対象範囲から除外する処理等が挙げられる。なお、タイル領域を抽出する処理は、公知の手法を用いて実行することができる。また、対象画像IOにおけるひび割れ検出の対象範囲が予め定められている場合には、タイル領域を抽出する処理が実行される必要はない。
次に、候補検出処理部220は、ひび割れ候補検出処理を実行する(S130)。ひび割れ候補検出処理は、対象画像IOから、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccを含むひび割れ候補領域CCを検出する処理である。ひび割れ候補検出処理の内容については、後に詳述する。
次に、ひび割れ検出処理部200は、ひび割れ候補検出処理(S130)において、少なくとも1つのひび割れ候補領域CCが検出されたか否かを判定する(S140)。ひび割れ候補領域CCが検出されたと判定された場合には(S140:YES)、候補確認処理部230が、ひび割れ候補確認処理を実行する(S150)。ひび割れ候補確認処理は、対象画像IOから検出されたひび割れ候補領域CCが、真にひび割れを表す画像領域であるひび割れ領域CRであるか否かを確認する処理である。ひび割れ候補確認処理の内容については、後に詳述する。また、ひび割れ候補検出処理においてひび割れ候補領域CCが検出されなかったと判定された場合には(S140:NO)、ひび割れ候補確認処理(S150)はスキップされる。
次に、表示制御部210は、ひび割れ検出処理の結果を表示部120に表示させる(S160)。図4は、ひび割れ検出処理の結果を含む処理時画面S1の一例を示す説明図である。図4に示す処理時画面S1の例では、画像表示領域R3に表示された対象画像IO上に、検出されたひび割れ領域CRを示す画像(すなわち、ひび割れ候補画素Pccの少なくとも一部を示す画像)が表示されている。また、処理時画面S1の画像選択領域R1の個数表示欄R11には、対象画像IOから検出されたひび割れ領域CRの個数(例えば、1個)が示されている。ユーザは、ひび割れ検出処理の結果を示す処理時画面S1を通じて、対象画像IOに表された対象物(例えば、建築物310の壁)におけるひび割れの発生状況を把握することができる。
A−3.ひび割れ候補検出処理:
次に、ひび割れ候補検出処理(図3のS130)について詳細に説明する。上述したように、ひび割れ候補検出処理は、対象画像IOから、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccを含むひび割れ候補領域CCを検出する処理である。図5は、ひび割れ候補検出処理の流れを示すフローチャートである。
なお、図1に示すように、ひび割れ検出装置100の記憶部110には、ラインフィルタグループLFGが格納されている。本実施形態では、記憶部110に、後述するラインフィルタLFの1辺の要素数(以下、「単位要素数」という)が互いに異なる複数のラインフィルタグループLFGが格納されている。以下の説明では、単位要素数NのラインフィルタグループLFGを、ラインフィルタグループLFG(N)と表す。単位要素数Nは、3以上の奇数である。
図6は、ラインフィルタグループLFGの一例を示す説明図である。図6には、単位要素数Nが7であるラインフィルタグループLFG(7)と、単位要素数Nが9であるLFG(9)とが例示されている。記憶部110に格納されるラインフィルタグループLFGの個数や、各ラインフィルタグループLFGの単位要素数Nは、任意に設定可能である。
単位要素数NのラインフィルタグループLFG(N)は、N行×N列の要素から構成された複数のラインフィルタLF(N)から構成されている。各ラインフィルタLF(N)は、中央要素CEを通る直線に重なる各要素の要素値が正の値であり、かつ、該直線から上記直線に直交する方向に所定距離以上離れた要素の要素値が0以下であるフィルタである。本実施形態では、各ラインフィルタLF(N)において、中央要素CEを通る直線に重なる各要素(図6の要素列L0を構成する各要素)の要素値は1であり、該直線から2要素分離れた各要素(図6の要素列L2を構成する各要素)の要素値は0であり、該直線から3要素分離れた各要素(図6の要素列L3を構成する各要素)の要素値は−0.2であり、該直線から4要素分以上離れた各要素(図6の要素列LXを構成する各要素)の要素値は0である。また、本実施形態では、各ラインフィルタLF(N)において、中央要素CEを通る直線から1要素分離れた各要素(図6の要素列L1を構成する各要素)の要素値は0.2である。なお、本実施形態で用いられる各ラインフィルタLF(N)において、2要素分の距離は特許請求の範囲における第1の距離に相当し、要素値「1」は特許請求の範囲における第1の正の値に相当し、要素値「0.2」は特許請求の範囲における第2の正の値に相当する。
また、あるラインフィルタグループLFG(N)を構成する複数のラインフィルタLF(N)のそれぞれは、要素値が1である要素が並ぶ上記直線の傾き(以下、「フィルタ角度」という)が互いに異なっている。本実施形態では、ラインフィルタグループLFG(N)は、フィルタ角度が30度ずつ互いに異なる12個のラインフィルタLF(N)から構成されている。例えば、図6に示すように、単位要素数Nが7であるラインフィルタグループLFG(7)を構成する1つのラインフィルタLF(7)−0は、要素値が1である要素が水平方向(図の左右方向)に並んでおり(すなわち、フィルタ角度が0度であり)、他の1つのラインフィルタLF(7)−90は、要素値が1である要素が垂直方向(図の上下方向)に並んでいる(すなわち、フィルタ角度が90度である)。ラインフィルタグループLFG(7)は、他にも、フィルタ角度が30度であるラインフィルタLF(7)−30や、フィルタ角度が60度であるラインフィルタLF(7)−60等を含んでいる。他のラインフィルタグループLFGについても同様である。
ひび割れ候補検出処理(図5)が開始されると、候補検出処理部220のラインフィルタ処理部222は、対象画像IOに対して白黒反転処理を行う。これにより、対象画像IOは、黒色画素の画素値が最大値(すなわち、255)であり、白色画素の画素値が最小値(すなわち、0)である画像となる。次に、候補検出処理部220のラインフィルタ処理部222は、記憶部110に記憶された複数のラインフィルタグループLFGの中から1つのラインフィルタグループLFGを選択する(S210)。本実施形態では、ラインフィルタ処理部222は、未選択のラインフィルタグループLFGの内、単位要素数Nが最も大きいラインフィルタグループLFGを選択する。ラインフィルタ処理部222は、選択されたラインフィルタグループLFGを記憶部110から読み出すことによって取得する。
次に、ラインフィルタ処理部222は、対象画像IOを対象として、選択されたラインフィルタグループLFGを用いたラインフィルタ処理を実行する(S220)。図7は、対象画像IOの一例を示す説明図である。図7には、対象画像IOの一部分(図2のX1部に相当する部分)の構成が拡大して示されている。図7に示す例では、対象画像IOに、ひび割れを表すひび割れ画素Pcと、ひび割れ以外の背景(正常なタイル部分)を表す背景画素Pbとが含まれている。ひび割れ画素Pcは、画素値が比較的大きく(すなわち、比較的黒色の画素値に近く)、背景画素Pbは、画素値が比較的小さい(すなわち、比較的白色の画素値に近い)。さらに、図7に示す例では、対象画像IOに、ひび割れ画素Pcではないが、ひび割れ画素Pcの画素値に近い画素値を有する画素(例えば、対象物の表面の汚れ等を表す画素)であるノイズ画素Pnも含まれている。
図8は、ラインフィルタグループLFGを用いたラインフィルタ処理を示すフローチャートである。また、図9は、ラインフィルタグループLFGを用いたラインフィルタ処理の概要を示す説明図である。図9のA欄には、対象画像IO(の一部)を構成する各画素の画素値が示されている。この例では、対象画像IOの中央付近に位置する垂直方向(図の上下方向)に伸びる領域(破線で囲まれた領域)において、画素値が比較的大きくなっている。この領域は、ひび割れ画素Pcにより構成されたひび割れ領域CRである。また、図9のB欄には、単位要素数Nが7でありフィルタ角度が90度であるラインフィルタLF(7)−90(図6参照)を用いたフィルタ演算の例が示されている。また、図9のC欄には、ラインフィルタLF(7)−90を用いたフィルタ演算後の対象画像IOが示されている。なお、フィルタ角度θ(度)のラインフィルタを用いたフィルタ演算後の対象画像IOを、フィルタ演算後対象画像IO(f)−θという。
ラインフィルタグループLFGを用いたラインフィルタ処理(図8)では、まず、ラインフィルタ処理部222が、対象画像IOを構成する画素の1つを注目画素SPとして選択する(S221)。図9のA欄には、対象画像IOを構成する画素の1つが注目画素SPとして選択された状態が示されている。
次に、ラインフィルタ処理部222は、選択されたラインフィルタグループLFGを構成するラインフィルタLFの1つを選択し(S222)、選択されたラインフィルタLFを対象画像IO上に配置する(S223)。このとき、注目画素SPにラインフィルタLFの中央要素CEが重なるようにする。図9のA欄には、対象画像IO上に配置されるラインフィルタLF(7)−90の位置が太実線で示されている。
次に、ラインフィルタ処理部222は、互いに重なり合うラインフィルタLFの要素の要素値と対象画像IOの画素の画素値とを用いた所定のフィルタ演算を実行することにより、原レスポンス値Roを算出する(S224)。具体的には、ラインフィルタ処理部222は、対象画像IOの画素の画素値を底としラインフィルタLFの要素値をべき指数とするべき乗値を算出し、ラインフィルタLFを構成するすべての要素についての上記べき乗値の積を、原レスポンス値Roとして算出する。例えば、単位要素数Nが7であるラインフィルタグループLFG(7)を用いたラインフィルタ処理における1回目のS222のステップにおいて、図6に示すフィルタ角度が90度のラインフィルタLF(7)−90が選択されたものとする。この場合には、原レスポンス値Roは、図9のB欄に示すように、30−0.2×300×1500.2×2001×・・・×30−0.2×30−0.2×300×1500.2×2001×・・・×30−0.2=1.2×1018となる。
原レスポンス値Roの算出(S224)の後、ラインフィルタ処理部222は、現在選択されているラインフィルタグループLFGを構成するすべてのラインフィルタLFの選択が完了したか否かを判定し(S225)、未選択のラインフィルタLFがあると判定した場合には(S225:NO)、S222に戻って上述の処理を繰り返す。例えば、単位要素数Nが7であるラインフィルタグループLFG(7)を用いたラインフィルタ処理における2回目のS222のステップにおいて、図6に示すフィルタ角度が0度のラインフィルタLF(7)−0が選択されたものとする。この場合には、対象画像IO上にラインフィルタLF(7)−0が配置され(S223)、原レスポンス値Roの算出(S224)が行われる。このとき、原レスポンス値Roは、30−0.2×30−0.2×150−0.2×200−0.2×・・・×30−0.2×300×300×1500×2000×・・・×30−0.2=3.6×1012となる。
ここで、あるフィルタ角度のラインフィルタLFについて算出された原レスポンス値Roが大きいということは、対象画像IOにおける該ラインフィルタLFに重なった画像領域において、該ラインフィルタLFのフィルタ角度の方向(要素値が1である要素が並ぶ直線の方向であり、例えばラインフィルタLF(7)−90では垂直方向)に画素値が比較的大きい(すなわち、黒色に近い)画素が並んでいることを意味する。例えば、図9のA欄に示す例では、対象画像IOにおけるラインフィルタLFに重なった画像領域において、垂直方向に画素値が比較的大きい画素が並んでいる。そのため、この例では、フィルタ角度が90度であるラインフィルタLF(7)−90を用いて算出された原レスポンス値Ro(1.2×1018)は、フィルタ角度が0度であるラインフィルタLF(7)−0を用いて算出された原レスポンス値Ro(3.6×1012)より大きくなっている。このように、本実施形態のラインフィルタ処理では、対象画像IOにおいて、注目画素SPを中心として画素値が比較的大きい画素が特定の方向に所定の長さ(単位要素数Nに相当する長さ)以上並んでいると、該方向に一致するフィルタ角度を有するラインフィルタLFについての原レスポンス値Roが比較的大きい値となる。
ラインフィルタ処理部222は、ラインフィルタLFの選択(S222)から原レスポンス値Roの算出(S224)までの処理を繰り返し実行し、現在選択されているラインフィルタグループLFGを構成するすべてのラインフィルタLFの選択が完了した(すなわち、現在選択されている注目画素SPについて、すべてのラインフィルタLFについての原レスポンス値Roの算出が完了した)と判定した場合には(S225:YES)、対象画像IOを構成するすべての画素について注目画素SPとしての選択が完了したか否かを判定し(S227)、未選択の画素があると判定した場合には(S227:NO)、S221に戻って上述の処理を繰り返す。すなわち、対象画像IO中の未選択の画素の1つが新たに注目画素SPとして選択され、新たに選択された注目画素SPについて、現在選択されているラインフィルタグループLFGを用いたラインフィルタ処理が行われることによって、各ラインフィルタLFについての原レスポンス値Roが算出される。
このような処理が繰り返されることにより、対象画像IOを構成するすべての画素について、現在選択されているラインフィルタグループLFGを構成する各ラインフィルタLFについての原レスポンス値Roが算出される。上述したように、対象画像IOを構成する各画素の画素値が、フィルタ角度θ(度)のラインフィルタを用いたフィルタ演算により算出された原レスポンス値Roに置き換えられた画像を、フィルタ演算後対象画像IO(f)−θという。図9のC欄には、ラインフィルタLF(7)−90を用いたフィルタ演算後対象画像IO(f)−90の一部が示されている。このフィルタ演算後対象画像IO(f)−90では、中央付近に位置する垂直方向(図の上下方向)に伸びる領域(ひび割れ領域CRに対応する領域)の原レスポンス値Roが比較的大きい値になっている。
ラインフィルタ処理部222は、対象画像IOを構成するすべての画素について注目画素SPとしての選択が完了したと判定した場合には(S227:YES)、各ラインフィルタLFについて(各フィルタ角度について)、原レスポンス値Roに基づき重み付けレスポンス値Rwを算出し、対象画像IOの各画素の画素値を重み付けレスポンス値Rwに置き換えることによって、ラインフィルタLF毎の(フィルタ角度毎の)処理後対象画像を生成する(S228)。その後、ラインフィルタ処理を終了する。なお、重み付けレスポンス値Rwは、特許請求の範囲におけるレスポンス値に相当する。
重み付けレスポンス値Rwの算出は、以下のように行う。例えば、フィルタ角度90度についての重み付けレスポンス値Rwは、フィルタ角度90度のラインフィルタLFを用いて算出された原レスポンス値Roに第1の重み係数W1を乗算した値と、フィルタ角度が90度に近い他のラインフィルタLF(例えば、フィルタ角度が60度および120度のラインフィルタLF)を用いて算出された原レスポンス値Roに第2の重み係数W2(ただし、第2の重み係数W2<第1の重み係数W1)を乗算した値と、の和である。第1の重み係数W1は、例えば「1」に設定され、第2の重み係数W2は、例えば「0.2」に設定される。なお、あるフィルタ角度についての重み付けレスポンス値Rwの算出の際に用いられる他のフィルタ角度の数は、2つに限られず、1つでもよいし、3つ以上でもよい。例えば、フィルタ角度90度についての重み付けレスポンス値Rwの算出の際に、フィルタ角度が60度および120度のラインフィルタLFを用いて算出された原レスポンス値Roに加えて、フィルタ角度が30度および150度のラインフィルタLFを用いて算出された原レスポンス値Roが用いられてもよい。また、その際に、フィルタ角度が30度および150度のラインフィルタLFを用いて算出された原レスポンス値Roに乗算される第2の重み係数W2の値は、フィルタ角度が60度および120度のラインフィルタLFを用いて算出された原レスポンス値Roに乗算される第2の重み係数W2の値と同一でもよいし、該第2の重み係数W2の値より小さいとしてもよい。
このように、本実施形態のラインフィルタ処理(図8)では、対象画像IOにおいて、順次選択された注目画素SPを中心として画素値が比較的大きい画素が特定の方向に所定の長さ(単位要素数Nに相当する長さ)以上並んでいる箇所がある場合に、該特定の方向に対応するラインフィルタLF(フィルタ角度)について算出された重み付けレスポンス値Rwによって、注目画素SPの画素値が比較的大きい値に置き換えられ、そのような箇所が無い場合に、注目画素SPの画素値が比較的小さい値に置き換えられる。そのため、本実施形態のラインフィルタ処理では、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(線分の成分を有する領域)において、ラインフィルタ処理後の該特定の方向に対応するラインフィルタLFについての対象画像IOの画素値が比較的大きい値になる。
図5に示すように、選択されたラインフィルタグループLFGを用いたラインフィルタ処理(S220)が完了すると、候補判定部224は、ラインフィルタ処理後の対象画像IOにおいて、画素値が予め定められた閾値以上である画素を、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccとして設定する(S240)。上述したように、本実施形態のラインフィルタ処理では、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(すなわち、ある程度以上の長さの線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が比較的大きい値になるため、画素値が閾値以上である画素をひび割れ候補画素Pccに設定するものとしている。
次に、候補領域設定部226は、設定されたひび割れ候補画素Pccを含む画像領域を、ひび割れを表す画像領域である蓋然性の高いひび割れ候補領域CCとして設定する(S250)。なお、ひび割れ候補領域CCは、ひび割れ候補画素Pccのみから構成されるとしてもよいし、ひび割れ候補画素Pccではない画素を僅かに含んでいてもよい。例えば、一群のひび割れ候補画素Pccにより囲まれた領域の内側に、ひび割れ候補画素Pccではない画素が僅かに存在する場合に、そのようなひび割れ候補画素Pccではない画素を含めてひび割れ候補領域CCを設定するものとしてもよい。
図10は、ひび割れ候補領域CCの設定結果の一例を示す説明図である。図10では、ひび割れ候補画素Pccに設定された画素(ひび割れ候補領域CC)に、ハッチングが付されている。図10に示された例では、真にひび割れを表すひび割れ画素Pc(破線で囲んで示す)の大部分が、ひび割れ候補画素Pccに設定されている。これは、ひび割れ画素Pcにより構成される画像領域が、比較的長い線分の成分を含むからである。一方、ノイズ画素Pn(破線で囲んで示す)はすべて、ひび割れ候補画素Pccには設定されていない。すなわち、これらのノイズ画素Pnが誤ってひび割れとして検出される誤検出の発生が防止されている。ノイズ画素Pnにより構成される画像領域は、ひび割れ画素Pcにより構成される画像領域が含むような比較的長い線分の成分を含まないため、ひび割れ候補画素Pccとして設定されていないのである。
次に、ラインフィルタ処理部222は、記憶部110に記憶されたすべてのラインフィルタグループLFGの選択が完了したか否かを判定し(S260)、未選択のラインフィルタグループLFGがあると判定した場合には(S260:NO)、S210に戻って上述の処理を繰り返す。なお、上述したように、ラインフィルタグループLFGの選択(S210)の際には、未選択のラインフィルタグループLFGの内、単位要素数Nが最も大きいラインフィルタグループLFGを選択する。また、複数の各ラインフィルタグループLFGのそれぞれを用いた上述の処理においてひび割れ候補領域CCが設定された場合には、各ひび割れ候補領域CCを合算するなどして、最終的なひび割れ候補領域CCを設定する。
以上説明したひび割れ候補検出処理により、対象画像IOから、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccを含むひび割れ候補領域CCが検出される。
A−4.ひび割れ候補確認処理:
次に、ひび割れ候補確認処理(図3のS150)について詳細に説明する。上述したように、ひび割れ候補確認処理は、対象画像IOから検出されたひび割れ候補領域CCが、真にひび割れを表す画像領域であるひび割れ領域CRであるか否かを確認する処理である。図11は、ひび割れ候補確認処理の流れを示すフローチャートである。また、図12は、ひび割れ候補確認処理の概要を示す説明図である。
はじめに、候補確認処理部230は、1つのひび割れ候補領域CCを選択する(S310)。図12には、選択された1つのひび割れ候補領域CCが示されている。上述したように、本実施形態では、ひび割れ候補領域CCは、ひび割れ候補画素Pccから構成された画像領域である。
次に、候補確認処理部230の矩形算出部232は、選択されたひび割れ候補領域CCを内包する最小矩形REを算出する(S320)。図12には、選択されたひび割れ候補領域CCを内包する最小矩形REが示されている。
次に、候補確認処理部230の確認判定部234は、最小矩形REの幅Wrに対する長さLr(ただし、Lr≧Wr)の比(以下、「アスペクト比(Lr/Wr)」という)が、所定の閾値Th1以上であるか否かを判定する(S330)。なお、最小矩形REの幅Wrは、ひび割れ候補領域CCの幅に相当し、最小矩形REの長さLrは、ひび割れ候補領域CCの長さに相当する。
確認判定部234は、最小矩形REのアスペクト比(Lr/Wr)が閾値Th1以上である場合には(S330:YES)、選択されたひび割れ候補領域CCは、真にひび割れを表すひび割れ領域CRであると判定する(S340)。一方、確認判定部234は、最小矩形REのアスペクト比(Lr/Wr)が閾値Th1未満である場合には(S330:NO)、選択されたひび割れ候補領域CCは、真にひび割れを表すひび割れ領域CRではなく、ひび割れではないものが誤って検出されたもの(誤検出)であると判定する(S350)。上述したように、対象物に発生するひび割れは線分の成分を含んでいるため、真にひび割れを表すひび割れ領域CRのアスペクト比は、ある程度大きい値となる。そのため、本実施形態では、ひび割れ候補領域CC(を内包する最小矩形RE)のアスペクト比が比較的大きい場合に、該ひび割れ候補領域CCは真のひび割れ領域CRであると判定し、ひび割れ候補領域CC(を内包する最小矩形RE)のアスペクト比が比較的小さい場合に、該ひび割れ候補領域CCは真のひび割れ領域CRではないと判定するものとしている。
候補確認処理部230は、すべてのひび割れ候補領域CCの選択が完了したか否かを判定し(S360)、未選択のひび割れ候補領域CCが存在すると判定した場合には(S360:NO)、S310に戻って上述の処理を繰り返す。一方、候補確認処理部230は、未選択のひび割れ候補領域CCが存在しないと判定した場合には(S360:YES)、ひび割れ候補確認処理を終了する。
以上説明したひび割れ候補確認処理により、ひび割れ候補検出処理において対象画像IOから検出された各ひび割れ候補領域CCが、真にひび割れを表すひび割れ領域CRであるか否かが確認される。ひび割れ候補確認処理により確認されたひび割れ領域CRは、上述したように、処理時画面S1の画像表示領域R3に表示された対象画像IO上に示される(図4参照)。
A−5.本実施形態の効果:
以上説明したように、本実施形態のひび割れ検出装置100は、記憶部110と、ラインフィルタ処理部222と、候補判定部224とを備える。記憶部110は、複数のラインフィルタLFから構成されたラインフィルタグループLFGを記憶する。ラインフィルタグループLFGを構成する各ラインフィルタLFは、N行×N列(ただし、Nは3以上の奇数)の要素から構成され、行方向および列方向の中央に位置する中央要素CEを通る直線に重なる各要素の要素値が正の値(例えば1)であり、かつ、上記直線から上記直線に直交する方向に所定距離以上離れた要素の要素値が0以下であるフィルタである。各ラインフィルタLFにおける要素値が正の値(例えば1)である各要素が並ぶ上記直線の傾き(フィルタ角度)は、互いに異なっている。また、ラインフィルタ処理部222は、対象物を表す対象画像IOを構成する画素を注目画素SPとして順次選択し、ラインフィルタグループLFGを構成する各ラインフィルタLFについて、注目画素SPにラインフィルタLFの中央要素CEが重なるように対象画像IO上にラインフィルタLFを配置し、互いに重なり合うラインフィルタLFの要素の要素値と対象画像IOの画素の画素値とを用いた所定の演算を実行することにより原レスポンス値を算出し、注目画素SPの画素値を、各ラインフィルタLFについて算出された原レスポンス値に基づき算出されたレスポンス値に置き換えることにより、少なくとも1つの処理後対象画像を生成するラインフィルタ処理を実行する。また、候補判定部224は、ラインフィルタ処理後の対象画像IOにおいて、画素値が所定の閾値以上である画素を、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccに設定する。
このように、本実施形態のひび割れ検出装置100では、ラインフィルタ処理部222が、ラインフィルタグループLFGを用いて上述したラインフィルタ処理を実行する。このようなラインフィルタ処理によれば、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(すなわち、ある程度以上の長さの線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が比較的大きい値になる。また、本実施形態のひび割れ検出装置100では、候補判定部224は、ラインフィルタ処理後の対象画像IOにおいて、画素値が所定の閾値以上である画素、すなわち、ある程度以上の長さの線分の成分を有する領域を構成する画素を、ひび割れ候補画素Pccに設定する。一般に、対象物に発生するひび割れは、ある程度以上の長さの線分の成分(すなわち、細長く、かつ、直線的に伸びる成分)を含んでいる。そのため、本実施形態のひび割れ検出装置100によれば、ひび割れではないが、ひび割れ部分に近い画素値を有する部分(例えば、対象物の表面の汚れ等)を誤ってひび割れとして検出する誤検出や、実際に存在するひび割れを検出できない検出漏れが発生することを抑制することができ、画像処理を用いたひび割れ検出の精度を向上させることができる。
また、本実施形態のひび割れ検出装置100では、原レスポンス値Roを算出するための上記所定の演算は、対象画像IOの画素値を底としラインフィルタLFの要素値をべき指数とするべき乗値を算出し、ラインフィルタLFを構成するすべての要素についての上記べき乗値の積を原レスポンス値Roとする演算である。このようにすれば、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(すなわち、ある程度以上の長さの線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が、他の領域の画素値とより明確に区別できる程度の大きな値になる。そのため、本実施形態のひび割れ検出装置100によれば、誤検出や検出漏れが発生することを効果的に抑制することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
また、本実施形態のひび割れ検出装置100では、ラインフィルタ処理部222は、ラインフィルタLF毎に(フィルタ角度毎に)処理後対象画像を生成する。また、一のラインフィルタLFについての処理後対象画像の生成のために算出されるレスポンス値として、該一のラインフィルタLFを用いて算出された原レスポンス値Roに第1の重み係数W1を乗算した値と、該一のラインフィルタLFに対して直線の傾き(フィルタ角度)が近接する少なくとも1つの他のラインフィルタLFを用いて算出された原レスポンス値Roに第1の重み係数W1より小さい重み係数W2を乗算した各値と、の和である重み付けレスポンス値Rwが用いられる。そのため、本実施形態のひび割れ検出装置100によれば、対象画像IOにおけるひび割れの方向がフィルタ角度から少しずれている場合においてもひび割れを精度良く検出することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
また、本実施形態のひび割れ検出装置100では、ラインフィルタLFは、中央要素CEを通る直線に重なる各要素の要素値が第1の正の値(例えば1)であり、上記直線から上記直線に直交する方向に第1の距離以上離れた要素の要素値が0以下であり、かつ、上記直線から上記直線に直交する方向に上記第1の距離未満離れた要素の要素値が上記第1の正の値より小さい第2の正の値(例えば0.2)であるフィルタである。そのため、本実施形態のひび割れ検出装置100によれば、ある程度の幅を有するひび割れを精度良く検出することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
また、本実施形態のひび割れ検出装置100では、ラインフィルタ処理部222は、単位要素数Nの値が大きい順にラインフィルタグループLFGの選択を行う。そのため、本実施形態のひび割れ検出装置100によれば、ノイズ画素を誤ってひび割れ画素として検出する誤検出の発生をより確実に抑制することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
また、本実施形態のひび割れ検出装置100は、さらに、ひび割れ候補画素(ひび割れ候補画素Pcc)を示す画像を表示部120に表示させる表示制御部210を備える。そのため、本実施形態のひび割れ検出装置100によれば、ユーザに、対象物におけるひび割れの発生状況を把握させることができる。
また、本実施形態のひび割れ検出装置100では、ひび割れ検出処理の対象物は、建築物310のタイル張りの壁、すなわち壁状の構造物である。壁状の構造物は、ひび割れの発生が問題になりやすい対象物であり、かつ、比較的広い範囲でひび割れの検出を行う必要がある対象物である。本実施形態のひび割れ検出装置100によれば、そのような対象物のひび割れの検出を、効率的に、かつ、精度良く実行することができる。
B.第2実施形態:
図13は、第2実施形態におけるひび割れ候補検出処理の流れを示すフローチャートであり、図14は、第2実施形態におけるラインフィルタグループLFGの一例を示す説明図であり、図15は、第2実施形態におけるラインフィルタグループLFGを用いたラインフィルタ処理を示すフローチャートであり、図16は、第2実施形態におけるラインフィルタグループLFGを用いたラインフィルタ処理の概要を示す説明図である。以下では、第2実施形態のひび割れ候補検出処理の内、上述した第1実施形態のひび割れ候補検出処理と同一の処理内容については、同一の符号を付すことによってその説明を適宜省略する。
図14に示すように、第2実施形態で使用される単位要素数NのラインフィルタグループLFG(N)は、N行×N列の要素から構成された複数のラインフィルタLF(N)から構成されている。各ラインフィルタLF(N)は、中央要素CEを通る直線に重なる各要素の要素値が正の値であり、かつ、その他の要素の要素値が0以下であるフィルタである。より具体的には、各ラインフィルタLF(N)において、中央要素CEを通る直線に重なる各要素の要素値は1であり、その他の要素の要素値は0である。なお、図14では、要素値0の図示を省略している(図16等においても同様)。
また、あるラインフィルタグループLFG(N)を構成する複数のラインフィルタLF(N)のそれぞれは、要素値が1である要素が並ぶ上記直線の傾き(フィルタ角度)が互いに異なっている。例えば、図14に示すように、単位要素数Nが5であるラインフィルタグループLFG(5)を構成する1つのラインフィルタLF(5)−0は、要素値が1である要素が水平方向(図の左右方向)に並んでおり(すなわち、フィルタ角度が0度であり)、他の1つのラインフィルタLF(5)−90は、要素値が1である要素が垂直方向(図の上下方向)に並んでいる(すなわち、フィルタ角度が90度である)。ラインフィルタグループLFG(5)は、他にも、フィルタ角度が45度であるラインフィルタLF(5)−45や、フィルタ角度が135度であるラインフィルタLF(5)−135等を含んでいる。他のラインフィルタグループLFGについても同様である。
ひび割れ候補検出処理(図13)が開始されると、第1実施形態と同様に、ラインフィルタグループLFGが選択され(S210)、選択されたラインフィルタグループLFGを用いたラインフィルタ処理が実行される(S220)。
ラインフィルタ処理(図15)が開始されると、第1実施形態と同様に、注目画素SPが選択され(S221)、ラインフィルタLFが選択され(S222)、選択されたラインフィルタLFが対象画像IO上に配置される(S223)。図16のA欄には、対象画像IO上に配置されるラインフィルタLF(5)の位置が太実線で示されている。
次に、ラインフィルタ処理部222は、互いに重なり合うラインフィルタLFの要素の要素値と対象画像IOの画素の画素値とを用いた所定のフィルタ演算を実行することにより、原レスポンス値Roを算出する(S224)。ただし、第2実施形態では、このときのフィルタ演算方法が、上述した第1実施形態とは異なる。具体的には、ラインフィルタ処理部222は、対象画像IOの画素の画素値とラインフィルタLFの要素値との乗算値を算出し、ラインフィルタLFを構成するすべての要素についての上記乗算値の和を、原レスポンス値Roとして算出する。例えば、単位要素数Nが5であるラインフィルタグループLFG(5)を用いたラインフィルタ処理における1回目のS222のステップにおいて、図16のB欄に示すラインフィルタLF(5)−0が選択されたものとする。この場合には、原レスポンス値Roは、1×30+1×150+1×200+1×150+1×30=560となる。
原レスポンス値Roの算出(S224)の後、ラインフィルタ処理部222は、現在選択されているラインフィルタグループLFGを構成するすべてのラインフィルタLFの選択が完了したか否かを判定し(S225)、未選択のラインフィルタLFがあると判定した場合には(S225:NO)、S222に戻って上述の処理を繰り返す。例えば、単位要素数Nが5であるラインフィルタグループLFG(5)を用いたラインフィルタ処理における2回目のS222のステップにおいて、図16のB欄に示すラインフィルタLF(5)−90が選択されたものとする。この場合には、対象画像IO上にラインフィルタLF(5)−90が配置され(S223)、原レスポンス値Roの算出(S224)が行われる。このとき、図16のB欄に示すように、原レスポンス値Roは、1×200+1×200+1×200+1×200+1×200=1000となる。
ラインフィルタ処理部222は、ラインフィルタLFの選択(S222)から原レスポンス値Roの算出(S224)までの処理を繰り返し実行し、現在選択されているラインフィルタグループLFGを構成するすべてのラインフィルタLFの選択が完了した(すなわち、現在選択されている注目画素SPについて、すべてのラインフィルタLFについての原レスポンス値Roの算出が完了した)と判定した場合には(S225:YES)、原レスポンス値Roに基づき最大レスポンス値Rmを算出し、注目画素SPの画素値を最大レスポンス値Rmに置き換えることによって、処理後対象画像を生成する(S226)。なお、最大レスポンス値Rmは、特許請求の範囲におけるレスポンス値に相当する。例えば、図16のB欄に示すように、単位要素数Nが5であるラインフィルタグループLFG(5)を構成する各ラインフィルタLF(5)について原レスポンス値Roを算出すると、ラインフィルタLF(5)−90について算出されたものが最大値(1000)となる。そのため、ラインフィルタ処理部222は、注目画素SPの画素値を、ラインフィルタLF(5)−90について算出された原レスポンス値Roである1000に置き換える(図16のC欄参照)。
あるラインフィルタLFについて算出された原レスポンス値Roが大きいということは、対象画像IOにおける該ラインフィルタLFに重なった画像領域において、該ラインフィルタLFにおける要素値が1である要素が並ぶ直線の方向(例えば、図16のB欄に示すラインフィルタLF(5)−90では垂直方向(図の上下方向))に、画素値が比較的大きい(すなわち、黒色に近い)画素が並んでいることを意味する。例えば、図16のA欄に示す例では、対象画像IOにおけるラインフィルタLFに重なった画像領域において、垂直方向に画素値が比較的大きい画素が並んでいる。そのため、この例では、要素値が1である要素が垂直方向に並ぶラインフィルタLF(5)−90について、原レスポンス値Roが最大となるのである。このように、本実施形態のラインフィルタ処理では、対象画像IOにおいて、注目画素SPを中心として画素値が比較的大きい画素が特定の方向に所定の長さ(単位要素数Nに相当する長さ)以上並んでいると、注目画素SPの画素値が比較的大きい値に置き換えられることとなる。一方、対象画像IOにおいて、注目画素SPを中心として画素値が比較的大きい画素が特定の方向に所定の長さ(単位要素数Nに相当する長さ)以上並んでいる箇所が無い場合には、注目画素SPの画素値は比較的小さい値に置き換えられる。
ラインフィルタ処理部222は、対象画像IOを構成するすべての画素について注目画素SPとしての選択が完了したか否かを判定し(S227)、未選択の画素があると判定した場合には(S227:NO)、S221に戻って上述の処理を繰り返す。すなわち、対象画像IO中の未選択の画素の1つが新たに注目画素SPとして選択され、新たに選択された注目画素SPについて、現在選択されているラインフィルタグループLFGを用いたラインフィルタ処理が行われ、該注目画素SPの画素値が、上述した最大レスポンス値Rmに置き換えられる。一方、ラインフィルタ処理部222は、対象画像IOを構成するすべての画素について注目画素SPとしての選択が完了したと判定した場合には(S227:YES)、ラインフィルタ処理を終了する。
このように、本実施形態のラインフィルタ処理(図15)では、対象画像IOにおいて、順次選択された注目画素SPを中心として画素値が比較的大きい画素が特定の方向に所定の長さ(単位要素数Nに相当する長さ)以上並んでいる箇所がある場合に、注目画素SPの画素値が比較的大きい値に置き換えられ、そのような箇所が無い場合に、注目画素SPの画素値が比較的小さい値に置き換えられる。そのため、本実施形態のラインフィルタ処理では、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が比較的大きい値になる。例えば、図16のC欄には、1回目のラインフィルタ処理後の対象画像IO(第1の処理後対象画像IO(1))が示されている。この第1の処理後対象画像IO(1)では、中央付近に位置する垂直方向(図の上下方向)に伸びる領域(ひび割れ領域CRに対応する領域)の画素値が比較的大きい値になっている。
図13に示すように、選択されたラインフィルタグループLFGを用いたラインフィルタ処理(S220)が完了すると、ラインフィルタ処理部222は、記憶部110に記憶されたすべてのラインフィルタグループLFGの選択が完了したか否かを判定し(S230)、未選択のラインフィルタグループLFGがあると判定した場合には(S230:NO)、S210に戻って上述の処理を繰り返す。すなわち、ラインフィルタ処理部222は、新たなラインフィルタグループLFGの選択、および、選択されたラインフィルタグループLFGを用いたラインフィルタ処理を実行する。
なお、ラインフィルタグループLFGの選択(S210)の際には、未選択のラインフィルタグループLFGの内、単位要素数Nが最も大きいラインフィルタグループLFGを選択する。また、2回目以降のラインフィルタ処理(S220)では、直前に実行されたラインフィルタ処理後の対象画像IOを対象として、ラインフィルタ処理が実行される。例えば、2回目のラインフィルタ処理では、1回目のラインフィルタ処理後の対象画像IO(第1の処理後対象画像IO(1))を対象としてラインフィルタ処理が実行される。このように、本実施形態では、ラインフィルタ処理部222は、単位要素数Nの値が大きい順にラインフィルタグループLFGの選択を行い、選択されたラインフィルタグループLFGを用いたラインフィルタ処理を順次実行する。
ラインフィルタグループLFGの選択と、選択されたラインフィルタグループLFGを用いたラインフィルタ処理とが繰り返し実行された後、記憶部110に記憶されたすべてのラインフィルタグループLFGの選択が完了したと判定された場合には(S230:YES)、候補判定部224は、その時点の対象画像IO(すなわち、各ラインフィルタグループLFGを用いた各ラインフィルタ処理の実行後の対象画像IO)において、画素値が予め定められた閾値以上である画素を、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccとして設定する(S240)。また、候補領域設定部226は、設定されたひび割れ候補画素Pccを含む画像領域を、ひび割れを表す画像領域である蓋然性の高いひび割れ候補領域CCとして設定する(S250)。ひび割れ候補画素Pccの設定(S240)、および、ひび割れ候補領域CCの設定(S250)の方法は、上述した第1実施形態と同様である。
以上説明したひび割れ候補検出処理により、対象画像IOから、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccを含むひび割れ候補領域CCが検出される。
以上説明したように、第2実施形態では、第1実施形態と同様に、ひび割れ検出装置100は、記憶部110と、ラインフィルタ処理部222と、候補判定部224とを備える。記憶部110は、複数のラインフィルタLFから構成されたラインフィルタグループLFGを記憶する。ラインフィルタグループLFGを構成する各ラインフィルタLFは、N行×N列(ただし、Nは3以上の奇数)の要素から構成され、行方向および列方向の中央に位置する中央要素CEを通る直線に重なる各要素の要素値が正の値(例えば1)であり、かつ、上記直線から上記直線に直交する方向に所定距離以上離れた要素の要素値が0以下(例えば0)であるフィルタである。各ラインフィルタLFにおける要素値が正の値(例えば1)である各要素が並ぶ上記直線の傾き(フィルタ角度)は、互いに異なっている。また、ラインフィルタ処理部222は、対象物を表す対象画像IOを構成する画素を注目画素SPとして順次選択し、ラインフィルタグループLFGを構成する各ラインフィルタLFについて、注目画素SPにラインフィルタLFの中央要素CEが重なるように対象画像IO上にラインフィルタLFを配置し、互いに重なり合うラインフィルタLFの要素の要素値と対象画像IOの画素の画素値とを用いた所定の演算を実行することにより原レスポンス値を算出し、注目画素SPの画素値を、各ラインフィルタLFについて算出された原レスポンス値に基づき算出されたレスポンス値に置き換えることにより、少なくとも1つの処理後対象画像を生成するラインフィルタ処理を実行する。また、候補判定部224は、ラインフィルタ処理後の対象画像IOにおいて、画素値が所定の閾値以上である画素を、ひび割れを表す画素である蓋然性の高いひび割れ候補画素Pccに設定する。
このように、本実施形態のひび割れ検出装置100では、ラインフィルタ処理部222が、ラインフィルタグループLFGを用いて上述したラインフィルタ処理を実行する。このようなラインフィルタ処理によれば、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(すなわち、ある程度以上の長さの線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が比較的大きい値になる。また、本実施形態のひび割れ検出装置100では、候補判定部224は、ラインフィルタ処理後の対象画像IOにおいて、画素値が所定の閾値以上である画素、すなわち、ある程度以上の長さの線分の成分を有する領域を構成する画素を、ひび割れ候補画素Pccに設定する。一般に、対象物に発生するひび割れは、ある程度以上の長さの線分の成分(すなわち、細長く、かつ、直線的に伸びる成分)を含んでいる。そのため、本実施形態のひび割れ検出装置100によれば、ひび割れではないが、ひび割れ部分に近い画素値を有する部分(例えば、対象物の表面の汚れ等)を誤ってひび割れとして検出する誤検出や、実際に存在するひび割れを検出できない検出漏れが発生することを抑制することができ、画像処理を用いたひび割れ検出の精度を向上させることができる。
また、第2実施形態では、原レスポンス値Roを算出するための上記所定の演算は、対象画像IOの画素値とラインフィルタLFの要素値との乗算値を算出し、ラインフィルタLFを構成するすべての要素についての上記乗算値の和を、原レスポンス値Roとする演算である。このようにすれば、対象画像IOにおける画素値が比較的大きい画素が特定の方向にある程度の長さ以上並んだ領域(すなわち、ある程度以上の長さの線分の成分を有する領域)において、ラインフィルタ処理後の対象画像IOの画素値が、他の領域の画素値とより明確に区別できる程度の大きな値になる。そのため、本実施形態のひび割れ検出装置100によれば、誤検出や検出漏れが発生することを効果的に抑制することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
また、第2実施形態では、原レスポンス値Roに基づき算出されるレスポンス値として、各ラインフィルタLFについて算出された原レスポンス値Roの内の最大値である最大レスポンス値Rmが用いられる。そのため、本実施形態のひび割れ検出装置100によれば、ひび割れを精度良く検出することができ、画像処理を用いたひび割れ検出の精度を効果的に向上させることができる。
C.変形例:
本明細書で開示される技術は、上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
上記実施形態におけるひび割れ検出装置100の構成は、あくまで一例であり、種々変形可能である。例えば、ひび割れ検出装置100が撮像部を備え、ひび割れ検出処理部200が、該撮像部による対象物の撮像により生成された画像を対象として、ひび割れ検出処理を実行するとしてもよい。
また、上記実施形態では、処理時画面S1等がひび割れ検出装置100の表示部120に表示されるとしているが、処理時画面S1等がひび割れ検出装置100の備える表示部120ではなく、外部のディスプレイに表示されるとしてもよい。なお、この場合には、ひび割れ検出装置100が表示部120を備える必要は無い。
また、上記実施形態において、記憶部110に記憶されているラインフィルタグループLFGの種類は任意に変更可能である。
また、上記実施形態において、記憶部110に記憶されるラインフィルタグループLFGの単位要素数Nは、3以上の奇数である限りにおいて任意に変更可能である。また、上記実施形態において、記憶部110に記憶されるラインフィルタグループLFGを構成する各ラインフィルタLFの要素値(図6,14参照)は、中央要素CEを通る直線に重なる各要素の要素値が正の値であり、かつ、上記直線から上記直線に直交する方向に所定距離以上離れた要素の要素値が0以下である限りにおいて、任意に変更可能である。
また、上記実施形態におけるひび割れ検出処理(図3)の内容は、あくまで一例であり、種々変形可能である。例えば、上記実施形態におけるひび割れ検出処理では、ひび割れ候補確認処理(S150)が実行されるとしているが、ひび割れ候補確認処理は必ずしも実行される必要はない。ひび割れ候補確認処理が実行されない場合には、ひび割れ候補検出処理(S130)において検出されたひび割れ候補領域CCが、そのまま、ひび割れ領域CRに設定される。
また、上記実施形態におけるひび割れ候補検出処理(図5)では、複数のラインフィルタグループLFGが、単位要素数Nが大きい順に選択されるとしているが、ラインフィルタグループLFGの選択順は任意に変更可能である。また、上記第1実施形態では、原レスポンス値Roに基づき算出されるレスポンス値として重み付けレスポンス値Rwが採用されているが、第2実施形態と同様に最大レスポンス値Rmが採用されてもよい。反対に、上記第2実施形態では、原レスポンス値Roに基づき算出されるレスポンス値として最大レスポンス値Rmが採用されているが、第1実施形態と同様に重み付けレスポンス値Rwが採用されてもよい。
また、上記実施形態では、ひび割れ検出処理の対象物は、建築物310のタイル張りの壁であるとしているが、それ以外の壁状の構造物(例えば、建築物のコンクリートの壁や土木構造物の壁面等)であってもよいし、壁状の構造物以外の物体であってもよい。