LoginSignup
14
1

More than 3 years have passed since last update.

Face++のDetect APIを使って女装コンテストを採点してみた

Last updated at Posted at 2019-12-19

この記事は、ハンズラボ Advent Calendar 2019 の20日目の記事です


自己紹介

今年の10月に中途で入社いたしました@jxxpsameです。
日々ユニケージという謎テクノロジーに触れております。

こうやってブログのような形式で何かをアウトプットするのは中学生の頃のyahoo!ブログ以来なのでガチガチに緊張してます。


概要

Face++のDetect APIを使って某球団の女装コンテストを採点してみました。


動機

  • 所属するチームでpythonを学んでいこうという風潮があり勉強していたから
  • 某球団のファンだから
  • API使って何かやってみたかった
  • 身内だけでもいいからウケたらいいなという下心

環境

  • OS
    • MacOS Catalina
  • 言語
    • Python 3.8
  • 使用したAPI

Face++って何

北京のMegviiが開発している顔認証プラットフォームの名称です。
Face++のDetect APIは顔を認証して様々な属性を取得できます。
今回はその属性の中からBeauty Scoreという属性を利用して採点します。

また、Face++の利用方法は以下の記事を参考にさせていただきました。
Pairsをpythonで分析してみた〜顔写真編〜
写真を送ると顔を検出して、顔面偏差値まで教えてくれるFace++APIのご紹介


採点対象

某球団の女装コンテスト参加者7名
(今村 石川 高橋 山下 戸郷 直江 横川)
画像は以下にアップされているものを利用しました。
Instagram


ソース

import requests
import json
import pprint

# API
# key:人物名 value:画像のURLを辞書型で宣言
url_dict = {'人物名:画像のURL'}

# 対象の人の数ループ
for img_data in url_dict.items():
    response = requests.post(
        'https://api-us.faceplusplus.com/facepp/v3/detect',
        {
            'api_key': "[Face++から取得したAPIKey]",
            'api_secret': "[Face++から取得したAPISeacret]",
            'image_url': img_data[1], # 画像のURL
            'return_attributes': 'beauty' # 取得したい属性
        }
    )

    # json整形
    json_dict = json.loads(response.text)
    print(img_data[0]) # 人物名出力
    pprint.pprint(json_dict['faces'][0]['attributes']['beauty'])

結果

各選手の名前にinstagramの投稿ページのリンクを貼りましたので合わせてご覧ください。
今村
{'female_score': 77.524, 'male_score': 78.338}
石川
{'female_score': 88.169, 'male_score': 84.546}
高橋
{'female_score': 79.26, 'male_score': 76.487}
山下
{'female_score': 76.926, 'male_score': 78.077}
戸郷
{'female_score': 82.532, 'male_score': 81.738}
直江
{'female_score': 78.401, 'male_score': 79.444}
横川
{'female_score': 71.818, 'male_score': 69.508}

今回は女装コンテストということでfemele_scoreの方を採用いたします。
優勝は石川選手でした!


ちなみに

実際の順位と比べてみると以下のようになりました。

実際の順位 Face++で出した順位
石川 1位 1位
今村 2位 5位
高橋 3位 3位
直江 4位 4位
山下 5位 6位
戸郷 6位 2位
横川 7位 7位

参考
巨人7選手が美しき女装姿!1位石川慎吾ら大変身

戸郷と今村以外はほぼ実際の順位と同じ結果になりました。
Face++恐るべし。


おまけ

他人の顔だけをサンプルデータに使うのは気が引けたので自分(25歳・男性)の顔でもbeauty scoreを測定してみました。

'beauty': {'female_score': 67.239, 'male_score': 62.417},

クッソ低い...
femele_scoreの方が高かったのでもしかしてと思って取得する属性にgender(性別)とついでにage(年齢)を追加してもう一度測定しました。
{'age': {'value': 34},
'beauty': {'female_score': 67.253, 'male_score': 62.442},
'gender': {'value': 'Female'}}

ハンズラボの皆様。
34歳・女性となった私をこれからよろしくお願いいたします。


ハンズラボ Advent Calendar 2019 21日目は @jnuank さんです:clap::clap:

14
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
1