Skip to content

saiprashanth173/Eva

 
 

Repository files navigation

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.

About

Exploratory Video Analytics System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.0%
  • ANTLR 4.7%
  • Other 1.3%