Differential Evolution for Self-adaptive Triangular Brushstrokes Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda University of Maribor { uros.mlakar,janez.brest,ales.zamuda } @um.si Student Workshop on Bioinspired Optimization Methods and their Applications (BIOMA 2014) 13th International Conference on Parallel Problem Solving from Nature (PPSN 2014) Ljubljana, Slovenia, September 13, 2014 Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 1 / 20
Overview Motivation and Related Work 1 Differential Evolution 2 The Proposed Method 3 Encoding Genotype → Phenotype Rendering Fitness Evaluation Results 4 Conclusion 5 Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 2 / 20
Motivation: Line Strokes Riley et al. (WCCI Barcelona, July 2010) compared 2 representations variable-length classic genetic algorithm and tree-based genetic algorithm. Line strokes to generate evolved images best fitness was ∼ 9 . 4% of the original image, using a tree-based algorithm. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 3 / 20
Motivation: Triangular Brushstrokes Izadi et al. (AJCAI, Adelaide, December 2010) used GP for the creation of non-photorealistic animations unguided and guided searches: the guided yields better results, filled and empty brushstrokes, reported results are: unguided: ∼ 5% guided: ∼ 2% - requires the source image in the phenotype rendering. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 4 / 20
Differential Evolution (DE) A floating-point encoding EA for global optimization over continuous spaces, through generations , the evolution process improves population of vectors , iteratively by combining a parent individual and several other individuals of the same population. We choose the strategy jDE/rand/1/bin mutation : v i , G +1 = x r 1 , G + F × ( x r 2 , G − x r 3 , G ), � v i , j , G +1 if rand (0 , 1) ≤ CR or j = j rand crossover : u i , j , G +1 = , x i , j , G otherwise � if f ( u i , G +1 ) < f ( x i , G ) u i , G +1 selection : x i , G +1 = , x i , G otherwise includes mechanism of F and CR control parameters self-adaptation. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 5 / 20
The Proposed Method (Encoding) An individual encoded image is stored into a DE vector: x = ( x 1 , x 2 , ..., x 8 T max , F , CR , T L , T U ), size is D + 4, D = 8 T max , the scaling factor F and crossover rate CR as used by the jDE, then T L and T U follow. The parameters T L and T U define the number of triangles T i : T i rendered in the evolved image, T L and T U updated similarly as the F control parameter. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 6 / 20
The Proposed Method (Genotype → Phenotype Rendering) 1/3 DE vector x i , ∀ i ∈ { 1 , ... NP } constituting a genotype rendered into a phenotype image z i (to be compared against z ∗ ). Each brushstroke is represented as ( c x , c y , r , α 1 , α 2 , b Y , b Cb , b Cr ): � � R x α 1 ∈ [0 ◦ , 360 ◦ ), c x ∈ [0 , ..., R x ), c y ∈ [0 , ..., R y ), 0 , , r ∈ √ T max α 2 ∈ [0 ◦ , 180 ◦ ), b Y ∈ [16 , 236), b Cb ∈ [16 , 241), b Cr ∈ [16 , 241). c x and c y define the center of the triangle to be rendered, r defines its circumscribed circle, α 1 , α 2 define the points of the triangle on the circumscribed triangle, b Y , b Cb , b Cr are the color components of its brush. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 7 / 20
The Proposed Method (Genotype → Phenotype Rendering) 2/3 The triangle vertices encoded by x i construct T i triangles, Figure: Triangle brush definition each triangle T k = ( c x , c y , r , α 1 , α 2 ) defines vertices as in Figure on the right, Eq. 1. For optimization, the YCbCr color space is used. For rendering, the brush color b YCbCr is transformed to the RGB k color space using the Eq. 2. Eq. 1 Eq. 2 b R k = ⌊ 1 . 164( b Y k − 16)+1 . 596( b Cr P 1 , k = ⌊ ( c x , k + r k cos α 1 , k , c y , k + r k sin α 1 , k ) ⌋ k − 128) ⌋ b G k = ⌊ 1 . 164( b Y k − 16) − 0 . 813( b Cr k − 128) − 0 . 391( b Cb P 2 , k = ⌊ ( c x , k + r k cos( α 1 , k + π ) , c y , k + r k sin α 1 , k + π ) ⌋ k − 128) ⌋ b B k = ⌊ 1 . 164( b Y k − 16)+2 . 018( b Cb P 1 , k = ⌊ ( c x , k + r k cos α 2 , k , c y , k + r k sin α 2 , k ) ⌋ k − 128) ⌋ Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 8 / 20
The Proposed Method (Genotype → Phenotype Rendering) 3/3 For each triangle T k , a solid color is rendered, 1 over the brush area with a transparency factor T i , which makes the color of the brush: b k = ⌊ 255 T i b k RGB ⌋ ; this is analogous to blending each triangle as part-transparent triangle withing the evolved image: T i b RGB z k ⌊ 255 x , y = � k , x , y ⌋ . T k over ( x , y ) Triangles defined over the edges of the image canvas are drawn by clipping away pixels outside of the canvas area. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 9 / 20
Fitness Evaluation After a phenotype image z i is rendered: it is compared to a reference image z ∗ using the evaluation metric: Ry − 1 Rx − 1 | z ∗ R x , y − z R x , y | + | z ∗ G x , y − z G x , y | + | z ∗ B x , y − z B � � x , y | y =0 x =0 f ( z ) = 100 × . 3 × 255 × R x R y The obtained result is the similarity of the evolved image and the reference image. The goal of the evolutionary process is to minimize the function value f ( z ). Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 10 / 20
Results (Experimental Setup) The parameter sets are: NP = { 25 , 50 , 100 } , T max = { 10 , 20 , ..., 150 } , RN i = { 0 , 1 , ... 51 } , MAXFES = 1e+5. A total of 45 parameter settings, 2340 independent runs. Rendering: GDI+. The experiments conducted on 4 images of size 100 × 100 pixels. Additional experiment: all images evolved up to MAXFES = 1e+6. Baboon Liberty Palace Vegetables Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 11 / 20
Results (Experiment) Best fitness values for all parameter sets for all images, MAXFES = 1e+5 Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 12 / 20
Results (Fitness Convergence Graph) 40 Liberty Palace Vegetables 35 Baboon 30 25 Fitness 20 15 10 5 0 500 1000 1500 2000 Generation The fitness convergence graph of the best runs for all images. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 13 / 20
Results ( T i Dynamics Graph) 50 Liberty Palace 45 Vegetables Baboon 40 35 30 25 T i 20 15 10 5 0 0 500 1000 1500 2000 Generation The dynamics of the number of triangular brushstrokes in the best vectors. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 14 / 20
Results (Image: Baboon ) Baboon Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 15 / 20
Results (Image: Liberty ) Liberty Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 16 / 20
Results (Image: Palace ) Palace Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 17 / 20
Results (Image: Vegetables ) Vegetables Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 18 / 20
Conclusion An evolvable lossy image representation using a jDE algorithm. The performance of this encoding: competitive with the GA tree representation. Experiments show promising results on sample images. In the future we would like to address: different evolutionary operators, change control-parameters updating, and testing on more images with different properties. Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 19 / 20
Thank you. Questions? Uroˇ s Mlakar, Janez Brest, Aleˇ s Zamuda (UM) DE triangular brusthstrokes evolution 20 / 20
Recommend
More recommend