I would like to find the original image from several similar candidates. The images are typically in JPEG format, and the most common modifications are cropping, enlarging/shrinking, adding (or removing) watermarks and text, color adjustments, sharpening, adding borders, etc. Metadata like EXIF, resolution, and file/upload dates are too unreliable.
I'm not sure where to ask this question, because there are several distinct use cases, and different SE communities may be suited for different aspects:
I am looking for the most authentic copy, but the actual original may not be in the set of candidates (i.e., they are all modified copies). In this case, a heuristic would be helpful.
The images may be local files. In the simplest case, I might have two images with few or no visible differences (apart from the binary data itself). Is there a way to determine if one has been created from the other?
The images may be on the web. For example, this TinEye search lists 48 occurrences of an octopus image, but makes no statement about which one is closest to the original photograph. (In this case, it's obvious that the oldest result cannot be the original.)
I'm most interested in existing software on Linux or Windows. Should I ask this question in Super User? I've seen that questions like this ("I'm looking for a program that ...") are rarely well received there.
If there is no software that can determine a "lineage" of copies for me, I'm not opposed to doing the work myself, but I have little experience with image processing. The discussions in Signal Processing go way over my head; I'm probably going to need a library. Should I just ask a general question on Stack Overflow?
I've done my best to research this topic, both on the web and here, but due to the generic terms and my unfamiliarity with the subject, I'm only getting noise (e.g. "how to detect fake news", "how to search for images on Google").