Notifications

Primeros pasos con Firebase ML Kit para Android  

  RSS

admin
(@admin)
Miembro Admin
Registrado: hace 1 a帽o
Respuestas: 331
05/10/2018 6:00 pm  

Gracias a TensorFlow Mobile y TensorFlow Lite, incrustar y usar modelos profundos dentro de las aplicaciones de Android se ha vuelto muy f谩cil. Sin embargo, dise帽ar y entrenar los modelos a煤n requiere mucha habilidad, tiempo y esfuerzo, por no mencionar el poder de la computaci贸n. Por esta raz贸n, la mayor铆a de los desarrolladores informales no est谩n entusiasmados con la adici贸n de capacidades de aprendizaje autom谩tico a sus aplicaciones. Con el kit Firebase ML, Google espera cambiar eso.

Firebase ML Kit es una biblioteca que le permite sin esfuerzo, y con un c贸digo m铆nimo, usar una variedad de modelos profundos altamente precisos y pre-entrenados en sus aplicaciones de Android. La mayor铆a de los modelos que ofrece est谩n disponibles localmente y en Google Cloud.

Actualmente, los modelos est谩n limitados solo a tareas relacionadas con la visi贸n artificial, como el reconocimiento 贸ptico de caracteres, el escaneo de c贸digos de barras y la detecci贸n de objetos.

En este tutorial, te mostrar茅 c贸mo agregar Firebase ML Kit a un proyecto de Android Studio y usar algunas de sus API b谩sicas.

Prerrequisitos

Antes de continuar, aseg煤rese de tener acceso a lo siguiente:

  • La 煤ltima versi贸n de Android Studio
  • Un dispositivo o emulador que ejecuta la API de Android
  • Una cuenta Firebase
  • Una cuenta de Google Cloud

1. Crea un Proyecto Firebase

Para habilitar los servicios Firebase para su aplicaci贸n, debe crear un proyecto Firebase para ella. As铆 que inicie sesi贸n en la consola Firebase y, en la pantalla de bienvenida, presione el bot贸n Add project.

En el cuadro de di谩logo que aparece, asigne al proyecto un nombre que sea f谩cil de recordar y presione el bot贸n CREATE PROJECT.

Despu茅s de varios segundos, deber铆a ver una notificaci贸n que le indica que el nuevo proyecto est谩 listo. Pulse el bot贸n Continue聽para continuar.

En la siguiente pantalla, vaya a la secci贸n Develop y haga clic en el enlace del Kit ML para ver todos los servicios que ofrece el Kit ML.

En este tutorial, usaremos tres servicios: reconocimiento de texto, detecci贸n de rostros y etiquetado de im谩genes. No tiene que seguir ning煤n paso para habilitarlos expl铆citamente si desea trabajar solo con los modelos locales que vienen con el Kit ML. En este tutorial, sin embargo, usaremos modelos locales y basados en la nube. Entonces haga clic en el enlace de聽Cloud API usage a continuaci贸n.

Ahora ser谩 llevado a la consola de Google Cloud, donde puede simplemente presionar el bot贸n Enable que se muestra en la secci贸n de API de Cloud Vision para activar los modelos basados en la nube. Sin embargo, tenga en cuenta que esto solo funcionar谩 si tiene la facturaci贸n habilitada para su cuenta de Google Cloud.

2. Configure su proyecto de Android Studio

Antes de comenzar a utilizar las API del kit Firebase ML, debe establecer una conexi贸n entre su proyecto de Android Studio y el proyecto de Firebase que cre贸 en el paso anterior. Para hacerlo, abra el panel del Asistente de Firebase yendo a聽Tools > Firebase.

El Asistente de Firebase no tiene soporte para el Kit ML actualmente. Sin embargo, al usarlo para agregar Firebase Analytics, a煤n puede evitar establecer la conexi贸n manualmente. Por lo tanto, expanda la secci贸n Analytics, haga clic en el enlace聽Log an Analytics event y presione el bot贸n Connect to Firebase.

En el cuadro de di谩logo que aparece, aseg煤rate de seleccionar la opci贸n聽Choose an existing Firebase or Google project y elige el proyecto Firebase que creaste:

Presione el bot贸n聽Connect to Firebase a continuaci贸n. En este punto, el Asistente descargar谩 autom谩ticamente un archivo google-services.json, que contiene claves de API e ID de proyectos, y lo agregar谩 al app m贸dulo.

Una vez que la conexi贸n se haya establecido correctamente, aseg煤rese de presionar el bot贸n Add Analytics to your app para agregar varias dependencias b谩sicas de Firebase al archivo build.gradle de su app m贸dulo.

A continuaci贸n, para agregar la biblioteca del kit ML, abra el archivo build.gradle y escriba las siguientes dependencias聽implementation:

implementation 'com.google.firebase:firebase-ml-vision:16.0.0'
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:15.0.0'

Para simplificar el proceso de descarga de im谩genes de Internet y mostrarlas en su aplicaci贸n, le sugiero que tambi茅n agregue una dependencia para la biblioteca de Picasso.

implementation 'com.squareup.picasso:picasso:2.5.2'

Adem谩s, agregue Anko como una dependencia para asegurarse de que su c贸digo Kotlin sea conciso e intuitivo.

implementation 'org.jetbrains.anko:anko-commons:0.10.5'

De forma predeterminada, los modelos locales de Firebase ML Kit se descargan autom谩ticamente en los dispositivos de sus usuarios solo cuando es necesario. Sin embargo, si desea que se descarguen en cuanto se instale la aplicaci贸n, agregue el siguiente c贸digo al archivo AndroidManifest.xml:

<meta-data
android:name="com.google.firebase.ml.vision.DEPENDENCIES"
android:value="text,face,label" />

3. Definir un dise帽o

En este tutorial, crearemos una aplicaci贸n que permita a los usuarios escribir URL de im谩genes y realizar operaciones de reconocimiento de texto, detecci贸n de rostros y etiquetado de im谩genes en ellos. Por lo tanto, el dise帽o de la aplicaci贸n debe tener un EditText widget, donde los usuarios pueden escribir las URL, y tres Button widgets, que les permiten elegir qu茅 operaci贸n desean realizar.

Opcionalmente, puede incluir un ImageView widget para mostrar las im谩genes.

Si coloca todos los widgets anteriores utilizando un RelativeLayout widget, su archivo XML de dise帽o deber铆a tener este aspecto:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Image URL"
android:id="@+id/image_url_field"
android:imeOptions="actionDone"
android:inputType="textUri"/>

<ImageView
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/image_holder"
android:layout_below="@+id/image_url_field"
android:layout_marginTop="10dp"
android:scaleType="centerInside"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33"
android:text="Text"
android:onClick="recognizeText"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33"
android:text="Faces"
android:onClick="detectFaces"/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.33"
android:text="Labels"
android:onClick="generateLabels"/>
</LinearLayout>

</RelativeLayout>

Aqu铆 hay una representaci贸n m谩s visual del dise帽o:

Para continuar viendo el resto de contenido por favor Reg铆strate o Inicia Sesi贸n

This topic was modified hace 1 a帽o 8 times by admin

Citar
Armando
(@armando)
Eminent Member
Registrado: hace 1 a帽o
Respuestas: 25
05/10/2018 6:10 pm  

Buen tutorial...

驴Puedes hacer uno enfocado a tecnolog铆as web?


ResponderCitar
admin
(@admin)
Miembro Admin
Registrado: hace 1 a帽o
Respuestas: 331
06/10/2018 2:41 am  

Hola聽@armando, mas adelante considerare la posibilidad de realizar un tutorial enfocado a tecnolog铆as web.

Gracias por tu comentario.


ResponderCitar
admin
(@admin)
Miembro Admin
Registrado: hace 1 a帽o
Respuestas: 331
13/10/2018 1:20 am  
Respondido por: Armando

Buen tutorial...

驴Puedes hacer uno enfocado a tecnolog铆as web?

En unos d铆as voy a desarrollar un para web.


ResponderCitar
Share: