ディープラーニングを用いた亀裂診断システム
1.はじめに
日本の構造物の多くは1970年から1990年代にかけて建設された.そのため,多くの構造物の老朽化が進んでおり,社会的な問題となっている.Fig.1は日本の約70万橋ある橋梁数のうち,建設後50年を経過している橋梁の割合を示している.2013年には18%であったのに対し,10年後には43%,20年後には67%となる.このことからも,構造物の老朽化が進行していることがわかる.
Fig.1 50年以上経過した橋梁
そして現在は,補修,補強による構造物の長寿命化が図られている.構造物の長寿命化,耐震性,耐久性の向上を実現するには,構造物の日常点検などの維持管理が重要となる.しかし,現在の点検手法は目視や打音検査が主流であり,専門家の不足,コストがかかる,などといった問題がある.このことから,構造物の点検作業をサポートするシステムが必要となっている.そこで,本研究室では構造物の損傷のランク(度合い)を識別するシステムの開発を行っている.本研究では,近年画像分類においても注目されているディープラーニングを用いて,損傷部の画像等から構造物の損傷ランク識別を行うシステムの開発を行う.
2.システム構成
学習のイメージ図と想定しているシステムの動作をFig.2に示す.学習はFig.2に示す通り,教師あり学習により行う.損傷の種類は複数存在し,損傷の種類ごとにFig.2に示す動作をするシステムを構成していく.本研究ではまず,複数存在する損傷の内,クラックについての損傷ランク識別システムの開発を行っていく.クラックの損傷ランクは,1から5の5段階に識別される.
Fig.2 システムの動作イメージ
入力データとして用いる画像の中にはサイズが幅と高さ共に1000[pixel]を超えるものも多く存在する.これらの画像全てを300×300にリサイズして用いていた.従って,画像中の情報が大幅に抜け落ちてしまう可能性が考えられる.300×300にリサイズしていた理由は学習の手法にあった.コンピュータシステムでの学習動作をFig.3の左側に示す.データセット全てを一度RAMに格納し,RAMからGPUメモリにデータを送った後,GPUメモリから1バッチずつデータをニューラルネットへ送り学習を行う.従って,データセット全てをRAMやGPUメモリに収まるようにしなければならないため,入力できる画像データのサイズを小さくする必要があった.
そこで,学習の手法を変更し,入力画像サイズを大きくしての学習を試みた.変更後の学習の手法をFig.3の右側に示す.この手法では,データセット全てを一度にRAMへ送るのではなく,1バッチずつ送る.そして,RAMは1バッチ分のデータを受け取るたびに,GPUメモリへデータを送る.その後GPUメモリは受け取った1バッチ分データを,ニューラルネットへ送り学習を行う.以上の動作を繰り返し行うことで,RAMやGPUメモリに全てのデータを格納する必要がなくなる.結果的に,入力する画像のサイズを大きくすることが可能になるということになる.
Fig.3 コンピュータ上での学習動作手順
3.学習内容
本研究では,損傷の位置は人により指定するという前提で学習モデルを構築することとした.初めに,学習モデルを考えるにあたって,どのような形でデータ入力を行うのが適切か検証するため,4つのデータ入力パターンを試みた.その入力パターンとしては,
(a) 画像そのものを,縦横比を変えてリサイズしたもの+元画像のサイズ・損傷の位置
(b) 画像そのものを,縦横比を変えずにリサイズしたもの+元画像の大きさ・損傷の位置
(c) 画像から損傷部を切り出したものを,縦横比を変えてリサイズしたもの+損傷部画像のサイズ
(d) 画像から損傷部を切り出したものを,縦横比を変えずにリサイズしたもの
である.
Fig4. 学習画像パターン
4.CNN構成
学習モデルのCNN構成をFig.5に示す.なお,Fig.5において,4番目のパターンでは,「Numeric data」を省いた構成をとっている.
Fig.5 学習モデルのCNN構成
5.実験結果
最も精度の良かったパターン(a)で学習した場合,どのようにテストデータがランク分けされるのかを示すプログラムを作成した.そのプログラムの実行結果をTable 3に示す.クラックのランクは5つに分類されており,Table.1の1~5はクラックのランクを示している.また,行は学習済みのモデルによって予測されたランクを示し,列は正解となるランクを示す.予測と正解のランクが一致している部分の数字は,正しくランク分けされたデータの数を示し,それ以外の部分は誤ってランク分けされたデータ数を示す.ランク1のクラックにおけるランク識別の精度は0.7045,ランク2では0.8095,ランク3では0.3750,ランク4では0.7111,ランク5では0.5652となった.ランクごとの精度はばらつきのある結果となった.
表1 実験結果
5.今後の予定
今後,画像数を増やしたり解像度を上げたりして画像を学習させ,精度を上げていく.新たな研究成果がでたら,報告する.