Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ML Kit for Firebaseさわってみた!

59613a9ebdbfacb213e86dd470c52025?s=47 moonlight-aska
May 20, 2018
22

ML Kit for Firebaseさわってみた!

2018年5月20日開催の「TensorFlow研究会 #18」の LT資料です.

59613a9ebdbfacb213e86dd470c52025?s=128

moonlight-aska

May 20, 2018
Tweet

Transcript

  1. ML Kit for Firebase さわってみた! 2018/5/20 Moonlight 明日香 TensorFlow 研究会#18

    LT
  2. 自己紹介 Moonlight 明日香 鶴田 彰 外資系メーカー勤務 昔は, ・パターン認識(音声, 文字, etc)

    ・ユーザ適応(レコメンド, etc) なども・・・ 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook 鶴田 彰 Twitter @moonlight_aska Blog:みらいテックラボ http://mirai-tec.hatenablog.com Wiki : Androidプログラマへの道 ~Moonlight 明日香~ http://seesaawiki.jp/w/moonlight_aska/
  3. はじめに  2010年頃からAndroidプログラミングを趣味でやって いて, ここ3年ほどはDeep Learningに興味持っている.  先日のGoogle I/O 2018(5/8~10)でML

    Kitのβ版が 発表されたので, まずは触ってみた.  公式に載っている情報以上のものはない.
  4. ML Kitって何? モバイルアプリに機械学習を 組み込むためのSDK ML Kit TensorFlow Lite Android iOS

  5. ML Kitって何? Feature On-device Cloud テキスト認識 〇 〇 顔検出 〇

    バーコードスキャン 〇 画像のラベル付け 〇 〇 ランドマーク認識 〇
  6. ML Kitの特徴  AndroidやiOS向けのアプリで簡単に強力な機械学習機 能を利用できる.  On-deviceとCloud-basedのAPIが用意されており, On-deviceの機能を利用する場合は, ネットワーク接続な しに無償で利用できる.

     独自のTensorFlow Liteモデルを利用でき, Firebaseを 使ってアプリにデプロイできる. など・・・
  7. Vision -顔検出- 特徴:  顔の特徴(目, 耳, 頬, 鼻, 口の座 標)を取得

     顔の表示を認識  顔の追跡(動画の場合) [出典:欅坂46公式サイト オフィシャルレポート]
  8. Vision -テキスト認識- 特徴:  On-device • ラテン語ベースの言語 (英, 独, 仏,

    伊など) • カメラ画像/動画のリアルタ イム処理  Cloud-based • ラテン語ベースの言語 + more, 特殊文字 • 高い認識率 • ドキュメントスキャン
  9. 特徴:  大部分の標準フォーマット対応 (Linear format, 2D format)  自動フォーマット検出 

    構造化データの抽出 (URL, 連絡先, カレンダー等)  任意の向きでもスキャン可能 Vision –バーコードスキャン-
  10. 特徴:  On-device • 400以上のラベル • ナレッジグラフのエンティティ IDサポート  Cloud-based

    • 10,000以上のラベル • ナレッジグラフのエンティティ IDサポート Vision –画像のラベル付け-
  11. 特徴:  有名なランドマークの認識  ナレッジグラフのエンティティIDの取得 Vision –ランドマーク認識-

  12. 特徴:  TensorFlow Liteモデルのホスティング  カスタムモデル使ったモバイル上での推論  自動モデルフォールバック (Cloudでホストされているモデルが利用できないときにローカル 保存のモデルを使用)

     自動モデルアップデート (自動的にダウンロードする条件を設定可) カスタムモデル
  13. ML Kitデモのビルド 1. ソースコードの取得 (1)リポジトリをクローンする. $ git clone https://github.com/firebase/quickstart-android.git (2)Android

    Studioでquickstart-android/mlkitをイン ポートする. 2. Firebaseのプロジェクト作成 (1)Firebase Consoleでプロジェクトを作成する. (2)設定ファイルgoogle-services.jsonをDLする. (3)Android Studioのmlkit/appの下に, 配置する. 3. Android Studioでビルド一発!
  14. 1. Firebaseのプロジェクト作成 (1)Firebase Consoleでプロジェクトを作成する. (2)設定ファイルgoogle-services.jsonをDLする. (3)Android Studioのproject/appの下に, 配置する. 2. build.gradleへの追加

    ML Kitの利用宣言を追加する. How to Use ? app/build.gradle dependencies { // Firebase implementation ‘com.google.firebase.firebase-core:15.0.2’ implementation ‘com.google.firebase.firebase-ml-vision:15.0.0’ } apply plugin: ‘com.google.gms.google-services’
  15. 3. meta dataの追加 使用するモデルを設定する. 4. FirebaseVisionFaceDetectorの作成 How to Use ?

    AndroidManifest.xml <meta-data android:name=“com.google.firebase.ml.vision.DEPENDENCIES” android:value=“face” /> <!– To use multiple models: android:value=“face, model2, model3” --> // Face detector生成 FirebaseVisionFaceDitector detector = FirebaseVision.getInstance().getVisionFaceDetector(options);
  16. 5. 顔の検出 画像をdetectorに渡して, 顔の検出を実行. How to Use ? // 画像準備

    FirebaseVisionImage image = FirebaseVisionImage.fromBitmap(bmp); // 検出 Task<List<FireabaseVisionFace> results = detector.detectInImage(image) .addOnSuccessListener( faces -> { // Task completed successfully // … }) .addOnFailureListener( e -> { // Task failed with an exception // … });
  17. 最後に  ML Kitは機械学習に詳しくない人でも, 機械学習を組 み込んだアプリを作成できる仕組みを提供してくれる.  TensorFlow Liteがベースなので, 機械学習に詳しい

    人は、独自、独自学習したモデルを使ったアプリも作成 できる. Let’s try Machine Learning!
  18. ご清聴ありがとうございました!