本ドキュメントについて

本ドキュメントでは、Armadillo Base OS搭載製品のライフサイクルの一部(設計、開発、量産製造)について実例を交えながら紹介します。

2.1. 本ドキュメントで実施する作業

本ドキュメントでは、Armadillo Base OS上で実際にサンプルアプリケーションの作成を行います。

図2.1「Armadillo Base OS上でのアプリケーション開発の流れ」に、Armadillo Base OS上でのアプリケーション開発の基本的な流れについて示します。 本ドキュメントにおいても、この流れに沿って開発を行います。

./images/document-std-develop-flow.png

図2.1 Armadillo Base OS上でのアプリケーション開発の流れ


Armadillo Base OSにおける、アプリケーションの開発時の流れをより詳細にした図を図2.2「詳細なアプリケーション開発の流れ」に示します。 図中の破線内は、本サンプルアプリケーションのように機械学習をアプリケーションに組み込む場合に必要な手順であり、主に使用する推論モデルのチューニングを行っています。 それ以外の機械学習を用いないアプリケーションの場合には、破線内の処理は必要ありません。

./images/document-overview-dev.png

図2.2 詳細なアプリケーション開発の流れ


本サンプルアプリケーション作成の大まかな流れは、機械学習部分を含むため、以下の通りです。

  1. ATDE上に転移学習用の画像データを用意する
  2. 画像データに対してラベル名や、その位置などを含む情報を付与(アノテーション)して訓練データとする
  3. 訓練データをGoogle Colaboratoryにアップロードする
  4. Google Colaboratory上で学習済みモデルと組み合わせて転移学習を行う
  5. 推論モデルを使用したアプリケーション本体や、付随する設定ファイル等をATDE上で作成する
  6. 4で作成した推論モデルと、5で作成したアプリケーション等をArmadilloに転送する

各手順については本書内で詳しく紹介していきます。

開発後には量産製造に向けて、Armadillo Base OSの機能を利用したArmadilloへのイメージ書き込みの手法について示します。

2.2. 本ドキュメントの成果物

本ドキュメントの手順を踏むことで最終的に、丸型アナログメーター自動読み取りサンプルアプリケーションが作成できます。 出来上がるサンプルアプリケーションの動作について図2.3「サンプルアプリケーションの動作」に示します。

./images/document-overview-running.png

図2.3 サンプルアプリケーションの動作


アプリケーションの挙動としましては以下の通りです。

  1. Armadillo-IoT ゲートウェイ G4に電源を投入する
  2. podmanコンテナとアプリケーションが自動的に起動する
  3. 初期化処理として推論モデルをロード
  4. USBカメラから画像を取得
  5. NPUを利用して画像データからアナログメーターの位置推定を行う
  6. 5の結果をもとにアナログメーターが指す値を読み取る
  7. 6で得た結果を画像と共にHDMIモニタに表示
  8. 4〜7を繰り返す

USBカメラから取得した画像内のどこにアナログメーターが存在するかを検知するために、機械学習による物体検出を利用しています。 また、アナログメーターの読み取りにはOpenCVによる画像解析を使用しています。

詳細な仕様については、「サンプルアプリケーションの詳細」で紹介します。

また、開発完了後のArmadilloを複製できる量産製造用のインストールディスクを作成できます。 インストールディスクの実体はmicroSDカードであり、開発と製造間での受け渡しと製造時のイメージ書き込みが容易に実現できます。