Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Machine Learning em Apps Android com ML Kit

188 views

Published on

Palestra apresentada durante a trilha de Android no TDC SP 2018.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Machine Learning em Apps Android com ML Kit

  1. 1. Felipe Pedroso TDC São Paulo / 2018 Machine Learning em Apps Android com
  2. 2. Felipe Pedroso Android Developer @ Movile felipeapedrosofelipepedroso felipeapedroso
  3. 3. Qual o valor que Machine Learning pode adicionar em apps móveis?
  4. 4. Customizar a experiência Entender e automatizar hábitos Prover Acessibilidade “Efeito WOW” Etc, etc, etc...
  5. 5. Quais são os desafios para o desenvolvedor de apps?
  6. 6. Criar/Treinar modelos Otimização para dispositivos móveis Integração com o app Modelo local ou remoto
  7. 7. ML Kit: Machine Learning SDK for mobile developers (Google I/O '18)
  8. 8. Machine Learning para todos!
  9. 9. Suporte para Android e iOS Fonte das imagens: WikiMedia Commons
  10. 10. Duas modalidades de funcionamento Dispositivo (“offline”) Nuvem
  11. 11. Funcionalidades Dispositivo Nuvem Reconhecimento de Texto ✔ ✔ Detecção de Faces ✔ Leitura de código de barras ✔ Rotular imagens ✔ ✔ Reconhecimento de pontos de referência / pontos turísticos ✔
  12. 12. Mas e se meu caso de uso for diferente ou eu já possuo um modelo treinado?
  13. 13. Modelos customizados! ● Hospedagem de modelos Tensorflow Lite ● Fluxo de inferência utilizando o SDK ● Mecanismo de “fallback” ● Atualizações automáticas
  14. 14. Mas como eu faço para usar no Android?
  15. 15. Configurar Firebase no projeto do app Getting Started with Firebase on Android - Firecasts
  16. 16. Adicionar dependências no build.gradle (app) implementation ('com.google.firebase:firebase-core:16.0.1'){ exclude group: 'com.android.support' } implementation('com.google.firebase:firebase-ml-vision:16.0.0') { exclude group: 'com.android.support' } implementation ('com.google.firebase:firebase-ml-vision-image-label-model:15.0.0') { exclude group: 'com.android.support' }
  17. 17. Configurar modelos no manifest <application ...> ... <meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES" android:value="label,face,text" /> ... </application>
  18. 18. Criar um FirebaseVisionImage val bitmap = ... // Obter imagem de arquivo, câmera, url, etc val firebaseVisionImage = FirebaseVisionImage.fromBitmap(bitmap)
  19. 19. Obter o FirebaseVisionLabelDetector val options = FirebaseVisionLabelDetectorOptions.Builder() .setConfidenceThreshold(0.8f) .build() val firebaseVision = FirebaseVision.getInstance() val detector = firebaseVision.getVisionLabelDetector(options)
  20. 20. Obter o FirebaseVisionLabelDetector detector.detectInImage(firebaseVisionImage) .addOnSuccessListener { val firebaseVisionLabels = it for (firebaseVisionLabel in firebaseVisionLabels) { // Usar as informações label, entityId e confidence } } .addOnFailureListener { val error = it // Tratar o erro adequadamente }
  21. 21. App de exemplo: github.com/felipepedroso/MLKitSample
  22. 22. Mas já dá usar em produção?
  23. 23. Conclusões ● O MLKit facilita o processo de desenvolvimento ● Setup e utilização são simples ● Novos casos de uso através de modelos customizados ● Funciona bem, mas ainda está em beta
  24. 24. Muito Obrigado! felipeapedrosofelipepedroso felipeapedroso
  25. 25. Referências https://firebase.google.com/docs/ml-kit/ https://github.com/firebase/quickstart-android/tree/master/mlkit https://medium.com/google-developer-experts/exploring-firebase-mlkit-on- android-introducing-mlkit-part-one-98fcfedbeee0

×