Entonces básicamente podrás, ya sabes, reducir el fotograma, básicamente estarás obteniendo los fotogramas de tu video y estarás descomponiendo ese fotograma completo en un tamaño que es utilizable por los tensores. porque internamente MediaPipe usa TF light que es TensorFlow light. Así que estás trabajando con tensores. Estos son retículas numéricas de alta dimensión que básicamente contienen toda tu información sobre eso, ya sabes, ese machine learning. Así que básicamente estarás haciendo una transformación geométrica de tu fotograma en un tamaño que ha sido usado por los tensores. Así que estas imágenes entrarán, se transformarán en el formato matemático de los tensores y luego ejecutarás la inferencia de machine learning en ellos. Básicamente estarás haciendo una decodificación de alto nivel de los tensores y básicamente eso resultará en la creación de los puntos de referencia y luego estarás renderizando ese punto de referencia encima de la imagen y obtendrás esa salida. Así que esencialmente lo que sucederá es que si tienes tu mano e importas esos puntos de referencia encima de ella, finalmente obtendrás este resultado que ves es básicamente la escritura a mano. De esta manera podemos construir este tipo de tuberías y básicamente lo que está sucediendo detrás de las escenas o bajo el capó es que tenemos el concepto de gráficos y calculadoras, así que si estás al tanto de la estructura de data del gráfico de cómo el gráfico tiene bordes y vértices, de manera similar, un gráfico de MediaPipe también funciona de manera similar a que cuando estás creando cualquier tipo de tubería de percepción o una tubería de MediaPipe, ¿verdad?, básicamente está compuesta por, podrías decir, el gráfico como en los nodos y los bordes y donde el nodo específicamente denota el calculador. Ahora esencialmente los calculadores son los archivos de configuración de C++ que esencialmente almacenan qué exactamente o qué tipo exacto de transformación o cuál es el cerebro principal, podrías pensar en el calculador como el cerebro principal detrás de esa solución que estás implementando y luego esencialmente estos son los nodos y la data que realmente entra en el nodo y se procesa y sale del nodo, todas esas conexiones a través de los bordes son, ya sabes, algo así como lo que representa todo el gráfico de MediaPipe. Así que incluyendo los bordes y luego cuál es el puerto de entrada en el calculador y cuál es la salida. Así que la entrada es lo que está entrando en el calculador y una vez que se han hecho los cálculos, una vez que se han hecho las transformaciones, qué está saliendo. Así que esencialmente así es como puedes pensar en toda la tubería de percepción de usar diferentes tipos de calculadoras juntas para formar digamos una solución particular y todo eso será representado a través de este gráfico de MediaPipe. Así que eso es esencialmente lo que es el back end o lo que está pasando detrás de cualquier tipo de esto estructura de backend de una solución de metapipe. Ahora también puedes mirar algunos de los docs para conocer más sobre estos, ya sabes, sobre el gráfico de calculadoras yendo a docs.metapipe.dev o también puedes visualizar diferentes tipos de tuberías de percepción. Digamos que el que usamos fue en realidad uno muy simple donde solo estábamos usando para detectar los puntos de referencia en tu mano, pero si tienes tuberías mucho más complejas, puedes seguir adelante y usar vis.metapipe.dev para visitar eso y mirar algunas de las tuberías que están ahí para ofrecer en este sitio en particular.
Y ahora llegando a la parte esencial, de lo que realmente trata esta charla, y eso es ¿cómo puedes integrar MediaPipe con React? Así que hay muchos NPM modules que son compartidos por el equipo de Google MediaPipe, y algunos de estos incluyen básicamente malla facial, detección de rostros, manos, básicamente el seguimiento de manos, holístico que es tener la malla facial, mano, y tu pose. Luego Objectron que es la detección de objetos 3D, y luego tienes la pose, y tienes la segmentación de selfies que tuvimos que cubrir, es básicamente cómo funciona el fondo de Zoom o Google Meet. Así que para todos estos, encontrarás los paquetes NPM relevantes, y puedes referirte a esta particular diapositiva, y también puedes mirar los ejemplos del mundo real que han sido proporcionados por el equipo de MediaPipe. Estos están disponibles en CodePen, así que puedes referirte a cualquiera de estos para ver cómo básicamente se ha implementado. Pero lo que vamos a hacer es que vamos a implementar esto directamente en React. Así que aquí hay un breve ejemplo de cómo se supone que debe funcionar. Así que en la primera pieza de code que puedes ver en la parte superior, donde hemos integrado o hemos importado React, también hemos importado la cámara web porque la corriente de entrada que vamos a poner es con la ayuda de la cámara web que vamos a usar, así que hemos integrado la cámara web. Luego hemos integrado una de las soluciones aquí como un ejemplo, y eso es la solución de segmentación de selfies que puedes ver donde hemos importado del modelo NPM de segmentación de selfies de MediaPipe. Y también hemos integrado las utilidades de cámara de MediaPipe, así que esto es para básicamente obtener los detalles de la cámara, ¿verdad? También tenemos algunas otras utilidades que te ayudan a crear los puntos de referencia que descubriremos en un poco. Pero después de eso, puedes ver básicamente el code donde hemos usado la segmentación de selfies de MediaPipe y de nuevo, la mejor parte de esto es que no se supone que debes estar escribiendo 100, 200, 300 líneas de code de machine learning, y ese es el beneficio de usar soluciones de MediaPipe que todo está empaquetado en este code, y estás haciendo este tipo de, ya sabes, como cosas importantes y esenciales de machine learning basadas en cosas como la detección de objetos, el seguimiento de objetos que normalmente se ejecutan en como 200, 300 líneas de code. Y simplemente puedes ponerlo en menos de 20 a 30 líneas de code. Aquí simplemente, ya sabes, hemos creado nuestra función para la segmentación de selfies donde estamos usando la cámara web como referencia. Y estamos usando encima de eso un lienzo como referencia porque la cámara web es algo así como la base, ¿verdad? Obtienes tus fotogramas de la cámara web y luego estás usando el elemento de lienzo encima de para renderizar los puntos de referencia. ¿Verdad? Y aquí puedes ver que estamos implementando el CDN para obtener la solución de segmentación de selfies de MediaPipe.
Comments