前言

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

一、第一版算法

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

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

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

二、实时比对

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

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

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

  1. 用户上传大头照的时候对此用户在我们的数据库中进行标记,即每个用户都有一个唯一的 faceid,并将此 faceid 和大头照存到百度或者腾讯的人脸库中;

  2. 上传集体照的时候,将集体照按照人脸进行切割,逐一的去百度或者腾讯的人脸库进行比对,如果能够匹配上,则能取到此人的 faceid,用此 faceid 即能查到所关联的用户,于是即可实现照片的自动分发。

三、结论

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

转载于:https://www.cnblogs.com/shoufengwei/p/9182083.html

我如何将亿次的计算降为实时相关推荐

  1. 那个分分钟处理10亿节点图计算的Plato,现在怎么样了?

    受访者 | 于东海 记者 | 夕颜 出品 | CSDN(ID:CSDNnews) 「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分.通过对 AI 生态顶级大咖 ...

  2. 那个分分钟处理 10 亿节点图计算的 Plato,现在怎么样了?

    受访者 | 于东海 记者 | 夕颜 出品 | CSDN(ID:CSDNnews) 「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分.通过对 AI 生态顶级大咖 ...

  3. 腾讯数十亿广告的基础是精准实时推荐

     专访腾讯数据平台部总经理蒋杰:腾讯数十亿广告的基础是精准实时推荐 虎嗅注:本文是福布斯中文网"数据大玩家"专栏中的一篇文章.接受提问的蒋杰先生,是腾讯数据平台部总经理,在加入 ...

  4. 深度 | AI芯片之智能边缘计算的崛起——实时语言翻译、图像识别、AI视频监控、无人车这些都需要终端具有较强的计算能力,从而AI芯片发展起来是必然,同时5G网络也是必然...

    from:https://36kr.com/p/5103044.html 到2020年,大多数先进的ML袖珍电脑(你仍称之为手机)将有能力执行一整套任务.个人助理将变的更加智能,它是打造这种功能的切入 ...

  5. 实时计算业务介绍实时日志分析

    4.1 实时计算业务介绍 学习目标 目标 了解实时计算的业务需求 知道实时计算的作用 应用 无 4.1.1 实时计算业务需求 实时(在线)计算: 解决用户冷启动问题 实时计算能够根据用户的点击实时反馈 ...

  6. 苹果支付35亿元和解iPhone“降速门”:国内用户又被忽略了

    每逢新款iPhone发布,就到了旧款iPhone的速度变慢的时候,这已经是许多iPhone手机用户的共识了. 苹果自己也承认过,为了防止设备意外关机,为了保护设备,在必要时限制了某些旧型号iPhone ...

  7. 潍坊学院计算机打破世界纪录,牛!2017 ASC世界大学生超级计算机总决赛 潍坊学院每秒31.7万亿次峰值计算刷新世界纪录...

    在国家超算无锡中心举行的"2017 ASC世界大学生超级计算机竞赛总决赛"今天进入第四天,经过激烈角逐,潍坊学院代表队创下3000瓦功耗下每秒31.7万亿次浮点运算性能的成绩,一举 ...

  8. 迅雷投身区块链,两年投入3亿开发共享计算及区块链

    区块链技术方兴未艾,各家互联网公司都对这技术表现出很大的兴趣,百度成立区块链技术研发公司"度链",正式吹响了百度在区块链领域进军的号角.BAT互联网三巨头都在不同程度的布局区块链, ...

  9. 百胜中国双重主要上市:市值1313亿港元 第二季度净利降54%

    雷递网 乐天 10月25日 肯德基与必胜客的母公司--百胜中国控股有限公司(百胜中国,纽约证券交易所代码:YUMC 及香港交易所代码:9987)昨日宣布,公司在港交所主板由第二上市地位自愿转为主要上市 ...

最新文章

  1. 八步搞定个人计算机安全
  2. 工业互联网 — 5G 与 IIoT
  3. golang基本数据类型转换
  4. Dynamics CRM 2013 初体验(1):系统的安装
  5. OSPF的虚链路配置
  6. ruby宝石区块链最新消息_Ruby宝石| Ruby工具
  7. Dojo实现Tabs页报错(二)
  8. java实现pop客户机程序_java客户机如何通过JEE服务器(如weblogic、jboss等)进行身份验证的概念...
  9. chrome charset使用_使用JWT保护你的Spring Boot应用 Spring Security实战
  10. Android内核开发:如何统计系统的启动时间
  11. android连mysql注册界面代码_Android实现注册登录界面的实例代码
  12. VC中无LIB时的DLL隐式链接,制作与VC++相符合的LIB函数符号输入库
  13. 当心路径层次太深,名字太长造成解压失败
  14. 51单片机-直流电机
  15. C语言 输出数组中的全部元素的三种方法
  16. 反思腾讯:大数据与AI时代的危与机
  17. 西门子SCL编程语言入门基础知识
  18. java简单小程序 生日快乐,跪求一祝福别人生日快乐小程序
  19. 七升七降调号_降7是什么调?
  20. scheduled一分钟执行一次_Spring中使用@Scheduled创建定时任务

热门文章

  1. SpringMVC系列(九)自定义视图、重定向、转发
  2. 受损虚拟机的修复方法
  3. sql server分页
  4. 在Outlook中设置类似Foxmail带日期的签名
  5. python如何并发上千个get_Python拓展21(python3X之百万并发借鉴)
  6. Zookeeper之java api详解
  7. ruby on rails连接mysql_ruby on rails 连接mysql数据库
  8. 63linux_nat网络原理图64Linux网络配置指令65配置实例
  9. Deep Learning of Binary Hash Codes for Fast Image Retrieval(代码跑通了)
  10. html5新加入的内容,10个html5增加的重要新特性和内容