Comment flouter les visages sur des photos avec Transloadit
À une époque marquée par des préoccupations accrues en matière de vie privée et par des
réglementations strictes sur la protection des données, protéger l’identité des personnes dans les
contenus visuels est primordial. Le nouveau paramètre blur_regions du
Robot /image/resize offre une
solution simple et puissante pour flouter les visages sur les photos, permettant aux développeurs
d’intégrer sans peine cette fonctionnalité dans leurs propres produits.

Comment flouter les visages sur des photos
Flouter les visages sur des photos, surtout lorsqu’il s’agit d’un grand nombre de fichiers, est un processus qui peut vite devenir ingérable et accaparer des ressources au détriment des parties de votre projet sur lesquelles vous voulez vraiment vous concentrer. Heureusement, avec Transloadit, tout cela se résume à deux Steps simples.
Examinons le Template ci-dessous.
{
"steps": {
"faces_detected": {
"use": ":original",
"robot": "/image/facedetect",
"faces": "max-confidence",
"format": "preserve",
"result": true
},
"blur_faces": {
"use": "faces_detected",
"robot": "/image/resize",
"format": "jpg",
"blur_regions": [
{
"x": "${file.meta.faces[0].x1 + (file.meta.faces[0].width / 2)}",
"y": "${file.meta.faces[0].y1 + (file.meta.faces[0].height / 2)}",
"width": "${file.meta.faces[0].width}",
"height": "${file.meta.faces[0].height}"
}
],
"blur": "0x10"
}
}
}
Notre premier Step utilise le
Robot /image/facedetect pour
obtenir les coordonnées du visage présent dans l’image. Le résultat de ce
Step est stocké dans les métadonnées de l’image, que
nous transmettons ensuite à notre Step
blur_faces.
Nous pouvons ensuite utiliser le Robot
/image/resize pour flouter le visage dans l’image. Pour ce faire,
nous définissons une région de flou dont les coordonnées x et
y correspondent au point central du visage.
faces[0] sélectionne le premier visage détecté pour les quatre coordonnées et
dimensions de cet exemple. Les expressions x et
y calculent son point central ; width et
height utilisent directement les dimensions détectées.
Les calculs des expressions x et y font
appel à l’évaluation dynamique via le
Robot /script/run. Les
expressions width et height sont de simples
lectures de métadonnées et restent gratuites. Chacune de nos régions de flou est une ellipse, et
nous pouvons faire correspondre ses dimensions à celles du visage à l’aide des
Assembly Variables.
Pour ajuster l’intensité du flou, utilisez le paramètre blur, au format
{radius}x{sigma}, que nous avons fixé à la valeur 0x10 pour
cette démo.
Le résultat
L’exécution du Template nous donne le résultat ci-dessous.


Déplacez le curseur de comparaison pour voir l’image originale ou la variante floutée.
Remarquez que seule la région couvrant le visage est floutée, le reste de l’image restant intact.
Voilà qui conclut cet article de blog. Nous avons vraiment hâte que vous puissiez découvrir cette nouvelle fonctionnalité : ouvrez donc le Template Editor et testez-la par vous-même.
