Burst Curation & AI Hero Promotion
How BestShots groups continuous burst sequences, analyzes facial micro-expressions, and promotes the winning hero frame.
Automated Perceptual Clustering & Scoring
During dynamic moments (such as the first kiss, champagne toast, or sporting sprint), photographers fire bursts of 5 to 20 continuous frames. Manually comparing near-identical frames to find the one frame where both subjects have open eyes, authentic smiles, and razor-sharp pupil focus is one of the most taxing parts of editing.
BestShots.AI combines perceptual image hashing with local computer vision to cluster bursts automatically, isolate the winning Hero frame, and allow rapid batch culling in a single keystroke.
The Burst Clustering Pipeline
Burst clustering operates automatically during ingestion without requiring manual tagging:
EXIF Timestamp
Extracts exact capture timestamp and shutter millisecond intervals.
64-Bit dHash
Generates 9x8 grayscale structural gradient hash resilient to minor pan.
Clustering Thresholds
Δt ≤ 5.0 seconds and Hamming Distance ≤ 10 (over 85% visual match).
1. 64-Bit Difference Hashing (dHash)
For every uploaded image, BestShots generates a 64-bit perceptual hash:
- The preview image is scaled to a grayscale 9x8 pixel matrix.
- Adjacent horizontal pixel gradients are compared (
P[x] > P[x+1]). - A 64-bit binary integer is computed representing the structural edge profile of the frame. Unlike cryptographic hashes (e.g. SHA-256), perceptual hashes remain resilient to minor subject motion, slight lighting changes, and camera pan.
2. Temporal & Distance Thresholds
Two frames are grouped into the same PhotoStack when:
- Time Threshold: The capture timestamps occur within 5 seconds of each other (Delta t ≤ 5.0s).
- Similarity Threshold: The Hamming distance between their 64-bit hashes is ≤ 10, indicating a visual similarity exceeding 85%.
AI Multi-Factor Hero Scoring
Once a stack is formed, each frame undergoes automated quality assessment to elect the Hero (isStackPrimary):
Eye State & Blinks
Facial landmarks assess eyelid positions. Severe penalty for blinks or squinting.
Sharpness Plane
Pupil landmark acutance and micro-contrast Laplacian variance across the focal plane.
Expression & Angle
Authentic smile detection, head tilt alignment, and subject emotional resonance.
- Blink Detection & Eye State: High-resolution facial crops are analyzed to detect eyelid positions. Any frame where a primary subject blinks or squints suffers a steep penalty.
- Focal Acutance across Landmarks: Using Laplacian variance and localized gradient analysis on pupil landmarks, the model determines which frame achieved critical focus.
- Primary Selection (
isStackPrimary): The frame with the highest composite score receives the purple Hero badge and is displayed on top of the stack in the gallery.
Stack Interaction Controls
BestShots provides versatile controls to review and manage burst stacks:
Expand Stack & Side-by-Side Comparison
Click the stack count badge (e.g. 4 photos) or press Space on a stacked thumbnail to expand the burst into a dedicated comparison carousel. All frames are rendered in high resolution with facial crops aligned side-by-side.
Promote to Hero
If you prefer a different expression or artistic composition than the AI's selection:
- Hover over the preferred frame in the expanded stack.
- Click the star icon or choose Promote to Hero.
- BestShots instantly updates
isStackPrimary = trueon your chosen frame with 0ms optimistic UI feedback.
"Keep Hero & Reject Rest"
The single most powerful accelerator for burst photography:
- With the stack selected, click Keep Hero & Reject Rest (or press Shift + K).
- The designated Hero frame is instantly marked as Keep (5 stars).
- All remaining duplicate frames in the stack are automatically marked as Discard.
- A 10-shot burst is completely culled in less than one second.
Dissolve Stack
If photos in a sequence should be evaluated individually rather than as a burst:
- Select the stack and click Dissolve Stack.
- The stack grouping is removed and all photos return to the root gallery grid.
Key Person Facial Curation
BestShots features facial recognition tailored for wedding and event workflows:
- SCRFD Landmark Detection: Automatically locates faces even under extreme lighting, backlight, or profile angles.
- ArcFace 512-D Embeddings: Calculates mathematical facial descriptors stored in PostgreSQL using
pgvector. - Subject Filtering: Name key subjects (e.g. "Bride", "Groom", "Parents") in the Subject Filter panel. Filter your entire shoot to display only frames containing specific individuals or combinations of subjects.
Privacy Guarantee: Facial embeddings are strictly isolated to your individual account and project. They are never pooled, never matched against external databases, and permanently destroyed whenever photos or projects are deleted.