All Projects β†’ haltakov β†’ Natural Language Image Search

haltakov / Natural Language Image Search

Licence: mit
Search photos on Unsplash using natural language

Projects that are alternatives of or similar to Natural Language Image Search

Datasets
🎁 3,000,000+ Unsplash images made available for research and machine learning
Stars: ✭ 1,805 (+402.79%)
Mutual labels:  jupyter-notebook, unsplash, photos
Resplash
Unofficial Unsplash Android App
Stars: ✭ 395 (+10.03%)
Mutual labels:  unsplash, photos
Unsplash Js
πŸ€– A server-side JavaScript wrapper for the Unsplash API
Stars: ✭ 1,647 (+358.77%)
Mutual labels:  unsplash, photos
Androidunplash
An unofficial Unsplash API library for Android
Stars: ✭ 80 (-77.72%)
Mutual labels:  unsplash, photos
go-unsplash
Go Client for the Unsplash API
Stars: ✭ 70 (-80.5%)
Mutual labels:  photos, unsplash
Unsplash rb
πŸ’Ž Ruby wrapper for the Unsplash API.
Stars: ✭ 202 (-43.73%)
Mutual labels:  unsplash, photos
Splash Cli
A simple, command line tool to download Unsplash wallpapers. It’s not intended to be anything particularly fancy β€” it just works.
Stars: ✭ 432 (+20.33%)
Mutual labels:  unsplash, photos
Unsplashkit
Swift client for Unsplash
Stars: ✭ 183 (-49.03%)
Mutual labels:  unsplash, photos
Ownphotos
Self hosted alternative to Google Photos
Stars: ✭ 2,587 (+620.61%)
Mutual labels:  jupyter-notebook, photos
Unsplash Php
πŸ‘» Official PHP wrapper for the Unsplash API
Stars: ✭ 332 (-7.52%)
Mutual labels:  unsplash, photos
Predicting Car Price From Scraped Data
Picture and specifications scraper
Stars: ✭ 360 (+0.28%)
Mutual labels:  jupyter-notebook
Text summurization abstractive methods
Multiple implementations for abstractive text summurization , using google colab
Stars: ✭ 359 (+0%)
Mutual labels:  jupyter-notebook
Ivpid
Python PID Controller
Stars: ✭ 361 (+0.56%)
Mutual labels:  jupyter-notebook
Mv3d
Multi-View 3D Object Detection Network for Autonomous Driving
Stars: ✭ 362 (+0.84%)
Mutual labels:  jupyter-notebook
Portrait Segmentation
Real-time portrait segmentation for mobile devices
Stars: ✭ 358 (-0.28%)
Mutual labels:  jupyter-notebook
Machine Learning Projects
Machine Learning Experiments and Work
Stars: ✭ 356 (-0.84%)
Mutual labels:  jupyter-notebook
Www20 Hands On Tutorial
Materials for DGL hands-on tutorial in WWW 2020
Stars: ✭ 359 (+0%)
Mutual labels:  jupyter-notebook
Graphgym
Platform for designing and evaluating Graph Neural Networks (GNN)
Stars: ✭ 344 (-4.18%)
Mutual labels:  jupyter-notebook
Keras Quora Question Pairs
A Keras model that addresses the Quora Question Pairs dyadic prediction task.
Stars: ✭ 359 (+0%)
Mutual labels:  jupyter-notebook
Data Science Projects
DataScience projects for learning : Kaggle challenges, Object Recognition, Parsing, etc.
Stars: ✭ 361 (+0.56%)
Mutual labels:  jupyter-notebook

Unsplash Image Search

Open In Colab

Search photos on Unsplash using natural language descriptions. The search is powered by OpenAI's CLIP model and the Unsplash Dataset.

"Two dogs playing in the snow"

Search results for "Two dogs playing in the snow" Photos by Richard Burlton, Karl Anderson and Xuecheng Chen on Unsplash.

"The word love written on the wall"

Search results for "The word love written on the wall" Photos by Genton Damian , Anna Rozwadowska, Jude Beck on Unsplash.

"The feeling when your program finally works"

Search results for "The feeling when your program finally works" Photos by bruce mars, LOGAN WEAVER, Vasyl Skunziak on Unsplash.

"The Syndey Opera House and the Harbour Bridge at night"

Search results for "The Syndey Opera House and the Harbour Bridge at night" Photos by Dalal Nizam and Anna Tremewan on Unsplash.

How It Works?

OpenAI's CLIP neural networs is able to transform both images and text into the same latent space, where they can be compared using a similarity measure.

For this project all photos from the full Unsplash Dataset (almost 2M photos) were downloaded and processed with CLIP.

The precomputed feature vectors for all images can then be used to find the best match to a natural language search query.

How To Run The Code?

On Google Colab

If you just want to play around with different queries jump to the Colab notebook.

Open In Colab

On your machine

Before running any of the code, make sure to install all dependencies:

pip install -r requirements.txt

If you want to run all the code yourself open the Jupyter notebooks in the order they are numbered and follow the instructions there:

  • 01-setup-clip.ipynb - setup the environment checking out and preparing the CLIP code.
  • 02-download-unsplash-dataset.ipynb - download the photos from the Unsplash dataset
  • 03-process-unsplash-dataset.ipynb - process all photos from the dataset with CLIP
  • 04-search-image-dataset.ipynb - search for a photo in the dataset using natural language queries
  • 09-search-image-api.ipynb - search for a photo using the Unsplash Search API and filter the results using CLIP.

NOTE: only the Lite version of the Unsplash Dataset is publicly available. If you want to use the Full version, you will need to apply for (free) access.

NOTE: searching for images using the Unsplash Search API doesn't require access to the Unsplash Dataset, but will probably deliver worse results.

Acknowledgements

This project was inspired by these projects:

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].