Image Forgery Detection Using Machine Learning - The AI Hackathon
Description:
In this project, we present a cutting-edge method for Image Forgery Detection using a novel combination of Error Level Analysis (ELA) and Convolutional Neural Networks (CNNs). Our approach stands out for its robustness and high accuracy.
Key Highlights:
Novel Approach: Learn how we combine ELA with CNNs, where the output of ELA is used as input for the CNN, enhancing the detection of image forgeries.
Innovation and Results: Discover the innovative aspects of our method and see how it achieved an impressive accuracy of 93.3% in detecting various types of image forgeries. This accuracy can be fine-tuned to produce even better results.
Deployment: Used Streamlit to host our model and create a user interface.
Dataset Used:
We used the CASIA 2.0 dataset available on Kaggle because of its reliability, robustness, and versatility in terms of the types of image forgeries present. This is a well-balanced dataset containing over 12,000+ images.
Algorithms Implemented:
Error Level Analysis (ELA):
- ELA reveals differences in compression levels within an image, which can detect edited or manipulated regions.
- Benefit: Helps detect subtle differences in tampered images that might not be visible to the naked eye.
Convolutional Neural Networks (CNNs):
- CNNs automatically learn visual patterns like textures and discrepancies that might indicate image forgeries.
- Benefit: Excels at image classification tasks by learning complex features from the input data.
High-level Solution Architecture:
- Input Image: The input image is processed using Error Level Analysis (ELA) to highlight compression inconsistencies. This gives the CNN model a better idea of which parts of the image are prone to be forged.
- Convolutional Neural Network (CNN): The ELA output is fed into the CNN, where multiple convolutional layers extract features, and pooling layers reduce dimensions. Dropout is applied to avoid overfitting.
- Fully Connected Layer: The features from the CNN are passed through dense layers to interpret the image’s forged or authentic characteristics.
- Output: The system classifies the image as either forged or authentic based on the processed features.
Link to video: https://youtu.be/0iSTFComJ5I
Note: Please be aware that due to some last-minute technical issues, a part of the video has inaudible audio. We apologize for any inconvenience this may cause and appreciate your understanding.
Next Steps for Image Forgery Detection:
Real-Time Forgery Detection:
- Optimize the system for real-time detection on platforms like social media using faster inference and scalable deployment.
Improving Accuracy:
- Use advanced models like ResNet or Transformers and apply transfer learning to improve detection accuracy.
Enhanced Forgery Detection:
- Integrate techniques for detecting sophisticated forgeries like DeepFakes to increase model robustness.
Built With
- gpu
- kaggle
- machine-learning
- python
- streamlit
- tensorflow
Log in or sign up for Devpost to join the conversation.