【自動画像収集】何でも好きなだけまとめて写真を拾ってくるプログラム!画像ダウンローダーのご紹介
皆さんこんにちは
ビジネスアナリストの鈴木希望です。
今回ご紹介するプログラムは、自動画像収集プログラムです。
※専門用語ではスクレイピングなどとも呼ばれていますが、WEBスクレイピングとは様相が違いますので、それはまた別の機会にご説明いたします。
自動画像収集プログラムとは
特定のキーワードで画像検索エンジンから選ばれた画像を一括収集するためのものです。
PythonはAI画像学習を行う際に、大量の学習データとなる画像が必要になります。そこで簡単に学習データを集める方法として便利なプログラムも用意されています。
フリーソフトなんかでも、似たようなアプリケーションはいくつか存在しますが意外と設定が難しかったり、画像検索自体にはあまり向いていなかったりします。
今回は、各種検索エンジンの画像検索機能をハックした画像検索を一度に大量にできる、お手軽な方法をご紹介いたします。
非常に簡単な方法なので、少し趣向を変えてGoogle Colaboratoryでプログラムコード自体を皆さんにコピペしてもらおうと思います。
グーグルが提供する仮想プログラム実行環境です。簡単にPythonプログラムを無料でどなたでも利用できます。
Webベース環境なので、実は携帯からでも実行することが可能ですので頑張って取り組んでみてください。
今回紹介するのは、Python icrawlerです。
Python icrawlerをインストール
Google Driveからグーグルコラボトリー(Google Colaboratory)にアクセスしてプログラムを実行します。
【手順】
グーグルドライブを開く
グーグルコラボトリーを呼び出す
コードをコピーする
画像ダウンローダーをインストール
グーグルドライブをマウントする
収集するキーワードを設定
画像をまとめてダウンロードする
グーグルドライブに保存された画像を確認
①グーグルドライブを開く
Google Driveを開きます。
グーグルコラボトリーを呼び出す
+新規 マークから「その他 > Google Colapotogy」を開きます。
コードをコピーする
下記の通り順番にコードをコピーして追加してください。
それぞれのブロックごとにコピーしたら「+コード」ボタンを押すと、新しいブロックになりますので分けておきます。
!pip install keras==2.2.5
!pip install tensorflow==1.14.0
!pip install h5py==2.10.0
!pip install icrawler
#クローラーインストール
from icrawler.builtin import BaiduImageCrawler, BingImageCrawler, GoogleImageCrawler
#Google Driveマウント
from google.colab import drive
drive.mount('/content/drive')
#キーワードとディレクトリー
target_keyword = "\u732B" #@param {type:"string"}
target_directory = 'cat' #@param {type:"string"}
photo_num = 100 #@param {type:"integer"}
# Bing 猫の画像を100枚取得
bing_crawler = BingImageCrawler(downloader_threads=4,
storage={'root_dir': '/content/drive/MyDrive/'+target_directory})
bing_crawler.crawl(keyword=target_keyword, filters=None, offset=0, max_num=photo_num)
# Google 猫の画像を100枚取得
google_crawler = GoogleImageCrawler(
feeder_threads=1,
parser_threads=1,
downloader_threads=4,
storage={'root_dir': '/content/drive/Mydrive/'+target_directory})
filters = dict(
size='large',
color='orange',
date=((2020, 1, 1), (2022, 11, 30)))
google_crawler.crawl(keyword=target_keyword, filters=filters, offset=0, max_num=photo_num,
min_size=(200,200), max_size=None, file_idx_offset=0)
# 猫の画像を表示
from IPython.display import Image,display_jpeg
display_jpeg(Image('/content/drive/MyDrive/'+target_directory+'/000001.jpg'))
完成コード一覧
コードをコピーして、このようになればOKです。
このサンプルコードは、鈴木希望がPython初心者でも分かりやすいように分けて表示してあります。
画像ダウンローダーをインストール
コードを上から順番に実行する。
①pip環境設定
②icrawlerクローラーのインストール
③Google Driveマウント
※グーグルドライブのマウントを許可してください。ダウンロードした画像をご自身のグーグルドライブに保存できるようになります。
④キーワードとディレクトリーと取得枚数を設定する
⑤Bingクローラーで取得する場合はコチラを実行
⑥Googleクローラーで取得する場合はコチラを実行
⑦サンプル表示
如何でしたでしょうか?
非常に簡単に好きな画像を大量に収集出来ましたね。あくまでも個人の学術的な研究目的や趣味以外には悪用しないでください。
AIやディープラーニングなど、他のプログラムにも興味が出てきました方。
私の他の記事も是非ご覧ください。
楽しいプロフラムをご紹介しておりますので宜しくお願いいたします。
AI BOOST初級編の勧め
より高精度なディープフェイク・ディープフェイス技術を使ってみたい方は「AI BOOST 初級編」(7,980円)をご覧いただければ、より柔軟で高度な技術を制限なく簡単に利用できますので、そちらをご購入いただく方がお勧めです。
AI BOOST初級編では、FaceSwapプログラムを使って任意の画像や動画をお好きな顔画像を入れ替えてディープフェイク技術を簡単に学べます。
【悪用厳禁】世界をたった5日で震撼させた驚愕のDeepNude事件とは?
今回の記事よりも出来ることが増えていますので合わせて購入していただければ、興味のあることはたいていのことが実現できると思います。