(OLD)

44K27225

Intro: (OLD)

(OLD)

25 Comments

super cool.. i actuall made a laser scanner 12 years back and getting the edge of the laser to give a sharp edge was a pain and the generated scan always came out jagged edge.. your edge detection seems to give a smooth edge. i am tempted to try it but make a little more sophisticated using a platform raising up and down in milk. have you tried other white dyed liquids that wont spoil after a while?

Instead of adding salt how about using salt insteaqd of a liquad? have the salt drain out like in an hourglass.

thanks for sharing. very clever approach.

how many viewing angles are needed if there are overhangs? do u need to take a set of pictures from different angles for over hangs? how does this work?

thanks

This is a really clever idea. I enjoyed seeing what you've done.

The comments on the older post you linked to are interesting, and address a lot of the thoughts I had while considering your take on this method. Worth a look for anyone interested :)

Nice to see the direction you've taken this. Thanks for sharing!

cool! that's really nice inspired idea for similar process this simply príncipe blow muy mind, thnks forma share. sharing is caring
The cheapest not the most cheap I think.

So as good as in 2007

https://www.youtube.com/watch?v=XSrW-wAWZe4

A little too manual - spooning milk in the scanned container and clicking to take the image every so often. GotMesh is no more expensive and much less work for scan don't you think ?

Often, the simpler ideas are the best. The concept presented here is great and quite economical compared to alternatives for 3D scanning. It can also be very effective.

There are a couple of issues to solve to make it even more versatile. None are show stoppers, as seen in previous comments. They just need further thought.

Someone mentioned just making several scans, changing the object's position; taking more time but very effective at addressing odd shape objects and keeps overall cost down. At worse, 6 scans should be needed - each face of a 'cube'. Doing more would imply overhangs (hidden spaces / voids). Still possible with approach taken here, just more work to scan and then stitch resulting meshes.

The use of a clear liquid with a floating layer of (near) opaque "oil", whether it's taking the images from the top or bottom (liquid proof camera needed) address problem of the milk going bad at some point, cost and recycling of the liquid, ... down to contrast with object to scan by changing the colour of the floating "oil". There is always the possibility of changing the colour of the object itself - quick layer of (removable) paint (ex: matte black to contrast with shiny white milk). It needs to be thin none pooling, so it doesn't change the object shape during the scanning process.

Giving the use of liquids, the object to be scanned needs to be water proof and 'solid' (not porous) so it does not absorb the liquid, especially one which spoils. Depending on the object, solution would be to apply a sealer. It might also help colour and/or take the glare out, depending on the sealer being used.

The use of a very fine powder would introduce need for shaking to keep surface level flat (a consistent 'water line' tracing the object) BUT it would also require a fixation method for the object (avoid object from moving around !)

The effect of the objects shape on the Z resolution, as indicated by others, can be addressed in several ways. The simplest could be to register the height of liquid's surface over time. It would then be sync'ed with the time stamp of the images. A simple approach might be using the OSD (on screen display) concept. That is, to have a readout of the height within the field of view of the camera which then gets processed by the software to 'read' the display (fixed location and height) and 'set' the Z accordingly. The resolution of the readout would have to be as precise as a 3D printer's Z axis. I suspect a float rigged to some sort of digital micrometer ? It might not be 'cheap' enough. There might be a way to do this purely a mechanical display : the float rigged to a precise 'ruler' positioned parallel to the camera's field of view. As the float follows the liquid's surface, it moves a marker along the ruler; marker is high enough contrast that software can pick it up and calculate position. The camera's resolution, along with the marker shape/contrast, becomes the limit for the precision of the calculated Z. There might not be even a need for a ruler - just a reference point and knowing the camera's resolution.

The GotMesh 3D scanning concept can be a very viable low cost approach to get precise mesh of just about any liquid proof(ed) objects of any size. Of course, I'm not ready to dunk my car to get a 3D model of it, but it would be possible (and out there, there's a person thinking about it now - LOL)

Way to go YenFre, kudo's to you. Fantastic idea !

I think I will try this to scan the body/shell of my model (1/10 scale) monster truck. Blacken the shell using something like Pasti-Dip paint (it can be peeled off 'easily' without damaging), scan it with GotMesh, then modify the resulting mesh to make my own version. Resulting 3D model could be CNC'ed to make a mold to thermo form a new customized shell. The hardest part, for me, would to paint the body in some catchy pattern. Tada... I end up with a very unique monster truck at minimal cost !

I just Gotmesh'ed ! And I'm loving it. ;))

Have you tried a combination of super fine sand and vibration to level the "layers"? Just a thought that occurred when I came across this build. I will be trying this when life settles down again.

No I have not but that is a really good idea. I will have to try it. Thank you for commenting and throwing that out there for everyone.

Not yet. I will try to post one by this Monday. Thank you for the interest.

Nice work, man, i love that super-simple idea!

However, if i understand it right, then i see another one but way less problematic flaw next to the "bottom half"-thing: the z-axis-reference. it looks like you constantly release the milk by its natural flow, which first follows a somewhat complicated diferential equation due to the constantly changing height and corresponding pressure of the liquid.

Secondly even if id did flow constantly, the liquid height would change faster where the object is bigger, consuming more of the volume, so the milk-volume in this height region is removed faster than where the object is small. Of course, this effect might be negligible when using large boxes and small objects as you do.

What i want to say is if you want to get a precise and undistorted image in the z-direction, you would have to reference each image of the time lapse not to the time itself, but to the actual liquid height at that time. Idk exactly what the expenses of employing a precise liquid height measurement would be, but it would make this wonderful machine even work in accordance to physically correct principles!

And another thing i'd like to mention: I would suggest using soy milk, because it is super cheap and easy to make yourself in large amounts and even easier if its not intented for human consumption!

Now i hope i dont come about like super-arrogant, but these were the thoughts that struck me right after "oh god how awesome is this thing?!!".

> exactly what the expenses of employing a precise liquid height measurement would be,

You could always use another camera giving a side view of the milk level (either against a ruled scale, or just using OpenCV to find the level of the milk in the picture). Then it would be a case of taking pictures with the side-view camera to find the right time to trigger the main camera.

Or, you might do it on a single camera if you can use a mirror (angled) to get a look at the milk level in the same field-of-view as the contour image. Then it becomes a case of taking (and throwing away) images until the milk level has moved by 1 "unit" of depth, and retaining that image, before repeating the process.

Ingenious scanning method :)

Thank you for the comment. Yes, the precision of the Z-height could certainly be improved using another camera. A mirror is a great way to still use one camera. Thank you for sharing. Additionally the camera could keep taking pictures but the script (program) could align them based on their position instead of waiting to take pictures based on the height.

Thank you for the comment. You bring up a very good point I did not think of that the shape of the object will vary the surface area cross-section and therefore drain rate. We did try to account for the difference in flow rate from the height the of milk but we did not account for it in terms of the object itself. I will continue to thing about a solution to that. Also, I will definitely try soy milk. I am glad you enjoyed this project.

I wouldnt use milk, but maybe salt or baking soda

Thanks for the comment suggestion. I have tried both and from my experience milk works better as the liquid to be drained must be completely opaque even at very thin thicknesses but I may have not added enough salt or baking soda.

Clever idea. I dont know much chemistry but could you float a thin layer of oil for example and then float an multicoloured LED that would only colour or maybe flourese that thin layer. Then you could use the same liquid and change the colour for maximim contrast with the item you are scanning. Then you could take an underwater picture at the same time - the underwater camera might not work if lower liquid not transparent.
More Comments