見出し画像

PythonでCrawler(クローラー)作成!Bing Image Search APIで人工知能用の画像を集めたよ!

人工知能の顔認識システムを作ってみたい!

画像1

人工知能のプログラムを作ってみようという事で、簡単な顔認識のシステムを開発しようと思います!!

どんな顔認識システムかと言うと、顔画像を渡した際に、特定の人であるかを見分けるシステムです。

その特定の人に今回選んだのは世界の大スター、クリスティアーノ・ロナウドです。

画像2

顔画像を渡すとそれがクリロナなのか人工知能が判断するようなシステムを作りたいと思います。

完成が楽しみ♪

人工知能の開発には教材が必要

画像3

人工知能を作るには、教材が必要となります。

今回の顔認識システムの場合、クリロナの特徴を覚えさせるために、クリロナの画像を大量に集めないといけません。

検索して、保存してっていうのを繰り返しても可能ですが、そんなのやっていたら時間がバカみたいにかかるので、PythonでCrawler(クローラー)を作成したいと思います。

PythonにてCrawlerを作成!!(Bing Image Search API使用)

ちなみにCrawler(クローラー)とはWEB上の情報を収集するプログラムのことを言います。

完成したプログラムはこちら↓

import requests
import shutil

subscription_key = "****************************"
assert subscription_key
 #URL  for Bing Image Search Api
search_url = "https://api.cognitive.microsoft.com/bing/v7.0/images/search"
 #Search  Query
search_term = "Cristiano Ronaldo Face"
 #Method  for dawnloading image
def download_img(url, file_name):
   r = requests.get(url, stream=True)
   if r.status_code == 200:
       with open(file_name, 'wb') as f:
           r.raw.decode_content = True
           shutil.copyfileobj(r.raw, f)
 #Setting  of this Api
for offset in range(3):
   headers = {"Ocp-Apim-Subscription-Key" : subscription_key}
   params  = {"q": search_term, "count": 150}
   response = requests.get(search_url, headers=headers, params=params)
   response.raise_for_status()
   search_results = response.json()
 #URLs  in this variable
thumbnail_urls = [img["thumbnailUrl"] for img in search_results["value"][:150]]
 #Downloading  images
imageNum = 1
for w in thumbnail_urls:
   download_img(thumbnail_urls[imageNum],r"C:\Users\Face_Judge_001\Images\Image" + str(imageNum)+".png")
   imageNum += 1
   
   if imageNum > 100:
       break
   

Bing Image Search APIの登録方法や使い方はQiitaを参考にしました!

subscription_key = “****************************“に自身のAPIキーを入れる感じです♪

こんな感じで集まりました・・・

クリロナ

とりあえず、学習用教材として100枚集めて、どれくらいの精度なのか見てみたいと思います!

次に作成しないといけないプログラム

画像5

次はCrawler(クローラー)を使って集めたクリロナ画像から顔だけを抽出するプログラムです。

いろいろ調べましたが、顔が入っている画像を集めるだけでは上手く機能しないようです。。。

頑張ってコーディングしていきます( `ー´)ノ

最後までお読みいただきありがとうございました!


この記事が気に入ったらサポートをしてみませんか?