Deepak Singhal
Deepak Singhal

Reputation: 10876

Solution to identify "Similar Product Images"?

I want to build a cloud based solution in which I would give a pool of images; and then ask for "find similar image to a particular image from this pool of images" !! Pool of images can be like "all t-shirt" images. Hence, similar images mean "t-shirt with similar design/color/sleeves" etc.

Tagging solution won't work as they are at very high level.

AWS Rekognition gives "facial similarities" .. but not "product similarities" .. it does not work like for images of dresses..

I am open to use any cloud providers; but all are providing "tags" of the image which won't help me.

One solution could be that I use some ML framework like MXNet/Tensorflow, create my own models, train them and then use.. But is there any other ready made solution on any of cloud providers ?

Upvotes: 4

Views: 1552

Answers (5)

ajith mohan
ajith mohan

Reputation: 527

pls check the site http://cloudsight.ai/api, and try the demo. the sample result would be

    {
        "token": "BBKA0lW9O-B2eamXUysdXA",
        "url": "http://assets.cloudsight.ai/uploads/image_request/image/314/314978/314978186/79379_86cb4e2611d6b0a3287a926a1ca1fe51_image1_zoom.jpg",
        "ttl": 54,
        "status": "completed",
        "name": "men's red and black checkered button-up shirt"
    }

{
    "token": "bjX7nWGs0toajIDwyvXxlw",
    "url": "http://assets.cloudsight.ai/uploads/image_request/image/314/314987/314987168/11.jpg",
    "ttl": 54,
    "status": "completed",
    "name": "blue, gray and navy blue stripe crew-neck T-shirt"
}

Upvotes: 0

khaleesi
khaleesi

Reputation: 983

You could use a combination of things here. Use an image tagging service aws rekognition, or any of those listed above) then create some training data with like images, and upload that into something like aws machine learning. This is a bit similar to what has been brought up earlier, however I am trying to elucidate that while tagging might not be the end all be all of your solution, it will likely play a role as a first to step to a more complex process.

Upvotes: 1

jacques
jacques

Reputation: 240

ibm-bluemix has an api to find similar images https://www.ibm.com/watson/developercloud/visual-recognition/api/v3/#find_similar

Upvotes: 4

Stephan Bisser
Stephan Bisser

Reputation: 41

You could also use the Bing Image Search API (https://azure.microsoft.com/en-us/services/cognitive-services/bing-image-search-api/) which allows you to do an image search based on specified criteria within your solution...

Upvotes: 1

rickvdbosch
rickvdbosch

Reputation: 15621

Using the Azure Cognitive Services (Computer Vision to be more precise) you can get categories, tags, a caption and even more info for images. Processing all your images would provide tags for your image pool. And that enables you to get similar images based on (multiple) identical tags.

This feature returns information about visual content found in an image. Use tagging, descriptions, and domain-specific models to identify content and label it with confidence. Apply the adult/racy settings to enable automated restriction of adult content. Identify image types and color schemes in pictures.

An example of (part of) a result of the Computer Vision API:

Computer Vision example

Description{
    "Tags": [
        "train",
        "platform",
        "station",
        "building",
        "indoor",
        "subway",
        "track",
        "walking",
        "waiting",
        "pulling",
        "board",
        "people",
        "man",
        "luggage",
        "standing",
        "holding",
        "large",
        "woman",
        "yellow",
        "suitcase"
    ],
    "Captions": [
        {
            "Text": "people waiting at a train station",
            "Confidence": 0.8331026
        }
    ]
}
Tags[
    {
        "Name": "train",
        "Confidence": 0.9975446
    },
    {
        "Name": "platform",
        "Confidence": 0.995543063
    },
    {
        "Name": "station",
        "Confidence": 0.9798007
    },
    {
        "Name": "indoor",
        "Confidence": 0.927719653
    },
    {
        "Name": "subway",
        "Confidence": 0.838939846
    },
    {
        "Name": "pulling",
        "Confidence": 0.431715637
    }
]

Upvotes: 1

Related Questions