3D scanners don’t have to be expensive or high-tech because all of the magic goes on in software. The hardware setup just needs to gather a bunch of cross-sections. In perhaps the lowest-tech of scanners that we’ve seen, [yenfre]’s GotMesh scanner uses milk.
Specifically, the apparatus is a pair of boxes, one with a hole drilled in it. You put the object in the top box and fill it with milk to cover the object. A camera takes pictures of the outline of the object in the milk as it drains out the hole, these get stitched together, and voilà.
There are limitations to this method. The object gets soaked in milk, so it won’t work for scanning sand-castles. (It’s optimally suited for chocolate-chip cookies, in our opinion.) If the camera is located directly above, the objects have to get wider as the milk drains out. You can do multiple takes with the object rotated at different angles or use multiple cameras to solve this problem. The edge-detection software will have issues with white objects in milk, so maybe you’ll want to scan that porcelain figurine in coffee, but you get the idea. More seriously, the rate of milk drain will slow down a bit as the amount of milk in the upper box decreases. This could also be handled in software.
In all, we’re not surprised that we don’t see commercial versions of this device, but we love the idea. It’s based on this experiment where they dip a guy in a tank of ink! If you just drank all your milk, but still have a line-laser lying around, maybe this build is more your speed. What’s your cheapest 3D scanner solution?
milk scanners are around for like 10 years…
Really? First I’ve seen them. Really really cool IMHO. As the biggest shortcomings can be solved by adding a few extra cameras.
I would also fill instead of drain, if you drain you can leave residue during the scan, if you fill, you only leave stuff afterwards.
Filling is a great idea — solves the uneven outflow rate and keeps the milk drips off your parts.
Attention commenters- Due to the overwhelming influx of well informed, observant commenters lately, we will be unable to issue any ‘I saw it first’ badges until further notice. Please excuse this minor inconvenience but rest assured- we all think you are super cool and we stand in awe of your internet prowess. You are awesome!
+1 LMAO!
but what about first comment + I saw it first badge?
“That’s old hat” reply ruins 1st post for everyone! LOL & grats! /sarcasm
Exactly! Glad to see that some get it. ;-) #sarcasmaday
add one or more zeros to that. still worthy of a post as everyone doesn’t know (or remember even if seen) everything….
Citation?
Put green food coloring in the milk – green screen, as seen on TV!
..or any peculiar color. Thus making the edge-detect algorithm’s job a piece of cake. Yup.
Strange, but cool
Put a ruler, lying at a diagonal in the milk – the ‘height’ of the milk can be determined by the scale on the ruler as the milk drains.
This is the third great idea in the comments for this single article. What the heck are you folks thinking?!?!
Holy cow! Hackaday is milking the scanning topic for all its worth! But what about the really important questions like, “is this method safe for the lactose intolerant?”
;-)
put this post out to pasture where it belongs! It’s obviously a misteak and is udder bulloney…
Hey, don’t skim on the details of your retort; I want the whole thing, the creme de la creme! This type of post will whip the crowd into a froth. No tipping allowed!
One of the earliest projects I documented was taking a laser, shining it through a broken wine glass stem (to get a line), scanning it back and fourth over an object and using some open source software to make a point-cloud, and then a 3D shape. It really impressed upon me the idea than amazing things can be done with things you have lying around.
Since a LOT of people have access to milk, a camera and a PC this fits the profile of a great first project!
You may be interested in the project my Hackaday Prize team is working on.
https://hackaday.io/project/10707-lasercut-optics-bench
Problem with lasers, it’s that it’s impossible to get a really sharp beam, making it impossible to get real nice resolution scans. It will work for objects beyond 10-20cm, but below that the resolution is not really worth it IMHO.
I’m having trouble finding a reference but I watched a documentary on Renaissance artists in which they claimed that Michaelangelo (?) carved his huge David (?) statue by submerging a small version of it in a tank of milk, revealing it layer by layer for reference.
Surely there are more economical substances than milk? Water with some food colouring perhaps?
Another thing you can’t use this to scan: anything that has a concave top surface, as the milk (or other liquid) will just pool there.
Some latex paint in water is milk-like … anyone tried that?
I would think fine or very fine sand would be a cheap alternative. Possibly some of the colored craft sands could be used if you need the color contrast mentioned above.
I’d guess that water wouldn’t work well here, the milk seems to be scattering the light so the camera won’t see below the surface. You could just as easily use a suspension of flour or cornstarch in water though, I’d expect it would work about the same way
Nonlinearity in fill / emptying rate because of variations in the tub – object area can be corrected for by optical calculation or addition of a pressure meter or my favourite, the addition of a diagonally placed ruler inside the milk on the side of the tube. This can be then read in the image taken. Just allign all the images to make a straight line…
code just got updated. Canny edge is working pretty well. Can now change threshold each frame if required.
You need dark object (of course) and each slice has to be bigger than the one above – no undercuts.. still pretty good though…
I wonder if you could rescan in XYZ planes (by rotating object) then somehow register the resulting “layers” in meshlab…?
Great project!
Cant you calculate the surface of the object in each pgoto and correct the z position?
http://hackaday.com/2007/06/05/milkscanner-3d-mapping-thats-good-for-you/
Wow, can’t say I’ve ever heard of milk based 3D scanning. The concept itself is interesting though, and the process seems relatively straightforward. It doesn’t sound like it would be too expensive either! Thanks for sharing.