添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
===クラック測定システム10===
<<概要>>
図1を参照して、第1実施形態に係るクラック測定システム10の構成について説明する。図1は、クラック測定システム10の構成を示す図である。
クラック測定システム10は、例えば、建造物などに含まれるクラックを示す画像を特定して、クラックの幅を特定するシステムである。建造物には、例えば、ビル、住宅、橋、堤防などのコンクリート構造物が含まれていてもよい。クラック測定システム10は、クラックに含まれる建造物の塗装の剥離などのクラックとは認められない部分を除外して、クラックの幅を特定する。例えば建造物の塗装の剥離などは、本来のクラックに比べて大きな幅を有する。このため、クラック測定システム10では、当該剥離部分を除外した上でクラックの幅を特定するため、クラックの幅を正確に特定できる。
図1に示すように、クラック測定システム10では、例えば、クラック測定装置100と、ユーザ端末200とを含み、それらがネットワークNを介して接続される。クラック測定装置100は、ネットワークNを介して、複数のユーザ端末200に対して各種情報の提供を実現するサービスを提供する。なお、ネットワークNに接続されるクラック測定装置100およびユーザ端末200の数は限定されない。
ネットワークNは、1以上のクラック測定装置100と、ユーザ端末200とを接続する役割を担う。すなわち、ネットワークNは、ユーザ端末200がクラック測定装置100に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。ネットワークNのうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。
クラック測定装置100は、例えば、ユーザ端末200から取得する建造物のクラックを含む画像に基づき、クラックの幅を適切に特定する装置である。クラック測定装置100は、クラックとして不適切な箇所を特定して適切に除外することにより、クラックの幅を適切に特定する。クラック測定装置100は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。クラック測定装置100は、限定でなく例として、サーバコンピュータ、パーソナルコンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。
ユーザ端末200は、例えば、クラック測定装置100から送信される情報を、表示部に表示する装置である。ユーザ端末200は、各実施形態において記載する機能を実現できる情報処理装置(コンピュータ)であればどのような情報処理装置であってもよい。ユーザ端末200は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、パーソナルコンピュータ(例えば、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、ユーザ端末200は情報処理装置と表現されてもよい。
<<クラック測定装置100>>
図2を参照して、クラック測定装置100の機能構成について説明する。図2は、クラック測定装置100の機能構成の一例を示す図である。
図2に示すように、クラック測定装置100は、例えば、記憶部110、送受信部120、変換部130、第1指標特定部140、除外領域特定部150、除外指標特定部160、クラック特定部170、第2指標特定部180、幅特定部190の機能部を備える。
記憶部110は、例えば、各種情報を記憶装置に記憶する。
送受信部120は、例えば、長さの基準となる標識が付与された建造物の画像T1を取得する。建造物の画像T1には、クラック画像T10が表示される。送受信部120は、画像T1をユーザ端末200から取得してよいし、他のコンピュータやデータベースから取得してもよい。送受信部120は、各種情報をユーザ端末200に送信する。なお、送受信部120は、以下に示すいずれかの処理でエラーが生じた場合、エラーメッセージをユーザ端末200に送信してもよい。
図3を参照して、クラックを含む建造物の画像T1の概要について説明する。図3は、建造物の画像T1の一例を示す画像である。図3に示すように、画像T1は、クラック画像T10と、標識T11とを含む。
クラック画像T10は、例えば、建造物のクラックを示す画像である。建造物のクラックは、クラックの長さ方向と垂直にクラックを区分けしたそれぞれの領域(以下、「区分領域」という。)で異なる幅を示す。区分領域には、クラックである領域(以下、「クラック領域」という。)と、クラックではない領域(以下、「非クラック領域」という。)とが含まれる。非クラック領域は、例えば、建造物の壁の表面の塗装が剥離したような領域である。本実施例において、クラック測定装置100は、非クラック領域を適切に除外した上で、クラックの幅を測定する。
標識T11は、例えば、クラックの幅を求める際の長さの基準となる画像である。標識T11は、例えば、建造物の表面に貼付されるステッカーを示す画像、建造物の表面に転写されたものの画像、又は投影されたものの画像であってもよい。図3に示すように、標識T11は、少なくとも2つの特徴点を含む。標識T11は、例えば、2つの特徴点の間の距離が長さの基準として設定される。特徴点は、例えば、エッジの交点のような幾何学的なもの、2次元コードのような符号を表すものであってもよい。以下、一例として、標記T11は、二つの2次元コードT11a,T11bで形成されているものとして説明する。
この場合、標識T11は、例えば、2次元コードの所定箇所が特徴点となる。標識T11は、例えば、2次元コードそれぞれの中央部が特徴点であって、2次元コードそれぞれの中央部の間の距離が長さの基準Lbpとして設定される。このように、標識T11に2次元コードを用いることによって、2次元コードに関するライブラリを参照して、長さの基準Lbpを容易に特定できる。
変換部130は、例えば、建造物のクラックが識別可能となるように画像T1を2値化する。変換部130は、学習済みモデルに画像T1を入力することで、画像T1を2値化した画像T2を取得してもよい。この場合、学習済みモデルは、クラックの幅に相当する画素の数が既知である学習用画像を教師データとして、クラックの幅に相当する画素の数を算出するように学習させたニューラルネットワークであってもよい。
図4を参照して、建造物の画像T1を2値化した画像T2について説明する。図4は、2値化された画像T2の一例を示す画像である。変換部130は、例えば、画像T2のうち、クラック部分を白色で示し、クラック以外の部分を黒色で示す。図4に示すように、画像T2は、クラック画像T20と、標識T21とを含んでもよい。クラック画像T20及び標識T21のそれぞれは、クラック画像T10及び標識T11をそれぞれ2値化した画像である。クラック測定システム10は、画像T1を2値化することによって、クラックの幅に相当する画素の数をより正確に特定できる。
また、変換部130は、例えば、長さの基準Lbpに相当する画素の数を、長さの基準Lbmと比較して、長さの単位に変換する。図5は、標識T12を示す図である。図5に示すように、長さの基準Lbmは、例えば、標識12に含まれる二つの2次元コードT12a,T12bそれぞれの特徴点の間の距離である。具体的には、変換部130は、長さの基準がLbm(例えば「メートル」)に対して、標識T11が示す長さの基準Lbpに相当する画素の数がPX1である場合、区分領域の幅Wnに相当する画素の数PX2に、Lbp/PX1を掛けることで、長さの単位(ここでは「メートル(m)/ピクセル(pixel)」)に変換する。
なお、変換部130は、標識T11が示す長さの基準Lbpに基づき長さの単位に変換することとして説明したが、例えば標識T11を2値化した標識T21が示す長さの基準Lbpに基づき長さの単位に変換してもよい。
以下、各機能部は、画像T1について処理を実行してもよいところ、一例として、各機能部が画像T1を2値化した画像T2について処理を実行することとして説明する。
第1指標特定部140は、例えば、クラック画像T20における複数の領域それぞれの幅に関する第1指標を特定する。第1指標は、例えば深度値を含んでいてもよい。深度値は、クラック画像T20における複数の区分領域それぞれの幅を形成する画素それぞれの、クラック画像T20における複数の区分領域それぞれの幅の端からの距離に相当する指標である。なお、第1指標特定部140は、例えば、第1指標を特定する前に、図4に示す標識T21を除外してもよい。これは、標識T21がクラックであると特定されることを回避するための処理である。
図6、図7を参照して、第1指標特定部140が深度値を特定する処理について説明する。図6は、クラック画像T20の一部を切り出した画像T22である。図6に示す画像T22は、一例として、非クラック領域となり得る領域を示す。図7は、深度値を含む画素で形成されるマトリクス図の一例を示す図である。図7に示すマトリクス図は、それぞれの画素に深度値が示されている。例えば、「0」以外の深度値が表示される複数の画素からなる領域は、クラック画像T20のクラック領域または非クラック領域となり得る領域に相当する。また、図7において、例えば、「0」以外の深度値が表示される画素の領域であって、X軸に沿う一列の領域を、区分領域T23とする。
図7に示すように、第1指標特定部140は、区分領域T23の幅の端に相当する画素に深度値「1」を対応付けて特定する。第1指標特定部140は、区分領域T23の幅の端に相当する画素とX軸に沿って隣接する画素に深度値「2」を対応付けて特定する。同様に、区分領域T23の画素に深度値「3」を対応付けて特定する。第1指標特定部140は、クラック画像T20のすべての区分領域に対して同様の処理を実行する。すなわち、第1指標特定部140は、クラック画像T20を形成する全ての画素に深度値を対応付けて特定する。これにより、クラック画像T20のすべての区分領域の幅を特定することなく、後述するように除外領域を特定できるため、情報処理量を抑制できる。
除外領域特定部150は、例えば、複数の区分領域それぞれの幅に関する第1指標(例えば、深度値)に基づいて、クラック画像T20から除外される、複数の区分領域のうち少なくとも一つの領域(以下、「除外領域」という。)を特定する。除外領域は、上述した非クラック領域となり得る領域である。
図7、図8、図9、図10を参照して、除外領域特定部150がクラック画像T20から除外領域を特定する処理について説明する。図8は、除外領域を特定する際に中心部の画素の深度値を変更したマトリクス図の一例を示す図である。図9は、除外領域を除外したクラック画像T20の一部を示す画像である。図10は、除外領域を示す除外画像T30を含む画像T3を示す図である。
除外領域特定部150は、クラック画像T20を形成する全ての画素の数を特定する。除外領域特定部150は、全ての画素の数に対して深度値が所定の値を示す画素の数の割合が所定の閾値(例えば、1%)以下か否かを判定する。深度値が所定の値とは、例えば、深度値が最も大きい値であってもよいし、深度値が最も大きい値から所定の順位の範囲内の値であってもよい。除外領域特定部150は、例えば、所定の閾値以下の場合、所定の値を示す画素を含む領域を除外領域として特定する。
具体的には、除外領域特定部150は、図7に示す深度値「3」の画素の数が、クラック画像T20の画素の数の1%以下であると判定された場合、図7に示す深度値「3」の画素P1~P4を、図8に示すように深度値「0」とする。除外領域特定部150は、例えば、所定の画像処理(例えば、モルフォロジー処理)を実行することによって、画素P1~P4を中心とするある範囲の画素の深度値を「0」とする。除外領域特定部150は、所定の画像処理により深度値「1」以上の画素を深度値「0」に変更した場合、変更された画素で形成される領域を除外領域として特定する。例えば、除外領域特定部150は、所定の画像処理によって、図8に示される深度値が「1」以上の画素のうち画素P5~P8を除く画素の深度値を「0」とした場合、画素P5~P8を除く画素を除外領域として特定する。図9に示すように、除外領域特定部150は、例えば除外領域を黒色で表示させてもよい。また、図10に示すように、除外領域特定部150は、例えば、除外領域を白色で表示させた除外画像T30を含む画像T3を生成してもよい。
除外指標特定部160は、例えば、少なくとも一つの除外領域それぞれの幅に関する除外指標を特定する。除外指標は、例えば深度値を含んでいてもよい。ここで、深度値は、除外画像T30における複数の区分領域それぞれの幅を形成する画素それぞれの、クラック画像T20における複数の区分領域それぞれの幅の端からの距離に相当する指標である。深度値を特定する処理は、第1指標特定部140が深度値を特定する処理と同じであるため、その説明を省略する。
クラック特定部170は、例えば、クラック画像T20から除外領域を除外したクラック画像T40を特定する。図11を参照して、クラック画像T20から除外領域を除外したクラック画像T40について説明する。図11は、除外領域を除外したクラック画像T40を含む画像T4である。図11に示すように、クラック特定部170は、図5に示すクラック画像T20のクラックを示す画素(白色)のうち、図10に示す除外画像T30の除外領域を示す画素(白色)と座標が重なる画素を黒色にして、クラック画像T40を生成してもよい。
第2指標特定部180は、例えば、クラック画像T20から除外領域を除外したクラック画像T40について、クラック画像T40における複数の区分領域それぞれの幅に関する第2指標を特定する。第2指標は、例えば深度値を含んでいてもよい。深度値は、クラック画像T40における複数の区分領域それぞれの幅を形成する画素それぞれの、クラック画像T40における複数の区分領域それぞれの幅の端からの距離に相当する指標である。深度値を特定する処理は、第1指標特定部140が深度値を特定する処理と同じであるため、その説明を省略する。
幅特定部190は、例えば、第1指標または除外指標の少なくともいずれかと、第2指標とに基づいて、クラック画像T20が示すクラックの幅を特定する。
図12、図13、図14を参照して、幅特定部190が建造物のクラックの幅を特定する処理について説明する。図12は、画像に含まれるクラックおよび除外領域の幅を特定する処理を説明するための図である。図13は、クラック画像T20にクラックの幅を表示した画像である。図14は、クラック画像T40にクラックの幅を表示した画像である。
幅特定部190は、例えば、第1指標(例えば、深度値)に基づいて、クラック画像T20における複数の区分領域それぞれの幅のうち最も大きい幅(以下、「第1最大幅」という。)を特定する。また、幅特定部190は、例えば、第2指標(例えば、深度値)に基づいて、クラック画像T40における複数の区分領域それぞれの幅のうち最も大きい幅(以下、「第2最大幅」という。)を特定する。さらに、幅特定部190は、例えば、除外指標(例えば、深度値)に基づいて、除外画像T30における複数の区分領域それぞれの幅のうち最も大きい幅(以下、「第3最大幅」という。)を特定してもよい。
具体的には、幅特定部190は、クラック画像T20を形成する画素のうち最大の深度値を示す画素Pmaxを特定する。図12では、一例として一つの画素Pmaxを示しているが、クラック画像T20を形成する画素には同じ深度値を示す画素が複数ある。図12に示すように、幅特定部190は、特定された画素Pmaxを中心として複数の方向に複数の仮想線分(例えば、仮想線分L1~L3)を引く。複数の方向とは、例えば、全ての方向であってもよいし、所定の角度範囲の方向であってもよい。仮想線分は、例えば、クラック画像T20の領域の一方の端点から画素Pmaxを通る他方の端点を結ぶ線分である。幅特定部190は、画素Pmaxを中心として引かれた仮想線分のうち最も短い仮想線分(ここでは、仮想線分L1)の長さを特定する。幅特定部190は、複数の画素Pmaxそれぞれで最も短い仮想線分として特定された仮想線分のうち、最も長い仮想線分Lmax1を特定する。このとき、幅特定部190は、例えば、仮想線分Lmax1の端点の座標を特定する。幅特定部190は、仮想線分Lmax1の画素数と、端点の座標とを記憶装置に格納する。図13に示すように、幅特定部190は、例えば、特定された仮想線分Lmax1を変換部130で長さの単位に変換した結果である第1最大幅(ここでは、「1.9mm」)を特定し、クラック画像T20に示す。
幅特定部190は、上記と同様に、クラック画像T40を形成する画素のうち最大の深度値を示す画素Pmaxを特定する。幅特定部190は、例えば、上記と同様の処理によって、仮想線分Lmax2を特定する。図14に示すように、幅特定部190は、仮想線分Lmax2を変換部130で長さの単位に変換した結果である第2最大幅(ここでは、「0.7mm」)を特定し、クラック画像T40に示す。さらに、幅特定部190は、上記と同様に、除外指標である深度値に基づき第3最大幅を特定し、除外画像T30に示してもよい。
幅特定部190は、例えば、第1最大幅及び第2最大幅に基づいて、建造物のクラックの幅を特定する。幅特定部190は、例えば、第1最大幅が第2最大幅よりも十分大きい場合、除外領域の幅が大きいと判断して、除外領域を除外したクラック画像T40が示す第2最大幅を、建造物のクラックの幅として特定する。なお、幅特定部190は、例えば、第3最大幅が第2最大幅よりも十分大きい場合、除外領域の幅が大きいと判断して、除外領域を除外したクラック画像T40が示す第2最大幅を、建造物のクラックの幅として特定してもよい。
具体的には、幅特定部190は、例えば、第1最大幅(又は第3最大幅)に対する第2最大幅の割合が所定の閾値以下(又は「未満」)の場合、第2最大幅をクラックの幅として特定する。一方、幅特定部190は、例えば、第1最大幅(又は第3最大幅)に対する第2最大幅の割合が所定の閾値を超える(又は「以上」)場合、第1最大幅(又は第3最大幅)をクラックの幅として特定する。
これにより、クラック測定システム10は、壁の塗装がはがれた箇所などのクラックではない領域を除外した上でクラックの幅を特定するため、適切にクラックの幅を特定できる。
<<第1の変形例>>
上記において、クラック測定装置100は、第1指標特定部140において深度値を特定することにより、除外領域特定部150において深度値に基づいて除外領域を特定していたが、これに限定されない。例えば、第1指標特定部140は、クラック画像T20における複数の領域それぞれの幅の変化割合を特定してもよい。除外領域特定部150は、変化割合に基づき除外領域を特定してもよい。
具体的には、第1指標特定部140は、クラック画像T20を細線化して中心線を特定する。細線化は、例えば、クラック画像T20の幅を1つの画素に変換する処理である。第1指標特定部140は、中心線を形成する画素を中心として、クラック画像T20における、第1の領域の幅に関する指標と、第1の領域と隣接する第2の領域の幅に関する指標とを特定する。例えば、第1指標特定部140は、第1の領域の幅に関する指標を「4画素」として特定し、第2の領域の幅に関する指標を「11画素」として特定する。ただし、第1の領域および第2の領域は、中心線に含まれる一つの画素を中心とする区分領域であってもよいし、中心線に含まれる複数の隣接する画素を中心とする区分領域であってもよい。第1指標特定部140は、複数の隣接する画素を中心とする区分領域である場合、区分領域それぞれの幅に関する指標(ここでは、画素数)の平均値を算出してもよい。
第1指標特定部140は、第1の領域の幅に関する指標及び第2の領域の幅に関する指標に基づいて、第1の領域の幅に対する第2の領域の幅の割合である変化割合を算出する。第1の幅に関する指標及び第2の幅に関する指標は、例えば、上記のように幅を示す画素数であってもよいし、幅を示す画素数が長さの基準に変換された長さであってもよい。以下、一例として、長さの基準に変換された長さとして説明する。
具体的には、第1指標特定部140は、第1の領域の幅「0.7mm」(例えば、「4画素」を長さの基準に変換した長さ)に対する第2の領域の幅「1.9mm」(例えば、「11画素」を長さの基準に変換した長さ)の変化割合「271%」を特定する。なお、上記では一例として、第1の領域の幅が第2の領域の幅よりも小さい場合について説明したが、第1の領域の幅が第2の領域の幅よりも大きい場合の変化割合(例えば、37%など)を特定してもよい。
除外領域特定部150は、例えば、第1指標特定部140で特定した変化割合に基づいて、少なくとも一つの除外領域を特定する。具体的には、除外領域特定部150は、変化割合「271%」が所定の閾値(例えば「200%」)よりも大きい(又は「以上」)場合、第2の領域を除外領域として特定してもよい。なお、除外領域特定部150は、第1の領域の幅が第2の領域の幅よりも大きい(又は「以上」)場合、変化割合「37%」が所定の閾値(例えば「50%」)以下(又は「未満」)の場合、第1の領域を除外領域として特定してもよい。
さらに、除外領域特定部150は、例えば、除外領域として特定した第2の領域に対して第1の領域とは反対側の区分領域それぞれの幅が、第2の領域の幅に対する割合が所定の閾値以下(又は「未満」)になる場合、その地点の区分領域を除外領域の端として特定してもよい。具体的には、除外領域特定部150は、例えば、第2の領域の幅「1.9」mmに対して、第2の領域における第1の領域とは反対側で中心線の画素が連続的に隣り合うそれぞれの画素を中心とする区分領域の幅(例えば「0.8mm」)が、例えば「50%」以下(又は「未満」)になるときの区分領域を除外領域の端として特定してもよい。すなわち、除外領域特定部150は、第2の領域から除外領域の端として特定された区分領域までの複数の区分領域の集合を除外領域として特定してもよい。
これにより、クラック測定システム10は、クラックにおいて急に幅が大きくなる領域を表面の塗装の剥離などと判定してクラックの幅を特定する処理から除外できるため、適切にクラックの幅を特定できる。
<<第2の変形例>>
上記において、幅特定部190は、深度値に基づいて最も大きい幅を特定することにより、クラックの幅を特定していたが、これに限定されない。例えば、幅特定部190は、除外領域における複数の区分領域それぞれの幅を特定し、クラック画像T40における複数の区分領域それぞれの幅を特定することにより、それぞれの幅の分布に基づきクラックの幅を特定してもよい。
図15、図16を参照して、区分領域それぞれの幅の分布に基づきクラックの幅を特定する処理について説明する。図15は、区分領域それぞれの中心の画素と幅とを示す図である。図16は、クラック画像T40及び除外画像T30それぞれの区分領域の幅を集計した図である。
図15に示すように、幅特定部190は、クラック画像T40における区分領域それぞれの中心の画素(例えば、画素P10~P15)を特定する。中心の画素は、例えば、上記の細線化によって特定される画素である。幅特定部190は、上述したように、中心の画素を中心として、複数の方向に複数の仮想線分を引いて、最も短い仮想線分が示す画素数を特定する。具体的には、図15に示すように、画素P11を中心とする区分領域の幅が画素数「10」として特定され、画素P12を中心とする区分領域の幅が画素数「4」として特定される。幅特定部190は、除外画像T30に対しても同様の処理を実行することによって、除外画像T30における区分領域それぞれの幅である画素数を特定する。なお、幅特定部190は、区分領域それぞれの、画素数を長さの基準に変換した長さを特定してもよい。
幅特定部190は、例えば、区分領域それぞれの幅を示す画素数を集計する。具体的には、図16に示すように、幅特定部190は、クラック画像T40及び除外画像T30それぞれの区分領域それぞれの幅を示す画素数の出現回数を集計する。図16では、一例として、クロック画像T40には画素数「5」の幅を示す区分領域が「90」箇所含まれ、除外画像T30には画素数「11」の幅を示す区分領域が「48」箇所含まれることが示されている。
幅特定部190は、例えば、クラック画像T40における区分領域それぞれの幅の平均値、中央値または最頻値のいずれかと、除外画像T30における区分領域それぞれの幅の平均値、中央値または最頻値のいずれかとに基づいて、クラックの幅を特定する。幅の平均値とは、例えば、区分領域それぞれの幅を示す画素数とその出現回数(区分領域の個所)との積を、出現回数で除した値である。また、幅の中央値とは、例えば、区分領域それぞれの幅を示す画素数のうち、中央の値であって、例えば画素数が1~11の範囲に分布している場合、中央値は「6」となる。また、幅の最頻値は、例えば、出現回数が最も多い画素数である。
具体的には、幅特定部190は、例えば、クラック画像T40における幅の平均値、中央値または最頻値に対する除外画像T30における幅の平均値、中央値または最頻値の割合が、所定の閾値を超える(又は「以上」)場合、クラック画像T40における幅の最大値を、クラックの幅として特定してもよい。
なお、上記において、画素数における、平均値、中央値および最頻値に基づきクラックの幅を特定するよう説明したがこれに限定されず、例えば、変換部130によって長さの基準に変換された長さにおける、平均値、中央値および最頻値に基づきクラックの幅を特定してもよい。
また、幅特定部190は、送受信部120を通じて、図16に示す幅を集計した図の画像をユーザ端末200に送信してもよい。
これにより、クラック測定システム10は、クラック画像T20に含まれる区分領域それぞれの幅が相対的に大きい領域を表面の塗装の剥離などと判定してクラックの幅を特定する処理から除外できるため、適切にクラックの幅を特定できる。
<<処理>>
図17を参照して、クラック測定装置100の実行される処理の手順について説明する。図17は、クラック測定装置100により実行される処理のフローチャートである。
まず、ステップS100において、クラック測定装置100は、例えば、ユーザ端末200から、標識が付与された建造物の画像T1を取得する。
次に、ステップS101において、クラック測定装置100は、例えば、画像T1を学習済みモデルに入力して、画像T1が2値化された画像T2を取得する。
次に、ステップS102において、クラック測定装置100は、例えば、クラック画像T20と、標識T21とを特定してもよい。
次に、ステップS103において、クラック測定装置100は、例えば、クラック画像T20に含まれる区分領域それぞれの第1指標である深度値を特定してもよい。
次に、ステップS104において、クラック測定装置100は、例えば、深度値に基づきクラック画像T20の区分領域のうち除外領域を特定する。これにより、クラック測定装置100は、建造物の表面の剥離である可能性の高い領域を特定できる。なお、クラック測定装置100は、例えば、除外領域特定部150において所定の閾値(例えば、1%)を超えると判定された場合、クラック画像T20に除外領域がないこととして特定してもよい。この場合、クラック測定装置100は、例えば、クラック画像T20の第1最大幅をクラックの幅として特定してステップS108に処理を移行してもよいし、除外領域を除外していないクラック画像T40(クラック画像T20と同じ画像)を特定するようにステップS105に処理を移行してもよい。
次に、ステップS105において、クラック測定装置100は、例えば、クラック画像T20から除外領域を除外したクラック画像T40を特定する。
次に、ステップS106において、クラック測定装置100は、例えば、クラック画像T20の第1最大幅と、クラック画像T40の第2最大幅とを特定する。
次に、ステップS107において、クラック測定装置100は、第1最大幅と第2最大幅との比率に基づきクラックの幅を特定する。
次に、ステップS108において、クラック測定装置100は、特定したクラックの幅に関する情報(例えば、幅を示す情報、幅の分布を示す情報など)をユーザ端末200に送信する。以上で、クラック測定装置100は、クラックの幅を特定する処理を終了する。
<<ユーザ端末200>>
図18を参照して、ユーザ端末200の機能構成について説明する。図18は、ユーザ端末200の構成の一例を示す図である。ユーザ端末200は、例えば、クラック測定装置100から取得した各種情報を表示部200fに表示させる。
ユーザ端末200は、例えば、記憶部210と、送受信部220と、表示処理部230との機能部を含む。記憶部210は、例えば各種情報を記憶する。送受信部220は、例えば各種情報をクラック測定装置100又は他の装置との間で送受信する。表示処理部230は、例えば、取得した各種情報を表示部200fに表示させる。
===ハードウェア構成===
図1を参照して、クラック測定装置100及びユーザ端末200の物理的構成について説明する。なお、ユーザ端末200の物理的構成は、クラック測定装置100の物理的構成と同様であるとして、その説明を省略する。
クラック測定装置100は、演算部に相当するCPU(Central Processing Unit)100aと、記憶部に相当するRAM(Random Access Memory)100bと、記憶部に相当するROM(Read only Memory)100cと、通信部100dと、入力部100eと、表示部100fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。
なお、本例ではクラック測定装置100が一台のコンピュータで構成される場合について説明するが、クラック測定装置100は、複数のコンピュータが組み合わされて実現されてもよい。
また、クラック測定装置100および/またはユーザ端末200における処理の少なくとも一部は、1以上のコンピュータ(例えば、1以上のコンピュータにより構成されるクラウドコンピューティング)により実現されていてもよいし、そうでなくてもよい。また、図1で示す構成は一例であり、クラック測定装置100はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
また、クラック測定装置100における処理の少なくとも一部を、ユーザ端末200により行う構成としてもよいし、そうでなくてもよい。この場合、クラック測定装置100の演算部の各機能部の処理のうち少なくとも一部の処理を、ユーザ端末200で行う構成としてもよいし、そうでなくてもよい。
CPU100aは、RAM100b又はROM100cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU100aは、建造物に生じているクラックの幅を特定するプログラム(クラック測定プログラム)を実行する演算部である。CPU100aは、入力部100eや通信部100dから種々のデータを受け取り、データの演算結果を表示部100fに表示したり、RAM100bに格納したりする。
RAM100bは、記憶装置のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM100bは、CPU100aが実行するプログラム、各種画像といったデータを記憶してよい。なお、これらは例示であって、RAM100bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
ROM100cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM100cは、例えばクラック測定プログラムや、書き換えが行われないデータを記憶してよい。
通信部100dは、クラック測定装置100を他の機器に接続するインターフェースである。通信部100dは、インターネット等の通信ネットワークNに接続されてよい。
入力部100eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
表示部100fは、CPU100aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部100fは、各種画像を表示したり、特定されたクラックの幅を表示したりしてよい。
クラック測定プログラムは、RAM100bやROM100c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部100dにより接続される通信ネットワークを介して提供されてもよい。クラック測定装置100では、CPU100aがクラック測定プログラムを実行することにより、図2に示す機能部の処理が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、クラック測定装置100は、CPU100aとRAM100bやROM100cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
===まとめ===
クラック測定システム10は、建造物の画像に含まれるクラック画像T20における複数の領域それぞれの幅に関する第1指標を特定する第1指標特定部140と、第1指標に基づいて、クラック画像T20から除外される、クラック画像T20における複数の領域のうち少なくとも一つの除外領域を特定する除外領域特定部150と、少なくとも一つの除外領域それぞれの幅に関する除外指標を特定する除外指標特定部160と、クラック画像T20から除外領域を除外したクラック画像T40について、クラック画像T40における複数の領域それぞれの幅に関する第2指標を特定する第2指標特定部180と、第1指標または除外指標の少なくともいずれかと、第2指標と、に基づいて、クラック画像T20が示す第1のクラックの幅を特定する幅特定部190と、を備える。これにより、クラックではない除外領域を除外してクラックの幅を特定することができるため、クラックの幅をより適切に測定することができる。
また、クラック測定システム10は、第1のクラックが識別可能となるように建造物の画像を2値化する変換部130(第1変換部)をさらに備え、第1指標特定部140は、2値化されたクラック画像T20において第1指標を特定する。これにより、クラックでありえる箇所をより正確に特定できるため、クラックの幅をより適切に測定することができる。
また、クラック測定システム10は、建造物の画像は、長さの基準となる標識を含み、長さの基準に相当する画素の数に基づいて、クラック画像T20における複数の領域それぞれの幅に相当する画素の数を、長さの単位に変換する変換部130(第2変換部)をさらに備える。これにより、画素の数を長さの単位に変換するため、検査員の技量によるばらつきを低減して、クラック幅を適切に測定することができる。
また、クラック測定システム10の幅特定部190は、第1指標に基づいて、クラック画像T20における複数の領域それぞれの幅のうち最も大きい第1最大幅(第1の幅)を特定し、第2指標に基づいて、クラック画像T40における複数の領域それぞれの幅のうち最も大きい第2最大幅(第2の幅)を特定し、第1最大幅(第1の幅)に対する第2最大幅(第2の幅)の割合が所定の閾値以下の場合、第2最大幅(第2の幅)を第1のクラックの幅として特定し、所定の閾値を超える場合、第1最大幅(第1の幅)を第1のクラックの幅として特定する。これにより、クラック測定システム10は、壁の塗装がはがれた箇所などのクラックではない領域を除外した上でクラックの幅を特定するため、適切にクラックの幅を特定できる。
また、クラック測定システム10の幅特定部190は、除外指標に基づいて、少なくとも一つの除外領域それぞれの幅を特定し、第2指標に基づいて、クラック画像T40における複数の領域それぞれの幅を特定し、少なくとも一つの除外領域それぞれの幅の平均値、中央値または最頻値のいずれかと、第2のクラックにおける複数の領域それぞれの幅の平均値、中央値または最頻値のいずれかと、に基づいて、第1のクラックの幅を特定する。これにより、クラック測定システム10は、壁の塗装がはがれた箇所などのクラックではない領域を計算量が少ない手法で特定できるため、情報処理量を抑制しつつ適切にクラックの幅を特定できる。
また、クラック測定システム10の第1指標特定部140は、クラック画像T20における複数の領域それぞれの幅を形成する画素それぞれの、クラック画像T20における複数の領域それぞれの幅の端からの距離に相当する指標である深度指標を特定し、除外領域特定部150は、深度指標に基づいて、少なくとも一つの除外領域を特定する。これにより、クラック画像T20のすべての区分領域の幅を特定することなく、除外領域を特定できるため、情報処理量を抑制しつつ適切にクラックの幅を特定できる。
また、クラック測定システム10の除外領域特定部150は、クラック画像T20を形成する画素の数に対して、クラック画像T20を形成する画素の数に対する、深度指標が所定の値を示す画素の数の割合が所定の閾値以下の場合、所定の値を示す画素を含む領域を少なくとも一つの除外領域として特定する。これにより、クラック画像T20のすべての区分領域の幅を特定することなく、除外領域を特定できるため、情報処理量を抑制しつつ適切にクラックの幅を特定できる。
また、クラック測定システム10の第1指標特定部140は、クラック画像T20における、第1の領域の幅に関する指標(例えば、深度値や長さの基準で変換した長さ)と、第1の領域と隣接する第2の領域の幅に関する指標(例えば、深度値や長さの基準で変換した長さ)と、を特定し、第1の領域の幅に関する指標及び第2の領域の幅に関する指標に基づいて、第1の領域の幅に対する第2の領域の幅の割合である変化割合を算出し、除外領域特定部150は、変化割合に基づいて、少なくとも一つの除外領域を特定する。これにより、クラック測定システム10は、クラックにおいて急に幅が大きくなる領域を表面の塗装の剥離などと判定してクラックの幅を特定する処理から除外できるため、適切にクラックの幅を特定できる。
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。