〔重点領域研究推進事業〕

深層学習を用いた金属部品の外観検査
南斉亮佑，福井航，福田純，阿部剛
１

目的工場の生産ラインにおける製品の外観検査工程において、画像による外観検査を導入することで、品質の安定化や人件費を低減したいというニーズがある。画像による外観検査では、画像から製品外観の良否を判断したり、製品の欠陥を検出したりする必要がある。従来の画像検査では人が判定基準を決めるルールベースという方法がとられてきた。しかし、金属部品については表面の光沢によるハレーションや、鋳肌・切削痕などの表面性状の影響により判断基準が複雑となり、ルールの設定・管理・修正が煩雑になるという課題がある。そこで近年着目されているのが、ディープラーニング(深層学習)を活用して画像検査を実施する方法である。しかし、市販の深層学習ソフトウェアは、操作性や性能の面で誰にでも使いやすいものの、高額なライセンス費が AI 外観検査装置の導入を妨げる大きな要因となっている。さらには高性能な GPU を搭載した PC 機器が必要となり、設備製作費が高くなるという課題があるだけでなく、工場環境における安定稼働という点でも課題があった。低コストかつ安定稼働可能な AI 外観検査装置の導入が実現できれば、製造業における AI 活用のハードルを下げることが可能となる。
近年、目的を問わず無償でソースコードを利用可能なオープンソースの AI ソフトウェア(ライブラリ)が多数公開されている。これらのオープンソースを活用することで、AI 外観検査装置の開発コストを大きく下げることが可能である。また、エッジデバイスを用いた GPU レス(CPU 環境)での AI 推論の手法や、AI アクセラレータという GPU の代わりとなる安価な機器の開発が進んでおり、これらを活用することで低コストかつ安定稼働可能な AI 外観検査装置を生産ラインへ展開できるようになると考えられる。
本研究では、オープンソースを使った深層学習モデルの構築とエッジデバイス上での推論システムの構築を実施する。
２

実験方法

２.１

システム概要図1

システム概要考案したシステムを図１に示す。図の左側は推論システム、右側が学習システムである。カメラで撮影した画像は推論用 PC に取り込まれ、推論を実施する。推論用 PC はコスト削減のため GPU を搭載する PC は使用せず、汎用のノート PC や安価なエッジデバイスを使用する。撮影した画像は学習用 PC に転送され、深層学習のために使用される。学習用 PC には GPU を搭載した PC を使用し、学習したモデルを推論用 PC に取り込み、推論に使用する。工場の生産ラインへの展開時には学習シス
テムは 1 台のみ用意すれば良く、複数の検査システムを展開する場合には推論システム部分のみ複製する。これにより、設備製作のためのコストを大幅に下げることが可能である。
２.２

対象ワーク

撮影・検査の対象には金属製の M6 ナットを使用した。
図 2 に示すように、M6 ナットは傷の無い良品 70 個の他、傷をつけた不良品 50 個を用意した。USB カメラとリング照明を撮影ステージに設置し、Python と画像処理ライブラリである OpenCV を使用して、カメラの映像の取得と保存を実施した。画像は幅 640pix、高さ 480pix で取得し、実験には中心の 256×256pix の領域を使用した。画像は回

図2

対象ワークの例

転・反転などによるデータ水増しを行い、AI の学習には良品・不良品それぞれ 250 枚を使用した。
２.３

深層学習モデルの構築

深層学習のためのニューラルネットワークの開発はソニー社製の Neural Network Console(NNC)を使用した。NNC は無償のディープラーニング開発環境である。また、コーディングが不要であり、マウスによるドラッグ&ドロップ操作でコマンドを配置してモデルの作成を行うため、専門のプログラミング知識が無くとも簡単にディープラーニングモデルの設計・開発が可能である。
構築した深層学習モデルを図 3 に示す。本研究では、欠陥検出のためのセグメンテーションモデルを開発した。セグメンテーションモデルは、幅広い対象に使われ、実績のある U-Net を参考に構築した 1)。しかし、U-Net をそのまま使用した場合、パラメータ数が膨大であり、CPU 環境での推論速度が遅くなることが想定された。そこで、U-Net のパラメータ数を減らしつつ画像認識の精度を保つた
めに、ResNet というモデルで提案された Residual Block を組み込んだ 2)。
学習には GPU を搭載したデスクトップパソコン(CPU : Intel Core i5-12500、メモリー：32GB、GPU : NVIDIA GeForce RTX 3090、OS : Windows 11 Pro)を使用した。

図3

深層学習モデル

２.４

推論システム本研究では推論システム用のエッジデバイスとして、LattePanda V1(CPU : Intel Atom x5-Z8350、メモリー：4GB、OS : Windows 10 Home)を使用した。LattePanda V1 は低コストな小型のシングルボードコンピュータであり、デスクトップ PC 向けの Windows が動作するため、誰にでも扱いやすいという特徴がある。
推 論 用 の ア プ リ ケ ー シ ョ ン は Python で 作 成 し た 。 ま た 、 深 層 学 習 の 推 論 エ ン ジ ン と し て 、OpenVINO ツールキットを使用した。OpenVINO は、Intel 社が無償で提供している推論エンジンで、Intel 製の CPU 上における AI 推論を最適化・高速化することが可能である。通常、NNC で開発・学習した深層学習モデルを組込むためには、ソニーが提供している Neural Network Libraries(NNabla)を使用するが、本研究では、推論パフォーマンス向上を狙って OpenVINO を使用し、NNabla との推論速度の比較することで、その有効性を評価した。
３

結果と考察製作した AI 外観検査装置を図 4 に示す。本検査装置は、対象ワークを検査ステージに載せるとリアルタイムで推論を実施する仕組みである。モニタには異常の検出結果と、OK/NG の判定結果が表示される。OK/NG の判定は検出した欠陥の面積がある閾値を超えると NG、ある閾値以下であれば OK とした。異常個所の検出結果は、推論で出力された白黒画像を OpenCV によってヒートマップに変換し、元の画像と重ね合わせて表示した。
学習に用いていないサンプルを推論した結果の例を図 5 に示す。今回開発した深層学習モデルによって金属ナットの傷が検出可能なことが確認された。

図5

AI による推論結果の例

図4AI 外観検査装置

OpenVINO と NNabla による画像 1 枚あたりの推論速度の比較結果を図 6 に示す。推論用の PC は
LattePanda V1 の他、デスクトップ PC(CPU：Intel Core i5-12500)とノート PC(CPU：Intel Core i31115G4)でも実施した。いずれの PC を用いた場合においても、OpenVINO を使用することで推論速度の向上が見られた。LattePanda V1 を使用した場合において、NNabla による推論実行には 3.56secかかったのに対し、OpenVINO を使用した場合は 0.38sec であり、画像 1 枚あたりの推論速度が約9.4 倍速くなった。これにより、安価なエッジデバイスにおいてもリアルタイムで AI 推論を実施できることが確認された。

PC
スペック

PC

デスクトップPC

ノートPC

LattePanda V1CPUCore i5-12500

Core i3-1115G4

Atom x5 Z8350

コア数624

スレッド数

1244

周波数3.00

3.00

1.44

RAM32

840.41

0.52

3.56

0.02

0.06

0.38

推論速度 NNabla(sec)

OpenVINO

図6４

画像 1 枚あたりの推論速度比較結果

結論
本研究では、オープンソースを使った深層学習モデルの構築とエッジデバイス上での推論システムを構築し、金属ナットを対象として AI 外観検査を実施した。開発した学習モデルにより精度よく傷の検出を行うことができ、かつ、GPU を搭載しないエッジデバイス上で、高速にリアルタイム推論が可能となった。
参考文献
１）O.Ronneberger, P.Fischer, and T.Brox, Medical Image Computing and Computer-Assisted
Intervention, LNCS 9351, pp.234–241(2015)２） K.He, X.Zhang, S.Ren, and J.Sun, Proceedings of the IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2016, pp.770-778(2016)（問合せ先南斉亮佑）