EVA Video Database System (Think MySQL for videos).
Project description
## Links
* [Documentation](https://evadb.readthedocs.io/en/latest/)
* [Tutorials](https://github.com/georgia-tech-db/eva/tree/master/tutorials)
* [Website](https://georgia-tech-db.github.io/eva/index.html)
* [Slack](https://join.slack.com/t/eva-db/shared_invite/zt-1i10zyddy-PlJ4iawLdurDv~aIAq90Dg)
* [Quick Demo](https://ada-00.cc.gatech.edu/eva/playground)
# EVA Video Database System
[![PyPI Status](https://img.shields.io/pypi/v/evadb.svg)](https://pypi.org/project/evadb)
[![CI Status](https://circleci.com/gh/georgia-tech-db/eva.svg?style=svg)](https://circleci.com/gh/georgia-tech-db/eva)
[![Coverage Status](https://coveralls.io/repos/github/georgia-tech-db/eva/badge.svg?branch=master)](https://coveralls.io/github/georgia-tech-db/eva?branch=master)
[![License](https://img.shields.io/badge/license-Apache%202-brightgreen.svg?logo=apache)](https://github.com/georgia-tech-db/eva/blob/master/LICENSE.txt)
[![Documentation Status](https://readthedocs.org/projects/exvian/badge/?version=latest)](https://evadb.readthedocs.io/en/latest/index.html)
[![Discuss](https://img.shields.io/badge/-Discuss!-blueviolet)](https://github.com/georgia-tech-db/eva/discussions)
![Python Versions](https://img.shields.io/badge/Python--versions-3.7+-brightgreen)
## What is EVA?
EVA is a new database system tailored for video analytics -- think MySQL for videos. It supports a simple SQL-like language for querying videos (e.g., finding frames in a movie with your favorite actor or find touchdowns in a football game). It comes with a wide range of commonly used computer vision models.
## Why EVA? ##
ð Easily query videos in user-facing applications with a simple SQL-like interface for commonly used computer vision models.
ð
Speed up queries and save money spent on model inference using in-built sampling, caching, and filtering optimizations.
⨠Hit your target accuracy using state-of-the-art model selection and query optimization algorithms.
## QuickStart
1. EVA requires Python 3.7+. To install EVA, we recommend using an virtual environment and the pip package manager:
```shell
pip install evadb
```
1. Start the EVA server and the client programs
```shell
python eva/eva_server & # launch server
python eva/eva_client # launch client
```
2. UPLOAD a video using the client (we use [ua_detrac.mp4](data/ua_detrac/ua_detrac.mp4) video as an example):
```mysql
LOAD FILE "data/ua_detrac/ua_detrac.mp4" INTO MyVideo;
```
3. That's it. You can now start issuing queries over the loaded video:
```mysql
SELECT id, data FROM MyVideo WHERE id < 5;
```
## More Interesting Queries
1. Search for frames in the video that contain a car
```mysql
SELECT id, data FROM MyVideo WHERE ['car'] <@ FastRCNNObjectDetector(data).labels;
```
![QueryResult](https://georgia-tech-db.github.io/eva/Img/car.gif)
2. Search for frames in the video that contain a pedestrian and a car
```mysql
SELECT id, data FROM MyVideo WHERE ['pedestrian', 'car'] <@ FastRCNNObjectDetector(data).labels;
```
3. Search for frames in the video with more than 3 cars
```mysql
SELECT id, data FROM MyVideo WHERE Array_Count(FastRCNNObjectDetector(data).labels, 'car') > 3;
```
4. Create your own user-defined function (UDF) that wraps around a vision model like FastRCNN
```mysql
CREATE UDF IF NOT EXISTS MyUDF
INPUT (frame NDARRAY UINT8(3, ANYDIM, ANYDIM))
OUTPUT (labels NDARRAY STR(ANYDIM), bboxes NDARRAY FLOAT32(ANYDIM, 4),
scores NDARRAY FLOAT32(ANYDIM))
TYPE Classification
IMPL 'eva/udfs/fastrcnn_object_detector.py';
```
## Contributing to EVA
To file a bug or request a feature, please use GitHub issues. Pull requests are welcome.
For more information on installing from source and contributing to EVA, see our
[contributing guidelines](https://evadb.readthedocs.io/en/latest/source/contribute/index.html).
## Contributors
See the [people page](https://github.com/georgia-tech-db/eva/graphs/contributors) for the full listing of contributors.
## License
Copyright (c) 2018-2022 [Georgia Tech Database Group](http://db.cc.gatech.edu/)
Licensed under [Apache License](LICENSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
evadb-0.0.12.tar.gz
(223.0 kB
view details)
Built Distribution
evadb-0.0.12-py3-none-any.whl
(412.5 kB
view details)
File details
Details for the file evadb-0.0.12.tar.gz
.
File metadata
- Download URL: evadb-0.0.12.tar.gz
- Upload date:
- Size: 223.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e666751c843fcfe476407fbd9a4b2a7acec7b9b01086371c366e5c8b5325face |
|
MD5 | 63dac481802c2499d787fc86963cd69a |
|
BLAKE2b-256 | a0a56d27465223b18de1d4e8869e48d45f52917eb3f09a4c3c620c980ab45b61 |
File details
Details for the file evadb-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: evadb-0.0.12-py3-none-any.whl
- Upload date:
- Size: 412.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3559ca34b9ea7d1cf7e59021d645b0290563a918e0a2a2de0217bb512366c7f |
|
MD5 | fc14655bbab2cae714b95f7f055341ed |
|
BLAKE2b-256 | 6fa43dd9a96fe2ac5c42722fa2ee197ee4e72e9c8c31a1db7cd1e34e1dacd8e0 |