[PYTHON] Sammeln Sie selbst Bilddaten für maschinelles Lernen (Tumblr API Yoshioka Riho ed.)

Einführung

Das erste, was Sie tun müssen, um ein maschinelles Lernmodell für die Objekterkennung in einem Bild zu erstellen, ist das Sammeln einer großen Anzahl von Trainingsbildern. Allgemeine Gegenstände wie Hunde und Autos können von Diensten wie ImageNet heruntergeladen werden, es gibt jedoch keine Bilder von japanischen Prominenten. Dieses Mal werde ich vorstellen, wie Bilddaten für maschinelles Lernen mithilfe der Tumblr-API gesammelt werden.

Klicken Sie hier für die Google Custom Search API Pikachu

Holen Sie sich den Tumblr-API-Schlüssel

  1. Registrieren Sie zunächst ein Konto von hier.
  2. Gehen Sie als Nächstes zu hier und registrieren Sie die Anwendung.

Klicken Sie auf App registrieren Tumblr.png

Geben Sie als Nächstes die Anwendungsinformationen ein. Eine URL-Eingabe (Anwendungswebsite, App Store-URL, Google Play Store-URL) ist erforderlich. Da wir jedoch keine Oauth-App erstellen, werden wir dieser mit einer geeigneten URL brillant ausweichen. (Diesmal habe ich die URL der App verwendet, die ich vor langer Zeit erstellt habe.)

Tumblr.png

Dann wird ein Bildschirm wie dieser angezeigt. Klicken Sie also auf die Explore-API. Tumblr.png

Klicken Sie auf Erlaubnis Tumblr.png

Dann sieht der Bildschirm so aus Klicken Sie oben rechts auf Schlüssel anzeigen API_Console___Tumblr.png

Der API-Schlüssel wird hier angezeigt. Dies ist, was ich dieses Mal wollte, also notieren Sie es. API_Console___Tumblr.png

Holen Sie sich das Bild tatsächlich

Lassen Sie uns nun das Bild mithilfe des erhaltenen API-Schlüssels abrufen. Tumblr hat viele Fotos gepostet, daher scheint es nicht geeignet zu sein, Charaktere wie Pikachu zu erwerben. Dieses Mal bekomme ich ein Bild von Herrn Riho Yoshioka, der in letzter Zeit sehr beliebt ist. Die erfassten Bilder werden nacheinander in einem Verzeichnis namens Bilder gespeichert. (Referenz: 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

Ja, ich habe viele solche Bilder. so hübsch!

Recommended Posts

Sammeln Sie selbst Bilddaten für maschinelles Lernen (Tumblr API Yoshioka Riho ed.)
Sammeln Sie selbst Bilddaten für maschinelles Lernen (Google Custom Search API Pikachu).
Sammeln von Daten zum maschinellen Lernen
Fügen Sie Ihre eigenen Bilddaten in Deep Learning ein und spielen Sie damit
[Maschinelles Lernen] Erstellen Sie ein Modell für maschinelles Lernen, indem Sie Transferlernen mit Ihrem eigenen Datensatz durchführen
Maschinelles Lernen Aufteilung der Trainingsdaten und Lernen / Vorhersage / Verifizierung
Sammeln Sie Bilder für maschinelles Lernen (Bing Search API)