Published Date : 2019年11月4日14:32
最初に何をするか説明すると、まず人とは関係のない生き物の画像をPexels APIを使って集めていきます。 次に、Tensorflowを使って画像の特徴を学習し、分類モデルを作成する。 最後に、人の顔の画像を分類器に入れたとき、どのよう結果になるかを実験する。 以上です。
I'll explain what I'm going to do. First, I'll use Pexels API to collect images of creatures that have nothing to do with people. Next, I use Tensorflow to learn image features and create a classification model. Finally, I do an experiment what will happen when I put an image of a person's fase into the classifier.
この手のものはやり尽くされていますが、ただ一から全部やってみたかった。それだけです。 つーことでまず最初にPexels APIを利用して画像を集めていきます。
This kind of thing is done by many people, but I just wanted to do it all from scratch. That's all. So first, I'm going to use the Pexels API to collect images.
目次
Table of Contents
概要 Overview |
Pexels APIの準備 Preparing the Pexels API |
Pexels APIモジュールのインストール Installing the Pexels API Module |
ページの最後へ Go to the end of the page. |
取り敢えず人と関係の無い画像を集める。 具体的には犬、猫、猿、鳥、魚、トカゲ。 一つの種類に付き大体200枚。
First of all, I collect images that are not related to people. Dogs, Cats, Monkeys, birds, Fish, and Lizards. About 200 sheets per kind.
集めるのに使うサイトはフリー素材が揃う「Pexels」。 そのAPIを使用する。
The site I'm using to collect the images is [Pexels], a free image material site. The image acquisition method uses the API provided by the [Pexels].
APIの制限として、1時間ごとに200リクエストまで。 一ヶ月で20000リクエストまでです。
The API has a limit of 200 requests per 1 hour. Another API limitation is 20,000 requests per month.
PexelsのAPIを利用できるようにします。
Enables access to Pexels APIs.
https://www.pexels.com/api/へアクセスする。
Access the https://www.pexels.com/api/.
[Request access]をクリック。
Click [Request access].
アカウントを持っている人はログインする。
Log in. If you have an account.
アカウントを持っていないなら新規で作る。
If you don't have an account, create a new one. click [join] in the upper right.
使用目的と使用サイトを入力する。 試してないから分からんけど、適当でもいいんじゃね?
Enter your brief intended use and the site you want to use in the text box.
「Pexels」からメールが来たら、開いて、「Confirm Email」をクリックする。
When you receive an email from [Pexels], open it and click [Confirm Email].
表示されたAPIキーをメモしておく。
Make note of the displayed API key.
PexelのAPIを扱えるモジュールをインストールする。
Install a module that can handle Pexel APIs.
しかし、Pythonってほんとライブラリが充実している。 偉大なる先人達が便利なモジュールを配布してくれている。 最高級の感謝です。
I think Python has a lot of libraries. Greate predecessors have distributed useful modules. I'm really thankful.
取り敢えず、適当な作業用フォルダを作成してから、PIPを使ってモジュールをインストールします。
First, create a suitable working folder and install the module using the pip.
working folder collector.py
pip install pexels-api
PyPIに書いてあるエグザンプルコードを試してみる。
Let's try the examples code from PyPI.
# Import API class from pexels_api package from pexels_api import API # Type your Pexels API PEXELS_API_KEY = 'YOUR-PEXELS-API-KEY' # Create API object api = API(PEXELS_API_KEY) # Search one 'kitten' photos api.search('kitten', page=1, results_per_page=1)
とりあえず一枚だけリクエストする。 結果は以下のJSON形式で返される。
I'll just request one for now. The result is returned in JSON format.
{'total_results': 1844, 'page': 1, 'per_page': 1, 'photos': [{'id': 416160, 'width': 3888, 'height': 2592, 'url': 'https://www.pexels.com/photo/animal-cat-face-close-up-feline-416160/', 'photographer': 'Pixabay', 'photographer_url': 'https://www.pexels.com/@pixabay', 'photographer_id': 2659, 'src': {'original': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg', 'large2x': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940', 'large': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&h=650&w=940', 'medium': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&h=350', 'small': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&h=130', 'portrait': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=1200&w=800', 'landscape': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=627&w=1200', 'tiny': 'https://images.pexels.com/photos/416160/pexels-photo-416160.jpeg?auto=compress&cs=tinysrgb&dpr=1&fit=crop&h=200&w=280'}, 'liked': False}], 'next_page': 'https://api.pexels.com/v1/search/?page=2&per_page=1&query=kitten'}
細かい説明と実際の取得コードは次回へ。
For a detailed explanation and actual images acquidition python script, see next time.