AndroidStudio4.2.1を使用し、TensorFlow Lite 画像分類 アプリケーション(サンプル)を試してみます。
■PC環境
Windows 10 Pro
Android Studio バージョン 4.2.1
git バージョン 2.31.1.windows.1
■スマートフォン環境
モトローラ Moto G8 Power(Android バージョン11)
■TensorFlow Lite 画像分類 アプリケーションをクローンする
まずは、「TensorFlow Lite Examples | Machine Learning Mobile Apps(https://www.tensorflow.org/lite/examples)」のページにアクセスします。
アクセスすると、TensorFlow Lite を使用しているサンプルのアプリケーションが公開されていますので「画像分類」の「Androidで試してみる」をクリックします。
クリックすると、Githubの「TensorFlow Lite image classification Android example application(https://github.com/tensorflow/examples/tree/master/lite/examples/image_classification/android)」のページに移動します。
ページ内の「Build and run(ビルドして実行)」の項目の手順をGoogle翻訳などで翻訳し、手順の通りに進めていきます。
■TensorFlowのサンプルのソース コードをクローンする
まずは、TensorFlowのサンプルのソース コードをクローンするために、Windows10のコマンドプロンプトを起動します。起動する前に、「Git for Windows」をWindows10にインストールしておきます。
git clone https://github.com/tensorflow/examples
起動後、上記のコマンドを入力し、Enterキーを押します。
Cloning into ‘examples’…
remote: Enumerating objects: 17360, done.
remote: Counting objects: 100% (1874/1874), done.
remote: Compressing objects: 100% (719/719), done.
remote: Total 17360 (delta 1169), reused 1664 (delta 1091), pack-reused 15486
Receiving objects: 100% (17360/17360), 25.20 MiB | 4.03 MiB/s, done.
Resolving deltas: 100% (9523/9523), done.
Updating files: 100% (2292/2292), done.
Enterキーを押すと、サンプルのソースコードのクローンが開始され、しばらくするとコマンドプロンプトを起動した時の作業ディレクトリ(カレントディレクトリ)内に「examples」というディレクトリが複製されます。これでクローンは完了です。
■Android Studioを起動する
完了後、Android Studioを起動します。
起動後、「Open an Existing Project」をクリックします。
クリックすると、「ファイルまたはプロジェクトを開く」というウインドウが表示されますので、先ほどクローンしたサンプルがローカル上の「examples」というフォルダに置かれています。フォルダを見つけます。さらに「examples」の中の「/lite/examples/image_classification/android」というファイルを指定します。
指定後、「OK」ボタンをクリックします。
クリックすると、「Gradle sync started」と表示されます。Gradleが同期されるまでしばらく時間がかかります。
その後、「daemon started successfully(デーモンの起動に成功)」と表示されます。これで同期は完了となります。
完了後、プロジェクト作成画面上にアップデートの通知が表示されますので、アップデートを行っておく必要があります。
■アプリケーションをインストールして実行する
完了後、「ビルド」の「Make Project」をクリックします。
クリックした後に、プロジェクト作成画面の下にある「Build」をクリックします。クリックすると、「Build Output」などが表示され、Buildが開始されます。
しばらくすると、「Build:finished」と表示され、「BUILD SUCCESSFUL」とも表示されます。これでBuildは成功となります。
The specified Android SDK Build Tools version (28.0.0) is ignored, as it is below the minimum supported version (30.0.2) for Android Gradle Plugin 4.2.1.
Android SDK Build Tools 30.0.2 will be used.
To suppress this warning, remove “buildToolsVersion ‘28.0.0’” from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.
成功となりますが、上記の警告が表示されます。build.gradleを開いて警告に従って、バージョンを変更すれば良いのですが、「examples\lite\examples\image_classification\android\app」のフォルダ内のbuild.gradleには「buildToolsVersion ‘28.0.0’」という項目がありませんでした。
■build.gradleファイルの中身(一部)
android { compileSdkVersion 30 defaultConfig { applicationId "org.tensorflow.lite.examples.classification" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" }
項目がありませんでしたので、「buildToolsVersion ‘28.0.0’」を削除することも変更することもできないので、この警告は一旦無視します。なお、build.gradleに「buildToolsVersion ‘28.0.0’」という項目を追加して、「ビルド」の「Make Project」をクリックし、Buildを開始しましたが、警告は表示されたままでした。
その後、スマートフォン(モトローラ Moto G8 Power)をWindowsに接続し、プロジェクト作成画面の上部にある「実行」ボタンをクリックします。
クリックすると、スマートフォン(モトローラ Moto G8 Power)へのアプリケーションのインストールが開始され、しばらくすると、「TensorFlow Lite」アプリケーションが起動し、「写真と動画の撮影を「TFL Classify」に許可しますか?」というポップアップが表示されます。ポップアップ内の「アプリの使用時のみ」、もしくは「今回のみ」をタップします。
タップすると、カメラの撮影画面が表示されます。実験のため、スマートフォン(iPhone)を撮影してみると、画像分類が行われ、「TensorFlow Lite」アプリケーションの下に「iPod」と表示されました。今回のサンプルアプリケーションでは、分類に「iPhone」は含まれておらず、「iPod」と認識されてしまいましたが、正常に画像分類ができていました。
コメント