I'm trying to design an image databasing tool with a high-efficiency assisted tagging UI and I need to identify candidates for photos being from the same image set (ie. typically, same photo shoot) so the human operator can be presented with a more manageable set of options.
As I'm a novice when it comes to signal processing, I'm unsure what keywords I should be using, and my usual approach (stab blindly in the dark until search lands on a paper close enough that I can dig better jargon out of it to search for) hasn't been working for me this time.
I do have a large data set of pre-classified images of the same types as the ones I want to sort, but I don't want to go with a machine learning solution if I can avoid it, both because I prefer the workings of my solutions to be as comprehensible as possible and because I'd rather not have an opaque trained model in what I upload to GitHub.
My first idea is that, aside from the obvious "check EXIV metadata" starting point, maybe some success could be achieved by comparing the histograms of the images to find images with similar lighting and blends of colours, but I'm unsure how to turn that into a concrete algorithm or what other approaches to consider.
Can anyone point me in the right direction for this? (Ideally ones that are amenable to a solution via OpenCV's Python bindings, but I'm open to other Python or Rust solutions.)