機械学習の画像集めはiCrawlerがおすすめ!

機械学習 画像集 icrawler

こんばんは、エンジニアの眠れない夜です。

機械学習をしたくても素材がない…

そんな問題を解決してくれるのが icrawler です。

icrawler はGoogle、Bing、Baidu、Flickrなどの画像検索サービスから画像をダウンロードしてくれる便利なPythonのパッケージです。

30秒あればあなたのPCでも再現できるのでぜひ読みながらプログラムを動かしてみてくださいね^^

icrawler の使い方

まずはインストールします。

pip install icrawler

インストールできたらPythonを起動して、下記のコマンドを実行してみましょう。

Python

from icrawler.builtin import GoogleImageCrawler

crawler = GoogleImageCrawler(storage={"root_dir": "images"})
crawler.crawl(keyword="犬", max_num=100)

ターミナルで今いるディレクトリに images というフォルダが作成され、その中にどんどん画像がダウンロードされていきます。

icrawler機械学習画像

ダウンロードする画像のサイズやカラーなどいろいろ指定できるので詳しくはドキュメントを参照してください。

http://icrawler.readthedocs.io/en/latest/builtin.html#search-engine-crawlers

どれくらい簡単に始められるかはこちらの動画を見ていただければ分かるはずです。

すっごく便利なので機械学習の画像集めにぜひご活用ください。

追記:大量の画像を集める場合(2019/02/26)

キーワードにもよるのですが、数10枚〜200枚程度で停止します。1つのキーワードについて集中的にキーワードを集めたい場合は複合キーワードにして集めると効果的です。

例:

  • 犬 走る
  • 犬 座る
  • 犬 (地名)
  • 犬 (犬種)
  • etc…

追記:エラー発生中(2020/03/13)

Googleの仕様が変わり現在画像を取得できなくなっているようです。
https://github.com/hellock/icrawler/issues/65

アップデートを試みているようなのですがうまくいっていないようです。
https://github.com/hellock/icrawler/pull/67

追記:画像ダウンロードエラーの解消 (2021/01/05)

Googleの仕様が変わってParserErrorが出ていたのですが、こちらの記事を参考にさせていただき、修正を行いました。(現在プルリクエスト中)

追記:画像ダウンロードエラーの解消 (2021/04/15)

プルリクエストがマージされていました。また、私がフォークしていたバージョンはエラーが発生するようになっていたためインストールは本家から行うように記事を修正しました。

3 Comments

kisuta

python初心者です。
keras-yolo3の学習方法からこちらの記事を拝見させていただきました。
記事の内容通りに、インストールして実行をしようと試みたのですが、
以下のようなものがコンソールにでてきて画像を取得することができませんでした。

2020-03-12 12:04:33,018 – INFO – icrawler.crawler – start crawling…
2020-03-12 12:04:33,018 – INFO – icrawler.crawler – starting 1 feeder threads…
2020-03-12 12:04:33,018 – INFO – feeder – thread feeder-001 exit
2020-03-12 12:04:33,018 – INFO – icrawler.crawler – starting 1 parser threads…
2020-03-12 12:04:33,018 – INFO – icrawler.crawler – starting 1 downloader threads…
2020-03-12 12:04:33,651 – INFO – parser – parsing result page https://www.google.com/search?q=%E7%8A%AC&ijn=0&start=0&tbs=&tbm=isch
2020-03-12 12:04:35,704 – INFO – parser – no more page urls for thread parser-001 to parse
2020-03-12 12:04:35,707 – INFO – parser – thread parser-001 exit
2020-03-12 12:04:38,024 – INFO – downloader – no more download task for thread downloader-001
2020-03-12 12:04:38,031 – INFO – downloader – thread downloader-001 exit
2020-03-12 12:04:38,046 – INFO – icrawler.crawler – Crawling task done!

改善方法を教えていただけますでしょうか。
よろしくお願いします。

返信する

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください