Armadillo Base OS 開発ガイド


目次

1. はじめに
1.1. 本ドキュメントを読むことで習得できること
1.2. 表記について
1.2.1. フォント
1.2.2. コマンド入力例
1.3. サンプルソースコード
1.4. ライセンス
2. 本ドキュメントについて
2.1. 本ドキュメントで実施する作業
2.2. 本ドキュメントの成果物
3. 準備
3.1. 必要なもの
3.2. 事前準備
3.2.1. 開発環境の準備
3.2.2. 機械学習向け開発環境の準備 ./images/ML_icon.png
3.2.3. 接続物の準備
4. 基本的な開発の流れ
4.1. 機械学習を用いたシステムの開発の流れ ./images/ML_icon.png
5. 仕様を検討・決定する
5.1. Armadillo Base OSにおけるアプリケーション仕様検討
5.2. podmanコンテナイメージの選定
5.3. 機械学習を用いたアプリケーションについて ./images/ML_icon.png
5.3.1. 機械学習を用いたアプリケーションのデメリット
5.3.1.1. 学習の手間
5.3.1.2. 推論の速度と精度
5.3.1.3. 開発時の技術的負債
6. サンプルアプリケーションの作成
6.1. サンプルアプリケーションの詳細
6.1.1. 詳細な動作
6.1.1.1. USBカメラから画像を取得
6.1.1.2. 画像からアナログメーターを検出
6.1.1.3. アナログメーター検出箇所から円を検出
6.1.1.4. メーターの読み取り
6.2. 推論モデルの作成 ./images/ML_icon.png
6.2.1. 教師データの用意
6.2.1.1. 画像の用意
6.2.1.2. アノテーション
6.2.2. 推論モデルの生成
6.3. podmanコンテナのベースイメージを選択する
6.3.1. 開発前の準備
6.3.2. サンプルコンテナをビルド
6.3.3. コンテナ内に入る
6.4. アプリケーション実行の準備をする
6.5. アプリケーションを作成する
6.5.1. ファイル構成
6.5.2. コンテナ内のファイルの編集
6.5.3. アプリケーションの動作確認
6.5.4. podmanコンテナの保存
6.5.5. podmanコンテナのエクスポート
6.5.6. podmanコンテナとアプリケーションの自動実行
6.5.6.1. confファイルの作成
6.5.6.2. 設定の確認
6.6. 動作確認
6.7. USBカメラから映像を取得するように変更
6.7.1. 撮影対象のparameter.jsonを作成
6.7.2. パラメータファイルの配置
6.7.3. .confファイルの設定
6.7.4. 自動実行の確認
7. Appendix
7.1. 作成したコンテナを他のArmadilloに組み込む
7.1.1. podman loadでコンテナイメージを組み込む
7.1.2. SWUpdateでコンテナイメージを組み込む
7.1.2.1. SWUpdateによる初回アップデート
7.1.2.2. コンテナイメージを書き込む

図目次

1.1. 機械学習関連情報アイコン
1.2. クリエイティブコモンズライセンス
2.1. Armadillo Base OS上でのシステム開発の流れ
2.2. アプリケーション開発の流れ
2.3. サンプルアプリケーションの動作
3.1. Armadillo-IoT ゲートウェイ G4への周辺機器の接続
3.2. 接続後のイメージ
4.1. 開発時のイメージ
6.1. サンプルアプリケーションの詳細な動作の流れ
6.2. 元画像
6.3. 物体検出した箇所をもとに画像を切り出し
6.4. 円を検出
6.5. 画像の枠が円に外接するようにリサイズ
6.6. 直線を検出
6.7. Google Images Downloadのインストール
6.8. Google Images Downloadの実行
6.9. Google Images Downloadでダウンロードしたファイル
6.10. 画像ファイルを連番でリネーム
6.11. labelImgをインストールする
6.12. Linux環境におけるlabelImg実行例
6.13. labelImgの起動
6.14. 出力形式の変更
6.15. アノテーション元の選択
6.16. アノテーション情報の保存先の選択
6.17. 作業効率化のための設定1
6.18. 作業効率化のための設定2
6.19. ラベル付け例
6.20. アノテーション情報ファイルを確認
6.21. label_map.pbtxt作成例
6.22. podman関連ファイルをeMMC上に保存する
6.23. Dockerfileのダウンロード
6.24. サンプルコンテナのイメージのビルド
6.25. コンテナ内に入る
6.26. コンテナへパッケージをインストール
6.27. サンプルアプリケーションのダウンロードと展開
6.28. サンプルアプリケーションを構成するファイル
6.29. ATDEからArmadilloへファイルを送信
6.30. コンテナ内にエディタをインストールする
6.31. サンプルアプリケーションの動作確認
6.32. Armadillo-IoT ゲートウェイ G4への周辺機器の接続
6.33. westonを終了
6.34. podmanコンテナから抜ける
6.35. 起動中のpodmanコンテナを確認する
6.36. 停止中のpodmanコンテナを確認する
6.37. podmanコンテナの変更を保存する
6.38. podmanコンテナイメージを外部ストレージに出力する
6.39. sample_container.conf作成例
6.40. sample_container.confのダウンロード
6.41. podman_startの実行例
6.42. sample_container.confの永続化
6.43. コンテナの停止・削除
6.44. サンプル動画に対して物体検出
6.45. サンプル動画内のアナログメーターを読む
6.46. config_param.pyのダウンロードと起動
6.47. アナログメーターを正面から捉えたサンプル画像(image.png)
6.48. アナログメーターの中心をクリック
6.49. 各スケールの位置をクリック
6.50. 各スケールの数値を入力
6.51. 各スケールの数値を入力
6.52. /var/app/rollback/volumes/assetsの作成
6.53. parameter.jsonを配置
6.54. USBカメラを使用するsample_container.conf作成例
6.55. USBカメラの映像からアナログメーターの値を取得
6.56. sample_container.confの永続化
7.1. コンテナイメージファイルをインポートする
7.2. swupdate-mkimageの取得
7.3. 署名鍵の生成
7.4. 暗号化用鍵の作成
7.5. 初回アップデート用swuイメージの作成
7.6. swuイメージの配置
7.7. 作業用ディレクトリの作成と書き込むファイルのダウンロード
7.8. usb_container_sample.desc作成例
7.9. swuイメージの作成
7.10. アップデート用ファイル群の配置