[2016] 使用 Microsoft 的 Emotion API 确定 TGS2016 的最佳伴侣 [评论]
目录 [非表示]
你好。
我是Mandai,负责Wild 开发团队。
我的妻子告诉我把南瓜切成斜角,因为她要做南瓜炖菜,所以我一段时间以来第一次切斜角。
我们一定要学习日本料理的美味。
今天我想使用微软的Emotion API,所以我正在寻找一个故事,而我手头上看起来像是一个不错的故事的图像来自2016年东京游戏展(以下简称TGS2016)的同伴关于该图像。 。
所以我们要举办“2016年回顾项目!TGS2016最佳伴侣大赛”!
准备通过 Microsoft 帐户使用 Emotion API
您将需要 API 密钥才能访问 Emotion API,因此首先准备使用Microsoft 认知服务
从右上角的“我的帐户”链接进入登录屏幕。
- 微软账户
- Github账号
- 领英帐户
貌似这三个都可以登录。
LinkedIn 为何存在一直是个谜,但现在我想起来,它被微软收购了。
成功登录后,从右上角“注销”旁边的“免费开始”启用您要使用的 API。
这次,我们将启用 Emotion API。
选中“产品名称”为“Emotion”的选择框,并选中底部的“我同意 Microsoft 认知服务条款和 Microsoft 隐私声明”。
之后,只需按“订阅”即可开始。
当屏幕发生变化时,您将看到当前启用的 API 的列表。
目前(2016 年 12 月 27 日),Emotion API 处于预览阶段,因此您每月最多可以免费使用它 30,000 次。
定价结构与 GCP 的 Vision API 略有不同,但每月最多 1000 个单位免费。
单位这个词有点难理解,但是当涉及到分析项目时,可以在一张图像中获取多个项目的数据,例如面部识别可以获取1个单位,文本识别可以多获取1个单位。事物。
再深入一点,Vision API的特点是信息量更大。
即使通过面部识别,也可以获得面部部位位置的详细信息,这可能对后续处理有用。
回到主题,一旦启用Emotion API,您需要获取API Key。
启用 API 时,会启用两个 API 密钥,因此您可以使用其中之一。
在列表中,API 密钥在“密钥”字段中隐藏并带有“X”,因此您可以通过按“显示”或单击“复制”链接来复制它。
成功获取 API Key 后,您的工作就完成了!
如果你想尝试一下,curl 似乎是一个不错的选择。
如果你手头有Linux环境,可以使用curl快速尝试一下。
Emotion API 文档包含一个以 JSON 格式发送 Internet 上文件的 URL 的示例,但这次我们将尝试直接从curl 发送本地二进制文件。
1 | curl - v -X POST "https://api.projectoxford.ai/emotion/v1.0/recognize" \ -H "内容类型:application/octet-stream" \ -H "Ocp-Apim-Subscription-Key : [API 密钥]" \ --data-binary "@[/path/to/image]" |
如果您想直接发送文件
- 内容类型为“application/octet-stream”
- --data-binary选项,图像路径
进入。
如果收到响应号 200 和如下 JSON 数据,则说明成功。
(它很难阅读,所以它的格式是换行符和制表符,但它是一行数据。)
1 | [ { "faceRectangle" :{ "height" :184, "left" :223, "top" :217, "width" :184 }, "scores" :{ "anger" :2.41070044E-08, "contempt" : 4.531843E-06,“厌恶”:7.3893716E-07,“恐惧”:1.44139625E-08,“幸福”:0.9999242,“中性”:6.80201556E-05,“悲伤”:3.14932123E-07,“惊讶” :2.19046137E-06 } } ] |
如果你能做到这一点,你就能享受到很多乐趣。
尝试将其重写为 PHP
您可以利用获取的分析数据做很多有趣的事情,例如处理数据以及创建和排列网页。
这次,我想玩一下DB中的分析数据,所以我将其重写为PHP。
但是,只需运行上面的命令即可。
1 | $url = 'https://api.projectoxford.ai/emotion/v1.0/recognize' ; $subscription_key = '您的 api 密钥' ; $path = '/path/to/image' ; url);curl_setopt_array( $ch , [ CURLOPT_HTTPHEADER => [ 'Content-Type: application/octet-stream' , 'Ocp-Apim-Subscription-Key: ' . $subscription_key , ], CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true , CURLOPT_HEADER => true, CURLOPT_VERBOSE => true, CURLOPT_POSTFIELDS => file_get_contents ( $path ), ]); |
您所要做的就是创建一个文件列表,循环它,并分析大量图像。
不过,有20次/分钟的限制,所以不要忘记,您需要使用睡眠等来调整时间。
我尝试分析大约 200 张图像,结果很好。
由于使用次数的限制,一遍又一遍地敲击它会很浪费,所以将获取的数据存储在数据库中是一个好主意。
数据完整。我们去考试吧……!
我觉得我已经做了很多东西并且已经完成了,所以我想是时候把事情总结一下了,但仍然有评判来决定最重要的第一!
分析的数据包括面部表情中包含哪些情绪以及比例的数据。
情绪分类如下。
- 愤怒
- 鄙视
- 厌恶
- 害怕
- 幸福
- 中性的
- 悲伤
- 惊喜
此分类是截至 2016 年 12 月 27 日的预览版本,因此未来可能会增加或减少。
数据格式也可能更改为完全不兼容的格式。
此外,提供的这些数据的总数为 1。
换句话说,您可以将每个数字乘以 100,并将其视为总数的百分比。
以上情绪中,这次似乎唯一有用的就是“幸福”,所以我们就根据这个数据来判断。
(不过,此时分析已经完成,所以可以肯定地说审查已经完成。)
结果震惊了……和。
或许是因为工作的原因,她习惯了微笑,而且幸福感分数相当高,让这次考试变得困难。
原因是,有21项数据只包含幸福感!
换句话说,“幸福100%”。
我非常想赞扬所有取得这一成绩的同伴。
然而,有一个人是迄今为止最令人惊奇的,他在所有 6 张照片中都有体现,我对所有照片都感到 100% 高兴。
我很害怕。
就是这个图! ! !
我们有五个人,我是中间的一个。
戈兰格的阿卡兰格。
《漂流者》中的碇谷长介。
基纽特殊战队中的基纽。
这就是它的意思。
只要你愿意,你就处于中间。
精彩的。
我印象深刻。
我希望在明年的游戏展上见到您。
就是这样。
谁说会有大奖?
但。
有一种推开如此强大力量的画面深深地刺痛了我的心。
就是这个图像。
当然,分数是100%幸福。
数据不会说谎。
你是超越者吗?
不过,即使我被称为裙带关系人,我也不后悔这个决定。
我穿着从IIJ借来的小红帽服装,所以这张照片是第二天开始前拍的。
她前一天站了一整天肯定很累了,但她的脸上却挂着灿烂的笑容。
我认为可能有一些工作因此而取得了成功。
作为参与者之一,我对这个结果深感感动,所以我想把这个图像授予大奖。
嗯,我很高兴这一切都适合在一起!
最后,我想以大奖获得者的特写镜头作为结束。
是你。
就是这样。