All Projects → vitrivr → cineast

vitrivr / cineast

Licence: MIT license
Cineast is a multi-feature content-based mulitmedia retrieval engine. It is capable of retrieving images, audio- and video sequences as well as 3d models based on edge or color sketches, textual descriptions and example objects.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to cineast

blur-up
A tool that creates preview images.
Stars: ✭ 28 (-45.1%)
Mutual labels:  images
tensorflow-bicubic-downsample
tf.image.resize_images has aliasing when downsampling and does not have gradients for bicubic mode. This implementation fixes those problems.
Stars: ✭ 23 (-54.9%)
Mutual labels:  images
imgs-upload-srv
【Released】🌁一款以图片管理为核心的图床。在众多上传的图片中管理自己的图片,分类它们,贴上标签...以便以后精确管理。提供简单分享&在线外链("仅存储"&UI2.x功能正在进行中)。🌹
Stars: ✭ 73 (+43.14%)
Mutual labels:  images
image embeddings
Using efficientnet to provide embeddings for retrieval
Stars: ✭ 107 (+109.8%)
Mutual labels:  retrieval
plexus
Plexus - Interactive Emotion Visualization based on Social Media
Stars: ✭ 27 (-47.06%)
Mutual labels:  retrieval
android-doc-picker
A simple and easy to use documents Picker android library. Choose any documents like pdf, ppt, text, word or media files from your device
Stars: ✭ 37 (-27.45%)
Mutual labels:  images
palladian
Palladian is a Java-based toolkit with functionality for text processing, classification, information extraction, and data retrieval from the Web.
Stars: ✭ 32 (-37.25%)
Mutual labels:  retrieval
wp-term-images
Images for categories, tags, and other taxonomy terms
Stars: ✭ 34 (-33.33%)
Mutual labels:  images
hermitage
Service that provides storage, delivery and modification of your images
Stars: ✭ 33 (-35.29%)
Mutual labels:  images
react-simple-image-viewer
Simple image viewer component for React
Stars: ✭ 44 (-13.73%)
Mutual labels:  images
ngx-fire-uploader
Angular Fire Uploader
Stars: ✭ 18 (-64.71%)
Mutual labels:  images
wallup-android
Hand curated Images & 'Auto Wallpaper'
Stars: ✭ 30 (-41.18%)
Mutual labels:  images
shrec17
Supplementary code for SHREC 2017 RGB-D Object-to-CAD Retrieval track
Stars: ✭ 27 (-47.06%)
Mutual labels:  retrieval
beir
A Heterogeneous Benchmark for Information Retrieval. Easy to use, evaluate your models across 15+ diverse IR datasets.
Stars: ✭ 738 (+1347.06%)
Mutual labels:  retrieval
Duplicate-Image-Finder
difPy - Python package for finding duplicate or similar images within folders
Stars: ✭ 187 (+266.67%)
Mutual labels:  images
Everybody-dance-now
Implementation of paper everybody dance now for Deep learning course project
Stars: ✭ 22 (-56.86%)
Mutual labels:  images
awesome-visual-localization-papers
The relocalization task aims to estimate the 6-DoF pose of a novel (unseen) frame in the coordinate system given by the prior model of the world.
Stars: ✭ 60 (+17.65%)
Mutual labels:  retrieval
sora
A simple library to display images in Jupyter notebooks
Stars: ✭ 15 (-70.59%)
Mutual labels:  images
cybernode-archive
🚀 Manager of docker images for cybernomics
Stars: ✭ 20 (-60.78%)
Mutual labels:  images
Walt
🎬 A Swift 3 library for creating gifs and videos from a series of images
Stars: ✭ 44 (-13.73%)
Mutual labels:  images

vitrivr - cineast GitHub release License swagger-editor swagger-editor Java CI with Gradle

Cineast

Cineast is a multi-feature content-based multimedia retrieval engine. It is capable of retrieving images, audio- and video sequences as well as 3d models based on edge or color sketches, sketch-based motion queries and example objects. Cineast is written in Java and uses CottontailDB as a storage backend.

Building Cineast

Cineast can be built using Gradle. It needs Java 17+. Building and running it is as easy as

$> git clone https://github.com/vitrivr/cineast.git
$> cd cineast
$> ./gradlew cineast-runtime:shadowJar
$> java -jar cineast-runtime/build/libs/cineast-runtime-x.x-full.jar cineast.json

For more setup information, consult our Wiki

Docker image

There is a Docker image available on Docker Hub.

You can run the CLI with:

$> docker run vitrivr/cineast cli cineast.json help

To change the configuration you can use a bind mount, e.g. to run the API server with custom configuration file cineast.json in the current directory:

$> docker run -v "$PWD"/cineast.json:/opt/cineast/cineast.json:ro,Z vitrivr/cineast api cineast.json

Generate OpenApi Specification

If you need to rebuild the OpenApi Specification (OAS), there is a gradle task for this purpose:

$> ./gradlew -PcineastConfig=<path/to/your/config> generateOpenApiSpecs

You can omit -PcineastConfig, then the default config (cineast.json) is used. As a result, the OAS is stored at docs/openapi.json

Prerequisites

System dependencies

  • git
  • JDK 17 or higher

3D rendering

For 3D rendering (required in order to support 3D models) you either need a video card or Mesa 3D. The JOGL library supports both. Rendering on Headless devices has been successfully tested with Xvfb. The following steps are required to enable 3D rendering support on a headless device without video card (Ubuntu 16.04.1 LTS)

  1. Install Mesa 3D (should come pre-installed on Ubuntu). Check with dpkg -l | grep mesa
  2. Install Xvfb:
$> sudo apt-get install xvfb
  1. Start a new screen:
$> sudo Xvfb :1 -ac -screen 0 1024x768x24 &
  1. Using the new screen, start Cineast:
$> DISPLAY=:1 java -jar cineast.jar -3d

The -3d option will perform a 3D test. If it succeeds, cineast should generate a PNG image depicting two coloured triangles on a black background.

Contribution

Contributions are always welcome.

Versioning

Cineast uses semantic versioning. See the releases page.

Code Style

Cineast primarily uses the Google Java Styleguide. Please use the file supplied in the docs/ folder

To automatically apply the styleguide in IntelliJ IDEA go to_File_ -> Settings -> Editor -> Code Style -> Java and import the supplied file via the gear icon.

You can also use Eclipse for development and use Google's styleguide for eclipse.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].