Skip to main content

EVA Video Database System (Think MySQL for videos).

Project description

EVA

EVA Video Database System: Where SQL meets Deep Learning

🌟 Try It Out! 🌟

Open EVA on Colab Discuss on Github!

Links

EVA Video Database System

PyPI Status CI Status Coverage Status License Documentation Status Discuss Python Versions

What is EVA?

EVA is a new database system tailored for video analytics -- think PostgreSQL for videos. It supports a SQL-like language for querying videos (e.g., finding frames in a movie with your favorite actor or finding touchdowns in a football game). It comes with a wide range of commonly used computer vision models.

Why EVA?

👀 Easily query videos in user-facing applications with a SQL-like interface for commonly used computer vision models.

🚅 Speed up queries and save money spent on model inference using in-built sampling, caching, and filtering optimizations.

✨ Hit your target accuracy using state-of-the-art model selection and query optimization algorithms.

QuickStart

  1. EVA requires Python . To install EVA, we recommend using an virtual environment and the pip package manager:
pip install evadb
  1. Start the EVA server and the client programs
eva_server &   # launch server
eva_client     # launch client
  1. LOAD a video using the client (we use ua_detrac.mp4 video as an example):
LOAD FILE "data/ua_detrac/ua_detrac.mp4" INTO MyVideo;
  1. That's it. You can now start issuing queries over the loaded video:
SELECT id, data FROM MyVideo WHERE id < 5;

More Interesting Queries

  1. Search for frames in the video that contain a car
SELECT id, data FROM MyVideo WHERE ['car'] <@ FastRCNNObjectDetector(data).labels;
Source Video Query Result
Source Video Query Result
  1. Search for frames in the video that contain a pedestrian and a car
SELECT id, data FROM MyVideo WHERE ['pedestrian', 'car'] <@ FastRCNNObjectDetector(data).labels;
  1. Search for frames in the video with more than 3 cars
SELECT id, data FROM MyVideo WHERE Array_Count(FastRCNNObjectDetector(data).labels, 'car') > 3;
  1. Create your own user-defined function (UDF) that wraps around a vision model like FastRCNN
CREATE UDF IF NOT EXISTS MyUDF
INPUT  (frame NDARRAY UINT8(3, ANYDIM, ANYDIM))
OUTPUT (labels NDARRAY STR(ANYDIM), bboxes NDARRAY FLOAT32(ANYDIM, 4),
        scores NDARRAY FLOAT32(ANYDIM))
TYPE  Classification
IMPL  'eva/udfs/fastrcnn_object_detector.py';

EVA Applications

MNIST Digit Recognition

Source Video Query Result
Source Video Query Result

Emotion Detection

Source Video Query Result
Source Video Query Result

Contributing to EVA

To file a bug or request a feature, please use GitHub issues. Pull requests are welcome. For more information on installing from source and contributing to EVA, see our contributing guidelines.

License

Copyright (c) 2018-2022 Georgia Tech Database Group Licensed under Apache License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evadb-0.1.0.tar.gz (239.3 kB view details)

Uploaded Source

Built Distribution

evadb-0.1.0-py3-none-any.whl (442.9 kB view details)

Uploaded Python 3

File details

Details for the file evadb-0.1.0.tar.gz.

File metadata

  • Download URL: evadb-0.1.0.tar.gz
  • Upload date:
  • Size: 239.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for evadb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 81ca76f4b8240a11d5c91edc7b87d3d351230aff0aa016f7640239f848993840
MD5 ed097de85f41a7c5bcc2c716178779d2
BLAKE2b-256 34d69918f34f33a16df2ecab04caa42bd205e13741864bee8057db95819a71bd

See more details on using hashes here.

File details

Details for the file evadb-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: evadb-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 442.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for evadb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8c19b65dbab6cabae93631b3eb84ae5048614a109df7aab8dff8711e70be264
MD5 47950441bf18ec90ef4634937c800937
BLAKE2b-256 091823b1f8c3a0e93a310fc65314cb1a81fed2b6c032373e5c1c3f7295194d0f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page