Face Out

2021 Β· πŸ† Honorable Mention Γ—2 β€” a web app that blurs every face in a photo or video except the one you choose.

μž₯렀상 제11회 μˆ­μ‹€ μΊ‘μŠ€ν†€λ””μžμΈ κ²½μ§„λŒ€νšŒ Β· 2021.09
μž₯렀상 AIμœ΅ν•© κ²½μ§„λŒ€νšŒ Β· 2021.11

Soongsil University Β· Capstone Design Project

A privacy-protection web app: give it one reference photo of the person to keep, then upload a group photo or video β€” every other face is automatically mosaicked.

View code on GitHub


Why we built it

As creators like YouTubers exploded, more and more bystanders ended up on camera without consent β€” and manually blurring each one is tedious and easy to miss.

The goal: protect the portrait rights of incidental people, automatically β€” keep the one person who should stay, blur everyone else.


See it in action

Input β€” original clip
Output β€” everyone but the target is blurred

How it works

System architecture

From upload to download, the flow is four steps:

  1. Reference β€” the user uploads one photo of the person to keep.
  2. Detect & encode β€” every face in the target image or video is detected and turned into a face embedding.
  3. Match β€” each face is compared against the reference; anyone who doesn’t match is flagged.
  4. Mosaic β€” flagged faces are blurred and the result is returned for download or saved to the account.

Images vs. video. Photos and video run through separate pipelines: video is processed frame by frame with a dedicated, speed-optimized path, and a thumbnail is generated for each clip.


Features

  • One-shot β€” a single reference photo is enough to exclude one person
  • Batch β€” handles multiple faces in a frame at once
  • Works on images and video, with auto-generated thumbnails
  • Fully web-based β€” nothing to install
  • Accounts β€” members save results to personal folders; guests download directly
  • Built-in Q&A board and profile management

Architecture

  • Frontend β€” HTML / CSS / JavaScript: login, upload, processing dashboard, my-page, Q&A.
  • Backend β€” Flask server with the face-recognition pipeline; Flask-SQLAlchemy over MySQL for users, media metadata, and Q&A.
  • Storage β€” separate folders for reference faces, source media, guest downloads, member outputs, and video thumbnails.

Team

Capstone team β€” Soongsil University (Mar–Nov 2021):

  • Dayoung Kil (κΈΈλ‹€μ˜) β€” frontend, backend & face recognition
  • Seoyoon Choi (μ΅œμ„œμœ€) β€” frontend concept & recognition model
  • Sunyoung Song (μ†‘μ„ μ˜) β€” frontend, backend & database

Tech stack

Flask MySQL Β· SQLAlchemy HTML / CSS / JS face-recognition