Hsu: Difference between revisions

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search
imported>Projects221
imported>Projects221
Line 42: Line 42:


=== Windowing ===
=== Windowing ===
Given that the tampered areas in the training images were small areas of the main image, a sliding window was used to calculate the measure of similarity for segmented blocks of the image.  Each window had a 50% overlap with it's neighbors.


=== Threshold ===
=== Threshold ===

Revision as of 22:12, 19 March 2013

Back to Psych 221 Projects 2013




Introduction

Background

-CFA Interpolation and why necessary -Effect of tampering on CFA interpolation

Methods

The expectation-maximization algorithm calculated an estimation of the linear model used to interpolate the Bayer array and generated the per-pixel probability that each sample pixel belonged to the calculated linear interpolation filter (need a reference). The probability map was then analyzed for periodic frequencies to determine whether of not the image had been tampered.

Expectation-Maximization Algorithm

Expectation

The expectation step of the algorithm estimates the per-pixel probability that the pixel belongs to the estimated linear model, α. Each color channel is described as

f(x,y)=u,v=NNαu,vf(x+u,y+v)+n(x,y)

where n(x,y)=f(x,y)u,v=NNαu,vf(x+u,y+v) is the residual error between the actual image and the estimated image. The residual error is approximated using a Gaussian function with zero mean and α standard deviation. The probability that each pixel is taken from the estimated linear model is calculated using the probability distribution function of the residual errors:

P(x,y)=1σ2πexp[12σ2(f(x,y)u,v=NNαu,vf(x+u,y+v))2]

Using this probability, the per-pixel probability that the image is estimated by the proposed α is calculated using Bayes' rule. In these calculations, only the proposed linear model and an unspecified non-linear model were considered as possibilities. The non-linear model M_{2} was estimated to be one over 255;

Pr{𝑓(𝑥,𝑦)M1𝑓(𝑥,𝑦)}=Pr{𝑓(𝑥,𝑦)𝑓(𝑥,𝑦)M1}Pr{𝑓(𝑥,𝑦)M1}i=12Pr{𝑓(𝑥,𝑦)𝑓(𝑥,𝑦)Mi}Pr{𝑓(𝑥,𝑦)Mi}

The maximization step of the algorithm computes a revised α based on minimization of the residual error.

Tamper Detection

Measure of Similarity

Windowing

Given that the tampered areas in the training images were small areas of the main image, a sliding window was used to calculate the measure of similarity for segmented blocks of the image. Each window had a 50% overlap with it's neighbors.

Threshold

Results

Conclusions

- Buggy areas: places with large areas of pixels with the same pixel so that the probability map shows the same value for a large swath - Automation: normalization between different images - Use information about the CFA to determine tampering (i.e. threshold adjustment done based on CFA interpolation technique - Classification using frequency information between channels instead of processing them differently Could give better estimate in the case of CFA interpolators across multiple channels or get better estimate of frequency across different channels


References - Resources and related work

References

Software

Appendix I - Code and Data

Code

File:CodeFile.zip

Data

zip file with my data