前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我如何将亿次的计算降为实时

我如何将亿次的计算降为实时

作者头像
魏守峰
发布2018-08-01 14:34:44
3970
发布2018-08-01 14:34:44
举报
文章被收录于专栏:点滴积累点滴积累

前言

前期我们做了一个小程序,实现集体照片的自动分发。简单来说就是用户上传一张集体照,凡是出现在集体照中的人都能自动关联到此张照片,有点类似 QQ 和 FB 之前的标记用户,但是整个过程是自动的,无需人为分发,问题就出现在自动上。

一、第一版算法

首先如果自动的话就涉及到照片比对技术,如果自己技术实力雄厚(比如你是吴恩达)可以从底层神经网络开始写起,或者使用开源的人脸识别框架,我使用了百度腾讯的人脸识别接口,用着还可以,基本是免费的(需求不高的时候)。

每位用户首先上传一张自己的大头照,主要是为了去匹配集体照,某位用户上传一张照片,就将此集体照与所有的用户大头照逐一比对,凡是能匹配成功的关联之。

看似非常简单的功能,其实里面存在一个巨大的坑,如果用户量上千万或者上亿的时候,用户每上传一张集体照就要进行亿次的比对,这根本不可能实时,所以我们刚开始的时候考虑每天定时去比对一次,比如在晚上 12 点,所有当天上传的集体照去逐一比对,问题看似能够解决,但是没有了实时性,非常影响用户体验。我苦思冥想了几天后终于找到了一个实时的解决方案。

二、实时比对

对问题进行分析,解决方案就来了,只要我能够优化比对程序,将亿次的比对实现实时操作,问题即可解决。然而我不是吴恩达,换作吴恩达可能也没办法,我们真的做不到亿次比对实时操作。

似乎陷入了僵局,然而我们来换一个角度思考此问题,我们为何不将亿次的比对减少到可以实时的量级?

那么,如何降低比对次数呢?解决方案如下:

  1. 用户上传大头照的时候对此用户在我们的数据库中进行标记,即每个用户都有一个唯一的 faceid,并将此 faceid 和大头照存到百度或者腾讯的人脸库中;
  2. 上传集体照的时候,将集体照按照人脸进行切割,逐一的去百度或者腾讯的人脸库进行比对,如果能够匹配上,则能取到此人的 faceid,用此 faceid 即能查到所关联的用户,于是即可实现照片的自动分发。

三、结论

简单的两步即解决了实时比对的问题,有的时候换一个角度去思考问题,问题便迎刃而解!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、第一版算法
  • 二、实时比对
  • 三、结论
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档