Behind the design: Assisted Culling in Adobe Lightroom

Teaching AI to make technical calls so photographers can focus on creative decisions

An excerpt from an Adobe Lightroom Assisted Culling interface showing a photo of two men with face-detection boxes around each of their faces. A panel on the right displays individual quality scores and selection indicators, illustrating how the tool evaluates subjects separately when helping photographers review and cull images.
A wedding shoot can leave a photographer with 4,000 photos. A portrait session can produce hundreds of near-identical shots from a single pose. Somewhere in that pile are the best images—sharp eyes, natural expressions, compositions that work—but finding them has always meant hours of manual culling that often takes longer than the photoshoot.


Despite years of advances in cameras and editing tools, this part of the workflow has barely changed: Photographers are still manually deleting misfires, judging focus and expression by zooming in, and narrowing every burst down to a single keeper (a photography term for a photo worth saving) all by hand.

Assisted Culling, available in Adobe Lightroom and Lightroom Classic, was built to take the first pass at identifying those keepers. Senior Engineers Shipali Shetty and Ankur Murarka, Product Manager Kwamina Arthur, and Senior Product Designer Christopher Sun walk through why the team built the feature, the principles that shaped it, and how photographer feedback has improved it since its beta launch at Adobe MAX in 2025.

What was the primary goal when you set out to build Assisted Culling?

Shipali Shetty: It started with a request we heard again and again: “After a shoot, I spend hours picking the best photos. I need a better way to quickly find my best shots.” This showed up in surveys, prerelease forums, and customer feedback. At Adobe MAX 2024, it rose to the top of our feature request board by a wide margin.

Feature request board from Adobe MAX 2024. Culling and Duplicate Detection received by far the most votes.
A conference feedback board for Adobe Lightroom, labeled “Top requests,” displays handwritten feature requests on individual cards. One card reading “AI Culling” is circled in black, highlighting community demand for AI-assisted photo selection among other requested features.


The more time we spent speaking with photographers, the clearer it became that the real bottleneck wasn't scrolling or zooming in on each image to find the best option. It was the second-guessing. A wedding might produce dozens of near-identical frames of the same kiss. The hard part isn't moving through them quickly; it's having the confidence to commit to one. Our goal became narrower and harder than "speed up culling.” We needed to build something that helped photographers make the tough calls with less doubt.

What principles guided the design?

Christopher Sun: We reviewed professional photographers’ workflows, and their processes pushed us toward five core design principles:

  1. Evaluate each quality signal independently. Photographers don't judge images with a single score; they evaluate focus, eyes, expression, and technical failures separately. Instead of a single “rate this photo” black box, the system surfaces a separate score for each quality signal, so photographers can see exactly why an image passed or failed.
  2. Prioritize technical judgment; keep subjective judgment flexible. A child's funny face might be a reject to one photographer and a keeper to another because of what the moment represents. We wanted the system to own the technical analysis but leave the subjective calls to the photographer.
  3. Assist, don't decide. Our conversations with photographers made clear they wanted to offload technical analysis, not authority. That's why the feature is named “Assisted Culling,” and is built around sliders, thresholds, and filters instead of automatic decisions—control stays in the photographer’s hands.
  4. When in doubt, keep it. Not every mistake costs the same. We tuned the system to optimize for high recall on keepers, which is why reject decisions are deliberately conservative. A frame must clearly fail before it's set aside.
  5. Make it fast, local, and seamlessly integrated. Waiting for thousands of images to upload can break the creative flow, so Assisted Culling runs on-device and within the current set, without forcing photographers into a separate workflow.

What was the most unique aspect of the design approach?

Ankur Murarka and Shipali Shetty: Assisted Culling isn't one model; it's a set of specialized machine learning models, each focused on a single task, unified by an orchestration layer. Instead of running each model independently, the models share intermediate results, a single rendered image, a shared blur map, and a common semantic representation. Each stage builds on the last to make the system faster and more consistent while still allowing each model to do one thing well.

That orchestration plays out as three capability pairs: Subject & Eye Sharpness, Eyes Open & Face View, and Stacking & Aesthetic Ranking.

Assisted Culling identifies keepers and rejects based on parameters set by the photographer, then surfaces scores based on those criteria. At a glance, scores make it easy to see why an image passed or failed and can always be overridden.
A GIF of the Assisted Culling feature displaying a grid of photos with automatic keep and reject indicators (green checkmarks and red X icons) that demonstrate how the tool helps photographers quickly review and narrow large groups of similar photos.

Subject & Eye Sharpness

Subject Sharpness looks at the main subject's focus level in context, not just pixel-level blur. It combines blur distribution, whether that blur reads as intentional, where the subject sits in the frame, and overall aesthetics into a single score that reflects how sharp the subject actually looks rather than a binary in-focus check.

Eye Sharpness goes a level deeper. Each eye is scored independently, then aggregated at the face and image level. This matters most for portraits and group shots where a single out-of-focus eye shouldn't tank a whole image.

Eyes Open & Face View

Like Eye Sharpness, Eyes Open evaluates each face independently for open, closed, or partially occluded eyes; it combines those assessments across the frame, so a group shot isn't penalized because of one ambiguous detection. When the model genuinely can't decide, because of sunglasses or shadow, motion, it’s surfaced as "Can't tell" rather than defaulting to closed, so the photographer has final say.

Face View, displayed in a panel alongside Loupe View, surfaces eye sharpness and eyes open scores for each detected face in an image. Rather than zooming in to every frame in a burst, photographers can scan faces at a glance to see exactly which subjects have sharp eyes and which eyes are open.

Face View from Lightroom version 9.4.
Adobe Lightroom Assisted Culling An interface from Assisted Culling showing a group portrait with face-detection boxes around multiple subjects. Panels on either side display filtering options and quality metrics such as subject sharpness, eye sharpness, and eyes-open detection. The screenshot shows how photographers can review and select images based on specific facial features and technical criteria.

Stacking & Aesthetic Ranking

Finally, we included Stack, a tool that helps manage volume associated with photoshoots. In addition to, or instead of, culling, photographers can stack images by capture time, useful for bracketed exposures, or by visual similarity, for bursts. When stacking by similarity, frames aren't just grouped; Aesthetic Ranking automatically surfaces the strongest image as the first in the stack—evaluated on composition, lighting, and expression—so photographers see their best option first without having to dig through ten near-identical shots. And, like everything else, it's adjustable: change the threshold, update the groupings, or override the leader if the model gets it wrong.

Stack helps photographers manage volume associated with photoshoots. Images can be stacked by capture time or visual similarity.
A GIF of Assisted Culling's Stack interface showing a large fashion photoshoot organized into visual similarity stacks and labeled with stack counts.

How did customer feedback improve the feature?

Ankur Murarka and Shipali Shetty: We launched the beta at MAX 2025 with a deliberately narrow scope on portraits and headshots and asked the community to push it under real conditions. Photographers using it on live shoots at scale surfaced behaviors and edge cases that internal testing couldn't fully capture. Feedback came through two channels: in-app feedback dialogs built into the Assisted Culling panel and the community forums. Together, they helped us prioritize the most critical gaps. That input surfaced three areas that needed focused work: shallow depth-of-field, inconsistent face detection in larger groups, and finer control over reject decisions.

We wanted the system to own the technical analysis but leave the subjective call to the photographer.

Portrait and wedding photographers flagged that shallow depth-of-field shots were sometimes marked as out-of-focus rejects. We updated the subject focus models to distinguish intentional blur, motion blur, and missed focus, so a sharp subject against a soft background is no longer scored the same as a genuinely out-of-focus frame.

Event and wedding photographers pointed to inconsistent face detection in larger groups that included missed faces, merged detections, and unreliable eye-state scores. We built a dedicated face detection model with confidence scoring, that filters out lower-confidence detections before scoring even happens, so what a photographer sees for eye focus and eye state reflects the actual subjects in frame. We also improved Eyes Open detection specifically for smaller and slightly soft faces in bigger groups, and for turned heads, profiles, and partial occlusion.

In the beta, this image received a subject sharpness score of 48. The blurriness of the people far from the camera brought down the score significantly. In the June 2026 release, the same image received an 82. The feature improvements mean the model understands this blurriness is intentional.
A group fitness class stretches on yoga mats in a bright studio. The image is used as an example photo for evaluating image sharpness and detail, demonstrating the types of subjects photographers may review when selecting the strongest shots from a series.

Earlier versions of Assisted Culling used a single classifier for rejecting categories, which photographers correctly identified as too coarse—a portrait shooter, and a documentary shooter don't define a "reject" the same way. We split exposure, misfires, and documents into independent signals, each with its own control, including a slider for exposure threshold instead of a fixed standard.

What was the biggest design hurdle?

Kwamina Arthur and Shipali Shetty: Trust. If the system is wrong in a way that costs a photographer a keeper, that's not a UX problem, it's a business problem. The asymmetry principle, “when in doubt keep it,” sounds simple, but it meant accepting a system that's deliberately imperfect in one direction. We had to be comfortable shipping something that occasionally hands a photographer one extra frame to dismiss, in exchange for never being the reason a real keeper got thrown out.

On the engineering side, training on large, diverse datasets of licensed images wasn't enough on its own. Raw data doesn't teach a model how photographers actually make decisions as they cull. To bridge that gap, we worked directly with photographers to validate model output against curated truths from actual professional workflows. We then used user studies and beta feedback to identify failure cases and refine the system for edge cases like intentional occlusion, group dynamics, and creative choices such as shallow depth of field. Rather than chasing a single accuracy metric, we optimized for consistency and trust, reducing obvious errors without requiring photographers to double-check every decision.

What's next?

Kwamina Arthur: The move from beta to general availability came directly from photographer feedback, and that loop won’t stop. We're expanding scene understanding beyond portraits, weddings, and events; adding richer signals like expression and scene-aware composition; tackling challenging cases like distinguishing motion blur from intentional softness in landscapes and action shots; and improving visibility into how the system ranks images within a Stack, not just at the top. Beyond these technical improvements, we’re refining the user experience to make Assisted Culling a more seamless part of the workflow and help photographers find their best images faster.

The Assisted Culling team at Adobe’s San Jose headquarters.
A group photo of Adobe team members standing on either side of a conference room, creating a corridor down the center of the space. The image highlights the cross-functional team behind the development of Assisted Culling in Lightroom.

Like everything in Lightroom, Assisted Culling is fully non-destructive, so there's nothing to lose while testing it against images from a photoshoot. And if it gets something wrong because of lighting conditions or shooting style, people can share feedback either directly from the Assisted Culling panel or through the Lightroom and Lightroom Classic Adobe HelpX community forums. That feedback will help shape the next version of the feature.

Big thanks to the Assisted Culling team, the Lightroom community members who shared feedback, and everyone else who contributed to the feature.