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, frame FROM MyVideo WHERE ['car'] <@ FastRCNNObjectDetector(frame).labels;

QueryResult

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

evatestdb-0.0.56.tar.gz (150.0 kB view details)

Uploaded Source

Built Distribution

evatestdb-0.0.56-py3-none-any.whl (250.8 kB view details)

Uploaded Python 3

File details

Details for the file evatestdb-0.0.56.tar.gz.

File metadata

  • Download URL: evatestdb-0.0.56.tar.gz
  • Upload date:
  • Size: 150.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for evatestdb-0.0.56.tar.gz
Algorithm Hash digest
SHA256 90dc66dd1be61c98930e6c1cc637032d734b415c0c7ab2c7087eff9b9961abd7
MD5 6d7be310c130ec7676173c499b1dc1ef
BLAKE2b-256 11c2a8ae74a73423ea53ecb10e4fcca3efef0c237aa9897439561730745d8e16

See more details on using hashes here.

File details

Details for the file evatestdb-0.0.56-py3-none-any.whl.

File metadata

  • Download URL: evatestdb-0.0.56-py3-none-any.whl
  • Upload date:
  • Size: 250.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for evatestdb-0.0.56-py3-none-any.whl
Algorithm Hash digest
SHA256 aa2a2f1f5046dcec9c6961a9d465ed4f0e9ae84a6b9a054893385c0981129d14
MD5 a34480eb7d0b6a5d08ff67854c189196
BLAKE2b-256 b9e426a7ecbaa23b6a67f31b30821a2a68efe0ffbae99f54d3d50bf0d8395758

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