Image forensics research

Bangla News Photocard Forgery Detection

CNN and YOLOv8 classifiers that tell fake Bengali news photocards from real ones using only the pixels, with no OCR. Evaluated with source-grouped cross-validation so augmented copies can't leak into the test set, and deployed as a live verifier.

Stack
  • TensorFlow / Keras
  • PyTorch
  • YOLOv8
  • Hugging Face Spaces

Fig. 1 · The two classes

Examples

A real Rtv news photocard with a Bengali headline. The photo of the person is blurred.Real

Published by a news outlet.

A fake photocard styled like a news post, with a Bengali headline. The photo of the person is blurred.Fake

Made to look like news.

Examples. A real photocard and a fake one. The model has to tell them apart from the image alone, without reading the text. People in the photos are blurred here for privacy.

Fig. 2 · How the data is split

Illustrative

  • Training
  • Test
  • Test image whose sibling is in training

Random split: 8 of 8 test images have a near-duplicate of themselves in training. The score would partly measure memory.

Illustrative. Ten abstract “sources”, each with three augmented copies. These aren’t real photocards or model predictions. The grid only shows why grouping matters.

97.4%

pooled accuracy

Measured with stratified group 5-fold cross-validation, with every augmented image grouped with the original it came from. The number describes this dataset and this evaluation setup. It isn't a guarantee for every photocard someone might upload.

The problem

A news “photocard” puts a headline, a photo and a publisher’s branding into one image that’s easy to share. That also makes it easy to fake: copy a real outlet’s template, swap the headline, and post it. This project asks whether a model can tell a fake Bengali news photocard from a real one using only the pixels, without reading the text with OCR.

What I built

  • Trained and compared CNN and YOLOv8 classifiers that work directly on pixels.
  • Built an evaluation harness that groups every augmented image with the original it came from, so no copy of a test image is ever seen in training.
  • Reached 97.4% pooled accuracy under stratified group 5-fold cross-validation.
  • Deployed a live verifier on Hugging Face Spaces, with a way for users to give feedback.
  • Wrote the work up as an IEEE-format paper.

Why grouping by source matters

Augmentation makes flipped, cropped, recoloured and recompressed copies of each image. Those copies are near-duplicates. With a plain random split, one copy can land in training and its sibling in the test set, so the model gets graded partly on images it has already seen and the accuracy looks better than it is.

Grouped cross-validation keeps an image and all of its augmented copies in the same fold, so every test fold contains only sources the model has never seen. Stratification keeps the real/fake balance similar across folds. The interactive figure above shows the difference.

What the number means

97.4% is the pooled accuracy across the five folds. It’s a result for this dataset and this evaluation design, and I think it’s a careful one, but it doesn’t mean the model is right about every photocard.

Site index