Skip to content

Latest commit

 

History

History
77 lines (51 loc) · 2.64 KB

README.md

File metadata and controls

77 lines (51 loc) · 2.64 KB

EVA (Exploratory Video Analytics)

Build Status Coverage Status License

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.

Table of Contents

Installation

Installation of EVA involves setting a virtual environment using miniconda and configuring git hooks.

  1. Clone the repository
git clone https://github.com/georgia-tech-db/eva.git
  1. Install the dependencies.
sh script/install/before_install.sh
export PATH="$HOME/miniconda/bin:$PATH" 
sh script/install/install.sh

Development

  1. 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 
  1. Ensure that the coding style conventions are followed.
   python script/formatting/formatter.py
   pycodestyle  --select E src/ test/ --exclude src/filters,src/parser/evaql

Architecture

EVA consists of four core components:

  • EVAQL Query Parser
  • Query Optimizer
  • Query Execution Engine (Filters + Deep Learning Models)
  • Distributed Storage Engine

Contributing

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

Contributors

See the people page for the full listing of contributors.

License

Copyright (c) 2018-2020 Georgia Tech Database Group
Licensed under the Apache License.