LamTangYu: Difference between revisions

From Psych 221 Image Systems Engineering
Jump to navigation Jump to search
imported>Projects221
imported>Projects221
Line 25: Line 25:
[http://en.wikipedia.org/wiki/Bilinear_interpolation Bilinear] and [http://en.wikipedia.org/wiki/Bicubic_interpolation bicubic] are the simplest interpolation algorithms. Each color channel is interpolated independently by using a 2D linear filter <math>h\left(x,y\right)</math> on <math>\tilde{R}\left(x,y\right)</math>, <math>\tilde{G}\left(x,y\right)</math>, and <math>\tilde{B}\left(x,y\right)</math>.
[http://en.wikipedia.org/wiki/Bilinear_interpolation Bilinear] and [http://en.wikipedia.org/wiki/Bicubic_interpolation bicubic] are the simplest interpolation algorithms. Each color channel is interpolated independently by using a 2D linear filter <math>h\left(x,y\right)</math> on <math>\tilde{R}\left(x,y\right)</math>, <math>\tilde{G}\left(x,y\right)</math>, and <math>\tilde{B}\left(x,y\right)</math>.
<br>
<br>
<math>\tilde{R}\left(x,y\right)=R\left(x,y\right)</math> for <math>x,y</math> such that <math>R\left(x,y\right)\ne0</math>. Otherwise, <math>R(x,y)=h*\tilde{R}(x,y)</math>.
<math>\tilde{R}\left(x,y\right)=R\left(x,y\right)</math> for <math>x,y</math> such that <math>R\left(x,y\right)\ne0</math>. Otherwise, <math>R(x,y)=h*\tilde{R}(x,y)</math>. The same is done for the green and blue channels. For bilinear interpolation, a 3 by 3 filter is used and for bicubic interpolation, a 7 by 7 filter is used.


=== Smooth Hue Transition ===
=== Smooth Hue Transition ===

Revision as of 20:17, 18 March 2013

Back to Psych 221 Projects 2013



Introduction

The purpose of the camera forensics project is to automatically detect whether an image, that was produced by CFA interpolation, was tampered with. CFA interpolation is used by digital camera to generate digital images. The interpolation will result in specific statistical patterns in the pixels of an image, which and then be utilized to determined whether or not an image has been altered.

Background

What is CFA Interpolation?

When digital cameras capture images, it saves the output of a single sensor after passing through a color filter array (CFA). Every single pixel of a color image is composed of three color channels, red, green, and blue. However, the camera is only able to sample a single color channel per pixel, so to fully form a colored image, the values of the other two colors will have to be estimated. Various interpolation techniques are used to estimate the missing samples.

Different Types of CFA Interpolation Techniques

Figure 1. The Bayer Array

A common CFA is the Bayer Array. Colors are sampled according to the pattern in Fig. 1. As shown, the green color channel is sampled at twice the rate of the red and blue channels. All of the interpolation methods below assume that the image was captured through a Bayer Array.
Let R~(x,y), G~(x,y), and B~(x,y) represent the CFA sampled versions of the three color channels.

Bilinear/Bicubic

Bilinear and bicubic are the simplest interpolation algorithms. Each color channel is interpolated independently by using a 2D linear filter h(x,y) on R~(x,y), G~(x,y), and B~(x,y).
R~(x,y)=R(x,y) for x,y such that R(x,y)0. Otherwise, R(x,y)=h*R~(x,y). The same is done for the green and blue channels. For bilinear interpolation, a 3 by 3 filter is used and for bicubic interpolation, a 7 by 7 filter is used.

Smooth Hue Transition

Median Filter

Gradient Based

Adaptive Color Plane

Threshold-Based Variable Number of Gradients

Methods

EM Algorithm

E-Step

M-Step

Probability Map and Its Fourier Transform

Thresholding for Determining Fake Images

Results

Data Set

Error Rates

Conclusions

References - Resources and related work

References

Software

Appendix I - Code and Data

Code

File:CodeFile.zip

Data

zip file with my data

Appendix II - Work partition (if a group project)

Brian and Bob gave the lectures. Jon mucked around on the wiki.