Detecting and restoring the tampered images based on iteration-free fractal compression Source: The Journal of Systems and Software, Volume 67, Issue 2, pp. 131- 140, Aug. 2003 Authors: Ching-Te Wnag, Tung-Shou Chen, Shao-Hau He Speaker: Yu-Zheng Wang Date: 2004/04/20
Outline Introduction Iteration-free fractal image coding Proposed method Experimental results Conclusions
Introduction network A key point: characteristic value An intruder damage the picture Original image tampered image restoration image A key point: characteristic value Protected image
Iteration-free fractal image coding Generate the efficient domain pool Output the header and the fractal code image F Partition into non-overlapping range block If the variance of the range block > THv Find a domain block which similar to the range block Else Code by the mean of the range block
Iteration-free fractal image coding (Generate the domain pool) image F Mean value: B=8 B I range block Rr I=512 I/B=64 D0 domain block Dd (B x B) I/B Domain pool: a set of all domain blocks. mean image M
Iteration-free fractal image coding (Encode the fractal code) B=8 B Mean value: Variance: I range block Rr I=512 image F Header information: 0 If the variance of the range block <= THv Save the mean of Rr as a fractal code
Iteration-free fractal image coding (Encode the fractal code) Header information: 1 If the variance of the range block > THv Find a domain block which similar to the range block The new affine transformation (新相仿轉換) D: all pixel values in a domain block μR: the mean of the correlative range block μD: the mean of D α : the contrast scaling; α ={n/4, n=1,2,3,…,8} μR- (α.μD): the luminance offset
Iteration-free fractal image coding (Encode the fractal code) ι : isometric transformation A fractal code contains: the isometric transformation ; the contrast scaling ; mean of the range block ; the position of domain block
Iteration-free fractal image coding (Encode the fractal code) The fractal code: (output) Header information: 0010101…1 Data information: 0010111 0100010 000 011 1000001 00110101 … mean=46 mean=69 ι :(a) α =4 mean=130 53th block 00101110 01000101 10000010
Iteration-free fractal image coding (Decode the fractal code)
Iteration-free fractal image coding (Generate the efficient domain pool) We have (I/B-B+1)*(I/B-B+1)+1 domain blocks. (I:512; B:8) (512/8-8+1)*(512/8-8+1)+1=(64-8+1)*(64-8+1)=3250 Some neighboring domain blocks are similar to each other. There are two methods to obtain the efficient domain pool: LBG algorithm block-averaging method (better performance) Ex:8-4+1=5
Iteration-free fractal image coding (Generate the efficient domain pool) Block-averaging method T’: the sampling period ND: the number of domain blocks Example: ND=225
Iteration-free fractal image coding (Generate the efficient domain pool)
Proposed method Extraction and embedding stages
Proposed method (cont.) Extract characteristic values from a specific image If the variance of the range block > THv characteristic value: isometric transformation(3 bits); the contrast scaling(3 bits); mean(7 bits); position of domain block(BitsPD= log2ND )(ND=225:8 bits) The header is recoded by 1 (1 bit) Else characteristic value: mean(7 bits); The header is recoded by 0 (1 bit); And header information has to be added to characteristic values.
Proposed method (cont.) Hiding characteristic values into the image The sequence of characteristic values: 0010010…11010100100101…1 Make three copies of the characteristic values 0010010…11010100100101…1 0010010…11010100100101…1 0010010…11010100100101…1 Permute the characteristic values using the pseudorandom number generator with a seed. (512*512=262144) {7,18901,147,…,677,…,3,…,19,…,11111} The characteristic values are embedded into the LSB. Header information data (I/B)*(I/B)-1
Proposed method (cont.) 32 135 0 01001011101101…1 : characters values {7,5,47,…,37,…,3,…,19,…,11} 32 134 10000111 image F 10000110 00100000 Protected image F 00100000
Proposed method (cont.) Detecting and restoring the tampered image
Proposed method (cont.) Extracting characteristic values Using the seed to generate a random sequence {7,18901,147,…,677,…,3,…,19,…,11111} We can extract characteristic values from LSB. {0010010…11010100100101…10000110…11010100100101…10010010…01010100100101…1 } First, getting the header information System checks the header bits whether correct by compares with the three copies. C1’:{0010010…1} C2’:{0000110…1} C3’:{0010010…0} =>0010110…1 Getting other characteristic values.
Proposed method (cont.) How to detect tampered blocks? mean ? The protected image F’ this = mean of characteristic values The detected image
Proposed method (cont.) Restoring the tampered image It uses the decoding method. It looks at the header information If the value is 0 The tampered block is restored by the mean If the value is 1 The tampered block is restored by its position in the domain pool, isometry, the mean of the range block, and the contrast scaling. The detected image
Experimental results 512 x 512 LENA An efficient domain pool mean image Protected image Tampered image Restoration image Detection image
Experimental results (cont.) 512 x 512 PEPPER An efficient domain pool Mean image Protected image Tampered image Restoration image Detection image
Conclusions This paper has proposed a detection and restoration system for tampered image based on iteration-free fractal compression. The restoration technique don’t need the source image.