コンテンツにスキップ
ステージングサーバー
開発サーバー

pylon AI Platform#

pylon AI Platformは、ディープラーニング(DL)モデルのライフサイクルを管理するための中央ハブです。

各AI vTool向けにさまざまなマシンビジョンプロジェクトを提供するほか、独自のプロジェクトを作成することもできます。モデルの最適化を含め、開発からデプロイメントに至るまで、多様なハードウェア環境におけるモデルライフサイクル管理のすべてのステージをサポートします。

pylon AI Platformへのアクセスについては、Basler Salesにお問い合わせください。

仕組み#

はじめに、以下のセクションで背景情報を提供し、pylon AI Platformでのプロジェクト作成に関する重要な側面について説明します。

コンセプトと用語#

モデル:モデルとは、サンプル画像を使用してトレーニングできるアルゴリズムのことです。トレーニングに基づいて、モデルは画像の内容を「予測」できるようになります。

アーキテクチャ:モデルのアーキテクチャによって、モデルの動作方法が決まります。マシンビジョンのタスクに応じて、さまざまなアーキテクチャを利用できます。

データセット:データセットとは、特定の問題やタスクに関連するデータの集まりです。問題に関連するすべての視覚的なPropertyが含まれています。

たとえば、猫と犬の画像は、猫と犬を区別する分類モデル用のデータセットを構成できます。モデルが猫と犬だけでなく、ネズミも区別する必要がある場合は、ネズミの画像データをデータセットに追加する必要があります。

通常、データセットは3つの部分に分かれています:

  • トレーニングデータ:トレーニングデータは、ディープラーニングモデルが学習に使用するデータセットの最大の割合を占めます。モデルはウェイトを調整して、トレーニングデータ内のパターンを認識します。
  • 検証データ:検証データは、トレーニング中の動作を評価するためにDLモデルによって使用されます。トレーニングデータとは独立しており、最適化には使用されません。
  • テストデータ:トレーニング後、テストデータを使用してモデルのパフォーマンスが評価されます。テストデータは新しく未見のサンプルを表し、モデルが現実世界のデータに対してどれほど汎化できるかを示します。

pylon ViewerのRecording機能を使用して、独自のデータセットを作成できます。データセットを完成させるには、画像にアノテーションを付ける必要もあります。詳細については、以下のAnnotations/Labelsセクションを参照してください。データセットの最終確定後、pylon AI Platform上のプロジェクトに追加できます。

データセットのアップロード

現在、データセットについてはCVAT for imagesフォーマットのバージョン1.1のみがサポートされています。CVAT Serverを使用してデータにアノテーションを付けるか、既存のデータセットをCVAT for images 1.1フォーマットに変換することができます。

後者の場合、トレーニング環境からデータセットをCVATフォーマットでエクスポートするか、サードパーティ製ツールを使用して既存のデータセットを変換してください。これには、BaslerがDatumaroの使用を推奨しています。

アノテーション/ラベル: アノテーション(ラベルとも呼ばれます)は、データセットに追加され、データ内の何が重要であるかをモデルに伝えます。トレーニング中、モデルはこの情報を使用して、予測と期待される/正しい結果を比較します。前述の分類タスクの場合、この情報はいわゆる画像に犬が写っているか猫が写っているかを示します。

pylon AIで使用する画像にアノテーションを付けるには、外部トレーニングプラットフォームを使用するか、オープンソースツールのCVATを使用します。このビデオでは、CVATを使用してObject Detection用のバウンディングボックス付きの画像にアノテーションを付ける方法を説明しています。

トレーニング: ディープラーニングの文脈において、トレーニングとは、ニューラルネットワーク(モデル)がトレーニングデータから学習するプロセスのことです。モデルはすべてのトレーニングデータに対して予測を行います(上記の「データセット」を参照)。予測結果と正解データ(アノテーション/ラベル)を比較して、その偏差を計算します。偏差に基づいてモデルの重みが調整され、偏差が最小限に抑えられます。エラーが可能な限り小さくなるまで、このプロセスが繰り返されます。モデルが適切に機能することを確認するために、検証データに対してモデルが使用されます。

推論: ディープラーニングの文脈において、推論とは、トレーニング済みのモデルを新しく未知のデータに適用し、その内容について予測を行うことを意味します。

pylon AI Platformの使用#

このセクションでは、マシンビジョンプロジェクトを作成するためのさまざまなステップについて説明します。

pylon AI Platformは直感的に使用できるように設計されています。pylon AI Platformにログインすると、Dashboardビューが表示されます。

Dashboardビュー

ここには、最近リリースされた上位5つのバンドルと、最近実行された上位5つのトライアルが表示されます。

プロジェクトの作成を開始するには、左側のナビゲーションツリーにあるMy Projectsをクリックします。

My Projectsビュー

My Projectsビューでは、あなた自身、またはAI Platformへのアクセス権を持つ他のユーザーが作成したすべてのプロジェクトが表示されます。プロジェクトの表示形式は、リストビューまたはタイルビューから選択できます。

プロジェクトの作成#

まず、プロジェクトを作成します。

  1. pylon AI Platformにログインします。
  2. 左側のナビゲーションツリーにあるMy Projectsをクリックします。
  3. My Projectsページで、Create new projectをクリックします。
  4. 対象 Create New Project ページで、作成するプロジェクトの種類を指定し、名前と簡単な説明(オプション)を入力します。
    プロジェクトの概要ページが開きます。
    New Project

上部のタブ付きナビゲーションには、現在実行できるすべてのステップが表示されます。一部のステップは、前のステップを完了した後にのみ使用可能になります。

通知エリアには、AI Platformで実行した操作ごとに新しいメッセージがポップアップ表示されます。すべてのメッセージは、削除するまで保存されます。

ホームボタンをクリックすると、プロジェクトの概要ページに戻ります。

データセット#

  1. Add data setボタンをクリックするか、上部のタブリストにあるData Setsをクリックします。

  2. 対象 Add Data Set ページで、追加するデータセットの名前と簡単な説明(オプション)を入力します。
    Add New Data Set

  3. Addをクリックします。

  4. Upload Dataページで、アップロードするデータの形式を指定し、データを追加します。

    サポートされているデータセットフォーマット

    現在、データセットについてはCVAT for imagesフォーマットのバージョン1.1のみがサポートされています。CVAT Serverを使用してデータにアノテーションを付けるか、既存のデータセットをCVAT for images 1.1フォーマットに変換することができます。

    後者の場合、トレーニング環境からデータセットをCVATフォーマットでエクスポートするか、サードパーティ製ツールを使用して既存のデータセットを変換してください。これには、BaslerがDatumaroの使用を推奨しています。

    データの検証がすぐに開始されます。検証が正常に完了したら、アノテーションを確認し、データセットクラスの作成に進むことができます。

    データセットの検証

  5. Map classesをクリックします。

  6. ペインの クラスマッピング ダイアログで、 Autocreate classes をクリックして、画像内のアノテーションに基づいてデータセットクラスを自動的に作成します。
    または、 Add new class をクリックします( Data Set Class.
    クラスマッピングダイアログ

  7. OKをクリックします。

  8. 下のドロップダウンリスト内)。

  9. データセットをクリックして内容を表示し、画像を追加し、プロパティを編集します。データセットの状態に問題がなければ、 Publish.
    トライアルで使用するには、データセットをパブリッシュする必要があります。
    データセットプロパティページ

  10. Data Setsタブに戻ります。

モデル#

  1. Modelsタブをクリックします。

  2. Modelsページで、Add modelをクリックします。

  3. 対象 Upload Model ページで、追加するモデルの名前と短い説明(オプション)を入力します。
    新しいモデルの追加

  4. Createをクリックします。

  5. 対象 Upload Model ページで、アップロードするモデルの構成を指定し、モデルファイルを追加します。
    アップロードと検証がすぐに開始されます。これが完了すると、モデルに含まれているクラスを確認できるようになります。
    モデルのアップロードが完了しました

  6. [完了 (Finish)]をクリックします。
    [Models]タブが開き、モデルを確認できます。

  7. モデルをクリックすると、そのプロパティを表示できます。
    モデルプロパティ

  8. [Models]タブに戻ります。

マッピング#

通常、データセットとモデルには、特定のタスクに必要な数よりも多くのクラスが含まれています。マッピングとは、データセットクラスとモデルクラスを対応付けて、プロジェクトで何を検知・認識対象とするかを定義するプロセスのことです。この目的のために、プロジェクトクラスを追加し、目的のデータセットクラスとモデルクラスをそれらに割り当てる必要があります。

  1. Click the マッピング タブ。
    Mappingタブ

  2. 対象 マッピング タブで、次をクリックします。 プロジェクトクラスを作成します 最初のプロジェクトクラスを作成するには、 をクリックします。
    [Create Project Class]ボタン
    または、次を使用することもできます。 Automap feature.
    [Automap]ボタン

  3. 必要に応じて、デフォルトの名前を別の名前に変更します。

  4. そこにデータセットクラスとモデルクラスを追加します。
    右側の対応するタブからクラスをドラッグアンドドロップするだけです。ドロップダウンリストを使用して、データセットとそのバージョン、およびモデルのバージョンを変更できます。
    Mappingタブのドロップダウンリスト

  5. 必要なすべてのプロジェクトクラスを作成し終えるまで、ステップ2~4を繰り返します。

  6. 不要なすべてのデータセットクラスとモデルクラスを除外します(詳細については、クラスの除外 (Excluding Classes)を参照してください)。

自動マッピング#

オートマッピングを使用すると、名前を基準にしてデータセットクラスとモデルクラスをプロジェクトクラスにワンクリックでマッピングできます。データセットおよびモデルクラスの名前と一致する既存のプロジェクトクラスが存在しない場合は、その名前の新しいプロジェクトクラスが作成されます。そのため、使用予定以上のデータセットクラスやモデルクラスがある場合は、オートマッピングを使用する前に必ずそれらを除外してください。

オートマッピングは、未マッピングのクラスに対してのみ機能します。以前に手動でマッピングされたクラスは、そのままの状態で維持されます。

データセットやプロジェクトのクラス名に「background」または「excluded」という単語が含まれている場合、プロジェクトの種類に応じて除外されるか、バックグラウンドとして定義されます。

自動マッピングでは大文字と小文字は区別されませんが、クラス名は完全に一致している必要があります。

自動マッピングの使用方法:

  1. 右側のData Set Classesタブで、不要なデータセットクラスをすべて除外します。

  2. クリック Automap.
    自動マッピングの概要

  3. Automapping Summaryダイアログで、そこにリストされているすべてのプロジェクトクラスを作成することを確認します。
    不要なクラスの選択を解除できます。選択解除されたクラスは未割り当てのままになります。後で必ず除外してください。

  4. Map classesをクリックします。
    プロジェクトクラスが作成され、データセットクラスがそれらに追加されます。

  5. 右側のModel Classesタブで、不要なモデルクラスをすべて除外します。

  6. クリック Automap.
    自動マッピングの概要

  7. Automapping Summaryダイアログには、既存のプロジェクトクラス、それらにマッピングされるモデルクラス、および新しく作成されるプロジェクトクラスが表示されます。新規としてリストされているプロジェクトクラスを作成することを確認します。
    不要なクラスの選択を解除できます。選択解除されたクラスは未割り当てのままになります。後で必ず除外してください。

  8. Map classesをクリックします。
    まだ存在しないプロジェクトクラスが作成されます。新規および既存のプロジェクトクラスにモデルクラスが追加されます。

クラスの除外#

プロジェクトで使用しないモデルクラスは、マッピングを完了するために除外する必要があります。これは、モデルから正しい統計データを得るために必要です。

クラスを除外するには、不要なモデルクラスをすべて選択し、Excludeをクリックします。または、選択したクラスを画面の下部にドラッグし、Excludedセクションにドロップすることもできます。

モデルクラスの除外

セグメンテーションプロジェクトの場合、これは少し異なります。ここでは、不要なモデルクラスをすべてバックグラウンドとして定義する必要があります。これを行うには、不要なモデルクラスをすべて選択し、Define as backgroundをクリックします。または、選択したクラスを画面の下部にドラッグし、Backgroundセクションにドロップすることもできます。

これら両方の操作は、対応するボタンを使用するか、ドラッグ&ドロップによって元に戻すことができます。

除外されたクラスは、プロジェクトの適用時には考慮されません。つまり、それらの結果は得られません。

トライアル#

  1. Trialsタブをクリックします。

  2. Trialsページで、Add trialをクリックします。

  3. 対象 トライアルの作成 ページで、追加するトライアルの名前と簡単な説明(オプション)を入力します。
    トライアル作成ページ

  4. ペインの プロジェクトアセット ペインで、 データセットを追加 して、トライアルで使用するデータセットを選択します。
    データセット追加ダイアログ

  5. ペインの プロジェクトアセット ペインで、 モデルの追加 をクリックし、トライアルで使用するモデルを選択します。
    モデル追加ダイアログ

  6. ペインの プロジェクトアセット ペインで、 マッピングの確認.
    マッピングを確認し、必要に応じて変更してください。トライアル作成後は、プロジェクトクラスを変更することはできません。
    トライアルマッピングの確認

  7. Createをクリックします。

  8. [Add next trial run]をクリックします。

  9. ハードウェアとモデルフォーマットを選択します。
    ハードウェア選択ダイアログ

  10. クリック トライアルの実行.
    トライアル実行ダイアログ
    トライアルの実行がすぐに開始されます。実行が完了すると、統計情報がトライアルページに表示されます。
    トライアル結果

  11. 結果に問題がなければ、トライアルの横にある [Release bundle] ボタンをクリックしてバンドルをリリースします。
    バンドルリリースボタン

  12. バンドルの名前を変更し、説明を入力します(オプション)。
    バンドルリリースダイアログ

  13. [Release bundle]をクリックします。
    バンドルが生成されます。

  14. プロジェクト概要ページに戻り、[Bundles]タブをクリックします。
    しばらくすると、ここにバンドルが表示されます。

バンドル#

リリースされたバンドルは、[Bundles]タブに表示されます。ここでは、バンドルのPropertyの確認や、バンドルの生成元となったトライアル実行の詳細を表示できます。

[Bundles]タブ

バンドルには、vToolがビジョンタスクを実行するために必要なすべての情報(ハードウェア構成、モデルなど)が含まれています。pylon AI Agentを使用して、AI vToolsにデプロイする準備が整いました。

また、バンドルをローカルまたはリモートのストレージ場所にダウンロードすることもできます。その場合、pylon AI Platformへのアクセス権がないユーザーでも、バンドル内のモデルを使用できます。

外部プロジェクト#

pylon AI Platformを使用すると、Intel GetiやLanding AIなどの他のプラットフォームに接続できます。それらのプラットフォームで作成されたプロジェクトをインポートし、さまざまなハードウェアやモデルを使用して試行を実行できます。

別のプラットフォームへの接続を確立するには、そのプラットフォームのAPIキーを追加する必要があります。

APIキーを追加するには:

  1. pylon AI Platformにログインします。
  2. 左側のナビゲーションツリーで、次をクリックします 設定.
    pylon AI Platform - 設定ビュー
  3. ペインの 設定 ビューで、次をクリックします APIキーの追加.
    イメージ APIキーの追加 dialog opens.
    [APIキーの追加]ダイアログ
  4. [APIキーの追加]ダイアログで、目的のプラットフォームを選択し、そのプラットフォームのAPIキーを入力します。
    APIキーを取得するための手順については、以下を参照してください。
    Intel Geti
    Landing AI
  5. [保存]をクリックします。
    追加したAPIキーが[APIキー]ページに表示されます。また、接続を確立した外部プラットフォームで作成されたプロジェクトが、[外部プロジェクト]ビューで使用できるようになります。

これで、外部プロジェクトをプロジェクトライブラリにインポートしてテストできるようになります。外部プロジェクトは読み取り専用であることに注意してください。データセットなどのリソースをpylon AI Platform上で編集することはできません。変更を加えるには、元のプラットフォームで行う必要があります。

外部プロジェクトをインポートするには:

  1. 左側のナビゲーションツリーで、次をクリックします 外部プロジェクト.
    [外部プロジェクト]ビュー
  2. インポートするプロジェクトをクリックします。
    [プロジェクトのインポート]ビュー
  3. [データセット]、[モデル]、[マッピング]タブで、プロジェクトのリソースを確認します。
  4. プロジェクトに問題がなければ、次をクリックします プロジェクトのインポート.
    [外部プロジェクトのインポート]ダイアログ
  5. 名前と簡単な説明(オプション)を入力します。
  6. Nextをクリックします。
  7. インポートするデータセットを選択します。
    これは後から行うこともできます。インポートできるのは、外部プロジェクトの一部であるデータセットのみです。
  8. Nextをクリックします。
  9. インポートするモデルを選択します。
    これは後から行うこともできます。インポートできるのは、外部プロジェクトの一部であるモデルのみです。
  10. [インポート]をクリックします。
    プロジェクトがインポートされ、プロジェクトライブラリに追加されます。
  11. 左側のナビゲーションツリーで、次をクリックします マイプロジェクト.
    My Projectsビュー
    追加したばかりのプロジェクトが利用可能になりました。
  12. 編集するプロジェクトをクリックし、まだの場合はデータセットやモデルを追加して、マッピングを表示します。
  13. トライアルを実行し、バンドルを作成します。