欠陥検知の技術。なぜ、ベンチマークで強いモデルが現場で崩れるのか

欠陥検知の技術。なぜ、ベンチマークで強いモデルが現場で崩れるのか

第3回で、写真から点検で計測できる幾何を起こすところまで来ました。今回は、その幾何と画像の上で、どこに異常があるかを見つける段階、欠陥検知を扱います。

「ひび割れを見つけるAI」は、点検DXの入口として最もよく語られる技術です。展示会でも、実演の多くはここに集まります。ところが、研究用のデータで目を見張る成績を出したモデルが、現場に持ち込むと途端に精度を落とす。この落差は、現場の人がくり返し経験してきたことでもあります。今回は、検知の技術を原理からたどり、この落差がどこから来るのかを、機構と、検証済みの数値で解き明かします。そして最後に、検知は「見つける」までであって「評価」ではない、という点検制度上の線引きにつなぎます。

欠陥を見つける、二つの道

画像から欠陥を見つけるやり方は、大きく二つに分かれます。教師ありのセグメンテーションと、異常検知です。

素直なのは、教師ありです。ひび割れや剥離が写った画像を大量に用意し、そのどの画素が欠陥かを人が塗って教える。この対応をモデルに学習させると、新しい画像の画素一つひとつに、欠陥かどうかの判定を返すようになります。画素単位で領域を切り出すこの仕事を、セグメンテーションと呼びます。うまくいけば、ひび割れの形そのものを、細く塗り分けて出せます。

問題は、教える材料が集まらないことです。第一に、欠陥は珍しい。点検の現場では健全な面が大半で、ひび割れや剥離はごく一部です。学習データの中で、欠陥の画素は圧倒的な少数派になる。この偏りがあると、モデルは「すべて健全」と答えるだけで見かけの正答率を稼げてしまい、肝心の欠陥をうまく学べません。第二に、塗って教える作業そのものが重い。細いひび割れを画素単位で正確になぞるのは、熟練者の時間を大量に食います。第三に、そして最も本質的なのは、欠陥が多様なことです。ひび割れ、剥離、漏水、遊離石灰、鉄筋露出。同じひび割れでも、太さも走り方も無数にある。集めた中になかった形の欠陥が次に出れば、教師ありモデルはそれをうまく扱えません。珍しく、重く、多様。教師ありは、この三つに同時に苦しみます。

そこで発想を裏返すのが、異常検知です。欠陥を教えるのをやめ、正常な状態だけを大量に学ぶ。健全な面がどう見えるかを覚えておき、そこから外れたものを異常として拾う。健全な面はいくらでも撮れます。欠陥の例を一枚も見なくても、正常から外れたことは分かる。珍しくて多様、というその性質に、異常検知はうまくかみ合います。どんな形の欠陥であっても、正常でない、という一点で拾えるからです。点検・保全で異常検知が向くのは、この構造のためです。

異常検知の中身

正常だけを学んで外れを拾う。言葉にすると単純ですが、中身にはいくつかの流儀があります。大きく、正常の特徴を覚えて距離で測る系統、正常を復元してみせる系統、正常の分布を確率で持つ系統に分かれます。代表を順に見ます。

PatchCore 正常の特徴を覚えて、距離で測る

よく使われるのが、PatchCoreの考え方です。まず、大量の画像であらかじめ学習済みのネットワークを、特徴の抽出器として借ります。一から学習させないのは、広い画像で鍛えられたこのネットワークが、物の形や質感を要約する力を、すでに持っているからです。このネットワークに正常な画像を通すと、画像を細かい区画に割った一つひとつが、その中身を要約した特徴のベクトルに変換されます。正常画像から取り出したこの区画ごとの特徴を、そっくり記憶しておく。これが記憶の棚、メモリバンクです。

ただし、正常画像すべての特徴を丸ごと覚えると、棚が膨れあがり、照合が重くなります。そこで、似た特徴は一つで代表させ、棚が薄く広く正常の範囲を覆うように、代表点だけに間引きます。この間引きが、少ない記憶で正常を覆う鍵です。検査のときは、調べたい画像の各区画の特徴について、棚の中でいちばん近い正常特徴を探し、その距離を測る。距離が大きい、つまり覚えているどの正常にも似ていない区画を、異常として採点します。区画ごとの距離を画像全体に並べれば、どこが怪しいかの地図になり、その最大値をとれば、画像一枚が異常かどうかの点数にもなる。欠陥の例を一枚も使わず、正常との距離だけで、場所まで指せる。ここがPatchCoreの要点です。

復元と確率 別の流儀

近い目的を、別のやり方で解く系統もあります。一つは、復元させる方法です。正常な画像だけで、入力を一度圧縮してから元に戻す復元器を鍛える。正常はうまく戻せるように学んでいるので、正常を入れればきれいに戻る。ところが欠陥のある画像を入れると、学んでいない部分だけ戻しそこなう。その戻し損ねた差が、異常の在りかになります。もう一つは、正常な特徴が画像の位置ごとにどう散らばるかを、正規分布のような確率の形で持っておき、そこからのずれの大きさで測る方法です。PaDiMがこの系統にあたります。

これらは正確でも、抽出器や復元器を何度も通すぶん、重くなりがちです。動画のように流れてくる映像をその場で捌くには、速さが要る。そこで、大きなモデルの判断を小さなモデルに写し取る蒸留を使い、精度を保ったまま軽く速くする方式も出ています。どれを選ぶかは、求める精度と、現場で許される計算の重さの兼ね合いで決まります。

few-shotとopen-vocab 少ない例、言葉で指す

正常すら大量には撮れない現場もあります。そこで、ごく少数の例から立ち上げるfew-shotの工夫が進みました。さらに近年は、あらかじめ広く学んだ基盤モデルを使う道が開けています。プロンプトで指した領域をきれいに切り出す基盤モデルを使えば、欠陥の輪郭を教え込まなくても領域を取り出せる。言葉で「ひび割れ」「錆」と指すと、それに当たる場所を画像上に対応づける、言語で物体を指す基盤モデルもあります。画像と言葉を結びつけて学んだモデルを使い、正常と欠陥の言葉との近さで、例を一枚も見ずに異常を測る試みもあります。学習の負担を、あらかじめ広く学んだモデルに肩代わりさせる方向です。

ただし、こうした基盤モデルの強さは、広く一般の画像で学んだことから来ています。点検の現場の、特有の質感や欠陥に、そのまま最適とはかぎらない。便利さと、現場への当てはまりのよさは、別の話です。ここが、次の落差の話につながります。

なぜベンチマークの強さが現場で消えるか

技術の紹介では、しばしば「この手法はベンチマークで最高の成績」と語られます。ところが、そのベンチマーク自体が、もう頭打ちに近い。

異常検知の代表的なベンチマークについて、その作り手側が論文でこう書いています。「MVTec ADやVisAといった確立したベンチマークは、飽和し始めている」。多くの手法が、そこではほぼ満点に近い。差はもう小さく、順位はわずかな差でしか動きません。そして別の研究は、もっと直接に言います。「ベンチマークでの成功は、実装できるかどうかを予測しない」。試験で高い点を取ることと、現場で使えることは、別だということです。

なぜ別なのか。学習と評価に使うデータの分布と、現場のデータの分布が、ずれるからです。これをdomain shiftと呼びます。モデルが学ぶのは、あくまで学習で見たデータの範囲です。その範囲の中ではよく当たる。しかし、照明が違う、コンクリートの質感が違う、撮る機材やレンズが違う、季節や時間帯で影の出方が違う。少しずつ違う現場のデータは、学習した範囲の縁から外へはみ出していき、モデルはそこで見当を外します。正常を覚える異常検知でも事情は同じで、学習時に覚えた「正常」と、現場の「正常」がずれれば、正常なのに異常と鳴る空振りが増えます。

この落差は、数字にも表れています。あるひび割れ検出で、学習に使ったのと別のデータセットで試すと、領域の一致を測る指標が0.870から0.653へ落ちました。同じモデルでも、扱うデータが変わるだけで、これだけ下がる。さらに、影のあるなしだけで、正解率が0.9978から0.9045へ下がった例もあります。ほぼ完璧に見えた数字が、影が差しただけで一割近く崩れる。そして見落とせないのは、下がった分の大半が、無いものを在ると誤る側に出ていることです。見逃しではなく、空振りが増える。第1回で見た精度の基準率の話と同じで、現場では空振りの多さが、そのまま人の確認の手間になります。せっかく自動で見つけても、その半分が空振りなら、人は結局すべてを見直すことになる。

ここで、第1回のモラベックのパラドックスが顔を出します。知覚は、人が難なくこなすがゆえに簡単に見える。しかし機械にとっては、少し条件が変わっただけで崩れる、計算として重い課題です。ベンチマークの飽和は、ある固定された条件の中で解けたことを意味するにすぎません。現場は、その条件が動き続ける場所です。だから、検知の精度をベンチマークの中でさらに磨くことには、早い段階で収穫逓減が来ます。

では、どうするか。ずれに立ち向かう道は、大きく二つです。一つは、ずれそのものを小さくする。撮る距離、角度、照明、時間帯をそろえ、現場のデータの分布を、なるべく学習時に近づける。第2回で見た較正、カラーチャートやクラックスケールで撮影条件を証拠に残す手順は、この落差を小さくするための設計でもありました。撮り方をそろえることは、モデルの外側から精度を底上げする、いちばん確実なやり方です。もう一つは、現場のデータで学び直し続ける。使うほどにその現場の正常や欠陥を取り込み、モデルを更新していく。第1回で置いた、一周するたびに厚くなる環が、ここで生きてきます。どちらも、モデルの賢さを一発で競う話ではなく、仕組みで持たせる話です。技術の外側にある、この地味な設計が、検知を現場で持たせます。

もう一点、検知の細さには、モデル以前の天井があります。第2回で見た画素の下限です。国の資料は、一画素の長さ未満のひび割れ幅は検出できず、一画素に切り上げて算出される、と明記していました。つまり、どれだけ賢いモデルでも、撮った距離とレンズが決める一画素の実寸より細いひびは、原理として出てきません。検知の議論は、しばしばモデルの優劣に集中しますが、その手前に、取得が引いた天井がある。検知は、取得の上に乗っているのです。

検知は「評価」ではない

もう一つ、点検の制度が引いている線があります。検知の位置づけです。

国土交通省の性能カタログは、はっきり書いています。技術者の技量や経験による主観的な判断を自動化する、診断AIのような技術は、性能カタログの対象にしていない、と。つまり、機械が担ってよいとされているのは、変状を計測し記録するところまで。健全性を診断し、どう措置するかを決めるのは、機械の外にあります。

評価の段階でも、線は明確です。要領は、損傷程度の評価について、こう定めています。評価では、部材の性能や措置の必要性などの観点を入れず、観察した事実を、決められた数値の区分や参考写真に当てはめることが求められる、と。ひび割れなら、最大の幅がどの範囲か(たとえば0.3ミリ以上か、0.2から0.3か、0.2未満か)、いちばん狭い間隔が0.5メートル未満かどうか、そして決められた損傷のパターンのどれか。決められたものさしに、見たとおりを当てはめる。ここに、良し悪しの判断を混ぜてはいけない。判断を混ぜないのは、評価が人によってぶれないためであり、誰がやっても同じ結果になる再現性を、制度が優先しているからです。

当てはめるものさしは、細かく決められています。ひび割れの評価は、最大の幅の区分と、いちばん狭い間隔の組み合わせに、あらかじめ用意された二十四通りの損傷パターンを重ねて決まる。床版では、漏水や遊離石灰があるかどうかで、同じ幅でも区分が分かれます。見たとおりをこの表に写す。それが評価です。ここには、モデルが確率を出すような曖昧さの入る余地がない。だからこそ、検知AIの出す「幅の区分」は、この決められた表の枠に、そのまま収まる形で出す必要があります。連続的な確率ではなく、決められた区分に当てはめて返す。制度のものさしと、機械の出力の形を、そろえておくことが要ります。

この線引きは、検知AIの居場所をはっきりさせます。AIがうまく担えるのは、「ここにひび割れがある」「幅はこの区分」という、観察と当てはめの部分です。ちょうど、機械が検出したひび割れに人が手を加えない、という第2回の規定と同じ思想が、ここにも通っています。それが措置を要するか、健全性の診断はどうか、という判断は、制度上も人と道路管理者に残されている。だから検知は、点検という仕事の入口であって、結論ではありません。「見つける」の次に、「どの資産の、前回と比べてどうで、基準を超えているか」という文脈と判断が要る。その文脈を機械の側で持つ話が、次回の世界モデルであり、判断につなぐ話が第6回です。

検知は強力です。しかし、検知だけを磨いても、点検は完結しません。そして、その検知でさえ、ベンチマークの中の強さと、現場での強さは別物でした。見つけた先を、どう覚え、どう判断につなぐか。ここからが、Physical AIが検知AIと分かれる場所です。

PatchCoreの仕組み。正常だけで記憶バンクを作り、そこから遠い部分を異常として検出する(教師ありと好対照)

おわりに

欠陥は、珍しく、重く、多様です。だから、欠陥に印をつけて教える教師ありより、正常だけを覚えて外れを拾う異常検知のほうが、現場に向く。PatchCoreは正常の特徴をメモリバンクに覚え、間引き、最近傍までの距離で場所まで指し示す。復元系も確率系もopen-vocabもあり、精度と計算の重さを秤にかけて選びます。

ただし、ベンチマークでの強さは、現場での強さを予言しません。代表的なベンチマークはすでに飽和し、学習と現場の分布がずれる(domain shift)だけで、mIoUは0.870から0.653へ、影の有無だけで正解率は0.9978から0.9045へ落ち、しかも崩れ方は空振り側に偏る。そして制度は、検知を「観察と当てはめ」に限り、診断と措置の判断を機械の外に置いています。検知は、入口であって、結論ではありません。

次回は、その見つけた結果を、どの資産の、前回と比べてどうか、という文脈で覚えておく段階、世界モデルと状態の保持を扱います。第1回で置いた三条件の第二、覚えている能力を、技術としてどう作るかです。


本記事は「Physical AI 点検・保全 講座」シリーズの第4回です。次回は、世界モデルと状態の保持を扱います。スライド資料(PDF)は無料でダウンロードいただけます。

出典

  • 出典:Roth et al., "Towards Total Recall in Industrial Anomaly Detection" (PatchCore), CVPR 2022 / arXiv:2106.08265 Fig.2
  • Roth et al. "Towards Total Recall in Industrial Anomaly Detection"(PatchCore, CVPR 2022, arXiv:2106.08265)
  • Harb, Achanccaray, Maboudi, Gerke "Multi-temporal crack segmentation in concrete structures using deep learning"(arXiv:2411.04620, 2024)※本文中の実例図はFig.4(CC BY 4.0で利用)
  • MVTec AD/VisAベンチマークの飽和に関する記述(IJCV 2026)、「ベンチマークでの成功は実装可否を予測しない」(arXiv:2503.23451)
  • ひび割れ検出のクロスデータセット評価・影の影響(mIoU 0.870→0.653/正解率 0.9978→0.9045)
  • 国土交通省 道路局「橋梁・トンネル 点検支援技術 性能カタログ」第1章(令和8年5月)※診断AIは対象外
  • 国土交通省 道路局「道路橋定期点検要領」(令和6年7月 付録-3)※評価に判断を入れない
  • 異常検知(PaDiM・EfficientAD・復元系)、few-shot、open-vocab(SAM・Grounding DINO・CLIP系)は一般的手法に基づく(特定製品の検知精度は含まない)

📄 講義スライドをダウンロード(L04.pptx)

講座のすべてを、無料でお手元に

ハンドブック、講義スライド一式(PPTX)、そして書籍版。すべて無料でお送りします。