Skip to main content

EVA is a visual data management system (think MySQL for videos).

Project description

EVA (Exploratory Video Analytics)

Build Status Coverage Status License Documentation Status Join the chat at https://gitter.im/georgia-tech-db/eva

What is EVA?

EVA is a visual data management system (think MySQL for videos). It supports a declarative language similar to SQL and a wide range of commonly used computer vision models.

What does EVA do?

  • EVA enables querying of visual data in user facing applications by providing a simple SQL-like interface for a wide range of commonly used computer vision models.

  • EVA improves throughput by introducing sampling, filtering, and caching techniques.

  • EVA improves accuracy by introducing state-of-the-art model specialization and selection algorithms.

Quick Links

Installation

Dependency

EVA requires Python 3.8 or later and JAVA 8. On Ubuntu, you can install the JAVA by sudo -E apt install -y openjdk-8-jdk openjdk-8-jre.

Recommended

To install EVA, we recommend using virtual environment and pip:

python3 -m venv env38
. env38/bin/activate
pip install --upgrade pip
pip install evatestdb
Install from source

git clone https://github.com/georgia-tech-db/eva.git && cd eva
python3 -m venv env38
. env38/bin/activate
pip install --upgrade pip
sh script/antlr4/generate_parser.sh
pip install .

QuickStart

1. Set up the server and client - Activate the virtual environment: `. env37/bin/activate`

  • Launch EVA database Server: eva_server

  • Launch CLI: eva_client

  1. Run the UPLOAD command in the client terminal (use the ua_detrac.mp4 as an example):
UPLOAD INFILE 'data/ua_detrac/ua_detrac.mp4' PATH 'test_video.mp4';
  1. Run the LOAD command in the client terminal:
LOAD DATA INFILE 'test_video.mp4' INTO MyVideo;
  1. Below is a basic query that should work on the client
SELECT id, data FROM MyVideo WHERE id < 5;

Example Queries

  1. Search frames with a car
SELECT id, data FROM MyVideo WHERE ['car'] <@ FastRCNNObjectDetector(data).labels;

QueryResult

  1. Search frames with a pedestrian and a car
SELECT id, data FROM MyVideo WHERE ['pedestrian', 'car'] <@ FastRCNNObjectDetector(data).labels;
  1. Search frames containing greater than 3 cars
SELECT id, data FROM DETRAC WHERE array_count(FastRCNNObjectDetector(data).labels, 'car') > 3;

Documentation

You can find documentation for EVA here.

Contributing

To file a bug or request a feature, please file a GitHub issue. Pull requests are welcome.

For information on installing from source and contributing to EVA, see our contributing guidelines.

Contributors

See the people page for the full listing of contributors.

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.0.2.tar.gz (157.0 kB view hashes)

Uploaded Source

Built Distribution

evadb-0.0.2-py3-none-any.whl (267.3 kB view hashes)

Uploaded Python 3

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