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


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

参考書籍

関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【機械学習】パーセプトロン(Perceptron)について。

パーセプトロンは、教師あり学習の中でも、入出力モデルベース(eager learning:働き者の学

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【投資信託】為替ヘッジのあり・なしについて調べてみた。

海外株式などの投資信託を見ていると、「為替ヘッジ有り」と「為替

【楽天FX】レバレッジやロスカット率を設定する方法。

今回は、楽天FXでレバレッジやロスカット率を設定する方法について紹介し

【MQL4】注文を出す関数について調べてみた【OrderSend】

今回は、EAで注文を出すMQL4の関数「OrderSend()」につい

【楽天MT4】ドル円のスワップとスプレッドについて調べてみた。

楽天MT4で、ドル円(USD/JPY)のスワップポイントとスプレッドに

【MT4】ノートPCを閉じてもEAを実行させ続ける方法【Windows10】

今回は、MT4上でノートPCを閉じてもEAを実行させ続ける方法について

→もっと見る

PAGE TOP ↑