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.
-
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 of EVA involves setting a virtual environment using miniconda and configuring git hooks.
- Clone the repository
git clone https://github.com/georgia-tech-db/eva.git
- Install the dependencies.
sh script/install/before_install.sh
export PATH="$HOME/miniconda/bin:$PATH"
sh script/install/install.sh
- Ensure that all the unit test cases (including the ones you have added) run succesfully.
conda activate eva
python -m pytest --cov-report= --cov=src/ -s --log-level=INFO
- Ensure that the coding style conventions are followed.
python script/formatting/formatter.py
pycodestyle --select E src/ test/ --exclude src/filters,src/parser/evaql
EVA consists of four core components:
- EVAQL Query Parser
- Query Optimizer
- Query Execution Engine (Filters + Deep Learning Models)
- Distributed Storage Engine
To file a bug or request a feature, please file a GitHub issue. Pull requests are welcome.
See the people page for the full listing of contributors.
Copyright (c) 2018-2020 Georgia Tech Database Group
Licensed under the Apache License.