A Python CLI-Tool and package to pixelate or blur faces in images and videos.
Project description
Welcome to PixelateMe 👋
Your Python package for anonymising faces in images and videos
This CLI tool lets you pixelate, blur or remove faces from videos and images. GPU acceleration supported
Original image from unsplash.com by Susan G. Komen 3-Day
Original video from pexels.com by fauxels
⚡️ Quickstart
📥 Install
pip install pixelateme
With GPU support (additionally installs onnxruntime-gpu:
pip install pixelateme[gpu]
▶️ Run
After installation, pip registers a shortcut binary which can be called like this:
pixelateme --mode blur FOLDER_OR_FILES
This will create a new pixelated folder to hold all the pixelated files.
📝 Custom code
To use this package in your own code, you can import the main module. This module exports a run method that accepts all CLI arguments as parameters.
from pixelateme.main import run
run(path=["FILE_PATHS"])
🎯 Features
- Different anonymisation modes: pixelate, blur and color
- GPU acceleration
- Preview of currently processed files
- Face Recognition to blur only certain faces or all faces except certain ones
- ONNXRT and OpenCV run-time backend
- Process multiple files in parallel
💻 CLI Arguments
--suffix: Filename suffix of processed files. Default:--output(-o): Output directory for processed files. Default: ./pixelated--mode(-m): Mode of anonymization. Default: pixelate--threshold(-t): Threshold for detected faces (higher means more confidence). Default: 0.5--backend: Desired backend (e.g. opencv or onnxrt). Auto prefers onnxrt and falls back to opencv. Default: auto--only-blur-this-faces: Folder containing images of faces (one face per image) that should be considered for anonymisation. All other faces will not be anonymised. Default: None--blur-except-this-faces: Folder containing images of faces (one face per image), which should be ignored for anonymization. Default: None--ellipse: Uses ellipses as form for anonymization. Default is rectangle--blur-strength: Defines how "blurry" a face will be. Only working with--mode"blur". Default: 3--pixelate-size: Amount of pixelation effect. The lower the value, the harder it is to recognise the face. Default: 16--deepface-similarity: The maximum similarity between two faces. A higher value means that more faces are considered equal. Only working in combination with--blur-except-this-facesor--only-blur-this-faces. Default: 0.4--preview: Enable preview of the currently processed image. No preview is default--face-recognition-size: Image size to use for face detection. Format: WxH (e.g. 720x480). Default: None--maximum-face-recognition-size: Maximum number of pixels of the longest side for face detection. Images larger than this will be downscaled for face recognition. This doesn't affect output resolution. Default: 640--multiprocessing: Enable multiprocessing to process files in videos. Useful when anonymizing multiple large videos. Disabled by default--parallel-processes: Number of parallel processes. Only works with--multiprocessingenabled. Default: 4
👏 Acknowledgements
- deface: Deface was one of my inspirations for this package and the implementation of CenterFace.
- CenterFace: Used for face detection
- DeepFace: Used for face recognition
- ONNX: Face detection backend
- OpenCV: Face detection backend, used for I/O and face anonymisation (blur, pixelation and color)
👥 Author
👤 Marius Butz
- Website: http://marius-butz.de
⭐️ Show your support
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file PixelateMe-0.3.2.tar.gz.
File metadata
- Download URL: PixelateMe-0.3.2.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3dc1e17bef4586e9efa986e723355eabe404f82c683f2c5639e55a518a45b6f
|
|
| MD5 |
4890195d16142c22bcf2d6b9dfc78ffb
|
|
| BLAKE2b-256 |
6b25d6e5c978e4881ead39cdfff6884e2d45ef4088205df1abee792cc675191a
|
File details
Details for the file PixelateMe-0.3.2-py3-none-any.whl.
File metadata
- Download URL: PixelateMe-0.3.2-py3-none-any.whl
- Upload date:
- Size: 7.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11ce2e2a2b3d0b70fe7152ff75dcc551122d3ed2c06b8b2dd51d4d19ab5aeeac
|
|
| MD5 |
be7eaa963dd4e0c2fada6d173df86c0e
|
|
| BLAKE2b-256 |
ef757c13f9b11feefc024cc893797a1acdee51b33c2ea3ba2de46965ad5a88d5
|