IA & IMMOBILIER : État des lieux, inspections, immobillier : la place de l’IA
Sylvain Duchêne, co-fondateur et CTO de Check & Visit est l’invité de l’épisode 58 de Data Driven 101.
Sylvain nous plonge dans les défis de la transition numérique du secteur, en décrivant les innovations techniques qui leur permettent de standardiser et d’automatiser les inspections.
Il nous révèle aussi comment ils utilisent la computer vision et l’intelligence artificielle pour scanner les logements, tout en s’aventurant dans d’autres secteurs comme l’automobile.
Marc00:00:00 – 00:00:15 : Aujourd’hui, je reçois Sylvain Duchesne, docteur en computer vision, CTO et co-founder de Check & Visit. Check & Visit est un spécialiste de la collecte de données sur mesure créée en 2017. Ils ont levé 12 millions en 2022 et sont 60 personnes entre Rennes et Paris. Bonjour Sylvain.
Sylvain 00:00:15 – 00:00:15 : Bonjour.
Marc00:00:16 – 00:00:20 : Alors Sylvain, est-ce que tu peux nous parler un petit peu plus de Check & Visit en détail? ?
Sylvain 00:00:20 – 00:01:25 : Oui, en détail. Donc on est effectivement un spécialiste de la collecte de données avec une composante très spécifique. C’est qu’on a démarré par le secteur de l’immobilier pour réaliser des états des lieux. Et pour les réaliser, on a développé notre propre application mobile, notre propre solution afin de structurer les données de la bonne manière parce qu’il y avait une transition immobilière. L’incroyable affaire pour le secteur de l’immobilier, c’était de passer du papier carbone, voire des feuilles imprimées, à des solutions digitalisées pour reprendre le mot. Et aujourd’hui, de fil en aiguille, en développant nos solutions techniques et en développant un réseau d’intervenants qui est présent sur le territoire national, donc on a plus de 350 intervenants, on a réussi à couvrir des besoins très particuliers de demande d’inventaire, demande d’inspection d’assurance, demande de relevé pour des acteurs énergétiques. Et on n’est plus vraiment le check-in visite de l’état des lieux qui était connu au démarrage. On est vraiment un spécialiste de la collecte de données sur mesure. C’est-à-dire que maintenant, on a des clients qui viennent nous voir. J’ai besoin d’aller inspecter 8000 conduites de gaz. On sait déployer la solution technique et les équipes pour le réaliser en très peu de temps.
Marc00:01:26 – 00:01:30 : Ok. Alors quel était le constat initial sur le besoin ?
Sylvain 00:01:30 – 00:03:19 : Le constat initial, déjà sur l’état des lieux au passé du papier carbone, quelque chose de structuré, on l’imagine assez bien. Le premier constat, c’est comme ils étaient mal faits, une inspection qui est mal réalisée, que ce soit immobilier ou enlevé de compteur, quand elle n’est pas qualitative, induit des erreurs et à partir d’erreurs sur de la donnée collectée, On prend des mauvaises décisions et derrière, il y a des conséquences. Sur le marché de l’état des lieux, très simplement, un état des lieux qui est mal fait à l’entrée, à la sortie, vous avez votre caution qui saute autant que le locataire, vous ne comprenez pas pourquoi. Et en fait, il est trop tard parce que vous avez mal fait votre état des lieux d’entrée. Et comme il est contradictoire, c’est-à-dire que vous le faites en présence de quelqu’un qui va le réaliser avec vous, vous devez être d’accord pour le signer à la fin. s’il est mal fait, il y a des conséquences financières derrière. Donc l’enjeu principal, c’est déjà de bien réaliser ces inspections, de mettre en place tous les processus de collecte qui sont très similaires. La notation, en fait, expert, tel qu’on peut le voir en machine learning, en computer vision, on a vraiment besoin d’avoir des processus qui permettent de faciliter la notation et la structuration de l’information pour ensuite l’exploiter. Le constat initial, c’est vraiment déjà faire quelque chose de qualité dans un secteur où l’état des lieux n’est pas standardisé. Vous avez un intervenant d’une agence à l’entrée, c’est un expert qui vient à la sortie d’une autre agence, on va dire d’experts en état des lieux. Il faut savoir qu’aujourd’hui, c’est un réseau d’intervenants. Les états des lieux sont majoritairement réalisés par des indépendants en France. Et aussi en interne par les agences immobilières. Les deux existent. Et nous, en fait, on est venu proposer une solution unique qui permet de standardiser la qualité des états des lieux à l’entrée comme à la sortie. Ce qui fait qu’on ne se retrouve pas à la sortie avec un état des lieux à l’entrée qui n’a pas été fait de la même manière et qui peut amener des billets. Ça, c’est un point important parce que du coup, il n’y a plus de questions à se poser. Parce que le processus d’inspection dans l’application fait qu’on ne peut pas échapper à quelque chose qui a été saisi précédemment.
Marc00:03:20 – 00:03:26 : Concrètement, ça veut dire que vous prenez une photo, par exemple, du dommage ou de ce que vous voulez constater.
Sylvain 00:03:26 – 00:03:27 : Oui, tout à fait.
Marc00:03:27 – 00:03:33 : Et après, tu nous disais, il y a un moyen d’annotation. On permet, par exemple, d’entourer avec un cercle rouge.
Sylvain 00:03:33 – 00:04:57 : Alors, on n’a pas été là-dessus. Ça va arriver. On ne l’a pas fait parce que ça prend aussi du temps de dessiner pour chaque dégradation ou chaque annotation qu’on a besoin de mettre en valeur. Et en fonction des inspections qu’on doit réaliser, de faire des ronds partout, des carrés, ça prend quand même un certain temps et ça rajoute du temps d’intervention. Là où, en fait, quand on fait appel à une société comme la nôtre, ce qu’on veut, c’est de l’efficacité, de la rapidité, de la qualité. Donc, de rajouter des petites boivoies pour détourer, on va dire, les centres d’information, on ne l’a pas nécessairement mis en œuvre au départ et on ne l’a toujours pas. Et ce n’est pas si gênant que ça dans la procédure de collecte, parce qu’une dégradation qui est très marquée, en fait, l’intervenant, naturellement, il va se rapprocher, il prend une photo vraiment rapprochée. On va par contre plutôt travailler à la localisation de cette annotation dans l’espace. Donc là, soit à partir de computer vision géométrique, on fait une reconstruction 3D du logement pour vous dire, là, il y a quelque chose qui ne va pas. Ou typiquement, sur des conduites de gaz, on va suivre. Là, il y a une soudure, il faudrait la refaire. Ou le comptoir, il y a tel numéro. Là, dans une image, on va venir cliquer. Là, on va mettre une vignette. On a un éditeur web qui permet de le faire, bien sûr. Mais sur le terrain, l’intervenant, il est aussi dans son processus de collecte d’inspection. On ne va pas lui demander de venir détourer. Naturellement, les personnes s’approchent. Par contre, la localisation va être importante.
Marc00:04:57 – 00:05:01 : Vous avez un plan ? Et vous venez sur le plan indiquer les différentes photos qui sont prises.
Sylvain 00:05:01 – 00:06:45 : Alors, le plan, on ne l’a pas forcément. Le plan, on ne l’a pas forcément. On travaille plutôt avec des images 360 pour venir recaler l’information directement sur l’image. D’accord. Les plans, on peut les obtenir soit à partir d’une application mobile type iOS pour reconstruire les plans, ce qu’on est en train de développer aujourd’hui. Et sur Android, on va plutôt avoir un nuage de points 3D qui structure l’espace pour venir localiser la dégradation. Mais en termes d’expérience utilisateur, quand on va travailler avec des experts, pas de problème pour travailler avec un nuage de points, un plan, etc. pour localiser. Mais on s’est très vite rendu compte que ce qui est le plus simple pour les enjeux business, c’est une simple image avec la zone, le point d’attention, avec l’information. Et finalement, en fait, de structurer l’information pour qu’elle soit visible sur une visite virtuelle 360, on l’a fait avant d’avoir le plan 3D complètement construit, parce que finalement, dans l’expérience, pour le tout circuit assistance maîtrise d’ouvrage, dans une agence immobilière, la personne qui s’occupe de chiffrer, etc., va être plus à même d’utiliser un navigateur web avec une vue 360, avec une interface très simplifiée, qu’un modèle 3D avec des annotations dans l’espace. Enfin, on a essayé. On a dû arrêter parce que la navigation dans les nuages de points 3D, ce n’est pas si simple que ça à mettre dans les mains de tout le monde. Et puis dans un nuage de points, l’information n’est pas complète. Est-ce qu’on calcule un mesh ? C’est-à-dire une géométrie qui va définir des triangles pour avoir vraiment un volume 3D complet. Et là, il va se poser la question de couper les plafonds pour pouvoir naviguer dans la solution. En fait, on a développé tout ce truc-là. Mais finalement, dans le cas d’usage quotidien, une bonne photo, c’est bien.
Marc00:06:45 – 00:06:48 : La valeur ajoutée de la 3D n’est pas forcément énorme.
Sylvain 00:06:48 – 00:07:10 : La valeur à la 3D n’est pas énorme sur l’expérience de navigation. Elle est très importante sur la localisation, de pouvoir identifier l’endroit, de mesurer aussi une surface. Mais par contre, effectivement, sur l’expérience de navigation, à moins d’avoir une bonne connaissance en jeux vidéo ou sur les logiciels de computer graphics purs de 3D, c’est vite compliqué pour naviguer.
Marc00:07:10 – 00:07:20 : Et du coup, tu parlais aussi de faire en sorte que ce soit la même chose avant et après. Est-ce que tu peux nous parler un petit peu plus de cet aspect-là et quelles contraintes vous mettez ? Tout à fait.
Sylvain 00:07:20 – 00:08:37 : Premier aspect, la structure de la donnée respecte quand même, on va dire, un template structuré. On découpe les zones à inspecter naturellement, murs, portes, etc. Et on va s’assurer que les photos qu’on a prises à l’entrée, quand il y a une notation qui a été marquée, on va venir les comparer ensuite, après coup, pour vérifier si la dégration est toujours là. Et inversement, on prend aussi des photos générales pour vérifier l’état d’entrée avant et après. Donc, ça permet de se dire déjà en regardant des photos, là, il n’y avait rien, là, il y a quelque chose, on le sait. Ou inversement, ce trou qui était dans le mur, quand je suis rentré, il était là. Et de la même manière, sur une voiture ou autre, on a ce genre de choses. En fait, d’être spécialiste de la collecte de données, on est spécialiste à un instant T. Donc, on fait la signature RGS pour stocker l’information, pour prouver que les données ont été saisies à un instant T précis et qu’on va venir comparer dans le temps. Donc, ce point de comparaison de ces référentiels est très important parce qu’il peut avoir une valeur juridique dans certains cas. Donc il faut s’assurer que quand on inspecte quelque chose et qu’on demande de faire la comparaison, il faut repasser sur tout. C’est un logiciel assez simple qu’on a développé en apparence, mais quand on doit intégrer toutes les règles composantes, métiers, etc. dedans, ça commence à faire quelque chose d’assez constant.
Marc00:08:37 – 00:08:45 : Je répondis sur ce que tu as dit sur la voiture, parce que c’est une activité que vous avez du coup développée, vous êtes parti de l’état des lieux, aujourd’hui vous travaillez…
Sylvain 00:08:45 – 00:09:33 : C’est une activité qui est en train de se développer un peu par concours de circonstances, parce qu’on travaille sur la captation d’intérieur avec des téléphones mobiles depuis longtemps, et en fait faire des rendus photo réalistes d’intérieur en utilisant juste un téléphone mobile, sans que ça coûte trop cher. En temps de calcul, il ne faut pas l’oublier, on peut faire de l’IA, mais les cartes graphiques ont quand même un coût quand elles tournent pour avoir des rendus photoréalistes. Il y a encore un peu de temps pour nous, pour que ce soit vraiment scalable en termes de coûts. On n’en est pas loin, ça arrivera très vite. La voiture, pour le coup, très rapidement, on a réussi à mettre sur pied un produit qui tient la route pour scanner une voiture et faire un virtual showroom, l’inspecter, etc., Et en fait, c’est par opportunité parce qu’on pouvait le faire et on s’est dit bah tiens, pourquoi pas
Marc00:09:33 – 00:09:39 : ? Le sens de ma question que je voulais poser, c’était quelle différence techniquement il y a entre l’appart et la voiture ?
Sylvain 00:09:39 – 00:10:45 : La voiture est plus simple. Donc on est capable de contrôler la qualité de la capture. En fait, la difficulté dans l’appartement, ce n’est pas tant vous envoyer un expert qui sait capturer, il va y passer le temps qu’il faut, il ne va pas oublier. On arrivera toujours à avoir un résultat qui tient. Former quelqu’un à faire une bonne capture, ça prend quand même du temps. Et une fois que le temps de calcul… En fait, entre le temps de capture et la restitution, ça peut s’écouler une heure ou deux. On n’est plus sur place. Le but d’une capture à l’instant T, c’est de le faire sur place. Alors, une voiture, c’est un objet, on se le représente bien, on va mettre le téléphone, on va tourner autour. le processus de capture pour n’importe qui est assez simple en fait et se rapproche de ce qu’on souhaite faire. et l’opportunité de la voiture. c’était aussi une opportunité pour nous parce qu’on avait déjà des contacts avec des sociétés d’assurance et en fait sur les secteurs de l’assurance. bien sûr l’immobilier est un réel marché, mais en fait le secteur automobile est énorme. Donc en fait, on s’est retrouvé à avoir une techno qui était prête et plus mature pour la voiture que pour l’immobilier. Bon, ça arrive, on ne peut pas en profiter.
Marc00:10:45 – 00:10:55 : Oui, c’est ça. Et donc du coup, la clientèle change. Vous allez plutôt voir des assureurs, ce genre de clientèle pour le constater des dégâts.
Sylvain 00:10:55 – 00:11:25 : Tout à fait, oui. Alors ça peut être constater des dégâts, de la fraude aussi, l’expertise de fraude. On peut demander aussi de placer un expert qui va scanner la voiture, qui va du coup constater que ce n’est peut-être pas réellement ce qui s’est passé par rapport à ce qui est décrit. Et donc d’avoir une trace aussi dans le temps, c’est important parce que ça ne coûte pas très cher de scanner une voiture en temps de calcul. C’est moins d’une heure sur des cartes graphiques de taille raisonnable, donc c’est rien du tout. Et pour autant, les enjeux financiers, une fraude à l’assurance, c’est quand même quelque chose qui peut coûter très cher.
Marc00:11:28 – 00:11:35 : Technologiquement, aujourd’hui, avec l’état de l’art, si on fait le tour d’une voiture avec un téléphone comme ça…
Sylvain 00:11:35 – 00:11:47 : C’est mort. Avec l’état de l’art, c’est-à-dire si on prend juste un téléphone avec un kit de réalité augmentée de base, ça ne va pas très bien se passer. En termes de reconstruction en 3D…
Marc00:11:47 – 00:12:00 : Mon use case, c’était le fait de prêter la voiture à quelqu’un, plutôt la louer, et s’assurer qu’elle revienne dans le même état. Est-ce qu’aujourd’hui, si on fait le tour avant-après, quel est le niveau de dégâts qu’on peut s’assurer de voir ?
Sylvain 00:12:00 – 00:13:15 : Dans ce format-là, on ne le fait pas encore, tout simplement. Mais comme on est capable d’avoir une image HD de haute résolution, un scratch sur une voiture ou autre, on l’apercevrait très facilement parce qu’on est capable de superposer les modèles. Donc, ça se voit quand même assez bien. Et puis, si on prend des acteurs de la location de voitures, on a Turo qui est arrivé en France il n’y a pas très longtemps. Il était surtout basé aux Etats-Unis. Il y a quand même tout un parcours voiture. Ils savent exactement, précisément dans quel état est la voiture. Et si on va sur les loueurs de voitures Hertz et professionnels, etc. C’est la même chose en fait. Un véhicule, une fois qu’il a un problème, c’est noté. Et là où c’est très intéressant, C’est qu’en France, on a un formulaire qui s’appelle Istovec, qui est géré par l’État, qui permet de retrouver l’historique de tous les accidents qu’il y a pu y avoir sur une voiture, qui permet de vérifier aussi ce qui s’est passé. Donc après, la précision sur ce genre de dégâts, il faut la mettre en perspective avec les montants qu’on cherche à évaluer. Bien sûr, un scratch sur une location… Ça fait mal au cœur, mais on va compter l’aile à réparer en peinture, etc. Donc, on va venir mesurer et on va le détecter assez simplement. Mais des fois, il y a des choses bien plus importantes en termes de dégâts.
Marc00:13:15 – 00:13:22 : Oui, bien sûr. Ok, super. Alors, comment ça a démarré tout ça ? Quel a été le début de l’aventure entrepreneuriale ?
Sylvain 00:13:22 – 00:15:08 : Très drôle. Comme question, ça a démarré, moi j’étais toujours dans un labo de recherche à l’époque, dans un centre IRT qui s’appelait Bicom. Et j’ai rencontré Thibault par une application de rencontre entre entrepreneurs qui s’appelait Sharper. C’est-à-dire que lui cherchait un CTO, moi je cherchais quelqu’un plutôt business. Parce que j’avais toujours travaillé dans des centres de recherche précédemment, donc j’avais toujours eu envie de créer une boîte. Mais en fait je ne m’étais pas rendu compte que j’avais que des clones autour de moi. quasiment, on avait tous les mêmes compétences. Et finalement, pour monter l’entreprise, de s’associer avec des personnes qui ont des compétences très différentes, c’était très marqué. Donc, c’est complètement fortuit, par hasard, que ça s’est fait. On était respectivement inscrits sur l’application depuis très longtemps, mais on a mis plus d’un an, finalement, à se rencontrer. Moi, je l’utilisais très peu, lui, c’est pareil. Bon, ça s’est fait un peu comme ça. Et quand la boîte était présentée, donc Check & Eat, c’était faire de l’état des lieux, quoi. Et moi, en 2018, sur les problématiques du Computer Vision sur lesquelles je travaillais, le problème numéro un qu’on avait, c’était d’avoir de la donnée structurée d’intérieur pour la robotique, pour faire des algos un peu plus avancés. Mais on n’avait pas à la main, ni sur des bases de données publiques, ni sur toutes les données qu’on peut collecter qui ne sont pas forcément liées au processus d’inspection. Mais typiquement, quand on va se déplacer avec un téléphone dans un appartement, on connaît sa position relative dans l’appartement à tout moment. Ça permet d’automatiser beaucoup de choses par la suite, d’avoir ce genre de data. C’est pour ça que je fais le saut. Je me dis que je pourrais faire des choses qui sont complètement alignées avec ce que j’ai envie. Je vais retrouver ce qu’il me manque en termes de données pour pouvoir travailler correctement dessus. Le saut, pour ma part, se fait un peu comme ça. Naturellement, je suis arrivé au bout d’un cycle ici. Si je veux continuer, il faut que je fasse différemment.
Marc00:15:09 – 00:15:16 : En termes de données, justement, quelle a été la mise de départ ? Sur quoi est-ce que vous êtes partis ?
Sylvain 00:15:16 – 00:16:10 : On n’a rien. Quand on démarre, on n’a rien. C’est bien tout le problème, c’est qu’on n’a aucune donnée. C’est-à-dire que quand on démarre, à part les états des lieux, réaliser d’autres applications mobiles qui sont concurrentes, qu’on utilise pour réaliser les états des lieux, parce que ça reste la principale source de rémunération pour check-in visite, c’est de déplacer un intervenant, réaliser une inspection immobilière avec une application. Donc… La première étape, ça va être de construire cette application qui va permettre de collecter structurellement. Mais au départ, on a zéro. Et ensuite, par état des lieux, on va commencer à collecter à peu près, suivant les cas meublés, non meublés, mais entre 150 et 200 photos. suivant les régions de France, parce que typiquement à Paris, on a beaucoup de meublés. Donc là, un meublé, c’est 200 photos minimum qu’on va retrouver, plutôt même en moyenne. Et en province, c’est 150. Mais à Paris, sur les meublés, c’est 200. Il y a toujours un peu plus.
Marc00:16:10 – 00:16:14 : Les gens aiment un peu plus leurs meubles à Paris ?
Sylvain 00:16:14 – 00:16:47 : Non, c’est… Je ne sais pas. C’est comme ça. L’habitude aussi de prendre les photos, parce qu’on a des clients aussi qui font de la location sur un mois, deux mois. Donc, il y a plus de turnover aussi sur le nombre de locations. On ne fait pas de la location courte durée. On ne fait pas une journée. Donc, en province, on retrouve moins ce profil de roulement où les personnes ne restent que trois semaines, un mois dans un logement. Alors qu’à Paris, ça, on le voit beaucoup plus. Il y a une rotation réelle qui existe là, sur un meublé. Les personnes suivent de très près l’état du mobilier.
Marc00:16:47 – 00:16:53 : Étape 1, on fait une application pure sans IA et dans un deuxième temps, on voit ce qu’on peut faire avec ces données-là.
Sylvain 00:16:53 – 00:18:15 : Dans un deuxième temps, on découvre comment on va devoir accélérer le processus d’inspection pour que ce soit structuré, que ça puisse être de qualité aussi. pour vraiment être un référentiel de qualité de prestation et de restitution. Et cette application, effectivement, va nous permettre de structurer, de labelliser correctement chaque photo qui est prise. Nous, elle est taguée avec tous les tags dont on a besoin pour l’identifier, quel type de dégradation ça peut être, et dans quelle pièce elle a été prise, sur quel revêtement, etc. Donc on commence à se structurer assez vite sur ce sujet-là. ce qui nous permet derrière effectivement de démarrer l’amorçage d’un premier projet de dégradation. Donc là, la petite anecdote, c’est qu’on a un corpus de choix de labels qui est ample, il est trop gros, il est trop vaste. Et du coup, en fonction des intervenants, certains vont annoter avec là c’est une marque, là c’est un impact. Donc fondamentalement, ça peut ne pas être très nuancé, mais en termes d’annotation, ce n’est pas très propre. Donc on va commencer à créer des clusters tout simplement pour restructurer les données, pour pouvoir les les classifier, parce qu’on a l’ambition que ça tourne sur un téléphone mobile. Pour tous ceux qui ont un peu d’expérience sur les algos de classification et de reconnaissance, ça marche très bien quand on a beaucoup de RAM avec des réseaux de convolution. Quand on est en embarqué, il va falloir que tu aies une partie des étages.
Marc00:18:15 – 00:18:18 : Parce que vous n’utilisez pas de serveur de calcul ?
Sylvain 00:18:18 – 00:20:30 : Oui, ça c’est une volonté depuis le départ d’avoir un mode déconnecté permanent. Tout simplement, même de ne pas être en progressive web app, de ne faire que du natif. C’est une volonté très forte parce qu’il ne faut avoir aucun problème sur place. L’application, les sous-intégrations continues, ça c’est quelque chose d’important. Depuis le départ, on a mis tous les efforts nécessaires pour que ça tourne. en permanence pour qu’un intervenant puisse faire ses inspections sur le terrain sans jamais être embêté. Donc oui, pas de serveur distant. Donc ça veut dire que pour faire de la reconnaissance embarquée, il va falloir faire des concessions. Sur le nombre de catégories de data qu’on souhaite reconnaître, Et de réseaux spécialisés, parce qu’on ne peut pas avoir un seul réseau pour tout faire. Il faut des réseaux spécialisés par étapes. Celui qui a le plus d’importance pour nous, c’est tout ce qui se passe sur les murs. En fait, c’est là où il y a le plus d’enjeux. Il y a toujours des problèmes d’annotation sur les murs. Et c’est là où, en termes de chiffrage, derrière une remise en état, les litiges, etc. C’est toujours sur les murs où il faut être le plus vigilant. Donc ça, on l’identifie très rapidement. Et ça nous permet, nous aussi, d’améliorer notre application d’un point de vue opérationnel. Elle évolue aussi en termes de parcours utilisateur pour simplifier et limiter les erreurs. Donc, au fur et à mesure, la donnée qu’on collecte, c’est là que c’est intéressant. En fait, au départ, on ne fait pas forcément beaucoup d’IA. On se rend compte juste qu’il y a des choses à réaligner et on change le produit en se disant, là, ça ne va pas. Et en fait, en changeant le produit, derrière, c’est bon, ça, ça n’apparaît plus. Et en fait, on réduit aussi les tiches liantes. On travaille beaucoup avec les équipes opérations et… Et c’est sur le sujet pour minimiser les erreurs d’amélioration de l’application. Et c’est là qu’on commence à se construire un corpus de collecte de données qui est intéressant, puisque nos photos sont annotées toujours avec un standard de qualité qui nous est propre. Et c’est ça qui est important. Un intervenant qui a fait l’inspection d’entrée, quand il va revenir dans un logement, ce n’est pas forcément le même intervenant qui va venir faire l’inspection de sortie pour un état des lieux. Donc, il ne faut pas qu’il soit perdu dans ni les termes, ni la manière dont c’est structuré, commenté. Donc, même les phrases sont structurées suivant une manière de faire qu’on a.
Marc00:20:30 – 00:20:33 : Oui, il y a un énorme enjeu d’expérience utilisateur.
Sylvain 00:20:33 – 00:21:23 : Ah oui, non, mais clairement, parce que c’est très précis. Les enjeux financiers sont derrière son… important. et il ne faut pas hésiter à revenir en arrière puisque une fois que l’intervenant est sur place, s’il y a quelque chose qui ne fonctionne pas ou qui ne va pas, il est en vase clos. Il ne peut pas récupérer le truc par un truc web ou une assistance ou autre. Il est parti pour 2-3 heures dans un vase fermé. Donc les expériences UX, il faut qu’elles soient effectivement très adaptées. Puis elle reste répétitive, donc ils prennent aussi des automatismes au fur et à mesure. Donc on doit aussi améliorer notre manière d’annoter au fur et à mesure pour faire gagner du temps et que la donnée soit structurée. Et une fois qu’on a réussi à passer ces étapes-là, on a pu commencer à entraîner des réseaux de neurones avec des scores de qualité qui commençaient vraiment à monter.
Marc00:21:24 – 00:21:39 : Alors justement sur cette partie-là, il y a plein de questions qui me viennent. La première, tu parlais de natif, c’est pour ça que ça m’a fait penser. Est-ce que le type de téléphone et donc d’appareil photo qui est lié au téléphone, est-ce que ce genre de choses, c’est important ?
Sylvain 00:21:39 – 00:22:54 : Sur tout ce qui est algo de reconnaissance, non. Pour tout ce qu’on fait en 3D, là on est plus exigeant. Mais pour tout ce qui est reconnaissance, dès le départ, il fallait que ça tourne sur le téléphone qui a 5 ans en arrière, qui est pourri et qui va avoir du mal. Et qui n’aura pas forcément sur Android, c’est Google Service à jour, parce que notre première application mobile est sur Android. Donc il n’y a pas toutes les dernières versions de TensorFlow Lite, etc. Toutes les procédures de mise à jour utilisateur sont à faire, etc. mais non c’est un choix dès le départ de supporter des téléphones pas qualités en termes de capture photo c’est pas forcément gênant c’est juste que ça donne de la variété nous pour nos algos d’apprentissage mais les images ne sont pas jolies pour le client. en fait c’est ça qui est embêtant. et en termes de puissance de calcul non dès le départ on se dit il faut que ça tourne sur un téléphone du mot mais pourri parce que c’est. On a aussi un autre enjeu, c’est la batterie. On ne peut pas laisser le truc tourner tout le temps parce que ça va drainer la batterie à une vitesse importante. Donc l’expérience, elle est construite aussi d’activer le bon réseau de neurones au moment où on prend la photo. On sait déjà dans quel contexte on veut répondre et on ne le laisse pas explorer.
Marc00:22:55 – 00:23:03 : Et du côté des conditions de la prise de photo, l’éclairage, ce genre de choses, est-ce que ça vous a donné du fil à retordre en termes de collecte ?
Sylvain 00:23:03 – 00:24:19 : Oui, bien sûr, parce que typiquement, un téléphone pas qualitatif, il va avoir des problèmes de balance de blancs. Donc, on prend une photo, des fois, ça va être tout jaune, des fois, ça va être tout bleu. Mais ça, on l’a pris en compte, nous, dans la variété de l’apprentissage. Une dégradation, c’est… Sauf les tâches d’huile, mais elles ont quand même de la… Elles amènent un gradient dans l’image. C’est différent, mais il y a un gradient. Nous, dans nos algos d’apprentissage, on fait de l’augmentation de données par une variation balance des blancs qui nous permet de compenser ça. Donc, en fait… Ça n’a pas été gênant pour la collecte, mais en comparaison, des fois, on prend des photos, typiquement les toilettes, l’ampoule au plafond, il y a un téléphone, la balance des blancs va tendre vers le jaune, donc on a l’impression que les murs sont jaunes. Et d’un autre côté, ça va être bleu. Alors qu’en fait, dans les descriptifs, c’est écrit que c’est blanc. Ça, c’est une réalité, ça arrive. Bon, ça, nous, on peut… Ce n’est pas notre combat. C’est compliqué. Ce n’est pas évident du tout à résoudre. En fait, qu’est-ce que ça va apporter derrière d’avoir la bonne couleur pour comparer deux photos où on va regarder surtout les dégâts ? Alors, effectivement, si quelqu’un décide de tout peindre en rose dans un appartement, ça pose question. Mais c’est pour ça que le texte émentique est important.
Marc00:24:19 – 00:24:20 : jaunir les murs.
Sylvain 00:24:20 – 00:24:31 : Ça, c’est beaucoup plus litigieux. Mais c’est pareil, quand les murs jaunissent, c’est toujours dans une zone. C’est jamais jauni complètement. C’est pas uniforme. La cigarette. Intéressant.
Marc00:24:34 – 00:24:55 : Et là, on parle de fine-tuner des modèles de computer vision pour de leur connaissance, ce genre de choses, c’est ça ? Est-ce que sur les évolutions très récentes, que ce soit du côté du texte avec les large language model ou du côté de l’image avec la génération d’images, est-ce que la generative AI change quelque chose ou pourrait changer quelque chose ?
Sylvain 00:24:55 – 00:24:57 : Clairement, nous, ça pourrait gagner énormément de temps.
Marc00:24:57 – 00:24:58 : Ok.
Sylvain 00:24:58 – 00:26:03 : On a fait énormément de tests avec HGPT sur le sujet, mais très vite, on s’est rendu compte aussi des limites. C’est-à-dire que maintenant, le mot est un peu rentré dans les têtes de tout le monde sur les hallucinations qu’ils peuvent générer. Et le fait que ça a du mal à rester dans un contexte qu’on lui définit. Donc, pour forcer un LLM à rester dans un contexte, De texte, déjà, ce n’est pas évident. Quand on commence à tokeniser les images pour les donner, les nourrir en pièces jointes d’une requête textuelle d’un prompt, là, on commence à atteindre un des coûts qui sont importants. Deux, le contexte est encore moins suivi. Alors, il y a des fois, ça se comporte de manière… très correct, c’est tangible. Par contre, l’information qui ressort dès qu’on veut la structurer pour la récupérer, il faut la retravailler. Dans une certaine mesure, ça se fait. Typiquement, vous mettez une photo de dégâts des eaux dans un logement où il y a de l’eau sur plusieurs centimètres, pas de problème, ça marche. Une flaque, ça marche aussi. Et puis, à un moment, on ne sait pas pourquoi, ils nous parlent d’autre chose. Et là, on fait, ah, qu’est-ce qui se passe ? On a beau rejouer plusieurs fois, non, mais là, il y a un dégât à regarder. Et en fait, non, il.
Marc00:26:04 – 00:26:06 : Là, on parle de l’algorithme de description de l’image.
Sylvain 00:26:06 – 00:27:24 : Oui, tout à fait. Là, sur la description, on sent les limites. Et pour nous, c’est ça qui a de l’importance. On prend énormément de photos dans notre quotidien. C’est même le moteur principal de contextualisation de l’information. Mais on se rend compte aussi que les algos qui sont sortis autour des LLM et l’analyse d’images associées pour faire du multimodal, vraiment texte et images, ça part dans des délires… Des fois, ça tient. Mais quand ça ne marche pas, c’est incontrôlable. Et quand ça n’est pas contrôlable et qu’on ne peut pas en tirer, quand derrière, on le voit dans la santé, des choses comme ça, tout le monde a commencé déjà à arrêter tout ce qui était chat GPT, etc. sur le sujet. Parce que justement, ils n’arrivent pas à le laisser dans le contexte forcé. Et c’est là où il faut redévelopper un algo maison avec une base qui va permettre de structurer un tel LM. Donc là, il y a des avancées très très récente qui montre que c’est un peu mieux chez Mistral, etc. Mais attention, on ne s’est pas encore capable de raisonnement. Il manque beaucoup de choses encore. Par contre, c’est une opportunité effectivement énorme pour nous puisqu’on a une base de données de plus de 20 millions d’images maintenant. Donc effectivement, le jour où…
Marc00:27:24 – 00:27:27 : Côté de PureText, il y a un intérêt pour vous ?
Sylvain 00:27:27 – 00:27:36 : Bien sûr, puisqu’on a la base de données de photos et de textes, s’il peut produire le texte dans le standard par rapport à une photo.
Marc00:27:36 – 00:27:38 : Non, je veux dire input texte, output texte.
Sylvain 00:27:39 – 00:28:18 : Oui, il y en a un. Toutes les inspections qui ont été faites par le passé sur du papier qui traîne, mais pas forcément en état des lieux. Rapport d’huissier, rapport d’inspection pour des conduites de gaz, pour beaucoup de cas. On a beaucoup de papiers encore dans nos procédures. Pareil, l’immobilier, c’est des papiers sans parler de nos métiers d’inspection. De pouvoir aller récupérer de l’information qui existe sous forme papier, qui n’existe pas de façon digitale, ça existe encore. Donc ça, pour nous, c’est un intérêt. Maintenant, tout ce qui est DPE, etc., il y a des obligations d’avoir des fichiers structurés en XML pour structurer l’information. Mais bon, ce n’était pas le cas avant.
Marc00:28:19 – 00:28:22 : Il y a pas mal de données à structurer potentielles.
Sylvain 00:28:22 – 00:28:33 : Mais ça, par contre, dans l’analyse de documents, là, il y a un intérêt fort. Maintenant, sur nos secteurs sur lesquels on travaille, un peu moins. Mais autour, à gravité, oui, il y en a.
Marc00:28:33 – 00:28:38 : Est-ce que tu pourrais nous partager une décision business que vous avez prise en regardant votre data ?
Sylvain 00:28:38 – 00:29:38 : Changer le produit, c’est arrivé. On a killé des segments de marché aussi. Oui. Par exemple ? Le marché B2C, tout simplement. On s’est rendu compte que c’était plus compliqué dans l’esprit d’un particulier d’accepter qu’un tiers vienne faire l’état des lieux à sa place, une inspection à sa place. Il trouvait toujours quelque chose à redire sur des détails qui n’en étaient pas. Il voyait toujours son bien plus beau qu’il ne l’était. Donc là, c’est difficile de faire accepter quelqu’un qui est persuadé qu’il a raison alors qu’il a tort, puisque c’est des intervenants qui sont formés pour toujours faire la même chose. Notre standard de qualité, nous, c’est chaque intervenant fait la même chose, peu importe avec nos outils. Et donc là, il y avait plus de support client, plus d’échanges, etc. Donc ça, on a dit non, en fait. Donc, on a mis du temps. On y reviendra peut-être, même sûrement. Mais tant que c’est de frontières, d’accepter que non, en fait, ça, c’est dans cet état-là, c’est vrai.
Marc00:29:39 – 00:29:42 : Oui, c’est plus dur à gérer et probablement des gens qui sont moins…
Sylvain 00:29:42 – 00:29:50 : Sachant que tu l’as payé pour déplacer quelqu’un, il a fait appel à nous pour ne pas le faire lui-même. Et du coup, il a l’impression que non, c’est pas bien fait. Alors que…
Marc00:29:51 – 00:29:54 : Et puis ça lui fait plus mal qu’à l’entreprise d’avoir payé aussi.
Sylvain 00:29:54 – 00:30:05 : Exactement. Donc voilà, il voit moins le bénéfice alors que typiquement une agence immobilière ou autre va pouvoir concentrer ses équipes sur d’autres tâches. La sous-traitance. La sous-traitance, voilà.
Marc00:30:05 – 00:30:12 : Est-ce que vous faites du machine learning, autre que de la computer vision, bien sûr ? Est-ce que tu aurais un exemple ?
Sylvain 00:30:12 – 00:31:31 : Typiquement, tout ce qui est génération de contenu d’images photoréalistes, c’est basé sur l’IA générative type Nerf et Gaussian Splatting. Donc là, c’est vraiment de la collecte d’images à partir du téléphone qu’on va structurer. Donc c’est là où… Se promener juste avec un téléphone, avec son module de réalité augmentée, ne suffit pas à bien stabiliser la trajectoire de la caméra pour ensuite apprendre avec les images. Vraiment, on entraîne un réseau de neurones pour stocker l’information de la scène. Ça, ça marche vraiment super bien, mais c’est un apprentissage supervisé, acquisition par acquisition. On ne généralise pas. À dire, j’apprends à générer des appartements. Au bout de 50 heures d’apprentissage, je demande, génère-moi un appartement. On est vraiment dans, génère-moi un point de vue à partir des images que je t’ai données en entrée. Donc on apprend en réseau de neurones à structurer l’information de cette manière-là. Donc, c’est une forme de machine learning, mais qui n’est pas générative dans le sens où on ne va pas s’amuser à régénérer de nouveaux appartements. On s’amuse à régénérer de nouveaux points de vue. Quand je dis amuser, ce n’est pas le bon terme, mais de capter un élément sur plusieurs angles de vue, de pouvoir le régénérer sous un autre pour localiser une annotation, etc. Ça a aussi de l’intérêt derrière.
Marc00:31:32 – 00:31:41 : Est-ce que tu as des exemples de grands verrous, grands obstacles techniques que vous avez dû surmonter pour résoudre vos problèmes, pour faire ce que vous avez fait ?
Sylvain 00:31:41 – 00:32:40 : Un des plus gros obstacles techniques, il y en a plusieurs. Le premier qui me vient en tête, c’est qu’on a plafonné à 70% de performance sur nos réseaux de neurones d’apprentissage de dégradation. pendant un long moment, avant d’essayer des nouvelles techniques d’augmentation de données, On allait couper des miniatures dans les images. Donc, en fait, on préentraînait notre réseau. On segmentait les zones qui activaient, excitaient les réseaux de neurones. On venait les découper pour enrichir notre réseau de neurones. Donc, on a fait vraiment du surapprentissage là-dessus. Et là, on a essayé plusieurs choses avant de réussir à dépasser les 90%. Quand je dis dépasser les 90%, c’était sur un réseau de neurones qui a 8 gigas de poids. Donc, sur un téléphone mobile, il y en a moins de 40. Et en fait, c’était le premier pas qu’on voulait réussir à franchir. C’est déjà entraîner un réseau de neurones à faire plus de 95%. Donc ça, il nous a fallu 8 bons mois à essayer régulièrement.
Marc00:32:40 – 00:32:43 : Et c’est l’augmentation de données qui vous a permis de les franchir ?
Sylvain 00:32:43 – 00:33:24 : Oui, c’est la manière dont on a augmenté les données, d’aller vraiment détecter les zones, qui a permis de casser le truc au bout d’un moment, malgré la taille de nos bases de données. par les problèmes de représentation de classes les unes avec les autres. Ça nous a permis de mieux balancer le jeu de données, mais surtout de mieux centrer l’information. Là où ça a été intéressant, c’est que ça s’est très bien généralisé et que quand on a réduit les poids du réseau, on est resté au-delà des 80%. Alors qu’on aurait pu très bien tomber à 50%, à 45%, mais bon, là, le truc ne sert à rien. Mais ça, c’était l’indicateur d’accuracy. Il fallait absolument qu’il soit très haut dès le départ et ça, c’était assez long.
Marc00:33:24 – 00:33:32 : Comment on passe d’un modèle qui a 8 gigas à un modèle qui fait 40 mégas ?
Sylvain 00:33:32 – 00:34:29 : On a taillé dans les poids. On a aussi bénéficié de la communauté PyTorch. On utilise PyTorch depuis le départ. Il a fait le train de convertir vers TensorFlow. Là, quand même, on avait de l’expérience sur le choix du réseau, ResNet, etc. pour pouvoir compacter l’information. Et on a réduit le nombre de classes. En fait, un gros poids de réseau, ça nous a permis d’explorer comment on prenait les différents étages. Typiquement, on a utilisé des réseaux comme VGG qui sont des dinosaures du machine learning maintenant. Mais on peut vérifier que les poids du réseau ont convergé parce qu’on revoit apparaître les gradients des primitives, mathématiques, ils apparaissent dans les premiers étages. Donc on sait déjà quand on a entraîné que l’entraînement n’a pas fermé. Et inversement, quand on sous-dimensionne le réseau et qu’on le prune, qu’on arrive sur quelque chose de beaucoup plus petit, ces étages, ils réapparaissent un petit peu au départ et puis après, ça compacte l’information de manière différente.
Marc00:34:30 – 00:34:32 : Donc tu prunes le réseau, c’est-à-dire que tu coupes des branches ?
Sylvain 00:34:32 – 00:34:40 : Ah oui, il n’y a pas de choix. Il faut bien les couper et il y a quand même pas mal de choses maintenant disponibles pour le faire.
Marc00:34:40 – 00:34:41 : D’accord.
Sylvain 00:34:41 – 00:35:26 : Sauf que pas de bol, au premier découpage, on était 2 mégas au-dessus de la limite acceptable pour pouvoir le stocker dans Firebase. Donc ça, c’est un truc tout con. Mais qui peut être très pénible, c’est que votre poids de réseau, si vous voulez pouvoir le stocker, qu’il soit à disposition de votre application mobile, qui se mette à jour tout seul, sans vous amuser à le charger, décharger parce qu’il est trop gros. Vous pouvez utiliser Firebase pour les imports et exports de poids de réseau de neurones. Il faut faire moins de 40 mégas. Donc là, il a fallu retravailler un petit peu et sacrifier un petit peu. Mais en fait, bon… Derrière, en termes de maintenance, il n’y a pas trop le choix de passer par là. Sinon, on peut avoir une application avec un APK qui fait 400 mégas, mais ça n’a pas d’intérêt de télécharger une appli aussi grosse pour ça.
Marc00:35:27 – 00:35:33 : Ok, donc c’est un outil qui vous a permis de partir du réseau initial et de déterminer quelle branche est la moins utile, en gros, c’est ça ?
Sylvain 00:35:33 – 00:35:34 : Oui, tout à fait.
Marc00:35:35 – 00:35:37 : Et de proche en proche, on coupe et…
Sylvain 00:35:37 – 00:35:43 : Puis après, tu vois le score sur des classes de test qui tournent et tu vois que ça tourne.
Marc00:35:43 – 00:35:48 : Ok. C’est intégré à PyTorch ?
Sylvain 00:35:48 – 00:35:58 : Non, ce n’est pas intégré à PyTorch. Il a fallu mettre les mains vraiment dans le fichier des poids de réseau et couper dedans.
Marc00:35:58 – 00:36:10 : Ok, c’est intéressant. Est-ce qu’il y a des erreurs techniques que vous avez faites sur le chemin et que tu pourrais nous partager pour qu’on gagne du temps si jamais on a des problèmes similaires ?
Sylvain 00:36:10 – 00:38:05 : De bien comprendre les labels, en fait. Nous, on a eu ce problème de travail sur le corpus. Ça peut paraître basique, mais un bon exemple, c’est le pain au chocolat, la chocolatine. En France, deux personnes peuvent penser dire la même chose avec deux mots différents. Et en fait, pour certains, c’est deux mots différents et pour d’autres, c’est les mêmes mots. Et je reviens sur Impact et Marc dont je parlais tout à l’heure. En fait, il ne faut absolument aucune ambiguïté entre les termes. Et je pense que ce travail qu’on a déjà fait il y a plus de deux ans va nous servir encore plus sur toutes les fin-tuning de LLM et de fouilles dans les documents. Parce que le premier travail qu’on doit faire, c’est construire cette vector database qui va construire la fonction de distance entre les chaînes de caractères. Et je n’ai même pas envie d’essayer, mais je pense que Impact et Mark typiquement sont très proches en français, alors qu’en anglais, ils ne vont pas forcément l’être. Pour autant, ce genre d’ambiguïté sur un terme dans la notation peut pourrir complètement l’apprentissage. C’est sur le terrain, sur le produit qu’on le voit, mais ça peut paraître basique, mais ça fait toute la différence assez vite ce côté-là. Le deuxième point, c’est la variété des données dans la base d’apprentissage. Nous, sur les inspections immobilières d’importement, ce n’est pas retrouvé qu’une variété de dégradation énorme sur l’ensemble de ce qu’on voulait reconnaître. Et donc là, on s’est retrouvé avec un peu un manque de données aussi à un moment. Il fallait attendre qu’on fasse des inspections puisqu’elles arrivaient. Mais ça, c’était un côté un peu frustrant parce qu’on avait assez d’exemples de données sur une partie. Et puis sur d’autres labels, on était un peu moins aguerris, juste parce qu’on n’avait pas de captation. Après, ça, c’est propre, je pense, au fait que c’est nous qui faisons nos outils de collecte et d’analyse. Mais bon, c’est une réalité qu’on a rencontrée sur le terrain au fur et à mesure. On ne pensait pas que ça serait aussi long d’avoir ça.
Marc00:38:06 – 00:38:09 : Alors, c’est quoi les prochaines étapes pour Check & Visit ?
Sylvain 00:38:09 – 00:38:57 : Les prochaines étapes, ça va justement de mettre les mains dans tout ce qui est apprentissage de l’élème multimodal. En fait, on a les bases de données, on a le corpus de texte. Aujourd’hui, il faut réussir. On va laisser les autres se casser les doigts avant dessus. Mais la multimodalité dans l’apprentissage, le principal souci, c’est le manque de contexte. Dès que le contexte va être géré et que ça va rester, on va être capable de fine-tuner. Il y aura des choses sur étagère pour le faire. Aujourd’hui, notre prochaine étape, c’est de ne surtout pas se précipiter là-dedans trop vite. Parce que quand on voit les acteurs qui travaillent sur le sujet, c’est simple, ils ont des dizaines de milliers de cartes graphiques. Et le coût rien que de recherche pour essayer d’améliorer l’existant sont énormes. Ils savent qu’ils sont bloqués. Et qu’il faut repenser.
Marc00:38:58 – 00:39:05 : Le multimodal est vraiment très très loin des performances, de ce qu’ils font en image ou de ce qu’ils font en texte.
Sylvain 00:39:05 – 00:40:10 : Donc en fait, là, il y a un moment où il faut être un peu plus patient sur ce côté analyse d’image. et de texte pur. Et à côté, on a quand même tous nos outils d’IA basés images, mais générations d’images qui sont plus matures. Là, par contre, on a plus de choses à faire parce qu’on a des bons résultats sur les voitures, sur l’immobilier, ça commence à être vraiment bien et ça va monter en qualité au fur et à mesure, tout de la même manière en maîtrisant les coûts. Donc l’enjeu sur tout ce qui est reconnaissance et classification, ce n’est pas de se précipiter. parce qu’il y a déjà beaucoup d’acteurs qui se cassent les dents dessus. alors bien sûr ça peut être un avantage technologique mais la réalité c’est que pour en développer un il y a une mise de départ qui est de millions d’euros. donc en fait c’est pas le business de check and visit de développer ça. donc il faut accepter de dire bon bah on va attendre par contre quand les services vont sortir clés en main. pour fincuner un peu ça je pense qu’on a des cas d’études avec des contextes bien ciblés qui permettent de vérifier déjà si, dans le cadre d’une inspection, Dial est capable de rester dans le cadre qu’on lui impose, ce qui n’est pas le cas aujourd’hui.
Marc00:40:12 – 00:40:15 : Alors quel invité est-ce que tu aimerais entendre dans un prochain épisode de Data Driven 101 ?
Sylvain 00:40:15 – 00:41:01 : Alors moi, je me posais la question parce que je voyais beaucoup de cofondants, de développeurs, etc. Je n’ai pas vu beaucoup d’étudiants. J’ai vu quand même des doctorants, ça c’est top. Et je me suis posé la question, est-ce qu’en fait là, on arrive mi-mai 2024 bientôt, des étudiants d’école qui ont des cours ? Mais en fait, je me pose la question, comment eux, ils le vivent en ce moment et comment ils se projettent sur le sujet ? Parce qu’en fait, ça évolue très, très vite et ils ont tous des enseignements de qualité, mais ça pose beaucoup de questions sur son profil, sur les études qu’ils ont parcourues, qu’est-ce qu’ils vont pouvoir faire ? Et là, je pense qu’autant des écoles très produites que très dev ou très mathématiques, ça peut être intéressant de confronter un peu leurs points de vue.
Marc00:41:02 – 00:41:09 : Super, ça marche. Merci Sylvain. Merci. Vous venez d’entendre Sylvain Duchesne, CTO de Check & Visit sur Data Driven 101.