AI Photo Editing App

Jan 1, 2024 · 2 min read

Sep 2023 – Jan 2024

Problem

The edits people actually want from a photo app — remove that person, drop the background, make the sky dramatic, put him in a suit — are each a different technical problem, but users expect all of them behind a single tap. Each feature needs an accurate mask, a plausible fill, and a result that survives being zoomed into.

Approach

I built four editing features on a shared backbone of segmentation plus generative inpainting:

  • Object removal — segment the unwanted region, then inpaint it with surroundings-consistent content rather than a blur or clone-stamp patch.
  • Background removal — high-quality alpha matting around hard cases: hair, glasses, motion blur at the subject boundary.
  • Sky replacement — sky segmentation combined with colour harmonisation, so the relit foreground matches the new sky instead of looking pasted on.
  • Suit changer — garment-region segmentation and generative synthesis that keeps the subject’s identity and pose intact.

The common thread is that mask quality dominates perceived output quality: a strong generative model behind a sloppy mask still looks wrong at the edges, so most of the tuning effort went into the segmentation stage and its boundary refinement.

Tech stack

PyTorch · Diffusion Models · Segmentation networks · OpenCV · Python

Outcome

Delivered as a set of consumer-facing editing features.