Measure Anything with a Camera and Software
Kevin C. Tofel writes "Using a simple concept, iPhotoMEASURE software can measure any objects you can take a picture of. Include a printout of a 7.5- or 15-inch square in the photo and the software can measure any distance or object in the pic to within 99.5% accuracy. Although geared towards contractors, there's any number of consumer usage scenarios as well. Enough to justify a $99 price tag? Jury's still out on that."
It targeted towards contractors, who will buy it from company's money or take from their taxes.
No so expensive if you think about it in this way.
"an experienced, industrious, ambitious, and often, quite often, picturesque liar" - Mark Twain
I thought this was some kind of cool new perspective-based algorithm or something, but it turns out you have to be able to get close enough to the object to stick a label of known dimensions on it. The software justs compares the size of the label with the size of the object you're measuring. I'm not paying $99 for that.
There are already a number of laser rangefinders with compasses built-in that can do the same thing using simple trig.
This space intentionally left blank.
... for all of us guys. The subject of how to measure with a with a tape measure has long been a controversial one, and thus the size debate has been marred by a lack of common consensus. This gadget will settle things once and for all!
I hear there's rumors on the Slashdots
If they're really targeting contractors, $99 is a bit too cheap. The perception will be that if there is a $1000 program out there that can do the same thing, it must be better than this little $99 program. Never underestimate a business' ability to blow money.
My cousin does this manually, using pictures of job sites and items on known size, to estimate needs.
$99 is nothing. If it can save material purchased for a big job it will most likely pay for itself instantly, not counting all the time saved photographing and measuring that is now with manual processing afterward.
* Winners compare their achievements to their goals, losers compare theirs to that of others.
Would be to project a laser 'shape' from the camera to compute distance, and keep the entire measurement operation localized within the camera.
Just a thought.
------ The best brain training is now totally free : )
I dunno. I work as an engineer and I'm thinking something like this could be really useful.
No matter how many times you go out to a job site to measure and verify things, something always comes up that requires you to go back. For this reason, we take a lot of pictures in hopes that the camera will catch something we might not be looking for at the time.
I can't begin to count how many times I've counted bricks in those pictures to estimate distances. If I had software that could look at the image and provide measurements with 99.5% accuracy, that would be extremely useful. At $99 it would probably pay for itself after three or four uses just on time saved going back out to the site.
=Smidge=
Honestly, I could see almost every contractor getting into this...
I think people need to realize that this will be it's major market as surveying costs run in the $20~30/hour range for a single trained surveyor... this is skilled work. If companies can instead send out untrained (or barely trained) individuals at $10-$15/hr with much less time spent in calculation and only a $100 sunk cost into the software there is no reason they wouldn't choose this method. Very good news for contractors, bad for surveyors.
The price is almost low enough for consumers with a need to calculate distances relatively regularly to purchase this software.
The original generic sig.
If I take a picture of an arch with something in the background of the arch there's no way it's going to be able to measure both the foreground and background distances without any knowledge of the distance the objects are away from the camera etc...
You'd have to stick known distance marks on everything in your picture.
thank God the internet isn't a human right.
You can not measure arbitrary dimensions in a single photograph using a single calibration target. If you stick the target onto a surface you can measure dimensions on that surface, i.e. parallel to the target, but you would have no information about locations not on the plane of the target. If you are not convinced just think of it this way - any point in an image can be at an arbitrary depth.
/. fell for it, hook, line and sinker.
This means two things, either you provide the software with more information or you need a calibration target for each plane of measurements in the image. For the latter case I could write the software in an afternoon (Excluding testing, writing a manual etc.), and already have my own research tool that does precisely that, so $99 is extremely steep. For the first case such a piece of software would not be 'easy to use' nor quick, though probably worth the $99 and your money back for mis-selling.
Sounds to me like that company's marketing team is overselling there product, and
But what really gets me is the claim in the advert, claims that hyperbolic if not outright lies. I can easily construct a photo in which a house appears to be the same dimensions of the squares. One more effective way to do what the software is proposing is to know the dimensions of a feature that is part of the object you wish to measure, and use similarity to approximate the dimensions of the smaller or larger object.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
From now on any girl I meet online will be required to send me a picture with one of the squares in frame. No more "just a few extra pounds" for me.
All it does is count pixels. Take the picture with the known size block in it, then count how many pixels the block takes up: that's your dots per inch -- for objects the same distance away as the known size image. I read somewhere that the Japanese (I think) used to do this at musical instrument trade shows, by wearing a 1 cm square tie tack and taking photos of each other holding instruments. They could get the dimensions of the instrument from the photos that way, and make great cheap knock-offs.
They should make a $1299 "Professional" version, quick. It'll be the exact same product as the $99 version, just in a different color, and with a printed, spiral-bound manual.
It's definitely possible to under-price your product if you're not careful. Actually, having a $1299 version might even help drive sales of the $99 version, because people would perceive the $99 version as a sort of 'deal,' as in "hey, for $99 I'm getting 60% of the features of the $1300 version! That's great! I'll take three."
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
But since it is not 100% accurate, then its trash.
You do know that's impossible, right? I could use a laser interferometer, and determine the distance between two objects down to a fraction of a nanometer, and it would still not be "100% accurate."
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
I was taking a mechanical design class, and I wanted to know the coordinates of a bunch of screwholes in a mounting plate. I looked at it for a second, grinned, and darted to the nearest computer with a scanner -- as my teammates shook their heads (and micrometers) at me, saying "damnit, you're being impractical; it'll never work." (They thought I was too interested in theory and not enough in turning the cranks on lathes and mills; though we generally got along, we did have -- philosophical differences.) Scanning took a few seconds, after which I took a minute to note the pixel coordinates of the hole centers in a spreadsheet. Then I measured one edge of the part with the micrometer to get a pixel-to-inch scale, popped that number into the spreadsheet, and out came the x,y coordinates of all the holes in the part. When we CNCed the new plate with those hole locations, they all lined up with the part-to-be-mounted perfectly -- at which point they were pretty much forced to admit that maybe the kid knew what the hell he was doing!
I've thought since then that some software designed for the task (with edge-recognition algorithms, measurement features, etc) could turn consumer-grade scanners into decent reverse-engineering tools (for planar parts).
That link doesn't work (at least, not for me). I think it looks at the referer and won't let you deeplink to the image. You have to go through the blog to see it:w _to_measure_.html
http://jkontherun.blogs.com/jkontherun/2007/02/ho
Looking at that photo, I'm not buying that it can measure all those distances from a single photo. I think there is some advertising hyperbole going on here. I get that you could measure all those distances and dimensions, using multiple photos -- one each of every flat surface, moving the target each time so it's the same distance from the camera as the surface being measured -- but I don't think it would work from a single photo.
The only way you could measure everything from a single photo like that, would be if the camera was stereoscopic, or had some other form of depth perception. Otherwise, as you noticed, there's no way for it to know that the window that's closer to the camera is not really bigger than the garage door that's further away.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
You probably already have it.
Autocad. and other CAD programs can. you open the photo as a background or item and then measure one known item. write down the numbers from that . now measure all that you are after (ASSUMING you have good lenses and are not using a fisheye or wide andlge lens that will screw it up.)
and a simple calculator can do the rest for you.
I can give you all the dimensions in the photo within 5 minutes doing that. accuracy at the edges drops fast because most contractors have crappy point and shoot cameras (Yes your $500.00 point and shoot is crappy) and not a decent DSLR and a non zoom good lens.
Honestly I though every integrator and tech-savvy contractor knew how to do this. We estimate wire based on the same system. we go and take photos of the rooms with studs only and estimate with the photos and autocad.
Do not look at laser with remaining good eye.
It doesn't seem like it would be really too hard, if the software is just doing what I think it is.
The hardest part is just picking out the target from the photo. In most interior scenes, the target they're using would probably work pretty well (it's a white square with heavy black edges) although it seems like there are some backgrounds where locating it might be a problem. But there are, if I'm not mistaken, some OSS efforts to do things like automatic facial recognition, and that's a much more complex problem than picking a black-on-white box out. (Particularly if the center of the box is reflectorized, so that it's always 255/255/255 when a flash photo is taken.)
Once you've located the target, knowing it's actual size and how many pixels wide it is in the image, then you can let the user pick any two points elsewhere on the image (which must be in the same plane as the target, and basically perpendicular to the camera's film/sensor) and tell them how far the points are apart in reality. It's just multiplication at that point.
If you look at OSS image-processing software, there are applications around that do much more complex stuff than this: Hugin, and Panorama Tools (the latter are what really do the heavy lifting) come immediately to mind. Compared to joining and sewing a panorama, this kind of measurement seems pretty easy, unless I'm missing something critical.
If I was recommending features for a measurement product, I think the key would be not to limit it to a particular target. Sure, a few printable targets, similar to the one used in TFA's commercical product, would be good for measurement of rooms and houses, but it would also be nice to use smaller things that are typically used for scale in macro photographs. E.g., dollar bills, quarters, width of a pencil, etc. Those would be tougher to automatically recognize, and would probably require some prompting by the user in order to pick out, but would probably appeal to a wider variety of users. Who hasn't seen an eBay photo and wondered what the exact dimensions of something were?
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Just find a company which provides photogrammetry software. I worked for one once (Alias ltd. in the UK). They take a stereoscopic pair of photos of a site (with markup stickers here and there) and the software builds a 3D CAD model of all the pipes, vents, supports, walls etc.
Cress, cress, lovely lovely cress
There are some subtleties in measuring things from an image. Lenses distort images in a non-linear way, so just counting the pixels wouldn't be extremely accurate. One of the ways this can be improved is by calibration, basically taking a picture of a bunch of dots in a square array that covers the whole field of view, and do some math. Hey iPhotomeasure people, if you need a consultant for version 2, "with improved calibration" give me a call!!
It may be possible to get ARToolkit to do this. It's dual-licensed under the GPL so it's OSS. If you want to play with it just get a v4l video capture device and print out the squares.
:) Thanks Wayne Piekarski from UniSA for letting me play ARQuake on that thing at linux.conf.au in 2003.
ARToolkit's been used by the University of South Australia to create ARQuake which is a lot of fun to use with the actual wearable computer
I'm not sure if they used ARToolkit or something more in-house to make Tinmith, that looks really sweet.
The beatings will continue until morale improves.
Contractors probably already own Autocad or something like it, not to mention probably have the requisite knowledge to perform this rather trivial function as well. If not, they won't be my contractor.
The cesspool just got a check and balance.
I am an open source developer, and have been so for many years, and being quite frank here, you're talking out of your arse.
Four hours is not enough time to write anything of significance, and code *must* be tested, or the other people who take it to use have to do your testing and fixing for you before improving it and adding their own stuff.
Not all bugs can be found, but if you haven't even tested for basic errors then your code is awful, and unlikely to get used.
Releasing after a few days perhaps, or a week or so, once the basic code is sound, well that I've done.
I used to work for one of the biggest wallpaper producers, and they were going to buy a similar program where the user prints out a sheet with some kind of arrow on it, and put it on the wall. After that, the user would take a picture of his room, and load the jpg in the application. From there, the application would calculate the angle of the wall etc, and the user could load any texture (in our case, wallpaper) and it would apply it the the user's picture of his own room. It was pretty cool, but unfortunately not web-based, it had to be given to users on CD, because it was pretty huge...and the license didn't allow just distributing it on the website..
Unless more more than one photo is used with computer vision algorithms to actually build a perspective (two or more eye view) this thing is only going to produce approximate measurements.. not good enough for anything worth using it for.
99.5% is also no good unless you don't really want to measure things accurately.
The example shown in the link shows a garage that is farther from you than the windows, and the windows are not directly in line of sight but actually off to the side a little.
I think it would really only be useful if you have a very high resolution digital camera and stand quite far from the building. But for closeup work you might as well have a ruler.
It would be useful for things you can't reach though, if you can get directly in line with it.