How can I match a image feature descriptor to a copied descriptor inside the same image, without detecting the original feature point?

2 views (last 30 days)
I'm looking to detect if someone had copied an object from one area of an image to another,
I've read the relevant liturature somewhat but I'm having trouble understanding the methodology in full, especially in matlab,
Say I load in an image,
image =imread('testimageforged.png');
imshow(image);
convert to gray and produce SIFT feature points,
image = rbg2gray(image);
points = detectSIFTFeatures(image);
Im now unable to match them to other SIFT feature points which are copied within the same image and must instead use a second image, according to the documentation available here, https://uk.mathworks.com/help/vision/ref/matchfeatures.html
Are there any alternatives which can be easily explained to me?
For example, i'm able to take a section, say 20x20 pixels of my image around a feature point and match it to another feature point which is clearly copy-pasted, however i'm worried about producing significant false positives where feature points are extremely close and can therefore produce the same SIFT points and matches which are just the same location captured, not copy-pasted regions.
I'm able to isolate a single feature descriptor vector, change its pixel value to 255 and produce a new feature descriptor matrix for my image. However it does not seem to be able to match the singular feature vector to the newly created, copied location's feature descriptor vector...
I'm also unable to match a smaller section say 10x10 pixels around a feature descriptor to its copied location, and i'm unable to even detect any feature vectors from images any smaller than 10x10 pixels....
following the https://uk.mathworks.com/help/vision/ref/matchfeatures.html documentation just maps the same feature vectors overlapping the two images, not what I want...
Does anyone have a solution to this issue, by any chance?
Help will be greatly appreciated,
thanks

Accepted Answer

yanqi liu
yanqi liu on 10 Jan 2022
yes, sir,may be use sift and block loop to match and check,or use jpeg encode to compare,such as
  2 Comments
Drew Ellington
Drew Ellington on 10 Jan 2022
What do you mean by 'jpeg encode to compare'?
Could you explain further or link me to an article to read on further?
yanqi liu
yanqi liu on 11 Jan 2022
yes,sir,it is jpeg image passive forensics,such as
https://www.scirp.org/journal/paperinformation.aspx?paperid=95625

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!