Sign inSign up

geonix/wtt-stream-match-finder-openvino

By geonix

•Updated 8 months ago

Container uses finetuned florence2 to extract match start time from wtt live streams

Image
Machine learning & AI
0

1.3K

geonix/wtt-stream-match-finder-openvino repository overview

⁠WTT Stream Match Finder (OpenVINO)

Automatically detect table tennis match start timestamps from WTT YouTube live streams.

This container uses a fine-tuned Florence-2 vision language model with Intel OpenVINO GPU acceleration to extract scoreboard information from video frames and identify when individual matches begin within multi-hour live stream recordings.

⁠Features

  • 🎯 Accurate match detection using fine-tuned Florence-2 OCR model trained on WTT scoreboards
  • ⚡ Intel GPU acceleration via OpenVINO (integrated or discrete Intel GPUs)
  • 📥 YouTube integration - downloads videos directly from YouTube URLs using yt-dlp
  • 📂 Local video support - process local video files
  • 📄 JSON output - structured match list with timestamps and player names

⁠Quick Start

# Create output directory
mkdir -p /tmp/matches

# Run with YouTube video
docker run --rm \
    --device /dev/dri:/dev/dri \
    --group-add $(getent group video | cut -d: -f3) \
    --group-add $(getent group render | cut -d: -f3) \
    -v /tmp/matches:/output \
    geonix/wtt-stream-match-finder-openvino \
    --youtube_video "https://www.youtube.com/watch?v=EXAMPLE" \
    --output_json_file /output/results.json

⁠Output Format

[
  {
    "timestamp": 720,
    "player1": "MA LONG",
    "player2": "FAN ZHENDONG"
  },
  {
    "timestamp": 4140,
    "player1": "CHEN MENG",
    "player2": "SUN YINGSHA"
  }
]

⁠Requirements

  • Intel GPU (integrated graphics or discrete) with OpenVINO support
  • Access to /dev/dri for GPU acceleration
  • User must be in video and render groups

⁠Usage Options

| Argument | Description | |----------|-------------| | --youtube_video URL | YouTube video URL to process | | --local_video PATH | Local video file path (mount required) | | --output_json_file PATH | Output JSON file path (default: /output/results.json) | | --backend | Inference backend: openvino (default) or pytorch-cpu |

⁠How It Works

  1. Download - Downloads YouTube video at 480p (video only) using yt-dlp
  2. Coarse Scan - Samples video every 3 minutes to detect scoreboard regions
  3. Binary Search - Refines timestamps using binary search between detected transitions
  4. Match Detection - Identifies frames where game score is 0:0 (match start)

⁠GPU Configuration

Intel GPU drivers are bundled inside the container from Intel's Ubuntu 22.04 APT repository. No host driver installation required beyond the kernel module (i915).

The container automatically selects GPU when available, with CPU fallback.

⁠Tags

  • latest - Latest stable release with OpenVINO 2025.4.1

⁠Source Code

GitHub: danilovsergei/wtt-youtube-organizer⁠

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:36d2712a2…

Size

2.4 GB

Last updated

8 months ago

docker pull geonix/wtt-stream-match-finder-openvino