reconstruction of smooth 3d color functions from
play

Reconstruction of Smooth 3D Color Functions from Keypoints: - PowerPoint PPT Presentation

Reconstruction of Smooth 3D Color Functions from Keypoints: Application to Lossy Compression and Examplar-Based Generation of Color LUTs D. Tschumperl C. Porquet A. Mahboubi Normandie Univ, UNICAEN, ENSICAEN, CNRS GREYC, F-14000 Caen,


  1. Reconstruction of Smooth 3D Color Functions from Keypoints: Application to Lossy Compression and Examplar-Based Generation of Color LUTs D. Tschumperlé C. Porquet A. Mahboubi Normandie Univ, UNICAEN, ENSICAEN, CNRS GREYC, F-14000 Caen, France June 2020 Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 1 / 32

  2. Context G REYC’s M agic for I mage C omputing https://gmic.eu Application context: Provide various colorimetric transformations available in our open-source framework for image processing. Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 2 / 32

  3. What is a CLUT ( Color Look-Up Table ) ? (b) Original color image (a) CLUT F : RGB → RGB , visualized in 3 D (c) Image after transformation F Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 3 / 32

  4. Examples of of CLUT -based transformations Original image “60’s” “Color Negative” “Orange Tone” “Ilford Delta 3200” “Backlight Filter” “Bleach Bypass” “Late Sunset” Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 4 / 32

  5. Standard ways of storing a CLUT a) a CLUT is a 3 D b) Storage as a .cube c) Storage as a .png dense color volume In both cases, lossless compression, but restricted to small sizes: .cube file: ASCII zipped format ( CLUT 64 3 ≈ 1 Mo) 1 .png file: 2 D image ( CLUT 64 3 ≈ 64 to 100 Ko) 2 ⇒ Issue: Promote a large-scale distribution of CLUT s ( 500+ ), by limiting the number of parameters as much as possible. Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 5 / 32

  6. Our approach: CLUT compression Compression: Let F : RGB → RGB be a 3 D CLUT . We generate K , a smaller representation based on the storage of a set of color keypoints. − → − → Storage in Determination of 3 D Original CLUT F compressed color keypoints K form Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 6 / 32

  7. Our approach: CLUT decompression Decompression: A 3 D interpolation based on anisotropic diffusion PDEs is applied to K in order to generate a reconstructed CLUT � F visually close to F . → Stockage in Decompressed No visible perceptual differences compressed CLUT � F between the two transformations form Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 7 / 32

  8. Reconstruction principles (1/3) Let F : RGB → RGB be a 3 D CLUT . It is assumed that its sparse representation is known. K = { K k ∈ RGB × RGB | k = 1 . . . N } i.e the color keypoints N , located in the RGB cube. The k th keypoint of K is defined by vecteur K k = ( X k , C k ) = ( x k , y k , z k , R k , G k , B k ) , where X k = ( x k , y k , z k ) is the 3 D keypoint position in the RGB cube, and C k = ( R k , G k , B k ) its associated color. Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 8 / 32

  9. Reconstruction principles (2/3) We propagate/average the colors C k of the keypoints in the whole RGB domain throgh an anisotropic diffusion process Let d K : RGB → R + , the distance function to the set of keypoints K : ∀ X ∈ RGB , d K ( X ) = inf k ∈ 0 ... N � X − X k � CLUT F is reconstructed by solving the following anisotropic diffusion PDE : ∂ 2 F ∂ F ∀ X ∈ RGB , ∂ t ( X ) = m ( X ) ∂η 2 ( X ) � 0 ∇ d K ( X ) if ∃ k , X = X k η = m ( X ) = where and 1 otherwise �∇ d K ( X ) � Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 9 / 32

  10. Reconstruction principles (3/3) (b) Initial state F t=0 ( Voronoï 3 D smoothed ) (a) Set K of known keypoints (d) State at convergence ( PDE Solution) (c) Diffusion orientations η Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 10 / 32

  11. Spatial discretization (1/2) d K is not derivable on its local maxima. We propose the following numerical scheme for discretization:   maxabs ( ∂ for x d K , ∂ back d K ) x   maxabs ( ∂ for y d K , ∂ back ∇ d K ( X ) = d K ) y maxabs ( ∂ for z d K , ∂ back d K ) z where � a if | a | > | b | maxabs ( a , b ) = b otherwise and ∂ for x d K = d K ( x + 1 , y , z ) − d K ( x , y , z ) ∂ back d K = d K ( x , y , z ) − d K ( x − 1 , y , z ) x (Discrete forward / backward first derivative approximations). Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 11 / 32

  12. Spatial discretization (2/2) (a) Keypoints and (b) Estimation of η using (c) Estimation of η using forward scheme ∂ for d K backward scheme ∂ back d K distance function d K (d) Estimation of η using centred (e) Estimation of η using scheme 1 2 ( ∂ for d K + ∂ back d K ) proposed scheme Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 12 / 32

  13. Temporal discretization For the sake of algorithmic efficiency, we discrete the PDE by a semi-implicit scheme: � � F t + dt − F t F t ( X + η ) + F t ( X − η ) − 2 F t + dt = m ( X ) ( X ) dt By choosing dt appropriately, we simplify the scheme by:  F t + dt ( X ) = F t if m ( X ) = 0   ( X ) � �   F t + dt ( X ) = 1 F t ( X + η ) + F t otherwise 2 ( X − η ) where F t ( X + η ) and F t ( X − η ) are accurately estimated using tricubic spatial interpolation. Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 13 / 32

  14. Multi-scale resolution Speed-up of convergence through multi-scale resolution . → Reduction of the number of required iterations per scale ( ≈ 20). → Total algorithmic complexity for a size r 3 : O ( log 2 ( r ) r 3 ) . → Reconstruction of a 64 3 CLUT in less than 1s. Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 14 / 32

  15. Isotropic/Anisotropic comparison (a) (b) (a) Color Keypoints K (b) Isotropic reconstruction, in O ( log 2 ( r ) r 3 ) (c) (c) Anisotropic reconstruction, in O ( log 2 ( r ) r 3 ) Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 15 / 32

  16. Comparison with RBFs (Radial Basis Functions) (a) (b) (a) Color Keypoints K (b) Anisotropic reconstruction, in O ( log 2 ( r ) r 3 ) (c) (c) RBFs reconstruction, in O ( N 3 + N r 3 ) . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 16 / 32

  17. Compression: Generation of keypoints Let F be the CLUT to be compressed. The compression: Generates a set K of N keypoints representing F . � F N the reconstructed CLUT from K must be close enough to F . Two quality criteria for reconstruction: ∆ max = 8, maximum reconstruction error allowed, ∆ moy = 2, average reconstruction error for the entire CLUT − → − → Storage in Determination of 3 D Original CLUT F compressed color keypoints K form Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 17 / 32

  18. Compression: Generation of keypoints Initialization of K = { ( X k , F ( X k ) | k = 1 . . . 8 } (the 8 vertices of the 1 cube). − → ⇒ Calculation of the L 2 reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 18 / 32

  19. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 19 / 32

  20. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 20 / 32

  21. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 21 / 32

  22. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 22 / 32

  23. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 23 / 32

  24. Compression: Generation of keypoints Iterative addition into K of the keypoints with maximum 2 reconstruction error, while E max > ∆ max or E moy > ∆ moy . − → ⇒ Calculation of the reconstruction error: E N ( X ) = � F ( X ) − � F N ( X ) � . Tschumperlé, Porquet, Mahboubi Compression and Examplar-Based Generation of CLUTs 24 / 32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend