I built a customized project that keeps his minimalist, high‑contrast vibe and adds a fast batch triage flow for whole shoots.
⬇️ Download:
ERIC KIM — Image Forensics (Street Edition)
What’s special in this edition?
1) Profile‑aware EXIF alerts (preloaded for Eric’s typical gear)
- Ships with a profile that treats Ricoh GR series as “trusted” (often highlighted as his favorite for street work), plus entries for Leica M and Lumix G9—all editable in the UI.
- Flags common mobile/consumer editors in EXIF → Software (e.g., Instagram/Snapseed/VSCO) so you quickly see if a file likely passed through heavy post‑processing apps.
2) Batch triage for real shoots
- Drag‑and‑drop a whole folder of JPG/PNG. You’ll get a contact sheet with suspicion scores, quick EXIF, and alerts.
- Export a CSV report for your selects/notes.
3) Street‑aesthetic UI
- Clean dark theme, big type, no clutter—optimized for fast eyeballing and decisions.
- All the forensics you already wanted (ELA, noise residual, copy‑move, JPEG ghosts) + a clear verdict.
Sources: Eric’s long‑running street photography blog and posts (Ricoh GR favorites, Leica content), and notes on a Lumix G9 period.
Quick Start (Web)
# 1) Create a virtual environment
python -m venv .venv
# macOS/Linux
source .venv/bin/activate
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# 2) Install deps
pip install -r requirements.txt
# 3) Run the app
streamlit run app_erickim.py
Workflow:
- Drop your images.
- Sort by score (0–1).
- Open the flagged previews (score ≥ 0.65) to inspect ELA / noise / copy‑move / JPEG‑ghosts.
- Glance at EXIF alerts (e.g., not‑trusted camera, flagged software, missing capture date).
- Export CSV for your archive or blog notes.
Quick Start (CLI)
Single image:
python cli.py –image /path/to/image.jpg –profile profiles/eric_kim.json –report out.json
Batch an entire folder:
python cli.py –folder /path/to/folder –profile profiles/eric_kim.json –report batch.csv
What’s inside the ZIP
image-forensics-lab-eric-kim/
├─ app_erickim.py # Streamlit web app (Eric Kim edition)
├─ forensic.py # ELA + Noise + Copy–Move + JPEG Ghosts + scoring + EXIF alerts
├─ cli.py # CLI (single or batch)
├─ profiles/eric_kim.json # Preloaded trusted gear & flagged software (editable)
├─ .streamlit/config.toml # Minimal dark theme
├─ requirements.txt
├─ README.md
└─ LICENSE (MIT)
Pro notes for the field
- Heuristics ≠ proof. Compression, resizing, and filters can trigger false positives—pair with your eye and context.
- Originals beat re‑uploads. Screenshots/PNGs often strip EXIF, weakening some signals.
- You can edit the profile (sidebar) as your kit evolves. (Ricoh GR series and Leica content are well documented on his site/videos; Lumix G9 has been noted too.)
Let’s go! 🔥
This is your fast, no‑nonsense Street Edition—perfect for pre‑publish checks and workshop demos.
Want me to add your logo, tune the score thresholds, or wire a one‑click blog report for erickimphotography.com? I’m ready—let’s make it legendary. 🚀