JP2021081953A - 演算プログラム、演算装置及び演算方法 - Google Patents

演算プログラム、演算装置及び演算方法 Download PDF

Info

Publication number
JP2021081953A
JP2021081953A JP2019208441A JP2019208441A JP2021081953A JP 2021081953 A JP2021081953 A JP 2021081953A JP 2019208441 A JP2019208441 A JP 2019208441A JP 2019208441 A JP2019208441 A JP 2019208441A JP 2021081953 A JP2021081953 A JP 2021081953A
Authority
JP
Japan
Prior art keywords
detection target
image
region
inference
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019208441A
Other languages
English (en)
Other versions
JP7372536B2 (ja
Inventor
金野 雄次
Yuji Konno
雄次 金野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019208441A priority Critical patent/JP7372536B2/ja
Publication of JP2021081953A publication Critical patent/JP2021081953A/ja
Application granted granted Critical
Publication of JP7372536B2 publication Critical patent/JP7372536B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Analysis (AREA)

Abstract

【課題】タイル等と目地を有する壁に形成された亀裂を検出するニューラルネットワークモデルを提供する。【解決手段】亀裂等の検出対象の領域と検出対象と類似する第1の非検出対象(目地)の領域と第1の非検出対象と異なる第2の非検出対象(タイル等)の領域とを少なくとも有する学習用画像と、検出対象の領域に検出対象ラベルを有し第1の非検出対象の領域と前記第2の非検出対象の領域に背景ラベルを有する教師データと、をそれぞれ有する複数の学習データを用いてニューラルネットワークモデルを生成する、ニューラルネットワークの演算プログラム。【選択図】図4

Description

本発明は、演算プログラム、演算装置及び演算方法に関する。
賃貸または住宅建築会社は、建築物の外壁や内壁または床などの壁面の点検業務を定期的に行い、点検結果に基づいて壁面の補修工事の必要性等を判断する。点検では、点検員がカメラで物件の壁面の撮像画像を取得し、撮像画像を目視で観察して、外壁や内壁または床などの壁面にできた亀裂等を検出し、劣化具合を判定する。ここで、亀裂等とは、主に固いものに生じる亀の甲羅模様のようなひびや裂け目である。
物件の画像から亀裂等を検出する工程と劣化具合の判定工程のいずれも人手で行われるため、物件数が多い場合、非常に多くの人数と時間を要することになる。また、亀裂等は、その形状や幅などが様々であり、物件の画像から亀裂等を検出するための客観的な判断基準を設定することが難しい。
特開2019−102031号公報 特開2019−66267号公報
U-Net: Convolutional Networks for Biomedical Image Segmentation、https://arxiv.org/pdf/1505.04597.pdf
上記の特許文献には、コンピュータが亀裂の形状をルールベースで自動的に検出する方法が開示されている。しかし、ルールベースによる自動検出方法は、コンクリートの壁面の亀裂等のように一様な平面に形成された亀裂等を検出するには有効に働くが、タイル等の壁面に亀裂等が形成されている場合、タイル等の目地を亀裂と誤判定する問題がある。
そこで、本実施の形態の第1の側面の目的は、亀裂等と誤認されるような目地や模様があるタイルやレンガ等の壁面に形成された亀裂等を高い精度で検出することができる演算プログラム、演算装置及び演算方法を提供することにある。
本実施の形態の第1の側面は、検出対象の領域と前記検出対象と類似する第1の非検出対象の領域と前記第1の非検出対象と異なる第2の非検出対象の領域とを少なくとも有する学習用画像と、前記検出対象の領域に検出対象ラベルを有し前記第1の非検出対象の領域と前記第2の非検出対象の領域に背景ラベルを有する教師データと、をそれぞれ有する複数の学習データを用いて、推論用画像が前記検出対象の領域を含むか否かを推定するニューラルネットワークモデルを生成する工程と、
前記推論用画像を前記学習済みのニューラルネットワークモデルに入力した結果、前記推論用画像が前記検出対象の領域を含むことを示す推定結果が得られた場合、前記推論用画像における前記検出対象と推定した領域と前記背景と推定した領域とを区別可能なマップ情報を出力する推論工程と
を有する処理を、コンピュータに実行させる演算プログラムである。
第1の側面によれば、亀裂等と誤認されるような目地や模様があるタイル、レンガ等の壁面に形成された亀裂等を高い精度で検出する。
ディープラーニングのセマンティックセグメンテーション技術の概略を示す図である。 本実施の形態が検出対象とする亀裂が形成された壁面の撮像画像例を示す図である。 本実施の形態におけるNNモデルの学習工程と推論工程とを示す図である。 図3の学習用画像と教師データであるアノテーション画像の一例を示す図である。 学習用画像の画素データと教師データであるアノテーション画像の画素データの具体例を示す図である。 本実施の形態におけるNNモデルのニューラルネットワーク装置の構成例を示す図である。 本実施の形態における検出対象の亀裂を検出するNNモデルの処理のフローチャートを示す図である。 NNモデルのニューラルネットワークの構成例を示す図である。 エンコーダ内の1つの畳込ユニットとプーリング層の構成例を示す図である。 デコーダ内の1つのアップ畳込ユニットと畳込ユニットの構成例を示す図である。 実施例での評価による評価サンプルの複数のIoUの範囲に対応するサンプル数を集計した図表である。 ある画像のアノテーション画像AN_IMGと推定されたセグメンテーションマップSG_MAPとを重ねた場合のIoUについて説明する図である。 図12中の亀裂の領域CK_1、CK_2内の付した記号TP, FN, FP, TNの意味とIoUの意味を示す図である。
本実施の形態は、ディープラーニングにより生成したニューラルネットワークモデル(以下NNモデルと称する。)を使用して、画像内の様々な対象物の領域を区分するセマンティックセグメンテーションを行う技術に関する。具体的には、タイル、レンガ等の外壁や内壁または床等の壁面内に生成される亀裂等の領域を区別して表示するセグメンテーションマップをコンピュータにより自動的に生成するNNモデルの演算プログラム、演算方法、演算装置に関する。
タイルやレンガ等の外壁や内壁または床等の壁面は、タイルやレンガ等に対応する所定形状の領域が、目地などの境界領域で囲まれた模様を有する。そのような壁面に形成された亀裂は、補修工事が必要になる。
図1は、ディープラーニングのセマンティックセグメンテーション技術の概略を示す図である。NNモデルNN_MDLは、具体的にはNNモデルの演算プログラムを実行する演算処理装置である。学習工程では、学習用画像(訓練用画像)TR_IMGをNNモデルに入力し、NNモデルが例えば畳み込み演算を行って特徴マップを出力する。図示された学習用画像TR_IMGは、例えば8×8画素の画像であり、各画素のデータとしてRGBデータ(赤・緑・青それぞれの階調値データ)を持つ。図中に示した学習用画像TR_IMGは、左右のタイルTLの領域TL_REGと、タイル領域間の目地(ジョイント)JTの領域JT_REGとを有する。
そして、NNモデルNN_MDLは、学習用画像の画素のデータを演算して出力した特徴マップと、学習用画像に対応する教師データSP_DATAとの誤差を小さくするように、NNモデル内のフィルタ等のパラメータ(重みやバイアス)を最適化する。
教師データSP_DATAは、例えば、図示されるアノテーション画像AN_IMGである。アノテーション画像AN_IMGは、学習用画像と同等の8×8画素を有し、学習用画像の各画素がどの対象物であるかを示すラベルを画素単位で有する画像データである。図示されるアノテーション画像AN_IMGは、学習用画像のタイルTLの領域の画素にタイルラベルLB_TLを、目地JTの領域の画素に目地ラベルLB_JTを有する。
NNモデルは、上記の学習用画像を入力し内部のニューラルネットワークの演算を実行して特徴マップを出力する順伝搬演算と、出力された特徴マップと教師データとの誤差を小さくする逆伝搬演算とを、複数の学習データ(学習用画像と教師データ)で繰り返す。その結果、上記の誤差を最小化するようにNNモデル内のフィルタ等のパラメータを最適化する。
学習済みのNNモデルは、推論用画像EST_IMGを入力し、最適化されたパラメータによる順方向演算により、推定結果であるセグメンテーションマップSG_MAPを出力する。セグメンテーションマップは、例えば、推論対象画像の各画素がどの対象物に対応するかのラベルを有するマップであり、教師データのアノテーション画像と同等である。
図2は、本実施の形態が検出対象とする亀裂が形成された壁面の撮像画像例を示す図である。画像IMG_1は、正方形のタイルとタイルの間の碁盤の目のような目地と細い斜めの亀裂とを有する。また、画像IMG_2は、長方形のレンガとレンガの間の目地と細い斜めの亀裂とを有する。一方、画像IMG_3は、画像IMG_1と同様に正方形のタイルと碁盤の目の目地と細い亀裂を有するが、画像IMG_1と異なり、斜め45度方向にタイルと目地の方向が回転している。画像IMG_4は、画像IMG_2と同様に長方形のレンガと目地と細い斜めの亀裂を有するが、画像IMG_2と異なり、斜め30度方向にレンガと目地の方向が回転している。
このように、タイルやレンガと目地と亀裂が含まれた画像を、セマンティックセグメンテーション技術を適用する場合、図1で示した教師データであるアノテーション画像は、タイル領域の画素にはタイルのラベルを、目地の領域の画素には目地のラベルを、そして、亀裂の領域の画素には亀裂のラベルを有する。そして、図1で説明した学習工程の演算を繰り返すことで、NNモデルは、画像の亀裂の領域の画素と、タイルの領域の画素と、目地の領域の画素とを区別するセグメンテーションマップを出力する。
しかし、図2の画像IMG_3、IMG_4のように斜めに傾いた目地を有する画像等の場合、目地の特徴が亀裂の特徴と類似するためか、NNモデルは、斜め方向の目地を亀裂と誤認識することがある。物件の撮像画像は、撮像状況によっては、このように斜め方向のタイル等と目地を有する場合がある。また、NNモデルの学習用画像の数を水増しするために、タイルや目地が水平・垂直方向の画像を左右方向に回転して、タイルや目地が斜め方向の画像を学習用画像として追加することが行われる。このような学習用画像を使用して学習することで、NNモデルはタイル等と目地が斜めになった画像でも目地を検出できることが期待できる。
しかし、本発明者による実験では、学習済みNNモデルが、斜め方向の目地を亀裂と誤認するという問題や、水平または垂直方向の目地を同方向の亀裂と誤認するという問題が発生した。以下、本実施の形態について説明する。
図3は、本実施の形態におけるNNモデルの学習工程と推論工程とを示す図である。図3に示したNNモデルNN_MDLによる学習工程と推論工程は、図1と比較すると、本実施の形態での教師データSP_DATAとして使用するアノテーション画像AN_IMGの構成に改良が施されている。
図3では、NNモデルがタイルやレンガの壁に形成された亀裂の領域を検出できるように学習を実行する。即ち、学習工程では、複数の学習用画像TR_IMGとそれらにそれぞれ対応する複数の教師データSP_DATAであるアノテーション画像AN_IMGを使用する。
図1に示したセマンティックセグメンテーションを行うNNモデルでは、学習用画像TR_IMGにタイルやレンガ等と目地に加えて亀裂の領域が含まれるため、教師データであるアノテーション画像には、画素単位でタイルやレンガ等のラベルと、目地のラベルと、亀裂のラベルが含まれる。しかし、目地と亀裂の特徴が類似するため、学習済みNNモデルが、目地の領域の画素を亀裂の領域の画素と誤認識する問題がある。
それに対して、図3の本実施の形態では、複数の教師データSP_DATAであるアノテーション画像AN_IMGが、亀裂の領域の画素には「亀裂」のラベルを、亀裂の領域以外のタイルやレンガ等の領域と目地の領域の画素には「背景」のラベルを有する。つまり、タイルやレンガ等の領域と目地の領域は区別する必要性が少ないので、アノテーション画像AN_IMGのラベルとして、両者を同じカテゴリの「背景」のラベルにする。
図4は、図3の学習用画像と教師データであるアノテーション画像の一例を示す図である。学習用画像TR_IMGは、図1と同様に8×8画素を有し、タイルやレンガ等TLの領域TL_REGと、目地JTの領域JT_REGと、亀裂CRの領域CR_REGとを有する。
一方、教師データであるアノテーション画像AN_IMGは、亀裂CKの領域CK_REGの画素には「亀裂」のラベルLB_CKを、亀裂CKの領域CK_REG以外のタイルやレンガ等TLの領域TL_REGと目地JTの領域JT_REGの画素には「背景」のラベルLB_BKを有する。アノテーション画像AN_IMGには、具体的な亀裂の領域を2本の太線で示している。この2本の太線で挟まれた領域が亀裂の領域であり、それと重なる画素には亀裂のラベルLB_CKが付されている。
推論用画像EST_IMGは、学習用画像TR_IMGと同様に各画素にR、G、Bいずれかの階調値データを有し、NNモデルが演算により出力するセグメンテーションマップSG_MAPは、教師データのアノテーション画像AN_IMGと同様に、亀裂CKの領域の画素には亀裂のラベルLB_CKを、タイルやレンガ等の領域の画素には背景BKのラベルLB_BKとをそれぞれ有する。
そして、推論工程でNNモデルが出力するセグメンテーションマップSG_MAPについて、例えば、亀裂のラベルLB_CKを持つ画素と背景のラベルLB_BKを持つ画素を、それぞれ人間が認識しやすい別の色に変換することで、セグメンテーションマップ内の亀裂の画像を容易に識別することができる。このような色変換を行う演算を、NNモデルのポスト処理として行っても良い。
図5は、学習用画像の画素データと教師データであるアノテーション画像の画素データの具体例を示す図である。学習用画像は、一般に、R(赤)の画素データR_TL, R_JT, R_CKの画像と、G(緑)の画素データG_TL, R_TL, G_TLの画像と、B(青)の画素データB_TL, B_JT, B_CKの画像とをそれぞれ有する。ここで、R_TLはタイルやレンガの色の赤の階調データを、R_JTは目地の色の赤の階調データを、R_CKは亀裂の色の赤の階調データをそれぞれ意味する。G(緑)とB(青)も同様である。これらのR,G,Bの階調データは、例えば8ビット、256階調を有する。
一方、教師データSP_DATAであるアノテーション画像AN_IMGの画素データでは、タイルやレンガ等TLの画素と目地JTの画素には、背景のラベルデータLB_BKr, LB_BKg, LB_BKbが与えられる。背景のラベルデータLB_BKr, LB_BKg, LB_BKb は、それぞれ赤r,緑g、青bのアノテーション画像の背景のラベルデータに対応する。背景のラベルデータLB_BKr, LB_BKg, LB_BKbは、例えば、階調値(0,0,0)のデータである。
また、アノテーション画像AN_IMGの画素データでは、亀裂(クラック)CKの領域の画素には、亀裂のラベルデータLB_CKr, LB_CKg, LB_CKbが与えられる。亀裂のラベルデータLB_CKr, LB_CKg, LB_CKbも、それぞれ赤r,緑g、青bのアノテーション画像の亀裂のラベルデータに対応する。亀裂のラベルデータLB_CKr, LB_CKg, LB_CKbは、例えば、階調値(20,20,20)のデータである。
上記のアノテーション画像AN_IMGを教師データSP_DATAとして使用するNNモデルの学習工程を実行すると、NNモデルが演算により出力する特徴マップが、アノテーション画像AN_IMGと最小誤差を有する画素値を有するように、ニューラルネットワーク内部のパラメータが最適化される。その結果、学習済みNNモデルは、推論用画像EST_IMGに対して、学習工程でのアノテーション画像AN_IMGと同等のセグメンテーションマップSG_MAPを生成する。
図5に示したラベルの具体的な値(0,0,0)と(20,20,20)を、背景のラベルと亀裂のラベルに与えることで、推論工程でNNモデルが出力するセグメンテーションマップSG_MAPは、背景の領域の画素は階調値(0,0,0)の黒に、亀裂の領域の画素は階調値(20,20,20)の灰色になる。図3のセグメンテーションマップSG_MAPに示したとおりである。
前述したとおり、例えば、セグメンテーションマップSG_MAPの亀裂の領域内の画素の階調値(20,20,20)を、例えば、階調値(0,255,0)に変換すれば、亀裂の領域の画素を緑の画像に変換でき、人間が亀裂の領域を容易に識別できるようにできる。
本実施の形態のNNモデルの演算プログラムは、以下のウエブサイトからダウンロードして取得した。
Implementation of deep learning framework -- Unet, using Keras
https://github.com/zhixuhao/unet
この演算プログラムでは、ラベルの値を、(0,0,0)〜(20,20,20)の20種類から選択することができる。そこで、上記の通り、タイルやレンガ等TLと目地JTの領域の画素には、共に背景のラベル(0,0,0)を与え、亀裂CKの領域の画素には、亀裂のラベル(20,20,20)を与えた。但し、他の選択できるラベルの値を選択してもよい。
図3に戻り、複数の学習データ(複数組の学習用画像TR_IMGと教師データのアノテーション画像AN_IMGのセット)を用いてNNモデルの学習工程を実行すると、学習済みNNモデルは、タイルやレンガ等の壁面を撮像した推論用画像から、その画像に含まれる亀裂の領域を、目地の領域と区別可能に抽出することができる。学習工程でパラメータが最適化されたNNモデルは、推論工程において、推論用画像EST_IMGを入力し、順伝搬演算を行って亀裂の領域とそれ以外の背景の領域とをセグメンテーションしたセグメンテーションマップSG_MAPを出力する。このセグメンテーションマップSG_MAPは、学習工程で使用したアノテーション画像AN_IMGと同様の画素データを有する。
図6は、本実施の形態におけるNNモデルのニューラルネットワーク装置の構成例を示す図である。ニューラルネットワーク装置100は、図6に示すコンピュータ装置である。ニューラルネットワーク装置100は、CPU(Central Processing Unit)である演算処理装置10と、演算処理装置がアクセスするメインメモリ12と、畳込み演算などNNモデルの特殊な演算を実行するグラフィックプロセッサユニット(GPU)14と、GPUがアクセスするGPUメモリ16とを有する。CPU10とGPU14はいずれも命令を実行するプロセッサである。さらに、ニューラルネットワーク装置100は、インターネットやイントラネットなどのネットワークNWにアクセス可能にするインターフェースIFと、大容量のHDDやSDDのような補助記憶装置20〜26を有する。
補助記憶装置には、NNモデルの学習と推論の演算を行うNNプログラム20が記憶され、NNプログラム20がメインメモリ12やGPUメモリ16に展開され、演算処理装置10やGPU14により実行される。また、補助記憶装置には、学習データ(学習用画像データと教師データ)22と、評価データ(評価用画像データと教師データ)24と、推論対象データ(推論対象画像データ)26などが記憶される。
ニューラルネットワーク装置100は、ネットワークNWを経由して、ニューラルネットワーク装置のNNモデルを利用するクライアント端末装置30,32からアクセスされ、演算処理装置10やGPU14がNNプログラム20を実行する。
図7は、本実施の形態における検出対象の亀裂を検出するNNモデルの処理のフローチャートを示す図である。亀裂検出NNモデルの処理の一部は、図6の学習と推論を行うNNプログラム20を演算処理装置10とGPU14のプロセッサが実行することにより行われる。
亀裂検出NNモデルの処理は、図7に示されるとおり、学習データの生成工程S10と、学習データを使用したNNモデルの学習工程S11と、NNモデルの推定精度をチェックする検証工程S13と、学習済みNNモデルにより未知画像の亀裂を推定する推論工程S15とを有する。このうち少なくともNNモデルの学習工程と推論工程とは、NNプログラム20を演算処理装置10とGPU14のプロセッサが実行することにより行われる。
学習データの生成工程S10では、タイルやレンガ等と目地を有する外壁や内壁または床等の壁面の撮像画像であって亀裂を含む学習用画像と、亀裂の領域とタイルやレンズ等と目地を含む背景の領域とに異なるラベル、例えば亀裂のラベルと背景のラベルを対応付ける教師データと、をそれぞれ有する複数の学習データを生成する。ここで、亀裂は検出対象であり、タイルやレンガ等と目地は非検出対象である。また、目地は亀裂と類似する特徴を有する。
図4には、学習用画像TR_IMGと教師データSP_DATAの具体例が示される。学習用画像TR_IMGには、タイルやレンガ等の領域TL_REGとそれらの間の目地の領域JT_REGと亀裂の領域CK_REGとが含まれる。図4の学習用画像は一例として8×8画素からなる。
一方、教師データSP_DATAは、8×8の画素毎にどの対象の領域かを示すラベルを有する。この例では、目地の領域(第1の非検出対象の領域)JT_REGの画素と、タイルやレンガ等の領域(第2の非検出対象の領域)TL_REGの画素には、共に背景ラベル(非検出対象のラベル)LB_BKが対応付けられる。更に、亀裂の領域(検出対象の領域)の画素には、亀裂ラベル(検出対象のラベル)LB_CKが対応付けられる。このように、教師データSP_DATAは、検出対象の領域と非検出対象の領域の画素毎にそれぞれのラベル情報が関連付けられたアノテーション画像AN_IMGである。
次に、学習工程S11では、演算処理装置CPU及びGPUのプロセッサが、(1)NNモデルに学習用画像を入力し、ニューラルネットワークの各層の演算を順方向に実行し、学習用画像に対応する特徴マップ(特徴画像)を出力する。(2)次に、プロセッサが、出力された特徴マップと教師データのアノテーション画像との誤差、具体的には特徴マップとアノテーション画像の対応する画素間の二乗誤差を算出する。(3)次に、プロセッサが、二乗誤差を小さくするようにNNモデル内のパラメータを更新する。具体的な演算例では、二乗誤差をニューラルネットワーク内で逆伝搬させ、各層で勾配降下法により各層内のパラメータ(畳込層のフィルタの重みやバイアス)を更新する。ニューラルネットワークの例については、後で説明する。
プロセッサは、上記の学習工程S11を全学習データについて繰り返し実行する(S12)。全学習工程が終了すると、プロセッサは、検証工程S13を実行し、検証データの検証用画像と検証用の教師データとを比較して、NNモデルの推定精度をチェックする。検証工程で求めた推定精度が所望のレベルに達していれば、検証パスとなり(S14のYES)、推論工程S15に移行する。検証パスできない場合は、プロセッサは、学習データを修正または追加し、学習工程S11を再度実行する。
推論工程S15では、NNモデルに推論用画像を入力し、ニューラルネットワークの各層の演算を順方向に実行し、推論用画像に対応する特徴マップを出力する。この特徴マップが、背景の領域内に亀裂の領域を有するセグメンテーションマップである。セグメンテーションマップは、図4に示したアノテーション画像と同様に、画像の画素毎にどの対象の領域かを示すラベルデータを有する。これにより、NNモデルは、撮像画像から亀裂の形状を自動的に抽出することができる。ニューラルネットワーク装置100は、例えば、推論用画像中の亀裂の領域を他の領域と区別可能な情報を、推論結果としてクライアント端末装置30、32の表示画面に表示させることとしても良い。推論用画像中の亀裂の領域を他の領域と区別可能な情報は、例えば、推論用画像EST_IMGとセグメンテーションマップSG_MAPとを並べて表示するものであって良い。あるいは、推論用画像中の亀裂の領域を他の領域から区別可能な情報は、例えば、推論用画像EST_IMGとセグメンテーションマップSG_MAPとを重ね合わせて表示するものであっても良い。
[NNモデルの例]
本発明者は、前述のウエブサイトからダウンロードしたニューラルネットワークのプログラムを使用した。このニューラルネットワークはUネットと呼ばれる。そこで、本実施の形態のNNモデルの一つとして、Uネットについて概略を説明する。Uネットの詳細な情報は、前述の非特許文献1に詳述されている。
図8は、NNモデルのニューラルネットワークの構成例を示す図である。このニューラルネットワークは、一種のフル・コンボリューション・ネットワーク(FCN: Full Convolution Network)であり、入力層と出力層との間に複数の畳込み層を接続し、全結合層を有していないニューラルネットワークである。Uネットは、このフル・コンボリューション・ネットワークを基本構成とし、いくつかの工夫を追加している。
ニューラルネットワークは、左側の4組の畳込ユニットCNV_1〜CNV_4とプーリング層POL_1〜POL_4を有するエンコーダENCODERと、それに続く1つの第5畳込ユニットCNV_5と、右側の4組のアップ畳込ユニットUCNV_6〜UCNV_9と畳込ユニットCNV_6〜CNV_9を有するデコーダDECODERとを有する。左側のエンコーダには、入力画像IN_IMGが入力され、右側のデコーダからは、出力画像として出力セグメンテーションマップOUT_SG_MAPが出力される。
更に、ニューラルネットワークは、第1畳込ユニットCNV_1と第9畳込ユニットCNV_9との間に第1のコントラクティングパスPASS_1を、第2畳込ユニットCNV_2と第8畳込ユニットCNV_8との間に第2のコントラクティングパスPASS_2を、第3畳込ユニットCNV_3と第7畳込ユニットCNV_7との間に第3のコントラクティングパスPASS_3を、そして、第4畳込ユニットCNV_4と第6畳込ユニットCNV_6との間に第4のコントラクティングパスPASS_4をそれぞれ有する。
図9は、エンコーダ内の1つの畳込ユニットとプーリング層の構成例を示す図である。図9には、図中上部に示した第1畳込ユニットCNV_1と第1プーリング層POL_1について、図中下部により詳細な構成が示される。
第1畳込ユニットCNV_1は、例えば、第1畳込層CNV_LY1と第1活性化層ReLU_1の組及び第2畳込層CNV_LY2と第2活性化層ReLU_2の組を有する。活性化層は、いずれも正規化線形ユニット(ReLU:Rectified Linear Unit)である。第1畳込層CNV_LY1は、入力画像IN_IMGの画素データを入力し、所定のカーネルサイズ(例えば3×3)のフィルタを使用して畳込み演算を行う。畳込演算されたデータは第1活性化層に入力され、特徴マップが出力される。第1畳込層は、複数のフィルタそれぞれで畳込み演算を行うので、フィルタ数分の複数チャネルの特徴マップを出力する。
第2畳込層CNV_LY2は、前述の出力された特徴マップを入力し、所定のカーネルサイズのフィルタを使用して畳込み演算を行い、第2活性化層を経由して特徴マップを出力する。フィルタ数は1つである。そして、第1プーリング層POL_1が、例えば、所定のカーネルサイズ(例えば2×2画素)にマックスプーリングを実行し、カーネルサイズの数の画素内で最大の値が抽出され特徴マップの画素値となる。マックスプーリングに代えてアベレージプーリングでも良い。このプーリング処理により、特徴マップのサイズが1/4に小さくなり、ダウンサンプリングされた特徴マップF_MAPが出力される。
エンコーダ内の他の第2〜第4畳込ユニットCNV_2〜CNV_4と、第5の畳込ユニットCNV_5も、図9に示した第1畳込ユニットCNV_1と同様の構成を有する。また、他のプーリング層も図9の第1プーリング層POL_1と同様の構成である。
図10は、デコーダ内の1つのアップ畳込ユニットと畳込ユニットの構成例を示す図である。図10には、図中上部に示した第6アップ畳込ユニットUCNV_6と第6畳込ユニットCNV_6について、図中下部に詳細な構成が示される。
第6アップ畳込ユニットUCNV_6は、アップサンプリング層UP_SMP_LYと、アップ畳込層UCNV_LYとを有する。アップサンプリング層UP_SMP_LYは、図8中の第5畳込ユニットCNV_5が出力した特徴マップF_MAP_1とのサイズを第4プーリング層POL_4でダウンサンプリングされた分、アップサンプリングして、元のサイズの特徴マップに整える。具体的に、アップサンプリング層UP_SMP_LYは、特徴マップF_MAP_1内の画素データを、第4プーリング層POL_4がマックスプーリングで抽出した元の画素の位置に割り当てる。
アップ畳込層UCNV_LYは、アップサンプリング層により生成された特徴マップに所定のフィルタで畳込演算を行い、特徴マップF_MAP_1Bを出力する。アップ畳込層UCNV_LYでの畳込演算は、第6畳込ユニット内の第1畳込層CNV_LY1または第2畳込層CNV_LY2とフィルタは異なるが同等の畳込演算である。
第6畳込ユニットCNV_6の構成は、図9で説明した第1畳込ユニットCNV_1と同等である。但し、第6畳込ユニットCNV_6は、特徴マップF_MAP_1Bを入力し、コントラクティングパスPASS_4で供給された特徴マップF_MAP_2の画素データを特徴マップF_MAP_1Bに連結(Concatenate)し、第1畳込層CNV_LY1及び第1活性化層ReLU_1と、第2畳込層CNV_LY2及び第2活性化層ReLU_2がそれぞれ演算して、特徴マップF_MAP_3を出力する。
そして、デコーダ内の他のアップ畳込ユニットUCNV_7〜UCNV_9と他の畳込ユニットCNV_7〜CNV_9の構成は、第6アップ畳込ユニットUCNV_6と第6畳込ユニットCNV_6の構成と同様である。
プロセッサは、デコーダ内のアップ畳込ユニットで前段の層が出力する特徴マップをアップサンプリングにより拡大し、デコーダ内の畳込ユニットCNV_6〜CNV_9で、エンコーダで生成した特徴マップF_MAP_2の特徴量をアップ畳込ユニットが出力する特徴マップF_MAP_1Bに連結(Concatenation)する。その結果、エンコーダで縮小された特徴マップのサイズがダウンサンプリング分だけ拡大されて縮小前のサイズにされる。また、コントラクティングパスを設けることで、デコーダで生成される特徴マップをくっきりさせることができると言われている。
図8に示したとおり、入力側のエンコーダENCODERでは、入力画像の特徴マップのサイズがプーリング層により縮小されるのに対して、出力側のデコーダDECODERでは、縮小された特徴マップが拡大される。
学習工程では、プロセッサが、第9畳込ユニットCNV_9が出力する特徴マップの各画素データと、教師データのアノテーション画像の各画素データとの二乗誤差を算出し、二乗誤差がニューラルネットワーク内を逆伝搬し、勾配降下法により、逆伝搬された各層での誤差を小さくするように各層でのパラメータ(フィルタの重み及び畳込演算のバイアス)を更新する。
本実施の形態のNNモデルは、Uネット以外のFCN(Full Convolution Network:全層畳込ネットワーク)でも、同様に目地を亀裂と誤って推定することを回避可能である。例えば、UネットのコントラクティングパスPASSを設けないFCNでもよい。例えば、SegNetなどでもUネットと同様の効果が期待できる。
[評価]
実施例では、コンクリート、ブロック、タイル、レンガ等の壁面に亀裂が入った撮像画像を約1万枚取得し、そのうち、8,611の画像に対して教師データのアノテーション画像を作成した。アノテーション画像を作成後に、不適切な画像を取り除き、7,611のデータセット(画像とアノテーション画像のセット)の学習データと、914のデータセットの評価データとに分割した。更に、学習データは、画像とアノテーション画像を、角度−5°〜+5°の範囲で回転して水増しし、合計53,227セットの学習データを準備した。そして、Uネットの演算プログラムをプロセッサで実行し、バッチサイズが4,エポック数28で学習工程を実行し、NNモデルを生成した。
アノテーション画像は、図4に示したとおりであり、亀裂の領域の画素に亀裂のラベルとして(20,20,20)を設定し、亀裂以外のタイル、レンガ等と目地の領域の画素に背景のラベルとして(0,0,0)を設定した。
学習済みNNモデルについて、914のデータセットの評価データを使用して、評価を行った。具体的には、評価データの画像を入力してUネットのプログラムを実行し、推定結果のセグメンテーションマップを生成した。そして、推定結果のセグメンテーションマップと教師データのアノテーション画像とを比較し、NNモデルの精度を評価した。具体的には、推定結果のセグメンテーションマップの亀裂の領域と教師データのアノテーション画像の亀裂ラベルの領域との重なり面積に基づくIoU(Intersection over Union)が大きいほど、推定結果の精度が高いと判定した。
図11は、実施例での評価による評価サンプルの複数のIoUの範囲に対応するサンプル数を集計した図表である。複数のIoUの範囲は10%刻みとした。正解率は、以下の演算式で求めた。
正解率=サンプル数/評価データ合計数
ここで、サンプル数とは、対応するIoUの範囲より大きい範囲のサンプル数の合計である。評価データ合計数は、前述のとおり914である。
図12は、ある画像のアノテーション画像AN_IMGと推定されたセグメンテーションマップSG_MAPとを重ねた場合のIoUについて説明する図である。図中、実線がアノテーション画像AN_IMG内の亀裂の領域CK_1であり、破線が推定されたセグメンテーションマップSG_MAP内の亀裂の領域CK_2である。両亀裂の領域CK_1とCK_2の重なりが多いほど、NNモデルの精度が高いことを意味する。
図13は、図12中の亀裂の領域CK_1、CK_2内の付した記号TP, FN, FP, TNの意味とIoUの意味を示す図である。図13によれば、混同行列の表に示したとおり、NNモデルの推定が「亀裂」と「Not亀裂(亀裂でない)」、教師データの正解値が「亀裂」と「Not亀裂(亀裂でない)」の4つの組み合わせに、記号TP, FN, FP, TNが対応付けられる。即ち、4つの記号の意味は以下のとおりである。
TP(True Positive):NNモデルが「亀裂」と推定、正解は「亀裂」
TN(True Negative):NNモデルが「Not亀裂」と推定、正解は「Not亀裂」
FP(False Positive):NNモデルが「亀裂」と推定、正解は「Not亀裂」
FN(False Negative):NNモデルが「Not亀裂」と推定、正解は「亀裂」
この場合、IoUは、図示されるとおり、以下の演算式で求められる。
IoU = TP / (GT + PR - TP) = TP / (TP + FN + FP) = 0〜100%
つまり、IoUは、図12中の実線の亀裂の領域CK_1と破線の亀裂の領域CK_2のいずれかに属する一部重なった領域(TP+FN+FP)に対するTPの領域の比率である。IoTの比率が高いことは、領域TNやFPが少なく領域TPが多いことを意味する。
図11に戻り、IoUが10%以上の場合、推定した亀裂領域は正解とみなすと、正解率は、上記の演算式により、(174 + 190 + 127 + 109 + 82 + 27 + 2)/ 914 = 78%となる。
以上説明したとおり、本実施の形態のNNモデルによれば、タイルやレンガ等の目地を亀裂と誤認識せずに、タイルやレンガ等の壁などに生成された亀裂を検出することができる。なお、亀裂を検出する対象画像は、タイルやレンガなどの壁、ブロックの壁、太陽光パネルのように複数の矩形パネルと矩形パネル間の目地を有する対象物でも、本NNモデルは、目地を亀裂と誤認識せずに亀裂を検出することができる。
IMG:画像
IN_IMG:入力画像
TR_IMG:学習用画像
TR_DATA:学習データ
SP_DATA:教師データ(正解値データ)
AN_IMG:アノテーション画像
SG_MAP:セグメンテーションマップ
FT_MAP:特徴マップ(特徴量画像)
NN_MDL:NNモデル、ニューラルネットワークモデル
EST_IMG:推論用画像
20:ニューラルネットワークプログラム(NNプログラム)
22:学習データ
24:評価データ
25:推論対象データ(推論対象画像)
TL:タイル、レンガ等
JT:目地
CK:亀裂、クラック、ひび
LB_BK:背景ラベル
LB_CK:亀裂ラベル
PX:画素
LB:ラベル
CNV:畳込み
CNV_LY:畳込み層
POL:プーリング層
UCNV:アップ畳込み
ReLU:正規化線形ユニット(Rectified Linear Unit)

Claims (7)

  1. 検出対象の領域と前記検出対象と類似する第1の非検出対象の領域と前記第1の非検出対象と異なる第2の非検出対象の領域とを少なくとも有する学習用画像と、前記検出対象の領域に検出対象ラベルを有し前記第1の非検出対象の領域と前記第2の非検出対象の領域に背景ラベルを有する教師データと、をそれぞれ有する複数の学習データを用いて、推論用画像が前記検出対象の領域を含むか否かを推定するニューラルネットワークモデルを生成する工程と、
    前記推論用画像を前記学習済みのニューラルネットワークモデルに入力した結果、前記推論用画像が前記検出対象の領域を含むことを示す推定結果が得られた場合、前記推論用画像における前記検出対象と推定した領域と前記背景と推定した領域とを区別可能なマップ情報を出力する推論工程と
    を有する処理を、コンピュータに実行させる演算プログラム。
  2. 前記ニューラルネットワークモデルは、複数の畳込層を直列に接続したニューラルネットワークである、請求項1に記載の演算プログラム。
  3. 前記ニューラルネットワークは、更に、前記畳込層とプーリング層の組を複数直列に接続し各組が特徴マップを生成するエンコーダと、前の層が出力する第1特徴マップと前記エンコーダの対応する前記畳込層が出力する第2特徴マップとを連結するアップ畳込層と前記畳込層の組を、前記エンコーダの組と同じ数だけ直列に接続したデコーダとを有する、請求項2に記載の演算プログラム。
  4. 前記学習用画像及び推論用画像は、複数のタイル等と前記タイル等間の目地とを有する壁に亀裂が形成された画像を含み、前記タイル等は、タイル、レンガ、ブロック、太陽光パネルなど、所定の多角形の対象物であり、
    前記亀裂の領域が前記検出対象の領域に対応し、
    前記タイル等の領域が前記第2の非検出対象の領域に対応し、
    前記目地の領域が前記第1の非検出対象の領域に対応する、請求項1に記載の演算プログラム。
  5. 前記学習用画像及び推論用画像は、画素毎に階調値データを有し、
    前記教師データは、前記検出対象の領域内の画素に前記検出対象ラベルを、前記第1の非検出対象の領域及び前記第2の非検出対象の領域内の画素に前記背景ラベルをそれぞれ有し、
    前記検出対象ラベル及び前記背景ラベルは、それぞれ所定の階調値データである、請求項1に記載の演算プログラム。
  6. 検出対象の領域と前記検出対象と類似する第1の非検出対象の領域と前記第1の非検出対象と異なる第2の非検出対象の領域とを少なくとも有する学習用画像と、前記検出対象の領域に検出対象ラベルを有し前記第1の非検出対象の領域と前記第2の非検出対象の領域に背景ラベルを有する教師データと、をそれぞれ有する複数の学習データを用いて、推論用画像が前記検出対象の領域を含むか否かを推定するニューラルネットワークモデルを生成する工程と、
    前記推論用画像を前記学習済みのニューラルネットワークモデルに入力した結果、前記推論用画像が前記検出対象の領域を含むことを示す推定結果が得られた場合、前記推論用画像における前記検出対象と推定した領域と前記背景と推定した領域とを区別可能なマップ情報を出力する推論工程と
    を有する処理を、コンピュータに実行させる演算方法。
  7. プロセッサと、前記プロセッサがアクセスするメモリとを有し、
    前記プロセッサが、
    検出対象の領域と前記検出対象と類似する第1の非検出対象の領域と前記第1の非検出対象と異なる第2の非検出対象の領域とを少なくとも有する学習用画像と、前記検出対象の領域に検出対象ラベルを有し前記第1の非検出対象の領域と前記第2の非検出対象の領域に背景ラベルを有する教師データと、をそれぞれ有する複数の学習データを用いて、推論用画像が前記検出対象の領域を含むか否かを推定するニューラルネットワークモデルを生成する工程と、
    前記推論用画像を前記学習済みのニューラルネットワークモデルに入力した結果、前記推論用画像が前記検出対象の領域を含むことを示す推定結果が得られた場合、前記推論用画像における前記検出対象と推定した領域と前記背景と推定した領域とを区別可能なマップ情報を出力する推論工程と
    を有する処理を実行する、演算装置。
JP2019208441A 2019-11-19 2019-11-19 演算プログラム、演算装置及び演算方法 Active JP7372536B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019208441A JP7372536B2 (ja) 2019-11-19 2019-11-19 演算プログラム、演算装置及び演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019208441A JP7372536B2 (ja) 2019-11-19 2019-11-19 演算プログラム、演算装置及び演算方法

Publications (2)

Publication Number Publication Date
JP2021081953A true JP2021081953A (ja) 2021-05-27
JP7372536B2 JP7372536B2 (ja) 2023-11-01

Family

ID=75965244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019208441A Active JP7372536B2 (ja) 2019-11-19 2019-11-19 演算プログラム、演算装置及び演算方法

Country Status (1)

Country Link
JP (1) JP7372536B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102456987B1 (ko) * 2022-03-15 2022-10-20 디엘이앤씨 주식회사 건물 외벽의 균열을 탐지하는 방법
WO2022250054A1 (ja) * 2021-05-28 2022-12-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知方法、異常検知装置、およびプログラム
JP7217570B1 (ja) * 2022-08-04 2023-02-03 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
JP7228310B1 (ja) * 2022-08-04 2023-02-24 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
KR102647135B1 (ko) * 2022-10-31 2024-03-15 이관훈 인공지능 기반 객체 탐지 알고리즘을 이용하는 시공 현장을 위한 실시간 균열 탐지 시스템 및 이를 위한 동작 방법
WO2024111163A1 (ja) * 2022-11-25 2024-05-30 パナソニックIpマネジメント株式会社 情報処理装置における情報処理方法、情報処理装置、および情報処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002174601A (ja) * 2000-12-05 2002-06-21 Matsushita Electric Ind Co Ltd 壁面損傷検出方法及び装置
WO2018159775A1 (ja) * 2017-03-03 2018-09-07 国立大学法人筑波大学 対象追跡装置
JP2019074496A (ja) * 2017-10-19 2019-05-16 清水建設株式会社 ひび割れ検出装置、ひび割れ検出方法、および、コンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002174601A (ja) * 2000-12-05 2002-06-21 Matsushita Electric Ind Co Ltd 壁面損傷検出方法及び装置
WO2018159775A1 (ja) * 2017-03-03 2018-09-07 国立大学法人筑波大学 対象追跡装置
JP2019074496A (ja) * 2017-10-19 2019-05-16 清水建設株式会社 ひび割れ検出装置、ひび割れ検出方法、および、コンピュータプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
QING SONG, 外9名: ""Real-Time Tunnel Crack Analysis System via Deep Learning"", IEEE ACCESS, vol. 第7巻, JPN6023023402, 13 May 2019 (2019-05-13), pages 64186 - 64197, ISSN: 0005076227 *
木村宇任, 外2名: ""Fully Convolutional Networkを用いたインフラ点検におけるひび割れの自動検", 研究報告数理モデル化と問題解決(MPS), vol. 第2017-MPS-115巻, 第2号, JPN6023023404, 18 September 2017 (2017-09-18), JP, pages 1 - 6, ISSN: 0005076228 *
鵜飼正人: ""深層学習を適用したトンネル覆工面ひび割れ検出"", JREA, vol. 第61巻, 第3号, JPN6023023405, 1 March 2018 (2018-03-01), pages 42045 - 42048, ISSN: 0005076229 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022250054A1 (ja) * 2021-05-28 2022-12-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知方法、異常検知装置、およびプログラム
KR102456987B1 (ko) * 2022-03-15 2022-10-20 디엘이앤씨 주식회사 건물 외벽의 균열을 탐지하는 방법
JP7217570B1 (ja) * 2022-08-04 2023-02-03 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
JP7228310B1 (ja) * 2022-08-04 2023-02-24 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
WO2024029026A1 (ja) * 2022-08-04 2024-02-08 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
WO2024029046A1 (ja) * 2022-08-04 2024-02-08 株式会社センシンロボティクス 情報処理システム及びプログラム、情報処理方法、サーバ
KR102647135B1 (ko) * 2022-10-31 2024-03-15 이관훈 인공지능 기반 객체 탐지 알고리즘을 이용하는 시공 현장을 위한 실시간 균열 탐지 시스템 및 이를 위한 동작 방법
WO2024111163A1 (ja) * 2022-11-25 2024-05-30 パナソニックIpマネジメント株式会社 情報処理装置における情報処理方法、情報処理装置、および情報処理プログラム

Also Published As

Publication number Publication date
JP7372536B2 (ja) 2023-11-01

Similar Documents

Publication Publication Date Title
JP7372536B2 (ja) 演算プログラム、演算装置及び演算方法
CN108960135B (zh) 基于高分辨遥感图像的密集舰船目标精确检测方法
JP2019194562A (ja) 情報処理装置、情報処理方法及びプログラム
Miao et al. Cost-effective system for detection and quantification of concrete surface cracks by combination of convolutional neural network and image processing techniques
JP2001124522A (ja) 画像処理を用いたひび割れ評価装置
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
JP7150468B2 (ja) 構造物劣化検出システム
WO2020110560A1 (ja) コンクリート構造物の点検支援装置、点検支援方法及び点検支援プログラム
JP2019175140A (ja) 建築物抽出システム
JP2018004568A (ja) ニューラルネットワークを用いた建物周辺の風速分布の推定方法及び建物周辺の風速分布推定装置
JP2023164699A (ja) 損傷図作成支援装置
JP6980208B2 (ja) 構造物維持管理業務支援システム
JP2021032042A (ja) 構造物の劣化状態診断方法
Calderón et al. Crack detection in concrete elements from RGB pictures using modified line detection kernels
JP7348575B2 (ja) 劣化検出装置、劣化検出システム、劣化検出方法、およびプログラム
JP2022133870A (ja) 舗装健全度評価方法
CN109141372B (zh) 一种用于港口起重机械摄影测量的模糊匹配方法
JP2023063324A (ja) 画像処理装置、画像処理方法及びプログラム
JP2019175139A (ja) 建築物抽出システム
CN111932642B (zh) 一种结构裂纹体积的测算方法、装置、设备及存储介质
JP6703672B1 (ja) 検査対象品の欠陥検出方法、その装置及びそのコンピュータプログラム
CN114663353A (zh) 神经网络训练方法、焊接接头裂纹检测方法、装置和介质
US11922659B2 (en) Coordinate calculation apparatus, coordinate calculation method, and computer-readable recording medium
Nakabayash et al. Automatic detection of air bubbles with deep learning
JP2021063706A (ja) プログラム、情報処理装置、情報処理方法及び学習済みモデルの生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231002

R150 Certificate of patent or registration of utility model

Ref document number: 7372536

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150