
3D scanning by dipping into a liquid - jakobegger
http://irc.cs.sdu.edu.cn/3dshape/
======
zellyn
I expected they'd be either visually watching the changing contours of an
opaque liquid, or somehow using refraction to get multiple visual angles of
the same features, but…

…they're repeatedly dipping it, and using the volume displacement to
reconstruct the shape. Amazing. The site is hammered right now so I can't get
more details: anyone see how many dips are required to get the highest-detail
models they show on the landing page?

~~~
papercrane
In their presentation they have a bit more info. For the elephant model they
show the results at 100, 500 and 1000 dips.

[https://youtu.be/yHvyPnkuAiw?t=1m30s](https://youtu.be/yHvyPnkuAiw?t=1m30s)

~~~
2_listerine_pls
Why is it that all voices sound monotone when presenting a SIGRAP paper.

~~~
npolet
Not everyone has loud, presentational voices.

~~~
caio1982
Well... to be fair, if you wanna make sure your study reaches as many people
as possible, you must eventually need to improve your presentational skills.
Like, you know, we do for everything else. I understand you didn't imply this,
but IMHO there is very little pride in wanting to sound introvert forever,
intentionally. Now I just hope the parent didn't say that due to misogyny.

~~~
seanmcdirmid
Voice presenting for a recording is more of a practical art than we really
give credit for. Unless you do it a lot, you aren't going to be very good at
it.

~~~
annnnd
Which is the same as with anything else really. You need to practice to be
good at something.

~~~
seanmcdirmid
Yes, this is another case of the 10,000 hour rule.

------
AndrewKemendo
That is amazing. I think I've looked at every photogrammetry, desconstruction,
hand modeling etc... technique for 3D reconstruction and this one takes the
cake for ingenuity, quality and capability.

Not sure how practical it is right now, but I wonder if you could do this with
air volume at a high enough delta measurement resolution you might get some
amazing results.

~~~
rsp1984
How about firing air at an object through a series of nozzles, measure the
resulting turbulence and then solve for shape ;-)

~~~
JadeNB
> measure the resulting turbulence

Just a quick solution of a million-dollar math problem
([https://en.wikipedia.org/wiki/Millennium_Prize_Problems#Navi...](https://en.wikipedia.org/wiki/Millennium_Prize_Problems#Navier.E2.80.93Stokes_existence_and_smoothness))
and you're on your way!

~~~
eru
You don't have to solve the Navier Stokes equations analytical for this. You
don't even have to solve them explicitly at all: I can see a grad student just
getting a lot of experimental data and throwing it all at a neural net with
good results.

~~~
vacri
It doesn't solve the hidden cavity problem very well, though.

~~~
eru
Indeed. At least not in a way I can think of within thirty seconds.

------
proee
My friend created an advanced fluid scanner using a dodecahedron. His method
is novel in that it:

1\. Does not require rotation of the DUT, but instead uses just rising fluid
level.

2\. Uses permeable fluid so it achieves full density scans.

He spent a number of years trying to get the product to market as a startup,
but ran out of personal funding.

He believes Archimedes may have used the Roman dodecahedron as a fluid scanner
to test the quality of their projectiles to improve accuracy.

See
[http://www.romansystemsengineering.com/our_product.html](http://www.romansystemsengineering.com/our_product.html)

~~~
jamesrom
What property of a dodecahedron makes it useful for 3D scanning?

~~~
nkurz
Wow, this seems like an beautiful technique.

Apparently, it's not that the dodecahedron is uniquely suitable, rather it
offers the best compromise between competing factors. In this process, it
mostly serves as a cage to hold the object for immersion, although it has some
other useful properties as well:

"There is no other 3d platonic structure that has a higher fill-factor (volume
that can be inscribed within a sphere of rotation) relative to the entrance
hole (i.e. face area), while minimizing periphery length."

"Intuitively, one might suspect that both the dodecahedron and the icosahedron
are reasonable choices of structure for the given constraints, with their
subjective scores of 4.6 and 4.0 respectively. The dodecahedron offers
increased fill factor, aperture size, and minimizes the periphery length, and
is simple to manufacture."

[http://www.romansystemsengineering.com/hypothesis.html](http://www.romansystemsengineering.com/hypothesis.html)

------
papercrane
Found a presentation on this technique on youtube:

[https://www.youtube.com/watch?v=yHvyPnkuAiw](https://www.youtube.com/watch?v=yHvyPnkuAiw)

~~~
perilunar
Thanks. Video in the article kept timing out.

Edit: it looks like it's the same video (same length and intro).

------
azernik
Comment on the Hacker News system - most combinations of
{edu,ac,gov,mil}.{$ccTLD} should probably be collectively treated as a TLD for
site-display purposes. e.g. sdu.edu.cn (Shandong University) would be more
descriptive than plan edu.cn (some academic institution in China).

~~~
noja
[https://publicsuffix.org/](https://publicsuffix.org/)

------
anfractuosity
Wow this is very impressive. I was thinking originally they were using the
milk scanning technique - [http://www.instructables.com/id/GotMesh-the-Most-
Cheap-and-S...](http://www.instructables.com/id/GotMesh-the-Most-Cheap-and-
Simplistic-3D-Scanner/)

~~~
nom
Does anyone here know if there is an original paper or where this technique
originated? It has to be pretty old and I can't imagine nobody thought of it
before, but I'm somehow unable to find anything else than the posts on
instructable, hackaday and youtube.

~~~
anfractuosity
I was wondering that too, I've not found an authoritative source.

------
gene-h
I once scanned myself at a maker fair in a similar manner. A swimming pool of
blue dye with a camera facing above was used so that objects could be scanned
by looking at their outline in the blue dye as they were dipped in(a different
approach to the volume transforms presented here). Now to do this with a
person involved strapping that person to a board and slowly dunking them in.
Overall, the experience was unpleasant and what I imagine waterboarding is
like, but hey at least I got a 3d scan of myself.

~~~
CobrastanJorji
From what I understand, which is admittedly not very much, waterboarding is a
lot worse than being submerged. It's not so much dunking you into water as it
is pouring water up your breathing passages.

~~~
wrycoder
The approved method is to hold the person down on his back, then quickly apply
a sheet of Saranwrap over the face followed by a washcloth, followed by many
five gallon buckets of water. The drowning reflex is elicited long before a
typical breath hold time. If water gets into the breathing passages, that's
very bad - it means the procedure was done incorrectly.

The procedure is terminated quickly once the person is entering distress due
to lack of oxygen.

The first few times it's done on a person, it's very frightening. Later, it
becomes very annoying, especially if they wake you up at 4 AM for another go.

~~~
Someone
Opinions differ about the adjective 'approved'. I also doubt that, in
practice, the procedure is "terminated quickly once the person is entering
distress".

You make it sound like the DoD, Amnesty International and the Red Cross had a
couple of meetings on this and came up with a humane way of doing this.

------
simon_acca
Hey, if you add a force sensor to the dipping arm couldn't you, in principle,
obtain a 3d density map of the scanned object as well using archimede's
principle?

~~~
keithlfrost
No, I don't think so. Archimedes' principle tells us that the decrease in
force required to support the object is equal to the weight of the displaced
liquid. The force of gravity on the object itself is the same, regardless of
which portion of the object is submerged.

~~~
simon_acca
Indeed, I also reached this conclusion upon thinking about it a bit more.

So a force sensor on the arm would only be good as a way of measuring what
they are already measuring, that is, the volume of the displaced liquid.

------
deepnet
Also see 2007s Milk Scanner by Friedrich Kirschner

[http://www.instructables.com/id/Milkscanner-V1.0/](http://www.instructables.com/id/Milkscanner-V1.0/)

[https://www.youtube.com/watch?v=XSrW-
wAWZe4](https://www.youtube.com/watch?v=XSrW-wAWZe4)

~~~
vernie
This is completely different.

------
dingo_bat
Awesome technique! But I cannot imagine this ever being a fast process. 1000
dips for a small model, and you cannot dip it with force.

~~~
civilitty
As long as the equipment is cheap, the speed isn't that big of a deal. Imagine
a thousand $10k machines set up on a studio lot that is constantly scanning
items - it would be a boon for the gaming and film industries where production
takes months or years and they have several steps of increasing graphics and
art work complexity. I bet you could also set up cameras and use the
refractive index of the liquid to calculate textures while its scanning.

------
xixixao
Suggestion for increasing applicability: Start with the optical scan, then
only use the method to nail the occluded parts. And instead of just gathering
data consider what angle will give you the biggest amount of new information
next. Not sure if authors tried either.

------
beagle3
Isn't this "dip transform" basically the (inverse) Radon transform[0] used in
CT and MRI?

[0]
[https://en.wikipedia.org/wiki/Radon_transform](https://en.wikipedia.org/wiki/Radon_transform)

~~~
thethirdone
Not quite for two reasons: Displacement is integrated over all slices under
the liquid (just take the derivative to reverse). And more importantly, CT
reconstruction (can't speak for MRI) is often done slice by slice which cannot
be done for this system because you are an area integral rather than a line
integral; this means that to get a full reconstruction you have to rotate the
object in more than one axis.

There are certainly similarities though.

------
nullc
Fun. So make a closed spherical assembly with lidar something to range the
fluid height and put it in a three axis mount so the direction of down can be
continually and smoothly changed, then drain the water very slowly.

Then change the fluid for something with less surface tension (hurray more
uses for chlorofluorocarbons), and put it in a 20g centrifuge, and perhaps
scanning times will be reasonable. :)

------
randyrand
I wonder if they are taking water cohesion into account.

e.g, some of the water will stick to the sides of the object.

~~~
ajuc
Pre-dip the object.

------
hemmer
I wonder how much of a role wetting/capillary effects play in this? The liquid
interface will distort as it approaches the object, and will try to meet at a
certain contact angle (based on surface tensions etc). Correcting for this
might help improve the resolution of the scans?

~~~
derefr
I would predict that it would be rather difficult to dip-scan a sponge. Might
work if it was fully saturated (waterlogged) in advance, though.

------
skykooler
This is a really clever solution!

------
anotheryou
Hugged to death :/

How do they handle overhangs that trap bubbles?

Maybe shaking and scanning in reverse? (can stall cause weird effects when the
air can't get back in, but should be more detectable.

~~~
mrskeltal
By dipping from various different angles

~~~
agumonkey
It's a bit like a fluid pet scan, each angle will give partial information,
you "integrate" to gather the surface.

Gives me ideas.

~~~
samstave
Think of the intro to the Ghost in the Shell, where the android body is
floating up through a bath, and the manufacturer layer on the body is
dissolving and being removed. This method could detect that the material is
100% removed from the body as well as confirm that the body is created exactly
to spec.

------
joshontheweb
Can someone ELI5 as to how this gathers the spatial data for the samples? In
my ignorance, it doesn't seem clear to me as to how this works. I get that you
would be gathering different volume data with each dip but it seems to me that
this information would look like a graph that rises and falls back to zero. In
the video, they showed each dip as gathering an accurate 2d cross section of
the object. For instance, the 2d slices of the elephant on each dip graph.
They seem to be able to shape a closed 2d polygon slice per dip and it is
mystifying to me. Am i missing a part of the process or what? Is there some
imaging going on as well on top of the volumetric sampling?

Edit: I should add that this really impresses me regardless of how they do it.
Ive always thought it was a pretty big bummer how optical 3d scanning looks so
incomplete in a lot of cases.

~~~
taejo
No, they only get a graph of the volume of each slice. They have to do this
many times and compute something like a Radon transform (computed tomography)
to reconstruct the shape.

------
dre85
Is the software open sourced? This looks like it would translate into a fun
hack-a-day project. At first sight, the required hardware seems pretty basic,
or? It would be awesome if someone replicated it with a RaspPi or something
and posted a step-by-step tutorial.

------
Animats
That is very clever. So slow you'd have to run it overnight, but that could be
OK for some applications.

A good test: run it on an auto throttle body. Those have lots of voids and
holes, and some people need to duplicate existing ones.

~~~
krallja
Doesn't look like they're figured out how to scan voids and holes yet.

~~~
Animats
Yes, they can scan voids. Look at the examples. Blind holes or convexities
that trap air could be a problem, but they should be able to detect such
inconsistencies.

------
SubiculumCode
I half expected this to be tongue in cheek exposition on creating molds. I
guess it was on my mind after watching a friend artist creates sculpture molds
for pewter casting. [https://www.joshhardie.com/fullscreen-page/comp-
izfweszu/f59...](https://www.joshhardie.com/fullscreen-page/comp-
izfweszu/f59958ca-6f2d-4cb3-b33c-191bc8d851c5/2/%3Fi%3D2%26p%3Ddg5cd%26s%3Dstyle-
izlvez77)

------
antman
That seems equivalent to trying to get a joint distribution from its marginal
distributions. So the constraint is probably that either it needs to be convex
or you need to have a prior estimation of the object's cavities which means
you need to know the 3d shape beforehand to have a mathematically guaranteed
measurement.

~~~
thebooktocome
No such constraint exists for the Radon transform. There are limitations
associated with limited data, but mathematically if you had perfect knowledge
of the slices you could obtain a perfect reconstruction for any compactly
supported generalized function (I'd usually say distribution but I don't mean
the statistical object).

------
fredley
cached:
[http://webcache.googleusercontent.com/search?q=cache:15m4DWE...](http://webcache.googleusercontent.com/search?q=cache:15m4DWEAMgYJ:irc.cs.sdu.edu.cn/3dshape/+&cd=1&hl=en&ct=clnk&gl=uk)

~~~
tyingq
No images, but doesn't hang on them like the Google cache:
[http://web.archive.org/web/20170711133251/http://irc.cs.sdu....](http://web.archive.org/web/20170711133251/http://irc.cs.sdu.edu.cn/3dshape/)

~~~
striking
This one has at least a few images:
[https://archive.is/QuLKN](https://archive.is/QuLKN)

------
rsp1984
Note that this only works for objects that don't have any flexible parts and
don't interact with the water in any other way than pushing it aside (e.g.
soak water).

~~~
almostarockstar
The same approach could be used with any liquids, and possibly gasses too. As
a proof of concept, this is incredible. I can imagine a ton of applications
too. Scanning fossils is the first that comes to mind. I'm sure there could be
plenty of applications in forensics too.

------
nom
How does one come up with something like this? The method is everything but
straight forward and not practical at all, but it still produces good results.
Amazing work.

------
samstave
How does it determine shape when measuring volume displacement? is it only
measuring the displacement of the top surface-tension-layer of water as if it
were a slice?

~~~
jandrese
As it dips the model into the liquid, it displaces an amount equal to the
volume already measured plus one cross section at the current water level. By
continuously measuring the dips you can determine the area of every slice. By
dipping at different angles you can create a large number of those cross
section datasets. By merging and doing some hairy math (but well understood,
it's the same used for MRIs) you can work out the original shape.

It's a clever technique, but undoubtedly slow since it requires on the order
of 500-1000 careful dips of an object to get a reasonable level of detail. I'm
guessing they probably aren't using plain old water since then they'd have to
worry about surface tension, evaporation, etc...

~~~
jamesrom
Surface tension and evaporation would just show up as noise that would
disappear with enough dips.

------
dorianm
Epic!

