DFACE.app is a web application that performs private, automatic face redaction in a web browser using YOLOv5 computer vision models and Tensorflow.js. Made by VFRAME.io.
- Install NVM from https://github.com/nvm-sh/nvm
nvm use node
nvm install 14.17.1
nvm use 14.17.1
- Install Yarn
npm install -g yarn
- Install dependencies
yarn install
- Disable Next.js telemetry:
npx next telemetry disable
Start a development server on http://localhost:3000/
yarn dev
Models should be placed in public/assets/models/
in folders named identically to the names in modelzoo.yaml
. The application will look for the file model.json
when loading a model. The active models can be rebuilt from the YAML by running:
yarn modelzoo
Let's admit it, emoji are probably the most important part of this application. Here is how you can generate a test document of emoji so you can load more (using twemoji):
cd node_modules/twemoji-emojis/vendor/svg
echo "<style>div img { width: 48px; height: 48px; display: block; } div { display: inline-block; font-size: 12px; }</style>" >> emoji.html
for i in *.svg; do echo "<div><img src="$i">$i</div>" >> emoji.html; done
python3 -m http.server 8000
- Navigate to http://localhost:8000/emoji.html
- Emoji are listed in
components/common/Emoji.js
, follow the pattern to add new ones - Emoji are grouped by classes. The list of classes should correspond to the emojiOptions in
constants/index.js
This command will build the static site to the out/
directory, suitable for deployment.
yarn build
- DFACE uses the YOLOV5 object detection architecture by Glenn Jocher based on the original YOLO by Joseph Redmon
VFRAME gratefully acknowledges support from NLnet for the continued development of DFACE:
VFRAME received support from the NLNet Foundation and Next Generation Internet (NGI0) supported research and development of face blurring and biometric redaction tools during 2019 - 2021. Funding was provided through the NGI0 Privacy Enhancing Technologies Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program.
- DFACE web application MIT
- Next.js: MIT
- Tensorflow.js: Apache 2.0