ReSpo.Vision: Capture Sports Analytics com GPUs NVIDIA, DevOps e OKE na Oracle Cloud

Para melhorar o desempenho do jogador, identificar pontos fracos do concorrente e calcular probabilidades vencedoras, o ReSpo.Vision executa sua plataforma de análise esportiva nativa da nuvem habilitada para IA na Oracle Cloud Infrastructure (OCI).

Capturando dados de rastreamento em tempo real 3D de jogadores e bolas, o ReSpo.Vision ingere feeds de TV transmitidos sem exigir câmeras pré-instaladas adicionais ou intervenção humana. Usando visão computacional e algoritmos de machine learning, a plataforma ReSpo.Vision captura dados de rastreamento detalhados para mais de 40 partes do corpo do jogador a uma taxa de 60 vezes por segundo. Esses dados são então gravados através de uma única câmera de TV ou de uma gravação anterior. Cada jogo gera cerca de 150 milhões de pontos de dados. Com os dados coletados do jogo, o ReSpo.Vision é capaz de automatizar a detecção de eventos, visualização, avaliação de desempenho, insights e recomendações para equipes, patrocinadores e fãs.

Fundada em 2019, a ReSpo.Vision, com sede em Varsóvia, desenvolveu um sistema exclusivo de rastreamento e captura de dados 3D, que pode exibir qualquer transmissão de TV ou saída de câmera única e capturar um fluxo contínuo de coordenadas 3D de seções corporais de cada jogador e da bola. A plataforma ReSpo.Vision então usa esses dados para criar análises de jogadores e jogos, calcular probabilidades de eventos de jogos, personalizar rastreadores visuais de jogos e fornecer estatísticas detalhadas para casas de apostas. Ao transformar dados brutos em recursos digeríveis, como eventos específicos de jogos e comportamentos no jogo do desempenho do jogador, a plataforma da ReSpo.Vision fornece previsões de jogos, sugestões de jogos, táticas, compras de jogadores e muito mais. O mecanismo de visualização pronto para o metaverso da Respo.Vision também oferece aos fãs uma experiência imersiva no jogo para ver qualquer ação de várias perspectivas.

A ReSpo.Vision executa sua plataforma de análise esportiva na OCI, usando uma variedade de opções de computação, incluindo máquinas virtuais flexíveis AMD, opções de computação bare metal de alto desempenho e formas de GPU de alto desempenho.

Arquitetura

A ReSpo.Vision criou e implantou seu sistema de rastreamento 3D baseado em IA, nativo da nuvem, na região da Oracle Cloud Infrastructure (OCI) em Frankfurt, Alemanha.

As gravações de vídeo são processadas on-premises ou em sua tenancy da OCI. Uma conexão segura é estabelecida na rede local por meio de um gateway de internet usando uma instância virtual da VPN WireGuard. Os vídeos são divididos em quadros usando VMs (máquinas virtuais) flexíveis da OCI em um cluster do OCI Kubernetes Engine (OKE). Como alternativa, os vídeos brutos podem ser enviados para o armazenamento de objetos e depois processados por máquinas virtuais flexíveis. O cluster do OKE é dimensionado entre 20 e 40 instâncias de VM, dependendo do tamanho e da resolução do vídeo.

O vídeo é então armazenado no Oracle Cloud Infrastructure Block Volumes para extração de dados. Dependendo do tamanho e da resolução do vídeo, o vídeo é enviado para clusters de:
  • Flexione máquinas virtuais para 4K (HD) e vídeos menores
  • Máquinas virtuais com GPUs Nvidia P100 para 4K (HD) e vídeos maiores
  • Servidores bare metal de alto desempenho (BM4.8) executando GPUs NVIDIA A100, A10 ou P100 para 8K (UHD) e vídeos maiores.
Os pontos de dados são então analisados pela VM de análise e depois armazenados no Oracle Cloud Infrastructure Object Storage. Esses dados podem ser descarregados para processamento posterior usando o Oracle API Gateway para gerar dados de análise e visualização.

Para monitorar o desempenho e a integridade dos sistemas, o ReSpo implantou o Grafana para fornecer monitoramento, registro em log e visualização. O monitoramento adicional do sistema é fornecido pelo Oracle Cloud Infrastructure Monitoring, Logging e Alarms. O ReSpo também usa o Oracle Cloud Infrastructure DevOps para manter o cluster do OKE.

O diagrama a seguir ilustra o fluxo de dados simplificado por meio da topologia.



respo-vision-oci-flow-oracle.zip

O diagrama a seguir ilustra essa arquitetura de referência.



respo-vision-oci-arch-oracle.zip

Para considerações futuras, a VM de análise pode potencialmente ser substituída usando uma plataforma sem servidor que usa funções e notificações. Para permitir que os dados sejam acessados diretamente no OCI, em vez de serem transportados para uma nuvem de 3 partes, o Oracle API Gateway pode acessar os dados para acesso externo.



respo-visão-oci-futuro-oracle.zip

A arquitetura tem os seguintes componentes:

  • Tenancy

    Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você se inscreve no Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no OCI em sua tenancy. Uma tenancy é sinônimo de uma empresa ou organização. Normalmente, uma empresa terá uma única locação e refletirá sua estrutura organizacional dentro dessa locação. Uma única tenancy geralmente é associada a uma única assinatura, e uma única assinatura geralmente só tem uma tenancy.

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, hospedando domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).

  • Domínio de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falha no servidor físico, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego permitido dentro e fora da sub-rede.

  • Tabela de roteamento

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.

  • Gateway de internet

    Um gateway de internet permite o tráfego entre as sub-redes públicas em uma VCN e a internet pública.

  • Gateway de serviço

    Um gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e não atravessa a internet.

  • Kubernetes Engine

    O Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine ou OKE) é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos em contêineres na nuvem. Você especifica os recursos de computação necessários aos seus aplicativos, e o serviço Kubernetes Engine os provisiona no Oracle Cloud Infrastructure em uma tenancy existente. O OKE usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres entre clusters de hosts.

  • Balanceador de carga

    O Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores.

  • Computação

    Com o Oracle Cloud Infrastructure Compute, você pode provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda de rede e armazenamento. Depois de criar uma instância de computação, você pode acessá-la com segurança, reiniciá-la, anexar e desanexar volumes e encerrá-la quando não precisar mais dela.

  • Bare metal

    Os servidores bare metal da Oracle fornecem isolamento, visibilidade e controle usando instâncias de computação dedicadas. Os servidores suportam aplicativos que exigem altas contagens de núcleos, grandes quantidades de memória e alta largura de banda. Eles podem dimensionar até 192 núcleos, 2,3 TB de RAM e até 1 PB de armazenamento em blocos. Os clientes podem criar ambientes de nuvem nos servidores bare metal da Oracle com melhorias significativas no desempenho em relação a nuvens públicas e data centers locais.

  • Volume em blocos

    Com o Oracle Cloud Infrastructure Block Volumes, você pode criar, anexar, conectar e mover volumes de armazenamento e alterar o desempenho do volume para atender aos seus requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perder dados.

  • Armazenamento de objetos

    O serviço OCI Object Storage oferece acesso a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar dados de forma segura e protegida diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço.

    Use o armazenamento padrão para armazenamento de acesso frequente que você precisa para acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

  • Computação de alto desempenho

    A computação de alto desempenho foi projetada para cargas de trabalho que exigem rede de cluster e núcleos de processador de alta velocidade para cargas de trabalho massivamente paralelas.

  • Monitoring

    O Oracle Cloud Infrastructure Monitoring monitora ativa e passivamente seus recursos de nuvem e usa alarmes para notificá-lo quando as métricas atenderem aos triggers especificados.

  • Logging
    O Oracle Cloud Infrastructure Logging é um serviço altamente escalável e totalmente gerenciado que oferece acesso aos seguintes tipos de logs de seus recursos na nuvem:
    • Logs de auditoria: Logs relacionados a eventos produzidos pelo OCI Audit.
    • Logs de serviço: Logs publicados por serviços individuais, como OCI API Gateway, OCI Events, OCI Functions, OCI Load Balancing, OCI Object Storage e logs de fluxo da VCN.
    • Logs personalizados: Logs que contêm informações de diagnóstico de aplicativos personalizados, outros provedores de nuvem ou um ambiente local.

Agradecimentos

  • Autors: Robert Huie, Sasha Banks-Louie
  • Contribuintes: Bill Wimsatt, Brad Goodwin, Robert Lies

    ReSpo.Vision Equipe: Wojciech Rosinski (Diretor de Tecnologia e Cofundador)