前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【学术】厉害了我的哥,国外技术大咖仿造了谷歌的Arts &Culture,找到古代的“你”

【学术】厉害了我的哥,国外技术大咖仿造了谷歌的Arts &Culture,找到古代的“你”

作者头像
AiTechYun
发布2018-03-02 15:49:42
6140
发布2018-03-02 15:49:42
举报
文章被收录于专栏:ATYUN订阅号ATYUN订阅号

当我激动的室友第一次向我展示肖像搜索功能时,我对结果感到很惊讶(也觉得有点受侮辱)。对于那些不熟悉它的人来说,谷歌Arts & Culture的这一功能让你可以在谷歌的数字化艺术收藏中找到与你提交的自拍相似的艺术品。

在我看来,这是非常了不起的一件作品:

17世纪的翻版的我

多亏了大量的开源工具和库,在一个下午的时间内,可以创建一些奇妙又具有一定功能的东西。

初步计划

首先,找一些面部识别服务器。Kairos提供了一个免费的API,一旦在该API中输入图像的url,它就会提供一连串的信息:

  • Kairos地址:https://www.kairos.com/

通用输入图像

代码语言:javascript
复制
Returned JSON data (some image info removed for length){"images":
  [{"faces":
    [{"attributes":
      {"age":40,
      "asian":0.00539,
      "black":0.00032,
      "gender":{
        "femaleConfidence":0.00002
        "maleConfidence":0.99998,
        "type":"M"},
      "glasses":"None",
      "hispanic":0.04204,
      "lips":"Apart",
      "other":0.01249,
      "white":0.93976}    
    }]
  }]
}

Kairos还允许将被标记的图像加入到数据库中,当未标记的图像被传递给API时,它将返回数据库中最相似的图像的标签。

虽然这是为了识别已经注册过的人,但它可以执行艺术识别任务(当它的相似性阈值设置得足够低时)。

为了找到合适的图片,我仔细研究了我试图模仿的服务(谷歌Arts & Culture),从谷歌Arts & Culture网站获得艺术品的url。如果我花了4个多小时的时间来做这件事,我可能会花时间给每件艺术品贴上一个独特的id,这个id与数据库中的图像、艺术品名称和艺术家联系在一起,以提供一个全面和轻松的用户体验。但我并没有这样做。

所以每个作品的标签都是简单的url,所以用户可以被重定向到与他们自拍匹配的艺术作品。

代码语言:javascript
复制
from flask import Flask, redirect
代码语言:javascript
复制
#Some function here, get a suitable image url as label
    return redirect(label)

服务器和托管

Flask提供了一个简单的选项,可以在使用python处理图像IO和进程的同时为用户提供一个网页。我不想在托管上花太长时间,我只是在本地运行这个站点。

Kairos需要一个公共图像url作为它的输入,所以要让我的站点在本地网络Ngrok之外显示,为我的本地主机提供一个安全通道。

下一个挑战是处理用户输入和API响应,同时继续为用户提供站点服务。为了处理异步事件,线程库可用于分离两个进程。

最后,是时候给网站提供朋友和家人的自拍照了,还有一些更普通的照片,结果如下所示:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ATYUN订阅号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 初步计划
  • 服务器和托管
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档