Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
モバイルアプリで機械学習入門/introduction-to-machine-learning...
Search
marchin
December 09, 2021
Programming
560
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モバイルアプリで機械学習入門/introduction-to-machine-learning-in-mobile-app
marchin
December 09, 2021
More Decks by marchin
See All by marchin
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
830
Amazon Athenaで気軽に始める データ分析/athena-data-analytics
marchin1989
0
640
WebAPI開発のためのOpenAPI入門/entry-open-api
marchin1989
1
1.5k
AWS Glueではじめるデータレイク
marchin1989
0
750
やさしく入門するOAuth2.0/easy-entry-oauth
marchin1989
8
2.9k
1時間半で克服するJavaScriptの非同期処理/async_javascript_kokufuku
marchin1989
2
1.6k
自動テストでモックするって、なにそれ?おいしいの?/what_is_mocking
marchin1989
1
1.3k
たぶんもう怖くないGit/maybe-not-afraid-of-git-anymore
marchin1989
2
2.8k
Other Decks in Programming
See All in Programming
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
940
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
280
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
240
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
340
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
210
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.4k
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
190
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
140
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
My Marp Sample
sinoue0108
0
140
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
Featured
See All Featured
Done Done
chrislema
186
16k
Abbi's Birthday
coloredviolet
3
9.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Thoughts on Productivity
jonyablonski
76
5.3k
A designer walks into a library…
pauljervisheath
211
24k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
370
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Bash Introduction
62gerente
615
220k
Prompt Engineering for Job Search
mfonobong
0
430
Making Projects Easy
brettharned
120
6.7k
Transcript
モバイルアプリで機械学習入門 ML Kitを使ったカメラアプリ実装
自己紹介 - 名前: 阿部 - 仕事: 主にAndroidエンジニア - 最近はサーバサイド Kotlinの仕事も始めました
- 趣味 - コーヒー、ビール、アニメ、ゲーム、読書、 etc... - Twitter: @marchin_1989
アジェンダ - on-device machine learning とは - MLKitの紹介 - MLKit
Face Detectionの機能の説明とデモンストレーション
on-device machine learning(on-device ML)とは - サーバ側ではなく、モバイルといったクライアントサイドで機械学習を行うこと
- 要件によるが以下のようなことを検討して決める。 クライアント(on-device)、サーバ、どちらでMLするか クライアント (on-device ML) リアルタイムに処理したい (ネットワーク通信の遅延がない ) データをサーバにあげたくない
ネットワークに繋げられない サーバ マシンパワーが必要 常に最新のモデルを使う必要がある 学習済みモデルを守りたい
on-device MLの例(スマホアプリ) - Google翻訳 - YouTube(AR Beauty Try-On) 出典: ITmedia
NEWS https://www.itmedia.co.jp/news/articles/1906/20/news069.html 出典: Google Play https://play.google.com/store/apps/details?id=com.google.android.apps.translate
on-device MLの機能を実装するためのフレームワーク - モバイル端末上で推論するためのフレー ムワーク。 - tensor flowで作ったモデルをtensor flow liteのモデルに変換できる
- Android, iOS, IoTデバイスで利用可能 - TensorFLow hubに学習済みのモデルが 提供されていたりする - よくある機械学習のユースケースと学習済み モデルをラップして、使いやすくしたもの。 - 機能によってはカスタムの TensorFlow Lite のモデルが使える。 - Android, iOSで利用可能
on-device MLをスクラッチで作成すると... 出典: Google I/O 2021 TensorFlowセッション ML Kit: Turnkey
APIs to use on-device ML in mobile apps | Session https://www.youtube.com/watch?v=CQ8iEqblWtY
ML Kitを使うと... 出典: Google I/O 2021 TensorFlowセッション ML Kit: Turnkey
APIs to use on-device ML in mobile apps | Session https://www.youtube.com/watch?v=CQ8iEqblWtY
ML Kitの機能 出典: Google Developers blog https://developers.googleblog.com/2021/03/ml-kit-is-now-in-ga-introducing-selfie.html
ML Kitの機能 出典: Google Developers blog https://developers.googleblog.com/2021/03/ml-kit-is-now-in-ga-introducing-selfie.html
Face detectionの機能 - 顔認識 - 画像内のどこに顔があるのか認識(複数の顔も可能) - 顔のトラッキング - 一度認識した顔を、流れてくる画像に対してトラッキングしてくれる。
- ランドマーク - 顔の輪郭や、左目、右目、眉毛、口、鼻の位置などが画像内のどこにあるか - 分類 - 目が開いているのか、閉じているのか - 笑っているのか 出典: ML Kit Guides https://developers.google.com/ml-kit/vision/face-detection/face-detection-concepts
Face detectionの実装 - 依存モジュールを組み込む - 推論対象のイメージを渡す - 推論結果を処理する
Face detectionの実装
作ってみた(デモ) - 笑顔を認識して、自動で写真を撮ってくれるカメラアプリ(Android) - セルフィーでボタンが押しづらい - 全員笑ってる写真を撮りたい etc - Face
detectionを使う - https://developers.google.com/ml-kit/vision/face-detection
サンプルアプリの実装の概略 - CameraXを利用 - FaceDetectorがMLKitのクラス
TensorFlow Lite or MLKit? - まずはMLKitがおすすめ - 認識精度、パフォーマンスが悪いなど要件が合わなければ TensorFlow Liteを検討
- 自前でモデルを作ったとしても、推論結果をアプリで使いやすいように実装する必要がある - MLKitが認識できない例 - どの国の国旗か - どの会社のロゴか - その人が誰なのか - どのブランドの製品なのか - どの昆虫の種類なのか
on-device ML向けのモデルを作るには? - TensorFlowでモデルを作り、TensorFlow Liteに変換 - AutoML - TensorFlow Lite
Model Maker - 転移学習を用いて、 on-device向けにモデルを作成できるライブラリ。
on-device MLを組み込むときに迷ったら - On-Device Machine Learning - https://developers.google.com/learn/topics/on-device-ml - プラットフォームやユースケースを選ぶと、適切な方法を提示してくれる。
まとめ - まずはMLKitがおすすめ - やりたいことに応じて、自分でモデルを作るか検討しましょう