Ask HN: Microsoft Computer Vision API or Google Cloud Vision API?
Hi HN community!
I am trying to decide on Microsoft's CV offering vs . Google's CV offering for my B2B startup. Any recommendations from people who have tried both??
Background - We are trying to use images of models uploaded by agencies and deriving labels & image properties. Face detection is something that is an added bonus if possible.
51 comments
[ 3.6 ms ] story [ 109 ms ] threadDisclosure: I work at IBM Watson.
qq - Is the API stabalized, by which I mean will there be further changes/merges?
We're continually improving them (as everyone in computer vision is!) but for now one key feature of Watson Vision is the ability to train a custom classifier for your own data by just giving a bunch of example images. The service also provides general image tagging, text extraction(beta), face detection and a fixed list people for celebrity facial recognition.
We see this as a green-field area where rapid progress is being made across the board... I wouldn't count anyone out yet!
I wouldn't rely on either for my own startup, because I dont think these API's will have broad appeal, as a result wont get traction, and will be shutdown with little warning.
I could help you if you want - my email is in my profile
Pricing is more friendly than the other two. The API is nice.
I did like Google's a lot, but the price just wasn't there for me. Especially if you want most processing options.
Microsoft have been in this game a lot longer, but surpisingly a lot of their cool stuff isn't in their APIs. i.e. ability to spot similar images and seamlessly stitch them. This stuff was in their maps products a long time ago, and you can download tools of theirs: http://research.microsoft.com/en-us/um/redmond/projects/ice/ but no APIs. Their basic APIs are just basic... so why not save the dime and go with a smaller player offering just the basics but very well instead.
Thanks for checking us out! Our demo may not fully represent what we have to offer, but you can see a sample response here with confidence numbers included (we call them probs): https://developer.clarifai.com/guide/tag#tag
In terms of labels, our "general" model has over 11,000 labels, and we also have specialized models with labels tailored for other purposes, including NSFW, travel, and food, among others.
Hope this helps
The technology to do this clearly exists, but I gather they are concerned about the potential for abuse. Which makes sense. You could build some very creepy apps with this.
(Whether you want to use that or use a service depends on how close to your core business this is.)
I found these really useful: http://www.pyimagesearch.com/
As far as I can tell, clarifai.com doesn't have OCR, and neither does anyone else except MS and G.
I would not recommend it for use in production, but maybe you're interested in looking at the code and customizing it to your liking. Could perhaps be combined with OpenCV.
[1] https://github.com/mateogianolio/ocr
Alternative solution for image moderation and nudity detection. Simple API and simple pricing.
Pay-as-you-go, many APIs, supportive community.
For your use case you might want to check the Computer Vision tag, specifically the "Illustration Tagger" algorithm.
https://algorithmia.com/tags/computer%20vision
http://imagga.com/
We also offer finding similar images as well as image search capabilities apart from finding tags from images. Please connect at https://twitter.com/adityapatadia to discuss further.
EDIT: I see Google Cloud Vision has landmark detection, that might be useful if the API returns the GPS coordinates of the landmark.
For example, if I shoot with my non-GPS-enabled DSLR, those images are uploaded to Google Photos, which will reconcile my location history to apply a location to those shots. It'll also do that if it sees DSLR shots in between geotagged cameraphone shots.
But more to your use case, GPhotos will actually recognize landmarks and other information to tag photos, I believe, with a rough location (such that it'll match a location like "Paris" or "Eiffel Tower," but perhaps not lat/long... yet.)
Even more impressive, they're very nearly able to do exactly what you're describing, though my understanding is that it isn't in use in GPhotos yet: https://www.technologyreview.com/s/600889/google-unveils-neu...
As you mentioned faces:
Are you looking for face detection or recognition? Face detection has been robustly solved before the advent of DL with HAARs/ face models. Now being pushed a bit further with DL.
(http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detect...)
Current cutting edge face recognition systems rely on DL, and the top performing models are one out of Russia (NTechLAB, facenx_large) and one from Google (FaceNet v8). These were the top two performers in the MegaFace challenge - identification with 1M distractors. Truly remarkable results. http://megaface.cs.washington.edu/results/
As with most DL systems you will need a massive corpus of labeled faces (aka, google or vkontakte - which the NTechLab group used)
I'd also encourage you to try out the Face API from Microsoft (full disclosure, I work on it). One of the focuses is on improving detection when challenging lighting and occlusions are present: https://www.microsoft.com/cognitive-services/en-us/face-api
I had a question after reading it. The parameter rho, that is used to either classify/regress depending on the t cascade stage{1..T}, is said to be set empirically. This, I would assume, could change across data sets, how were you able to decide when classification switched to regression in your tree and how was this adapted when testing on other data?
Also forgot to attach the paper I was referring to: http://arxiv.org/pdf/1502.02766v3.pdf