13.1.17. データセットエディタ

カスタム分類器の学習は、ラベル付きデータセットから始まります。モデルに認識させたい各対象について数百枚の画像を、実際にモデルを動かすカメラで撮影し、クラスごとに1つのフォルダへ振り分けます。データセットエディタは、それを構築するための IDE の撮影ワークフローです。

Tools → Dataset Editor → New Dataset は、データセットを構築するフォルダを尋ね(空でないフォルダの内容は削除される旨を警告します)、それをセットアップします。メインウィンドウの左側にファイルブラウザペインがドッキングし、撮影スクリプト(dataset_capture_script.py)がエディタで開きます。このスクリプトは単純な撮影ループであり、編集することを想定しています。デプロイするアプリケーションが使用するのと同じレンズ補正、トリミング、フィルタリングを適用し、モデルが実際に目にする画像で学習するようにします。Open Dataset は後から既存のデータセットフォルダを再び開き、Close Dataset はウィンドウを通常の状態に戻します。

13.1.17.1. 撮影

データセットを開いている間は、ウィンドウ左端のツールバーの実行コントロールの下に2つのボタンが加わります。New Class FolderCtrl+Shift+N)はクラスを作成します。モデルに学習させたいカテゴリごとに1つ作り、ラベルにちなんで名前を付けます。撮影スクリプトを実行し、クラスフォルダを選択した状態で Capture DataCtrl+Shift+S)を押すと、現在のフレームバッファ画像がそのクラスに保存され、ファイルブラウザの下のプレビューペインに撮影結果が届くたびに表示されます。

撮影のリズムは次のとおりです。クラスを選び、その一例にカメラを向けて撮影する。物体を動かし、角度、距離、背景、照明を変えて再び撮影する。データセットの多様性こそが、モデルの頑健性を生み出します。これをクラスごとに繰り返します。何も対象が存在しないときをアプリケーションが判別する必要がある場合は、対象を一切含まないシーンの背景クラスも含めます。

13.1.17.2. エクスポートと学習

Export サブメニューは、完成したデータセットを学習へ送ります。Export Dataset to Zip File は、クラス名をプレフィックスとしたファイル名でアーカイブにまとめます。これは、あらゆる学習サービスやフレームワークが受け入れる中立的な形式です。Edge Impulse 向けには、IDE が直接統合されています。同じサブメニューから Edge Impulse アカウントにログインし、Upload to Edge Impulse Project でデータセットを直接プロジェクトに送ります(メールアドレスとパスワードでのログインが使えないアカウント向けに、API キーによるアップロードも用意されています)。そこで学習し、モデルをエクスポートすれば、NPU コンバーター がボードに必要なときにそれをカメラ対応にします。

参考

データセットが供給される学習ワークフローについては 機械学習の章 を参照してください。