産業用途における欠陥検出のために自動外観検査を実施する
外観検査とは、画像を使用して部品の外観をチェックする検査です。カメラでテスト対象の部品をスキャンして、故障や品質上の欠陥がないかを確認します。自動検査と欠陥検出は、実稼働システムにおける高スループットの品質管理に不可欠です。高解像度のカメラを使用した外観検査システムでは、人間の目では検出するのが困難なマイクロスケール、さらにはナノスケールの欠陥を効率的に検出します。そのため、金属レール、半導体ウェハー、コンタクトレンズなどの加工表面の欠陥を検出するシステムとして、多くの産業分野で広く採用されています。

半導体製造における欠陥検出のための外観検査。
MATLAB® と Computer Vision Toolbox™ の Automated Visual Inspection Library を使用すると、外観検査システムを開発できます。画像の取得、アルゴリズム開発、展開がサポートされています。対話形式で簡単に使用できる MATLAB のアプリを活用して、ユーザーはアルゴリズムを検討、反復、自動化して生産性を向上させることができます。これらの機能は、多くの産業用途で利用されています。
自動車部品メーカーの武蔵精密工業の例をご紹介します。同社の手動操作による外観検査システムでは 1 か月に約 130 万の部品を検査していました。MATLAB を使用することで、各種の異常を検出して位置推定するディープラーニングベースの手法を開発し、かさ歯車を検査する自動外観検査システムを構築しました。この新しい手法により、同社における作業負荷とコストの大幅な削減が期待されています。

武蔵精密工業の自動車部品用外観検査システム。

自動外観検査を使用した、航空機の部品における複数の欠陥の検出。
欠陥検出プロセスは、データの準備、AI モデリング、展開という 3 つの主要な段階に分けることができます。

MATLAB のエンドツーエンドの欠陥検出ワークフロー。
データの準備
データは複数のソースから取得され、通常、構造化されておらず、ノイズが含まれています。そのため、データの準備と管理は困難で時間のかかる作業になります。データセット内の画像を前処理すると、異常検出の正確性が向上します。MATLAB には、各種前処理手法をサポートする複数のアプリが用意されています。たとえば、レジストレーション推定アプリを使用すると、位置がずれている画像のレジストレーション用に各種アルゴリズムを検討できるため、AI モデルによる欠陥の検出が容易になります。

向きが異なる六角ボルトの 2 つの画像の位置合わせを行うレジストレーション推定アプリ。
MATLAB には、ラベル付けプロセスを迅速化するオートメーション機能が用意されています。たとえば、イメージラベラーおよびビデオラベラーアプリでは、カスタム セマンティック セグメンテーションまたはオブジェクト検出アルゴリズムを適用して、画像または動画フレーム内の領域またはオブジェクトにラベル付けすることができます。画像以外のデータセットについては、MATLAB には Audio Labeler アプリと信号ラベラーアプリが用意されており、それぞれオーディオ データセットと信号データセットのラベル付けを行うことができます。
AI モデリング
AI 手法は、欠陥検出の一環として分類と予測に広く使用されています。MATLAB 環境内では、回帰からディープネットワーク、クラスタリングまで、分類と予測に使用される一般的なアルゴリズムを直接利用できます。
分類タスクへのディープラーニングの適用には 2 つの手法があります。1 つ目の手法では、ディープネットワークの構築および学習をゼロから行います。もう 1 つの手法では、事前学習済みのニューラル ネットワークを調整および微調整します。この手法は転移学習とも呼ばれます。いずれの手法も MATLAB で簡単に実装できます。

ゼロから始める畳み込みニューラル ネットワーク (CNN) (上) と転移学習からの CNN (下)。
MATLAB には、ディープラーニング ネットワークの構築、可視化、編集、学習が可能なディープ ネットワーク デザイナー アプリが用意されています。ネットワークを解析して、ネットワーク アーキテクチャが正しく定義されているかどうかを確認し、学習を行う前に問題を検出することもできます。
MATLAB では、TensorFlow™-Keras や Caffe から、または ONNX™ モデル形式との間で相互に、ネットワークおよびネットワーク アーキテクチャをインポートできます。これらの事前学習済みのネットワークを使用し、転移学習用に編集できます。

Deep Learning Toolbox で読み込まれた事前学習済みのニューラル ネットワーク。
展開
ディープラーニング モデルは、大規模なシステムに組み入れなければ、有効には活用できません。MATLAB には、MATLAB で開発したモデルを、元のモデルを書き直すことなく任意の場所に展開できるコード生成フレームワークが用意されています。そのため、システム全体でモデルをテストおよび展開できます。
MATLAB を使用すると、構築したディープラーニング ネットワークを各種組み込みハードウェア プラットフォーム (NVIDIA® GPU、Intel® および ARM® の CPU、Xilinx® および Intel の SoC および FPGA など) に展開できます。MathWorks のツールを使用すれば、組み込みハードウェアの検討とターゲット設定を簡単に行うことができます。

MATLAB から各種組み込みハードウェア プラットフォームへのディープラーニング ネットワークの展開。
製品使用例および使い方
ソフトウェア リファレンス
参考: 画像処理およびコンピューター ビジョン向け MATLAB, Deep Learning Toolbox, パターン認識, コンピュータビジョン, 製造分析