Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ML Kit: Machine Learning para desenvolvedores mobile

Jeziel Lago
December 05, 2018

ML Kit: Machine Learning para desenvolvedores mobile

Introdução do ML Kit e os primeiros passos de sua utilização no Android.

Jeziel Lago

December 05, 2018
Tweet

More Decks by Jeziel Lago

Other Decks in Technology

Transcript

  1. • Desenvolvedor Android • Nanodegree Computer Vision Expert (Udacity) •

    Cursando mestrado em Computação Aplicada ◦ Classificação de imagens histopatológicas com Deep Learning • Graduado em Sistemas de Informação Jeziel Lago 2 @jeziellago jeziellago jeziellago
  2. Roteiro 1. O que é Machine Learning? 2. Machine Learning

    no Android 3. ML Kit 4. Exemplos práticos 3
  3. O que é Machine Learning? Funções matemáticas construídas a partir

    de dados Funções são chamadas de modelos Modelos realizam predições Modelo Saída “gato” Entrada 7
  4. 8

  5. 12

  6. “O ML Kit é um SDK para dispositivos móveis que

    leva a experiência em machine learning do Google para aplicativos Android e iOS em um pacote poderoso e fácil de usar” 14
  7. 1. SDK de machine learning para Android e iOS 2.

    Base APIs e suporte a modelos customizados 3. APIs de inferência de IA no device e Google Cloud 4. Disponível no Firebase 16
  8. 17

  9. Base APIs: APIs simples para resolver casos de uso práticos!

    Rotular imagens Identificação de pontos de referências populares Reconhecimento e extração de texto (OCR) Leitura de código de barras Detecção facial Resposta inteligente (EM BREVE) 18
  10. Rotular imagens Identificar objetos, lugares, atividades, produtos e mais! Description:

    Stadium Confidence: 0.9205354 Description: Sports Confidence: 0.7531109 Description: Event Confidence: 0.66905296 Description: Soccer Confidence: 0.56384534 19
  11. Reconhecimento e extração de texto (OCR) Text: DR. SEWARD'S DIARY

    361 Professor. He had evidently expected some such call, for I found him dressed in his room. His door was ajar, so that he could hear the opening of the door of our room. He came at once; as he passed into the room, he asked Mina if the others might come, too. "No," she said quite simply, "it will not be necessary. You can tell them just as well. I must go with you on your journey." Dr. Van Helsing was as startled as I was. After a mo- ment's pause he asked: "But why?" ... 22
  12. Leitura de código de barras Corners: (49,125), (172,125), (172,160), (49,160)

    Raw value: 2404105001722 Corners: (87,87) (612,87) (612,612) (87,612) Raw value: WIFI:S:SB1Guest;P:12345;T:WEP;; 23
  13. Suporte a modelos customizados Simplificando o uso de modelos de

    ML customizados! 1. Download do modelo dinamicamente 2. Teste A/B com o Firebase via Remote Config 3. [Em breve] Conversão e compressão de modelos 25
  14. ML Kit no Android Por onde começar? 1. Adicionar o

    Firebase ao seu projeto 2. Adicionar dependências no build.gradle* 3. Adicionar dependências no AndroidManifest.xml 28 *As dependências serão adicionadas no build.gradle conforme o tipo de funcionalidade do ML Kit que você deseja utilizar.
  15. ML Kit no Android Detecção Facial em cinco passos! 29

    https://github.com/jeziellago/mlkit-face-detection
  16. ML Kit no Android Detecção Facial - passo 1 30

    app/build.gradle dependencies { .... implementation 'com.google.firebase:firebase-ml-vision:18.0.1' implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2' }
  17. ML Kit no Android Detecção Facial - passo 2 31

    AndroidManifest.xml <meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES" android:value="face" />
  18. ML Kit no Android Detecção Facial - passo 3 32

    // configurações para retornar os contornos faciais val detectorOptions = FirebaseVisionFaceDetectorOptions.Builder() .setPerformanceMode(ACCURATE_MODE) .setLandmarkMode(NO_LANDMARKS) .setClassificationMode(NO_CLASSIFICATIONS) .setContourMode(ALL_CONTOURS) .setMinFaceSize(MIN_FACE_SIZE) .build()
  19. ML Kit no Android Detecção Facial - passo 4 33

    // crie uma instância do detector detector = FirebaseVision.getInstance() .getVisionFaceDetector(detectorOptions) // crie uma vision image a partir de sua imagem em bitmap fbVisionImage = FirebaseVisionImage.fromBitmap(imageBitmap)
  20. ML Kit no Android Detecção Facial - passo 5 34

    // chame o detector passando a vision image detector.detectInImage(fbVisionImage) .addOnSuccessListener { // use ‘getContour’ para pegar os pontos dos // contornos } .addOnFailureListener { // algum erro ocorreu }
  21. ML Kit no Android Usando um modelo customizado 1. Criar

    um modelo com seus dados* 2. Converter o modelo para .tflite 3. Fazer upload do modelo no Firebase 4. Fazer inferência do modelo no app 37 Modelo (.tflite) “supla”: 0.90158 “ana maria”: 0.09841 *A construção de um modelo customizado exige conhecimento mais profundo em machine learning.