Yes! Scanning for more than 4 objects at once (which is currently supported) is something that we definitely want to enable in the future. The only constraint is the number of GPU machines we can afford.
It is probably based on "Object Detection with Discriminatively Trained Part Based Models"; Pedro F. Felzenszwalb"... Somebody took http://people.cs.uchicago.edu/~rbg/latent/ made REST API and hooked up a payment system.
Very interesting application though, but I couldn't realize real life usage via web api. As my knowledge those kind of stuff is for realtime applications and with web based approach it might not serve the purpose.
As a long time CV enthusiast, I applaude the tech and the way you guys make it "just work". However for any serious application I feel a few things are missing:
- your pricing won't work for video (even at only 5fps)
- I can't really use the data without a confidence level of detection. Because for some applications I'd rather discard a bouding box that is below a threshold I set.
Hey steeve, thanks for the really kind feedback! We're aware of the video pricing issue, and it's something that we're thinking hard to come up with a solution to for makers and developers.
In the meantime, if you want to experiment with Dextro for video, shoot us an email at team@dextrorobotics.com and we will hook you up!
With regard to confidence level, that's something that we provide the enterprise-class service with; if this is a critical feature, we can potentially offer it to everyone as well.
seems pretty good, but my first test found a potted plant in the aeroplane demo picture -- a 100 story potted plant :P very cool idea, super hard problem so mad respect regardless!
Hey tunnuz and limejuice, sorry to hear we only picked up on 4 of the planes. We've biased our service towards precision rather than recall; thus, we try to be wrong about detected objects as little of the time as possible at the expense of perhaps missing a few object instances.
I want to clarify: the 4 object concurrent detection refers to 4 classes of objects. On the Experiment page, you can only choose one class to detect on (whether that is person, bottles, cars, etc). However, by using the API, you can simultaneously search for cars, planes, people, and motorcycles, for example.
Failed completely for me across a half dozen tries. I wonder how cheaply you could get results via Mechanical Turk. I bet you could get much more accurate results for a very low price but with some added latency.
One to two cents a task. Anytime you have a language agnostic task (identifying/classifying objects, etc), the tasks can be done very cheaply. Just make sure you do triplicate validation.
Language dependent/creative tasks run much higher (smaller worker pool, more brain power needed).
I've never used mechanical turk before and don't understand what you mean by language agnostic. I'd want someone to tell me that it's a "car" and not a 汽車. And I'd want to give the instructions for the task in English.
I agree, crowdsourcing is the way to go if you need to understand images. Image recognition is a very tough problem, especially if you're trying to detect anything nuanced.
We've developed RTFM at CrowdFlower to handle the similar task of moderating images and providing detailed reasons for why they are flagged. It's a common problem that the computers can't solve well enough yet.
Sheeps were detected as horses, faces but not as cats or cars. This seems to be the current state of the art for a general purpose classification. I haven't seen anything better yet (unless you'd specialize in sheep detection)
Hey everybody, OP here. Thanks for the great feedback! We're really happy that so many people have checked this out.
One thing that I want to mention: our service was built favoring Precision over Recall; we reasoned that we'd rather have a low number of false positives and make sure that when we do report a detection, that it actually is one. Thus, our service may occasionally miss instances.
I'm going to implement a button on the Experiment page that lets you flag a detection as something that we need to work on; we will use your feedback to improve the accuracy.
You might want to let the user decide if it is more important to have a false positive or a false negative. For some applications a false alarm is a minor nuisance but a false negative is catastrophic, but for some applications it is flipped. In the past I have let the end user define the balance (i.e. "a false negative is 10X as bad as a false positive") and the decision results were scaled by their decision rule. It's not always easy to do as many machine learning algorithms are nonlinear but at least you can cast a wider net of potential customers.
Your application detects none of them... Is it because my ancient phone camera's pics are too grainy? Or do the bikes need to be en profile to be detected properly? Or maybe it's trained to detect bikes with people on them, instead of bikes parked in the street?
This reminds me of how my visual psychology professor was attempting to help those with poor vision 15 years ago, but didn't appear to get anywhere with at the time.
The idea was a simple (but clever) one - use virtual reality to segment the world into solid blocks of identified objects. The solid blocks are identifiable to those with poor vision in a way that the real world is not.
Essentially this meant processing an image, identifying items e.g. cars, fences, roads etc and then colouring them solid. So instead of a confusing scene of blur, you have a blurred but still identifiable scene of a solid strip of grey for the road, a solid blob of red for the car, another solid yellow stip for a fence etc. A poorly sighted person could still identify from this something that made sense in a way that they couldn't in the real world.
What was required was an input, real time visual processing and then display back to the user - all of which was fantasy 15 year ago.
However, attempt this today with a visual feed, real time processing like this, and then near instantaneous display of the results back to the person with e.g. google glass, and you might have a viable way to show the world categorised in a visual way that will help those with poor vision. Interesting times.
It got almost all of them but so many errors. It can't detect sheeps either.
I was really impressed at first, but as I tried out more and more images, it became apparent that the api isn't mature enough for one or two cents worth of money. There is a 90% of the algorithm detect the image correctly, but sometimes it doesn't detect the entire object. For example, I used another image of two jets, but it only found one of them even though the jets were identical, but one was smaller than the other.
How would I know that? I don't read documentation until absolutely necessary. If it claims to find faces, well, then let's see it work! And then we'll count the faces found.
In any case, the documentation is wrong if it says that. E.g., the software found all seven SEGs in the photo below:
73 comments
[ 3.2 ms ] story [ 164 ms ] threadAny plans to increase the number of objects you can search for at once? Very interested in using this but I'd want to be able to scan for ~20 objects.
The man is detected, but also a shape above the umbrella.
Edit: direct link the the result picture: https://s3.amazonaws.com/dextro_detection_results/debug13579...
BTW, it can find only two airplanes in this photo http://www.q8.com/SiteCollectionImages/Gatwick%20Airport.jpg
- your pricing won't work for video (even at only 5fps)
- I can't really use the data without a confidence level of detection. Because for some applications I'd rather discard a bouding box that is below a threshold I set.
Other than that, congrats for the great work :)
In the meantime, if you want to experiment with Dextro for video, shoot us an email at team@dextrorobotics.com and we will hook you up!
With regard to confidence level, that's something that we provide the enterprise-class service with; if this is a critical feature, we can potentially offer it to everyone as well.
detected 3 planes... there is only 1 plane and a car
seems too buggy to pay just yet
when used http://www.airbus.com/fileadmin/media_gallery/aircraft_pages... it detected 2 planes, there was 1 only
but hope with additional training images, it would improve.
https://lh3.ggpht.com/-GbPgbhUtmnE/UH0p3VmMWoI/AAAAAAAAApM/u...
I want to clarify: the 4 object concurrent detection refers to 4 classes of objects. On the Experiment page, you can only choose one class to detect on (whether that is person, bottles, cars, etc). However, by using the API, you can simultaneously search for cars, planes, people, and motorcycles, for example.
http://englishrussia.com/wp-content/uploads/2007/08/130-cats...
Language dependent/creative tasks run much higher (smaller worker pool, more brain power needed).
We've developed RTFM at CrowdFlower to handle the similar task of moderating images and providing detailed reasons for why they are flagged. It's a common problem that the computers can't solve well enough yet.
Sheeps were detected as horses, faces but not as cats or cars. This seems to be the current state of the art for a general purpose classification. I haven't seen anything better yet (unless you'd specialize in sheep detection)
One thing that I want to mention: our service was built favoring Precision over Recall; we reasoned that we'd rather have a low number of false positives and make sure that when we do report a detection, that it actually is one. Thus, our service may occasionally miss instances.
I'm going to implement a button on the Experiment page that lets you flag a detection as something that we need to work on; we will use your feedback to improve the accuracy.
Your application detects none of them... Is it because my ancient phone camera's pics are too grainy? Or do the bikes need to be en profile to be detected properly? Or maybe it's trained to detect bikes with people on them, instead of bikes parked in the street?
http://artificial-intelligence-projects.com/augmented-realit...
It's still in the development stage because I can only fiddle with it when I have the time and impetus to do so. Criticisms/comments welcome.
The idea was a simple (but clever) one - use virtual reality to segment the world into solid blocks of identified objects. The solid blocks are identifiable to those with poor vision in a way that the real world is not.
Essentially this meant processing an image, identifying items e.g. cars, fences, roads etc and then colouring them solid. So instead of a confusing scene of blur, you have a blurred but still identifiable scene of a solid strip of grey for the road, a solid blob of red for the car, another solid yellow stip for a fence etc. A poorly sighted person could still identify from this something that made sense in a way that they couldn't in the real world.
What was required was an input, real time visual processing and then display back to the user - all of which was fantasy 15 year ago.
However, attempt this today with a visual feed, real time processing like this, and then near instantaneous display of the results back to the person with e.g. google glass, and you might have a viable way to show the world categorised in a visual way that will help those with poor vision. Interesting times.
According to http://news.ycombinator.com/item?id=4985100 it won't be today, perhaps tomorrow.
http://3rdarm.biz/images/2010/02/faces.jpg
It got almost all of them but so many errors. It can't detect sheeps either.
I was really impressed at first, but as I tried out more and more images, it became apparent that the api isn't mature enough for one or two cents worth of money. There is a 90% of the algorithm detect the image correctly, but sometimes it doesn't detect the entire object. For example, I used another image of two jets, but it only found one of them even though the jets were identical, but one was smaller than the other.
This is worse than OpenCV (I thought you were using OpenCV but apparently aren't?)
http://www.bostonglobe.com/rw//Boston/2011-2020/WebGraphics/...
In any case, the documentation is wrong if it says that. E.g., the software found all seven SEGs in the photo below:
http://www.bagnewsnotes.com/files/2011/10/Romney-Bain-Capita...
2 horses / detected 0: http://images4.fanpop.com/image/photos/23500000/horse-horses...
4 horses / detected all as 1: http://4.bp.blogspot.com/-Rso9vw4BmSE/TqZU6vHl3kI/AAAAAAAACL...
does a good job with painting too, but it did find the phantom neighbor peeping in as well:
http://img822.imageshack.us/img822/347/screenshot20130111at5...
I've been searching lately for a post-face.com API and have been following a few for a while, but they seem to have similar issues with poor results.