Dans la version 27, une nouvelle famille de fonctions apparaît, il s'agit des fonctions d'intelligence artificielle. Ces fonctions permettent l'utilisation de modèles de reconnaissance d'objets.

La reconnaissance d'objets utilise un modèle de reconnaissance. Ce modèle est une base à laquelle on a appris les diverses formes que pouvait prendre un objet, une personne, un visage, … Il existe de nombreux modèles permettant de reconnaitre des objets. Plus le nombre d'images utilisées pour créer le modèle a été important, plus la reconnaissance sera efficace. On appelle ces bases de données des dataset. On trouve des modèles gratuits, payants et certaines sociétés proposent de créer des modèles spécifiques.
Grâce à la version 27 de WINDEV, il est possible d'exploiter ces différents modèles. La famille de fonctions IA* permet donc d'exploiter ces modèles. WINDEV 27 est d'ailleurs livré avec le modèle « yolo » qui permet de débuter rapidement le développement d'application de reconnaissance d'objets.
Voici par exemple un code permettant de détecter des personnes dans une image :
tabElement est un tableau de 1 entiers tabElement[1] = iadPersonne
tabIARésultatImage est un tableau de iaRésultatImage tabIARésultatImage = IADétecte(IMG_Salle,tabElement)
tabIARésultatImage = tabIARésultatImage.Filtre(unePersonne=>unePersonne.IndiceConfiance>50)
dDébutDessin(IMG_Salle) POUR TOUT UnePersonne de tabIARésultatImage dPolygone(IMG_TEST,CoordonnéeImageVersChampImage(IMG_TEST, UnePersonne.Polygone),Transparent,iJauneClair) FIN
Info("Il y a "+tabIARésultatImage.Occurrence+" personnes identifiées dans l'image.")
On obtient donc en quelques lignes de code un détourage des personnes détectées sur l'image fournie.
Le résultat obtenu est bien sûr dépendant :
- de la qualité de l'image,
- de son éclairage, son orientation,
- du modèle utilisé (dataset),
- de la tolérance à l'erreur choisie (indice de confiance).
|