Introduction

Peut-être êtes-vous tombé sur cette vidéo qui a fait le buzz sur Linkedin où l’on voyait une app mobile prendre une photo de n’importe quel objet, le détourait automatiquement et l’envoyait sur Photoshop. Le concept est appelé “AR Copy Paste”. Voici un article dédié au concept

J’ai été très impressionné par la démo et me suis demandé comment c’était fait. J’ai donc codé un MVP qui refait exactement la même chose (au delta près du plugin Photoshop qui n’est qu’un wrapper autour de mon app web qui affichait déjà mon image détourée).

Étant consultant Freelance (Architecte solutions/ Expert technique/ Tech Lead), n’hésitez pas à me contacter pour une démo ou voir si je suis disponible pour vous proposer mes services dans ce domaine.

Le code n’est pas open source mais bien visible sur demande (le projet et ses deps fait 1.3 Go à cause de la partie Machine Learning)

Dans cet article, je vous présente l’architecture applicative de mon MVP et vous présente les résultats


Architecture applicative du MVP

image


  1. Prise de photo depuis un smartphone
  2. Upload de la photo sur une API Python
  3. Appel de la librairie de machine Learning permettant d’extraire le background d’une photo
  4. Génération d’une photo temporaire sur l’API puis upload sur S3
  5. Récupération de l’URL d’accès de la photo détourée sur S3 et on retourne l’URL au client
  6. Affichage de la photo détourée depuis S3 via l’URL juste récupérée

Schéma simplifié bien sûr. Il s’agit d’un MVP rapide de 3 soirées sans DB, sans realtime websoket server.


Résultat sur quelques objets et mon chien

Adaptateur de voyage sur mon bureau: image Tasse sale sur mon bureau: image Caméra Tapo dans mon salon: image Bouteille sur mon bureau: image Télécommande Freebox dans mon salon: image Mon chien (qui s’est roulé dans la boue) pris de très loin + un sac (2 objets): image Mon chien: image

Encore une fois merci le Machine Learning, le résultat est bluffant!..


Recommandations

  • Pour la partie front mobile, j’ai encore pu tester le framework Expo pour ce MVP et c’est vraiment top. Cela permet d’avoir un workflow de développement vraiment simplifié et d’être vraiment productif. En gros, il n’y a pas à gérer la partie CI (mobile) du tout.

  • Modèle Deep Learning utilisé: U2Net