7

I have a couple of standard ways of detecting a modified image such as

  1. Luminance gradient
  2. Copy move detection
  3. Metadata Extraction
  4. Histogram analysis
  5. ELA(Error level analysis)
  6. Quantization matrix analysis
  7. Thumbnail analysis

are there any other standard ways of detecting a modified image?

Tried out

  • Finding the EXIF of the image to check the created and modified date and check for modification. I also had some rules for EXIF camera make and make note validation along with checking for the software used such as photoshop, Shotwell, etc.
  • Was able to segment the image and use SLIC(simple linear iterative clustering) to find out the similar cluster regions in an image
  • Find the largest contour with less pixel inconsistency with luminance gradient to mark that as a potential modified region
  • Largest contour with ELA as a potential modified region
  • Check for inconsistencies in histogram graph and mark it as a potential editted image.

Here are my questions

  • Are there any standard logics to verify the image with metadata such as using the created and modified dates, the camera make or maker note, etc. As these details are not consistent for any given image.
  • Finding out the least pixel inconsistency contour in the Luminance gradient would always give me an image that is modified?
  • If the histogram graph has a regular interval fluctuation could it be considered a modified image?
  • How could I use Quantization matrices to find out image anomalies
  • what is the best way to compare the thumbnail image to the original image to check for inconsistencies?
Sundeep Pidugu
  • 2,377
  • 2
  • 21
  • 43
  • 1
    please read [ask] – Piglet Nov 18 '19 at 12:50
  • @Piglet I think those are all related to a single concept and i wanted the solution as a whole linking all the various answers so had to put them as subquestions – Sundeep Pidugu Nov 18 '19 at 12:53
  • 3
    You should really think about splitting those questions into separate ones. There may even be people able to answer one of your subquestions that are afraid to answer at all because they can't answer all. It also would be way more focussed and understandable in general. You can link the your subquestions here later on if you want it compiled. – T A Nov 20 '19 at 08:59
  • I would like to see if someone could at least answer some subquestion so that I can reward them the bounty, and I will later split them and ask them as separate questions. – Sundeep Pidugu Nov 21 '19 at 06:39
  • @SundeepPidugu It's not clear what exactly is the algorithm supposed to do. To check if two images are the same? Or to test if two images scaled differently and compressed differently and perhaps color edited are the same? If it's just the same image why not compare binary? If these are slightly modified images then we need to see examples of what you consider to be the same images. In other words you should supply an example input and expected output. – iliar Nov 23 '19 at 13:12
  • @iliar Nope that is not the case, I am supposed to provide a single image and find whether it is the original image or there are any modifications made to that image.To find whether the image is modified, I am making use of all the above-mentioned techniques. – Sundeep Pidugu Nov 25 '19 at 06:01
  • @SundeepPidugu I'm oversimplifying on purpose. why not compare them bit for bit? – iliar Nov 25 '19 at 12:01
  • Hey, I am only given a single image so I cannot compare it bit for bit. – Sundeep Pidugu Nov 25 '19 at 12:02
  • you save it. and then to find out if it was changed you compare it with the saved version bit for bit. – iliar Nov 25 '19 at 12:30
  • @ilir what do you want me to save?, I am given an image and i have to find out whether its the original image or an editted image? Not sure how you want me to compare. – Sundeep Pidugu Nov 25 '19 at 12:32
  • So are you trying to see if an image of a natural environment was edited with a photo editing software? – iliar Nov 25 '19 at 12:37
  • Because 'modified' implies there was previously something 'unmodified' so it's unclear what your image was modified from. – iliar Nov 25 '19 at 12:38
  • Was the following image modified? https://images.pexels.com/photos/1108099/pexels-photo-1108099.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260 – iliar Nov 25 '19 at 12:41
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/203029/discussion-between-sundeep-pidugu-and-iliar). – Sundeep Pidugu Nov 25 '19 at 12:43

1 Answers1

5

The answer to this question needs more detailed so, I will give some references to the subject itself and I will share with you the code of every part of your question :

You need to use exif to verify the image with metadata

For Anomaly Detection in Images see here

To compare the thumbnail image to the original image read this. where it showed you how to compare two images using Python.

References :

Sundeep Pidugu
  • 2,377
  • 2
  • 21
  • 43
I_Al-thamary
  • 3,385
  • 2
  • 24
  • 37