I am still looking for a simple tool to deduplicate, organize, and tag all the photos I have accumulated over the years. Old laptop hard drives, old cell phones, iPhoto libraries, aperture libraries, etc. I want to dump them into a staging area, remove all dupes, and start organizing and tagging them into a folder structure.
I'm writing PhotoStructure to do exactly this task!
My to-do list is still long, but I'm plugging through it and I believe PhotoStructure already has the most robust tag extraction, inference, and image deduplication heuristics around, and has a novel browsing approach that scales well to very large (100k+ - 1mm+) libraries.
(Disclaimers: I'm the solo author, and although I am an open source author, PhotoStructure is commercial software. There are both a free and paid tiers of functionality: details are on the pricing page.)
Have you looked at DigiKam? It offers directories, tagging (with custom tag hierarchies), deduplication and also face recognition. I think it can do quite a bit more, but I'm not a heavy user, at all. I just use it for keeping track of my modest library and it works great for that.
Another (paid) solution is Imageranger.com (don't have anything to do with them, but installed it for my father). I really like the import function that gets rid of duplicates (dedupes) and that put files into directories (video, photos, etc) and year/months based on how you have set up the import function.
The image viewing interface itself is okay although it might not be as smooth as e.g. Apple Photo (which I feel has its own challenges with how convoluted its image directories are e.g). ImageRanger has also tags and Face Detection and Recognition.
I have only installed the Home edition, and it seems to re-index the images to create thumbnails (relatively fast) if you have stored images on an external disk that is detached/attached between openings of the program. From what I understand, the Professional version does not have this issue as the images are cached (not tested out this myself). I don't think the face Detection and Recognition is on par with e.g. Apple Photo, but haven't tested it extensively enough to say that with 100% certainty.
What I like most about ImageRanger is its import functions and the way it stores the images in common folders and subfolders based on preferences and not in a convoluted DB.