Tips

Cloud Vision APIをPHPから使ってみた。その③

Cloud Vision APIをPHPから使ってみた。その③

Cloud Vision APIをPHPから使ってみた。その③

前回はCloud Vision APIにPHP側からリクエストを投げるところまでを行いましたので、
今回はレスポンスの結果を確認していきたいと思います。

レスポンス内容

まずはレスポンス内容を見てみましょう。
今回はFACE_DETECTIONのみを指定していますので、FACE関連の内容しか出てきませんが、
他のDETECTIONも指定すると、もっと沢山出てきます。

{
    "responses": [
        {
            "faceAnnotations": [
                {
                    "angerLikelihood": "UNLIKELY", 
                    "blurredLikelihood": "VERY_UNLIKELY", 
                    "boundingPoly": {
                        "vertices": [
                            {
                                "x": 277, 
                                "y": 44
                            }, 
                            {
                                "x": 421, 
                                "y": 44
                            }, 
                            {
                                "x": 421, 
                                "y": 212
                            }, 
                            {
                                "x": 277, 
                                "y": 212
                            }
                        ]
                    }, 
                    "detectionConfidence": 0.89532435, 
                    "fdBoundingPoly": {
                        "vertices": [
                            {
                                "x": 303, 
                                "y": 83
                            }, 
                            {
                                "x": 399, 
                                "y": 83
                            }, 
                            {
                                "x": 399, 
                                "y": 179
                            }, 
                            {
                                "x": 303, 
                                "y": 179
                            }
                        ]
                    }, 
                    "headwearLikelihood": "VERY_UNLIKELY", 
                    "joyLikelihood": "VERY_UNLIKELY", 
                    "landmarkingConfidence": 0.71623695, 
                    "landmarks": [
                        {
                            "position": {
                                "x": 332.76343, 
                                "y": 113.692245, 
                                "z": 0.0010525604
                            }, 
                            "type": "LEFT_EYE"
                        }, 
                        {
                            "position": {
                                "x": 369.34872, 
                                "y": 113.70369, 
                                "z": -0.04455744
                            }, 
                            "type": "RIGHT_EYE"
                        }, 
                        {
                            "position": {
                                "x": 315.5745, 
                                "y": 103.84334, 
                                "z": 4.8573413
                            }, 
                            "type": "LEFT_OF_LEFT_EYEBROW"
                        }, 
                        {
                            "position": {
                                "x": 340.6877, 
                                "y": 100.55593, 
                                "z": -6.7010517
                            }, 
                            "type": "RIGHT_OF_LEFT_EYEBROW"
                        }, 
                        {
                            "position": {
                                "x": 360.66492, 
                                "y": 100.841, 
                                "z": -6.675439
                            }, 
                            "type": "LEFT_OF_RIGHT_EYEBROW"
                        }, 
                        {
                            "position": {
                                "x": 385.28314, 
                                "y": 104.174805, 
                                "z": 4.846083
                            }, 
                            "type": "RIGHT_OF_RIGHT_EYEBROW"
                        }, 
                        {
                            "position": {
                                "x": 350.5497, 
                                "y": 111.564865, 
                                "z": -8.780574
                            }, 
                            "type": "MIDPOINT_BETWEEN_EYES"
                        }, 
                        {
                            "position": {
                                "x": 350.6659, 
                                "y": 133.53343, 
                                "z": -25.98531
                            }, 
                            "type": "NOSE_TIP"
                        }, 
                        {
                            "position": {
                                "x": 350.88446, 
                                "y": 152.79016, 
                                "z": -18.262651
                            }, 
                            "type": "UPPER_LIP"
                        }, 
                        {
                            "position": {
                                "x": 350.79382, 
                                "y": 168.62276, 
                                "z": -17.48801
                            }, 
                            "type": "LOWER_LIP"
                        }, 
                        {
                            "position": {
                                "x": 337.01038, 
                                "y": 162.19357, 
                                "z": -8.738847
                            }, 
                            "type": "MOUTH_LEFT"
                        }, 
                        {
                            "position": {
                                "x": 364.25076, 
                                "y": 161.97086, 
                                "z": -8.87977
                            }, 
                            "type": "MOUTH_RIGHT"
                        }, 
                        {
                            "position": {
                                "x": 350.7603, 
                                "y": 160.12784, 
                                "z": -16.026594
                            }, 
                            "type": "MOUTH_CENTER"
                        }, 
                        {
                            "position": {
                                "x": 361.30548, 
                                "y": 139.67697, 
                                "z": -9.994327
                            }, 
                            "type": "NOSE_BOTTOM_RIGHT"
                        }, 
                        {
                            "position": {
                                "x": 341.03574, 
                                "y": 139.70354, 
                                "z": -10.173845
                            }, 
                            "type": "NOSE_BOTTOM_LEFT"
                        }, 
                        {
                            "position": {
                                "x": 350.99435, 
                                "y": 141.5242, 
                                "z": -16.810558
                            }, 
                            "type": "NOSE_BOTTOM_CENTER"
                        }, 
                        {
                            "position": {
                                "x": 327.90234, 
                                "y": 110.401825, 
                                "z": -2.1700659
                            }, 
                            "type": "LEFT_EYE_TOP_BOUNDARY"
                        }, 
                        {
                            "position": {
                                "x": 339.141, 
                                "y": 114.66393, 
                                "z": 0.17736068
                            }, 
                            "type": "LEFT_EYE_RIGHT_CORNER"
                        }, 
                        {
                            "position": {
                                "x": 331.3952, 
                                "y": 117.13222, 
                                "z": -0.74573904
                            }, 
                            "type": "LEFT_EYE_BOTTOM_BOUNDARY"
                        }, 
                        {
                            "position": {
                                "x": 319.67868, 
                                "y": 114.63684, 
                                "z": 4.0833383
                            }, 
                            "type": "LEFT_EYE_LEFT_CORNER"
                        }, 
                        {
                            "position": {
                                "x": 327.14227, 
                                "y": 113.88191, 
                                "z": -0.55243915
                            }, 
                            "type": "LEFT_EYE_PUPIL"
                        }, 
                        {
                            "position": {
                                "x": 372.6692, 
                                "y": 110.03074, 
                                "z": -2.2177434
                            }, 
                            "type": "RIGHT_EYE_TOP_BOUNDARY"
                        }, 
                        {
                            "position": {
                                "x": 379.61917, 
                                "y": 113.85382, 
                                "z": 3.70754
                            }, 
                            "type": "RIGHT_EYE_RIGHT_CORNER"
                        }, 
                        {
                            "position": {
                                "x": 369.88336, 
                                "y": 116.95369, 
                                "z": -0.7889224
                            }, 
                            "type": "RIGHT_EYE_BOTTOM_BOUNDARY"
                        }, 
                        {
                            "position": {
                                "x": 361.6826, 
                                "y": 114.54378, 
                                "z": 0.1364616
                            }, 
                            "type": "RIGHT_EYE_LEFT_CORNER"
                        }, 
                        {
                            "position": {
                                "x": 373.2228, 
                                "y": 113.504074, 
                                "z": -0.6530298
                            }, 
                            "type": "RIGHT_EYE_PUPIL"
                        }, 
                        {
                            "position": {
                                "x": 325.837, 
                                "y": 97.099304, 
                                "z": -2.0782194
                            }, 
                            "type": "LEFT_EYEBROW_UPPER_MIDPOINT"
                        }, 
                        {
                            "position": {
                                "x": 374.49063, 
                                "y": 96.73857, 
                                "z": -2.1848493
                            }, 
                            "type": "RIGHT_EYEBROW_UPPER_MIDPOINT"
                        }, 
                        {
                            "position": {
                                "x": 300.00845, 
                                "y": 145.06592, 
                                "z": 50.649952
                            }, 
                            "type": "LEFT_EAR_TRAGION"
                        }, 
                        {
                            "position": {
                                "x": 397.4974, 
                                "y": 143.11761, 
                                "z": 48.0778
                            }, 
                            "type": "RIGHT_EAR_TRAGION"
                        }, 
                        {
                            "position": {
                                "x": 350.22372, 
                                "y": 100.80855, 
                                "z": -8.056211
                            }, 
                            "type": "FOREHEAD_GLABELLA"
                        }, 
                        {
                            "position": {
                                "x": 350.92908, 
                                "y": 189.51155, 
                                "z": -14.014768
                            }, 
                            "type": "CHIN_GNATHION"
                        }, 
                        {
                            "position": {
                                "x": 304.9187, 
                                "y": 170.83353, 
                                "z": 27.585705
                            }, 
                            "type": "CHIN_LEFT_GONION"
                        }, 
                        {
                            "position": {
                                "x": 396.78854, 
                                "y": 169.80559, 
                                "z": 27.643484
                            }, 
                            "type": "CHIN_RIGHT_GONION"
                        }
                    ], 
                    "panAngle": -0.041533586, 
                    "rollAngle": -0.4864438, 
                    "sorrowLikelihood": "VERY_UNLIKELY", 
                    "surpriseLikelihood": "VERY_LIKELY", 
                    "tiltAngle": 9.323663, 
                    "underExposedLikelihood": "VERY_UNLIKELY"
                }
            ]
        }
    ]
}

読み取れる感情としては以下の4つ

  • angerLikelihood(怒り)
  • sorrowLikelihood(悲しみ)
  • joyLikelihood(楽しみ)
  • surpriseLikelihood(驚き)

その他に

  • underExposedLikelihood(露光度合い)
  • blurredLikelihood(ぼやけ具合)

といった内容や

  • headwearLikelihood(帽子を被っているか)

といったものまで解析できるようです。

また、その解析の確からしさが

  • detectionConfidence

で数値化されています。
前回の戻り値のJSON($jsonArr)を使うと

echo $jsonArr["responses"][0]["faceAnnotations"][0]["angerLikelihood"];
echo $jsonArr["responses"][0]["faceAnnotations"][0]["detectionConfidence"];

といった記述で表示することができます。

次回は解析画像をアップロードする用のPHPプログラムを作成します。

初級インフラエンジニアにオススメ連載リンク

ネットワーク学習の登竜門・・
ゼロからのCCNA独学講座

Linuxの取り扱いを基礎から学ぶ
Linux資格 「LPIC-Lv1」徹底解説

Recent News

Recent Tips

Tag Search