Image Classification
Keras
English
art
CNN_And_ELA / README.md
benjaminStreltzin's picture
Update README.md
b9e8bff verified
|
raw
history blame
3.51 kB
metadata
license: unknown
metrics:
  - accuracy
tags:
  - art
datasets:
  - DataScienceProject/Art_Images_Ai_And_Real_
library_name: keras
language:
  - en
pipeline_tag: image-classification

Model Card for Model ID

This model is designed for classifying images as either 'real' or 'fake-Ai generated' using a Convolutional Neural Network (CNN) combined with Error Level Analysis (ELA).

Our goal is to accurately classify the source of the image with at least 85% accuracy and achieve at least 80% in the Recall test.

Model Details

Model Description

CNN is a type of deep learning model specifically designed to process and analyze visual data by applying convolutional layers that automatically detect patterns and features in images.

Error Level Analysis (ELA) detects changes in digital images by comparing the differences between the original and a compressed version of the image. It highlights areas where alterations may have occurred, making it useful for identifying image tampering.

After running ELA we feed the CNN with the result of comparing original and a compressed version of the same image and then we get the output.

Direct Use

This model can be used to classify images as 'real' or 'fake- Ai generated' based on the presence of anomalies and features characteristic of each category.

Out-of-Scope Use

The model may not perform well on images outside the scope of art or where the visual characteristics are drastically different from those in the training dataset.

may not detect ai-images from newer diffusion models that has another method of creating ai images.

Bias, Risks, and Limitations

ELA can be very good in detecting tamparing such as photoshop, there is many diffusion engines that not tamper the image making the ELA weak against those ai-images.

Recommendations

Test this model with different hyperparameters / more CNN layers

How to Get Started with the Model

Prepare Data: Organize your images into appropriate folders and preprocess them by resizing and normalizing. Train the Model: Use the provided code to train the model on your dataset. Evaluate: Test the model on a separate set of images to assess performance.

Training Details

Training Data

-Dataset: DataScienceProject/Art_Images_Ai_And_Real_

-Preprocessing: Images are resized, image quallity changed , ELA version of this image created.

Training Procedure

Train the CNN with the Preprocessed images , use valitadion set.

Training Hyperparameters

optimizer = RMSprop(lr=0.0005, rho=0.9, epsilon=1e-08, decay=0.0) epochs = 22 batch_size = 100 loss = "categorical_crossentropy" metrics=["accuracy"] early_stopping = EarlyStopping(monitor='val_acc',min_delta=0,patience=2,verbose=0, mode='auto')

CNN architecture

image/png

Evaluation

The model takes 7-10 minutes to run , based on our dataset , equipped with pc hardware: i9 13900 , 32gb ram , rtx 3080 your mileage may vary.

Testing Data, Factors & Metrics

precision recall f1 confusion_matrix accuracy

Results

test accuracy = 0.853 precision = 0.866 recall = 0.8357 f1 = 0.8509

image/png

Summary

The model preforms well and meet our initial goal ,thus this model can handle the task of image classification real image vs ai generated image.