Um ein Bilderkennungsprogramm zu erstellen, benötigen wir zunächst eine große Menge an Bilddaten zum Trainieren. Erstellen Sie zu diesem Zweck ein Programm, das automatisch Bilddaten sammelt.
Referenzmaterialien: [Entwicklung von AI-Anwendungen zur Bildbeurteilung, Teil 1] Einführung in die Entwicklung von AI-Anwendungen zur Bildbeurteilung mit TensorFlow, Python, Flask
Flickr Bildersammlungsseite https://www.flickr.com/
API https://www.flickr.com/services/api/
https://qiita.com/Saayaman/items/a3066697a108a7e7fc39 Siehe "1. API-Registrierung" in. Es ist notwendig, den Schlüssel und den privaten Schlüssel (?) Zu erhalten.
https://stuvel.eu/flickrapi
pip install flickrapi
Speichern Sie das gesuchte Bild im angegebenen Ordner. Erstellen Sie ein Programm namens "download.py". Zum Beispiel
python download.py monkey
Wenn Sie eingeben, werden die von "Affe" gesuchten Bilder in einem Ordner namens "Affe" gespeichert.
from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from pprint import pprint
import os, time, sys
#API-Schlüsselinformationen
key = "<<String>>"
secret = "<<String>>"
wait_time = 1
Speichern Sie den erworbenen Schlüssel und den privaten Schlüssel. Wie der Name schon sagt, ist wait_time die Wartezeit. Wenn Sie häufig auf Flickr zugreifen, wird der Zugriff verweigert. Warten Sie daher 1 Sekunde auf jedes Bild, das Sie erhalten.
#Geben Sie den Speicherordner an
animalname = sys.argv[1]
savedir = "./" + animalname
flickr = FlickrAPI(key, secret, format='parsed-json')
result = flickr.photos.search(
text = animalname,
per_page = 400,
media = 'photos',
sort = 'relative',
safe_search = 1,
extras = 'url_q, licence'
)
Erstellen Sie eine "flickr" -Instanz, indem Sie den Schlüssel, den privaten Schlüssel und das Format angeben, die unter "Vorbereitung" in "FlickrAPI" (diesmal im json-Format) erhalten wurden, und rufen Sie die Methode "flickr.photos.search" auf. Das "Ergebnis" enthält die folgenden Daten.
{'photos': {'page': 1,
'pages': 541,
'perpage': 400,
'photo': [{'farm': 66,
'height_q': 150,
'id': '49823614651',
'isfamily': 0,
'isfriend': 0,
'ispublic': 1,
'owner': '14136614@N03',
'secret': '888c8a381a',
'server': '65535',
'title': 'LEGO Minifigures Series 19 Rainbow Bear',
'url_q': 'https://live.staticflickr.com/65535/49823614651_888c8a381a_q.jpg',
'width_q': 150},
...
Laden Sie das Bild mit den in result
enthaltenen Informationen herunter.
Holen Sie sich die URL des Bildes mit photo ['url_q']
.
Verwenden Sie "urlretrieve", um den Download auszuführen.
photos = result['photos']
for i, photo in enumerate(photos['photo']):
print(i)
url_q = photo['url_q']
filepath = savedir + '/' + photo['id'] + '.jpg'
if os.path.exists(filepath): continue
urlretrieve(url_q, filepath)
time.sleep(wait_time)
python download.py monkey
Wenn Sie ausführen, wird es wie unten gezeigt im Ordner "Affe" gespeichert. Es enthält jedoch auch Bilder, die keine Affen sind (z. B. Affenbilder oder solche, die nichts mit Affen zu tun haben). Daher müssen sie manuell entfernt werden.
Recommended Posts