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


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

参考書籍

関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

初心者でも分かるビットコインの仕組みについてまとめてみた。

ビットコインは,時価総額が1位で最も有名な仮想通貨です. 仮

【LaTeX】 見出し付き箇条書きを右にずらす方法【数式の変数説明】

今回は、LaTeX で見出し付き箇条書きの全体の位置を右にずらす方法に

【LaTeX】 余白部分を設定しレイアウトを確認する方法。

今回は、LaTeX の余白部分のレイアウトの変更方法とレイアウトの確認

【LaTeX】 レポートや論文の表紙のテンプレート。

LaTex を使ってレポートや論文を書くときに、表紙をつけると思います

【DTM】 Cubase AI でギターやベースを録音する方法。

今回は、DTM のための DAWソフト Cubase AI でギター(

→もっと見る

PAGE TOP ↑