Mercari x Merpay Tech Talk for Android Engineers - connpass : https://mercari.connpass.com/event/107293/ Firebase Summit 2018 in Prague / Czech Report and introduce MLKit
3FQPSUPG'JSFCBTF4VNNJUJO1SBHVF$[FDI!NPDIJDP.FSDBSJY.FSQBZ5FDI5BMLGPS"OESPJE&OHJOFFST
View Slide
"CPVUNFNPDIJDP!@NPDIJDPO@.FSDBSJ+11SPEVDU"OESPJE&OHJOFFS"OESPJE+BWB,PUMJO5FDICPPTUFS䪮遭剅Ⱙ
厤傈厤䨽'JSFCBTF莆֮
厤傈厤䨽'JSFCBTF莆֮㱾ז✮䠬׃ַ׃זְז٥٥٥⼱ⴓְֻ٥٥٥
穗箮
8IBUJT'JSFCBTF4VNNJUIUUQTSFCBTFHPPHMFDPNTVNNJU
'JSFCBTF'BNJMZTFSWJDFT
'JSFCBTF4VNNJU
"TL'JSFCBTF)BDL'JSFCBTF
"QQ4IJQ4FMF1PSUSBJU4UBUJPO
8IBUˏTOFXJO'JSFCBTF˖ ($1*OUFHSBUJPOT˖ .BDIJOF-FBSOJOH˖ 0QFO4PVSDF
8IBUˏTOFXJO'JSFCBTF˖ ($1*OUFHSBUJPOT"OBMZUJDTך($1פך鸬䵿˖ .BDIJOF-FBSOJOH˖ 0QFO4PVSDF
8IBUˏTOFXJO'JSFCBTF˖ ($1*OUFHSBUJPOT"OBMZUJDTך($1פך鸬䵿˖ .BDIJOF-FBSOJOH.-,JUך刿倜ծ1SFEJDUJPO٥"#5FTUJOH٥3FNPUF$POHזוך"*ⵃ欽׃堣腉ך䭁䓸˖ 0QFO4PVSDF
8IBUˏTOFXJO'JSFCBTF˖ ($1*OUFHSBUJPOT"OBMZUJDTך($1פך鸬䵿˖ .BDIJOF-FBSOJOH.-,JUך刿倜ծ1SFEJDUJPO٥"#5FTUJOH٥3FNPUF$POHזוך"*ⵃ欽׃堣腉ך䭁䓸˖ 0QFO4PVSDF'JSFCBTF4%,ךؔ٦فٝا٦أ⻉
鑫׃ֻכ⹛歗٥ـؚٗדw IUUQTpSFCBTFHPPHMFCMPHDPNXIBUTOFXBUpSFCBTFTVNNJUIUNMw IUUQTEFWFMPQFSTKQHPPHMFCMPHDPNXIBUTOFXBUpSFCBTFTVNNJUIUNM
.-,JUVQEBUF
'JSFCBTF.-,JU˖ 3FDPHOJ[FUFYU˖ %FUFDUGBDFT˖ 4DBOCBSDPEFT˖ -BCFM*NBHFT˖ 3FDPHOJ[FMBOENBSLT˖ $VTUPNNPEFMT
3FDPHOJ[FUFYU
4DBOCBSDPEFT
-BCFM*NBHFT
3FDPHOJ[FMBOENBSLT˖ זַ׳ה䩛⯋דֲתֲֻ׀ַזְ˖ 㢳ⴓ$MPVE"1*ך鏣㹀דזַىأג
%FUFDUGBDFT'BDFDPOUPVSEFUFDUJPO̒/FX
$VTUPNNPEFMT
-FBSO'JSFCBTF.-,JUOFXGFBUVSFIUUQTDPEFMBCTEFWFMPQFSTHPPHMFDPNDPEFMBCTNMLJUBOESPJE
EFQFOEFODJFTdependencies {implementation 'com.google.firebase:firebase-ml-vision:18.0.1'implementation 'com.google.firebase:firebase-ml-vision-image-label-model:17.0.2'implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'implementation 'com.google.firebase:firebase-ml-model-interpreter:16.2.3'}apply plugin: 'com.google.gms.google-services'
6QEBUFCJMMJOHQMBOT
5FYU3FDPHOJUJPO1SPDFTTPSclass TextRecognitionProcessor : VisionProcessorBase() {private val detector: FirebaseVisionTextRecognizer =FirebaseVision.getInstance().onDeviceTextRecognizeroverride fun detectInImage(image: FirebaseVisionImage): Task {return detector.processImage(image)}override fun onSuccess(originalCameraImage: Bitmap,results: FirebaseVisionText,frameMetadata: FrameMetadata,graphicOverlay: GraphicOverlay)}
TFU5FYU3FDPHOJUJPO1SPDFTTPSimport com.google.firebase.samples.apps.mlkit.common.CameraSourceprivate var cameraSource: CameraSource? = nullcameraSource.setMachineLearningFrameProcessor(TextRecognitionProcessor())
%FNP
&OKPZ'JSFCBTF˖ 'JSFCBTFח莆ְָ➂כמⰕ䒭⹛歗ה#MPHגי˖ .-,JU嚂׃ְךדׁגגי˖ 'JSFCBTF$POTPMFד铬ꆃفٓٝחׅך⹃孡ְ
MJOLT˖ 'JSFCBTFIUUQTSFCBTFHPPHMFDPN˖ 'JSFCBTF:PV5VCFIUUQTXXXZPVUVCFDPNVTFS'JSFCBTF˖ (PPHMF%FWFMPQFST+BQBO'JSFCBTF4VNNJUד涪邌ׁ倜堣腉IUUQTEFWFMPQFSTKQHPPHMFCMPHDPNXIBUTOFXBUSFCBTFTVNNJUIUNM˖ 5IF'JSFCBTF#MPH8IBUˏTOFXBU'JSFCBTF4VNNJUIUUQTSFCBTFHPPHMFCMPHDPNXIBUTOFXBUSFCBTFTVNNJUIUNM˖ 'JSFCBTF4VNNJUח⸇׃גֹת׃'JSFCBTF4VNNJU.FSDBSJ&OHJOFFSJOH#MPHIUUQTUFDINFSDBSJDPNFOUSZ˖ 'JSFTUPSFXJUI4FDVSJUZ'JSFCBTF4VNNJU3FQPSU%BZ4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNLXBOLPSFTUPSFXJUITFDVSJUZSFCBTFTVNNJUSFQPSUEBZ˖ 'JSFCBTF4VNNJU㜠デ⠓4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNBNBHFFLSFCBTFTVNNJUCBPHBPIVJ˖ 1SPQBHBUF3FNPUF$POHVQEBUFTJOSFBMUJNF4QFBLFS%FDLIUUQTTQFBLFSEFDLDPNE@EBUFQSPQBHBUFSFNPUFDPOHVQEBUFTJOSFBMUJNF˖ '+6(5XJUUFS嗚稊IUUQTUXJUUFSDPNTFBSDI R'+6(
&OKPZ'JSFCBTF