「AI で外観検査」のよくある誤解

「AI で外観検査」のイメージは?

gLupe の担当となってから、外観検査の自動化を検討している方とお話しさせていただく機会が多いのですが、やはり皆さん「AI で外観検査」というと以下のようなことを最初は期待されているようです。

  • AI が勝手に学習してどんどん賢くなってくれる!
  • AI は人と違って疲れないので判定基準が一定になるはず!
  • AI が不良品を 100% 見つけてくれる!(きっと検査工程は無人化できる!)

上記の一部は正しいのですが、一部は残念ながら間違っています。

AI(ここでは Deep Learning を使ったアルゴリズムを意図しています)は万能ではないので、できることできないことがあります。どうしても人手をかけて育てていく必要があったり、AI が苦手な個所を別の手法(人手含む)でカバーする必要が出てきます。

この記事では「AI で外観検査」でよくある誤解を解いていこうと思います。

AI が勝手に学習してどんどん賢くなってくれる?

AI への愛がオーバーフローすると生まれてしまう誤解ですが、「AI が勝手に賢くなる」というのは現時点では不可能なのです。
Deep Learning は機械学習手法の一つですが、機械学習は判定ルール(モデル)生成のために大量のデータ(教師データ)を機械(PC)で学習する必要があります。

図 1 大量のデータ(教師データ)を機械(PC)で学習
図 1 大量のデータ(教師データ)を機械(PC)で学習

例えば、gLupe を使った外観検査モデル生成では(比較的少ない)数十枚の良品画像を教師データとして用意しますが、この教師データは「人」が選ぶ必要があります。教師データはどこまでを良品として判定させるか AI に教え込むためのものです。AI は人が教師データを通して教えたように動けるルールを見つけようとします。

感の良い方であれば、AI が判定した結果を自動で教師データに加えて再度学習してしまえばどんどん賢くなるのでは?と気づいたかもしれません。しかしこの方法には大きな落とし穴があります。上記で「教師データはどこまでを良品として判定させるか AI に教え込むためのもの」と書きましたが、裏を返せば、人が教師データを通して教えていないパターンが出てきた時 AI は判断に困るのです。そして時々間違った結果を返します。間違った結果を教師データとして覚えさせてしまうと、AI は教えたとおりに間違います。これではいけません。

図 2 間違った結果を教師データとして覚えさせてしまうとAI は教えたとおりに間違う例
図 2 間違った結果を教師データとして覚えさせてしまうとAI は教えたとおりに間違う例

機械学習では教師データの選定は精度向上に向けて非常に重要なポイントとなります。外観検査においては、教師データはどこまでを良品とするのか(不良品とするのか)の限度を AI に教え込むためのものであり、それ自身が判定ルールとなるものです。重要な教師データ選定は機械任せにするのではなく「人」が意図をもって選ぶことが必要なのです。

AI は人と違って疲れないので判定基準が一定になる?

これはほぼ正解です。

AI 自体の判定基準は一定なのですが、検査システム全体として考えるともう少し事情が変わってきます。例えば、照明の劣化で製品画像が暗くなってしまい検査結果が変わってしまうケースが考えられます。気温や湿度の変化で製品の外観自体が変化することもあるでしょう。その結果、歩留まり率が変わってくることも考えられます。

ちなみに、当社 gLupe Monitor を使うと製品画像からスコアを計算、外観品質の数値化が可能です。長期間かけて徐々に変化する外観まで人が追従するのは困難ですが、外観品質の数値を日々記録することによってその変化を把握することが可能です。照明の劣化や製品外観の微妙な変化を見つけるお手伝いが可能です。ご興味のある方はこちらもご覧ください。

AI が不良品を 100% 見つけてくれる?

AI への期待値がオーバーフローすると生まれてしまう誤解ですが、「不良品を 100% 見つける」というのは残念ながら不可能です。

Deep Learning を用いた外観検査手法は統計的な手法をベースとしているため、原理的に100%の精度は期待できません。Deep Learning を用いた外観検査で得られる出力は、例えば撮影した画像に対する「不良品である確率」であったりします(ニューラルネットワークの構成次第で変わります)。つまり「99%の確率で不良品」と判定していても100個に1個は間違えることになります。gLupe の異常検知機能では検出した不良個所まで表示は可能ですが、これも不良の確率が高い場所(gLupe 的には異常度の高い場所と表現していますが)を表示しているものとなります。

図 3   gLupe で不良の確率が高い場所(異常度の高い場所)を赤く表示している例
図 3 gLupe で不良の確率が高い場所(異常度の高い場所)を赤く表示している例

また、当然なのですが画像中に不良が写っていなければどのような手法を適用しても不良個所の検出は不可能です。照明やカメラの選定が外観検査自動化の中で非常に重要であることは従来の画像検査から変わっていません。

ただ、Deep Learning を用いた外観検査手法では既存のルールベースの画像検査では見つけられなかった不良のパターンを見つけることができるかもしれません。官能検査のように判断基準を明確なルール化することが難しい検査対象に対して Deep Learning ベースの手法を外観検査に適用すると、ルールベースの画像検査と比べ人の判断に近い判定結果を得られるケースが多いです。一方で、判断基準が明確な検査対象(例:10mm 以上の傷は NG、10mm 未満は OK など OK/NG をすっぱり分けられる課題)にはDeep Learning ベースの手法よりも、ルールベースの画像検査のほうが向いています。

Deep Learning を用いた外観検査手法は、官能検査のような判断基準を明確なルール化することが難しい課題の自動化への適用が向いているといえるでしょう。

まとめ

この記事では「AI で外観検査」でよくある誤解について解説をしました。
AI を用いた外観検査手法の特性をよく把握したうえで、人間が責任をもって対応する範囲、AI の欠点を補完する他の手法との組み合わせ等をよく検討し、外観検査の自動化を進めて行ってほしいと思います。