【DeepLearningでポケモン図鑑計画】画像のクローリング【その1】
はじめに
こんにちは、がんがんです。今回はpokemon図鑑計画のその1です。前回の計画まとめは以下を参照ください。
iCrawler
機械学習において画像を集めるというのは非常に大変な作業です。調べてみると、requestを用いて自分でコーディグするか、GoogleやYahooのAPIを使用して集めるなどいろいろな集め方がありました。
今回は比較的簡単に集めたかったので、iCrawlerを参考にして画像集めを行いました。
https://sleepless-se.net/2018/07/26/icrawler/sleepless-se.net
ドキュメントはこちらです。
pypi.org
コード
コードは以下のようになっています。なお、マシンはWindows、Pythonは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を更新したので以下にリンクを貼っておきます。