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

ML Kit for Firebaseさわってみた!

moonlight-aska
May 20, 2018
29

ML Kit for Firebaseさわってみた!

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

moonlight-aska

May 20, 2018
Tweet

Transcript

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

    ・ユーザ適応(レコメンド, etc) なども・・・ 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook 鶴田 彰 Twitter @moonlight_aska Blog:みらいテックラボ http://mirai-tec.hatenablog.com Wiki : Androidプログラマへの道 ~Moonlight 明日香~ http://seesaawiki.jp/w/moonlight_aska/
  2. ML Kitって何? Feature On-device Cloud テキスト認識 〇 〇 顔検出 〇

    バーコードスキャン 〇 画像のラベル付け 〇 〇 ランドマーク認識 〇
  3. Vision -顔検出- 特徴:  顔の特徴(目, 耳, 頬, 鼻, 口の座 標)を取得

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

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

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

    • 10,000以上のラベル • ナレッジグラフのエンティティ IDサポート Vision –画像のラベル付け-
  7. 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でビルド一発!
  8. 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’
  9. 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);
  10. 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 // … });