外観検査AIとその種類を業界経験者が徹底解説!
この記事でわかること
AIはこれまでと何が違うのか?また、いろいろな似たような製品があるが、どのような違いがあるのか?比較選定する際のポイントは何か?これらを正直に答えている記事はあまり見かけません。ベンダーの立場から、正直にお答えします!
外観検査AIとはなにか
画像処理とAI
これまでの画像検査システムは「画像処理」と呼ばれる技術が2016年ごろまでは主流でした。 しかし、近年ではAIでの検出も盛んに行われるようになり、何が違うのか?導入のための情報集めに困っている方も多いと思います。まずこれらの違いについて簡単にみてみましょう。
画像処理とは
画像処理とは、どのような処理でしょうか?実例をもとに説明します。
例えば、下図のような布生地についた汚れ不良を検出したいとします。この不良モードならば、まず、汚れの色に該当する領域を抽出します。(抽出された領域を白色で表示)しかし、色味の近い部分が若干残っているので、ノイズ除去の処理を行います。それでも若干の本来の検出とは異なる部分が残ってしまいました。つまり、これは過検出の原因となってしまいます。
AIとは
AIとはそもそも何でしょうか?外観検査だけでなく最近のAIは「ディープラーニング」という技術を指すことがほとんどです。外観検査におけるディープラーニングは何をしているのでしょうか?
ディープラーニングは、人間の複雑な神経回路を模しており、深い(ディープ)神経構造を持つニューラルネットとも呼ばれます。 上記の画像を見ると人間は「ここが欠陥かな?」と何となくわかります。この「何となく」の判断に至る神経回路の処理過程は画像処理のように単純なものではありません。しかし、逆に言えば、複雑な処理の組み合わせで欠陥を精度高く抽出することができるとも言えます。
それを実現できるのがディープラーニングです。例としては、ニューラルネットの入力を画像として、出力に欠陥の正しい場所を示すデータのセットを数多く与えて「学習」させる。これにより「複雑な処理」を勝手に学び、実際に検査の時にデータを与えれば、欠陥が検出できるようになるのです。複雑な処理ができるがゆえに精度も高い傾向があります。
実は、ディープラーニング、とくに画像に特化した構造を持つCNN(Convolutional neural network)は人間の視覚の受容野のような構造を持ち、学習された各ニューラルネットワークの処理単位(層)は画像処理のフィルターのような構造になっていると言われています。つまり、学習を通じて幾重にも重なったフィルターの一つ一つを最適化しているとも言えます。
こちらの記事 も参照ください。画像処理とAIの違いのまとめ
上記の内容を表でまとめると以下のようになります。
方式 | 定義 | 長所 | 短所 |
---|---|---|---|
画像処理 | 処理のプロセスを重ねていきある欠陥検出をする | 欠陥として検出される理由が処理のプロセスの設定を見れば分かる | 複雑な形状の製品に対する検出設定が困難。過検出が多い。 |
AI | 不良品の特徴や良品の特徴をデータ学習させることで不良を検出する | 複雑な製品にも適用できる。学習すればよく設定が平易。 | 学習のためのデータを用意する必要がある。(時にそれが大変なことがある) |
外観検査におけるAIの種類
先ほどの説明では、AIで不良の画像とその場所の答えのセットを用意する例を示しましたが、実はAIの出力の方式には様々な方式があります。 各社の製品で使われる主な手法を紹介します。製品により扱うAIの種類は異なるので留意すべき点でしょう。
AIの種類の大分類
・教師あり学習:不良品学習とも言われます。不良データをAIに教えます。与えた不良をしっかり学習させれば高精度になることや、不良種まで出力させることができる魅力があります。しかし、不良が多くない現場では、学習のためのデータ集めの負担が大きいことに加えて、新しい不良に対応できないということに強く留意する必要があります。
・教師なし学習:良品学習や異常検知、アノマリー検出と呼ぶ場合もあります。良品を学習し、そうではないものを検出するというアプローチです。不良を教えることを「教師あり」というのに対し、不良を教えないので「教師なし」と言います。良品は日常的に集まることを考えると魅力的なアプローチであり、教師あり学習に見られる不良収集の負担や、未知の不良への対応ができることから、教師なし学習(良品学習)積極的に探す現場も見られます。
学習方式 | 定義 | 長所 | 短所 |
---|---|---|---|
教師あり学習 (不良品学習) |
不良データをAIに教えるアプローチ。 | 十分にデータが集まれば高精度な分類が可能。 | 不良データ収集が大変。学習していない不良モードは未検出になり得る |
教師なし学習 (良品学習) |
良品を学習し、良品とは異なるものを検出するアプローチ。 | 良品は大量にあるので学習しやすく、検査を立ち上げやすい | 不良の分類はできない。(一般には)過検出が多い |
AIの種類の小分類(教師あり学習)
検討する製品がどの種類のAIなのか、そしてそのAIの特性は何かに気を付けて選定しましょう。AIに不良の答えを教える作業は一般的にアノテーションと呼ばれるので、以降この言葉を使います。
・分類:不良品学習の内、分類、クラシフィケーションとも言われます。不良データをAIに教えるのですが、アノテーションで不良の場所の情報は使わずその画像が不良か良品かしか教えません。その意味で「分類」という名前がついています。(不良の種類別で分類させることもあります)この手法は、データを集める作業者からすると、不良の箇所まで教えなくてよいので楽ですが、AIからすると不良の特徴を学ぶための不良箇所という有力な手掛かりがないので高精度になりにくい点に注意する必要があるでしょう。
・物体検出:不良学習の内、物体検出とは、「検出領域を矩形(四角)で示す」ということです。出力として不良の領域を矩形で示すことができます。この時、不良の場所の情報が必要なので、アノテーションに労力が必要ますが分類に比べれば精度は高くなりやすいのと、不良の位置が分かるがゆえにAIの判断が人間にとってわかりやすいということはメリットです。ただし、次のセグメンテーションに比べて、欠陥の大きさや面積などの詳細を分析したいときには、矩形では少々粗い情報になってしまいます。
・セグメンテーション:不良学習の内、セグメンテーションとは、「検出領域を自由形状で示す」ということです。つまり、出力として不良の領域を示すことができます。この時、不良の場所と詳細形状の情報が必要なので、アノテーションに労力が必要ます。不良の位置と形状が分かるので詳細な欠陥の分析、判断ができるということはメリットです。
教師ありについて、下表でまとめます。筆者視点では、セグメンテーションを最もオススメしています。現場における検査の労力は、不良データそのものを集めること、誤検出の対応をすることが最も大変だと考えるので、最も精度の出やすい手法を選ぶべきだと考えている、つまり、アノテーションの簡便さはとても大きなコスト差にはならないからです。そのほか、不良データが少なくて済むためのアルゴリズムの工夫によっても、データ収集とアノテーションの必要量が変わることにも注意が必要です。
学習方式 | 定義 | 長所 | 短所 |
---|---|---|---|
分類 |
データが不良かどうかをAIに教えるアプローチ。 | アノテーションが画像の振り分けだけで簡易 | 精度が低くなりやすい |
物体検出 | 不良を矩形で検出するアプローチ。 | アノテーションは矩形でつけていくので比較的簡易。不良の位置が特定できる | 不良の場所は分かるが、詳細形状までは出力されない |
セグメンテーション ※当社オススメ |
不良を矩形で検出するアプローチ。 | 不良の位置と形状という最も詳細な情報が得られる | もっともアノテーションが面倒 |
AIの種類の小分類(教師なし学習)
検討する製品がどの種類のAIなのか、そしてそのAIの特性は何かに気を付けて選定しましょう。
・分類:画像を入力し、その画像が異常か否かのみを出力します。研究分野ではありますが、製品でこのパターンはあまり見ません。
・半セグメンテーション:領域を図示するものの、厳密にその領域をピクセルレベルで指定するのではなく、ぼんやりと位置を同定する方式です。
・セグメンテーション:最も領域を厳密に出力する方式です。この方式は不良の大きさや形状による判定がしやすく最も有用な形式です。
当社では画像の1/1000、大きさにして2,3ピクセルの微細欠陥を検出のするよう極限まで精度を高めており、この方法以外は採用できません(お勧めできません)
生成AI(不良生成)
教師あり学習(不良品)学習については、往々にして不良が集められないという問題があります。このとき、すでに手に入っている少量の不良データをAIで増やして、それを学習させようという目論見です。ただし、これはユーザー側としては、なぜ・いつそれがひつようなのかわかりにくいかもしれません。当社で不良生成を扱っておりますが、筆者としては最終手段と考えています。
まとめ
以上で、AIの概要とその種類についてお伝えしました。 当社では、業界の長い経験からAI技術を真に科学する国産AIベンダーとして製品を提供し、コンペティションで比較検討、導入頂いております。お気軽にお問合せください。