外観検査(visual inspection)は製造業で生産された部品、製品を出荷前にチェックする目的で行われます。外観検査では、複雑な形状の部品や製品などもあることから、検査対象により柔軟な判断が求められます。経験豊かな職人が視覚、もしくは触覚を合わせて検査を行う必要があるため、自動化が進む製造プロセスの中で最も人手に頼られてきた領域です。しかし、ディープラーニングの登場により外観検査の自動化が急速に浸透しています。
外観検査の成功例と製造業でのAI導入における課題
外観検査を中心に現場へのAI導入が進む一方で、「AIで何かしてほしい」という指示により現場が混乱したり、実運用での効率化につなげられていないケースもあります。そこで、外観検査を中心に製造業でAIを導入する際に検討すべき3つの点をご紹介します。
- どの課題をAI(ディープラーニング)で取り組むべきか
- 開発の進め方
- PoCから現場での運用
どの課題をAI(ディープラーニング)で取り組むべきか
ディープラーニングは、「大量のデータから人が教えた通りに正確に線引きできるようになる」手法である性質上、以下に該当するテーマが適しています。
- データが十分にあり、また継続的に追加できる
- 経験を持った人であれば全員同じ判断ができる
人が迷うタスクを正確に判断してくれるものではないことに注意しましょう。現在の第三次AIブームでは畳み込みニューラルネットワーク(CNN)を用いて「人の目をコンピュータで置き換える」ことが汎用化されたため、外観検査への適用に期待が高まっています。一般的に、人の作業を自動化できる割合が高いほど、高い成果が期待できますが、課題が解決できるか不確実な場合は実用化に到達できないリスクも考慮する必要があります。一つ目の課題には効果の確実性が高い、つまり人が簡単に見分けられる課題から取り組むことが望ましいといえます。
ではどのような課題が実際にAIによって解決されているのでしょうか。テクニックも含め具体例をご紹介します。
- 外観検査 – 出荷品の仕分け
- 外観検査 – 異常個所の特定
外観検査の中でもフィルムなどの化学材料、食品材料や衣料など一様な模様の中から異常や混入物を判定したいケースがあります。その際は「どこに」 異常があるかまで特定したい場合もあります。このような課題に利用できるオートエンコーダーを正常画像のみで学習させる手法をご紹介します。
- 作業工程の計測、行動解析、装備品のチェック
また、シンプルな適用例としては作業現場で適切な装備品を身に着けているかなどの判定にも利用されています。
- 打音検査
工場内では音から製品や製造装置の異常を検出することもあります。以下のサンプルコードでは1次元の音声信号を2次元に変換して、CNNにかけることで正常/異常を判定する方法を学ぶことができます。
その他、AI以外でも、バーコード読み取りやQRコード読み取りを用いることで在庫管理も合わせて行うことができます。
開発の進め方
製造業でAIエンジニアが自社にいない場合でも、最近では上記で紹介した手法や、実践的なサンプルコードが手軽に入手できますので、自社で開発を進めることが容易になりました。
特に、下記のケースでは自社での開発を進めることでメリットがあります。
- 外観検査など似た課題が複数ある
- AIを使って業界差別化したい
- プログラム経験者がいる
実例の中にはAI未経験から3か月程度で実プロジェクトにおける成功の見通しが立つケースは珍しくありません。また旧来のルールベースの手法とは異なり、ディープラーニングではモデルを置き換えるだけで異なる判定ができるなど、プログラムの転用がしやすく2つ目以降の開発効率は格段に上がります。MathWorksではお客様のデータを元にアルゴリズム開発を支援する技術コンサルティングサービスを提供していますので、必要に応じて技術アドバイザーの支援をうけ自社内にノウハウを蓄積することで、費用対効果があがり、業界内での差別化が期待されます。
PoCから現場での運用
アルゴリズムの検討は進みながらも、実証実験には進めていないケースも多くあります。最初から完全にAIで置き換えることに固執してしまうと、精度100%にこだわるあまり次のステップに進むことができません。
正常/異常判定におけるしきい値設定
例えば上図のように正常/異常が分布しているとき判定精度が高いのは左ですが、右のようにスコアのしきい値をずらし「過検出」となるように運用することで、異常品を正常と判定して出荷されてしまうことを避けることができます。AIで1次判定し、自信が持てない20%は人が最終チェックを行う、異なる役割の二つのモデルを組み合わせる等、実用化のための運用方法を確立していくことができます。
また、ディープラーニングは「ブラックボックス」であることから現場に受け入れられにくいケースもあります。これに対する対応として、PoCの段階から現場でAIのモデルを活用できるようにすることが重要です。プログラムのコードと精度だけではAIについて関係者の理解は進みません。GUI化し、現場での判定支援ツール作業効率を向上しつつ、どういう場面で誤判定が起こりやすいかのフィードバックを収集していきます。MATLABには標準でApp DesignerというGUIを作成できる機能が搭載されており、配布用のオプションがあれば、マウス操作でAIを利用できるツールを簡単な操作で実行ファイルに変換でき、社内の現場やお客様に配布することが可能です。Caffe、Tensorflow-kerasやONNX形式を経由して既存のモデルをMATLAB®に取り込んで、GUIツールにすることもできます。
Grad-CAMによる注目領域の可視化 (サンプルコードはこちら)
その際に「説明できるAI」としての機能は不可欠です。上図のツールでは外観検査での良否判定にClass Activation Mapping(CAM)やその応用であるGrad-CAMを用いて、そのモデルはどこに注目してその判定を行ったかをヒートマップで可視化しながら、動作の傾向を理解し精度向上につなげています。傷がついている部分が赤く反応していることがわかります。
PoC完了後はシステムへ統合し実証実験に移行していきます。この時目指すシステムのイメージを持つことは重要ですが、取り組む前に確定し固執してしまうことは危険です。
下の表ではそれぞれのメリットや課題を簡単にまとめています。
展開するターゲット | メリット | 課題 |
---|---|---|
組み込み (Raspberry Pi, NVIDIA Jetson等) |
|
|
デスクトップ/ラップトップ |
|
複数必要な場合:
|
オンプレミスサーバー |
|
|
クラウド |
|
|
例えば、サーバーやクラウドで判定させたい場合でも、ネットワークトラフィックがボトルネックになり満足な速度で利用できない、組み込みボードで判定させたいが、精度向上のためデスクトップマシンで判定と画像収集を合わせて行うなど、利用目的やフェーズによって最適なターゲットが変わることを念頭にいれておく必要があります。
MATLABではデスクトップマシン、社内サーバーやクラウド、Raspberry Pi™やNVIDIA® Jetson®などの組み込みボードと様々なターゲットを選択できます。開発途中での変更や目的ごとに柔軟に対応することが可能です。
ディープラーニングのシステムへの統合
特にGPU向けへのコード生成では、ターゲットに対して最適なコードを生成することができ、高速な推論を行うことが可能です。
まとめ
- 外観検査をはじめ製造業ではAIで取り組むことができる課題が多くあります。
- 取り組みはAIエンジニアと現場との協調が不可欠で、説明できるAIとGUIの組み合わせが有用です。
- 最初から完全にAIに置き換ることに固執せず、まずは「作業者をアシストする」ところから柔軟にAI利用の成果を積み上げていきましょう。
- MathWorksが提供するMATLABと技術サービスを利用し製造業で効率的なAI開発が可能です。