Automatizando a Detecção de Bugs Visuais em Video Games
Um novo método melhora a detecção de bugs usando dados de gameplay não rotulados.
― 8 min ler
Índice
À medida que os videogames ficam maiores e mais complexos, garantir que eles tenham uma boa aparência se torna mais importante e difícil. Testar jogos em busca de erros visuais normalmente exige muito tempo e recursos, tornando complicado pegar todos os problemas possíveis. O aprendizado de máquina oferece uma maneira de automatizar e escalar esse processo de teste, mas criar grandes conjuntos de Dados Rotulados, que as máquinas precisam para aprender, é complicado.
Para resolver isso, sugerimos um novo método que usa vídeos de jogabilidade que não foram rotulados junto com certas técnicas que melhoram os dados. O objetivo é criar objetivos autossupervisionados que ajudem a encontrar bugs visuais no jogo. Nossa abordagem utiliza Supervisão Fraca para expandir os dados para esses objetivos, permitindo métodos tanto automatizados quanto interativos. Isso envolve técnicas como Agrupamento Não Supervisionado e uso de textos ou prompts geométricos para guiar o processo.
Testamos nosso método com foco em bugs específicos onde os jogadores atravessam objetos em um jogo chamado Giantmap. Nossos resultados mostram vantagens claras, performando melhor que métodos tradicionais supervisionados, mesmo quando os dados são escassos. Com apenas cinco exemplos rotulados de "boas" imagens (ou seja, sem bugs), nosso método autossupervisionado conseguiu capturar informações úteis o suficiente para superar os resultados de métodos altamente supervisionados com poucos dados. Nosso método se baseia em modelos de visão pré-treinados, permitindo que ele se adapte a vários tipos de bugs visuais.
Contexto e Introdução
A qualidade visual dos videogames impacta significativamente a satisfação dos jogadores. À medida que os jogos se tornam mundos grandes e abertos cheios de detalhes intrincados, eles enfrentam um número crescente de bugs potenciais. Métodos tradicionais de teste manual têm dificuldade de lidar com essa complexidade devido a limitações de tempo e recursos. Avanços em visão computacional e aprendizado de máquina oferecem alternativas promissoras, fornecendo maneiras automatizadas de testar visuais e, assim, permitindo que os desenvolvedores se concentrem em outros aspectos do jogo.
O sucesso do deep learning em visão computacional se deve principalmente às vastas quantidades de dados rotulados que geralmente são coletados da internet. No entanto, no contexto de um único jogo, reunir conjuntos de dados rotulados tão extensos muitas vezes é impraticável. Capturar e rotular bugs visuais em larga escala manualmente não é viável, especialmente porque esses bugs tendem a ser bastante raros.
Abordagens recentes em visão computacional têm como objetivo automatizar os testes visuais, seja ampliando a disponibilidade de dados a partir de motores de jogo ou usando métodos de detecção de anomalias que tratam bugs como ocorrências incomuns em comparação com quadros normais. No entanto, os ambientes de jogo mudam constantemente, exigindo que um novo conjunto de dados seja gerado para novos ativos de jogo, considerando vários fatores como ambiente e iluminação.
Nosso método proposto visa usar vídeos de jogabilidade não rotulados junto com técnicas específicas de aumento para criar objetivos para detectar bugs visuais. Essa abordagem é particularmente útil em situações onde os dados rotulados são limitados, o que é comum no desenvolvimento de jogos. Nosso método aproveita modelos de visão pré-treinados grandes e técnicas específicas de manipulação de dados para criar objetivos autossupervisionados, escalando nosso conjunto de dados por meio de supervisão fraca.
A Metodologia
O aprendizado autossupervisionado é uma técnica que aprende a partir de dados não rotulados otimizando um objetivo específico que pode ser transferido para tarefas reais. A supervisão fraca ajuda a criar e escalar rapidamente conjuntos de dados rotulados ruidosos, que mostraram eficácia no treinamento de modelos em vários campos. A supervisão fraca interativa combina conhecimento do domínio com escalabilidade por meio de um processo interativo.
Nossa abordagem utiliza objetivos específicos do domínio aprimorados por meio de supervisão fraca. Isso envolve modelos pré-treinados grandes e a integração de textos e prompts geométricos para interação eficiente. Mostramos que nosso método pode se adaptar a vários tipos de bugs visuais, incluindo problemas de clipping e texturas.
As Principais Etapas do Método
Fase de Segmentação: Pegamos vídeos de jogabilidade não rotulados e aplicamos um modelo para extrair automaticamente seções visuais importantes, conhecidas como máscaras. Esse modelo usa prompts geométricos para guiar o processo e focar em áreas relevantes para detectar bugs.
Fase de Filtragem: Depois de obter as máscaras, filtramos elas usando métodos não supervisionados ou com input de usuário através de prompts de texto. A filtragem ajuda a equilibrar os tipos de dados e melhorar a qualidade geral do conjunto de dados.
Fase de Aumento: Após a filtragem, usamos essas máscaras junto com imagens rotuladas ou não rotuladas para criar objetivos autossupervisionados por meio de aumento específico do domínio. Isso significa que geramos novos exemplos aplicando várias transformações aos dados existentes.
Desafios na Detecção de Bugs Visuais
Existem vários desafios no campo da detecção de bugs visuais que moldam nossa abordagem para o problema. Primeiro, a quantidade de dados rotulados disponíveis é frequentemente muito limitada. O teste só pode ocorrer durante janelas curtas no ciclo de desenvolvimento do jogo, tornando a velocidade e eficiência cruciais.
Segundo, a falta de acesso ao código-fonte do jogo limita as opções que podemos usar para automatizar testes visuais. Embora muitos motores de jogo agora incluam recursos de aprendizado de máquina, não é uma solução escalável para todos os jogos. Mesmo quando os dados podem ser coletados, pode ser que não se adaptem bem a novos cenários à medida que o jogo evolui.
Realizamos experimentos usando um ambiente de jogo específico (Giantmap) que envolvia adicionar novos objetos e testar nossos métodos na identificação de clipping de jogadores em primeira pessoa. Isso significa que quando os jogadores passam por objetos devido a configurações inadequadas na malha de colisão do jogo. Geramos muitos exemplos do ambiente de jogo programaticamente, criando um conjunto de dados substancial enquanto trabalhávamos dentro dos limites de dados rotulados.
Experimentos e Resultados
Relatamos nossas descobertas com base em diferentes arquiteturas de modelos e métodos. Notavelmente, observamos que, quando os modelos foram treinados usando nossa abordagem autossupervisionada, eles superaram modelos tradicionais como ResNet, especialmente em configurações com poucos rótulos para bugs visuais.
Os resultados mostraram que, ao usar nosso método, particularmente com uma pequena quantidade de dados rotulados, conseguimos alcançar alta precisão. Notavelmente, conseguimos melhorias significativas de desempenho ao empregar nossos objetivos autossupervisionados em comparação com abordagens tradicionais de aprendizado supervisionado.
Em um de nossos experimentos, usamos um conjunto de dados pequeno com apenas 15 amostras rotuladas, e nosso método apresentou uma pontuação F1 de 0.550. Essa é uma métrica importante, pois equilibra precisão e recall, dando uma visão clara do desempenho do modelo na detecção de bugs visuais.
Discussão e Trabalho Futuro
Os resultados destacam como nosso método, que usa supervisão fraca para aprimorar objetivos autossupervisionados, melhora significativamente o desempenho em comparação com a dependência apenas de dados supervisionados. No entanto, nossa abordagem depende muito de como os dados são coletados. É crucial entender que, embora tenhamos avançado na detecção de bugs visuais, ainda existem áreas onde melhorias podem ser feitas.
Uma возможная direção para o trabalho futuro envolve a integração de técnicas avançadas em aprendizado não supervisionado ou a exploração de diferentes fontes de dados para enriquecer o processo de treinamento. Nossa pesquisa atual tem se concentrado em jogos específicos, mas as técnicas podem se aplicar a uma gama mais ampla de tipos de videogames e problemas visuais.
Além disso, a natureza do conteúdo dos jogos está sempre em evolução, e precisamos garantir que nossos métodos possam se adaptar a essas mudanças sem exigir novos dados extensos. Também há uma oportunidade de olhar para a incorporação de dados multimodais que podem enriquecer a riqueza de pistas visuais capturadas pelos nossos modelos.
Para resumir, a detecção de bugs visuais apresenta desafios distintos devido à natureza sempre mutável do conteúdo do jogo, à disponibilidade limitada de dados rotulados e à necessidade de métodos confiáveis que possam generalizar para novos cenários. Nossa exploração de uma abordagem multietapa e de supervisão fraca se concentra em abordar esses desafios ao usar efetivamente os dados existentes. Nossas descobertas mostram potencial para gerar conjuntos de dados curados para videogames, facilitando mais avanços nos métodos de detecção de bugs visuais.
Título: Weak Supervision for Label Efficient Visual Bug Detection
Resumo: As video games evolve into expansive, detailed worlds, visual quality becomes essential, yet increasingly challenging. Traditional testing methods, limited by resources, face difficulties in addressing the plethora of potential bugs. Machine learning offers scalable solutions; however, heavy reliance on large labeled datasets remains a constraint. Addressing this challenge, we propose a novel method, utilizing unlabeled gameplay and domain-specific augmentations to generate datasets & self-supervised objectives used during pre-training or multi-task settings for downstream visual bug detection. Our methodology uses weak-supervision to scale datasets for the crafted objectives and facilitates both autonomous and interactive weak-supervision, incorporating unsupervised clustering and/or an interactive approach based on text and geometric prompts. We demonstrate on first-person player clipping/collision bugs (FPPC) within the expansive Giantmap game world, that our approach is very effective, improving over a strong supervised baseline in a practical, very low-prevalence, low data regime (0.336 $\rightarrow$ 0.550 F1 score). With just 5 labeled "good" exemplars (i.e., 0 bugs), our self-supervised objective alone captures enough signal to outperform the low-labeled supervised settings. Building on large-pretrained vision models, our approach is adaptable across various visual bugs. Our results suggest applicability in curating datasets for broader image and video tasks within video games beyond visual bugs.
Autores: Farrukh Rahman
Última atualização: 2023-09-20 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2309.11077
Fonte PDF: https://arxiv.org/pdf/2309.11077
Licença: https://creativecommons.org/licenses/by-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.