Afin de créer un programme de reconnaissance d'image, nous avons d'abord besoin d'une grande quantité de données d'image pour nous entraîner. Pour cela, créez un programme qui collecte automatiquement les données d'image.
Documents de référence: [Développement d'applications IA de jugement d'image, partie 1] Introduction au développement d'applications IA de jugement d'image réalisé avec TensorFlow, Python, Flask
Flickr Site de collecte d'images https://www.flickr.com/
API https://www.flickr.com/services/api/
https://qiita.com/Saayaman/items/a3066697a108a7e7fc39 Voir "1. enregistrement api" dans. Il est nécessaire d'obtenir la clé et la clé privée (?).
https://stuvel.eu/flickrapi
pip install flickrapi
Enregistrez l'image recherchée dans le dossier spécifié. Créez un programme appelé download.py
.
Par exemple
python download.py monkey
Si vous entrez, les images recherchées par monkey
seront stockées dans un dossier appelé monkey
.
from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from pprint import pprint
import os, time, sys
#Informations sur la clé API
key = "<<Chaîne>>"
secret = "<<Chaîne>>"
wait_time = 1
Stockez la clé et la clé privée acquises. Comme son nom l'indique, wait_time est le temps d'attente. Si vous accédez fréquemment à Flickr, l'accès sera refusé, alors attendez 1 seconde pour chaque image que vous obtenez.
#Spécifiez le dossier de sauvegarde
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'
)
Créez une instance flickr
en spécifiant la clé, la clé privée et le format obtenus dans" Préparation "dans FlickrAPI
(cette fois au format json), et appelez la méthode flickr.photos.search
.
Le «résultat» contient les données suivantes.
{'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},
...
Téléchargez l'image en utilisant les informations contenues dans result
.
Obtenez l'URL de l'image avec photo ['url_q']
.
Exécutez le téléchargement avec ʻurl retrieve`.
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
Lorsque vous exécutez, il est enregistré dans le dossier monkey
comme indiqué ci-dessous.
Cependant, il inclut également des images qui ne sont pas des singes (comme des images de singes ou celles qui n'ont rien à voir avec des singes), il est donc nécessaire de les supprimer manuellement.
Recommended Posts