| --- |
| 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 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 run the code |
|
|
|
|
| ## Training Details |
|
|
|
|
| -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 |
|  |
| |
| |
| ## Evaluation |
| |
| The model takes 7-10 minutes to run , based on our dataset , equipped with the following pc hardware: cpu :i9 13900 ,ram: 32gb , gpu: 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 |
|
|
|
|
|
|
|
|
|  |
|
|
| #### 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. |