本ドキュメントでは、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に転送する
各手順については本書内で詳しく紹介していきます。
本ドキュメントの手順を踏むことで最終的に、丸型アナログメーター自動読み取りサンプルアプリケーションが作成できます。
出来上がるサンプルアプリケーションの動作について図2.3「サンプルアプリケーションの動作」に示します。
アプリケーションの挙動としましては以下の通りです。
-
Armadillo-IoT ゲートウェイ G4に電源を投入する
-
podmanコンテナとアプリケーションが自動的に起動する
-
初期化処理として推論モデルをロード
-
USBカメラから画像を取得
-
NPUを利用して画像データからアナログメーターの位置推定を行う
-
5の結果をもとにアナログメーターが指す値を読み取る
-
6で得た結果を画像と共にHDMIモニタに表示
-
4〜7を繰り返す
USBカメラから取得した画像内のどこにアナログメーターが存在するかを検知するために、機械学習による物体検出を利用しています。
また、アナログメーターの読み取りにはOpenCVによる画像解析を使用しています。
詳細な仕様については、「サンプルアプリケーションの詳細」で紹介します。