I'm thinking that over the next 5 years, the simple act of giving every geek a powerful, programmable computer with a camera attached (that fits in their pocket) is going to do more for computer vision than all of the years of research that came before.
I certainly hope so. We got taught by John Daugman, who's done some amazing stuff in Computer Vision. It's brilliant for us to be able to do something like Sudoku Magic in a mobile phone. And we have plenty more ideas to come!
Lightweight augmented reality like this is going to be much more of a game changer than most people think. Today its just a toy that figures out whats missing in your sudoku, soon it will help you figure out whats wrong with your car, or where that bus is going, or whats in that hamburger.
I'd kill for an app thats linked to octopart so I can point my iphone at a circuit board and little bubbles appear telling me what all of the parts are and how to order replacements... pls make, kthnx.
If they can figure it out in time, it opens a whole new realm of search for Google. Point and search will be huge. If not, those 2 guys eating the ramen and dreaming big will surely bring it to us post-haste.
We actually met some people doing something like this in Cambridge when MagicSolver was just starting - a group called imense (http://www.imense.com/). They have an automated picture tagger. You give it a picture of a field of sunflowers, for example, and it comes up with 'flowers, nature, field, ...'. I imagine that if you made it domain-specific (your PCB example), you might be able to actually classify the objects.
Sudoku Magic is similar to Sudoku Grab, but we improve on the two main use cases:
1. Playing Sudoku. We want to give players a better Sudoku experience. Simple things like tactile sounds and highlighting the current row, column and square make people happy. (The aesthetic still has a long way to go though.)
2. Showing off. People mostly use our application to amaze their friends. That's why we show as-it-happens images of the vision algorithms. We're still finding ways to make it cooler. Any suggestions would be much appreciated :)
We actually got this working in J2ME back in 2005. We were negotiating a distribution deal with a handset manufacturer, but the discussion slowly went nowhere. They wanted it on a wider range of handsets than was feasible, as camera access on various handsets was significantly broken. For example, checkout http://www.scribd.com/doc/17740520/Samsung-Z-Series-Handsets...
- In the Z140, asking for a 640x480 image gave you a 320x240 image, squashed and repeated twice.
- In the Z540V, asking for a 320x240 image gave you an image which was green and skewed!
At the moment it doesn't look like you show -how- the solver solves the problem. Showing how your solver works, by visualizing backtracking / guesses it makes, would be really cool.
I want to make an app where you can take a picture of a resistor and it tells you the value by reading the colored bands. It would be really cool, but I'm not sure where to start. I really need a book on computer vision.
(you could Google for some resistor pictures and play around in your favourite photoshop clone, then get an image processing library for your favourite language).
it also gives you the possibility to play the photographed sudoku on the iphone. reading the headline, I tought the app only solves a photographed sudoku, which per se is not very useful (except you want to impress your friends). it's a pretty cool app. I recommend you to watch the video (http://www.youtube.com/watch?v=HO8QjTZkcmw)
Reminds me of CubeCheater (http://cubecheater.efaller.com/)
Photograph all sides of a Rubick's Cube and it shows you step by step instructions to solve that particular cube. Pretty cool.
- Magic also has a very powerful playing interface - big numpad buttons for two-humbed play, undo/redo, a nice pencil mode(the numpad buttons even change colour depending on which numbers have been pencilled in), movable highlights for the current box, row and column. It is actually better than most playing UI's, even for dedicated sudoku playing apps. Grab's playing UI is a bit simpler.
- Grab has skins for the playing UI (you can change colour schemes) and an animated main menu.
- Magic scores the puzzle for you when you capture (e.g. 4832 - hard), which is cool if you want to beat your personal best. As a bonus, the checking screen (where you can fix digits) doubles as a puzzle editor/creator. You can add/remove numbers and see how the difficulty score compares in real-time. It also tells you if the puzzle is unsolvable (e.g. due to multiple or invalid solutions) :-)
- The capture process for Magic looks much nicer (a spinning cube + music rather than a progress bar) and seems more reliable but you can't adjust the grid boundaries.
- You can contact the developers from the main menu in Magic
I'm actually working on an automatic grader for captured puzzles right now - this will use the same logic techniques that a human solver would use so should give a real indication of how tough a puzzle actually is.
In a similar vein I want a puzzle solver where you take a photo of the box and the piece and the app highlights where the piece probably goes in the picture
That might be doable. One of my fellow students designed a jigsaw puzzle solver that worked by looking at the shape of the piece, rather than a picture. However, I have worked in this kind of area and if you can guarantee little rotation, working out the translational offset isn't too bad. I'll give this some thought.
Sudoku Magic could be a great app to open a conversation with a top girl on the Tube!
If a top babe is playing Sudoku on her newspaper, you can help her to solve her puzzle with your iPhone ;-))