Firebase無しでGoogle ML Kitを試す

未来環境ラボの中口です。衝撃です。衝撃。去る5月11日に、毎年様々な技術が発表されるGoogleのイベント、Google I/O 2018にて、Google ML Kitが発表されました。何が衝撃かって、その簡単さです。ML KitはGoogleが提供する機械学習フレームワーク(TensorFlow)や機械学習クラウドサービスをAndroid端末で使うためのSDKで、非常に簡単に機械学習アプリを作ることができます。

本来はFirebaseというクラウドサービスと連携して使うことが想定されていますが、オフラインのみでも動作します。早速サンプルを動作させてみましょう。

Android Studioのインストール

Android用のSDKなので、Android Studioが必要です。最新版をダウンロード、インストールして下さい。

GitHubからサンプルをクローン

Android Studioを起動し、起動画面で[Check out project from Version Control] → [GitHub]を選んで下さい。

サンプルのURLは下記です。

Clone後は様々なサンプルプロジェクトが見えている状態で、他のプロジェクトがビルドに失敗することもあるので、ML Kitだけにしましょう。[File]→[Open]と選択して、quickstart-androidディレクトリ内の、mlkitディレクトリを開いて下さい。

google-services.jsonの作成

mlkitをビルドするには、google-services.jsonというファイルが必要です。mlkitはGoogle Firebaseというサービスの利用を前提としていて、プロジェクトをビルドする際にもFirebaseから取得した設定ファイルがあるか、その内容が正しいかが検証されます。ただし端末上で動作する機能を利用するだけの場合は、下記のファイルを用意すればOKです。mlkitプロジェクトのappディレクトリ内に、google-services.jsonという名前でファイルを作成し、下記内容をペーストして保存して下さい。

{
  "project_info": {
    "project_number": "",
    "firebase_url": "",
    "project_id": "",
    "storage_bucket": ""
  },
  "client": [{
      "client_info": {
        "mobilesdk_app_id": "1:1:android:1",
        "android_client_info": {
          "package_name": "com.google.firebase.samples.apps.mlkit"
        }
      },
      "oauth_client": [],
      "api_key": [{
          "current_key": ""
      }],
      "services": {}
  }],
  "configuration_version": "1"
}

起動!

ではアプリを起動しましょう。PCにスマホを接続し、IDEの上の方にある、緑色の再生ボタンを押して下さい。起動すると、次のような画面が表示されます。

上のLivePreviewActivityが、カメラ映像をリアルタイムで識別するデモです。これを選びます。すると認識画面が表示されます。画面下部の、フォルダのようなアイコンをタップすると、背面カメラか前面カメラ化を切り替えられます。その横の文字列をタップすると、認識モードを切り替えられます。Face Detectionにすると、顔認識が試せます。

うまく動作しています。(写真はフレッシュマンキャンプ2018の記事から)

Google ML Kitは非常に手軽に試せるSDKです。モデルの差し替えや、Googleのクラウドサービスを使うこともできるので、いろいろと遊べそうです。

comments

Parrot Drone SDKの使い方

未来環境ラボの中口です。未来環境ラボには、ホビードローンの一つ、Parrot Mamboが置いてあります(ラボメンバーであればいつでも使えます!)。今回はこのParrot MamboをAndroidからコントロールするためのSDKをビルドする方法を紹介します。使用するPCはMacを想定していますが、Windowsでも同じ様にビルドできるはずです。

Parrot Mambo

いわゆるホビードローンと呼ばれているもので、200g未満の、飛行許可申請のいらないドローンです。申請がいらないと言っても、重要施設の周辺や公園など、飛行が禁止されている場所も多いこと、そもそも軽いので風邪に弱いことから、屋内で飛ばすのが良いです。未来環境ラボにあるのは、Parrot Mambo Missionという、Mamboにキャノン砲やアームが付属したモデルに、さらにFPVのパーツ、前方カメラとスマホ用ゴーグルも加えたものです。

Parrot Drone SDK

このParrot Mamboや、Parrot社が発売している他のドローンを制御するためのSDKやサンプルが、GitHubで公開されています。Android用とiOS用があり、さらにはドローン内部で使用されているソフトウェアも公開されています。今回はAndroid用のサンプルを実際に動作させてみましょう。

Android Studioのインストール

Android用サンプルを利用するには、Android Studioが必要です。ダウンロードしてインストールしておきましょう。

サンプルのClone

Android Studioを起動して、GitHubからソースをcloneしましょう。まず起動画面で、[Check out project from Version Control] → [GitHub] と選びます。

Android Studioで初めてGitHubからクローンする場合、ユーザ設定などが出てくるので、アカウントを持っている人は入力します。その後リポジトリのURLなどを聞かれます。

リポジトリのURLとして,

  • https://github.com/Parrot-Developers/Samples

を入力して、[Clone]をクリックします。

もう一度チェックアウトするかを聞かれるので[Yes]を選びます。

次にプロジェクトを作成するかインポートするかを聞かれるので、[Create project from existing sources]を選びます。この後プロジェクト名などを聞かれますが、[Next]を選び続けます。4〜5回[Next]を選ぶとIDEが表示されます。

サンプルのビルドと実行

この画面になったら、一旦ターミナルを開き、次のコマンドを入力します。

cd ~/AndroidStudioProjects/Samples/Android/SDKSample/buildWithPrecompiledSDK/
ANDROID_HOME=/Applications/android-sdk/ ./gradlew

これでSDKのビルドが行われます。環境変数ANDROID_HOMEには、Android SDKの位置を指定します。/Applications/android-sdk以外の場所にインストールしている場合は、適切に値を変更して下さい。また、既にANDROID_HOMEが設定されている場合は、./gradlewだけでもOKです。

しばらくすると、ビルドが完了します。

次にAndroid Studioに戻り、メニューから[File]→[Open]とクリックし、SamplesのAndroid/SDKSample/buildWithPrecompiledSDK/settings.gradleを選択し、[Open]をクリックします。

新たにウィンドウを開くかを聞いてくるので、[This Window]を選びましょう。その後IDEが再度表示されます。

この状態で、次の手順でサンプルを実行できます。

  1. スマホをMacに接続する。
  2. FPVカメラを接続したMamboの電源を入れる。
  3. スマホでWiFi設定を開き、Mambo_XXXXXX(Xは数字)に接続する。
  4. Android Studioの実行ボタン(緑の再生ボタン)をクリック。

以上の手順でサンプルアプリが起動し、うまくいけば次のような画面が表示されます。

上記の”Mambo_・・・”と表示されているところをクリックすると、次のような画面が表示されます。

公式のアプリよりはだいぶ見た目が簡素ですが、ソースコード付きなので、自由に改変できます。一通りの操作もできるので、頑張れば自動操縦できるかも?興味を持ったKCG生、KCGI生は、是非ラボに遊びに来て下さい。

 

comments