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

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

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

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

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

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

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番のような車内の画像を取得しているものもあるため、以下のスクリプトで番号を指定して削除します。


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

参考書籍

関連記事

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

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

記事を読む

【深層学習】 TensorFlow と Keras をインストールする【Python】

今回は、Google Colaboratory 上で、深層学習(DeepLearning)フレームワ

記事を読む

【Weka】アソシエーション・ルール(association rule)【機械学習】

フリーの機械学習ツール Weka でアソシエーション・ルール(association rule)を使

記事を読む

【機械学習】決定木(decision tree)について。

教師あり学習の一つである決定木(desicion tree)について勉強したことを書いていきます。

記事を読む

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

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

記事を読む

【Weka】CSVファイルを読み込んで決定木を実行。

フリーの機械学習ソフト Weka を使って、CSVファイルを読み込んで決定木(Decision Tr

記事を読む

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

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

記事を読む

【Weka】フリーの機械学習ソフトをインストールする方法。

Weka は、GUIで使えるフリーの機械学習ソフトです。 https://ja.wikiped

記事を読む

【Weka】欠損データを自動的に補完するフィルタを使ってみた。

機械学習で用いるデータについてです。データは完璧なことに越したことはないが、通常は、ある属性の値が入

記事を読む

【探索】ダイクストラ法・最良優先探索・Aアルゴリズムの比較。

縦型探索や横型探索では、機械的に順序を付け、最小ステップでゴールを目指します。 つまり、

記事を読む

【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】

今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介し

【MT4】PCが再起動しても自動的に起動させる方法【FX自動売買】

今回は、FX 自動売買用のツールの MT4 で、実行しているPCが再起

【MT4】複数口座を同時に起動させる方法【FX・CFD】

今回は、MT4(メタトレーダー4)で複数口座を同時にログインし、起動さ

【MQL4】スプレッドを取得する方法【MT4】

今回は、MQL4 で対象通貨ペアのスプレッドを取得する方法について紹介

【楽天CFD】取引口座を開設してみた【MT4】

今回は、楽天CFDの取引口座(本番口座)の開設方法について紹介します。

→もっと見る

PAGE TOP ↑