Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ML Kit for Firebaseさわってみた!
moonlight-aska
May 20, 2018
0
22
ML Kit for Firebaseさわってみた!
2018年5月20日開催の「TensorFlow研究会 #18」の LT資料です.
moonlight-aska
May 20, 2018
Tweet
Share
More Decks by moonlight-aska
See All by moonlight-aska
Kingo AI Navi LINEをもっと使い倒せ!!
aska
0
32
Depth画像で物体検知やってみたー。/ Objects Detection with Depth Images
aska
0
230
Kingyo AI Naviアプリ開発 / Kingyo AI Navi App
aska
0
210
AutoML Vision Edgeで金魚分類モデルを学習してみた / Kingyo Classification Model with AutoML Vision Edge
aska
0
230
AutoML Vision Edge + ML Kit for Firebase ⇒ Kingyo Classification
aska
1
350
Kingyo AI Navi
aska
0
300
ピープルカウンタ、その後。/ People Counter
aska
0
320
物体検出をPythonで動かしてみる! / Try using YOLOv3 in Python
aska
0
600
ML Kitでちょびっと金魚AI / Recognition of goldfish type using ML Kit
aska
0
210
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
The Invisible Customer
myddelton
110
11k
How GitHub (no longer) Works
holman
296
140k
Fireside Chat
paigeccino
11
1.2k
Code Reviewing Like a Champion
maltzj
506
37k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
314
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Six Lessons from altMBA
skipperchong
14
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
3
420
Rails Girls Zürich Keynote
gr2m
86
12k
How to Ace a Technical Interview
jacobian
265
21k
How to name files
jennybc
39
58k
Transcript
ML Kit for Firebase さわってみた! 2018/5/20 Moonlight 明日香 TensorFlow 研究会#18
LT
自己紹介 Moonlight 明日香 鶴田 彰 外資系メーカー勤務 昔は, ・パターン認識(音声, 文字, etc)
・ユーザ適応(レコメンド, etc) なども・・・ 最近は, 週末プログラマとして また機械学習に再チャレンジ中! Facebook 鶴田 彰 Twitter @moonlight_aska Blog:みらいテックラボ http://mirai-tec.hatenablog.com Wiki : Androidプログラマへの道 ~Moonlight 明日香~ http://seesaawiki.jp/w/moonlight_aska/
はじめに 2010年頃からAndroidプログラミングを趣味でやって いて, ここ3年ほどはDeep Learningに興味持っている. 先日のGoogle I/O 2018(5/8~10)でML
Kitのβ版が 発表されたので, まずは触ってみた. 公式に載っている情報以上のものはない.
ML Kitって何? モバイルアプリに機械学習を 組み込むためのSDK ML Kit TensorFlow Lite Android iOS
ML Kitって何? Feature On-device Cloud テキスト認識 〇 〇 顔検出 〇
バーコードスキャン 〇 画像のラベル付け 〇 〇 ランドマーク認識 〇
ML Kitの特徴 AndroidやiOS向けのアプリで簡単に強力な機械学習機 能を利用できる. On-deviceとCloud-basedのAPIが用意されており, On-deviceの機能を利用する場合は, ネットワーク接続な しに無償で利用できる.
独自のTensorFlow Liteモデルを利用でき, Firebaseを 使ってアプリにデプロイできる. など・・・
Vision -顔検出- 特徴: 顔の特徴(目, 耳, 頬, 鼻, 口の座 標)を取得
顔の表示を認識 顔の追跡(動画の場合) [出典:欅坂46公式サイト オフィシャルレポート]
Vision -テキスト認識- 特徴: On-device • ラテン語ベースの言語 (英, 独, 仏,
伊など) • カメラ画像/動画のリアルタ イム処理 Cloud-based • ラテン語ベースの言語 + more, 特殊文字 • 高い認識率 • ドキュメントスキャン
特徴: 大部分の標準フォーマット対応 (Linear format, 2D format) 自動フォーマット検出
構造化データの抽出 (URL, 連絡先, カレンダー等) 任意の向きでもスキャン可能 Vision –バーコードスキャン-
特徴: On-device • 400以上のラベル • ナレッジグラフのエンティティ IDサポート Cloud-based
• 10,000以上のラベル • ナレッジグラフのエンティティ IDサポート Vision –画像のラベル付け-
特徴: 有名なランドマークの認識 ナレッジグラフのエンティティIDの取得 Vision –ランドマーク認識-
特徴: TensorFlow Liteモデルのホスティング カスタムモデル使ったモバイル上での推論 自動モデルフォールバック (Cloudでホストされているモデルが利用できないときにローカル 保存のモデルを使用)
自動モデルアップデート (自動的にダウンロードする条件を設定可) カスタムモデル
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でビルド一発!
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’
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);
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 // … });
最後に ML Kitは機械学習に詳しくない人でも, 機械学習を組 み込んだアプリを作成できる仕組みを提供してくれる. TensorFlow Liteがベースなので, 機械学習に詳しい
人は、独自、独自学習したモデルを使ったアプリも作成 できる. Let’s try Machine Learning!
ご清聴ありがとうございました!