Skip to content

atmark-techno/armadillo-iot-g4_model_zoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 

Repository files navigation

Armadillo-IoT G4 Model Zoo

Armadillo-IoT ゲートウェイ G4 + NPUで動作が確認済みの機械学習モデルをまとめたリポジトリです。

各種機械学習モデルの量子化手順と動作確認手順を、Pythonでの実装とともに Google Colaboratory ノートブック形式で紹介します。 動作確認手順は Armadillo-IoT ゲートウェイ G4 実機上でも同様に動作します。

機械学習の推論を Armadillo-IoT ゲートウェイ G4 上で動かしている際の動画

本リポジトリで紹介している機械学習モデルを用いた Armadillo-IoT ゲートウェイ G4 上で動作するデモアプリケーションの動画もYouTubeにアップロードしています。
こちらは基本的には本リポジトリで紹介している動作確認手順の実装と大枠は同じですが、画面構成の変更や映像入力をUSBカメラにするなどの変更が加わっています。

▼物体検出・姿勢推定・セグメンテーションデモ動画 ▼超解像・手指検知デモ動画
画像クリックでYouTubeの動画ページに移動します。

これらのデモアプリケーションは、Armadillo-IoT ゲートウェイ G4 上で実際に動かすことができます。 詳しくは、「Armadillo-IoT ゲートウェイ G4 製品マニュアル」内の「デモアプリケーションを実行する」を参照してください。

物体検出

ssd_mobilenet_v1

Tensorflow Liteの物体検出サンプル(当該ページは削除済み)にて使用されているモデルです。COCOデータセットでトレーニングし、uint8で量子化されています。
※使用されているモデルは異なりますが、こちらにTensorflow Liteの物体検出についてのページが新しく作成されています。

入力画像上の「どこに」、「何が」あるかを認識し、バウンディングボックスで表示できます。
認識可能な物体は90種類あります。

骨格推定

posenet

posenet-pythonをベースにtfliteに変換、量子化したモデルです。

入力画像に写った人間の骨格(両目、鼻、両耳、両肩、両肘、両手首、両腰、両膝、両足首の計17点)を検知して表示します。
最大10人の骨格を一度に推定できます。

セマンティックセグメンテーション

MediaPipe_Meet_Segmentation

PINTO0309様がtfliteに変換、量子化したモデルです。具体的な量子化手順などの詳細はPINTO_model_zooを参照してください。

入力画像の各画素ごとに、そこに写っているものは何かを推定し、人間が写っている領域を赤く色付けします。
Google Meetのバーチャル背景のために使用されているモデルをベースとしていおり、人間の領域を綺麗に推定するために、人間以外の付近の物を検出する場合もあります。

超解像

ESRGAN

esrgan-tf2をベースにtfliteに変換、量子化したモデルです。

50x50の解像度の画像を入力することで、200x200の解像度の画像を生成します。

手指検知

MediaPipe_Hands

PINTO0309様がtfliteに変換、量子化したモデルです。具体的な量子化手順などの詳細はPINTO_model_zooを参照してください。
モデルの詳細については、MediaPipe Hands Model Cardを参照してください。

以下の流れで手指の検出を行ないます。

  1. 入力画像から手の領域を検出
  2. 検出した領域を入力画像として骨格推定
  3. 推定結果を元の入力画像に描画

このデモの特徴としまして、機械学習モデルを2つ(手の領域検出、手の骨格推定)使用しています。
Armadillo-IoT ゲートウェイ G4上でも複数モデルをロードして推論を行なうことができます。

About

Armadillo-IoT Gateway G4 ML Model Zoo with articles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published