概要
こちらのデモのAndroid版が動かなかったため修正手順メモとして記事化しました。
ポーズ推定
https://www.tensorflow.org/lite/examples/pose_estimation/overview
ざっくり原因と解消方法
モデルのダウンロードリンクが変更されたことでエラーが発生していたため、
ダウンロードを手動で行って所定のフォルダに配置したところ動きました。
Android Studioインストール
Tensorflowのソースダウンロード
git clone https://github.com/tensorflow/examples.git
実行
Android Studioでクローンしたプロジェクトの中の姿勢推定アプリを開く
\examples\lite\examples\pose_estimation\android
プロジェクトが開いたら再生ボタンでRunする
実行できない場合は上部バーのメニューからSync Project with Gradle Filesを実行するか、Ctrl + Shift + o を実行する
Runすると以下のエラーが発生する
Caused by: : Can't get https://tfhub.dev/google/lite-model/movenet/singlepose/lightning/tflite/float16/4?lite-format=tflite to C:\各自のパス\examples\lite\examples\pose_estimation\android\app\src\main\assets\movenet_lightning.tflite
モデルダウンロード
エラーメッセージ内のリンクにアクセスする
上記のエラーの場合は https://tfhub.dev/google/lite-model/movenet/singlepose/lightning/tflite/float16/4?lite-format=tflite
ページ内のFile Explorerから4.tfile
をダウンロードできるので探してダウンロード
ダウンロードした4.tfile
をmovenet_lightning.tfile
にリネームする
(エラーメッセージ内で書かれているファイル名)
リネームしたファイルを\examples\lite\examples\pose_estimation\android\app\src\main\assets
配下に配置する
同様の手順をエラーが出ているほかのファイルでも実施する
- movenet_multipose_fp16.tflite
- movenet_thunder.tflite
ソース修正
手動でダウンロードを行ったのでビルドタスクからダウンロードを除外する
Android Studioで/Gradle Scripts/build.gradle(Module:app)
を開く
38行目をコメントアウト
// apply from:"download.gradle"
実行
Sync Project with Gradle Files (Ctrl+Shift+o)
実行後にRun
無事動かすことができました。
※デフォルトだとエミュレータ内のカメラになってしまうのでこちらを設定しました。
https://note.com/danchi_kun/n/n8594179e5b00
備考
モデルダウンロードの手順について、手動でやるよりもdownloadタスク内でやったほうがいいと思いますが、知識がなくてできませんでした。
tar.gzの形式でならリンクからファイルを落とせるようなので、ダウンロードリンクを変更しtar.gzの解凍とリネームをdownload.gradleに書くのが理想だと思います。