Code Monkey home page Code Monkey logo

art-palette's Introduction

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

Develop

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.

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

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.

Contributors

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

License

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 http://www.apache.org/licenses/LICENSE-2.0

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.

art-palette's People

Contributors

dh7 avatar voglervoice avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

art-palette's Issues

model / embedding information

Hi!i

Firstly thanks for sharing this work! Im working on a similar problem with a different palette size - and im curious how you created the embedding for n=5 LAB color values to a 15 dimensional space. im assuming that you arent just doing a concatenation of the LAB values into a single 15 dimensional vector? 3 x 5 = 15 after all?

LAB is perceptually uniform and in theory should just work as Euclidean distance, but, trying it myself im not getting the best result and ive been trying other distance metrics like Hausdorff distance.

Looking at the embedding model in Netron it appears theres some biasing /learned weights changing the projection of an palette vector into a more usable perceptual embedding?

Can anyone shed any light as to how this was calculated / trained?

Thank you!

I want to use google art and culture art selfie api

I want to use google art historic selfie API match who looks like you in china, I don't have any commercial or never earn money by this action, Just want to this technology to share china, Think about people will like it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.