ZEALS TECH BLOG

ZEALS Developers Blog

Google Cloud Visionを用いてCTOを分析してみた。

こんにちは!

主にバックエンドを担当しているkanacchiです。

今回はCTOの顔をGoogle Cloud Visionを用いて解析したいと思います!

実際にGoogle Cloud Platform のアカウントを作成してAPI KEYを取得してもいいのですが、今回はCTOの顔を数回解析するだけなのでwebページ上で誰でも使えるベータ版で試してみたいと思います。

解析する画像はこちら。

f:id:zeals-engineer:20181119192305j:plain

悪い顔してますね笑

ではさっそくこの画像をアップロードしましょう!!

f:id:zeals-engineer:20181119191952p:plain

Joy(喜び)が最も多いですね!

ただそれでもUnlikelyと比率が低いのが気になります。。

返ってきたJSONを見てると、広角や上下の唇の位置を図っているのでこれらの数値の開き具合で比率の強弱を決めているのかなと思います。

        {
          "type": "UPPER_LIP",
          "position": {
            "x": 2149.567,
            "y": 1477.6831,
            "z": -259.99683
          }
        },
        {
          "type": "LOWER_LIP",
          "position": {
            "x": 2155.813,
            "y": 1656.3391,
            "z": -240.01262
          }
        },
        {
          "type": "MOUTH_LEFT",
          "position": {
            "x": 2031.4382,
            "y": 1556.9113,
            "z": -54.190556
          }
        },
        {
          "type": "MOUTH_RIGHT",
          "position": {
            "x": 2384.7437,
            "y": 1541.4597,
            "z": -226.56876
          }
        },
        {
          "type": "MOUTH_CENTER",
          "position": {
            "x": 2161.9004,
            "y": 1564.5712,
            "z": -231.29558
          }
        },

次にLabel検出(画像に何が写っているか判定してくれる機能)を見てみます。

f:id:zeals-engineer:20181119192648p:plain

Chin(あご)が85%ともっとも比率が大きくなっており、

Hairstyle, Long Hairは髪型関連、

Vision Care,Glasses,Eyewearはメガネ関連となってます。

Google Cloud Visionの解析度すごいですね!

以下JSON。( patientが検出されているのは服装が白いからなんでしょうか笑 )

  "labelAnnotations": [
    {
      "mid": "/m/0f9swq",
      "description": "chin",
      "score": 0.8474933,
      "topicality": 0.8474933
    },
    {
      "mid": "/m/0ds4x",
      "description": "hairstyle",
      "score": 0.8272674,
      "topicality": 0.8272674
    },
    {
      "mid": "/m/0h8jxfl",
      "description": "vision care",
      "score": 0.8026547,
      "topicality": 0.8026547
    },
    {
      "mid": "/m/0jyfg",
      "description": "glasses",
      "score": 0.78919524,
      "topicality": 0.78919524
    },
    {
      "mid": "/m/0j272k5",
      "description": "eyewear",
      "score": 0.6094156,
      "topicality": 0.6094156
    },
    {
      "mid": "/m/02pd__z",
      "description": "long hair",
      "score": 0.6044168,
      "topicality": 0.6044168
    },
    {
      "mid": "/m/0dzd8",
      "description": "neck",
      "score": 0.5968413,
      "topicality": 0.5968413
    },
    {
      "mid": "/m/0ds5b",
      "description": "facial hair",
      "score": 0.58375347,
      "topicality": 0.58375347
    },
    {
      "mid": "/m/05r655",
      "description": "girl",
      "score": 0.563655,
      "topicality": 0.563655
    },
    {
      "mid": "/m/028hfb",
      "description": "patient",
      "score": 0.5354568,
      "topicality": 0.5354568
    },
    {
      "mid": "/m/014cnc",
      "description": "student",
      "score": 0.50019,
      "topicality": 0.50019
    }

そしてかなり驚いたのが、テキストの解析度です。

画像を見てもらうとわかるのですが奥にあるZEALSの「ZEAL」という文字も検出しているんです!

f:id:zeals-engineer:20181119192036j:plain

    "description": "ZEAL",
      "boundingPoly": {
        "vertices": [
          {
            "x": 4036,
            "y": 1708
          },
          {
            "x": 4183,
            "y": 1533
          },
          {
            "x": 4240,
            "y": 1582
          },
          {
            "x": 4093,
            "y": 1756
          }
        ]
      }

今回は画像解析して返ってきたJSONを眺めただけなのですが、非常に面白かったです。

ベータ版の画像解析は画像をwebにアップロードするだけので、画像解析ってどうやってるんだろうと思った方はぜひ試してみてはいかがでしょうか。

【Cloud Vision

cloud.google.com