EVA (Exploratory Video Analytics)
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
- Run the
UPLOADcommand in the client terminal (use the ua_detrac.mp4 as an example):
UPLOAD INFILE 'data/ua_detrac/ua_detrac.mp4' PATH 'test_video.mp4';
- Run the
LOADcommand in the client terminal:
LOAD DATA INFILE 'test_video.mp4' INTO MyVideo;
- Below is a basic query that should work on the client
SELECT id, data FROM MyVideo WHERE id < 5;
Example Queries
- Search frames with a car
SELECT id, frame FROM MyVideo WHERE ['car'] <@ FastRCNNObjectDetector(frame).labels;
- Search frames with a pedestrian and a car
SELECT id, frame FROM MyVideo WHERE ['pedestrian', 'car'] <@ FastRCNNObjectDetector(frame).labels;
- 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.