Bing Image Search APIを使って、画像を自動収集する

2017年11月8日

ただいま、ディープラーニング技術を用いた、乃木坂メンバーの顔分類アプリを作ろうとしています。顔画像をアップすると、アップされた顔画像がどのメンバーの顔に最も似ているのかを判定するアプリです。

自分の周りを見渡してみると、たまに「あの人ってちょっと堀ちゃんに似てない?」なんて思うことがあるので、それをプログラムによって確かめることができるのですよ!!

アプリ完成のためにまずしなければならないのは、ディープラーニングの学習用データ・テストデータの収集です。つまり、乃木坂メンバーの顔画像収集をする必要があるっていうわけです。

そこで、Microsoftが提供しているBing Image Search APIを利用して、1期生・2期生全員の画像収集するためのプログラムを作ってみました!

画像収集プログラムはpythonで作っています。pythonが好きっていうか、今の所pythonしかまともに扱えません。笑

Microsoft Cognitive Servicesに登録

まずは、Microsoft Cognitive Servicesに登録します。
https://www.microsoft.com/cognitive-services

登録できると、マイページからマイクロソフトの様々なAPIを利用することができるようになります。

最初の90日間は無料トライアルとして、無料でAPIを利用することができます。その後は、自身の希望するプランを選び、それに応じた金額を毎月払い利用する形となります。また、無料トライアルを終了した後、自動的に有料プランに加入させられるといったことはありません。

Bing Image Search APIを利用

APIの基本的な利用方法はマイクロソフトのサイトにドキュメントがあるので、適宜確認することができます。

Bing Image Search API無料トライアル版の制約は、

  • 毎月1000リクエストまで
  • 1秒間につき5リクエストまで

1リクエストにつき確か最大150枚ダウンロードすることができるので、毎月15万枚ダウンロードすることができることになります。趣味で利用するには十分な数字でしょう。(間違っていたらごめんなさい、、笑)
この辺はまたご自身で確認してもらえると幸いです!

Bing Image Search APIを利用した私のコードは以下の通りです。

Bingにある各メンバーの画像を収集してきます。標準入力の「検索名」で画像を検索し、最大で「ダウンロード枚数」で指定した数値分画像をダウンロードします。
このプログラムの不完全な点として、この指定した「ダウンロード枚数」がBingに存在する該当画像の枚数よりも多い場合は、エラーが投げられてしまうという点とメンバー一人につき標準入力する手間があるので完全に自動化がなされていないという点があげられるでしょうか、、
どちらも少しプログムラムをいじるだけで改善することができると思うので、また手直ししたいと思います。つい勢いで雑に作ってしまいましたね。笑

Python

Posted by tanatyu


PAGE TOP