ReSpo.Vision: Capture Sports Analytics With NVIDIA GPUs, DevOps, and OKE on Oracle Cloud

To improve player performance, identify competitor weaknesses, and to calculate winning odds, ReSpo.Vision runs its AI-enabled, cloud-native sports analytics platform on Oracle Cloud Infrastructure (OCI).

Capturing real-time 3D tracking data of players and balls, ReSpo.Vision ingests broadcast TV feeds without requiring additional preinstalled cameras or human intervention. Using computer vision and machine learning algorithms, the ReSpo.Vision platform captures detailed tracking data for more than 40 player body parts at a rate of 60 times per second. This data is then recorded through a single TV camera or from a previous recording. Each game generates some 150 million data points. With the data collected from the game, ReSpo.Vision is able to automate event detection, visualization, performance assessment, insights, and recommendations for teams, sponsors, and fans.

Founded in 2019, Warsaw-based ReSpo.Vision has developed a unique 3D tracking and data capture system, which can screen any TV broadcast or single camera output and capture a continuous stream of 3D coordinates of body sections of each player and of the ball. The ReSpo.Vision platform then uses this data to create player and game analytics, calculate game event probabilities, customize visual game trackers, and provide detailed statistics for bookmakers. By turning raw data into digestible features such as particular match events and in-game behaviors of player performance, ReSpo.Vision's platform provides game predictions, play suggestions, tactics, player purchases, and more. Respo.Vision’s metaverse-ready visualization engine also provides fans with an immersive, in-game experience to see any action from multiple perspectives.

ReSpo.Vision runs its sports analytics platform on OCI, using a variety of compute options, including AMD flex virtual machines, bare metal high performance computing options, and highly performant GPU shapes.

Architecture

ReSpo.Vision built and deployed its AI-powered, cloud-native, 3D tracking system in the Oracle Cloud Infrastructure (OCI) region in Frankfurt, Germany.

Video recordings are processed either on-premises or within its OCI tenancy. A secure connection is established from the on-premises network through an internet gateway using a WireGuard VPN virtual instance. The videos are split into frames using OCI flex virtual machines (VMs) in an Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) cluster. Alternatively, the raw videos can be sent to object storage and then processed by flex virtual machines. The OKE cluster scales between 20-40 VM instances, depending on the video size and resolution.

The video is then stored on Oracle Cloud Infrastructure Block Volumes for data extraction. Depending on the video size and resolution the video is sent to clusters of:
  • Flex virtual machines for 4K (HD) and smaller videos
  • Virtual machines with Nvidia P100 GPUs for 4K (HD) and larger videos
  • High performance bare metal servers (BM4.8) running NVIDIA A100, A10, or P100 GPUs for 8K (UHD) and larger videos.
The data points are then analyzed by the analytics VM and then stored in Oracle Cloud Infrastructure Object Storage. This data can then be offloaded for further processing by using Oracle API Gateway to generate analytics and visualization data.

For monitoring the performance and health of the systems, ReSpo has deployed Grafana to provide monitoring, logging, and visualization. Additional system monitoring is provided by Oracle Cloud Infrastructure Monitoring, Logging, and Alarms. ReSpo also uses Oracle Cloud Infrastructure DevOps to maintain the OKE cluster.

The following diagram illustrates the simplified data flow through the topology.



respo-vision-oci-flow-oracle.zip

The following diagram illustrates this reference architecture.



respo-vision-oci-arch-oracle.zip

For future considerations, the analytics VM can potentially be replaced by using a serverless platform that uses functions and notifications. To allow for data to be accessed directly on OCI rather than being transported to a 3rd party cloud, Oracle API Gateway can access the data for external access.



respo-vision-oci-future-oracle.zip

The architecture has the following components:

  • Tenancy

    A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy. A tenancy is synonymous with a company or organization. Usually, a company will have a single tenancy and reflect its organizational structure within that tenancy. A single tenancy is usually associated with a single subscription, and a single subscription usually only has one tenancy.

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Fault domain

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain has three fault domains with independent power and hardware. When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain.

  • Virtual cloud network (VCN) and subnets

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Security list

    For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.

  • Route table

    Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.

  • Internet gateway

    The internet gateway allows traffic between the public subnets in a VCN and the public internet.

  • Service gateway

    The service gateway provides access from a VCN to other services, such as Oracle Cloud Infrastructure Object Storage. The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes is a fully managed, scalable, and highly available service that you can use to deploy your containerized applications to the cloud. You specify the compute resources that your applications require, and Container Engine for Kubernetes provisions them on Oracle Cloud Infrastructure in an existing tenancy. Container Engine for Kubernetes uses Kubernetes to automate the deployment, scaling, and management of containerized applications across clusters of hosts.

  • Load balancer

    The Oracle Cloud Infrastructure Load Balancing service provides automated traffic distribution from a single entry point to multiple servers in the back end.

  • Compute

    The Oracle Cloud Infrastructure Compute service enables you to provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements for CPU, memory, network bandwidth, and storage. After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you no longer need it.

  • Bare metal

    Oracle’s bare metal servers provide isolation, visibility, and control by using dedicated compute instances. The servers support applications that require high core counts, large amounts of memory, and high bandwidth. They can scale up to 160 cores (the largest in the industry), 2 TB of RAM, and up to 1 PB of block storage. Customers can build cloud environments on Oracle’s bare metal servers with significant performance improvements over other public clouds and on-premises data centers.

  • Block volume

    With block storage volumes, you can create, attach, connect, and move storage volumes, and change volume performance to meet your storage, performance, and application requirements. After you attach and connect a volume to an instance, you can use the volume like a regular hard drive. You can also disconnect a volume and attach it to another instance without losing data.

  • Object storage

    Object storage provides quick access to large amounts of structured and unstructured data of any content type, including database backups, analytic data, and rich content such as images and videos. You can safely and securely store and then retrieve data directly from the internet or from within the cloud platform. You can seamlessly scale storage without experiencing any degradation in performance or service reliability. Use standard storage for "hot" storage that you need to access quickly, immediately, and frequently. Use archive storage for "cold" storage that you retain for long periods of time and seldom or rarely access.

  • High-performance computing

    Designed for high-performance computing workloads that require high frequency processor cores and cluster networking for massively parallel HPC workloads.

  • Monitoring

    Oracle Cloud Infrastructure Monitoring service actively and passively monitors your cloud resources using metrics to monitor resources and alarms to notify you when these metrics meet alarm-specified triggers.

  • Logging
    Logging is a highly scalable and fully managed service that provides access to the following types of logs from your resources in the cloud:
    • Audit logs: Logs related to events emitted by the Audit service.
    • Service logs: Logs emitted by individual services such as API Gateway, Events, Functions, Load Balancing, Object Storage, and VCN flow logs.
    • Custom logs: Logs that contain diagnostic information from custom applications, other cloud providers, or an on-premises environment.

Get Featured in Built and Deployed

Want to show off what you built on Oracle Cloud Infrastructure? Care to share your lessons learned, best practices, and reference architectures with our global community of cloud architects? Let us help you get started.

  1. Download the template (PPTX)

    Illustrate your own reference architecture by dragging and dropping the icons into the sample wireframe.

  2. Watch the architecture tutorial

    Get step by step instructions on how to create a reference architecture.

  3. Submit your diagram

    Send us an email with your diagram. Our cloud architects will review your diagram and contact you to discuss your architecture.

Acknowledgements

  • Authors: Robert Huie, Sasha Banks-Louie
  • Contributors: Bill Wimsatt, Brad Goodwin, Robert Lies

    ReSpo.Vision Team: Wojciech Rosinski (Chief Technology Officer and Co-Founder)