Construire Microsoft

Jennifer Aniston
Jennifer Anistonoriginal
2025-02-15 10:30:121001parcourir

Building Microsoft's What-Dog AI in under 100 Lines of Code

Ce tutoriel vous montre comment construire un identifiant de race de chien similaire à celle de Microsoft What-dog Ai, mais en utilisant l'API d'image de Diffbot. L'application entière est inférieure à 100 lignes de code et exploite Imgur pour l'hébergement d'images afin de minimiser les coûts.

Caractéristiques de clé:

  • utilise un formulaire de téléchargement d'image simple et PHP pour le traitement.
  • Les analyses de l'API d'image de Diffbot sont téléchargées et renvoient les suggestions de race basées sur des balises identifiées.
  • Bien qu'il ne soit pas parfait, l'application résultante démontre l'accessibilité et le potentiel de l'IA moderne pour la reconnaissance d'image.

PRENDRE:

  1. Compte Diffbot: Obtenez un jeton API gratuit de 14 jours de diffbot.com.
  2. Configuration du compositeur: Utilisez le suivant composer.json pour installer les bibliothèques nécessaires:
<code class="language-json">{
    "require": {
        "swader/diffbot-php-client": "^2",
        "php-http/guzzle6-adapter": "^1.0"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "require-dev": {
        "symfony/var-dumper": "^3.0"
    }
}</code>
<code>Run `composer install`.  The `minimum-stability` setting accommodates a beta dependency.</code>
  1. Compte Imgur: Créez un compte Imgur et obtenez un ID client pour les téléchargements d'image anonymes.

Structure de code (index.php):

La logique principale réside dans index.php. Le code s'occupe d'abord des téléchargements d'image via un formulaire HTML (omis pour la concision, en se concentrant sur le backend PHP). Imgur est utilisé pour l'hébergement, économisant sur les coûts du serveur. L'URL d'image téléchargée est ensuite envoyée à l'API d'image de Diffbot.

<code class="language-php"><?php
require 'vendor/autoload.php';

$token = 'YOUR_DIFFBOT_TOKEN'; // Replace with your Diffbot token
$imgur_client = 'YOUR_IMGUR_CLIENT_ID'; // Replace with your Imgur Client ID

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Handle image upload (using $_FILES) or URL submission (using $_POST['url'])
    // ... (Image upload to Imgur using Guzzle, obtaining the image URL) ...

    if (!isset($url) || empty($url)) {
        die("Image upload or URL submission failed.");
    }

    $diffbot = new Swader\Diffbot\Diffbot($token);
    $imageDetails = $diffbot->createImageAPI($url)->call();
    $tags = $imageDetails->getTags();

    echo "<img  src="%5C%22%7B%24url%7D%5C%22"    style="max-width:90%"500\"' alt="Construire Microsoft" >";

    if (empty($tags)) {
        echo "<h4>No breed identified.</h4>";
    } else {
        echo "<h4>Suggested Breed(s):</h4>";
        foreach ($tags as $tag) {
            echo "- <a href="%5C%22https://www.bing.com/images/search?q=%22" . urlencode target='\"_blank\"'>" . $tag['label'] . "</a><br>";
        }
    }
}
?>

<!-- HTML form for image upload or URL input --></code>

Fonctions (fonctions d'assistance):

Le code utilise des fonctions d'assistance (non illustrées ci-dessus) pour créer des liens vers les résultats de recherche d'image Bing pour chaque race suggérée.

Test et résultats:

Le tutoriel comprend plusieurs images de test et leurs résultats, mettant en évidence les succès et les échecs de l'identification de la race. La précision est comparable à celle de Microsoft What-dog, démontrant la faisabilité de créer une application similaire avec diffbot.

Conclusion:

Ce tutoriel présente la facilité d'intégration de l'analyse d'image alimentée par AI dans une application Web simple. Bien que la précision ne soit pas parfaite, elle met en évidence le potentiel d'API facilement disponibles pour construire de puissantes caractéristiques de reconnaissance d'images. N'oubliez pas de remplacer les jetons et les identifiants d'espace réservé par le vôtre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn