画像の知識

AI 画像処理の代表的な課題5つと解決方法

こんにちは。南野です。ここのところ本当に寒いですね。春が待ち遠しいです。

今回は、AIについてお客様と会話する中でよく出る課題点についてお話ししたいと思います。これまでは、AIの処理過程はブラックボックスであるというお話をしていたのですが、最近はお客様のご要求も高くなっており、弊社でもブラックボックスなりにモデルを分析・評価する方法に取り組んでいます。 ここではお客様からよく聞く課題と、それを解決する方法について書きたいと思います。

課題①判定を間違えた時、なぜ間違えたかを分析しにくい

解決法1)ヒートマップ

判定や分類を間違える理由として、意図しない部分にAIが注目して分類している場合が挙げられます。例えば、ダコンのある製品をNG判定したい時、実はAIは製品の別の部分を見て判定していた、といったことがあります(※1)。このような注目点を可視化する方法がヒートマップです。ヒートマップは、AIが注目している個所(判定の根拠になっている部分)を強調することができ、これによってAIが意図しない部分に反応していることに気がつきやすくなります。

下図は「医師」を撮影した画像(左)を判定する例です。この論文では「医師」を誤って「看護師」と判定した場合の注目点と、正しく「医者」と判定した場合の注目点を比較し、教師データの改善を行っています。改善前の教師画像の中には女性の看護師の画像が多く含まれており、そのため長い髪の毛の人が看護師であるという誤った根拠で判定をしています(中央)。一方、注目点の分析から女性の看護師、男性の看護師、女性の医師、男性の医師をバランスよく含めた教師データで学習した場合は聴診器に注目して医師と判定しています(右)。

引用:Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization(Ramprasaath R. Selvaraju)

このように、ヒートマップは注目点の分析や教師データのバランスの確認に活用することができます。

※1)本来であれば他の部分に注目しないようにダコンの部分だけにアノテーションすべきことは言うまでもありません。そのあたりについては次の「解決法2)定性的な見方の紹介」のリンク「AIには適切な教師画像と正しいアノテーションを」を参考にして下さい。

解決法2)定性的な見方の紹介(紛らわしい教師画像はあるか?)

もう一つ、弊社では正しく判定できなかったという報告をお客様から頂いたときに、まず教師画像とアノテーションの情報を確認するようにしています。非常にアナログなのですが、判定を間違える時は多くの場合、単純にアノテーションが間違っていることや、紛らわしい教師画像が含まれていることが多いからです。 例えば「部品A」というアノテーションを行うべき部品の一つに「部品B」というアノテーションを行ってしまうと、部品Aを部品Bと誤判定する確率が高くなります。また、部品Aの中に(光の当たり方などで)部品Bとソックリな見た目になっている画像があっても同様に誤判定の確率が高くなります。このようなチェックによって判定が改善することが多くあります。詳しくは下記のブログへのリンク「AIには適切な教師画像と正しいアノテーションを」(https://skylogiq.co.jp/index.php/2024/08/05/annotation-tips/)をご参照ください。

課題②出来上がったモデルが良いものか悪いものか定量的に判定したい。

解決法)混同行列(混同表)の利用

教師画像の再選択やアノテーションの改善によってどれだけ精度が上がったのか評価したい場面も多くあるかと思います。混同行列は、分類モデルがどれだけ正確に予測できているかを評価するための便利な方法です。

例えば下の混同行列では、8枚のリンゴの写真のうち、6枚をリンゴと判定し、2枚をミカンと判定しています。また6枚のミカンの写真のうち、1枚をリンゴ、5枚をミカンと判定しています。正しい予測ができた数が表の対角線上に位置しており(水色)、対角線から外れた部分に誤判定の数を表示しています(桃色)。混同行列を使うと分類結果を簡単かつ視覚的に表すことができます。

これを「製品の欠陥がちゃんと検出できるかどうか」、という製造現場での実用に落とし込むと、次のような表を作ることができます。

ここでは100個のOK品の内、98個をOK、2個をNGと判定しています。また、10個のNGの内、1個をOK、9個をNGと判定しています。ここで最も改善すべき点は10個のNG品の内1個をOKと判定してしまっている点です(赤文字)。この場合NG品が流出してしまうことになるため、判定基準を厳しくしてNGをOKと判定してしまう誤判定が0になるようにします。 弊社でテスト結果をお客様に報告する際も、混同行列を使って説明することがあります。評価用ツールを使用するとこのような評価作業を自動で実行させることも可能です。その場合は評価用画像(OK)、評価用画像(NG)でフォルダ分けしておき、評価用ツールにデータを投入するのが一般的です。

課題③学習した時、「これとこれは間違えやすそうだ」ということを視覚的に知りたい。

解決法)次元圧縮による2次元・3次元プロット

一般的にAIがやっている分類には数百・数万のパラメーターが使われており人間には到底理解し得るものではありません。しかし、それを人間に理解できるように可視化する方法があります。それは次元圧縮という方法によって人間が理解できる2次元または3次元のプロットに落とし込む方法です。

MNIST(数字の手書き表記のデータセット)のt-SNEによる2次元プロット(Wikipediaより)

それは上のような図で表現され、各分類ラベルは色で分けられることが多いです。各色同士が離れてプロットされる場合は、明確に分類ができるモデルが生成されたと判断することができます。一方で、異なる色が近接していたり、重なり合ってしまったりしている場合は、その分類同士は、誤判定される可能性があるといえます。見にくいですがこの図でも赤い点が一部緑の点群の中に存在していたり、その逆があったりしていることが確認できます(これは1を7に間違えたり、7を1に間違えたりすることを示唆しています)。 次元圧縮された図を俯瞰的に観察することによって、モデルが正常に学習していることを確認したり、間違った学習データを入れたことによって、学習が正しく行われなくなったりしていることが発見しやすくなります。また、間違いやすい(近接した・重なっている)分類同士を視覚的に発見することもできるようになります。これらの次元圧縮手法にはt-SNEやUMAPなどがあります。

課題④どこで学習を止めればよいか分からない。過学習になるのはいつから?

解決法)教師画像と検証用画像に分けて規定回数ごとに正答率の評価を行う。

過学習の状態になると、教師画像ばかり正しく判定し、そうでないものに対してうまく判定できなくなるといった状況が発生します。このような過学習の状態であるかを評価するには、規定回数ごとに非教師像を使った評価を行う方法があります。

(青の矢印がベストポイント)

正答率の評価には(教師画像ではなく)検証用画像を使用します。学習を繰り返すごとにLoss値は単調的に減っていきますが、検証用画像の正答率は一旦上がった後、あるところから下がってきます。この状態が過学習(オーバーフィッティング)の状態です。この状態では教師画像に対して過剰に適合しているため、教師画像でないものに対しての判定が不正確になります。過学習の原因としては学習の回数が過多であることの他に、学習データが不足している、データが偏っていることなどが挙げられます。検証用画像の正答率を確認しながら学習を進めることにより十分かつ過剰でない学習を行うことができます。

課題⑤新しい製品で欠陥製品が収集できていない

解決法1)良品学習

よく知られた方法に良品学習というものがあります。良品学習は「異物検知したいが、その異物は様々」「どんな不良パターンが発生するか分からない」など、不良サンプルがない時や不良パターンが想定できない時、「良品だけを多数学習させることで良品でないことが分かるモデルをつくる」方法と言えます。この方法は新しい製品の立ち上げ時など、不良のデータが少ない状態のときに有効です。

(弊社での良品学習のテスト結果)

一方で、物体認識においては見つけたい不良、計数したいものをアノテーションという作業により確実に学習させることができます。そのため、小さな欠陥をより確実に検出したり、検出した物体の種類や数、位置なども知ることができます。見つけたい不良が分かっている場合は物体認識 AI で不良を明示的に学習させた方がより確実に検出できる傾向があります。

解決法2)生成AIによる学習

もう一つの方法として、物体認識モデルに対して、生成AIによる教師画像を使って学習させると言う方法もあります。例えば、傷やダコンなどの一般的な欠陥や特殊な欠陥などの画像をあらかじめ登録しておき、生成AIによって良品画像にブレンドする方法です。これにより、想定される欠陥や、既に発生した少数の欠陥について、ランダムさを持たせた教師画像を複数生成でき、検出精度を向上させることができるようになります。

下の例は弊社での実験ですが、生成AIを使用してリンゴの皮にキズ(傷み)を乗せたものです。意外と自然にブレンドできています。

このような自然物の他、電子基板の製造ライン上で蒸発物が製造機器の内部で凝縮して基板に落ちてくる現象など、めったに発生しない欠陥についても複数のパターン・バリエーションを持った生成教師画像を用意することができるため精度の高い学習モデルを作りやすくなります。特に生産設備が高度化し、めったに不良が出ない状況になると生成AIによる教師画像生成の必要性が高まるため弊社でも積極的に取り組んでいます。

いかがでしたでしょうか。これまでに私が見聞きしたお客様の課題とその解決法について一通り書いてみました。ここに出てくる手法やツールの多くは弊社で実際に使用しているものです。もし同様の課題をお持ちでしたらぜひお問合せ下さい。

関連記事

TOP