Analyse d'images et détection d'objets : Quelle solution choisir ?



Article original en anglais : Medium


Cet article vous est proposé dans le cadre de notre offre AI-Compare. Nous référençons un grand nombre de solutions d'Intelligence Artificielle et vous permettons d'en tester une partie directement via notre API. Dans cet article, nous testons plusieurs APIs de détection d'objets pré-entraînées. Nous testons ces solutions sur différents cas d'utilisation pertinents.


L'API de détection d'objets de AI-Compare est disponible sur RapidAPI :

https://rapidapi.com/AICompare/api/ai-compare-object-detection

L'API de détection d'objets de AI-Compare est aussi disponible ici :

https://ai-compare.com/vision_apis/object_detection

Ces dernières années, dans le monde de l'intelligence artificielle, l'une des applications les plus populaires est la vision par ordinateur (computer vision). Cette popularité est due à la grande diversité des applications et des besoins : imagerie médicale, industrie, transport, surveillance, etc. Aujourd'hui, tous les domaines utilisent des caméras et des images dans leurs activités. La vision par ordinateur comprend diverses fonctionnalités :

Ce tableau ne représente pas une liste exhaustive de toutes les fonctionnalités de vision par ordinateur et de reconnaissance d'images. De nombreuses solutions globales sont basées sur la combinaison de plusieurs fonctionnalités.


Il est très important de distinguer les APIs pré-entrainées et les API AutoML :

  • Les APIs pré-entraînées sont des APIs basées sur des modèles déjà formés par les fournisseurs et cela avec les bases de données des fournisseurs. Ces modèles sont généralement utilisés pour gérer des cas d'utilisation usuels de la vision : objets, personnes, animaux, contextes, véhicules, visages, etc. Il est toujours pertinent d'essayer ces APIs avant les modèles personnalisés car les fournisseurs rendent constamment leurs APIs plus compétitives et plus riches en labels.

  • Pour les cas spécifiques et le besoin d’une très haute précision, il peut être préférable d'utiliser les APIs AutoML. Ces APIs sont fournies par Google Cloud Platform, Amazon Web Services, Microsoft Azure, IBM Watson, Clarifai, et quelques autres : nous avons dédiés un article à ce sujet. Les APIs d’AutoML permettent aux utilisateurs de construire leur propre modèle personnalisé, exclusivement formé sur la base de données de l'utilisateur. Il permet de créer des modèles spécifiques réalisés uniquement pour un projet unique.


Fournisseurs :


Au cours de notre étude sur les APIs pré-entrainées pour la détection d'objets, nous avons décidé de choisir 6 fournisseurs d'API qui offrent des performances élevées selon de nombreux articles de blog et les classements de Gartner et Forrester.

Ceci est l’ensemble des fournisseurs dont nous allons tester l’API. Il est intéressant de noter qu'il existe d'autres solutions, dont des solutions open source. Vous pouvez consulter notre catalogue référençant un large nombre de solutions destinées à l'analyse d'images : https://ai-compare.com/providers/display_all/vision


Cas d’usage :


Comme indiqué précédemment, les APIs de détection d'objets sont utilisées dans des centaines de domaines, pour de nombreux cas d'utilisation différents. Dans cet article, nous allons tester différentes APIs de détection d'objets avec différents types d'images représentant des cas d'utilisation courants et variés.


Nous avons choisi 3 cas d'utilisation de différents domaines, représentés par 3 images :

  • Détection des animaux : certains chercheurs veulent savoir combien et quels animaux vivent à un endroit précis

  • Comptage de personnes : un parc veut compter les personnes à un endroit précis en analysant des photos prises à intervalles réguliers

  • Détection de téléviseur : un vendeur High Tech veut vérifier les photos envoyées par ses techniciens pour vérifier si les téléviseurs ont bien été installés

Pour chaque cas d'utilisation, nous avons testé l'API de détection d'objets des 6 fournisseurs, avec une image par cas d'utilisation. Bien entendu, pour un projet réel, vous devrez tester sur une partie représentative de votre base de données (pas seulement une image) afin d'avoir une bonne visualisation des différentes performances.


AI-Compare :


Pour GCP, AWS, Azure et Watson, nous n'avons pas besoin d'utiliser directement leur API. En fait, l'API de détection d'objets d’AI-Compare permet d'obtenir les résultats des APIs des 4 fournisseurs en une seule requête simple. Avec quelques lignes de code, nous pouvons avoir accès aux résultats des 4 fournisseurs. Clarifai et Chooch AI ne sont pas encore implémentés sur AI-Compare, nous utilisons donc directement leur API.


Fonctionnalité Genius :


Mieux que la comparaison des résultats de différentes APIs, AI-Compare offre la fonctionnalité Genius. Cette fonctionnalité permet d'obtenir une combinaison intelligente de tous les résultats. Pour nos exemples, nous allons voir le niveau de performance que nous pouvons obtenir avec ce résultat combiné.


Tests :


La réponse de l'API n'est qu'une réponse textuelle. Cette réponse (souvent au format json) sera utilisée pour développer diverses applications. Pour notre exemple, la façon de procéder est :


1- Benchmark des APIs de détection d'objets disponibles sur le marché

  • Recherche de fournisseurs

  • Tester les solutions avec quelques images en fonction du projet

  • Analyser les prix, les performances et les caractéristiques d’intégration

2- Choisissez le fournisseur d'API qui correspond le mieux à votre projet OU combinez plusieurs résultats des différents APIs


3- Intégrer l'API finale dans votre projet / logiciel

  • Regarder comment gérer les API en production

  • Ajouter le prétraitement et le post-traitement en fonction de votre projet

Enfin, en fonction du projet, les résultats visuels avec les encadrements des objets sur les images peuvent être utiles ou non. Mais pour le benchmark, c'est le meilleur moyen et le plus rapide afin de visualiser et d’analyser les performances.


Google, IBM, Clarifai, AWS, Azure et Chooch fournissent des APIs pour de multiples fonctionnalités de vision par ordinateur. Ils fournissent également une interface graphique uniquement pour tester sur quelques images.


Cas de détection des animaux :

Voici le résultat obtenu pour Clarifai :


Et le résultat obtenu pour Chooch AI :


L’API de AI-Compare retourne les réponses de GCP, AWS, Azure et Watson :


Pour Clarifai, voici l’appel de l’API et la réponse :


Requête et réponse de Chooch AI :


Avec les résultats visuels, nous pouvons voir que Google, Chooch et Microsoft sont les APIs les plus efficaces pour cette image, mais elles peuvent toutes être complémentaires. Ici, la fonctionnalité Genius donne les meilleurs résultats en combinant les différents résultats des fournisseurs !


Vous pouvez également regarder les requêtes de l'API en Python et les réponses en json. Ces données de réponse seront généralement utilisées pour intégrer les APIs au sein des projets.


Cas du comptage de personnes :

Le résultat pour Clarifai :


Et pour Chooch AI :

Pour ce cas d'utilisation, on peut noter que l'API de Google Cloud est très performante. Sur cette image, toute personne détectée par un des fournisseurs sera détectée par l’API de Google Cloud. La fonctionnalité Genius est ici intéressante dans la mesure où à la détection de personne que fait très bien Google, elle va additionner les éléments de contexte (parc, arbres, etc.) que détectent mieux les autres fournisseurs (Chooch AI, AWS et IBM notamment).


Cas de la détection de TV :


Clarifai :


Et Chooch AI :

Pour ce cas d'utilisation, toutes les APIs des fournisseurs semblent donner de bons résultats. Cette fois, la fonctionnalité Genius permettra essentiellement de valider que les fournisseurs prédisent la même chose et donc de sécuriser ces prédictions. En outre, le choix du fournisseur d'API sera basé sur :

  • la tarification

  • la rapidité d’exécution

  • la facilité et compatibilité d’intégration

  • des familiarités avec un fournisseur

Nous avons donc choisi 3 cas d'utilisation aléatoire, et pour les 3, il semble que la façon de gérer le projet sera différente. Les trois méthodes globalement utilisées pour gérer ce genre de projets sont :

  • choisir une API pré-entraînée, selon des critères de performances ou d’autres critères

  • la fonctionnalité Genius : la combinaison des résultats de plusieurs APIs pré-entraînées

  • le choix d’un modèle sur-mesure (par l’utilisation de solutions d’AutoML ou la réalisation d’une solution propriétaire basée sur des solutions d’open source).


Conclusion :


Selon le cas d'utilisation, la meilleure façon d'obtenir des performances optimales est toujours différente. Pour certains cas d'utilisation, une API du fournisseur A sera la meilleure, pour d'autres, l'API du fournisseur B est meilleure. Pour un cas d'utilisation plus complexe, un modèle personnalisé peut être préférable, ou bien développer un modèle propriétaire basé sur des solutions Open Source.


Avec AI-Compare, vous pouvez accéder rapidement à divers résultats provenant de différents fournisseurs. Vous pouvez ainsi avoir une meilleure idée de la solution qui vous convient le mieux. Vous pouvez ainsi avoir accès à plusieurs APIs de plusieurs fournisseurs à partir d’un seul compte, ainsi que leur combinaison.


Le schéma de prise de décision est le suivant :


Tout d'abord, vous entrez vos données sur AI-Compare pour les confronter aux solutions de référence disponibles sur le marché. Ensuite, vous avez 3 options :


a - Vous trouvez un résultat qui vous pousse à choisir une API qui correspond à votre attente de performance


b - Différents fournisseurs donnent de bons résultats, c'est pourquoi vous pouvez utiliser la fonctionnalité Genius pour obtenir un résultat combiné, meilleur que tout résultat individuel d'un fournisseur.


c - Les API pré-entraînées ne peuvent pas fournir de bons résultats pour votre projet :

  • vous décidez d'essayer les modèles de Custom Vision (bientôt sur AI-Compare)

  • vous décidez de développer vos propres modèles en utilisant des solutions Open Source

Ce processus vous garantit de faire le bon choix pour réussir votre projet. AI-Compare est alors un outil qui vous permet de réaliser un benchmark très facilement et rapidement. Enfin, il est possible d'utiliser l'API AI-Compare pour réaliser l'ensemble du projet en évitant les comptes et les facturations de plusieurs fournisseurs, et en gardant la possibilité de ne pas choisir qu’un seul fournisseur.


AI-Compare fournit une API connectée aux grands (AWS, GCP, etc.) et petits fournisseurs d'IA : détection d'objets, OCR, NLP, speech-to-text, vision personnalisée, etc. Notre solution permet aux utilisateurs de comparer les performances des API de ces fournisseurs en fonction de leurs données et de les utiliser directement via notre API offrant ainsi une grande flexibilité et rendant très facile le changement de fournisseur. Nous offrons en particulier de meilleures performances grâce à la fonction "Genius" qui combine intelligemment les résultats de plusieurs fournisseurs.


Notre solution s'adresse aux développeurs qui souhaitent intégrer des briques d'intelligence artificielle dans leurs programmes informatiques. Nous nous adressons ainsi à des entreprises de tailles diverses (des start-ups aux grands groupes) :


Nous proposons également des prestations de conseil et de formations en Intelligence Artificielle pour aider nos clients à choisir les meilleures solutions en fonction de leurs besoins et de leurs données : contactez-nous.


Suivez l'évolution de AI-Compare : LinkedIn | Twitter | Facebook !


A lire aussi 
Articles récents
Archives
Tags
Pas encore de mots-clés.
Nous suivre
  • Facebook Basic Square
  • Twitter Basic Square
  • LinkedIn Social Icon
  • Google+ Social Icon

A propos - Mentions légales

40 rue de Bruxelles - 69100 Villeurbanne (Lyon) -

  • Black Facebook Icon
  • Black Twitter Icon
  • Black LinkedIn Icon
  • Black Google+ Icon

DataGenius vous accompagne dans vos projets de Data Science et Intelligence Artificielle en utilisant les technologies de Machine Learning et Big Data

DataGenius édite la solution AI-Compare