This repo is related to the Art-Palette experiment from Google Arts & Culture.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
palette-embedding initial commit Jan 31, 2019
palette-extraction Update Readme with text formatting Feb 4, 2019 initial commit Jan 31, 2019
LICENSE initial commit Jan 31, 2019 Update with links to the 2 parts Feb 4, 2019
palette_example.jpg initial commit Jan 31, 2019

Art Palette

Art Palette is part of Arts & Culture experiments, which explore innovative ways for users to interact with art collections. With Art Palette, you can search for artworks that match a color combination of your choice.

Art Palette


Some elements of the site are not in the repository but it gives you the base code and concepts to build your own efficient search by palette tool.

The source code is separate in two parts :

  1. The frontend Javascript code used to extract the color palette from an image.
  2. The backend Python code used to find the nearest palettes matching a given one with the palette embedding TensorFlow model.

Palette Extraction (frontend)

Javascript palette extractor that returns the palette calculated for an ImageData.

Palette Embedding (backend)

Machine learning model that returns an embedding of color palettes in an Euclidean space that preserves perceptual distance. This embedding enables efficient nearest-neighbor search.


Etienne Ferrier and Simon Doury with friends at the Google Art & Culture Lab.


Copyright 2018 Google Inc.

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Final Thoughts

We encourage open sourcing projects as a way of learning from each other. Please respect our and other creators’ rights, including copyright and trademark rights when present, when sharing these works and creating derivative work. If you want more info on Google's policy, you can find that here.

N.B.: This is not an official Google product.