Chihuahua ou muffin? Ma recherche de la meilleure API de vision par ordinateur

Ce mème Internet populaire démontre la ressemblance alarmante partagée entre les chihuahuas et les muffins. Ces images sont communément partagées dans les présentations de l'industrie de l'intelligence artificielle (IA) (moi y compris).

Mais une question à laquelle je n'ai vu personne répondre est à quel point l'IA moderne est -elle efficace pour éliminer l'incertitude d'une image qui pourrait ressembler à un chihuahua ou à un muffin? Pour votre divertissement et votre éducation, je vais étudier cette question aujourd'hui.

La classification binaire est possible depuis que l'algorithme du perceptron a été inventé en 1957. Si vous pensez que l'IA est à la mode maintenant, le New York Times rapportait en 1958 que l'invention était le début d'un ordinateur qui «serait capable de marcher, parler, voir, écrire, se reproduire et être conscient de son existence. Alors que les machines à perceptron, comme la Mark 1, ont été conçues pour la reconnaissance d'image, en réalité, elles ne peuvent discerner que des motifs qui sont linéairement séparables. Cela les empêche d'apprendre les modèles complexes trouvés dans la plupart des médias visuels.

Pas étonnant que le monde ait été désillusionné et qu'un hiver IA s'ensuit. Depuis lors, les perceptions multicouches (populaires dans les années 1980) et les réseaux de neurones convolutifs (lancés par Yann LeCun en 1998) ont largement surpassé les perceptions monocouches dans les tâches de reconnaissance d'image.

Avec de grands ensembles de données étiquetés comme ImageNet et un calcul GPU puissant, des architectures de réseau neuronal plus avancées telles qu'AlexNet, VGG, Inception et ResNet ont atteint des performances de pointe en vision par ordinateur.

API de vision par ordinateur et de reconnaissance d'image

Si vous êtes un ingénieur en apprentissage automatique, il est facile d'expérimenter et d'ajuster ces modèles à l'aide de modèles et de pondérations pré-entraînés dans Keras / Tensorflow ou PyTorch. Si vous n'êtes pas à l'aise pour peaufiner vous-même les réseaux de neurones, vous avez de la chance. Pratiquement tous les grands géants de la technologie et les startups prometteuses prétendent «démocratiser l'IA» en proposant des API de vision par ordinateur faciles à utiliser.

Lequel est le meilleur? Pour répondre à cette question, vous devez définir clairement vos objectifs commerciaux, vos cas d'utilisation de produits, vos ensembles de données de test et vos indicateurs de succès avant de pouvoir comparer les solutions les unes par rapport aux autres.

Au lieu d'une enquête sérieuse, nous pouvons au moins avoir une idée de haut niveau des différents comportements de chaque plate-forme en les testant avec notre problème de jouet de différenciation d'un chihuahua d'un muffin.

Réalisation du test

Pour ce faire, j'ai divisé le mème canonique en 16 images de test. Ensuite, j'utilise du code open source écrit par l'ingénieur Gaurav Oberoi pour consolider les résultats des différentes API. Chaque image est poussée à travers les six API répertoriées ci-dessus, qui renvoient des étiquettes à haute fiabilité comme prédictions. Les exceptions sont Microsoft, qui renvoie à la fois des étiquettes et une légende, et Cloudsight, qui utilise la technologie hybride homme-IA pour ne renvoyer qu'une seule légende. C'est pourquoi Cloudsight peut renvoyer des sous-titres étrangement précis pour des images complexes, mais prend 10 à 20 fois plus de temps à traiter.

Voici un exemple de la sortie. Pour voir les résultats des 16 images de chihuahua contre muffin, cliquez ici.

Dans quelle mesure les API ont-elles fonctionné? À part Microsoft, qui a confondu ce muffin avec un animal en peluche, toutes les autres API ont reconnu que l'image était de la nourriture. Mais il n'y avait pas d'accord pour savoir si la nourriture était du pain, des gâteaux, des biscuits ou des muffins. Google a été la seule API à identifier avec succès le muffin comme l'étiquette la plus probable.

Regardons un exemple de chihuahua.

Encore une fois, les API ont plutôt bien fonctionné. Tous ont réalisé que l'image était un chien, bien que quelques-uns d'entre eux aient manqué la race exacte.

Il y a eu cependant des échecs certains. Microsoft a renvoyé une légende manifestement erronée à trois reprises, décrivant le muffin comme un animal en peluche ou un ours en peluche.

Google était l'identifiant ultime du muffin, renvoyant «muffin» comme son étiquette de confiance la plus élevée pour 6 des 7 images de muffins de l'ensemble de test. Les autres API n'ont pas renvoyé "muffin" comme première étiquette pour une image de muffin, mais ont plutôt renvoyé des étiquettes moins pertinentes telles que "pain", "cookie" ou "petit gâteau".

Cependant, malgré sa série de succès, Google a échoué sur cette image de muffin spécifique, renvoyant le «museau» et le «groupe de race de chien» comme prédictions.

Même les plates-formes d'apprentissage automatique les plus avancées au monde sont déclenchées par notre défi facétieux chihuahua contre muffin. Un enfant en bas âge humain surpasse l'apprentissage en profondeur lorsqu'il s'agit de déterminer ce qu'est la nourriture et ce qu'est Fido.

Alors, quelle API de vision par ordinateur est la meilleure?

Afin de trouver la réponse à ce mystère insaisissable, vous devrez vous rendre sur TOPBOTS pour lire l'article original dans son intégralité!