Video Summary and Transcription
Esta charla discute el aprendizaje automático en el edge y sus beneficios para aplicaciones móviles. ML en el edge utiliza la potencia de cálculo de los dispositivos móviles para el procesamiento seguro y en tiempo real, así como para capacidades sin conexión. ML Kit, el SDK de Google, proporciona una integración sencilla de soluciones de ML en aplicaciones móviles sin necesidad de tener amplios conocimientos de ML. La charla cubre la configuración de Firebase y la integración de ML Kit en proyectos de React Native, mostrando las posibilidades de aplicar filtros y generar avatares con ML en el edge.
1. Introducción a ML en el Edge
Me complace hablar sobre el aprendizaje automático en el edge y cómo puede mejorar las aplicaciones móviles. ML en el edge aprovecha la capacidad de cómputo de los dispositivos móviles, lo que hace que el procesamiento sea más seguro, en tiempo real y brinde una mejor experiencia sin conexión. ML Kit, el SDK de Google, ofrece API base y personalizadas para tareas de visión y lenguaje, lo que facilita a los desarrolladores móviles integrar soluciones de ML sin una amplia experiencia en ML. La integración de ML Kit en un proyecto de React Native implica configurar el proyecto como uno de Firebase y actualizar el archivo de compilación o gradle.
Entonces, empecemos. Me complace hablarles a todos sobre el tema, el aprendizaje automático en el edge. Soy Sangeeta y trabajo como desarrollador en Amazon. Durante los últimos cuatro años, he estado construyendo aplicaciones móviles profesionalmente y como proyectos secundarios. Naturalmente, siempre estoy buscando formas de hacer que las aplicaciones sean más rápidas, más inteligentes, más seguras y poder brindar mejores experiencias al cliente.
Como tal, cuando Google lanzó ML Kit como parte de su ION, que prometía aprendizaje automático en el edge, tuve que probarlo. Ahora, ¿qué es el ML en el edge y por qué debería importarnos? Tradicionalmente, construir soluciones de ML requería que los desarrolladores recopilaran datos, construyeran modelos, los entrenaran, los ajustaran, los implementaran en algún servidor remoto en la nube y los sirvieran en dispositivos móviles en los llamados bordes de Internet.
Ahora, como todos sabemos, con el paso del tiempo, los dispositivos móviles se han vuelto mucho más eficientes en sus capacidades de cómputo. ¿Por qué no aprovechar la capacidad de cómputo de los dispositivos localmente, en lugar de hacer el procesamiento en algún lugar remoto en la nube? Eso es el ML en el edge. Ahora, ¿cuáles son los beneficios de hacerlo? No tener que transferir datos de un lado a otro del mundo significa una latencia y un ancho de banda más fáciles. Localizar todo el procesamiento que ocurre en el dispositivo significa que los datos son más seguros, los resultados son más en tiempo real y puedes brindar una mejor experiencia sin conexión a tus clientes. Y finalmente, esto reduce en gran medida la barrera para que cualquier desarrollador móvil con poca o ninguna experiencia en ML integre soluciones de ML en sus aplicaciones.
Espero que ahora estén convencidos de que el ML en el edge es interesante y tengan curiosidad por saber más al respecto. Ahora, intentemos entender cómo lograr esto. ML Kit es el SDK de Google, que engloba toda su experiencia en aprendizaje automático en un SDK simple pero poderoso. Esto se basa en TensorFlow Lite, que es una versión optimizada para dispositivos móviles de TensorFlow y se puede utilizar tanto para el desarrollo de Android como de iOS. Las API que ofrece ML Kit se pueden clasificar en dos tipos, base y personalizadas. La idea es que si una de tus necesidades no se satisface con las API base disponibles, puedes construir tus propios modelos de TensorFlow Lite personalizados y hacer que se rendericen en dispositivos móviles. Las API base disponibles se pueden clasificar aún más según su uso en visión y lenguaje. Por ejemplo, respuestas inteligentes, escaneo de códigos de barras, detección de rostros, detección e identificación de imágenes, y más. Nuevamente, los desarrolladores móviles no necesariamente necesitan entender la magia del aprendizaje automático que ocurre bajo el capó. Todo eso se abstrae de manera limpia y está disponible como API listas para usar, que se pueden aprovechar con solo unas pocas líneas de código.
Hablando de código, a continuación, entendamos qué se necesita para integrar ML Kit en un proyecto de React Native. Debemos saber que ML Kit se puede utilizar tanto para desarrollo nativo como para desarrollo de React Native, pero para este taller, me centraré en el flujo de trabajo de React Native para Android, aunque el proceso debería ser bastante similar para iOS también. El primer paso para integrar ML Kit es configurar tu proyecto como uno de Firebase. Firebase proporciona un conjunto de herramientas que facilitan mucho el desarrollo de aplicaciones. Herramientas como registro, autenticación, todo este proceso pesado está disponible como parte de Firebase. Entonces, los desarrolladores de Google pensaron, ¿por qué el aprendizaje automático debería ser diferente? Y es por eso que ML Kit también está disponible como parte de Firebase. Para comenzar con Firebase, ingresas a la consola de Firebase e ingresas el nombre de tu paquete. Esto genera un archivo de configuración de Firebase que se coloca en la raíz de la carpeta de tu proyecto. Luego, actualizamos el archivo de compilación o gradle para declarar los servicios de Google como una de nuestras dependencias y ejecutamos el complemento.
2. Configuración de Firebase e Integración de ML Kit
Esta sección cubre la configuración de Firebase y React Native Firebase, la instalación del modelo de visión de ML y el uso de las API de ML Kit para el reconocimiento de texto y la detección de rostros. Las posibilidades de ML en el edge son infinitas, incluyendo la aplicación de filtros y la generación de avatares. En general, aprendimos sobre los beneficios del aprendizaje automático en el edge e integrando ML Kit en proyectos de React Native.
Esto nos permite utilizar los productos de Firebase en nuestro proyecto. Con la configuración de Firebase, pasemos a la sección de código base de React Native. Firebase para React Native es la biblioteca oficialmente recomendada para el desarrollo de Firebase en React Native. Para usar esto, primero instalamos el módulo de la aplicación Firebase de React Native utilizando npm o Yarn. Después de esto, según nuestro caso de uso, instalamos el modelo requerido. En este caso, estoy instalando el modelo de visión de ML y actualizando mi archivo firebase.json para habilitar true.
Ahora viene la parte divertida, con Firebase conectado y los modelos de ML requeridos instalados, utilizamos las API para procesar nuestra entrada. En este caso, estoy esperando la descarga del modelo de visión y luego proporciono la ruta de mi imagen local a la API de procesamiento de reconocimiento de texto de la imagen. Lo que esto hace es procesar la imagen y devolver una matriz de bloques de texto para cada texto en la imagen. Cada uno de estos bloques de texto contiene información como ¿cuál es el texto real dentro de él? ¿Cuáles son los límites? ¿Cuáles son las coordenadas? ¿Y cuál es el idioma del texto? Esto es una acción. Vemos que se ha determinado con precisión caminar sobre el césped y diferentes bloques de texto en la salida se han utilizado para superponer en la imagen. Este es otro ejemplo de la API de detección de rostros de ML Kit. Aquí he dado la imagen y ha sido capaz de determinar con precisión los contornos del rostro y darnos coordenadas. Considera esto como un punto de partida para aplicar filtros a esto o generar avatares para esta imagen y así sucesivamente. Las posibilidades son simplemente infinitas.
Eso es prácticamente lo que quería cubrir como parte de esta charla. Hoy aprendimos, ¿qué es el aprendizaje automático en el edge? ¿Cuáles son sus beneficios? ¿Qué es ML Kit y qué se necesita para integrar ML Kit como parte de tu proyecto de React Native? Espero haberte inspirado con la idea de usar ML en el edge en tu próxima aplicación móvil. Si tienes alguna pregunta, no dudes en enviarme un mensaje directo en mi Twitter o enviarme un correo. Muchas gracias por ver. Adiós.
Comments