El poder de Unity en AI

CAMERON GREENE Anonymous
Jul 24, 2020|9 Min
El poder de Unity en AI
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Desde 2018, Cross Compass ha integrado Unity al proceso de varios de sus servicios de consultoría para el campo de la fabricación a fin de entrenar y validar algoritmos de AI de forma segura antes de su implementación. Sigue leyendo para ver cómo esta empresa de AI utilizó la tecnología de juegos para agregar valor a una industria tan madura.

Cross Compass es una empresa líder de AI que proporciona soluciones de vanguardia a líderes globales de la industria en los sectores de fabricación, robótica, juegos, atención médica, diseño y mercadotecnia. Cross Compass se estableció en Tokio en 2015. Desarrolla técnicas de vanguardia en aprendizaje profundo, aprendizaje automático y vida artificial para aumentar la seguridad, la calidad y la productividad en beneficio de la sociedad.

Los invitamos a compartir con sus propias palabras las razones por las que adoptaron Unity y cómo este les ayuda a ofrecer los siguientes beneficios:

  • Ofrece una plataforma para analizar las especificaciones y el progreso con los clientes y socios
  • Evita muchas comprobaciones de seguridad necesarias para configurar el entorno de recopilación de datos
  • Proporciona una cantidad ilimitada de datos para el entrenamiento y las pruebas de AI
  • Permite ciclos iterativos más rápidos de entrenamiento y pruebas de AI en simulación
  • Conduce a la entrega de soluciones de AI con mayor rendimiento y calidad para los usuarios finales
  • Aumenta el valor de la intervención humana mientras que la AI se encarga de las tareas repetitivas de forma confiable.

Obtén más información en esta publicación invitada de Cross Compass, presentada por Romain Angénieux, líder del grupo de simulación de AI; Steven Weigh, diseñador de identidad de marca global; y Antoine Pasquali, director de Tecnología.

Desafíos en la introducción de la AI para los entornos de producción
Imagen de un robot

Diseñar e implementar soluciones de AI de vanguardia para entornos de producción es un proceso complicado. Las líneas de producción se han optimizado y perfeccionado meticulosamente durante décadas. Los expertos diseñaron, ajustaron e iteraron cada detalle de manera integral para garantizar los más altos estándares de eficiencia, seguridad y calidad que cumplen con los estrictos requisitos de la industria y los ajustados calendarios de entrega. Esto genera cero espacio para la experimentación, la interrupción, el riesgo o los métodos no probados.

En comparación, la AI evoluciona a la velocidad de la luz. Cada dos días trae nuevas investigaciones sobre los métodos más recientes, las posibilidades ampliadas y las nuevas fronteras. Sin embargo, la mayor parte de esta investigación solo existe en el laboratorio, a partir de datos cuidadosamente seleccionados que se parecen poco a los datos ruidosos, no estructurados, sin etiquetar o, como suele suceder, a la ausencia total de datos que existen en el mundo real. A diferencia de la fabricación, la AI rara vez se toma el tiempo de validarse en condiciones reales. Ambas industrias no podían estar más separadas en sus enfoques.

En un laboratorio, alcanzar un 99 % de precisión es un logro loable. En el entorno de producción, un porcentaje de error restante del 1 % es una falla, defecto o riesgo de seguridad inaceptablemente alto que puede tener consecuencias graves en el mundo real. Dada esta dicotomía, ¿cómo podríamos introducir las soluciones de AI más recientes en un entorno tan preciso y restringido? ¿Y cómo podríamos experimentar, validar e implementar las soluciones de AI de una manera que no introduzca riesgos, costos, tiempo de inactividad o alguna combinación de los tres? Estas son las preguntas que nos hacíamos al encargarnos de entrenar e implementar la AI en las plantas de producción de nuestros clientes.

Uso de simulación para desarrollar soluciones de AI
Una cita de Cross Compass

La solución más obvia fue llevar el entorno de producción al laboratorio. Es decir, recrear el piso de la fábrica en un entorno simulado donde podamos desarrollar nuestras soluciones de AI sin temor a tiempos de inactividad o daños en equipos de última generación.

Un entorno simulado nos da un control total sobre las condiciones de fábrica, lo que nos permite cambiar los parámetros, experimentar, interrumpir y validar nuestros algoritmos para investigar nuevas soluciones de AI. En otras palabras, la simulación nos permite hacer todo lo que no podemos hacer en el mundo real.

Cómo elegimos Unity
Una cita de Cross Compass

En 2018, realizamos un análisis de las soluciones del mercado para determinar qué tecnología se adaptaría mejor a nuestras necesidades en términos de simulación.

El objetivo era que fuera más fácil, rápido y seguro configurar el entorno, recopilar los datos y validar el rendimiento de la AI antes de implementarla en el robot físico.

Comenzamos por examinar motores específicos para robots diseñados para simular los comportamientos del robot, las propiedades y dependencias de las articulaciones, y los sensores. Estos motores son extremadamente precisos en términos de física, control del comportamiento y robótica de bajo nivel. Sin embargo, y a pesar de su fuerte apego al realismo, descubrimos que estos motores carecían de la flexibilidad necesaria para recrear escenas más complejas.

Aleatorización de dominios meteorológicos (MDR) para aplicaciones robóticas. Utilizamos el canal de renderizado de alta definición (HDRP) de Unity y el flujo de trabajo Shader Graph para crear variaciones en las condiciones del cielo, las luces, los fondos y las texturas de los objetos. (Cortesía de Cross Compass)

En el contexto de la AI, aunque necesitamos física precisa y un control perfecto sobre los comportamientos del robot, también necesitamos importar una amplia gama de objetos de diferentes formas, con texturas e imágenes realistas, como luces, sombras, efectos de cámara, etc.

Descubrimos que los motores de juego respondían bien a esta variedad de demandas, ya que ofrecen respuestas simples a estas otras limitaciones. La manipulación robótica seguiría siendo posible a un nivel de control superior, lo que coincide con nuestra estrategia de desarrollar soluciones independientes del hardware.

En particular, Unity nos permitió enfocarnos en crear solo las características necesarias para entrenar a las AI en robots, mientras que el resto queda en manos del motor. Para ahorrar tiempo de desarrollo, pudimos confiar directamente en su importador de archivos, sistema de renderizado, motor de física, ciclo de vida del script, programador y opciones de implementación existentes.

Además, Unity ofrece actualizaciones regulares, así como contribuciones de los colaboradores para personalizar el motor a aplicaciones más avanzadas como la nuestra. El apoyo activo del ecosistema de Unity garantizaría que cualquier problema potencial se abordara adecuadamente.

Al finalizar nuestro análisis, Unity surgió como nuestra mejor opción por su versatilidad y su capacidad de evolución.

Cómo usamos Unity para llevar la AI a la automatización de la producción
Una cita de Cross Compass

Hoy en día, los desarrollos Unity están totalmente integrados en nuestros procesos de automatización de la producción. Por el lado de la investigación, creamos escenas diversas, que van desde la selección hasta la navegación y el control adaptativo basado en la retroalimentación de los sensores, para probar la solidez de nuestros algoritmos de AI en condiciones inesperadas y avanzar aún más en nuestra tecnología hacia territorios desconocidos.

Cada proyecto de investigación se origina en la necesidad del cliente y luego se expande hacia una solución más general para abordar casos similares. Integramos estas soluciones una tras otra en nuestro entorno de simulación principal como assets empaquetados, a fin de mantener un flujo de trabajo de desarrollo continuo, compatibilidad a lo largo del tiempo y código limpio.

Desde que comenzamos a usar Unity, hemos desarrollado principalmente funciones para importar objetos y partes de robots, crear escenas realistas y aplicar técnicas de aleatorización de dominios. Paralelamente, establecimos protocolos de comunicación con nuestras AI y con software robótico de terceros, así como diferentes configuraciones de simulación para la generación de datos, entrenamiento, pruebas y validación de AI en tiempo real para todas las escenas.

Unity ofrece la flexibilidad requerida para este tipo de desarrollos expertos, como un cálculo de la física independiente de la velocidad de simulación. Eso permite generar datos precisos cien veces más rápido de lo que puede ver el ojo. La Asset Store y las herramientas de los socios de Unity también nos brindan ajustes y funciones ocasionales para acelerar el avance.

Unity nos permitió reducir significativamente el tiempo y el costo involucrados en la capacitación, las pruebas y la implementación de soluciones de AI para nuestros clientes y socios. Como resultado, se obtienen mayores niveles de seguridad, un aumento en el valor de la intervención humana en el piso de la fábrica y un producto de mayor calidad entregado a los usuarios finales. El motor de física y las funciones de Unity nos permiten controlar todos los aspectos del piso simulado de la fábrica, lo que da como resultado soluciones de AI más precisas y robustas que nunca.

Este es un flujo de trabajo común para usar Unity en nuestros proyectos:

Maqueta de solución de AI

En los proyectos de consultoría, creamos ramas de nuestro entorno Unity principal, donde podemos trabajar libremente para satisfacer las necesidades específicas de los clientes. Luego, fusionamos las características agregadas de nuevo a la rama principal. Por lo general, comenzaríamos haciendo una maqueta de la solución seleccionando y personalizando una escena preconfigurada con nuestros assets relevantes. Mostrar una demostración en simulación a los clientes ayuda a aclarar las especificaciones del proyecto, así como su objetivo final en términos de implementación en fábrica.

Entrenamiento y pruebas de AI

Luego, preparamos el entorno y la AI para la capacitación. La simulación nos da el lujo de generar datos, por lo que generamos datos de una manera mucho más rápida, segura y flexible de lo que permitiría la recopilación del mundo real. Solo los expertos en AI pueden obtener la información relevante de la simulación. Sin embargo, el etiquetado de los datos se obtiene de forma gratuita. Eso significa que podemos proporcionarle a la AI cualquier dato con la mayor precisión, mientras que, en el mundo real, los mismos datos pueden ser difíciles o incluso imposibles de recopilar. Además, no hay límite a la cantidad de datos generados.

Aleatorización de dominio aplicada a la entrada visual de la AI. Las técnicas de MDR se aplican en simulación para garantizar que la AI funcione de manera efectiva en condiciones del mundo real. (Cortesía de Cross Compass)

En este punto, probamos nuestros modelos y ajustamos su precisión hasta el margen de error especificado por el cliente para garantizar una solución final robusta. Para esto, necesitamos entrenar a nuestras AI para que sean efectivas en el mundo real, bajo variaciones inesperadas de luz y ruido recibidos por las cámaras y otros sensores. Nuestro asset empaquetado para la aleatorización de dominios se diseñó específicamente para cerrar esta brecha. Luego, validamos nuestras AI en simulación en tiempo real. Esto también se utiliza para demostrar la solución de AI a los clientes.

Implementación

Por último, implementamos en la fábrica. Nuestros ingenieros robóticos, con la asistencia de los integradores de sistemas, preparan, según la cantidad de elementos de implementación, un banco de pruebas o el sistema final directamente en el sitio del cliente. Los ingenieros de AI realizan las primeras pruebas y, por lo general, un miembro de nuestro equipo de simulación también las visita para verificar la conformidad con la escena simulada utilizada para el entrenamiento. Esto permite ajustes rápidos, si es necesario, antes de enviar la AI final, entrenada con un conjunto de datos mucho más grande, antes de instruir finalmente a los técnicos de fábrica sobre cómo usar sus algoritmos de AI recién adquiridos.

¿Qué sigue?

Evolución de nuestra solución de picking en las versiones 1.0 a 3.0. La versión 1 reprodujo condiciones físicas realistas al elegir objetos del cubo. La versión 2 se centró en simular el robot y las pinzas. Luego, el MDR se desarrolló y aplicó en la versión 3. Las técnicas de AI también se perfeccionaron en cada versión, como se puede ver en los widgets de la cámara. (Cortesía de Cross Compass) Unity es un trabajo en desarrollo tanto como lo es nuestro propio desarrollo, y nuestra base de código y nuestros procesos mejoran con cada nuevo proyecto. Aún no hemos enfrentado un desafío que no podamos enfrentar con Unity y nuestra experiencia.

---

Comienza a utilizar Unity Industry.