Invariant Image Hashing for DWT SPIHT Coded Images
陳慶鋒陳慶鋒11/23/0411/23/04
Outline
Image hashingImage hashing The significance maps from SPIHTThe significance maps from SPIHT The SPIHT-autocorrelogramThe SPIHT-autocorrelogram Distance(similarity) measureDistance(similarity) measure Experimental resultsExperimental results Future workFuture work
Image hashing WatermarkingWatermarking
the watermark is embedded in the image the watermark is embedded in the image
for copy detectionfor copy detection
measuring “originality”measuring “originality”
Content-based image retrieval(CBIR)Content-based image retrieval(CBIR)get index from the content of the imageget index from the content of the image
to find similar imagesto find similar images
measuring “similarity”measuring “similarity”
Image hashingImage hashingget hash from the content of the imageget hash from the content of the image
for copy detection and searchingfor copy detection and searching
measuring “similarity”measuring “similarity”
SPIHT
AlgorithmAlgorithm
InitializationInitialization
Sorting passSorting pass
Refinement passRefinement pass
Quantization-step updateQuantization-step update
output: bit streamoutput: bit stream
SPIHT
In sorting passIn sorting pass check the significance of node (i,j) in LIPcheck the significance of node (i,j) in LIP
check the significance of O(i,j) in LIS (A type)check the significance of O(i,j) in LIS (A type)
check the significance of L(i,j) in LIS (B type)check the significance of L(i,j) in LIS (B type)
O(i,j): set of coordinates of all offspring of node (i,j)O(i,j): set of coordinates of all offspring of node (i,j)
D(i,j): set of coordinates of all descendants of node (i,j)D(i,j): set of coordinates of all descendants of node (i,j)
L(i,j): O(i,j)-D(i,j)L(i,j): O(i,j)-D(i,j)
The significance maps from SPIHT In sorting pass, we can get the significance In sorting pass, we can get the significance
of each entry in LIP and LIS(A type and B of each entry in LIP and LIS(A type and B type). So we form the significance maps type). So we form the significance maps according to the above property. according to the above property.
Only the last 4 subbands are consideredOnly the last 4 subbands are considered
The significance maps from SPIHT Example Example
The significance maps from SPIHT Example the initial threshold is 32 Example the initial threshold is 32
11 11
00 00
00 11
00 00
00 00
11 00
LIP LIS(A) LIS(B)
The SPIHT-autocorrelogram
Histogram-based method in CBIRHistogram-based method in CBIRex: CCV,color correlogram,etcex: CCV,color correlogram,etc
property: contain both color and spatial property: contain both color and spatial information information
resistant to geometric distortionresistant to geometric distortion
The SPIHT-autocorrelogram
Count the autocorrelogram of 1’s for each Count the autocorrelogram of 1’s for each significance mapsignificance map
let a significance map let a significance map M M be a be a mmxxm m matrixmatrix
, means its value, means its value
LL1 1 distance:distance:
LL2 2 distance:distance:
The SPIHT-autocorrelogram
Count the autocorrelogram of 1’s for each Count the autocorrelogram of 1’s for each significance mapsignificance map
set a max distance set a max distance
the autocorrelogram of 1’s of the autocorrelogram of 1’s of M M is defined asis defined as
The SPIHT-autocorrelogram ExampleExample
LL1 1 distance:distance:
LL2 2 distance:distance:
11 11
11 0011 22 11
11 22
11 11
11 0011 33 00
11 22
Distance(similarity) measure
For the significance maps or the SPIHT-For the significance maps or the SPIHT-autocorrelograms, convert them to an one-autocorrelograms, convert them to an one-dimension vector as our hash.dimension vector as our hash.
11 11
11 0022 11
11 11
11 00
00 11
11 0022 11 00 11
Distance(similarity) measure
Distance measure Distance measure
LL1 1 distance vs. Weighted distancedistance vs. Weighted distance
let H and H’ be the hashes of two iamgeslet H and H’ be the hashes of two iamges
HHi i means the value of the means the value of the iith entry in Hth entry in H
the Lthe L1 1 distance between two hashes is defined distance between two hashes is defined
asas
the Weightedthe Weighted distance between two hashes is distance between two hashes is
defined asdefined as
Experimental Results
SetupSetupdatabase: 10 different images.database: 10 different images.
for each image,using Stirmark 3.1 and for each image,using Stirmark 3.1 and 4.0 to simulate various manipulations.4.0 to simulate various manipulations.
color space: YCbCrcolor space: YCbCrimage size: zoom all images to 512*512image size: zoom all images to 512*512DWT: 9/7fDWT: 9/7flevel: 5level: 5the thresholds: the first 3 thresholds the thresholds: the first 3 thresholds
Experimental Results The 10 imagesThe 10 images
Experimental Results
Performance measurePerformance measure
recall:recall:
precision:precision:
N: the number of ground truthN: the number of ground truthT: the first T similar image we consider in retrievalT: the first T similar image we consider in retrievaln: the number of matched images in retrievaln: the number of matched images in retrieval
Experimental Results Results Results
Stirmark 3.1Stirmark 3.1
d=7, weighted distanced=7, weighted distance
T=1T=1 T=2T=2 T=3T=3
RecallRecall PrecisionPrecision RecallRecall PrecisionPrecision RecallRecall PrecisionPrecision
Convolution filter (2)Convolution filter (2) 11 1 11 0.5 11 0.33
Median filter (3)Median filter (3) 11 1 11 0.5 11 0.33
FMLR (1)FMLR (1) 11 1 11 0.5 11 0.33
JPEG (12)JPEG (12) 11 1 11 0.5 11 0.33
Scaling (6)Scaling (6) 11 1 11 0.5 11 0.33
Shearing (6)Shearing (6) 0.980.98 0.98 11 0.5 11 0.33
Aspect ratio (8)Aspect ratio (8) 11 1 11 0.5 11 0.33
General linear (3)General linear (3) 11 1 11 0.5 11 0.33
Rotation crop (16)Rotation crop (16) 0.860.86 086 0.890.89 0.44 0.930.93 0.31
Rotation crop scale (16)Rotation crop scale (16) 0.860.86 0.86 0.90.9 0.45 0.940.94 0.31
Cropping (9)Cropping (9) 0.660.66 0.66 0.770.77 0.38 0.840.84 0.28
Row and col removal (5)Row and col removal (5) 11 1 11 0.5 11 0.33
Geometric distortion (1)Geometric distortion (1) 11 1 11 0.5 11 0.33
Experimental Results Results Results
Stirmark 4.0Stirmark 4.0 T=1T=1 T=2T=2 T=3T=3
d=7, weighted distanced=7, weighted distance RecallRecall PrecisionPrecision RecallRecall PrecisionPrecision RecallRecall PrecisionPrecision
Affine (8)Affine (8) 0.890.89 0.89 0.930.93 0.46 0.940.94 0.31
Convolution filter (2)Convolution filter (2) 0.650.65 0.65 0.70.7 0.35 0.80.8 0.27
Cropping (9)Cropping (9) 0.20.2 0.2 0.340.34 0.17 0.420.42 0.14
JPEG (12)JPEG (12) 11 1 11 0.5 11 0.33
Median filter (4)Median filter (4) 0.950.95 0.95 0.980.98 0.49 11 0.33
Noise (6)Noise (6) 0.370.37 0.37 0.420.42 0.21 0.570.57 0.19
PSNR (11)PSNR (11) 11 1 11 0.5 11 0.33
Rescaling (6)Rescaling (6) 11 1 11 0.5 11 0.33
Remove line (10)Remove line (10) 11 1 11 0.5 11 0.33
Rotation (16)Rotation (16) 0.790.79 0.79 0.840.84 0.42 0.860.86 0.27
Rotation crop (10)Rotation crop (10) 0.970.97 0.97 0.970.97 0.48 0.970.97 0.32
Rotation crop scale (10)Rotation crop scale (10) 0.950.95 0.95 0.960.96 0.48 0.970.97 0.32
Self similarity (3)Self similarity (3) 11 1 11 0.5 11 0.33
Experimental Results
Failed in Stirmark 3.1Failed in Stirmark 3.1
Rotation Crop 30°
Rotation Crop Scale 30°
Cropping 20%
Experimental Results Failed in Stirmark 4.0Failed in Stirmark 4.0
Convolution filter
Rotation 5° Cropping 75% Noise 40%
Future work
Larger databaseLarger database Reading more papersReading more papers Comparing with papersComparing with papers