Blog - Comment la vision par ordinateur peut-elle détecter des piscines?

Dit artikel, met een spreektijd van 5 minuten, is geschreven door 2 studenten van de troisième cycle en intelligence artificielle appliquée aan de Université Érasme des Sciences Appliquées et des Arts de Bruxelles. Ensemble, nous avons commencé notre stage de quatre semaines, le 14 mars, chez Micropole Belux.

CV

In deze fase hebben we een model gemaakt voor de detectie van vijvers. We hebben dit model gebouwd op basis van satellietbeelden die we op internet hebben gevonden. Omdat we werken voor het Microsoft Azure team van Micropole, hebben we het Microsoft Azure Cloud platform gebruikt voor al onze taken.

Presentatie van de ontwikkeling van een model voor de bescherming van zwembaden

Waar en hoe hebt u deze gegevens verkregen?

De eerste stap in het proces bestond uit het verzamelen van gegevens of het extraheren van beelden van de site zoom.earth. En utilisant un jeu de données préexistant reprenant toutes les adresses en Belgique, nous avons déjà pu commencer à extraire des données, car elles contenaient non seulement l'adresse, mais aussi la longitude et la latitude de l'endroit. L'adresse URL zoom.earth qui se trouvait dans la barre de recherche de votre navigateur comportait ces fonctions (longitude = rectangle noir et latitude = rectangle jaune), nous avons donc donc pu les utiliser pour nous diriger vers l'adresse URL correct.

AI-pooldetectie 1

We hebben besloten om het platform Azure Cloud te verkennen en zijn begonnen met het gebruik van de composante Azure Functions. Après avoir fait des fouilles dans JavaScript, nous avons écrit un code local qui était capable de naviguer vers l'adresse URL de l'emplacement spécifié puis de faire une capture d'écran de cette page web. L'étape suivante consistait à enleverles éléments inutiles qui étaient visibles dans la capture d'écran et redimensionner la page web avant de prendre la capture d'écran telle qu'elle est vue sur l'image satellite ci-dessous.

satellietbeeld

Après avoir exécuté notre code JavaScript local, nous avons obtenu le résultat suivant:

beeldopname

C'est là que nous avons commencé à rencontrer des difficultés, car nous voulions enregistrer la capture d'écran de la page web dans un compte de stockage Azure (le système de fichiers utilisé dans Azure) tout en l'exécutant localement. We zijn er nog niet achter hoe we onze doelen kunnen bereiken met deze aanpak, en aangezien we niet meer dan 4 maanden hebben voor deze missie, zijn we begonnen met het verkennen van andere opties.

Onze tweede optie was Selenium, een testprogramma voor het web. Als we deze bibliothèque in Python gebruiken, kunnen we precies dezelfde dingen doen als in JavaScript. Het grootste verschil zit echter op het niveau van het opslaan van afbeeldingen. Omdat we Azure Function niet meer gebruiken, maar zijn overgestapt op Azure Databricks, hebben we onze opslaglijst kunnen creëren in de bloc-notes en onze afbeeldingen kunnen opslaan in dit archief. Après avoir adapté notre code JavaScript, nous avons obtenu le même résultat que l'image ci-dessus.

Hoe maak je de gegevens geschikt om je model te maken en te testen?

Après avoir collecté toutes les données, nous avons dû affecter des informations pertinentes à ces données brutes (dans ce cas, les images) et les étiquetant.

Tijdens het etiquetteproces moeten we 2 kenmerken definiëren:

  • zwembad (1) ou
  • pas de piscine (0).

Als er een zwemvijver was, kenden we die toe aan étiquette 1, en als die er niet was, aan étiquette 0. We hebben er zeker van kunnen zijn dat alle afbeeldingen met dezelfde code gegroepeerd zijn in hetzelfde interne repertoire, zodat we ze sneller kunnen gebruiken voor de analyse van de gegevens in de volgende stap.

Hoe leer je op een ordinateur wat een zwembad is?

Voor de analyse van gegevens hebben we gebruik gemaakt van een neuronaal netwerk, en meer in het bijzonder van l'apprentissage par transfert (transfer learning). Dit type réseau de neurones gaat uit van een pré-entraîné model dat relevant kan zijn in verschillende situaties, in ons geval de beelddetectie, en het wordt toegepast op deze nieuwe situatie (beelddetectie). We hebben gebruik gemaakt van het netwerk Residual Network, of ResNet, als pré-entraîné model voor de detectie van vissen. Deze netwerken hebben een profiel van 18 tot 152 plaatsen. Als er meer stations zijn, is het model complexer.

Après avoir formé le réseau neuronal sur notre jeu de données, nous avons remarqué que les résultats n'étaient pas aussi bons que nous l'espérions. Vanwege deze teleurstellende resultaten hebben we besloten een andere aanpak te kiezen.

Deze keer hebben we geen algoritmes voor automatische leerprocessen gebruikt, maar hebben we de blauwe kleur van elke afbeelding gefilterd, zoals te zien is in de illustratie hieronder. Als er te veel blauw in een afbeelding zit, geven we de kleur 1 (piscine). Dit model heeft een nauwkeurigheid van 85 % en kan de aanwezigheid van een zwembad in 80 % van de gevallen en de afwezigheid van een zwembad in 90 % van de gevallen correct weergeven . Het probleem is dat het niet mogelijk is de aanwezigheid van een overdekt zwembad te bepalen.

Conclusie

Les images satellites peuvent être collectées dans un environnement de cloud Azure par Selenium via Databricks. Azure ML kan worden gebruikt om onze jeu de données vorm te geven en eventueel een model op te stellen om voorspellingen te doen.

Het uitproberen van de verschillende benaderingen was een zeer leerzame ervaring. We hebben veel plezier beleefd aan het realiseren van dit project en we hebben de discussies met onze collega's zeer gewaardeerd. We bedanken Egon, Kenny, Esa en Antoine in het bijzonder voor hun hulp bij het realiseren van dit project en hun vriendelijke antwoorden op onze vragen.

Meer weten?

Neem contact met ons op!

AWS Public Sector Summit 2024: A Deep Dive into Innovation and Sustainability

AWS Public Sector Summit 2024: A Deep...

Explore the latest innovations and sustainability commitments at the AWS Public ...
AWS Publieke Sector Top 2024: Een duik in innovatie en duurzaamheid

AWS Publieke Sector Top 2024: Een plongée...

Ontdek de nieuwste innovaties en engagementen op het gebied van duurzaamheid tijdens ...
Blog - Microsoft Fabric: 5 tips en trucs om aan de slag te gaan (en avant-première publique)

Blog - Microsoft Fabric: 5 tips...

Ontdek hoe u Microsoft Fabric kunt gaan gebruiken dankzij deze...
la data vous passionne?

Neem contact op met