Podcast “ITMO Research_”: como abordar a sincronização de conteúdo AR com um show na escala de um estádio inteiro

Esta é a primeira parte da transcrição do texto da segunda entrevista do nosso programa (Podcasts da Apple, Yandex.Music). Emissão Convidado - Andrey Karsakov (kapc3d), Ph.D., pesquisador sênior do Centro Nacional de Pesquisa Cognitiva, professor associado da Faculdade de Transformações Digitais.

Desde 2012, Andrey trabalha no grupo de pesquisa Visualização e Computação Gráfica. Envolvido em grandes projetos aplicados em nível estadual e internacional. Nesta parte da conversa falamos sobre sua experiência no suporte de AR para eventos públicos.

Podcast “ITMO Research_”: como abordar a sincronização de conteúdo AR com um show na escala de um estádio inteiro
foto Aqui é Engenharia RA Eng. (Unsplash. com)

Contexto e objetivos do projeto

Código de tempo (por versões de áudio) - 00:41

Dmitry Kabanov: Gostaria de começar pelo projecto dos Jogos Europeus. É multicomponente, várias equipes participaram da preparação, e fornecer realidade aumentada para um público de milhares de pessoas durante um evento no estádio é uma tarefa bastante séria. Em termos do seu envolvimento, foi primeiro o software?

kapc3d: Sim, fizemos a parte de programação e apoiamos durante o show. Foi preciso acompanhar, monitorar e lançar tudo em tempo real, além de trabalhar com o grupo de televisão. Se considerarmos este projeto como um todo, então podemos falar das cerimônias de abertura e encerramento Jogos Europeus em Minsk, bem como sobre a cerimônia de abertura do campeonato WorldSkills em Cazã. Foi o mesmo esquema de trabalho, mas eventos diferentes. Houve um intervalo de dois meses entre eles. Preparamos o projeto junto com a galera da empresa Sechenov.com.

Nós os conhecemos por acaso em Festival de Ciências, que ocorreu no outono de 2018. Nossos alunos de mestrado apresentaram seu projeto de curso sobre o tema VR. Os caras vieram até nós e perguntaram o que estávamos fazendo em nosso laboratório. Parecia algo assim:

— Você trabalha com VR, mas consegue trabalhar com realidade aumentada?

- Bem, mais ou menos, sim.

- Existe tal tarefa, com tais notas introdutórias. Consegues fazê-lo?

Eles coçaram um pouco os nabos, não parece haver nada de irreal:

- Vamos tentar estudar tudo primeiro e depois encontrar uma solução.

Dmitriy: Eles fornecem apenas suporte de mídia?

Andrey: Eles fazem uma pilha completa. Do ponto de vista de gestão e organização, estão totalmente envolvidos na direção, encenação, seleção de cenários, logística e demais apoios técnicos. Mas queriam fazer algo especial para os Jogos Europeus. Estes efeitos especiais, tal como a realidade mista, são feitos para a televisão há bastante tempo, mas não são os mais económicos em termos de implementação técnica. Por isso, a galera procurou opções alternativas.

Dmitriy: Vamos discutir o problema com mais detalhes. Em que consistia?

Andrey: Há um evento. Dura uma hora e meia. Precisamos ter certeza de que o público que assiste ao vivo e aqueles que estão sentados no estádio possam ver os efeitos de realidade aumentada em total sincronização com o show ao vivo em termos de horário e localização no local.

Havia uma série de limitações técnicas. Foi impossível fazer a sincronização de horário pela Internet, pois havia temores de carga excessiva na rede com estandes lotados e a perspectiva de presença de chefes de estado no evento, o que poderia congestionar as redes móveis.

Andrey Karsakov, foto de material da Universidade ITMO
Podcast “ITMO Research_”: como abordar a sincronização de conteúdo AR com um show na escala de um estádio inteiroTínhamos dois componentes principais neste projeto: a experiência pessoal que as pessoas podem obter através de dispositivos móveis e o que acontece na transmissão de televisão e nas telas de informação do próprio estádio.

Se de repente uma pessoa estiver assistindo episódios de realidade aumentada através de um dispositivo móvel e ao mesmo tempo entrar na tela, deverá ver a mesma imagem.

Precisávamos de dois sistemas virtualmente diferentes para serem completamente sincronizados no tempo. Mas a peculiaridade de tais shows é que se trata de eventos complexos onde está envolvido um grande número de serviços técnicos e todas as operações são realizadas de acordo com códigos de tempo. O código de tempo é um momento específico em que algo começa: luz, som, pessoas saindo, pétalas do palco se abrindo e assim por diante. Tivemos que nos adaptar a esse sistema para que tudo começasse na hora certa. Outra característica foi que as cenas e episódios com realidade aumentada eram relacionados ao roteiro.

Dmitriy: Mas você decidiu abandonar o uso de códigos de tempo devido aos altos riscos de força maior ou calculou inicialmente algumas características de potência e percebeu que a carga de todo o sistema seria bastante alta?

Andrey: Se você fizer um serviço de sincronização para esse público, não será muito difícil. De qualquer forma, as solicitações não falharão da noite para o dia. Sim, a carga é alta, mas não é uma emergência. A questão é se vale a pena gastar recursos e tempo nisso se a rede cair repentinamente. Não tínhamos certeza se isso não aconteceria. No final das contas tudo funcionou, com interrupções devido à carga, mas funcionou, e sincronizamos de acordo com o time code de acordo com um esquema diferente. Este foi um dos desafios globais.

Dificuldades de implementação do ponto de vista UX

Código de tempo (por versões de áudio) - 10:42

Andrey: Também tivemos que levar em conta que o estádio não é uma sala de concertos clássica e sincronizar os sistemas em todo o espaço para dispositivos móveis. Então, há algum tempo eu me tornei viral história de realidade aumentada nos shows do Eminem, houve um caso com Loboda.

foto Tchau Robert (Unsplash. com)
Podcast “ITMO Research_”: como abordar a sincronização de conteúdo AR com um show na escala de um estádio inteiroMas esta é sempre uma experiência à sua frente - toda a multidão fica em frente ao palco, a sincronização é bastante simples. No caso de um estádio, é preciso entender de que lado do círculo você está, a posição relativa, para que o estádio se encaixe no espaço que existe no ambiente virtual. Foi um desafio amargo. Tentaram resolver de várias maneiras, e o resultado foi um caso próximo ao que foi implementado por Loboda, mas não em todos os aspectos.

Deixamos o usuário decidir onde ele está. Fizemos marcações para o estádio, onde as pessoas escolhiam um setor, uma fila, um local. Tudo isso em quatro “cliques”. Em seguida, tivemos que determinar a direção do palco. Para fazer isso, mostramos uma silhueta de como a cena deveria ser de uma perspectiva personalizada. Ele combinou, bateu e pronto - o palco sentou. Tentamos simplificar esse processo ao máximo. Mesmo assim, 90% dos telespectadores que quiseram assistir ao programa não são aquelas pessoas que têm experiência de comunicação com realidade aumentada.

Dmitriy: Houve uma inscrição separada para este projeto?

Andrey: Sim, um aplicativo para iOS e Android, que colocamos na loja. Houve uma campanha promocional separada para isso. Foi descrito anteriormente em detalhes como fazer o download e assim por diante.

Dmitriy: Você precisa entender que não há lugar para uma pessoa testar fisicamente e aprender como usar tal aplicativo. Portanto, a tarefa de “educar” o público tornou-se mais complicada.

Andrey: Sim Sim. Com o UX, pegamos muitos obstáculos, pois o usuário quer ter a experiência em três cliques: baixado, instalado, iniciado - funcionou. Muitas pessoas têm preguiça de seguir tutoriais complexos, ler tutoriais e assim por diante. E não tentamos explicar tudo ao usuário o máximo possível no tutorial: vai abrir uma janela aqui, acessar a câmera aqui, senão não funciona, e assim por diante. Não importa quantas explicações você escreva, não importa o quão detalhado você mastigue, não importa quais gifs você insira, as pessoas não leem.

Em Minsk, coletamos um grande conjunto de comentários sobre esta parte e já mudamos bastante para a aplicação em Kazan. Colocamos lá não apenas aqueles fonogramas e códigos de tempo que correspondem a um episódio específico de realidade aumentada, mas pegamos todos os fonogramas e códigos de tempo na sua totalidade. Assim, o aplicativo ouviu o que estava acontecendo no momento do lançamento e - se uma pessoa se logasse no momento errado - dava a informação: “Camarada, sinto muito, seu episódio de AR será em 15 minutos”.

Um pouco sobre a arquitetura e abordagem para sincronização

Código de tempo (por versões de áudio) - 16:37

Dmitriy: Você decidiu sincronizar por som?

Andrey: Sim, aconteceu por acidente. Estávamos procurando opções e encontramos uma empresa cifrasoft de Ijevsk. Eles fazem um SDK não particularmente sofisticado, mas funcional, que permite sincronizar o som com o tempo. O sistema foi posicionado para funcionar com TV, quando é possível exibir algo em um aplicativo baseado no som de uma propaganda condicional ou proporcionar uma experiência interativa baseada na trilha do filme.

Dmitriy: Mas uma coisa é você estar sentado na sua sala de estar, e outra coisa é um estádio com milhares de pessoas. Como funcionaram para você a qualidade da gravação de som e seu posterior reconhecimento?

Andrey: Houve muitos medos e dúvidas, mas na maioria dos casos tudo foi bem reconhecido. Eles constroem assinaturas na trilha de áudio com seus algoritmos astutos - o resultado pesa menos que o arquivo de áudio original. Quando o microfone escuta o som ambiente, ele tenta encontrar esses recursos e reconhecer a trilha com base neles. Em boas condições, a precisão da sincronização é de 0,1-0,2 segundos. Isso foi mais que suficiente. Em más condições, a discrepância era de até 0,5 segundos.

Depende muito do dispositivo. Trabalhamos com uma grande frota de dispositivos. Para iPhones existem apenas 10 modelos. Eles funcionaram bem em termos de qualidade e outros recursos. Mas com os andróides o zoológico é como a minha mãe. Nem em todos os lugares a sincronização de som funcionou. Houve casos em que era impossível ouvir faixas diferentes em dispositivos diferentes devido a algumas peculiaridades. Em algum lugar as frequências baixas desaparecem, em algum lugar as frequências altas começam a chiar. Mas se o aparelho tivesse normalizador no microfone, a sincronização sempre funcionava.

Dmitriy: Conte-nos sobre a arquitetura - o que foi usado no projeto?

Andrey: Fizemos a aplicação em Unity - a opção mais simples em termos de multiplataforma e trabalho com gráficos. Fundação AR usada. Dissemos imediatamente que não queríamos complicar o sistema, por isso nos limitamos a uma frota de dispositivos que suportam ARKit e ARCore para ter tempo de testar tudo. Fizemos um plugin para o DigitalSoft SDK, ele está em nosso GitHub. Criamos um sistema de gerenciamento de conteúdo para que os scripts fossem executados de acordo com a linha do tempo.

Mexemos um pouco no sistema de partículas, pois o usuário pode entrar a qualquer momento em um determinado episódio, e precisamos que ele veja tudo desde o momento em que sincronizou. Nós mexemos em um sistema que permite que os cenários sejam reproduzidos com clareza no tempo, para que a experiência XNUMXD possa ser rolada para frente e para trás, como em um filme. Embora funcione imediatamente com animações clássicas, tivemos que mexer nos sistemas de partículas. Em algum momento, eles começam a desovar, e se você se encontrar em algum lugar antes do ponto de desova, eles ainda não nasceram, embora pareça que deveriam nascer. Mas esse problema é realmente muito fácil de resolver.

Para a parte móvel, a arquitetura é bastante simples. Para a transmissão televisiva tudo é mais complicado. Tínhamos restrições de hardware. O cliente estabeleceu uma condição: “Aqui temos tal e tal parque de hardware, grosso modo, tudo precisa funcionar nele”. Imediatamente nos concentramos no fato de que trabalharíamos com placas de captura de vídeo relativamente econômicas. Mas orçamento não significa que sejam ruins.

Havia restrições no hardware, nas placas de captura de vídeo e nas condições de trabalho – como deveríamos receber a imagem. Placas de captura - Blackmagic Design, trabalhadas de acordo com o esquema de chaveamento interno - é quando um quadro de vídeo chega até você vindo da câmera. O cartão possui um chip de processamento próprio, onde também é inserido um quadro, que deve ser sobreposto ao de entrada. O cartão os confunde - não tocamos em mais nada e não afetamos o quadro da câmera de vídeo. Ela cospe o resultado para a sala de controle através da saída de vídeo. Este é um bom método para sobrepor títulos e outras coisas semelhantes, mas não é muito adequado para efeitos de realidade mista porque há muitas restrições no pipeline de renderização.

Dmitriy: Em termos de computação em tempo real, vinculação de objetos ou algo mais?

Andrey: Em termos de qualidade e obtenção dos efeitos desejados. Porque não sabemos sobre o que estamos colocando a imagem. Simplesmente enviamos informações de cor e transparência sobre o fluxo original. Alguns efeitos como refrações, transparência correta e sombras adicionais não podem ser obtidos com este esquema. Para fazer isso, você precisa renderizar tudo junto. Por exemplo, não há como criar o efeito de distorção do ar devido a um incêndio ou asfalto quente. O mesmo se aplica à transferência do efeito de transparência tendo em conta o índice de refração. Inicialmente criamos conteúdo com base nessas restrições e tentamos usar os efeitos apropriados.

Ver este post no Instagram

Encerramento dos II Jogos Europeus de Minsk.

Um post compartilhado por Alena Lanskaya (@alyonalanskaya) em 30 de junho de 2019 às 3h19 PDT

Dmitriy: Já tinha conteúdo próprio no primeiro projeto para os Jogos Europeus?

Andrey: Não, a etapa principal de desenvolvimento do conteúdo foi feita pela galera do Sechenov.com. Seus artistas gráficos desenharam o conteúdo básico com animações e outras coisas. E integramos tudo no motor, adicionamos efeitos adicionais, adaptamos para que tudo funcionasse corretamente.

Se falamos de pipeline, então para transmissão televisiva montamos tudo no Unreal Engine 4. Coincidentemente, naquele momento eles começaram a aprimorar suas ferramentas para realidade mista. Acontece que nem tudo é tão simples. Mesmo agora todas as ferramentas são brutas; tivemos que terminar muita coisa à mão. Em Minsk trabalhamos em uma construção customizada do motor, ou seja, reescrevemos algumas coisas dentro do motor para que, por exemplo, pudéssemos desenhar sombras em cima de objetos reais. A versão do motor vigente na época não possuía recursos que permitissem que isso fosse feito por meio de ferramentas padrão. Por isso, nossa equipe fez sua própria montagem customizada para fornecer tudo o que era de vital necessidade.

Outras nuances e adaptação ao WorldSkills em Kazan

Código de tempo (por versões de áudio) - 31:37

Dmitriy: Mas tudo isso em um período de tempo relativamente curto?

Andrey: Os prazos eram apertados Projeto Kazan, de acordo com Minsk - normal. Cerca de seis meses para o desenvolvimento, mas tendo em conta que estiveram envolvidas seis pessoas. Ao mesmo tempo, fazíamos a parte móvel e desenvolvíamos ferramentas para produção televisiva. Não houve apenas uma saída de imagem. Por exemplo, um sistema de rastreamento com ótica, para isso foi necessário criar suas próprias ferramentas.

Dmitriy: Houve alguma adaptação de um projeto para outro? Em um mês e meio foi preciso aproveitar a evolução e transferir o projeto com novos conteúdos para um novo site?

Andrey: Sim, foi por um mês e meio. Havíamos planejado férias de duas semanas para toda a equipe após o projeto de Minsk. Mas imediatamente após o fechamento, os caras do Sechenov.com aparecem e dizem: “Bem, vamos fazer Kazan então”. Ainda conseguimos descansar um pouco, mas mudamos rapidamente para este projeto. Concluímos alguns trabalhos técnicos. A maior parte do tempo foi gasto em conteúdo, porque para a WorldSkills fizemos tudo isso, apenas coordenamos com a equipe de produção. Havia apenas um roteiro da parte deles. Mas foi mais fácil – não houve necessidade de iterações extras. Ao criar conteúdo sozinho, você vê imediatamente como ele funciona no mecanismo e pode editar e coordenar rapidamente.


Quanto à parte móvel, levamos em consideração todas as sutilezas que tínhamos em Minsk. Fizemos um novo design do aplicativo, redesenhamos um pouco a arquitetura, adicionamos tutoriais, mas tentamos torná-lo o mais curto e claro possível. Reduzimos o número de etapas do usuário desde o lançamento do aplicativo até a visualização do conteúdo. Um mês e meio foi suficiente para concluir um projeto adequado. Em uma semana e meia chegamos ao local. Foi mais fácil trabalhar lá porque todo o controle do projeto estava nas mãos dos organizadores, não havia necessidade de coordenação com outros comitês. Era mais simples e fácil trabalhar em Kazan e era normal que houvesse menos tempo.

Dmitriy: Mas você decidiu deixar a abordagem de sincronização como estava, baseada no som?

Andrey: Sim, saímos pelo som. Funcionou bem. Como se costuma dizer, se funcionar, não toque. Simplesmente levamos em consideração as nuances da qualidade da trilha de áudio. Quando fizeram a introdução, houve um episódio de treinamento para as pessoas experimentarem antes do show começar. Foi surpreendente que quando no momento de tocar a faixa no estádio há aplausos tempestuosos, “ao vivo”, o sistema permite sincronizar bem com esta faixa, mas se neste momento os aplausos gravados se misturam com a faixa, então o a pista não está mais capturada. Essas nuances foram levadas em consideração e tudo ficou muito bem sincronizado em termos de som.

PS Na segunda parte da edição falamos sobre visualização de dados científicos, modelagem de processos em outros projetos, desenvolvimento de jogos e programa de mestrado "Tecnologia de desenvolvimento de jogos de computador" Publicaremos uma continuação no próximo artigo. Você pode nos ouvir e nos apoiar aqui:

PPS Enquanto isso, na versão em inglês do Habr: um olhar mais atento sobre a Universidade ITMO.

Fonte: habr.com

Adicionar um comentário