Inspiration
Traditionally, a photograph implies the truth of what has happened. However, in today’s digital age, sometimes seeing is no longer believing, since our modern life is full of digital images and (maliciously) tampering with these digital images is easy and simple by using digital processing tools which are widely available (e.g. Photoshop). Many tampered images emerge in news items, scientific experiments, and even legal evidence. The tools and techniques that can detect image tampering are highly desirable. Although digital watermarking can be used as a tool to provide authenticity to image like it is a fact that most of the images that are captured today do not contain digital watermarks. And this situation is likely to continue for the foreseeable future. Thus passive image tampering detection is more practical and more important. It aims at verifying the authenticity of digital images without any prior knowledge, like embedding watermarks in original images.
What it does
Detecting whether image has been tampered with or not.
Finding the exact tampered region of an image through various deep learning techniques.
Making a real-world usable product out of the model we generated that can be used by anyone.
This product has scope of being extended to a fully functional product which can be used by security agencies.
How we built it
Data preprocessing. Perform error level analysis of pristine and tampered images. Building the segmentation and classification model. We have used keras with tensorflow as backend to train and build the model. Hyper parameter tuning (learning rate,callback parameters,custom loss function etc). Creating the web app for actual usability of our idea and not just a script to watch. Deploying it to Azure. Integrating SAWO Labs Auth API to get login functionality with OTP. (This is an added feature to our project for this hackathon) Finally creating a slackbot for ease of usability.
Challenges we ran into
The learning curve of our project was very steep. Limited computing resources was the biggest challenge we ran into. The image segmentation task is very expensive and thus we require a lot of computing resources to train the model effectively for a longer duration and bigger dataset. Because of that, we were only able to train the model on 3000 images for both the classification and image segmentation part. We had to devise a custom loss function for image segmentation to get good results. We were facing overfitting issues in the binary classification task and thus had to perform a lot of experimentation and fine-tuning to get good results. Deploying deep learning models is not easy because of the huge slug size of libraries like TensorFlow and Keras. Finally we were able to deploy on Azure. We were comparatively new to the Flask framework and thus debugging took more time than expected. We also developed a slack bot on the go after the suggestion of one of the mentors.
Accomplishments that we're proud of
We were able to implement everything we thought of. Also Included SAWO Labs Authentication API which is an addition in this project.
What we learned
A lot things as said in challenges portion.
What's next for Sach Ka Saamna
We are thinking to expand the horizon to detect tampering in videos.

Log in or sign up for Devpost to join the conversation.