Windows software to cull photographs

I am using PhotoStructure to manage my photographs. At the moment PS does put similar images together but does not cull the photographs.

I have thousand of Jpeg files taken over many years with no culling. I am looking for a Windows program can help me select the best photographs and enable me to reduce the number held and make my collection more useful.

I think it should be able to detect blurred images, similar images, closed eyes, grainy images, poor exposure etc.

I would want the option to review the selected photographs before they are removed from the collection.

The program would need to move the images to an archive in case an image is mistakenly deleted.

I would mainly be using the program to cull my existing photos. I could also use it on any new photos.

Any suggestions ?

I’m not familiar with anything that will do this automatically.

Apple Photos is the most commonly used consumer software I’m aware of that generates a “quality score” for images–it’s used for their “curation” view, but I think they don’t expose it generally because it has both false positives and false negatives (it’s not very accurate, at least with what I’ve seen).

Google published NIMA a while ago, and there are several papers since. They tend to favor a heavy-handed “structure” filter, though: their model loves HDR, and doesn’t seem to care about faces.

I suspect that beauty will be in the eye of the beholder here. I think rather than a single “quality” score, it may be more flexible to have a mixture model of scores (like closed eyes, smiles, focus/bur, brightness histogram, signal-to-noise, saturation, … the stuff you touched on). It’d be up to the user to determine how important they think each score is, but by agreeing or rejecting auto-culling results, we might be able to back into the “correct” settings automatically.

If you have a tool that generates quality scores (especially if it’s open source that I could include within PhotoStructure), please share–I’d be happy to add a bit of code to call it and store a quality score (or set of quality scores associated to different attributes). I can then add a threshold score to auto-archive or auto-exclude assets, or a “show only highlights” button for any tag.

digikam ( has both a “find duplicate” and an “image quality sorter”.

While I am a digikam user myself, I have not used either features so I can’t vouch for them. But maybe it’s worth a shot?

Something like Aftershoot might be worthwhile looking at. I’ve only played with it a little, but it will go through all the photos you give it, and give each a star rating based on things like focus, closed eyes etc. There’s a free, limited version and a paid version (per month or per year). Then you can review if you want or just take say the 4 and 5 star photos etc.

Thanks for the replies. I could not find any open source projects that were aimed at automatic culling.

I did find some subscription based projects. They seem to use some Artificial Intelligence to select photos.
Aftershoot (mentioned above)

I haven’t tried any of them yet but I was thinking that if one was satisfactory I could use it for a while to reduce the size of my collection by removing unsuitable photos and then unsubcribe.

@mrm Suppose photos can be culled. What is the safe way to do this in/with the PS Library?

Version 2.1 adds “archive”, “remove”, and “delete” actions for your assets. Read more here:

If you’d prefer to cull your photos and videos externally from PhotoStructure, you can:

  1. Delete the photo or video from your hard drive. Any asset that is found to be missing will be assumed to be deleted, and if it’s the only asset file variant for that asset, the asset will be removed from your library.

    If there are other copies (exact or duplicates), the asset will remain, but that variation will be removed from the asset info panel.

  2. Set the metadata Rating tag to 0 or -1.

    Before importing a file, PhotoStructure uses the rejectRatingsLessThan setting (which defaults to 0) to skip over zero-rated photos and videos.

Ideally, PhotoStructure would see zero Rating and mark the whole asset as removed/excluded, but at least as of v2.1, that’s not how it works. If you think setting any variation to 0 should mark the asset as excluded/removed (or maybe archived?), I kinda agree with you–we can discuss that here (or in Discord).

Just to be clear about “culling” - we just have to be clear on what the goal is.

If the goal is to actually remove the duplicates from disk, then you’ll need to use other software. Because photostructure does not actual delete anything. It’s more of a logical deduplication, but the duplicates still exists on disk. Even if you chose to have PS organize your library, it will copy the duplicates into it.

The tool that I have uses the PS Library as the reference for the hard drive duplicate search. Any duplicates found outside of the PS Library directories is marked eligible for deletion. I assume the assets are the originals copied into the PS library folders.

So when the regular scan takes place, the duplicated references outside of the PS Library are removed to reflect the deleted external files.

At least, that is the plan.

I believe the dupes are copied into the library as well.