【DeepLearningでポケモン図鑑計画】画像のクローリング【その1】

はじめに

こんにちは、がんがんです。今回はpokemon図鑑計画のその1です。
前回の計画まとめは以下を参照ください。

gangannikki.hatenadiary.jp

iCrawler

機械学習において画像を集めるというのは非常に大変な作業です。
調べてみると、requestを用いて自分でコーディグするか、GoogleやYahooのAPIを使用して集めるなどいろいろな集め方がありました。

今回は比較的簡単に集めたかったので、iCrawlerを参考にして画像集めを行いました。

https://sleepless-se.net/2018/07/26/icrawler/sleepless-se.net

ドキュメントはこちらです。
pypi.org

コード

コードは以下のようになっています。なお、マシンはWindowsPythonは3.6を使用しています。

import pandas as pd
from pathlib import Path

from icrawler.builtin import GoogleImageCrawler

image_path = "./image/"

def main():
	#  csvファイルを読み込み,図鑑を取り出す
	csv_path = Path(".") / "zukan" / "RG.csv"
	df1 = pd.read_csv(csv_path, engine="python", encoding='utf-8', header=0)

	#  番号のフォルダを作成
	#  100枚の画像をダウンロード
	i = 0

	while True:
		try:
			name = "image/" + str(i+1)
			print(df1[i:i+1])

			crawler = GoogleImageCrawler(storage={"root_dir":name})
			crawler.crawl(keyword=df1.iat[i, 1],max_num=100)

			i += 1
		except IndexError:
			break
		
if __name__ == '__main__':
	main()

全種類を一気に学習させるとテストなども大変となるため、まずは初代の151種類の画像をそれぞれ100枚ずつ集めました。

まとめ

今回は画像のクローリングを行っていきました。
iCrawlerを使えば比較的簡単に画像を集めることが出来ました。
次は学習に適さない画像のクレイジングを行い、転移学習をやっていきます。

また、各世代ごとのcsvファイルを作成したのでそちらも今後まとめていきます。

<追記> 2018.10.31
その2を更新したので以下にリンクを貼っておきます。

gangannikki.hatenadiary.jp