540 likes | 760 Views
Modeling of Clouds from a Single Photograph. Yoshinori Dobashi (Hokkaido University) Yusuke Shinzo (Hokkaido University) Tsuyoshi Yamamoto (Hokkaido University). Overview. Introduction Related Work Proposed Method Results Conclusion. Introduction. Realistic Display of Clouds
E N D
Modeling of Clouds from a Single Photograph Yoshinori Dobashi (Hokkaido University) Yusuke Shinzo (Hokkaido University) Tsuyoshi Yamamoto (Hokkaido University)
Overview • Introduction • Related Work • Proposed Method • Results • Conclusion
Introduction • Realistic Display of Clouds • Synthesizing images of outdoor scenes • Realistic density distribution • Long research history • Modeling of clouds • Procedural approach • Physically-based approach outdoor scene
Introduction • Procedural approach • Use of simple heuristically-defined rules • Low computational cost • Difficult to adjust parameters • Physically-based approach • Simulating physical process of cloud formation • Realistic clouds • High computational cost
Our Approach • Image-based approach • Use of a single photograph • Not to reconstruct the same clouds • Using the photo as a guide to synthesize similar clouds • Three types of clouds cirrus altocumulus cumulus
Overview • Introduction • Related Work • Proposed Method • Results • Conclusion
Related Work • Procedural modeling • Fractals [Vos83] • Textured ellipsoids [Gar85] • Metaballs + noise function [Ebe97] • Spectral synthesis [Sak93] • Real-time modeling/rendering system [SSEH03] Difficult to adjust parameters [Gar85] [Ebe97] [SSEH03]
Related Work • Physically-based modeling • Numerical solution of atmospheric fluid dynamics [KH84, MYDN01, MYDN02] • Controlling cloud simulation [DKNY08] High computational cost [KH84] [MYDN01] [MYDN02] [DKNY08]
Related Work • Image-based modeling • Use of infrared satellite images [DNYO98] Not applicable to photo taken from the ground No cloud types satellite image synthesized clouds
Overview • Introduction • Related Work • Proposed Method • Results • Conclusion
Overview of Our Method cirrus alto- cumulus cumulus
Overview of Our Method cirrus alto- cumulus cumulus Calculation of cloud image (common process)
intensity opacity cirrus intensity opacity altocumulus cumulus intensity opacity Calculation of Cloud Image • Overview (input photographs) (cloud images)
1. Removing cloud pixels 2. Interpolating sky color 3. calculation of intensity/opacity Calculation of Cloud Image • Processes input image sky image intensity opacity
3. calculation of intensity/opacity Calculation of Cloud Image • Processes 1. Removing cloud pixels 2. Interpolating sky color input image sky image intensity opacity
1. Removing cloud pixels Calculation of Cloud Image • Processes 2. Interpolating sky color input image sky image 3. calculation of intensity/opacity intensity opacity
1. Removing cloud pixels 2. Interpolating sky color Calculation of Cloud Image • Processes input image sky image 3. calculation of intensity/opacity = cloud image intensity opacity
Removing Cloud Pixels • Use of chroma to identify cloud pixels • Clouds are generally white (or gray) • Remove pixel if chroma < threshold Input photograph removed cloud pixels
Calculation of Sky Image • Interpolation of sky colors by solving Poisson equation: pc: cloud pixel l = R, G, B cloud pixels pc sky image
Calculation of Cloud Image • Intensity of clouds (single scattering) sun sky viewpoint cloud
Calculation of Cloud Image • Intensity of clouds (single scattering) sun Isun sky bIsun viewpoint cloud
Calculation of Cloud Image • Intensity of clouds (single scattering) sun Isun sky bIsun viewpoint Isky cloud aIsky
Calculation of Cloud Image • Intensity of clouds (single scattering) sun Isun sky bIsun viewpoint Isky cloud aIsky Icld (p: pixel, l = R, G, B)
Calculation of Cloud Image • Computing cloud intensity (b) & opacity (a) by minimizing: store these in cloud image unknowns sky image input image
Overview of Our Method cirrus Modeling of cirrus alto- cumulus cumulus
Modeling of Cirrus • Cirrus clouds • Thin and no self-shadows • Two-dimensional texture input photograph
input image cloud image cloud plane cirrus cloud texture Modeling of Cirrus • Use of cloud image as 2D texture • Removing effect of perspective transformation by specifying cloud plane
Overview of Our Method cirrus alto- cumulus Modeling of altocumulus cumulus
metaball position radius center density field function Modeling of Altocumulus • Altocumulus • Thin but with self-shadows are observed • Using Metaballs to define three-dimensional density distribution metaball input photo
Generating Metaballs • Converting cloud image into binary image cloud image binary image
Generating Metaballs • Distance transform of binary image • Distance from a white pixel to the nearest black pixel distance image binary image
Generating Metaballs • Generating 2D metaballs at white pixels • Use distance for radius of metaball binary image
Generating Metaballs • Generating 2D metaballs at white pixels • Use distance for radius of metaball distance image binary image
Optimizing Metaball Density • Minimizing difference between cumulative density and cloud intensity center density field function [Wyvill90] cloud image cumulative density at pixel p
Optimizing Metaball Density • Example cumulative density image cloud image
Specifying Cloud Plane • Interactive specification • Orientation of cloud plane and viewing angle cloud plane
cloud plane 2D metaballs viewpoint Projecting Metaballs • Projecting metaball center onto cloud plane • Scaling metaball radius in proportion to distance from viewpoint
Computing Density Distribution • Calculating bounding box of all metaballs • Subdividing bounding box into grid • Computing density at each grid point density distribution bounding box
Overview of Our Method cirrus alto- cumulus cumulus cumulus
Modeling of Cumulus • Cumulus • Generating surface shape • Calculating densities inside surface shape cloud image surface shape 3D density distribution
Computing Surface Shape • Converting cloud image into binary image cloud image binary image
medial axis binary image distance image distance image Computing Surface Shape • Distance transform of binary image • Extracting medial axes • Pixels where distances are local maxima
medial axis cloud image thickness image colorization by optimization [Levin 04] Computing Surface Shape • Use distance at medial axis as thickness of clouds • Propagate thickness by optimization
front view side view Computing Surface Shape • Constructing surface shape • Assuming symmetric shape with respect to image plane
Computing Density Distribution • Calculating bounding box of surface shape • Subdividing bounding box into grid • Calculating density at each grid point
Overview • Introduction • Related Work • Proposed Method • Results • Conclusion
Results • Computer • CPU: Intel Corei7 (3.33 GHz) • Main memory: 4GB • GPU: NVIDIA GeForce GTX 295 • Computation time • within 10 seconds
input image cloud texture input image cloud texture Results • Cirrus
Results • Altocumulus input input synthesized synthesized
Results • Cumulus input input synthesized synthesized