【画像認識】 Google画像検索結果を取得する方法 【google image download】

公開日: : 最終更新日:2020/09/04 機械学習 , , , , , ,

今回は、深層学習(DeepLearning)で画像認識をするための画像データの収集を、Google画像検索結果の画像を取得する方法を紹介します。

イメージとしては、収集したい画像のキーワードを指定すると、自動的にそのキーワードの Google画像検索結果の上位のものをダウンロードしてくれる、という感じです。

環境としては、Google Colaboratory を使います。
【Google Colaboratory】クラウド上でPythonを使って機械学習を行う。

Google Colaboratory を使う理由としては、深層学習の学習に PC に対して負荷がかかるため、無料で GPU を使えるからです。

Contents

Google画像検索結果の画像を取得する

以下のコマンドで「google image download」をインストールします。


以下のコマンドで Google画像検索結果の画像をダウンロードします。

「–keywords」でキーワードを指定し、「-f」で取得する画像の拡張子を指定します。


以下のようなエラーがでました。。。

Item no.: 1 –> Item name = \u30c8\u30e8\u30bf \u30d7\u30ea\u30a6\u30b9
Evaluating…
Starting Download…

Unfortunately all 100 could not be downloaded because some images were not downloadable. 0 is all we got for this search filter!

Errors: 0

Everything downloaded!
Total errors: 0
Total time taken: 0.6210567951202393 Seconds

どうやら、以前と Google画像検索の仕様が変わったために、画像の取得ができなくなっているようです。

対処方法としては、GitHub に仕様変更に対応済みのプログラムがあるので、それを使うことです。

https://github.com/Joeclinton1/google-images-download/tree/patch-1

Google Colaboratory 上からは、「git clone」コマンドを使ってダウンロードします。


古い方と競合しないように gid-joeclinton という名前のディレクトリを指定しています。

Cloning into ‘gid-joeclinton’…
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 625 (delta 0), reused 3 (delta 0), pack-reused 621
Receiving objects: 100% (625/625), 275.83 KiB | 506.00 KiB/s, done.
Resolving deltas: 100% (362/362), done.

Google Colaboratory の /content/ 直下に gid-joeclinton ディレクトリができます。その中の「google_images_download.py 」を直接実行します。


すると、以下のようにダウンロードできました。

Item no.: 1 –> Item name = toyota_prius
Evaluating…
Starting Download…
Completed Image ====> 1.2016_Toyota_Prius_%28ZVW50R%29_Hybrid_liftback_%282016-04-02%29_01.jpg
Completed Image ====> 2.2020-toyota-prius-mmp-1-1565732347.jpg
Completed Image ====> 3.Toyota-Prius-Prime-PHEV-OEM-.jpg
Completed Image ====> 4.maxresdefault.jpg
Completed Image ====> 5.2019-toyota-prius-limited-1545163015.jpg
Completed Image ====> 6.2020-toyota-prius_100720199_h.jpg
Completed Image ====> 7.dsc_0939-2.jpg
Completed Image ====> 8.2020-toyota-prius_100716003_h.jpg
Wrong image format returned. Skipping…
Completed Image ====> 9.2019-toyota-prius_100682787_h.jpg
Completed Image ====> 10.1Hero_Image_2020_Prius_XLE_AWD-e_Blue_071-1500×1000.jpg
以下省略

デフォルトで 100件 取得されます。また、エラーが表示されている画像は取得できていません。

自動的に「–keywords」で指定したキーワード名のディレクトリが作成され、その中に画像が入っています。

今回の場合は、「/content/downloads/toyota_prius/」ディレクトリに画像が格納されます。

取得した画像を一覧表示させる

先ほど取得したプリウスの画像を一覧表示させ、確認します。

matplotlib と opencv を使います。

結果は、以下のように表示されます。

不要な画像を削除する

確認すると、中には 38番のような車内の画像を取得しているものもあるため、以下のスクリプトで番号を指定して削除します。


以上で、画像認識をするためのデータを準備することができます。
今後は、いくつかの車種の取得し、車種の識別をしたいと思います。

参考書籍

関連記事

【機械学習】 scikit-learn で不正解データを抽出する方法【Python】

Python の scikit-learn ライブラリを使って機械学習でテストデータを識別(2クラス

記事を読む

【Weka】ARFF 形式から CSV 形式に簡単に変換する方法。

フリーのデータマイニングツールである WEKA では、ARFF 形式と CSV 形式のデータを読み込

記事を読む

機械学習の手法のまとめ。

機械学習は、「与えられた入出力事例をモデル化する行為」のことで、ディープラーニングなどで注目を集めて

記事を読む

【機械学習】モンテカルロ法(Monte Carlo method)について。

モンテカルロ法(Monte Carlo method)とは、シュミレーションや数値計算を乱数を用いて

記事を読む

【Fashion-MNIST】ファッションアイテムのデータセットを使ってみた【TensorFlow】

今回は、機械学習用に公開されているデータセットの1つである「Fashion-MNIST」について紹介

記事を読む

【PyTorch】GPUのメモリ不足でエラーになったときの対処方法。

PyTorch で深層学習していて、 GPUのメモリ不足でエラーが出てしまったので、対処方法のメモで

記事を読む

【探索】縦型・横型・反復深化法の探索手法の比較。

探索とは、チェスや将棋や囲碁などのゲームをコンピュータがプレイするときに、どの手を指すかを決定するの

記事を読む

【機械学習】 scikit-learn で精度・再現率・F値を算出する方法【Python】

今回は、2クラス分類で Python の scikit-learn を使った評価指標である、精度(P

記事を読む

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築したときのメモです。 フ

記事を読む

【機械学習・手法比較】決定木とナイーブベイズを比較してみた。

同じデータを使って、教師有り機械学習手法の 決定木(Decision Tree)とナイーブベイズ(N

記事を読む

無料動画編集ソフト AviUtl で mp4 形式の動画を読み込み・出力する方法【Windows】

今回は、無料動画編集ソフト AviUtl で mp4 形式の動画を読み

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

→もっと見る

PAGE TOP ↑