[PYTHON] Lorsque j'ai essayé d'utiliser l'API Computer Vision de Microsoft, j'ai reconnu le signe Galapagos "Stop"

Capacité de reconnaissance d'image récente - Résultats de la recherche de pointe de MS L'API de vision par ordinateur a été utilisée en Python

Si vous lisez l'article ci-dessus, vous en comprendrez les détails.

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
#Démo de l'API Microsoft Computer Vision
# Python 2 /3 Fonctionné dans les deux systèmes
#
#
# Usage: python ms_cv_api_exp.py (image_url)
#
#référence
# http://qiita.com/kosfuji/items/621cbedfad0eb68b2f5d
# https://dev.projectoxford.ai/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa
#

from __future__ import print_function

import sys
PY3 = sys.version_info[0] == 3

if PY3:
    from urllib.parse import urlencode
    from http.client import HTTPSConnection
else:
    from urllib import urlencode
    from httplib import HTTPSConnection

def main(image_url):
    headers = {
        'Content-Type': 'application/json',
        'Ocp-Apim-Subscription-Key': '(Entrez la clé d'abonnement ici)',
    }
    params = urlencode({'visualFeatures': 'Description'})
    try:
        conn = HTTPSConnection('api.projectoxford.ai')
        conn.request("POST", "/vision/v1.0/analyze?%s" % params,
                     "{'url': '%s'}" % image_url,
                     headers)
        response = conn.getresponse()
        data = response.read()
        print(data)
        conn.close()
    except Exception as e:
        print("[Errno {0}] {1}".format(e.errno, e.strerror))

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print("Usage: {} url".format(sys.argv[0]))
    main(sys.argv[1])

Si vous avez une clé d'abonnement, vous pouvez effectuer de nombreuses analyses d'URL avec les outils ci-dessus.

Voici "Impression / Sunrise" de Monet

Impression_Sunrise.png

Le résultat est ……

{
  "description": {
    "tags": [
      "building",
      "water",
      "street",
      "red",
      "light",
      "sunset",
      "painting",
      "large",
      "city",
      "white",
      "bus",
      "standing",
      "rain",
      "walking",
      "traffic",
      "colorful",
      "man",
      "blurry",
      "riding",
      "parked",
      "people",
      "river",
      "night"
    ],
    "captions": [
      {
        "text": "a painting of a river",
        "confidence": 0.6266185233006358
      }
    ]
  },
  "requestId": "f4ead5ca-0c3c-4e41-97ef-df5d8e2e566d",
  "metadata": {
    "width": 1000,
    "height": 776,
    "format": "Png"
  }
}

Je l'ai jugé même avec une grande peinture impressionniste

C'est aussi le "boulevard Capucine" de Monet

The_Boulevard_des_Capucines.jpg

Le résultat est ……

{
  "description": {
    "tags": [
      "outdoor",
      "tree",
      "snow",
      "mountain",
      "covered",
      "group",
      "standing",
      "large",
      "water",
      "riding",
      "field"
    ],
    "captions": [
      {
        "text": "a view of a mountain",
        "confidence": 0.41440203405943216
      }
    ]
  },
  "requestId": "a41ea71a-6e1d-416f-b34e-aa19b98c03e0",
  "metadata": {
    "width": 736,
    "height": 1000,
    "format": "Jpeg"
  }
}

Hein, la montagne ...? (´ ・ ω ・ `)

C'est une API un peu désordonnée, mais personnellement, j'ai pensé que c'était "génial" ci-dessous

"Panneau stop Tomare.png

Le résultat est ……

{
  "description": {
    "tags": [
      "building",
      "sign",
      "outdoor",
      "red",
      "stop",
      "street",
      "pole",
      "front",
      "traffic",
      "sitting",
      "black",
      "city",
      "white",
      "close",
      "side",
      "large",
      "blue",
      "standing",
      "train"
    ],
    "captions": [
      {
        "text": "a red stop sign sitting on the side of a building",
        "confidence": 0.8758533311779192
      }
    ]
  },
  "requestId": "2b687702-9442-45cd-bd5c-7de6be37440d",
  "metadata": {
    "width": 1000,
    "height": 1334,
    "format": "Png"
  }
}

Je frappe ~

Comme je l'ai appris en parlant à d'autres personnes, le panneau «stop» japonais est une sorte de Galapagos.

La norme internationale est un panneau routier octogonal "stop (pause)". Pourquoi est-il devenu un triangle inversé au Japon?

Par conséquent, afin de juger "un panneau d'arrêt rouge" avec ce chiffre, il est nécessaire d'inclure ces japonais dans les données de formation. Il semble que ce soit correctement dans les données d'entraînement.

Cette fois, c'était gratuit car c'était un aperçu. Selon la description, «5 000 transactions par mois, 20 par minute». C'est difficile de l'utiliser sérieusement au travail, mais c'est suffisant pour jouer à ce niveau.

L'histoire des prix est ici. https://www.microsoft.com/cognitive-services/en-us/pricing

Recommended Posts

Lorsque j'ai essayé d'utiliser l'API Computer Vision de Microsoft, j'ai reconnu le signe Galapagos "Stop"
J'ai essayé d'utiliser l'API Google Cloud Vision
J'ai essayé d'utiliser l'API checkio
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai essayé d'utiliser l'API de Sakenowa Data Project
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
J'ai essayé l'API Google Cloud Vision pour la première fois
[Pour les débutants] J'ai essayé d'utiliser l'API Tensorflow Object Detection
J'ai essayé le roman Naro API 2
J'ai essayé l'API du roman Naruro
J'ai essayé d'utiliser l'API COTOHA (il y a aussi du code sur GitHub)
J'ai essayé d'utiliser l'API de données YOUTUBE V3
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé de résumer diverses phrases à l'aide de l'API de synthèse automatique "summpy"
Lors de l'introduction de l'API Google Cloud Vision sur les rails, j'ai suivi la documentation.
J'ai essayé de toucher l'API COTOHA
J'ai recherché dans la bibliothèque l'utilisation de l'API Gracenote
J'ai essayé d'utiliser l'API à distance avec GAE / J
J'ai essayé d'accéder à l'API Qiita depuis le début
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé "License OCR" avec l'API Google Vision
J'ai essayé d'utiliser PyCaret à la vitesse la plus rapide
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé "Receipt OCR" avec l'API Google Vision
J'ai essayé d'utiliser le filtre d'image d'OpenCV
J'ai essayé d'utiliser la bibliothèque de programmation fonctionnelle toolz
Une histoire qui était pratique lorsque j'ai essayé d'utiliser le module d'adresse IP python
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
J'ai essayé de noter la syntaxe trop humoristique et humoristique en utilisant l'API COTOHA.
J'ai essayé de collecter automatiquement des images érotiques de Twitter à l'aide de l'API Cloud Vision de GCP
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
[Linux] J'ai essayé d'utiliser le logiciel de statistiques génétiques PLINK
J'ai essayé de regrouper les données ECG en utilisant la méthode K-Shape
J'ai essayé d'approcher la fonction sin en utilisant le chainer
J'ai essayé APN (notification à distance) à l'aide de l'API REST Parse.com
J'ai essayé d'identifier la langue en utilisant CNN + Melspectogram
J'ai essayé de compléter le graphe de connaissances en utilisant OpenKE
J'ai essayé de frapper l'API avec le client python d'echonest
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
[Pour ceux qui veulent utiliser TPU] J'ai essayé d'utiliser l'API de détection d'objets Tensorflow 2
J'ai essayé d'automatiser la construction d'un environnement pratique à l'aide de l'API SoftLayer d'IBM Cloud
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron