Vision par ordinateurIA générativeApprendre l'IAIngénierie IAVision par ordinateurIA générativeApprendre l'IA
Vision par ordinateur8 min de lecture

Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

À l’aide de plusieurs algorithmes d’apprentissage automatique exécutés en privé sur votre appareil.

Mis à jour le 25 sept. 2021
Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique
Sommaire

À retenir

  • La reconnaissance faciale dans les applications de photos repose généralement sur des encodages qui regroupent les visages semblables sans qu’une personne doive d’abord étiqueter chaque image.
  • Le traitement sur l’appareil peut améliorer la confidentialité, mais il ne retire pas la nécessité de gérer soigneusement les erreurs et les données d’identité sensibles.
  • Le travail important pour le produit concerne le regroupement, la correction et le contrôle par l’utilisateur, pas seulement la détection de la présence d’un visage.

Dans une publication récente, Apple a expliqué comment l’entreprise a utilisé l’apprentissage automatique pour reconnaître directement les personnes dans les photos privées de vos iPhone et iPad, sans avoir accès à vos images pour entraîner ses algorithmes.
Si vous possédez des produits Apple, vous pouvez réellement effectuer une recherche par personne dans l’application Photos.

En effet, grâce à plusieurs algorithmes basés sur l’apprentissage automatique que je vais couvrir dans cet article et qui s’exécutent en privé sur votre appareil, vous pouvez trier et organiser précisément vos images et vidéos sur iOS 15. L’application reconnaît les différentes personnes et vous permet de rechercher les photos dans lesquelles elles apparaissent. Si vous avez des milliers de photos comme moi, vous avez déjà différents groupes représentant chacun différentes personnes. Par exemple, un de ces groupes pourrait contenir toutes les photos où se trouve votre ami John. Vous pourriez alors le nommer « John », puis rechercher John dans vos photos pour les faire apparaître automatiquement. L’application peut même reconnaître les photos où les mêmes personnes apparaissent souvent, même si elle ne connaît pas ces personnes individuellement et n’a pas été entraînée directement avec elles. Elle peut ensuite utiliser ces groupes pour partager des souvenirs, comme la fonction « Together » présentée ici. C’est une application intégrée vraiment cool d’Apple, et le mieux est qu’elle fonctionne même lorsque le visage est caché ou de côté, comme nous allons le voir.

Exemple visuel tiré de Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

A) Photo montrant les personnes identifiées en bas à gauche. B) Album de personnes. C) Recherche combinant plusieurs personnes. D) Volet Souvenirs montrant des souvenirs propres à une personne. Image tirée d’Apple, « Recognizing People in Photos Through Private On-Device Machine Learning », (2021)

Comme je l’ai dit, ça semble très bien fonctionner. Tout s’exécute en privé sur votre appareil, et Apple améliore constamment les algorithmes, mais c’est encore plus cool de comprendre comment ça fonctionne. Alors, plongeons dans les détails! Reconnaître des personnes dans vos propres photos est extrêmement difficile en raison de toute leur variabilité. Différentes personnes, différents angles, différentes échelles, différents éclairages, des obstructions parce que votre ami attrapait un ballon de football, ou même différentes caméras. Si nous nous basions uniquement sur le visage d’une personne, les résultats seraient assez incomplets, puisque la plupart de nos photos prises sur le vif pendant un événement ne sont pas des images parfaites où nos amis sourient devant la caméra. Lorsque vous recherchez John, vous voulez aussi voir les événements où John a remporté le match en attrapant ce ballon.

Pour s’attaquer au problème, Apple commence par localiser les visages et le haut du corps des personnes visibles dans l’image à l’aide d’un premier algorithme de détection. Cet algorithme a été entraîné sur de nombreux exemples humains étiquetés, annotés avec l’emplacement des corps et des visages. Autrement dit, Apple a entraîné un réseau de neurones profond en lui fournissant des images, alors que les sorties attendues étaient simplement les versions recadrées de ces images contenant le corps ou le visage des personnes. Pour y arriver, on donne de nombreux exemples au réseau en lui indiquant où concentrer son attention grâce aux sections correctement identifiées. De cette façon, il peut apprendre progressivement à trouver cette partie du corps par lui-même si nous lui montrons suffisamment d’exemples pendant l’entraînement.

Exemple visuel tiré de Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

Reconnaissance des personnes dans des collections d’images. Image tirée d’Apple, « Recognizing People in Photos Through Private On-Device Machine Learning », (2021)

Ensuite, Apple associe le corps et le visage de chaque personne pour obtenir encore plus de données à son sujet, au cas où seulement l’un des deux apparaîtrait dans une future image. Vous pouvez voir ici que le corps et le visage sont envoyés dans des modèles distincts qui encodent l’information et créent des représentations vectorielles. Ces encodages contiennent simplement les renseignements les plus importants sur le visage et le corps de la personne. Nous utilisons ici un autre réseau pour encoder l’information, car nous voulons que nos encodages soient semblables pour une même personne et différents pour des personnes différentes. Cela se fait encore une fois avec un autre modèle qui ressemble à celui-ci, inspiré de MobileNet, dont j’ai parlé dans mon article sur les réseaux de neurones convolutifs. Il s’agit d’un réseau de neurones convolutif léger qui peut fonctionner de façon extrêmement efficace, conçu pour les appareils mobiles plutôt que pour les GPU. Si vous ne connaissez pas les CNN, je vous invite fortement à lire l’article que j’ai écrit pour les expliquer simplement. En gros, il prend les images recadrées et compresse leur information dans un espace plus petit en se concentrant sur les détails les plus intéressants au sujet de la personne. C’est possible parce qu’un tel modèle a été entraîné sur beaucoup d’images précisément pour effectuer cette tâche. Ces encodages sont ensuite fusionnés et enregistrés dans la galerie de votre téléphone, sauf lorsque leurs réponses sont mauvaises. Ces mauvaises réponses peuvent provenir de visages ou de hauts du corps flous et sont automatiquement filtrées.

Exemple visuel tiré de Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

Architecture du réseau d’encodage des visages. Image tirée d’Apple, « Recognizing People in Photos Through Private On-Device Machine Learning », (2021)

Ce processus est répété avec toutes vos photos pour créer des groupes à partir de ces encodages. Ces groupes représentent les différentes personnes identifiées. L’algorithme fusionne tous les encodages semblables en petits groupes, où chaque groupe correspond à une personne précise. C’est donc à cette étape que toutes les photos où John a été identifié sont placées dans une galerie. Ce qui est cool, c’est que tout cela s’exécute automatiquement la nuit, lorsque votre téléphone se recharge pendant que vous dormez, et continue de s’améliorer à mesure que vous ajoutez des photos.

Exemple visuel tiré de Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

Distribution des encodages de visages avant et après l’entraînement. Image tirée d’Apple, « Recognizing People in Photos Through Private On-Device Machine Learning », (2021)

Une fois ces groupes créés, vos nouvelles photos contenant des personnes sont envoyées au même réseau profond afin de créer un nouvel encodage pour chaque personne dans l’image. Ce nouvel encodage rejoint un groupe si l’algorithme trouve une correspondance, ou en crée un nouveau selon la différence entre les encodages déjà présents dans votre téléphone et ceux de la nouvelle photo.

Exemple visuel tiré de Comment Apple Photos reconnaît les personnes dans vos photos privées avec l’apprentissage automatique

Pour déterminer s’il s’agit de la même personne, l’algorithme se concentre surtout sur le visage. Si celui-ci est caché ou de côté, il utilise le haut du corps avec les informations disponibles sur le visage, puis tient compte de l’heure où la photo a été prise pour déterminer si les vêtements pourraient être les mêmes ou non. Comme vous vous en doutez, le haut du corps n’est pas toujours utile. Comme l’explique Apple, « Nous avons soigneusement ajusté les seuils de distance pour le visage et le haut du corps afin de tirer le maximum de l’encodage du haut du corps sans nuire à la précision générale. » Et voilà comment Photos regroupe vos amis dans l’application sans que vous le sachiez!

Une autre préoccupation consistait à offrir la même expérience à tous les utilisateurs d’Apple, peu importe la couleur de peau, l’âge ou le genre de la personne photographiée. C’est excellent de voir Apple continuer d’améliorer la généralisation et tenter d’éliminer le mieux possible ces biais de son algorithme, en utilisant les jeux de données les plus diversifiés possible ainsi que l’augmentation de données pour ajouter des variations aux images d’entraînement. Si vous avez un iPhone ou un iPad, dites-moi ce que vous pensez de cette fonction dans l’application Photos et à quel point elle fonctionne bien!

Merci d’avoir lu!


Venez discuter avec nous dans notre communauté Discord : Learn AI Together et partagez vos projets, vos articles scientifiques et vos meilleurs cours, trouvez des coéquipiers pour Kaggle, et bien plus encore!

Si vous aimez mon travail et voulez rester à jour sur l’IA, vous devriez absolument me suivre sur mes autres réseaux sociaux (LinkedIn, Twitter) et vous abonner à mon infolettre hebdomadaire sur l’IA!

Pour me soutenir :

  • La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous aimez le format vidéo.
  • Soutenez financièrement mon travail sur Patreon

Références :

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Comment Apple Photos reconnaît les personnes?

Les applications de photos détectent les visages, créent des représentations compactes, comparent leurs similarités et regroupent les images qui montrent probablement la même personne.

Qu’est-ce qu’un encodage de visage?

Un encodage de visage est une représentation vectorielle qui rapproche les visages semblables et éloigne les visages différents.

Pourquoi la reconnaissance faciale sur l’appareil est-elle importante?

Le traitement sur l’appareil peut garder les photos sensibles et les données d’identité plus près de l’utilisateur, ce qui est important pour la confidentialité.

Pourquoi les applications de photos peuvent-elles mal identifier des personnes?

Elles peuvent être confondues par l’éclairage, l’âge, la pose, les obstructions, les visages semblables, les images de faible qualité et les données que le modèle gère mal.

Que devraient savoir les utilisateurs sur la reconnaissance faciale?

Elle est utile pour organiser les photos, mais les utilisateurs devraient pouvoir corriger les erreurs, fusionner ou séparer les groupes et comprendre les réglages de confidentialité.