icc devcon - color

35
ICC DevCon 2020 3D Printing spatially varying color and translucency Philipp Urban

Upload: others

Post on 03-Dec-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ICC DevCon - COLOR

ICC DevCon20203 D P r i n t i n g s p a t i a l l y v a r y i n g c o l o r a n d t r a n s l u c e n c yPhilipp Urban

Page 2: ICC DevCon - COLOR

2

Application areas

Replacements parts fitting intoexisting visual environment

Source: zahnaufhellung-friedrichshafen.de

Design prototypes

Source: Audi

Cultural heritage

Source: bbc.com

Entertainment

Page 3: ICC DevCon - COLOR

3

3D printers availableMimaki 3DUJ-553Stratasys J750

Hi-Resolution Multimaterial 3D Printers (Polyjet)

Cyan

Magenta

Yellow

Black

White

Transparent

Materials:

Page 4: ICC DevCon - COLOR

4

Related workColor 3D Printing (examples)

Reproducing perceptual attributes

Translucency 3D Printing (examples)

Reproducing physical quantities

Joint

color + translucency

?

Brunton et al. 2015

Babaei et al. 2017

HaŔan et al. 2010

Dong et al. 2010

Page 5: ICC DevCon - COLOR

5

Reproducing Physical Quantities?

Material

Bidirectional Surface ScatteringReflectance Distribution Function (BSSRDF)

Can we reproduce given BSSRDFs?

Mostly impossible due to printing systems limits:ā€¢ Absorption (factor)ā€¢ Scattering (factor / function)ā€¢ Refractive indexā€¢ Resolution (surface roughness)

Why not using BSSRDFs?

ā€¢ High dimensionality ā€¢ High memory consumption

ā€¢ Measurement effortā€¢ Instruments not availableā€¢ Time consuming

ā€¢ No perceptual metric

Page 6: ICC DevCon - COLOR

6

Perceptual attributesPerceived Translucency

Spec

ular

Spec

ular

rem

oved

Decreasing Luminance Contrast Increasing (Inverse) Lum. Contrast

min. contrastMotoyoshi, 2010

Page 7: ICC DevCon - COLOR

7

Perceptual attributesPerceived Translucency

Spec

ular

Spec

ular

rem

oved

Decreasing Luminance Contrast Increasing (Inverse) Lum. Contrast

min. contrast

ā€œPhysics of translucency is simply too complex for the[human] visual system to run the generativeequations ā€œin reverseā€ and estimate intrinsic physicalparameters via inverse optics.

ā€¦ instead the visual system relies on simple imageheuristics [cues] that correlate with translucency.ā€

Fleming and BĆ¼lthoff, 2005

Motoyoshi, 2010

Page 8: ICC DevCon - COLOR

Material

Vertical

8

Visual cues induced by light transport

TransparentOpaqueLa

tera

l Lig

ht T

rans

port

Vert

ical

Ligh

t Tra

nspo

rt

Lateral

1 āˆ’ š›¼š›¼

ā€¢ is device independent(based on reference materials)

ā€¢ is measurable (commercial spectrophotometers)

ā€¢ is nearly perceptual uniform (for reference materials)

ā€¢ Add to RGB reproduce RGBA

Urban et al., 2017

Page 9: ICC DevCon - COLOR

9

Benefits of reproducing RGBARGBA textured 3D models are

ā€¢ supported by various 3D file formats

ā€¢ can be created and modified by various 3D modeling tools

ā€¢ RGBA textures can be modified by image processing tools

Page 10: ICC DevCon - COLOR

Approach: Minimize translucency error while preserving relative color

10

Streaming voxel-based pipeline

+ +

sRGB(RGBA texture)

Voxelization

Color andTranslucencyManagement

Adjustment oflateral and vertical

Light Transport

Layer Construction+ Halftoning

Replacement ofWhite with

Transparent Material

Transferring Surface Signals

to VoxelsVoxelization

Color andTranslucencyManagement

Adjustment oflateral and vertical

Light Transport

Layer Construction+ Halftoning

Replacement ofWhite with

Transparent Material

Transferring Surface Signals

to VoxelsVoxelization

Color andTranslucencyManagement

Adjustment oflateral and vertical

Light Transport

Layer Construction+ Halftoning

Replacement ofWhite with

Transparent Material

Transferring Surface Signals

to Voxels

Streaming pipeline to compute material assignments reproducing color and translucency1

Streaming-based Veronoi tesselation ā€“ O(1) per voxel 2

Joint color and translucency management3

Page 11: ICC DevCon - COLOR

11

Precomputation: Conversion to voxelssurface

Voxel grid(chunk)(u,v)

sRGBA

Per chunk (const. # slices):

6-separating surface voxelization + rasterization of RGBA values:ā€¢ Interpolate texture coordinatesā€¢ Sample textureā€¢ Write RGBA to surface voxel

š‘§š‘§

š‘„š‘„,š‘¦š‘¦

Page 12: ICC DevCon - COLOR

12

Precomputation: Sparse surface voxelrepresentation

(š‘§š‘§, RGBA)

Per chunk:

From surface voxels, constructordered lists of š‘§š‘§, RGBA pairs

Construction in linear time w.r.t. # surface voxels

RGBA

surface interior

š‘§š‘§

š‘„š‘„,š‘¦š‘¦

Page 13: ICC DevCon - COLOR

13

Transfer RGBA to all voxels surface interior

š‘§š‘§

š‘„š‘„,š‘¦š‘¦

We need the following at all voxels:ā€¢ RGBAā€¢ Distance to nearest surface voxel

Discrete Voronoi tesselationā€¢ slice-wise computation in

š‘‚š‘‚ 1 time per voxelā€¢ Incremental look-up of nearest voxel

+ distance in š‘§š‘§ā€¢ 2D distance transform in š‘„š‘„,š‘¦š‘¦

Felzenzwalb and Huttenlocher, 2012

Page 14: ICC DevCon - COLOR

14

RGBA material assignments

White White

Beyond distance š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘› from the surface, replace RGBA value with (1,1,1, )Color and

TranslucencyManagement

Use precomputed look-up tables to convert RGBA to CMYKš›¾š›¾

š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘› š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘›

Transferring Surface Signals

to Voxels

ratio of white and clear material:

= 0 only white material= 0.5 50% white / 50% clear material= 1 only clear material

Page 15: ICC DevCon - COLOR

15

Opaque-relative processingRelativeColor GamutCMYK= (C,M,Y,K,0)

airCMYK= (0,0,0,0,0)

Relative Color GamutCMYK= (C,M,Y,K,0.5)

airCMYK= (0,0,0,0,0.5)

Relative Color GamutCMYK= (C,M,Y,K,1)

airCMYK= (0,0,0,0,1)

CIELAB

Page 16: ICC DevCon - COLOR

16

Opaque-relative processing

RelativeColor GamutCMYK= (C,M,Y,K,0)

Relative Color GamutCMYK= (C,M,Y,K,0.5)

Relative Color GamutCMYK= (C,M,Y,K,1)

Adaptingwhite point

ā€¢ Perform hue-preserving gamut expansion towards the opaque gamut [CMYK = (C,M,Y,K,0)]

CIELAB

Page 17: ICC DevCon - COLOR

17

Strategy for joint color and translucency reproduction

OpaqueColor Gamut

CIELAB= Opaque-relative color= Absolute color (same hue)

ā€¢ Gamut mapping (hue-preserving)

ā€¢ Minimize translucency difference within all translucency metamers for opaque-relative (Rā€™,Gā€™,Bā€™)

ā€¢ Compute multi-dimensional look-up table CIELAB CMYK

(Ri,Gi,Bi, i)

Color can be reproduced by(C0,M0,Y0,K0,0)

(Ci,Mi,Yi,Ki,i)

(Cn,Mn,Yn,Kn,1)

(R,G,B, )

(Rā€™,Gā€™,Bā€™)

(Rā€™,Gā€™,Bā€™, i)Smallest

-difference

Translucency Metamers

Page 18: ICC DevCon - COLOR

18

RGBA material assignmentsAdjustment of

lateral and verticalLight Transport

Replacement ofWhite with

Transparent MaterialSwitch white voxels to clear with probability šœšœWithin š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘› of the surface, use Layered Halftoning for CMYK

Layer Construction+ Halftoning

Replace white voxels within š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘› first, expanding later light transport gamut

White 0

1

0 10.5

distancefrom

surface

š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘›

White White

š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘› š‘‘š‘‘š‘›š‘›š‘›š‘›š‘›š‘›š‘›š‘›

Page 19: ICC DevCon - COLOR

19

Evaluation (Color Checker ā€“ Frontlit)

ā€¢ Printer: Stratasys J750ā€¢ Optical Printer Model: Broadband cellular Neugebauer modelā€¢ Performance: Computation faster than printing

š›¼š›¼ = 0.2 š›¼š›¼ = 0.35 š›¼š›¼ = 0.49 š›¼š›¼ = 0.64 š›¼š›¼ = 0.77 š›¼š›¼ = 0.79

2.33.23.03.73.75.5šøšø00

0.060.020.060.150.230.7š‘Žš‘ŽMedian errors: input vs. print

Page 20: ICC DevCon - COLOR

20

Evaluation (Color Checker ā€“ Backlit)š›¼š›¼ = 0.2 š›¼š›¼ = 0.35 š›¼š›¼ = 0.49 š›¼š›¼ = 0.64 š›¼š›¼ = 0.77 š›¼š›¼ = 0.79

Page 21: ICC DevCon - COLOR

21

Evaluation (Color + Transparency)

Revealing internal structures of complex models (28 sub-part). [skin: RGBA = (1,1,1,0)]20 cm47 cm (polished)

This and next slides: Pictures of 3D prints, not renderings

Page 22: ICC DevCon - COLOR

22

Translucency transitions

10 cmOnly is altered. 25 cm

Page 23: ICC DevCon - COLOR

23

Control over translucent appearance

relative š›¼š›¼ = 1 relative š›¼š›¼ = 0.5410 cm

Page 24: ICC DevCon - COLOR

24

Reproducing translucent appearance

Real wax3D Copy

Page 25: ICC DevCon - COLOR

25

Increasing design space

Real wax Appearance copy Translucency copy

Same RGBA Same shape +

Page 26: ICC DevCon - COLOR

26

Reproducing translucent appearance

violet stone

green stone

green soap

interpolateinterpolate

Page 27: ICC DevCon - COLOR

27

Limitationsā€¢ Banding artifacts for gradients cover full range of š›¼š›¼

ā€¢ 1D translucency space: no directional dependencies

ā€¢ Translucency as surface attribute: reduced degrees offreedom

Page 28: ICC DevCon - COLOR

28

Conclusions

More information:www.cuttlefish.de

ā€¢ Fabrication of joint color and translucencyā€¢ Efficient streaming algorithm to compute material assignmentsā€¢ Efficient streaming algorithm to compute Veronoi tesselations in O(1) time per voxelā€¢ Combined color and translucency management via translucency metamers

(Opaque-relative Processing)

Page 29: ICC DevCon - COLOR

29

AcknowledgementsMarco Dennstaedt and Andre Schulz (Fraunhofer IGD)

CultLab3D, Fraunhofer IGDHannes Urban

DIG:ED GmbHAlphacam GmbHLaika StudiosStratasys

Anonymous reviewers

Funding: Fraunhofer Grant Attract 008-600075, Scan4Reco project funded by EU Horizon 2020 Framework Programme under Grant No. 665091

Page 30: ICC DevCon - COLOR

30

Backup Slides

Page 31: ICC DevCon - COLOR

31

Measuring Lateral and Vertical Light Transport

Measuring Lateral and Vertical Light Transport

Lateral light transport Vertical light transport

Barbieri Spectro LFP: Commercial reflection/transmission spectrophotometerReflectance 45/0, Transmittance d/0

Page 32: ICC DevCon - COLOR

32

Media Relative Processing

Color Gamut(Absolute Colorimetry)

ā€¢ sRGB = (1,1,1) CIELAB = (100,0,0) is not printable

ā€¢ Scale colors by mapping white point to CIELAB = (100,0,0)

ā€¢ Ensures that sRGB = (1,1,1) maps to CMYK = (0,0,0,0)

ā€¢ Accounts for white point adaptation of thehuman visual system

absolutewhite pointCMYK = (0,0,0,0)

Color Gamut(Relative Colorimetry)

relativewhite pointCMYK = (0,0,0,0)

CIELAB

Page 33: ICC DevCon - COLOR

Media Relative Processingā€¢ = 0 (fully transparent) and = 1 (fully opaque)

are usually not printable for CMYK = (0,0,0,0, )

ā€¢ Scale linearly to ensure that = 0 for CMYK = (0,0,0,0,1)and = 1 for CMYK = (0,0,0,0,0)

A

transparent opaque

Page 34: ICC DevCon - COLOR

(R0,G0,B0,A0)(R1,G1,B1,A1)

(R255,G255,B255,A255)

34

In-Gamut Colors in Opaque-Relative RepresentationAdaptingwhite point

CIELAB

Color can be reproduced by(C0,M0,Y0,K0,0)(C1,M1,Y1,K1,1)

(C255,M255,Y255,K255,255)

= Opaque-relative color= Absolute color (same hue)

(R,G,B,A0)(R,G,B,A1)

(R,G,B,A255)

Translucency metamers w.r.t. opaque-relative colors

Page 35: ICC DevCon - COLOR

35

+

Source: turbosquid.com

Design / modify A in RGBA-texture