VFrame Search is an image search engine integrating neural networks for indexing and object detection. It is designed to fit into an automated content ingestion workflow to allow for efficient search and indexing of a continuous stream of incoming media. As such it is built out of the following components:
- Web-based frontend: search, index, and dashboard
- Flask backend: RESTful API for talking to MySQL and also for running jobs
- Celery worker: performs indexing and other long tasks
- Commandline interface: running tasks, processing images, and integrating into other tasks.
After installing Docker and docker-compose, clone this repo and spin up the Docker containers:
git clone https://github.com/adamhrv/vframe_search
cd vframe_search
docker-compose up --build -d
docker-compose logs -f
Navigate to http://0.0.0.0:5000/
to use the webapp.
The folder data_store/incoming/
is shared with the VFrame Search API instance, so you must move files there first before you can import them.
cp ~/Downloads/keyframes_1k/ data_store/incoming/ # or use your image dataset!
docker exec -it vframe_search_api_1 python cli_data.py add -i ../data_store/incoming/
Images are copied into the database and the originals are left in the incoming folder, so please rm -rf data_store/incoming/*
if you don't need the original archives.
To get started, first download some pre-trained image classification models from our model zoo:
Next, create a new feature vector for each of these networks.
Finally, navigate to the Task Manager and click "update index" to begin processing the vectors.
Once processing completes, you are ready to begin using the search engine.
- Overview - a brief look at the system
- API - about our RESTful API
- Commandline interface - about commandline scripting
- Model zoo - about our model zoo
- Docker setup - notes on installing with Docker
- Manual setup - notes on installing everything locally
- Images - how to get images
- Simple search - basic demonstration image search engine (deprecated)
For more information, please see our website at vframe.io.