Speeding the robot revolution
What's holding back robots is perception - you have machines that can physically do just about anything, but what's lacking is object recognition/cognition. And the problem for that is really just a matter of marketing current technology (machine learning techniques such as neural networks) so that more people use them.
I'd like to see a marketplace for perception tasks created.
Basic Premise
**************
Small companies/individuals to start producing small fragments of functionality and offering it in a per for use basis. (as in a cat recognizer in an image, or a recognizer for the word "hello" in an audiofile).
To create the above recognizer would require gathering data (such as hundreds/thousands of pictures of cats) and feeding it to a supervised learning algorithm like svm, boosting, random forests etc.
Thousands (perhaps millions) of people creating their own "classifiers" and charging for them (perhaps 1000 uses for 1 dollar) over the web might lead rapidly to seeing/thinking machines.
The Surveillance/Video Analytics Industry (as an initial example)
******************************************
Person detectors already exist, used in surveillance, but it's mostly out of the reach of consumers, analogous to the situation that exists between enterprise software like SAP/Oracle and consumer/small business software such that you find on the web. Currently only large/midsize companies and governments employ the technology because it's still too expensive - teams of consultants coming in to set up multimillion dollar installations with equipment from only a handful of manufacturers.
To get into the industry today (as an entrepreneur) you need to not only develop all the software, usually integrate it into a camera as an embedded application, but also find sales reps/distributors willing to sell your product (who would go around shaking hands to get it sold).
Instead it could be the following
Imagine that you have webcam, and you want to monitor whether someone comes to your front door, automatically. You can set up the wifi webcam to look form the front window or fit it outside and your video feed would go to someone's software out in the "cloud", where a "packaged" set of detectors might work. The person's age/sex/clothing (wearing a jacket or not etc). would be detected. You would pay for this by use. For example a person detector might continously run, you might end up paying say 10 dollars a month for it (accumulated over micropayments of .0001 cent per detection). Every time a person is detected, this data would be sent to someone else's age detector and you might pay 1 cent for every determination of a person's age, so you might end up only paying 1 dollar on average accumulated over the month for it (100 people might come to your door in a month).
You might want this type of surveillance for nighbourhood watch (a community of homeowners, condo association), get together to have cameras fitted throughout a street and person recognizers (that actually identify people from face, gait, clothing combination) might to improve security.
Another use could be for elderly monitoring, for classroom monitoring, or for monitoring the babysitter, or for monitoring yourself (automatically have a log of activities you do throughout the day).
Now, hook this up to robots.
How It Applies To Robots
**************************
Roomba cannot see anything so it blindly bounces around. Imagine a network of small cameras that you put in each room (similar to how you might hook up speakers throughout a room) monitor and guide the roomba. All the furniture, people, pets, obstacles are detected out in the cloud and you pay for use. It might require 10 computers working simultaneously to do this task, consumers won't pay for 10 computers just so that they roomba can vacuum a few times a week, but they would be willing to pay, let's say 2 dollars for one hour of automated vacuuming (amazon currently charges 10 cents per cpu hour, so 10 computers working for an hour - 1 dollar, and then add bandwith charges and profit to make it 2).
If you look at Anybots, their plan is that people will buy their robots and have people from india remotely operate them to do household tasks (and in restaurants, offices, factories), people in the cloud if you will. There will an economic imperative for increasing amounts of automation to be added (as in anything), and so "classifiers in the cloud" with different companies specializing in different tasks will result, until eventually no human operaters are involved.
(ie. a way to keep the momentum in the market going would be to have remote human operators in the mix).
Payments is a nonissue, amazon web services already can do metered charging (to you and your customer), and it's technically a pretty simple matter to set up a prepay system with paypal (your customer prepays you, say 50 dollars, and you keep a usage log).
Democratization Of Machine Vision
************************************
My point is about the "democratization" of classifer creation. I personally am not a programmer and don't have the talent to create a startup, and there are millions more people like me. However, if there were a place where i could feed some data and have a classifier hosted somewhere I could participate in this.
It's the same way blogs allowed many more people to start creating content on the web, whereas previously it required creating and hosting a website. Or how google app engine, might increase the creeation of web applications because previously a lot of people didn't have knowledge of administering and scaling unix/dbms based applications.
What I'm suggesting is that a "gold rush" type situation form around the building of classifiers, such as that occurred with website creation. There are millions trying to get an income onlne creating content for adsense and affilate programs (and for free with wikipedia and open source). Most will fail at generating full time income but in the process a large amount of wealth has been created. The same could be done for classifiers/artifical intelligence. It would require just collecting a thousand or two pieces of data (image/sudio/text) to create a classifier, an effort similar to creating a small website.
Robot Hardware Creators
**************************
In the above analogy, robot hardware creators would be like computer/cellphone manufacturers. However, unlike what occurred with personal computers, there will be much more opportunity to innovate (and hence much more opportunity for entrepreneurs):
- no standardization (monopoly) around operating system need occur, since the almost all the software (perception/cognition) is out on the web created by many different producers and so much open source software exists today for low level tasks (linux).
- the design space is larger, you don't standardize around keyboard/mouse/monitor/cpu/motherboard and just compete on cost/visual design, but instead can compete on a huge number of functional aspects (2/4/6/10 legs, 1/2/10 eyes, end effector designs, and so on) as well as visual design (of which there is also a much greater variation - different types of skins, faces, shapes of animals).
I'd like to see a marketplace for perception tasks created.
Basic Premise
**************
Small companies/individuals to start producing small fragments of functionality and offering it in a per for use basis. (as in a cat recognizer in an image, or a recognizer for the word "hello" in an audiofile).
To create the above recognizer would require gathering data (such as hundreds/thousands of pictures of cats) and feeding it to a supervised learning algorithm like svm, boosting, random forests etc.
Thousands (perhaps millions) of people creating their own "classifiers" and charging for them (perhaps 1000 uses for 1 dollar) over the web might lead rapidly to seeing/thinking machines.
The Surveillance/Video Analytics Industry (as an initial example)
******************************************
Person detectors already exist, used in surveillance, but it's mostly out of the reach of consumers, analogous to the situation that exists between enterprise software like SAP/Oracle and consumer/small business software such that you find on the web. Currently only large/midsize companies and governments employ the technology because it's still too expensive - teams of consultants coming in to set up multimillion dollar installations with equipment from only a handful of manufacturers.
To get into the industry today (as an entrepreneur) you need to not only develop all the software, usually integrate it into a camera as an embedded application, but also find sales reps/distributors willing to sell your product (who would go around shaking hands to get it sold).
Instead it could be the following
Imagine that you have webcam, and you want to monitor whether someone comes to your front door, automatically. You can set up the wifi webcam to look form the front window or fit it outside and your video feed would go to someone's software out in the "cloud", where a "packaged" set of detectors might work. The person's age/sex/clothing (wearing a jacket or not etc). would be detected. You would pay for this by use. For example a person detector might continously run, you might end up paying say 10 dollars a month for it (accumulated over micropayments of .0001 cent per detection). Every time a person is detected, this data would be sent to someone else's age detector and you might pay 1 cent for every determination of a person's age, so you might end up only paying 1 dollar on average accumulated over the month for it (100 people might come to your door in a month).
You might want this type of surveillance for nighbourhood watch (a community of homeowners, condo association), get together to have cameras fitted throughout a street and person recognizers (that actually identify people from face, gait, clothing combination) might to improve security.
Another use could be for elderly monitoring, for classroom monitoring, or for monitoring the babysitter, or for monitoring yourself (automatically have a log of activities you do throughout the day).
Now, hook this up to robots.
How It Applies To Robots
**************************
Roomba cannot see anything so it blindly bounces around. Imagine a network of small cameras that you put in each room (similar to how you might hook up speakers throughout a room) monitor and guide the roomba. All the furniture, people, pets, obstacles are detected out in the cloud and you pay for use. It might require 10 computers working simultaneously to do this task, consumers won't pay for 10 computers just so that they roomba can vacuum a few times a week, but they would be willing to pay, let's say 2 dollars for one hour of automated vacuuming (amazon currently charges 10 cents per cpu hour, so 10 computers working for an hour - 1 dollar, and then add bandwith charges and profit to make it 2).
If you look at Anybots, their plan is that people will buy their robots and have people from india remotely operate them to do household tasks (and in restaurants, offices, factories), people in the cloud if you will. There will an economic imperative for increasing amounts of automation to be added (as in anything), and so "classifiers in the cloud" with different companies specializing in different tasks will result, until eventually no human operaters are involved.
(ie. a way to keep the momentum in the market going would be to have remote human operators in the mix).
Payments is a nonissue, amazon web services already can do metered charging (to you and your customer), and it's technically a pretty simple matter to set up a prepay system with paypal (your customer prepays you, say 50 dollars, and you keep a usage log).
Democratization Of Machine Vision
************************************
My point is about the "democratization" of classifer creation. I personally am not a programmer and don't have the talent to create a startup, and there are millions more people like me. However, if there were a place where i could feed some data and have a classifier hosted somewhere I could participate in this.
It's the same way blogs allowed many more people to start creating content on the web, whereas previously it required creating and hosting a website. Or how google app engine, might increase the creeation of web applications because previously a lot of people didn't have knowledge of administering and scaling unix/dbms based applications.
What I'm suggesting is that a "gold rush" type situation form around the building of classifiers, such as that occurred with website creation. There are millions trying to get an income onlne creating content for adsense and affilate programs (and for free with wikipedia and open source). Most will fail at generating full time income but in the process a large amount of wealth has been created. The same could be done for classifiers/artifical intelligence. It would require just collecting a thousand or two pieces of data (image/sudio/text) to create a classifier, an effort similar to creating a small website.
Robot Hardware Creators
**************************
In the above analogy, robot hardware creators would be like computer/cellphone manufacturers. However, unlike what occurred with personal computers, there will be much more opportunity to innovate (and hence much more opportunity for entrepreneurs):
- no standardization (monopoly) around operating system need occur, since the almost all the software (perception/cognition) is out on the web created by many different producers and so much open source software exists today for low level tasks (linux).
- the design space is larger, you don't standardize around keyboard/mouse/monitor/cpu/motherboard and just compete on cost/visual design, but instead can compete on a huge number of functional aspects (2/4/6/10 legs, 1/2/10 eyes, end effector designs, and so on) as well as visual design (of which there is also a much greater variation - different types of skins, faces, shapes of animals).
Comments
Cost: Roombas are most successful robot EVER, $200-$500 people balk at anything more
Capability: the robot better do something that a LOT of people think is great/useful/novel
Complexity: Joe Average doesn't want a project or to become a hobbyist/programmer
Colin Angle, CEO of iRobot, told me one very useful tip once. "Roomba is so successful because there are only 3 buttons on it. One button would have been better."
No doubt, anything is possible with technology & dollars, but the landscape is littered with high-tech orphan robots (ER-1, Hero, and probably soon the PC-914) that never turned a profit. The hopeful distributors banked on hobbyists to answer the question: What can it really do?
Not to end on a negative note. I think the immediate future is bright for specialized single-task robots that are affordably priced. In fact, I'm working on one right now that uses my beloved BS2, and with some good luck between now & October, we may be headed for CES in 2009.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·"If you build it, they will come."
The interface would be simple (machine vision, human teleoperators doing the work), no personal computer/software required, and at the most anything more complicated than a button would be done through a web browser (which consumers are already accustomed to).
Also, that way hardware creators can focus on creating their specialized devices and software people can just focus on creating specialized software (without them all having to coordinate into a company). Prices would decrease much quicker in such a system.
human computation video: http://video.google.com/videoplay?docid=-8246463980976635143
ESP game: http://www.espgame.org/instructions.html
Why should we want to pay people in India when we could get people to do it for free, or even pay us to do it. millions of people waste hours and hours on the internet. why not make a way to use that same "wasted time" and use it to make decisions for robots. To know what I'm talking about you really need to research the ESP game or watch the video. but basically it's a game to identify and categorize images. not only is it fun it's quite addicting.
so imagine you press go on your roomba, 5 people are sent an image of your living room. The users then race to find the best path for your roomba, the data is uploaded to your roomba and it does it's thing. Or if a robot is looking for an item or person.... the same seranio could be used. the images are uploaded, "players" play a game where a phrase "find the ball" is displayed with an image from a robot. The users click on the image to locate the ball. The users might not even know what they are doing but it can be accurate and fast. With multiple people playing the game. an average could be taken, in case someone clicks on the wrong thing. and as in the ESP game test images with known answers could be used to make sure the people aren't intentionally clicking the wrong thing.
I think this would be a really interesting experiment.
I think most of the issue with automating everything is that robots are still so "amazing" we don't save any time using them, because we are all so amazed and stand around and watch the robot that is saving us time. and on the flip side people who haven't been around electronics and robotics (older people) don't trust, don't like, don't whatever. don't want robots around. I don't think any level of advertising could change this. it's just going to take time for people to grow up with robots, and are barely aware they are around before we are using robots in our daily lives. as much as I like robotics I don't know that I would trust one to drive me around. I'm sure a roomba or robot foot stool will be as mundane as a dishwasher for future generations. but until then robots are "gadgets" and not tools.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"A complex design is the sign of an inferior designer." - Jamie Hyneman, Myth Buster
DGSwaner
Post Edited (Dgswaner) : 8/18/2008 2:24:00 AM GMT
- I saw the google tech talk on the ESP game and google's Image Labeler, you can use it to save some costs, but it won't really scale into a business (and when people realize it's generating income for some company, people might not be so inclined to give away their time)
- robots aren't in use simply for the reason my initial post is about, to get a robot to do something useful such as a doing the dishwasher you need a cluster of computers with machine vision software (that might be composed of hundreds/thousands of parts) to do the task. That's why I propose movng that task into the web (and allowing many companies to competitively collaborate to create it). When you use google you're actually using a giant cluster of computers (and the data created by millions of people), the same could be done with robot vision.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen
rickpon said...
(machine vision, human teleoperators doing the work),
Sorry, not on my network/premise.
- Stephen
"
You'd miss out on all the cost savings (and might end up going out of business)
-phar
First of all we don't know how safe robots would be, they might be very safe compared to the present situation
- there are many hazards in a typical house, the risk of having a gas leak blowing up the house, falling down stairs, or getting electrocuted while in the bathrub by having a hair dryer fall in for example, but somehow it's not an issue,
- if someone wants to purposelly cause harm they can do it now (break a window and go in the house)
To however much extent robots are dangerous, insurance pricing will come in to cover it. Cars are very dangerous but we are ok with it as long as there is insurance to cover it. Doctors have insurance to cover their potentially fatal mistakes.
Robots that are strong enough to strangle someone to death would probably not be produced for the home anyway (at first), you don't need that much power for most tasks.
Adoption in business such as restaurants, cleaning, gas stations, auto garages will be swift anyway, the business savings will be too much to forfeit.
And finally, it should be fairly easy to program the robot to stop it from causing much damage (if you're capable of programming it do something quite useful in the first place). Simply detect dangerous actions/situations and shut off, call help.
http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
Whether they are formally instituted or not is anybody's guess, but I think they'll eventually be including in all robot programming (at least commercial). Anyway, about your object identification. I was at the beach today, and this being southern California it was packed. I began to wonder how we humans can navigate through the masses without stepping on people, and this rolled around to how a robot might. I came up with a sort of extension to modern computer languages: object orientation. I decided that the best way would be to have different objects that a programmer could pull from: human, dog, car, tree, etc. These objects would be run in their own thread, and would automatically detect the available sensors use them. They do the best to determine the specific characteristics of any target, including identification, location, velocity and specifics. This modular system would allow designers to simply drop in any expected objects into their program, and get a generic data back. Other designs had apeal, but this is the way that the autonomous navigation will develop.
Well, that is my prediction...
And the biggest point is this can all be done today:
algorithms - neural networks, random forests, support vector machines, boosting, decision trees, naive bayes, genetic programming (giving accuracy in the 60-95+ percentage range)
training data - vast amount of images/video available on the web
network - broadband widely available, wifi for last few meters
computing power - huge clusters ready to use on demand(amazon ec2)
sensors - cheap webcams widely available
And suppose that this is the path the computing takes. Our internet system is running at capacities that far exceed expectations. If we were to shove just three or four bots per house onto the net, that would more than quadruple the internet usage that we see today. There is only so much that the current system can hold, and that is way and above anything it could work with.
Finally, the entire environment would have to be scanned each time: although most objects might not move, it is possible that it might be different. Disatorous results could ensue from assuming that the environment is constant.
The japanese, koreans would most likely be the first to adopt the robots.
Businesses would invest in getting high bandwith connections, even 1000 dollars a month if the robots can save them money, and they would be more likely to buy the robots first as well.
But even now, many homes have a few streams of youtube playing out to each member of the family as well as all the illegal torrent activity, maybe equivalent to 5-10 streams of webcam type video that a home robot would give out.
The enginering details of real time/not real time etc. I think would be worked out really quickly. When a community of entrepreneurs/corporations actually get to work they steamroll over everything. The semiconductor industry has demolished every obstacle in it's way for 60 years,
The computer vision/robotics work is only being done by academics/government labs right now. They're all briliiant and put out all the new ideas, but always seem present this or that very important problem that really needs to be solved and will take 5 more years ( so they can get funding for 5 more years).
The traditional technology transferer, venture capital, has completely avoided funding any serious robotics work. I read on a forum somewhere that it's because it's difficult to create a barrier to competitors (not much patentable/guardable or fast user base creation/network effects such as in google/facebook/ebay).
A little political: I don't think China would go with this. just think of what it would do to their censorship. Any video feed would have to be censored, and if they were not then some American activist would use it to send "rebelious" messages.
·· The concept you expressed and described as objects is actually an old artificial intelligence concept I think was called frames. It's my understanding that object oriented programming was developed from the frame concept and not the other way around (just a historic note).
-phar
My proposal is that different groups of companies/individuals would concentrate on
:cluster infrastructure - amazon already does this
roviding machine learning algorithms (classifiers) and improving them - many are open source from academics, numenta is one company trying to create a propriety algorithm that others can build on. they would host on the cluster providers
:data collection and training of classifiers, from images, audio, text, and output of other classifiers - they would use the services of algorithm providers
:end user specialists, they would focus on creating applications the end users would directly use by aggregating classifiers into something practical.
:marketers take end user specialists products and merket to consumers/businesses
Thanks for the history. I had no idea that my "design" was something that was thought out long ago. I suppose that this indicates how humans all think along the same lines (or how generic I am). Interesting. Now why would they be called frames? Best I can think of is that they focus on one thing, but object seems much more like a focus group. Plus, object orientated sounds better that frame orientated. It rolls off the tongue better...
@ Rickpon
Sure, different companies and groups could work on different things, but who is going to put it all together? Its virtually impossible to get anything done in a timely fashion without a figure head, somebody to lead the troops. If there was one company that contracted out the sub assemblies, that would work. But then we are back to my last post. Note that I said timely: I have no doubt that someday there will be intelligent robots running around. However, it will take years, if not decades before they are at that level. What would grow here is a service robot industry. To accelerate the robot development (as you seem to desire/propose) would reguire that figurehead, somebody to lead the pack. Microsoft/Intel in personal computing, Standard Oil in the fuel business, Walmart in the discount superstore, Apple in the personal devices. You may not like all these companies, but you must admit that they are industry leaders. Then take a look at other industries that don't have a leader: the automobile (where are the flying cars we were promised?), home construction (Why are we still building in something as archaic as wood?), textiles (my shirt isn't really any better than one made 30 years ago). These industries all lack a leader, and as a whole suffer for it.
You need a pack leader, and you're not going to get it. Profits are too far in the future.
I really wish this was happening (I even posted news.ycombinator.com that google should do exactly this, but no takers).
Numenta in some respects is closest to doing this but they're moving very slowly, more like an academic research exercise than anything, and technology wise they're creations aren't as good as that of academics (Numenta is founded by Jeff Hawkins, the founder of Palm).
But putting on my optimist hat:
A pack leader really isn't as necessary as your suggesting. When the automobile began there hundreds/thousands or companies. Same with airplanes. Same with microcomputer (tens of companies - apple, radio shack, bbc micro, amstrad, spectrum etc).
Prabably in the beginning stages of any competitive industry there are never pack leaders, Eventually a brand name might emerge, but an industry doesn't have to wait for that to happen.
In fact, I would argue a pack leader is actually more of a hindrance to the pace of innovation in an industry (microsoft, the 3 car giants).
I'm going around on the net to get the ball rolling somehow, people discussing it (moving robot software into the "cloud", doing "coopetition" in computer vision), maybe some entrepreneur/technologist will see the opportunity and do something and then others catch on too.
Profits aren't too far in the future (for a smallish entrepreneur at least). The surveillance technology used in subways/airports, supermarkets and at some construction sites does object detection/tracking. The industry name is Video Analytics. However, it's still basically b2b and is very slow moving. I don't think they'll be the ones to bring it to consumer robotics, they get multimillion dollar contracts.
Why aren't the profits too far off? I think it will take years to devolop the kind of standards and technology that we'll need. If you really want to get this going, offer a $1 million prize and have a contest in a year. I worked for the DARPA challenges, and those were fairly similar to what you want to do.