O poder da Unity na IA

Desde 2018, a Cross Compass integrou o Unity ao pipeline de vários de seus serviços de consultoria para o campo de manufatura para treinar e validar algoritmos de IA com segurança antes da implantação. Continue lendo para saber como essa empresa de IA passou a usar a tecnologia de jogos para agregar valor a um setor tão maduro.
A Cross Compass é uma empresa líder em IA que fornece soluções de última geração para líderes globais do setor em manufatura, robótica, jogos, saúde, design e marketing. Estabelecida em Tóquio em 2015, a Cross Compass desenvolve técnicas de ponta em Deep Learning, Machine Learning e Vida Artificial, para aumentar a segurança, a qualidade e a produtividade em benefício da sociedade.
Nós os convidamos a compartilhar em suas próprias palavras por que adotaram a Unity e como ela os ajuda a oferecer os seguintes benefícios:
- Oferece uma plataforma para discutir especificações e progresso com clientes e parceiros
- Evita muitas verificações de segurança necessárias para configurar o ambiente de coleta de dados
- Fornece uma quantidade ilimitada de dados para treinamento e teste de IA
- Permite ciclos iterativos mais rápidos de treinamento e teste de IA em simulação
- Leva ao fornecimento de soluções de IA com maior desempenho e qualidade para os usuários finais
- Aumenta o valor da intervenção humana enquanto as IAs lidam com as tarefas repetitivas de forma confiável
Saiba mais nesta postagem de convidado da Cross Compass por Romain Angénieux, Líder do Grupo de Simulação de IA; Steven Weigh, Designer de Identidade de Marca Global; e Antoine Pasquali, Diretor de Tecnologia.

Projetar e implementar soluções de IA de ponta para ambientes de manufatura é um processo complicado. As linhas de produção de manufatura têm sido meticulosamente otimizadas e aperfeiçoadas há décadas. Os especialistas projetaram, ajustaram e iteraram cada detalhe de ponta a ponta, para garantir os mais altos padrões de eficiência, segurança e qualidade que atendem aos rigorosos requisitos do setor e aos apertados cronogramas de entrega. Isso resulta em zero espaço para experimentação, interrupção, risco ou métodos não comprovados.
A IA, em comparação, está evoluindo na velocidade da luz. A cada dois dias surgem novas pesquisas sobre os métodos mais recentes, possibilidades ampliadas e novas fronteiras. No entanto, a maior parte dessa pesquisa só existe no laboratório, construída com base em dados cuidadosamente selecionados que têm pouca semelhança com os dados ruidosos, não estruturados, não rotulados ou, como costuma acontecer, com a completa ausência de dados que existem no mundo real. Em contraste com a manufatura, a IA raramente dedica tempo para se validar em condições do mundo real. Os dois setores não poderiam estar mais distantes em suas abordagens.
Em um laboratório, atingir 99% de precisão é uma conquista louvável. No ambiente de fabricação, uma taxa de erro de 1% restante é um risco inaceitavelmente alto de falha, defeito ou segurança que pode ter graves consequências no mundo real. Considerando essa dicotomia, como podemos introduzir as mais recentes soluções de IA em um ambiente tão preciso e restrito? E como podemos experimentar, validar e implantar soluções de IA de uma forma que não introduza riscos, custos, tempo de inatividade ou uma combinação dos três? Essas são as perguntas que nos fizemos quando fomos encarregados de treinar e implementar a IA no chão de fábrica de nossos clientes.

A solução mais óbvia foi trazer o ambiente de fabricação para o laboratório. Ou seja, recriar o chão de fábrica em um ambiente simulado no qual podemos desenvolver nossas soluções de IA sem medo de tempo de inatividade ou de danificar equipamentos de última geração.
Um ambiente simulado nos dá controle total sobre as condições da fábrica, o que nos permite alterar parâmetros, experimentar, interromper e validar nossos algoritmos para investigar novas soluções de IA. Em outras palavras, a simulação nos permite fazer tudo o que não podemos fazer no mundo real.

Em 2018, realizamos uma análise das soluções no mercado para determinar qual tecnologia atenderia melhor às nossas necessidades em termos de simulação.
O objetivo era facilitar, agilizar e tornar mais segura a configuração do ambiente, a coleta de dados e a validação do desempenho da IA antes de implantá-la no robô físico.
Começamos examinando os mecanismos específicos do robô projetados para simular o comportamento do robô, as propriedades e dependências das articulações e os sensores. Esses mecanismos são extremamente precisos em termos de física, controle de comportamento e robótica de baixo nível. No entanto, e apesar de seu forte apego ao realismo, descobrimos que esses mecanismos não tinham a flexibilidade necessária para recriar cenas mais complexas.
Randomização de Domínio Meteorológico (MDR) para aplicações robóticas. Usamos o Pipeline de Renderização de Alta Definição (HDRP) da Unity e o fluxo de trabalho Shader Graph para criar variações nas condições do céu, luzes, planos de fundo e texturas de objetos. (Cortesia de Cross Compass)
No contexto da IA, embora realmente exijamos física precisa e controle perfeito sobre os comportamentos do robô, também precisamos importar uma ampla gama de objetos de diferentes formas, com texturas e visuais realistas, como luzes, sombras, efeitos de câmera e assim por diante.
Aqui, descobrimos que os mecanismos de jogos responderam bem a essa variedade de demandas, pois oferecem respostas simples a essas outras restrições. A manipulação do robô ainda seria possível em um nível mais alto de controle, o que combinava com a nossa estratégia de desenvolver soluções independentes de hardware.
Notavelmente, o Unity nos permitiu focar na criação apenas dos recursos necessários para o treinamento de IAs em robôs, deixando o resto para a engine. Para economizar tempo de desenvolvimento, poderíamos confiar diretamente no importador de arquivos, no sistema de renderização, no mecanismo de física, no ciclo de vida do script, no agendador e nas opções de implementação existentes.
Além disso, a Unity oferece atualizações regulares, bem como contribuições de colaboradores para adaptar o mecanismo a aplicativos mais avançados, como o nosso. O suporte ativo do ecossistema da Unity garantiria que qualquer problema em potencial fosse resolvido adequadamente.
No final de nossa análise, a Unity surgiu como nossa melhor opção por sua versatilidade e capacidade de evolução.

Atualmente, os desenvolvimentos da Unity estão totalmente integrados em nossos processos de automação da manufatura. No lado da pesquisa, criamos diversos cenários, que vão desde a coleta até a navegação e o controle adaptativo com base no feedback do sensor, para testar a robustez de nossos algoritmos de IA em condições inesperadas e para avançar nossa tecnologia em território desconhecido.
Cada projeto de pesquisa se origina da necessidade de um cliente e, em seguida, é expandido para uma solução mais geral para tratar de casos semelhantes. Integramos essas soluções uma após a outra em nosso ambiente de simulação principal como ativos empacotados, de modo a manter um fluxo de trabalho de desenvolvimento contínuo, compatibilidade ao longo do tempo e código limpo.
Desde que começamos a usar a Unity, desenvolvemos principalmente recursos para importar objetos e peças de robôs, criar cenas realistas e aplicar técnicas de randomização de domínio. Paralelamente, estabelecemos protocolos de comunicação com nossas IAs e com software robótico de terceiros, bem como diferentes configurações de simulação para geração de dados, treinamento de IA, testes e validação em tempo real para todas as cenas.
A Unity oferece a flexibilidade necessária para esses desenvolvimentos especializados, como um cálculo de física independente da velocidade de simulação, que permite gerar dados precisos cem vezes mais rápido do que o que os olhos podem ver. A Asset Store e as ferramentas dos parceiros da Unity também nos fornecem ajustes e recursos ocasionais para uma progressão mais rápida.
A Unity nos permitiu reduzir significativamente o tempo e o custo envolvidos no treinamento, teste e implantação de soluções de IA para nossos clientes e parceiros. O resultado são níveis mais altos de segurança, um aumento no valor da intervenção humana no chão de fábrica e um produto de maior qualidade entregue aos usuários finais. O mecanismo de física e os recursos do Unity nos permitem controlar todos os aspectos do chão de fábrica simulado, resultando em soluções de IA mais precisas e robustas do que nunca.
Aqui está um fluxo de trabalho comum para usar o Unity em nossos projetos:
Em projetos de consultoria, criamos ramificações de nosso ambiente Unity principal, onde podemos trabalhar livremente para atender às necessidades específicas dos clientes, mesclando posteriormente os recursos adicionados de volta à ramificação principal. Normalmente, começaríamos fazendo uma maquete da solução, selecionando e personalizando uma cena pré-configurada com nossos ativos relevantes. Mostrar uma demonstração em simulação aos clientes ajuda a esclarecer as especificações do projeto, bem como seu objetivo final em termos de implementação na fábrica.
Em seguida, preparamos o ambiente e a IA para o treinamento. A simulação nos dá o luxo da geração de dados, por meio da qual geramos dados de maneira muito mais rápida, segura e flexível do que a coleta no mundo real permitiria. Somente especialistas em IA podem dizer quais são as informações relevantes a serem obtidas da simulação; no entanto, a rotulagem dos dados é obtida gratuitamente. Isso significa que podemos fornecer à IA quaisquer dados, com a mais alta precisão, ao passo que, no mundo real, os mesmos dados podem ser difíceis ou até mesmo impossíveis de coletar. Além disso, não há limite para a quantidade de dados gerados.
Randomização de domínio aplicada à entrada visual da IA. As técnicas de MDR são aplicadas na simulação para garantir que a IA tenha um desempenho eficaz em condições reais. (Cortesia de Cross Compass)
Nesse ponto, testamos nossos modelos e ajustamos sua precisão até a margem de erro especificada pelo cliente para garantir uma solução final robusta. Para isso, precisamos treinar nossas IAs para que elas sejam eficazes no mundo real, sob variações inesperadas de luz e ruído recebidas por câmeras e outros sensores. Nosso pacote de ativos para randomização de domínios foi projetado especificamente para preencher essa lacuna. Em seguida, validamos nossas IAs em simulações em tempo real. Isso também é usado para demonstrar a solução de IA aos clientes.
Por fim, implementamos na fábrica. Nossos engenheiros de robótica, com a assistência de integradores de sistemas, preparam, dependendo do número de itens de implantação, uma bancada de teste ou o sistema final diretamente no local do cliente. Os engenheiros de IA operam os primeiros testes e, normalmente, um membro da nossa equipe de simulação também faz uma visita para verificar a conformidade com a cena simulada usada para o treinamento. Isso permite ajustes rápidos, se necessário, antes de enviar a IA final, treinada em um conjunto de dados muito maior, antes de finalmente instruir os técnicos da fábrica sobre como usar seus algoritmos de IA recém-adquiridos.
Evolução de nossa solução de picking entre as versões 1.0 e 3.0. A versão 1 reproduziu condições físicas realistas ao pegar objetos da caçamba. A versão 2 concentrou-se na simulação do robô e das garras. O MDR foi então desenvolvido e aplicado na Versão 3. As técnicas de IA também foram aperfeiçoadas em cada versão, como pode ser visto nos widgets da câmera. (Cortesia: Cross Compass) A Unity é um trabalho em andamento, assim como nosso próprio desenvolvimento, e nossa base de código e nossos processos estão melhorando a cada novo projeto. Ainda não nos deparamos com um desafio que não pudéssemos enfrentar usando a Unity e nossa experiência.
---
Comece a usar a simulação de robótica com Unity.