Skip to main content

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.

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.

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.

Metadata

Release files for evatestdb 0.0.56

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for evatestdb 0.0.56
File Size Uploaded Provenance Actions
evatestdb-0.0.56.tar.gz 150.0 kB Without provenance Details for evatestdb-0.0.56.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for evatestdb 0.0.56
File Interpreter ABI Platform Actions
evatestdb-0.0.56-py3-none-any.whl Python 3 none any Details for evatestdb-0.0.56-py3-none-any.whl

Total release size: 400.8 kB

Release files / evatestdb-0.0.56.tar.gz

Download URL evatestdb-0.0.56.tar.gz
Size 150.0 kB
Tags Source
SHA-256 checksum
How to use checksums
90dc66dd1be61c98930e6c1cc637032d734b415c0c7ab2c7087eff9b9961abd7
BLAKE2b-256 checksum
How to use checksums
11c2a8ae74a73423ea53ecb10e4fcca3efef0c237aa9897439561730745d8e16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Release files / evatestdb-0.0.56-py3-none-any.whl

Download URL evatestdb-0.0.56-py3-none-any.whl
Size 250.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aa2a2f1f5046dcec9c6961a9d465ed4f0e9ae84a6b9a054893385c0981129d14
BLAKE2b-256 checksum
How to use checksums
b9e426a7ecbaa23b6a67f31b30821a2a68efe0ffbae99f54d3d50bf0d8395758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Security for evatestdb 0.0.56

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page