ソニーセミコンダクタソリューションズ
Logo_AITRIOS_Developers

Brain Builder for AITRIOS を使った分類タスクの操作ガイド

2024/12/19
Brain Builder for AITRIOS を使った分類タスクの操作ガイド

使用している Brain Builder のバージョン:v24.09.7

想定読了時間:10分


Brain Builder for AITRIOSで分類タスクをマスターする

エレクトロニクス製造の世界では、品質管理が非常に重要です。そして、Vision AIは製品の一貫性と精度を担保するうえで大きな役割を果たします。 Brain Builder for AITRIOS を使えば、分類AIモデル(Classification AI model)を簡単に学習させることができ、各種基板を 良品(Good)不良品(Bad)部品不足(Lack)基板のみ(Board)空(Empty)背景(Background)といったカテゴリに自動で分類できます。 このプロセスにより、欠陥検出の自動化が可能になり、リアルタイムアプリケーションでの効率性も向上します。

本記事では、基板の品質管理を目的とした分類AIモデルの構築と学習手順を、ステップバイステップでご紹介します。

分類モデルとは?

分類モデルは、画像全体または特定の領域を解析し、あらかじめ定義された複数のカテゴリの中から最も適切なカテゴリに分類します。このユースケースでは、基板(ボード)を以下のカテゴリに分類します:

  • Good(良品): すべての品質基準を満たしている基板

  • Bad(不良品): 目視で確認できる欠陥や問題のある基板

  • Lack(部品不足): 基板上の部品やパーツが欠落しているもの

  • Board(ブレ画像): 基板の画像がブレている、判別が困難な状態

  • Empty(空): 画像内に基板が写っていない状態

  • Background(背景): 撮影範囲に関係のない背景や無関係な領域を含む画像

分類AIモデルの使い方

以下の手順に従って、分類モデルを作成・学習させましょう:

新しいプロジェクトを作成する

Brain Builder for AITRIOS にログインし、[New Project(新規プロジェクト)]を選択します。
プロジェクト名(例:「はんだ付け部のモニタリング」など)を入力し、簡単な説明を加えましょう。

新しいデータセットを作成する

[Create Dataset(データセットを作成)]ボタンをクリックします。
今回は、「Classifier(分類)」データタイプを使用します。

データをアップロードする

データセットのバランスを整えましょう:
各カテゴリに対して十分な画像があることを確認してください(各クラスにつき50〜100枚程度が目安です)。
画像は、クラスごとに直接アップロードすることも、ラベル名をフォルダ名にしたZIPファイルをアップロードすることもできます。
本チュートリアルでは、後者のZIP形式を使用します:

分類モデルを学習させる

[Start Upload(アップロード開始)]を選択すると、トレーニングプロセスが始まります。
分類モデルの学習では以下の処理が行われます:
    • データセットを複数のAIモデルで評価

    • 各画像を、事前定義されたカテゴリに分類するように学習

データセットのサイズやご利用のマシンスペックによって、数分〜数時間かかる場合があります。
学習が完了したら、分類モデルの学習結果を確認しましょう。評価結果は以下のいずれかになります:
    • Still Learning(学習中)

    • Low(低評価)

    • Good(良好)

    • Great(非常に良好)

目標は「Great」評価です。
スコアが低い場合は、より多くの画像を追加することで精度が向上する可能性があります。

なぜ最初に「Learning Classifier」から始めるのか?

Learning Classifier は、学習の過程でデータセットを使って予測を検証し、その結果を基にモデルを改良していく動的なモデルです。これにはいくつか重要な理由があります:

  • モデルの適応性:
    Learning Classifier は、あなたのデータセットの特徴に合わせて予測を調整します。例えば、はんだ付けの品質や部品の欠落といった特有の特徴を理解できるようになります。

  • 精度の基盤:
    Learning Classifier から始めることで、そのタスクに最適化された基盤モデルを構築できます。学習が完了すると、Static Classifier がこの結果を固定化し、安定した挙動を保証します。

  • カスタマイズ性:
    Learning Classifier は、データセット内のばらつき(照明条件、撮影角度、製造上の微妙な違いなど)を把握し、自動的に調整します。

学習と評価が完了したら、Static Classifier がこの結果を固定し、予測の変動やモデルのドリフトを避けながら、一貫性のあるデプロイを実現できます。

Static Classifier を学習させる

[Training]タブに移動し、学習設定を行います:

  • Duration(学習時間) – ニーズに応じて選択

    • Quick: プロトタイピングを素早く行いたい場合

    • Balanced: 適度な時間で良好な結果を得たい場合

    • Thorough: 最高精度を求める場合

  • Performance(性能優先度) – 重視するポイントを選択

    • Highest Average Accuracy: 精度と誤検出のバランスを重視

    • Highest Accuracy: 基準を緩めて正検出数を最大化

    • Lowest Occurrence Rate of False Positives: 基準を厳しくして誤検出を最小化

設定が完了したら、学習を開始します。
Brain Builder は複数のAIモデルをテストし、データセットに最適なモデルを自動的に選択して最適化します。

※多くの場合は「Balanced(バランス)」のDurationと「Highest Average Accuracy(平均精度優先)」の組み合わせで十分です。 ただし、データセットの規模やマシンスペックによっては、Static Classifier の学習に相当な時間がかかる場合があります。特に最高設定を選択した場合はご注意ください。

結果をテストする

評価指標を確認しましょう:

  • Accuracy(精度):
     各クラスに対して、モデルがどれだけ正しく予測できているかを示します。

  • Confusion Matrix(混同行列):
     誤分類の傾向を確認します(例:「Good」と「Bad」や「Background」を取り違えるケース)。

必要に応じて、データセットを微調整しましょう。具体的には、不足しているカテゴリに画像を追加したり、ラベル付けが曖昧なサンプルを修正することが有効です。

モデルをエクスポートする

すべてが問題なく仕上がったら、モデルをエクスポートできる状態です。
エクスポートされるファイルは、プロジェクト名を付けたZIPファイルとして出力されます。

Raspberry Pi AIカメラへのデプロイ

Brain Builder for AITRIOS を使えば、Raspberry Pi AIカメラへのモデルのデプロイは簡単です。 エクスポートしたモデルを取り込み、IMX500用ビルドツールパッケージを使って、学習済みモデルをRaspberry Pi AIカメラで利用できる形式に変換します。

1. 必要な依存関係がすべてインストールされていることを確認してください。

sudo apt install imx500-tools
sudo apt install python3-opencv python3-munkres python3-picamera2
git clone https://github.com/SonySemiconductorSolutions/aitrios-rpi-model-zoo.git

2. エクスポートした Brain を Raspberry Pi にコピーし、トップレベルのファイルと dataset という名前のファイルを解凍します。

3. 解凍したデータセットのディレクトリでターミナルを開きます。 パスは {Unzipped brainBuilderExport}/{Unzipped dataSetName} となります。 そこで以下のコマンドを実行してください。
これにより network.rpk ファイルが生成されます。

imx500-package -i packerOut.zip -o .
cd aitrios-rpi-model-zoo/models/classification/brainbuilder/

4. 正しい Model Zoo ディレクトリに移動します。 この例では classification/brainbuilder ディレクトリです。 そのディレクトリに、network.rpk ファイルと labels.txt ファイルをコピーしてください。

5. ファイルをRaspberry Piに転送する

次のコマンドを実行してください。
cd aitrios-rpi-model-zoo/models/classification/brainbuilder/

6. 実際に動かしてみる

Raspberry Pi AIカメラが、学習済みモデルをリアルタイムで実行する様子を確認してみましょう。  
物体認識から分類まで、すべてカメラ上で処理されるため、Raspberry Pi本体のリソースを有効に活用できます。

成功のためのヒント

  • 多様なデータを用意する:
    基板の画像は、異なる角度、照明条件、コンベア上での位置など、さまざまな状況を含めましょう。

  • 曖昧さをなくす:
    特に「一部だけ欠陥のある基板」などの境界ケースでは、明確なラベル付けを行うことが重要です。

  • 反復的な改善:
    テスト結果を活用してデータセットを改善し、モデルを再学習させることで精度を高めましょう。

ユースケース紹介:基板の分類

1. 自動化された検査

モデルは、コンベア上を流れる基板のライブ画像を処理します。


2. リアルタイム分類

    • はんだ付けの品質や部品の欠落を基準に、基板を Good または Bad と判定

    • 空のスロットを Empty、位置がずれた物体を Background として識別

    • 不完全な基板を Lack として検出

3. 効率の向上

人的ミスを削減し、検査プロセスのスピードを向上させます。

 

学習済み分類モデルが品質管理を効率化する方法

    • 品質管理: 生産ライン上で製品の欠陥を検出し、ラインを止めることなく精度を確保

    • 環境モニタリング: Brain Builder for AITRIOS を活用して、野生動物の追跡や農作物の健康状態を遠隔地で監視

    • 在庫・物体トラッキング: 倉庫内のアイテムをリアルタイムで追跡し、在庫レベルを常に正確に維持

さあ、構築を始めましょう!

Brain Builder for AITRIOS を使えば、分類AIモデルの作成からデプロイまでをシンプルかつ効率的に行うことができます。

今日から導入を始めて、AIによる品質管理をあなたの生産ラインに取り入れてみましょう!

お役に立ちましたか?SNSでシェアしよう!
icon-sns-xicon-sns-fbicon-sns-li
Table of Contents

カテゴリ

関連する記事

Return to the blog top