Primeros pasos con Firebase ML Kit para Android  

  RSS
admin
(@admin)
Miembro Admin

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 12 meses 7 times by admin
This topic was modified hace 9 meses by admin
Citar
Respondido : 05/10/2018 6:00 pm
Armando
(@armando)
Active Member

Buen tutorial...

¬ŅPuedes hacer uno enfocado a tecnolog√≠as web?

ResponderCitar
Respondido : 05/10/2018 6:10 pm
admin
(@admin)
Miembro Admin

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

Gracias por tu comentario.

ResponderCitar
Respondido : 06/10/2018 2:41 am
admin
(@admin)
Miembro Admin
Respondido por: Armando

Buen tutorial...

¬ŅPuedes hacer uno enfocado a tecnolog√≠as web?

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

ResponderCitar
Respondido : 13/10/2018 1:20 am
Share:

Por favor Iniciar Sesión o Registro