TensorFlow 物体認識デモ 2024年7月で苦労しました

興味があったのでAndroid端末でやってみました。誰かの助けになれば。

Android Studioはじめ、ライブラリ類は随時更新されていくと思いますが、同じような対処で何とかなるのではと思っています。

TensorFlow公式ページ

さっそくググってみたらいきなり「TensorFlowの公式ページに、デモアプリが用意されており、簡単にインストールできます。」という情報が!

さっそく味見できますね!ということで `https://www.tensorflow.org/mobile/tflite/demo_android` からAPKをダウンロードしようと試みましたが、「404 not found」とのこと。

結論

Android Studio IDE を導入して GitHub から取得した TensorFlow Lite Object Detection Android Demo をビルドしてAndroid端末上で実行させることができました。

概要

Android Studio Koala | 2024.1.1Patch 1 (2024年8月時点で最新)

GitHub | https://github.com/tensorflow/examples.git (しばらく更新は無いようです)

プロジェクト | examples/object_detection/android を Android Studio で開く

メモ

  • Android Studio 最新版に更新
  • Android SDKの導入見直し
    • Toold>SDK Manage にてAndroid 12L のみに✅
  • AVD (Android Virutual Device)
    • 使用する機種はなくPixelばかりなのでとりあえずそのまま
  • Project Structure>Project にて
    • agp_version 7.4.2
    • Gradle Version 7.4.1
  • File>Project Sturucture>Suggestions の警告に従い諸々更新
    • 28個あった
  • よくわからないが更新

  “`text

  The Android Gradle plugin supports only Navigation Safe Args Gradle plugin version 2.5.0 and higher.

  The following dependencies do not satisfy the required version:

  root project ‘android’ -> androidx.navigation:navigation-safe-args-gradle-plugin:2.4.1

  Update plugins

  Affected Modules: app

  “`

  • build.gradle ファイル の android{}にnamespaceを設定(追記)
    • org.tensorflow.lite.examples.objectdetection
    • app\src\main\AndroidManifest.xml の記載にあわせた
    • app\src\main\AndroidManifest.xml の記述は古い方法なので消せとのこと
  • build.gradle ファイルの 変更
    • classpath ‘androidx.navigation:navigation-safe-args-gradle-plugin:2.4.1’ -> 2.5.0
  • build.gradle
    • compileSdkVersion 32 -> 34
    • targetSdkVersion 32
  • エラーメッセージ対処
    • import するものが存在しない
    • import 名前が違っている
    • <layout>タグが必要っぽい?とりあえず入れた
    • ビルドの設定が不足してるっぽい?メッセージ読んで対処してみた
  • その他もうちょっともろもろ対応

Good Luck!