Research Project of CNN-based Camera Model Identification
- see if the data path already exist
- if not, then make a new one, if yes just download the database
- download urls are read from the dresden.csv
For this experiment, I only use the brand Afga and Canon.
- Afga: DC-504(169), DC-733S(281), DC-830I(363), 505-X(172), 530S(372)
- Canon: IXUS 55(224), IXUS 70(567), A640(188)
In totoal, there are 2336 images.
each model has at least 150 images
- randomly select 80% of the database
- divide these images in to 256 x 256 pixel patches
- retain the central 25 patches from the green layer of each image for training databse
Format the images into appropriately pre-processed floating point tensors before feeding to the network:
- Read images from the disk.
- Decode contents of these images and convert it into proper grid format as per their RGB content.
- Convert them into floating point tensors.
- Rescale the tensors from values between 0 and 255 to values between 0 and 1, as neural networks prefer to deal with small input values.
CNNs in their existing form do not suppress the image’s content and may lead to a classifier that identifies the scenes and objects associated with training data.
The constrained convolutional layer which can jointly suppress an image’s content and adaptively learn pixel values dependencies while training CNN to perform universal image manipulation detection.
Each of the
We enforce the first convolutional layer in CNN to extract prediction-error features by learning a normalized linear combination of the central pixel value in terms of its local neighbors within the convolutional filter dimension.
Additionally, while training CNNs, their testing accuracies on a separate testing database were recorded every 1000 iterations to produce figures in the experiments sections.
The batch size equal to 64 and the parameters of the stochastic gradient descent as follows:
Test the robustness of our model (trained on Canon)
-
train the model on Canon_Ixus70, Nikon_D200, Olympus_MJU because they share the similar images' scenes, make the number of traing images of each camera close.
-
plot the mean confidence of each classification
We want to see whether our model simply see them as a unknown data or classifies them to one of the known categories.
Test the model on
Cameras | brand | content |
---|---|---|
Agfa_DC-830i | different | same |
Canon_Ixus55 | same | same |
Canon_Powershot64 | same | different |
Nikon_D70 | same | same |
Sony_W170 | different | different |
Post-processing | Parameter |
---|---|
JPEG compression | |
Gaussian Noise | |
Gaussian Blur |
|
Train model on only one instance, test it with other instances.