やったこと
画像分類の勉強のため、入力された画像が橋本環奈さんであるかを判定するAIを作ろうと考えた。
今回は学習に使用する画像を数百枚集まるため、icrawlerを使って画像を収集した。
事前準備
icrawlerのライブラリをインストール
pip install icrawler
ソースコード
今回ダウンロードに使用したプログラム以下の通りです。
注意点として、img_maxnumberの値が大きいとダウンロードに失敗することがあり、img_maxnumberで設定した画像枚数ダウンロードされないことがありました。
ImgDownload.py
import os
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
from icrawler.builtin import BingImageCrawler
# 事前準備
img_maxnumber = 100 #最大ダウンロード枚数
img_keyword = '橋本環奈' #ダウンロードした画像の名称
savedir = './imgs/' #画像の保存先
os.makedirs(savedir, exist_ok=True) #保存先フォルダの作成
# 画像のダウンロード
crawler = BingImageCrawler(downloader_threads=4, storage={"root_dir": savedir})
crawler.crawl(keyword=img_keyword, max_num=img_maxnumber)
# ダウンロードした画像の一部を表示
imgs = glob.glob(f'{savedir}*')
plt.figure(figsize=(12, 10))
for index, img_path in enumerate(imgs[:10]):
img = Image.open(img_path)
img_array = np.asarray(img)
plt.subplot(2, 5, index+1)
plt.imshow(img_array)
plt.axis('off')
plt.show()
まとめ
今回は上記のプログラムを使って、橋本環奈さんの画像を500枚ダウンロードした。また画像分類には橋本環奈さん以外の画像も必要となるため、橋本環奈さん以外の画像も500枚ダウンロードした。
関連記事