|
Complete overhaul of the ComfyUI photo enhancement stack:
Pipeline (workflows/photo-enhance.json):
- Real-ESRGAN realesr-general-x4v3: 4x upscale at full 4K input (no pre-downscale,
preserves all original detail before AI sees it), output scaled back to 4K
- CodeFormer fidelity=0.7: GPU neural face detection + restoration
- CLIP ViT-B/32: zero-shot scene classification (portrait/landscape/night/
indoor/golden_hour/overcast/beach/street)
- AdaptivePhotoGrade: scene-tuned exposure/contrast/saturation/detail using
guided-filter clarity enhancement; simple linear exposure shift (replaces
Reinhard tonemapping which was darkening already-exposed Fuji photos)
- SkyEnhance: HSV sky mask (blue sky + clouds + sunset) with spatial prior,
graduated exposure and saturation boost for sky regions
- DepthSelectiveSharpen: Depth Anything V2 Small depth map → foreground
sharpening, background softening
- WritePhotoMetadata: writes per-photo JSON to ComfyUI output dir
smart_photo_node.py: implements all 5 new ComfyUI custom nodes
photo-enhance.rb:
- Downloads per-photo metadata JSON from ComfyUI and renders it as a
human-readable _e.md report alongside each enhanced JPEG
- inject_input now also patches WritePhotoMetadata with prefix + source filename
- Updated pipeline description in header comments
photo-compare.rb: GTK4 side-by-side comparison GUI — show original vs
enhanced, keyboard shortcuts O/E to move preferred version to outdir,
Space to skip, auto-rescans as new photos arrive
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|