Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Mobile Vision
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
funnelbit
August 31, 2016
Technology
500
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Mobile Vision
funnelbit
August 31, 2016
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.5k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
310
BottomBarAndSnackBar
funnelbit
0
550
Dagger2 Optional bindings
funnelbit
0
620
WearableRecyclerView
funnelbit
1
860
QucikSettingsTileAPI
funnelbit
0
390
AwarenessAPI
funnelbit
0
170
Asynchronous Injection
funnelbit
1
290
Other Decks in Technology
See All in Technology
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
870
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
230
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
520
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
1
310
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
0
250
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
0
100
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
300
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
390
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
150
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
740
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
How to make the Groovebox
asonas
2
2.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
The SEO Collaboration Effect
kristinabergwall1
1
590
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Claude Code のすすめ
schroneko
67
230k
The agentic SEO stack - context over prompts
schlessera
0
970
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Practical Orchestrator
shlominoach
192
12k
Transcript
.PCJMF7JTJPO
ࣗݾհ ଜྋ גࣜձࣾͯͳ )BUFOBGVOOFMCJU 5XJUUFS!FYQFSPQFSP
.PCJMF7JTJPO ࣸਅ͔ΒԿ͔Λநग़͢Δ
.PCJMF7JTJPO w (PPHMF1MBZ4FSWJDFT w pSTUSFMFBTF w (PPHMF1MBZ4FSWJDFT w BEEFE5FYU"1* ɾ
ɾ ɾ
'SBNF
'SBNF w 'SBNF.FUBEBUBͱඥ͍ͨը૾σʔλ Frame frame = new Frame.Builder().setBitmap(bitmap).build();
%FUFDUPS5
%FUFDUPS5 w #BSDPEF%FUFDUPS w 'BDF%FUFDUPS w 5FYU3FDPHOJ[FS w .VMUJ%FUFDUPS
%FUFDUPS5 Frame frame = new Frame.Builder().setBitmap(bitmap).build(); FaceDetector detector = new
FaceDetector.Builder(context) .setProminentFaceOnly(true) .build(); SparseArray<Face> faces = detector.detect(frame); Face face = faces.valueAt(0);
%FUFDUPS5 'SBNF %FUFDUPS 4QBTF"SSBZ5 JUFN JUFN JUFN
5SBDLFS
5SBDLFS w நग़͞ΕͨJUFNͷঢ়ଶมԽΛΔͨΊͷΫϥε private class FaceTracker extends Tracker<Face> { @Override
public void onNewItem(int faceId, Face item) { // item ͷτϥοΩϯά͕։࢝͞Εͨ } @Override public void onUpdate(FaceDetector.Detections<Face> detectionResults, Face face) { // ͢Ͱʹ։͍࢝ͯ͠Δ item ͕Ξοϓσʔτ͞Εͨ } @Override public void onMissing(FaceDetector.Detections<Face> detectionResults) { // τϥοΩϯάʹࣦഊͨ͠ } @Override public void onDone() { // ͢ͰʹτϥοΩϯά͍ͯͨ͠ item ͕ແ͘ͳΓɺτϥοΩϯά͕ऴྃͨ͠ } }
.VMUJ1SPDFTTPS
.VMUJ1SPDFTTPS w ෳͷݕग़ΛϋϯυϦϯά͠ɺ5SBDLFSʹ௨͢Δ FaceDetector faceDetector = … faceDetector.setProcessor(new MultiProcessor.Builder<>(
new MultiProcessor.Factory<Face>() { @Override public Tracker<Face> create(Face face) { return new FaceTracker(); } } ).build()); cameraSource.build(getApplicationContext(), faceDetector);
.VMUJ1SPDFTTPS 'SBNF .VMUJ1SPDFTTPS 5SBDLFS'BDUPSZ 'SBNF 'SBNF 5SBDLFS 5SBDLFS $BNFSB4PVSDF %FUFDUPS
5SBDLFS 5SBDLFS JUFN JUFN JUFN JUFN
.VMUJ%FUFDUPS
.VMUJ%FUFDUPS w Χϝϥ͔ΒͷೖྗͰಘͨ'SBNFΛ֤%FUFDUPS ʹ͢Δ MultiDetector multiDetector = new MultiDetector.Builder()
.add(faceDetector) .add(barcodeDetector) .build();
.VMUJ%FUFDUPS 'SBNF %FUFDUPS 'SBNF 'SBNF 5SBDLFS 5SBDLFS $BNFSB4PVSDF .VMUJ%FUFDUPS %FUFDUPS
5SBDLFS 5SBDLFS .VMUJ1SPDFTTPS 5SBDLFS'BDUPSZ .VMUJ1SPDFTTPS 5SBDLFS'BDUPSZ JUFN JUFN JUFN JUFN
None
ॴײ w ਫ਼͔ͳΓྑ͍ w ϩʔΧϧͰ݁͢Δͷ݁ߏੌ͍ w ಠࣗॲཧʹͩ͜ΘΒͳ͍ͳΒྑͦ͞͏
ࢀߟ w IUUQTEFWFMPQFSTHPPHMFDPNWJTJPO
͋Γ͕ͱ͏͍͟͝·ͨ͠