HPE Blog, Japan
1767188 メンバー
4161 オンライン
108959 解決策
新規ポスト
ayonekura

AI/IoT Data Pipline Lab - Google Cloud Visual Inspection AIを使用した外観検査ソリューションの検証 ~ モデル作成編

AI/IoT Data Pipline Lab - Google Cloud Visual Inspection AIを使用した外観検査ソリューションの検証 ~ 概要編 」では、外観検査用のデモ環境であるAI/IoT Data Pipline Lab と デモ環境で使われているGoogle Cloud のVisual Inspection AIについてお伝えしました。本稿では、Visual Inspection AIによる外観検査用のモデル作成について操作性を体感いただけるようCloud Consoleの画面をまじえお伝えできればと思います。
モデルトレーニングモデルトレーニング
 
画像データの準備
検査対象物は、HPEのロゴが入ったUSB電源プラグになります。欠陥箇所は、表面に白いマジックを塗布することで表現しています。画像データは、AI/Iot Data Pipline LabのベルトコンベアにUSB電源プラグを流し頭上カメラで撮影して収集しています。つまり、検査を実施する環境と同じ環境・要領でイメージデータを収集しています。収集した画像データは、Google CloudのCloud Storageにアップロードします。
 
画像データの収集画像データの収集
 
画像データをアップロードしたら、以下のように画像データの保存先(Cloud Storageのパス)をリストしたファイルを作成し、Cloud Storageにアップロードします。このファイルは、後程、Visual Inspection AIに画像を取り組む際に使用します。

 

 

 

 

 

 

 

 

# 画像データの保存先(Cloud Storageのパス)をリストしたファイル
gs://japan-dxp-hc-anthos-showcase/imagedata/IMG_0765.png
gs://japan-dxp-hc-anthos-showcase/imagedata/IMG_07656.png
gs://japan-dxp-hc-anthos-showcase/imagedata/IMG_0766.png
gs://japan-dxp-hc-anthos-showcase/imagedata/IMG_07664.png
<省略>

 

 

 

 

 

 

 

 

画像データの保存先(Cloud Storageのパス)をリストしたファイルについて
 
CSVもしくはJSONLフォーマットで記述できます。
画像データの保存先情報以外にもトレーニングとテストデータを区分したり、欠陥情報をファイル内に記述することもできます。本稿では、これらの情報は後程の工程でCloud Consoleより付加します。

画像データの加工

Cloud Storageにアップロードした画像をVisual Inspection AIに取り込んで、不良品の画像に欠陥情報を付加していきます。Cloud Consoleにログインし、[ナビゲーションメニュー]から[Visual Inspection AI]を選択すると、VIAIのダッシュボード画面に遷移します。なお、画面表示例は検証時から変更されている場合もあります。ご了承ください。画像データを読み込むため、データセットを作成します。ダッシュボード画面の[+CREATE A DATASET]をクリックします。
Visual Inspection AIのダッシュボードVisual Inspection AIのダッシュボード
 
 
データセット情報を入力する画面になります。外観の欠陥を検出するので、[Cosmetic Inspection]を選択します。[Cosmetic Inspection]を選択すると[Select an annotation type]が表示されます。後段の手順で欠陥箇所を線で囲うのですが、Annotation Typeの指定によって、線を囲う方法が変わります。今回の検証では[Polygon]を指定します。
 
データセット作成データセット作成
 
 

[Select an objective]について

  • Image Anomaly Detection 

画像を正常・異常に分類するもので、例えば溶接部やはんだ接合部の異常検査に使用します。

  • Assembly Inspection

基盤上の部品の破損・欠落やラベルの位置ズレなど、組み立て製品の不良個所や誤った位置にある部品の検出に使用します。

  • Cosmetic Inspection

製品表面の傷などを検出するのに使用します。

[Select an annotation type]について
 
  • Bounding Box
四角で欠陥箇所を囲います。
  • Polygon
欠陥箇所にあわて線を引いて囲います。
  • Mask
欠陥箇所が示されているイメージデータを持っている場合に利用するタイプになります。
 
画面の指示に従い先に進むと、画像データの読み込み方法を指定する画面になります。[Select an import file from Cloud Storage]を選択し、 [Browse]をクリックします。事前にCloud StoragにアップロードしたCSVファイル(画像データの保存先をリストしたファイル)を選択します。
画像データの読み込み画像データの読み込み
 
CSVファイルを選択したのち以下のような画面になります。[Continue]をクリックします。
 
画像データの読み込み画像データの読み込み

 

イメージデータを取り込むのに数分時間がかかります。取り込みが完了すると、 [BROWSE]タブに遷移して、画像の一覧が表示されます。
 
画像データの一覧画像データの一覧

 

次に欠陥情報を登録していきます。欠陥にもひっかき傷や凹み傷などの種類がありますが、Visual Inspection AIでは、各欠陥箇所がどのような欠陥であるかを判断することができます。そのために欠陥の種類の登録を行います。[DEFECTS]タブに遷移し[ADD NEW DEFECT TYPE]をクリックします。
 
欠陥情報の登録欠陥情報の登録
今回は白いマジックで塗布したものを欠陥としているのでpaintとしました。

欠陥種別の追加欠陥種別の追加

各画像データに欠陥情報を追加していきます。画像をクリックすると該当画像データのみがひょじされます。欠陥箇所を線を引いて囲い、先ほど登録したDefect Typeを選択します。
欠陥情報の付加欠陥情報の付加
 
欠陥情報の付加欠陥情報の付加

 

写真に欠陥が無い場合は、[Unlabeled]のプルダウンをクリックし、[No defect]を選択します。
 

欠陥がない場合の操作欠陥がない場合の操作

 

トレーニング用データ/テスト用データ/不要なデータ
 
データセットに取り込んだ画像は、トレーニング用とテスト用に分けて利用されます。デフォルトではトレーニング開始時にトレーニング用とテスト用で80:20の割合で自動的に画像が選択されます。明示的に指定したい場合は、[Unassined]プルダウンから選択することもできます。他にも[Unassined]プルダウンでは、不要な画像データが存在した場合に、その画像をトレーニングやテストで使わないよう[Ignore]に設定することもできます。

 

モデルの作成

全ての画像でDefect TypeもしくはNo Defectを指定出来たら、画面右ペインの[START TRAINING]をクリックします。

モデルトレーニングの実行モデルトレーニングの実行

 

トレーニングについていくつかのパラメータを指定できます。[Budget]では、モデルトレーニングで使用する計算能力を指定することができるようになっています。Budgetは、トレーニング時間とコストのトレードオフになっており、小さく設定するとコストを低く抑えられる一方でトレーニング時間が長くなります。トレーニング完了予定日時が表示されるので、そのときの状況に応じてコストと時間のバランスを取れればよいかと思います。[START TRAINING]ボタンをクリックするとトレーニングが開始されます。

モデルトレーニングのパラメータモデルトレーニングのパラメータ

モデルの作成が完了するとメール通知にてお知らせが届きます。

まとめ

Visual Inspection AIによる外観検査用のモデル作成の操作について確認してきました。いかがでしたでしょうか。イメージデータを準備していただきコンソール画面から欠陥箇所を指定すること簡単に欠陥情報を画像に追加できました。また、モデル作成のためのトレーニングも数クリックで実施することができました。次回は、作成したモデルの評価とテストについて紹介したいと思います。いずれもコンソール画面上での操作で完結するものになっています。
 
 
関連リンク
  • AI/IoT Data Pipline Lab - Google Cloud Visual Inspection AIを使用した外観検査ソリューションの検証
  1. 概要編
  2. モデル作成編 (本稿)
  3. モデル評価編
  4. モデル展開編
  5. エッジ展開編
  6. 制御システム連携編
0 感謝
作者について

ayonekura

Solution Architects, Container and Cloud