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
Klicken Sie auf App registrieren
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.)
Dann wird ein Bildschirm wie dieser angezeigt. Klicken Sie also auf die Explore-API.
Klicken Sie auf Erlaubnis
Dann sieht der Bildschirm so aus Klicken Sie oben rechts auf Schlüssel anzeigen
Der API-Schlüssel wird hier angezeigt. Dies ist, was ich dieses Mal wollte, also notieren Sie es.
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
Ja, ich habe viele solche Bilder. so hübsch!
Recommended Posts