自社で完結!外観検査AI装置の作り方③ 不良品画像不足への対応と精度を上げる方法

【動画概要】
本動画では、前回の動画で作成した外観検査AI装置の問題点であった「不良品画像不足」と「精度(自信度)が低い」という問題に対処する方法をご紹介します。データの水増しとオートエンコーダーを使い不良品画像不足を解消し、その後パイプライン構築にてYOLOv5を用いて精度の向上を達成しています。最後にAIツールとベンダー開発のメリット・デメリットを比較し、AI開発の理想的な流れを説明しております。本動画で用いたプログラムはすべてPythonで開発しています。

▼本動画はシリーズ動画です。
動画1: 自社で完結!外観検査AI装置の作り方① 1万円から始める外観検査

動画2:自社で完結!外観検査AI装置の作り方② Azureでできる機能追加とその効果

動画3:自社で完結!外観検査AI装置の作り方③ 不良品画像不足への対応と精度を上げる方法

▼本動画の流れ
00:00 前回の動画の振り返り
01:07 目次
01:42 動画の目的
02:20 今回実施することの整理
04:00 不良品データが少ない場合①
06:57 不良品データが少ない場合②
09:27 精度が出ない場合
13:07 AIツールとベンダーの比較
14:51 AI開発の理想的な流れ
16:21 まとめ

 

【書き起こし】(2) 自社で完結!外観検査AI装置の作り方③ 不良品画像不足への対応と精度を上げる方法

(00:02) [音楽] 皆さんこんにちは 神戸デジタルラボです 前回の動画では外観検査依頼装置に処理の 高速化と複数不良の同時検出これら2つの 機能追加を行いました 機能追加は成功しましたが 通常発生しづらい不良品のデータを200 枚以上使って学習されたという不自然な 問題に加えて 精度が低いという問題がありました 今回の動画では AzureカスタムビジョンのようなAI ツールのみでは解決が難しいこれらの問題 について 我々のようなフェンダーがどのように対応 しているかを紹介させていただきますその 後AIツールとベンダー開発の強みと弱み をお伝えし最後に自社にあったAI開発の 理想的な流れについてお伝えさせて いただきます 今回の動画は画面中の2つの動画の続きに なっています 事前に見ていただいていた方が今回の内容 をよりご理解いただけるかと思います
(01:08) 今回の動画の目次ですまず動画の目的とし て 冒頭でお話ししたことを一度振り返ります その後今回実施することの星人にて何を 行うか 内容を詳しくお伝えします 次に前回の動画で発生した問題に対処する 方法として 不良品が足りない場合の対応を2つお伝え した後精度を上げる方法をお伝えします 最後にAIツールと連絡開発の比較を行っ た後 理想的なAI開発の概要をお伝えします ここでなぜいきなりベンダーという言葉が 出てきたかについては次の章でお伝えさせ ていただきます 今回の動画の目的は大きく2つあります まず繰り返し申し上げている通り 前回の動画の問題点に関する解決方法をお 伝えしますあとひとつが自社にあったAI 開発の方法を知っていただくことですここ でベンダーが出てくるのは精度が低い問題 の対処方法としてベンダーでないと対応が 難しい方法を用いるからです これによりカスタムビジョンのようなAI ツールを使う方法とフェンダーによるAI
(02:13) 開発の2つを知っていただくことができ ますので 両者を比較することで自社にあったAI 開発の流れを知っていただけます 今回実施する内容を詳しくお伝えします まず不良品データが足りない場合の対応 です 不良品データが少ない場合対応は大きく2 つのパターンがあります 1つ目が数少ない不良品データをどうにか 生かすパターン2つ目がそもそも不良品 データを使わないパターンです 数少ない不良品データをどうにか活かす パターンとしてデータの水増しを行います オリジナルの不良品画像に 明るさやサイズを変えた加工をし別画像と して扱うことで不用品データを増やします これによりAIモデルの作成が可能な データ数を達成します ここでは前回の動画で作成した不良品画像 を200枚以上使って作成したモデルとの 動作の比較を行います 次に不良品データをそもそも使わない方法 として オートエンコーダーという方法を用います こちらは正常品画像のみで学習が可能な 方法ですどういう仕組みかまたどういう
(03:20) 結果が現れるかなどについて 対応するチャプターで詳しく説明させて いただきます最後に精度が出ない場合の 対応としてパイプライン構築とその パイプラインを構成する 前処理とモデル選択についてお話しさせて いただきますその後冒頭でお見せした通り AIモデルが動き不良を検出している様子 を撮影した動画を紹介させていただきます 次に自社にあったAI開発の流れを知って いただくために AIツールとベンダー開発の強みと弱みを 性能や費用の観点から比較します 比較の結果を持って理想的なAI開発の 流れをお伝えします最後にまとめとして 今回の動画で実施した内容を簡単に 振り返ります ここでは データの水増し方法をお伝えします [音楽] 例として画面に映っているように1枚の 不良品画像を3枚に増やしますまず最初に ワッシャー部分を切っております 次に切り取った画像をランダムな角度回転 させあらかじめ用意した背景画像に 貼り付けます最後に明るさと縮小率を
(04:26) ランダムで変えることで1枚の不良品画像 から3枚の不良品画像を生成しました 前回の動画モデルでは240枚の不良品 画像を使いましたので今回は24枚の不良 品画像を10倍に水増しして 数を合わせています ちなみに今回の水増し方法は一例であり 他にも色味を変えたりわざと不鮮明な画像 にするなど様々な方法が用いられています こちらはカスタムビジョンにてあの テーションを実施している様子です 生成した不良品画像を今までと同じように アノテーションしAIモデルを作成します カスタム以上を用いたAIモデルの作成に ついては1回目2回目の動画で説明して おりますので今回は割愛させていただき ます 次は今回作成した水増し画像を用いたAI モデルと前回作成した不良品画像を200 枚以上使ったAIモデルとの動作比較を 行います こちら左側が前回の動画で作成した不良品 画像を240枚使ったAIモデル右側が 不良品画像24枚を240枚に水増しした
(05:32) AIモデルです 学習画像枚数が10倍違うにもかかわらず 水増しモデルの方も概ね不良を検出できて いる様子を見ていただければと思います こちら両方のモデルで保健室が起きてい ます 今回は両方のモデルで正しく不良を検出 できています 水増しモデルの方で 擦り傷を凹みとご検出しています 両方のモデルで正しく不良が検出できてい ます 水増しモデルの方で擦り傷をダコンとご 検出しています 水増しモデルの方が赤いインク汚れを検出 できていません
(06:37) ここまで比較動画を見ていただきました さて今回は水増ししたとはいえ 十分な数の不良品画像が集まりましたが そもそも不良品画像が全く集まらない ケースはどうすれば良いのか疑問に思われ た方もいらっしゃるかと思います 不良品画像が集められないケースの対応を 次のチャプターにてお伝えします ここではオートエンコーダーについてお 話しします オートエコーダーは正常品画像のみを使っ て学習し AIモデルを作ることができます そのため不良品画像が少ない場合 すなわち年に1回1万個に1個しか不良品 が発生しないといった状況のため 不良品の取得自体が難しい場合に用い られる方法です オートエンコーダーの仕組みですがまず 入力画像を復元できるよう学習します 今回の形式では正常品画像のみを用いて 学習しますので AIモデルは正常品画像から正常品画像を 復元できる能力を持つことになりますこの ようにして学習されたAIモデルは
(07:40) 不良品画像を入力として与えられた時も 入力である不良品画像を復元しようと動作 しますしかし異常が発生している不良部分 は学習できていないため 復元できず 正常品画像を復元できる能力で埋め合わせ を行いますその 結果 異常部分が復元されていない不良品画像 すなわち成長画像が出力されます これら入力の不良品画像と出力の正常品 画像の差を取ることで 異常部分を検出することができますここで 画像同士の差を取ると申し上げましたが ピンとこない方がいらっしゃいましたら 概要欄の動画にて説明しておりますので 参考にしていただければと思います 次にオートエンコーダーの出力結果をお 見せしますので イメージをさらに深めていただければと 思います こちらがオートエンコーダーの結果です 一番左側の画像が入力画像 真ん中がAIモデルによって復元された 画像一番右側が入力画像と復元画像2つの 画像の差分画像になります 差分画像にて不良部分の色が濃くなって いることが確認できるかと思いますしかし
(08:44) 同じぐらいの濃さでワッシャーの字部分を 差分として現れていますこれでは ワッシャーのエッジも不良として検出さ れる可能性があります このように オートエンコーダーは正常画像のみで学習 できるメリットがある反面 不良の種類を特定することができません 差分画像に一定以上の差分が現れたことを トリガーに 不良の有無を検出するのみですでは今回の ケースのような場合オートエンコーダーは 使い物にならないのかというとそうでは ありませんあと 処理と呼ばれる工程で自分を検出対象から 省いてやれば うまく不良の有無を検出することができ ますここで後処理という言葉を用いました がこれについては次の精度を上げる方法見 てお伝えさせていただきます ここでは精度を上げる方法についてお伝え します動画の冒頭で申し上げました通り 精度を上げる方法はパイプライン構築が 挙げられます パイプラインの構築は前処理モデル選択 あと処理に分割でき 先ほどのオートエンコーダーで申し上げた 後処理はこのことを指しています
(09:49) これらの確保邸で課題に対して 専用のチューニングを施すことで精度の 向上を図ります カスタムビジョンのようなAIツールは それらの工程をひとまとめにしており気軽 に使えて便利な反面パイプライン構築の ような細かいチューニングを行うことが できません パイプライン構築は主にベンダーにてAI モデルを構築する際実施されます AIツールとベンダー開発の比較について は一長一短がありますのでそれは次の セクションでお伝えさせていただきます それでは 前処理 モデル構築あと処理の工程についてひとつ ずつ説明させていただきます 前処理では今回の 対象はワッシャーのみであり 背景は余分ですのでまず ワッシャーのみを検出し切り出します モデル選択では V5を用いていますこちらは高速な物体 検出が可能なアルゴリズムです ライセンスで収容量が可能です今回使用し た夜V5のように一般公開されている アルゴリズム多数ございます モデル選択においては課題に応じて適切な ものを選択し
(10:53) 必要に応じてプログラムを書き換えるなど が必要です最後に後処理についてですが 今回は後処理は実施しておりません 先ほどのオートエンコーダーの例では こちらの工程で自分を切り取り不良部分 だけを見るような処理を施しますまた 画面中の画像を例に上げると 不要なバウンディングボックスが現れてい ますがこれを省いたりまた地震度が一定 以下のものを除外するといったような処理 もあと処理の工程の一つとなります こちらがパイプラインの各工程で ワッシャー専用の処理を施したモデルに なります まず 前処理でワッシャー部分のみを検出してい ますその後切り出したワッシャー部分のみ を見て 不良を検出します 前回の装置の問題点であった地震度が低い という問題点を解消できているだけでは なくあのステーションしていない細かな傷 も検出できている様子をご確認いただけれ ばと思います ちなみにこちらの装置ですが ワッシャーが検出された時のみ画面が更新 されますのでカメラの価格内にワッシャー がない場合は最後にワッシャーを検出した
(11:57) 画面のまま止まる仕様になっています こちら先ほど申し上げましたようにあの テーションをしていない細かな傷を検出 できています こちら黒インク擦り傷の不良が正しく検出 できており 推計図の方は切れてしまって見えませんが 地震ども前回に比べ高くなっていることが 確認できます こちら先ほどの検出結果と同様にあの テーションをしていない細かな擦り傷を 検出できています ここまで見ていただきパイプラインを構築 し課題に特化した処理を施すことで精度が 上がるだけでなくこれまでは検出され なかった 細かい傷も検出されるようになることが わかっていただけたかと思います ですがこれはAIツールに比べてベンダー 開発の方が優れているということを意味 するわけではありません AIツールとベンダー開発の強みと弱みを
(13:01) 理解して使い分けることが大切です 詳しくは次のチャプターでお話しさせて いただきます AIツールとベンダー開発の強みと弱みを 一覧にしました 順に説明させていただきますまず先ほどの デモ動画に関連したところからお話しし ます パイプラインを構築することで精度は 上がりましたがこれは ワッシャーに特化したチューニングを施し たためいわば当たり前と言えるかもしれ ません 対してカスタムビジョンはワッシャー以外 にも様々な物体に対応できるような チューニングになっていますので ワッシャーに特化したチューニングを施し たベンダー開発のモデルより精度が劣った という背景になっていますただしAI ツールはパイプライン構築のように処理が 明示されていることは少なく AIの中身はブラックボックスで部分的な 調整がしづらいというデメリットがあり ますこのようにAIツールとベンダー開発 はメリットとデメリットが相反する部分が あるため 強い手紙を理解して使い分けることが重要 と申し上げました 詳しくは次のチャプターでお話ししますが
(14:05) フェンダーに依頼すると時間とお金が かかります さらに費用面から比較するとAIツールの 方が安価ですそのためAIツールを試した 後必要に応じてベンダーに依頼することが 一般的な流れになるかと思います 次にまだお話ししていない何でも質問 できるというベンダー開発のメリットに ついてお話しします 弊社もベンダーにあたりますがお客様から ご質問やご要望いただければ可能な限りお 答えしていますこれは弊社に限った話では なく他のベンダー様も同じだと思いますの で 柔軟に幅広いリクエストに応えられる点を ベンダー開発のメリットとしてあげました 以上がAIツールとベンダー開発の強みと 弱みとなります 次のチャプターではこれらの強みと弱みを 踏まえた上でどのようにAIを開発して いけば良いのかをお伝えします AI開発の理想的な流れとしてはまずAI ツールをお楽しみになることをお勧めし ます AIツールは安価で簡単に始められます これに加え AIツールを使う過程でどのようなデータ
(15:09) が必要なのかがわかり 自社の課題もより明確になるといった メリットがございます AIツール仕様の工程を経ていると 後の工程でベンダーに話を持っていく必要 が出てきたとしても ベンダーとの話がスムーズに進みますここ で 注意していただきたいことは 必ずベンダーに話を持っていかなければ いけないわけではないことです AIツールを使ってみた結果 AIツールで業務要件を満たしてしまった ということが起こり得ますのでまず AIツールを使ってみることを第一 ステップとさせていただきましたただし いくら簡単にAIツールが使えると言って も最低数日から数週間 データ収集から実施するとなると数ヶ月 かかる可能性もありますのでそのような 時間がない方は最初からベンダーに相談し 手がかりを得ることも一つの手かと思い ます 次のステップとしてAIツールの使用を経 た後 業務要件が満たせなかった場合や結果に 対して懸念がある場合はベンダーに相談 することになるかと思います ベンダーとの打ち合わせでは AIツールを使った結果や懸念点を フェンダーにお伝えすればおのずと話が
(16:12) 進むと思いますのでできる限り数多くの ベンダー様に問い合わせをして 比較検討を行いながら 自社にあったメンダー様を探すことをお 勧めします 最後に今回の動画の内容を振り返ります まず 前回の動画で作成した外観掲載AI装置の 問題点として上がっていた2つの問題に 対処しました1つ目の不用品データを 240枚使用して学習したという問題点に ついては 学習データの水増しで24枚の不良品画像 を240万円に水増しして不良品データを 作成しましたその後水増し画像にて作られ たAIモデルと前回の動画のAIモデルと の動作比較を行いましたまた不良品 画像不足に対処する別の方法として オートエンコーダーを紹介いたしました こちらは正常品画像のみで学習が可能です が 不良品種別が判別できなかったりあと処理 が必要というデメリットがございました 次に制度が低いという問題に対しては パイプラインを構築し 前処理モデル選択あと処理という工程で ワッシャーに特化した処理を行い解決し
(17:16) ました その後自社にあったAI開発の方法を 見つけていただくために AIツールとベンダー開発の強みと弱みの 比較を行いました AIツールは簡単でアンカーに使えるが 処理が不透明 ベンダー開発は幅広く柔軟に対応して もらえるが効果で時間がかかるといった 疑いに相反した強みという意味があること をお伝えさせていただきましたその上で AI開発の理想的な流れとして AIツールを試した後ベンダーに相談する というステップを紹介させていただきまし た 今回の動画はここまでとなります今回の 動画が皆様のお役に立っていれば幸いです 今回もご視聴いただきましてありがとう ございました [音楽]

画像同士の差をとる?と思われた方はこちらの動画をご覧ください。

▼制作に関するサポート依頼やお問い合わせ
https://www.kdl.co.jp/contact/

関連記事一覧

Skip to content