Multimedia Database System – Where SQL meets Deep Learning

EVA Banner

pypi_status License Discuss Python Versions

What is EVA?#

EVA is a database system tailored for video analytics – think PostgreSQL for videos. It supports a SQL-like language for querying videos like:

  • examining the “emotion palette” of different actors

  • finding gameplays that lead to a touchdown in a football game

EVA comes with a wide range of commonly used computer vision models. It written in Python, and it is licensed under the Apache license. The source code is available at https://github.com/georgia-tech-db/eva.

If you are wondering why you might need a video database system, start with page on Video Database Systems. It describes how EVA lets users easily make use of deep learning models and how they can reduce money spent on inference on large image or video datasets.

The Getting Started page shows how you can use EVA for different computer vision tasks: image classification, object detection, action recognition, and how you can easily extend EVA to support your custom deep learning model in the form of user-defined functions.

The User Guides section contains Jupyter Notebooks that demonstrate how to use various features of EVA. Each notebook includes a link to Google Colab, where you can run the code by yourself.

Key Features#

  1. With EVA, you can easily combine SQL and deep learning models to build next-generation database applications. EVA treats deep learning models as functions similar to traditional SQL functions like SUM().

  2. EVA is extensible by design. You can write an user-defined function (UDF) that wraps arounds your custom deep learning model. In fact, all the built-in models that are included in EVA are written as user-defined functions.

  3. EVA comes with a collection of built-in sampling, caching, and filtering optimizations inspired by relational database systems. These optimizations help speed up queries on large datasets and save money spent on model inference.

Next Steps#

A step-by-step guide to installing EVA and running queries

List of all the query commands supported by EVA

A step-by-step tour of registering a user defined function that wraps around a custom deep learning model

Illustrative EVA Applications#

Traffic Analysis Application using Object Detection Model#

Source Video Query Result

MNIST Digit Recognition using Image Classification Model#

Source Video Query Result

Movie Analysis Application using Face Detection + Emotion Classfication Models#

Source Video Query Result


Join the EVA community on Slack to ask questions and to share your ideas for improving EVA.

EVA Slack Channel