本ドキュメントでは、Armadillo Base OS搭載製品のライフサイクルの一部(設計、開発、量産製造)について実例を交えながら紹介します。
本ドキュメントでは、Armadillo Base OS上で実際にサンプルアプリケーションの作成を行います。
図2.1「Armadillo Base OS上でのアプリケーション開発の流れ」に、Armadillo Base OS上でのアプリケーション開発の基本的な流れについて示します。
本ドキュメントにおいても、この流れに沿って開発を行います。
Armadillo Base OSにおける、アプリケーションの開発時の流れをより詳細にした図を図2.2「詳細なアプリケーション開発の流れ」に示します。
図中の破線内は、本サンプルアプリケーションのように機械学習をアプリケーションに組み込む場合に必要な手順であり、主に使用する推論モデルのチューニングを行っています。
それ以外の機械学習を用いないアプリケーションの場合には、破線内の処理は必要ありません。
本サンプルアプリケーション作成の大まかな流れは、機械学習部分を含むため、以下の通りです。
-
ATDE上に転移学習用の画像データを用意する
-
画像データに対してラベル名や、その位置などを含む情報を付与(アノテーション)して訓練データとする
-
訓練データをGoogle Colaboratoryにアップロードする
-
Google Colaboratory上で学習済みモデルと組み合わせて転移学習を行う
-
推論モデルを使用したアプリケーション本体や、付随する設定ファイル等をATDE上で作成する
-
4で作成した推論モデルと、5で作成したアプリケーション等をArmadilloに転送する
各手順については本書内で詳しく紹介していきます。
開発後には量産製造に向けて、Armadillo Base OSの機能を利用したArmadilloへのイメージ書き込みの手法について示します。
本ドキュメントの手順を踏むことで最終的に、丸型アナログメーター自動読み取りサンプルアプリケーションが作成できます。
出来上がるサンプルアプリケーションの動作について図2.3「サンプルアプリケーションの動作」に示します。
アプリケーションの挙動としましては以下の通りです。
-
Armadillo-IoT ゲートウェイ G4に電源を投入する
-
podmanコンテナとアプリケーションが自動的に起動する
-
初期化処理として推論モデルをロード
-
USBカメラから画像を取得
-
NPUを利用して画像データからアナログメーターの位置推定を行う
-
5の結果をもとにアナログメーターが指す値を読み取る
-
6で得た結果を画像と共にHDMIモニタに表示
-
4〜7を繰り返す
USBカメラから取得した画像内のどこにアナログメーターが存在するかを検知するために、機械学習による物体検出を利用しています。
また、アナログメーターの読み取りにはOpenCVによる画像解析を使用しています。
詳細な仕様については、「サンプルアプリケーションの詳細」で紹介します。
また、開発完了後のArmadilloを複製できる量産製造用のインストールディスクを作成できます。
インストールディスクの実体はmicroSDカードであり、開発と製造間での受け渡しと製造時のイメージ書き込みが容易に実現できます。