19-01 コンクリートのひび割れのデータセットを探す

●コンクリートのひび割れを「検出」する

 「道路標識の認識」を「信号機の認識」に変更し、さらに「人・自動車・バイクの認識」に変更しました。本章では「
コンクリートのひび割れの発見」を試みます。かなり趣きが変わりましたが、HDLは「重み係数」など、ごく一部を変更するだけで済みます。

 Kaggleで「データセット」で"crack"などを検索するとこのサイトが見つかると思います。
Surface Crack Detection(データセット)をダウンロードしましょう(図19‐01)。

図19-01 Kaggleからひび割れの画像をダウンロードする

●ひび割れの画像のフォルダ

 
アーカイブを解凍するとPositiveフォルダは図19‐02のような「ひび割れ」の画像が20,000枚あります。


図19-02 Positiveにはひび割れの画像が2万枚。縦横斜めにひびが走る


ひび割れのない画像のフォルダ

 Negativeフォルダには図19‐03のような、ひび割れのない画像があります。こちらも20,000枚、比較的つるつるしたコンクリート表面の画像です。


図19-03
 Negativeにはひび割れなしの画像が2万枚


●訓練用train_1フォルダ以下は名前を0,1とする

 Positiveの20,000枚のうち、18,000枚を
訓練用(学習用)とします。同様にNegativeの20,000枚のうち、18,000枚を訓練用とします。それぞれtrain_1フォルダ以下に0, 1という名前のフォルダに格納します(図19‐04)。

図19-04 学習用の画像。0にはひび割れあり、1にはひび割れ無し

●評価用val_1フォルダ以下は名前をposi, negaに

 Positiveの20,000枚のうち、残りの2,000枚は
評価用(推論用)とします。同様にNegativeの20,000枚のうち、2,000枚を評価用とします。それぞれval_1フォルダ以下にposi, negaという名前のフォルダに格納します(図19‐05)。


図19-05 こちらは推論用。posiはひび割れ、negaはひび無し


●背景は背景として認識させる

 ひび割れあり/なしの2クラスだけで学習→推論することもできますが、ここで経験したように、それだけでは背景が「誤認識」で埋め尽くされてしまいます。したがって本章でも「
背景クラス」を設けて背景として認識させます。

次のページへ

目次へ戻る