[PYTHON] Collectez vous-même des données d'image de formation au machine learning (API Tumblr Yoshioka Riho ed.)

introduction

La première chose que vous devez faire pour créer un modèle d'apprentissage automatique pour la reconnaissance d'objets dans une image est de collecter une grande quantité d'images d'entraînement. Les éléments généraux tels que les chiens et les voitures peuvent être téléchargés à partir de services tels que ImageNet, mais il n'y a pas d'images de célébrités japonaises, par exemple. Cette fois, je vais vous présenter comment collecter des données d'image pour l'apprentissage automatique à l'aide de l'API Tumblr.

Cliquez ici pour l'API de recherche personnalisée Google Pikachu

Obtenir la clé API Tumblr

  1. Commencez par créer un compte depuis ici.
  2. Ensuite, allez sur ici et enregistrez l'application.

Cliquez sur Enregistrer l'application Tumblr.png

Ensuite, entrez les informations sur l'application. Une entrée URL (site Web de l'application, URL de l'App Store, URL de Google Play Store) est requise, mais comme nous ne créons pas réellement une application Oauth, nous l'esquiverons avec brio avec une URL appropriée. (Cette fois, j'ai utilisé l'URL de l'application que j'ai créée il y a longtemps)

Tumblr.png

Ensuite, un écran comme celui-ci sera affiché, alors cliquez sur l'API Explorer. Tumblr.png

Cliquez sur permission Tumblr.png

Ensuite, l'écran ressemblera à ceci Cliquez sur Afficher les clés en haut à droite API_Console___Tumblr.png

La clé API est affichée ici. C'est ce que je voulais cette fois, alors prenez-en note. API_Console___Tumblr.png

Obtenez l'image réellement

Maintenant, obtenons l'image en utilisant la clé API obtenue. Tumblr a beaucoup de photos publiées, il semble donc qu'il ne soit pas adapté à l'acquisition de personnages tels que Pikachu. Donc, cette fois, je vais avoir une photo de M. Riho Yoshioka, qui est populaire récemment. Les images acquises sont enregistrées en séquence dans un répertoire appelé images. (Référence: http://taka-say.hateblo.jp/entry/2016/12/19/235554)

import requests
import time
import shutil

LOOP = 10
URL = 'https://api.tumblr.com/v2/tagged'
payload = {
    'api_key': 'YOUR API KEY HERE',
    'tag': 'Riho Yoshioka'
}
image_idx = 0

photo_urls = []
for i in range(LOOP):
    response_json = requests.get(URL, params=payload).json()
    for data in response_json['response']:
        if data['type'] != 'photo':
            continue
        for photo in data['photos']:
            photo_urls.append(photo['original_size']['url'])
    if(len(response_json['response']) == 0):
        continue
    payload['before'] = response_json['response'][(len(response_json['response']) - 1)]['timestamp']

for photo_url in photo_urls:
    path = "images/" + str(image_idx) + ".png "
    r = requests.get(photo_url, stream=True)
    if r.status_code == 200:
      with open(path, 'wb') as f:
        r.raw.decode_content = True
        shutil.copyfileobj(r.raw, f)
      image_idx+=1

3.png 12.png 29.png

Oui, j'ai beaucoup d'images comme ça. tellement mignon!

Recommended Posts

Collectez vous-même des données d'image de formation au machine learning (API Tumblr Yoshioka Riho ed.)
Collectez vous-même des données d'image de formation au machine learning (API de recherche personnalisée Google Pikachu)
Comment collecter des données d'apprentissage automatique
Mettez vos propres données d'image dans Deep Learning et jouez avec
[Apprentissage automatique] Créez un modèle d'apprentissage automatique en effectuant un apprentissage par transfert avec votre propre ensemble de données
Division des données de formation en apprentissage automatique et apprentissage / prédiction / vérification
Collecter des images pour l'apprentissage automatique (API Bing Search)