(57)【要約】【課題】錆の検出を効率化することを課題とする。【解決手段】錆検出プログラムは、対象物を撮像した画像を取り込むと、取り込んだ画像に対して前加工を行い、高適合率モデル及び高再現率モデルに入力する。高適合率モデル及び高再現率モデルは、各画素について錆領域である可能性を求めて出力する。錆検出プログラムは、それぞれのモデルが出力した各画素の「錆領域である可能性」と閾値とを比較し、錆候補領域の画素を検出する。そして、高適合率モデルによる検出結果と高再現率モデルによる検出結果とを合成し、錆領域の判定結果とする。【選択図】図１
2020020744.tif 000002
【特許請求の範囲】
【請求項１】
対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出手順と、
前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出手順と、
前記第１の錆検出手順による検出結果と、前記第２の錆検出手順による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定手順と
をコンピュータに実行させることを特徴とする錆検出プログラム。
【請求項２】
前記第１の学習モデルは、点状分布に対して高い表現力を持つ高再現率の深層学習モデルであり、
前記第２の学習モデルは、線状の連結性に対して高い表現力を持つ高適合率の深層学習モデルである
ことを特徴とする請求項１に記載の錆検出プログラム。
【請求項３】
前記第１の学習モデルは、エンコードとデコードを行う多層ニューラルネットワークであり、
前記第２の学習モデルは、畳み込みによる集約を行う多層ニューラルネットワークである
ことを特徴とする請求項１又は２に記載の錆検出プログラム。
【請求項４】
前記第１の学習モデル及び前記第２の学習モデルは、前記画像の画素毎に錆を形成する画素である確率を出力し、
前記第１の錆検出手順は、前記第１の学習モデルから出力される画素毎の確率が第１の閾値を超える画素を検出し、
前記第２の錆検出手順は、前記第２の学習モデルから出力される画素毎の確率が前記第１の閾値と異なる第２の閾値を超える画素を検出する
ことを特徴とする請求項１、２又は３に記載の錆検出プログラム。
【請求項５】
前記判定手順は、
前記第１の錆検出手順に検出され、かつ、前記第２の錆検出手順にて検出された画素が錆を形成する画素であると判定することを特徴とする請求項１乃至４のいずれか一つに記載の錆検出プログラム。
【請求項６】
前記第１の学習モデルと前記第２の学習モデルは、同一の学習用データによる教師有り学習が行われたことを特徴とする請求項１乃至５のいずれか一つに記載の錆検出プログラム。
【請求項７】
前記判定手順による判定結果に基づいて、前記対象物における錆の発生状況を表示制御する表示制御手順をさらにコンピュータに実行させることを特徴とする請求項１乃至６のいずれか一つに記載の錆検出プログラム。
【請求項８】
前記判定手順による判定結果に基づいて、前記対象物の老朽化の度合いを示す数値を算定する数値化手順をさらにコンピュータに実行させることを特徴とする請求項１乃至７のいずれか一つに記載の錆検出プログラム。
【請求項９】
対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出部と、
前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出部と、
前記第１の錆検出部による検出結果と、前記第２の錆検出部による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定部と
を備えたことを特徴とする錆検出システム。
【請求項１０】
対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出工程と、
前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出工程と、
前記第１の錆検出工程による検出結果と、前記第２の錆検出工程による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定工程と
を含んだことを特徴とする錆検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、錆の存在を検出する錆検出プログラム、錆検出システム及び錆検出方法に関する。
【背景技術】
【０００２】
従来、橋梁や鉄塔などのインフラ設備の老朽化を定期的に監視することが行われている。
【０００３】
例えば、特許文献１には、社会インフラを撮影した画像を格納する撮影写真ＤＢと、社会インフラ位置情報及び社会インフラの損傷状況と社会インフラ名を含む点検情報を格納する点検情報ＤＢと、タブレット端末のカメラアプリ画面に既撮影画像を透かしの撮影構図画像として重複表示させる機能と、撮影した撮影画像と既撮影画像とを比較して相違があるときに撮影画像を既撮影画像の構図に合わせてマッチング補正を行う機能と、該マッチング補正した撮影画像と既撮影画像とを比較して破損及び錆色濃度変化による損傷程度を判別する機能とを有する管理サーバを備えた損傷状況判定システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１３３３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなインフラ設備の状態の判定、特に錆の検出について効率化が要望されている。
【０００６】
本発明は、上記従来技術の課題を解決するためになされたものであって、錆の検出を効率化することができる錆検出プログラム、錆検出システム及び錆検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するため、本発明は、対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出手順と、前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出手順と、前記第１の錆検出手順による検出結果と、前記第２の錆検出手順による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定手順とをコンピュータに実行させることを特徴とする。
【０００８】
また、本発明は、対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出部と、前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出部と、前記第１の錆検出部による検出結果と、前記第２の錆検出部による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定部とを備えたことを特徴とする。
【０００９】
また、本発明は、対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第１の錆検出工程と、前記第１の学習モデルとは構造が異なる第２の学習モデルに前記画像を入力し、該第２の学習モデルから出力された情報に基づいて、前記対象物における錆の存在を検出する第２の錆検出工程と、前記第１の錆検出工程による検出結果と、前記第２の錆検出工程による検出結果とに基づいて、前記対象物における錆の発生領域を判定する判定工程とを含んだことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、錆の検出を効率化することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施の形態に係る錆検出プログラムについての説明図である。
【図２】図２は、錆検出の具体例についての説明図である。
【図３】図３は、錆検出システムのシステム構成を示すシステム構成図である。
【図４】図４は、錆検出装置の表示例についての説明図である。
【図５】図５は、錆検出装置の処理手順を示すフローチャートである。
【図６】図６は、高再現率モデルの具体例についての説明図である。
【図７】図７は、高適合率モデルの畳み込みにおける変換カーネルの説明図である。
【図８】図８は、ハードウエア構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明の実施形態に係る錆検出プログラム、錆検出システム及び錆検出方法の実施形態を説明する。
【００１３】
本実施の形態では、対象物を撮像した画像を取り込み、第１及び第２の２つの学習モデルに画像を入力し、それぞれの学習モデルで錆の存在を検出し、２つの検出結果を用いて対象物における錆の発生領域を判定する。
【００１４】
図１は、本実施の形態に係る錆検出プログラムについての説明図である。錆検出プログラムは、対象物を撮像した画像を取り込むと、取り込んだ画像に対して前加工を行い、２つの学習モデルにそれぞれ入力する。
【００１５】
２つの学習モデルは、それぞれ深層学習による学習済みのモデルであり、一方は高再現率モデル、他方は高適合率モデルである。高再現率モデル及び高適合率モデルは、画像の入力を受け付けると、各画素について錆領域である可能性を求めて出力する。なお、学習モデルが高再現率であるか又は高適合率であるかは、利用する学習モデルの特性を比較して相対的に定められる。つまり、ある学習モデルが本発明に用いられる別の学習モデルより再現率が高い場合には、当該学習モデルを第１の学習モデルとして用いることができ、適合率が高い場合には、第２の学習モデルとして用いることができる。なお、第１の学習モデルの再現率は、例えば９５パーセント程度であることが好ましく、第２の学習モデルとの再現率の差は１０パーセント以下であることが好ましい。第２の学習モデルの適合率は、例えば９０パーセント程度であることが好ましく、第１の学習モデルとの適合率の差は１０パーセント以下であることが好ましい。
【００１６】
ここで、高再現率モデルは点状分布に対して高い表現力を持ち、非錆領域を誤検出することがあるが、錆領域のとりこぼしが少ない検出性能の高いモデルである。一方、高適合率モデルは、線状の連結性に対して高い表現力を持ち、誤検出が少ない汎化性能の高いモデルである。
【００１７】
従って、同一の前加工が施された画像を高再現率モデル及び高適合率モデルに入力したとしても、各画素について高再現率モデルと高適合率モデルとがそれぞれ求めた「錆領域である可能性」は同一となるとは限らず、通常は異なる値となる。
【００１８】
錆検出プログラムは、それぞれのモデルが出力した各画素の「錆領域である可能性」と閾値とを比較し、「錆領域である可能性」が閾値を超える画素を錆候補領域の画素として検出する。
【００１９】
錆候補領域の検出に使用する閾値は、適宜定めることができ、例えば高再現率モデルと高適合率モデルとで異ならせることができる。すなわち、高再現率モデルの出力は高適合率モデル用の閾値と比較され、高適合率モデルの出力は高適合率モデル用の閾値と比較されてもよい。
【００２０】
錆検出プログラムは、入力した各画素について第１の学習モデルによる錆候補領域の検出結果と第２の学習モデルによる錆候補領域の検出結果とが得られたならば、２つの検出結果を合成し、錆領域の判定結果とする。この合成では、第１及び第２の学習モデルの双方で錆候補領域として検出された画素が錆領域の画素と判定される。また、後述するように、錆領域の判定においては、各画素についての判定の確かさ、すなわち、錆領域であるかどうかの推定の確信度を求めることができる。
【００２１】
各画素の確信度は、例えば第１の学習モデルと第２の学習モデルの出力に重みを付して合計することで求めればよい。また、この錆領域であるかどうかの推定の確信度は、対象物の老朽化の度合いを示す数値として用いることもできる。
【００２２】
このように、錆検出プログラムは、対象物を撮像した画像を異なる２つの学習モデルに入力し、それぞれの学習モデルで錆の存在を検出し、２つの学習モデルによる検出結果を合成して対象物における錆の領域を判定するので、錆の検出を効率化することができる。また、錆検出プログラムによる錆の領域の判定結果は、老朽化の診断システムなど、各種業務システムに連携させることができる。
【００２３】
図２は、錆検出の具体例についての説明図である。図２では、対象物として橋梁を撮像した画像を取り込んでいる。取り込んだ画像に高再現率モデルによる錆検出を行うと、画像における錆候補領域の位置を示す第１の錆候補領域マップが検出結果として出力される。図２に示した検出結果では、錆の可能性が閾値を超えた画素を白色、錆の可能性が閾値以下の画素を黒色としている。
【００２４】
同様に、取り込んだ画像に高適合率モデルによる錆検出を行うと、画像における錆候補領域の位置を示す第２の錆候補領域マップが検出結果として出力される。図２に示した検出結果では、錆の可能性が閾値を超えた画素を白色、錆の可能性が閾値以下の画素を黒色としている。
【００２５】
高再現率モデルによる第１の錆候補領域マップと、高適合率モデルによる第２の錆候補領域マップとを比較すると、錆候補領域として検出される画素に差が生じている。これは、高適合率モデルは誤検出が少なく、高再現率モデルは取りこぼしが少ないというモデルの特性の違いによるものである。
【００２６】
錆検出プログラムは、高再現率の第１の学習モデル及び高適合率の第２の学習モデルが出力した２種の錆候補領域検出結果を結合することで、適切に錆領域の判定を行うことができる。
【００２７】
２種の錆候補領域検出結果の合成は、例えば、それぞれの錆候補領域と判定した画素の値を「１」、錆候補領域ではないと判定した画素の値を「０」とし、各画素の値について論理積を取ることで行えばよい。
【００２８】
次に、錆検出システムのシステム構成について説明する。図３は、錆検出システムのシステム構成を示すシステム構成図である。図３では、対象物である橋梁をカメラ２２や小型無人航空機２１に設けた撮像部で撮像し、橋梁の画像をネットワーク経由で錆検出装置１０に送信している。
【００２９】
錆検出装置１０は、通信部１１、入力部１２、表示部１３、記憶部１４及び制御部１５を有する。通信部１１は、カメラ２２や小型無人航空機２１から対象物の画像を受信する通信インタフェースである。入力部１２は、キーボードやマウス等の入力デバイスである。表示部１３は、液晶ディスプレイ装置等の表示デバイスである。
【００３０】
記憶部１４は、ハードディスク装置や不揮発性メモリ等の記憶デバイスであり、第２の学習モデル(以下、高適合率モデルデータ１４ａともいう)、第１の学習モデル（以下、高再現率モデルデータ１４ｂともいう）、学習パターンデータ１４ｃ、錆領域データ１４ｄ及び老朽化評価データ１４ｅを記憶する。
【００３１】
高適合率モデルデータ１４ａは、高適合率モデルにおける多層ニューラルネットワークの構造と、層間パラメータとを特定するデータである。同様に、高再現率モデルデータ１４ｂは、高再現率モデルにおける多層ニューラルネットワークの構造と、層間パラメータとを特定するデータである。
【００３２】
学習パターンデータ１４ｃは、学習用の入力データと正解の出力データがセットとなったサンプルデータである。学習パターンデータ１４ｃは、高適合率モデルデータ１４ａ及び高再現率モデルデータ１４ｂの学習、すなわち、層間パラメータの最適化に用いられる。なお、学習の終了後、学習パターンデータ１４ｃは削除しても良い。もしくは、既に学習済みの高適合率モデルデータ１４ａ及び高再現率モデルデータ１４ｂを用いる場合には、学習パターンデータ１４ｃは不要である。
【００３３】
錆領域データ１４ｄは、入力された画像に対する錆領域の判定結果を示すデータである。老朽化評価データ１４ｅは、対象物の老朽化の度合いの評価結果を示すデータである。
【００３４】
制御部１５は、錆検出装置１０の全体を制御する制御部であり、画像取込部１５ａ、前加工部１５ｂ、第１錆検出部１５ｃ、第２錆検出部１５ｄ、錆領域判定部１５ｅ及び老朽化度算定部１５ｆを有する。実際には、これらの機能部に対応するプログラムを図示しないＲＯＭや不揮発性メモリに記憶しておき、これらのプログラムをＣＰＵ（Central Processing Unit）にロードして実行することにより、画像取込部１５ａ、前加工部１５ｂ、第１錆検出部１５ｃ、第２錆検出部１５ｄ、錆領域判定部１５ｅ及び老朽化度算定部１５ｆにそれぞれ対応するプロセスを実行させることになる。
【００３５】
画像取込部１５ａは、対象物の像を含む画像を取得する処理部である。具体的には、画像取込部１５ａは、通信部１１がカメラ２２や小型無人航空機２１から受信した画像を対象物の像を含む画像として取り込む。
【００３６】
前加工部１５ｂは、画像取込部１５ａが取り込んだ画像に対して前加工を行う処理部である。前加工としては、色調補正やエッジ強調など任意の画像処理を用いることができる。
【００３７】
第１錆検出部１５ｃは、前加工部１５ｂによる前加工が行われた画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、対象物における錆の存在を検出する処理部である。
【００３８】
第２錆検出部１５ｄは、前加工部１５ｂによる前加工が行われた画像を、第１の学習モデルとは構造が異なる第２の学習モデルに入力し、該第２の学習モデルから出力された情報に基づいて、対象物における錆の存在を検出する処理部である。
【００３９】
具体的には、第１錆検出部１５ｃは、高再現率モデルデータ１４ｂを読み出して、画像を入力し、高再現率モデルから出力される画素毎の確率と第１の閾値とを比較し、第１の閾値を超える画素を第１の錆候補領域の画素として検出する。
【００４０】
そして、第２錆検出部１５ｄは、高適合率モデルデータ１４ａを読み出して、画像を入力し、高適合率モデルから出力される画素毎の確率と第２の閾値とを比較し、第２の閾値を超える画素を第２の錆候補領域の画素として検出する。
【００４１】
錆領域判定部１５ｅは、第１錆検出部１５ｃによる検出結果と第２錆検出部１５ｄによる検出結果とに基づいて、対象物における錆の発生領域を判定する処理部である。具体的には、錆領域判定部１５ｅは、第１錆検出部１５ｃにより錆候補領域として検出され、かつ、第２錆検出部１５ｄにより錆候補領域として検出された画素が錆を形成する画素であると判定する。
【００４２】
錆領域判定部１５ｅは、判定結果を錆領域データ１４ｄとして記憶部１４に格納する。また、錆領域判定部１５ｅは、錆領域データ１４ｄ、すなわち、対象物における錆の発生状況を表示部１３に表示制御することができる。
【００４３】
老朽化度算定部１５ｆは、錆領域判定部１５ｅによる判定結果に基づいて、対象物の老朽化の度合いを示す数値を算定する処理部である。例えば、高適合率モデルと高再現率モデルの出力に重みを付して合計することで錆領域であるとの推定の確信度を求め、この確信度を老朽化の度合いを示す数値として用いればよい。
【００４４】
老朽化度算定部１５ｆは、算定した画素毎の老朽化度を老朽化評価データ１４ｅとして記憶部１４に格納する。また、老朽化度算定部１５ｆは、老朽化評価データ１４ｅを表示部１３に表示制御することができる。
【００４５】
図４は、錆検出装置の表示例についての説明図である。図４（ａ）に示すように、対象物の像を含む画像を取込んで錆領域の判定を行うと、図４（ｂ）に示す錆領域データを得ることができる。この錆領域データは、錆領域と判定した画素を特定の色に置き換えた画像データである。
【００４６】
また、図４（ｃ）は、老朽化評価データの表示例である。図４（ｃ）では、老朽化の度合いを色に対応させたヒートマップを表示している。このように、老朽化の度合いの高低を画素の表示色を異ならせて表示することで、視覚的にわかりやすく表現することができる。図４（ｃ）の例においては、老朽化の度合いが低いほど画素の色を暗くし、老朽化の度合いが高いほど画素の色を明るくした画像データを表示している。具体的には、錆領域であるとの推定の確信度を、パーセンテージで算出し、当該パーセンテージと画素の色合いを対応付けて表示する。具体的には、当該領域が錆領域である確信度が１００％である場合、当該領域をＲ＝２５５，Ｇ＝２５５，Ｂ＝２５５に近い色で表示し、０％である場合には、Ｒ＝０，Ｇ＝０，Ｂ＝０に近い色で表示し、これらの中間の確信度である場合には、確信度の高低によって選択される中間の色で表示することができる。この他、一定の老朽化度を超えた領域にハイライト等を付すなどして明確化して表示することもできる。これにより、老朽化が進行した部分を視覚的に把握しやすくできる。
【００４７】
次に、錆検出装置１０の処理手順について説明する。図５は、錆検出装置１０の処理手順を示すフローチャートである。まず、画像取込部１５ａは、通信部１１がカメラ２２や小型無人航空機２１から受信した画像を対象物の像を含む画像として取得し（ステップＳ１０１）、前加工部１５ｂは、画像取込部１５ａが取り込んだ画像に対して前加工を行う（ステップＳ１０２）。
【００４８】
第１錆検出部１５ｃは、前加工部１５ｂによる前加工が行われた画像を第１の学習モデルに入力し（ステップＳ１０３）、画素毎の出力を第１の閾値とそれぞれ比較し、第１の閾値を超える画素により構成される領域を第１の錆候補領域として検出する（ステップＳ１０４）。
【００４９】
第２錆検出部１５ｄは、前加工部１５ｂによる前加工が行われた画像を第２の学習モデルに入力し（ステップＳ１０５）、画素毎の出力を第２の閾値とそれぞれ比較し、第２の閾値を超える画素により構成される領域を第２の錆候補領域として検出する（ステップＳ１０６）。
【００５０】
錆領域判定部１５ｅは、第１の錆候補領域と第２の錆候補領域から錆領域を判定する（ステップＳ１０７）。また、老朽化度算定部１５ｆは、錆領域の老朽化の度合いを示す老朽化度を算定する（ステップＳ１０８）。そして、判定した錆領域と、老朽化度とを表示部１３などに適宜出力し（ステップＳ１０９）、処理を終了する。
【００５１】
第１及び第２の学習モデルとしては、検出結果が互いに異なる学習モデルを用いることができる。特に、互いに異なる構造を有するモデルを用いることが好ましい。異なる構造を有する学習モデルが検出した錆候補領域を組み合わせることにより、より適切に錆領域を判定することができる。また、特に、以下に詳述するように、第１の学習モデルである高再現率モデルと第２の学習モデルである高適合率モデルを用いることが好ましい。なお、第１及び第２の学習モデルとしては、深層学習モデルを用いることが好ましい。これにより、画像の解析を精度よく行うことができ、錆領域の判定を効率よく行うことができる。
【００５２】
次に、第１の学習モデルである高再現率モデルと第２の学習モデルである高適合率モデルの具体例について説明する。図６は、高再現率モデルの具体的な一例についての説明図である。図６に示した高再現率モデルは、プーリング層を用いたエンコードとデコードを行う多層ニューラルネットワークである。
【００５３】
高再現率モデルに使用されているエンコードは、空間的な次元を徐々に減少させる処理である。その後、デコードにより、オブジェクトの詳細と空間的な次元を徐々に復元することになる。また、デコードにおける復元を補助するため、エンコード前の層から対応する次元の層へのコピー（ショートカット）を行っている。
【００５４】
一方、高適合率モデルとしては、プーリング層を有さず畳み込みによる集約を行う多層ニューラルネットワークを用いることができる。プーリングは、分類ネットワークにおいて受容野が増える点において有効であるが、解像度の低下が分類において不利益となる場合がある。
【００５５】
そこで、高適合率モデルでは、図７に示すようなDilated畳み込み層を用いることができる。Dilated畳み込み層は、Atrous畳み込みとも呼ばれる。Dilated畳み込み層を用いることで、空間的な次元を減らすことなく、視野を指数関数的に増大することができる。
【００５６】
図７は、高適合率モデルの畳み込みにおける変換カーネルの説明図である。図７に示すように、３×３の変換カーネルのrateを１に設定すると、３×３の視野でオブジェクトの特徴を取得することになり、３×３の変換カーネルのrateを６に設定すると、１３×１３の視野でオブジェクトの特徴を取得することになる。そして、３×３の変換カーネルのrateを２４に設定すると、４７×４７の視野でオブジェクトの特徴を取得することになる。このように、変換カーネルのrateを変更して特徴を取得し、合成すれば、オブジェクトの次元を維持しつつ、特徴の集約が可能である。
【００５７】
次に、実施の形態に係る錆検出装置１０と、コンピュータの主たるハードウエア構成の対応関係について説明する。図８は、ハードウエア構成の一例を示す図である。
【００５８】
一般的なコンピュータは、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３及び不揮発性メモリ３４などがバス３５により接続された構成となる。不揮発性メモリ３４の代わりにハードディスク装置が設けられていても良い。説明の便宜上、基本的なハードウエア構成のみを示している。
【００５９】
ここで、ＲＯＭ３２又は不揮発性メモリ３４には、オペレーティングシステム（以下、単に「ＯＳ」と言う）の起動に必要となるプログラム等が記憶されており、ＣＰＵ３１は、電源投入時にＲＯＭ３２又は不揮発性メモリ３４からＯＳのプログラムをリードして実行する。
【００６０】
一方、ＯＳ上で実行される各種のアプリケーションプログラムは、不揮発性メモリ３４に記憶されており、ＣＰＵ３１がＲＡＭ３３を主メモリとして利用しつつアプリケーションプログラムを実行することにより、アプリケーションに対応するプロセスが実行される。
【００６１】
そして、実施の形態に係る錆検出装置１０の錆検出プログラムについても、他のアプリケーションプログラムと同様に不揮発性メモリ３４等に記憶され、ＣＰＵ３１が、かかる錆検出プログラムをロードして実行することになる。実施の形態に係る錆検出装置１０の場合には、図３に示した画像取込部１５ａ、前加工部１５ｂ、第１錆検出部１５ｃ、第２錆検出部１５ｄ、錆領域判定部１５ｅ及び老朽化度算定部１５ｆに対応するルーチンを含む錆検出プログラムが不揮発性メモリ３４等に記憶される。そして、ＣＰＵ３１により錆検出プログラムがロード実行されることにより、画像取込部１５ａ、前加工部１５ｂ、第１錆検出部１５ｃ、第２錆検出部１５ｄ、錆領域判定部１５ｅ及び老朽化度算定部１５ｆに対応するプロセスが生成される。
【００６２】
上述してきたように、本実施の形態に係る錆検出プログラムは、対象物を撮像した画像を第１の学習モデルに入力し、該第１の学習モデルから出力された情報に基づいて、対象物における錆の存在を検出する第１の錆検出手順と、第１の学習モデルとは構造が異なる第２の学習モデルに画像を入力し、該第２の学習モデルから出力された情報に基づいて、対象物における錆の存在を検出する第２の錆検出手順と、第１の錆検出手順による検出結果と、第２の錆検出手順による検出結果とに基づいて、対象物における錆の発生領域を判定する判定手順とをコンピュータに実行させることで、錆の検出を効率化することができる。
【００６３】
また、本実施の形態に係る錆検出プログラムは、第１の学習モデルとして点状分布に対して高い表現力を持つ高再現率の深層学習モデルを用い、第２の学習モデルとして線状の連結性に対して高い表現力を持つ高適合率の深層学習モデルを用いることができる。
【００６４】
また、本実施の形態に係る錆検出プログラムは、第１の学習モデルとしてエンコードとデコードを行う多層ニューラルネットワークを用い、第２の学習モデルとして畳み込みによる集約を行う多層ニューラルネットワークを用いることができる。
【００６５】
また、本実施の形態に係る錆検出プログラムでは、第１の学習モデル及び第２の学習モデルは、画像の画素毎に錆を形成する画素である確率を出力し、第１の錆検出手順は、第１の学習モデルから出力される画素毎の確率が第１の閾値を超える画素を検出し、第２の錆検出手順は、第２の学習モデルから出力される画素毎の確率が第１の閾値と異なる第２の閾値を超える画素を検出するよう構成することが望ましい。
【００６６】
また、本実施の形態に係る錆検出プログラムは、第１の錆検出手順に検出され、かつ、第２の錆検出手順にて検出された画素が錆を形成する画素であると判定することで、錆を形成する画素を効率的に検出することができる。
【００６７】
また、第本実施の形態に係る錆検出プログラムでは、１の学習モデルと第２の学習モデルとは、同一の学習用データによる教師有り学習が行われていることが望ましい。
【００６８】
また、本実施の形態に係る錆検出プログラムは、判定手順による判定結果に基づいて、対象物における錆の発生状況を表示制御することが可能である。
【００６９】
また、本実施の形態に係る錆検出プログラムは、判定手順による判定結果に基づいて、対象物の老朽化の度合いを示す数値を算定することができる。
【００７０】
なお、本実施の形態では橋梁を対象物とする場合を例に説明を行ったが、本発明はこれに限定されるものではなく、鉄塔、プラントの構造体など、任意の対象物についての錆検出に適用する事ができる。
【００７１】
また、本実施の形態では、錆検出プログラムを中心に説明を行ったが、錆検出システム、錆検出方法、錆検出装置など、任意の形態で実施することが可能である。また、錆検出装置として実施する場合には、コンピュータが錆検出プログラムを実行して錆検出装置としての動作を行なう構成であっても良いし、ハードウェア（ＡＳＩＣ、ＦＰＧＡなど）で機能部を実現した構成であってもよい。
【００７２】
また、上記の実施の形態で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、学習モデルは２つ以上が用いられても良い。
【符号の説明】
【００７３】
１０  錆検出装置
１１  通信部
１２  入力部
１３  表示部
１４  記憶部
１４ａ  高適合率モデルデータ
１４ｂ  高再現率モデルデータ
１４ｃ  学習パターンデータ
１４ｄ  錆領域データ
１４ｅ  老朽化評価データ
１５  制御部
１５ａ  画像取込部
１５ｂ  前加工部
１５ｃ  第１錆検出部
１５ｄ  第２錆検出部
１５ｅ  錆領域判定部
１５ｆ  老朽化度算定部
２１  小型無人航空機
２２  カメラ
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  不揮発メモリ
３５  バス
【図１】
2020020744.tif 000003
【図２】
2020020744.tif 000004
【図３】
2020020744.tif 000005
【図４】
2020020744.tif 000006
【図５】
2020020744.tif 000007
【図６】
2020020744.tif 000008
【図７】
2020020744.tif 000009
【図８】
2020020744.tif 000010