Recadrer automatiquement des milliers de photos autour des visages avec l'IA dans ComfyUI

Un recadrage intelligent par lots : Florence 2 trouve le visage (ou tout ce que vous nommez) dans chaque photo d'un dossier, et ComfyUI recadre un cadre propre et centré autour, dans n'importe quel rapport d'aspect.

Anton Tenitsky13 octobre 20264 min de lectureVersion vidéo plus bas

Ce guide a été traduit de l'anglais par IA et peut contenir des erreurs. Lire l'original.

Une grille de photos en noir et blanc de Marilyn Monroe, chacune recadrée automatiquement autour du visage

J’avais besoin de recadrer un tas de photos autour du visage : des photos verticales transformées en cadres horizontaux pour une vidéo. Un recadrage basique prend le milieu de l’image, ou le haut ou le bas si on le lui dit, mais il ne sait pas trouver le sujet. Avec l’IA, si. Ce workflow trouve le visage dans chaque photo d’un dossier et recadre un cadre propre autour. Il peut tout aussi bien recadrer autour de mains, d’un t-shirt, ou de tout ce que vous pouvez nommer.

Je le démontre sur des photos de Marilyn Monroe dans le domaine public.

Une photo verticale de Marilyn Monroe avec une zone de recadrage horizontale placée autour de son visage
L'objectif : un cadre horizontal placé autour du visage, pas seulement au milieu de la photo.

En bref

  • Chargez un dossier de photos avec Load Image Batch (mode incremental).
  • Trouvez le visage avec Florence 2 (tâche : caption to phrase grounding).
  • Agrandissez le masque pour que le recadrage ait de la place autour du visage.
  • Recadrez par masque, puis redimensionnez avec un fill crop à une taille exacte (1920 × 1080 pour moi).
  • Vitesse : 500 à 1 000 photos en environ 20 à 30 minutes.

Le workflow est sur mon Patreon. Voici comment fonctionne chaque partie.

1. Charger et redimensionner les photos

Load Image Batch pointe vers votre dossier, en mode incremental image, pour que chaque exécution prenne la photo suivante.

Le node Load Image Batch réglé sur incremental image avec un chemin de dossier, et un node Image Resize
Import par lots : un chemin de dossier et le mode incremental.

Combien d’exécutions ? Réglez le nombre de lots sur le nombre de photos, par exemple 18. Le nombre de lots plafonne cependant à 100. Pour 500 photos, utilisez Run (Instant), qui continue de mettre en file jusqu’à ce que vous l’arrêtiez. C’est rapide : laissez tourner 20 à 30 minutes et un millier de photos sont faites.

Ensuite, un node Image Resize met chaque photo à l’échelle de façon que son côté le plus long fasse 1920 pixels, en conservant les proportions. Mes photos s’inséraient ainsi bien dans un cadre Full HD vertical.

2. Trouver le visage avec Florence 2

Installez le pack Florence 2 depuis le ComfyUI Manager. Le modèle se télécharge tout seul la première fois que vous le lancez.

Le node Florence2ModelLoader avec sa liste déroulante de modèles ouverte
Le chargeur de modèle Florence 2. Base fonctionne bien pour les visages.

Quel modèle :

  • Base : parfait pour les tâches simples comme trouver un visage, et rapide. Il ne dérape pas beaucoup.
  • Large : nettement plus lent, mais il peut détourer de vraies formes, comme une main et un bras, plutôt qu’une simple boîte.
  • Versions fine-tuned (ft) : je n’ai jamais trouvé d’usage pour elles ; elles ne m’ont jamais donné de bons résultats.

Dans le node Florence 2 principal, saisissez ce qu’il faut trouver (« face », « hands », « t-shirt ») et réglez la tâche sur caption to phrase grounding. C’est la tâche qui renvoie un masque de l’endroit où se trouve la chose. Les autres tâches font d’autres travaux, comme écrire une légende de l’image, ce qui est utile dans d’autres workflows mais pas ici.

Le node Florence 2 avec un aperçu de masque montrant un rectangle blanc là où le visage a été trouvé
« Face » trouve une boîte autour du visage. Une position approximative est tout ce qu'il nous faut pour recadrer.

Un aperçu du masque montre ce qu’il a trouvé. Il saisit parfois trop : sur une photo, il a pris tout le bébé au lieu du visage, et sur des photos de deux personnes, il n’a parfois trouvé qu’un visage. Essayez des variantes comme « faces » ou « two faces ». Je garde le prompt le plus simple possible.

3. Agrandir le masque et définir le cadre

La boîte détectée est serrée, et un recadrage aussi serré entame le visage. Un node Grow Mask l’agrandit, de 200 pixels ici. Utilisez 0 si vous le voulez serré, et plus pour de très grandes photos (une photo de 6 000 pixels demande un agrandissement plus grand). Les coins sont chanfreinés quand il s’agrandit ; ignorez-le, puisque le recadrage final est rectangulaire de toute façon.

Un aperçu de masque montrant la boîte du visage agrandie en une forme octogonale plus grande
Le masque agrandi. Les coins chanfreinés n'ont pas d'importance ; le recadrage est un rectangle.

Le masque agrandi peut encore avoir la mauvaise forme pour votre cadre, il est donc recadré aux dimensions que j’utilise partout : 1920 × 1080.

4. Recadrer et exporter

Image Crop by Mask prend la photo d’origine du chargeur par lots et la recadre selon le masque. Ce recadrage peut avoir une taille peu pratique, un Image Resize final avec la méthode fill/crop l’amène donc au HD exact, en rognant un peu plus si nécessaire.

Deux recadrages horizontaux cinématographiques de photos en noir et blanc, cadrés autour des visages
Le résultat : des recadrages horizontaux cinématographiques, centrés sur les visages.

Je cherchais un cadre façon cinéma, et le résultat était parfait : un très beau cadrage. Save Image écrit les fichiers dans le dossier que vous définissez ; une note dans le workflow explique comment les noms de fichiers sont construits.

Une remarque sur la résolution

Comme le recadrage zoome sur le visage, les résultats peuvent être petits. Si vous les voulez plus grands, passez-les dans un upscaler ; mon guide d’upscaling IA gratuit contient un workflow pour cela. Pour en savoir plus sur ce que Florence 2 peut faire, voir masquer n’importe quoi avec Florence 2.

Voir la version vidéo (7:15)

Tout ce qui précède est aussi dans la vidéo, si vous préférez suivre à l’écran. La vidéo est en anglais.

Questions fréquentes

Comment traiter plus de 100 images dans ComfyUI ?

Le nombre de lots plafonne à 100. Pour plus, utilisez Run (Instant), qui continue de mettre des exécutions en file jusqu'à ce que vous l'arrêtiez. Un dossier de 500 ou 1 000 photos prend 20 à 30 minutes.

Quel modèle Florence 2 utiliser pour la détection de visages ?

Base est rapide et gère bien les choses simples comme les visages. Large est plus lent mais peut détourer des formes plus précisément. Je n'ai jamais trouvé d'usage aux versions fine-tuned.

Pourquoi agrandir le masque ?

La boîte détectée est serrée autour du visage. L'agrandir (j'ai utilisé 200 pixels) donne de l'air au recadrage. Agrandissez davantage pour de très grandes photos.

Anton Tenitsky est artiste 3D avec plus de 15 ans d'expérience en infographie, qui a travaillé avec Nickelodeon, Gameloft, Marvel Rivals et de nombreux autres clients. En savoir plus sur moi

Guides associés