WebRTC开发者社区为开发者提供最新最全的WebRTC资料
目录
  • 首页
  • WebRTC概念与基础
  • WebRTC项目与应用
  • WebRTC教程资料
  • WebRTC开发资源
  • WebRTC源码分析
  • WebRTC服务端开发
  • WebRTC网络与通信
  • WebRTC编码与解码
  • WebRTC问题与缺陷
  • WebRTC-Androd端开发
  • WebRTC-RFC文档

探索面部识别与WebRTC

2019-11-24 13:56:32

作者:Andy,Simpleweb(原文链接)

翻译:刘通
原标题:Exploring Facial Recognition with WebRTC

近几年来,面部识别技术一直在智能手机创新的周围徘徊。随着苹果公司在iPhone X上推出Face ID,人们开始更多的关注面部识别技术。

我们团队向来喜欢实验和探索未来技术的潜力。所以我们与Cristiano一同利用WebRTC做一些关于面部识别的研究和探索。

在这篇文章中,我们会分享Cristiano的一些成果,他学到的东西,以及他对这种技术挑战和局限性的看法。

什么是WebRTC?

WebRTC是一个开源的网络框架,支持浏览器中的实时通信。它包括Web上高质量通信的基础构建模块,如用于语音和视频聊天应用程序的网络,音频和视频组件。

用Cristiano的话来说就是“一种可以通过浏览器调用麦克风,音频和摄像头的方法”。

Cristiano使用WebRTC,Canvas,微软Cognitive Services以及他们的Emotion API来创建了一个原型工具,该工具可以通过网络摄像头在浏览器中通过面部表情来检测情绪。

探索

为了帮助检测面部表情是快乐还是悲伤,Cristiano创建了一个网格,通过网络摄像头映射不同的脸部点。当用户移动他们面部时,点和网格也随之移动。然后将这些信息发送到Microsoft的Emotion数据库,然后该数据库就能检测某人的表情是什么,悲伤的还是开心的。

Cristiano尝试了一些不同的库来在脸上绘制出关键点。他最终选择了Beyond Reality Face(BRFv4),因为它在客户端运行,所以不依赖于服务器,并且可以在他的浏览器中轻松地工作。BRFv4会检测你的面部,然后映射关键点和网格,并且在你的脸上反馈上很多小点。BRFv4可以检测人脸上的68个关键点。很酷对吧。

face1

你可以点击下列链接来查看不同的库。

# Beyond Reality Face

# clmtrackr

# BetfaceAPI

虽然BRFv4能够胜任大部分困难的工作,但是Cristiano想要更进一步,想要定制网格和关键点来更好的控制它。

为此,Cristiano使用了Canvas,一个可以允许他定制选择的网格和关键点的一种HTML5元素。这样他就能够轻松地改变颜色,移除线条,甚至用其他几何形状来替代小点。Canvas给了Cristiano更多的选择。

检测面部表情的最后一步是利用微软的Emotion API。这是一个超级大的数据库,里面充满了“情绪数据”,一旦视频帧被发送给它,它就会给出响应。Cristiano能够将每个视频帧作为“Base64”图像发送给API,并返回什么面部表情。Cristiano也研究了Affectiva的API,他认为它比微软的API更好,因为它可以提供更详细的信息。但是由于浏览器支持原因而受到了限制,不适合在这个项目里使用。

face2

点击这里观看视频

挑战和限制

Cristiano也遇到了一些主要围绕设备和浏览器支持问题的挑战和限制。根据Cristiano所说,主要的限制是:

# 跨浏览器支持:并不是所有的浏览器版本都支持WebRTC,比如低于11.0版本的Safari就不支持。

# 设备支持:某些设备在支持WebRTC时不时完全可靠。例如iPhone 6有时就会卡住或者显示空白的背景。

# API的数据负载:每次向Microsoft的API发送视频帧都会传送很多数据,所以你必须限制发送的帧数。

# 需要HTTPS连接:如果你想要一个可以共享的原型,那么你就需要设置一个https连接,单数如果是在本地主机行,那么大多数的浏览器都会允许进行共享。

By:rasp | WebRTC概念与基础 |

  • 分类目录

    • WebRTC概念与基础 (225)
    • WebRTC项目与应用 (33)
    • WebRTC教程资料 (38)
    • WebRTC开发资源 (13)
    • WebRTC源码分析 (12)
    • WebRTC服务端开发 (23)
    • WebRTC网络与通信 (26)
    • WebRTC编码与解码 (15)
    • WebRTC问题与缺陷 (2)
    • WebRTC-Androd端开发 (2)
    • WebRTC-RFC文档 (1)
  • 最新文章

    • 音视频相关的书籍,多媒体技术
    • SFU级联解决方案——Jitsi
    • SFU级联解决方案——Licode
    • Janus源码分析(6)——Streaming分析
    • janus Streaming插件推流指南
    • 流媒体服务器 
    • WebRTC+libwebsockets+Janus的秒开实践
    • 基于WebRTC的直播CDN
    • 不需要SFU实现WebRTC联播实践  
    • webrtc 开启Simulcast功能
    • Migrating your native/mobile application to Unified Plan/WebRTC 1.0 API
    • WebRTC源码分析rfc4588 RTP重传有效载荷格式
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • WebRTC网关服务器搭建:开源技术 vs 自行研发
    • 自研WebRTC网关服务器架构的实践之路
    • WEBRTC三种类型(Mesh、MCU 和 SFU)的多方通信架构  
    • janus的videoroom插件
    • WebRTC+libwebsockets+Janus的秒开实践
    • Janus源码分析(7)——videoroom分析
    • Janus源码分析(5)——echotest分析
    • Janus源码分析(4)——信令交互过程
    • WebRTC+libwebsockets+Janus的秒开实践
    • 前向纠错码(FEC)的RTP荷载格式
    • WebRTC 开发实践:从一对一通话到多人会议
    • Distord如何使用WebRTC处理250万用户同时进行的音频交流
    • 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
    • 基于WebRTC技术的多人音视频解决方案
    • 谁是最好的WebRTC SFU?
    • WebRTC媒体服务器
    • 使用Janus作为对讲服务器的后台框架和业务流程
  • 链接

    • WebRTC官网
    • xSky 实验室
    • 树莓派技术圈
    • 声网 Agora
    • WebRTC中文网
    • web性能权威指南
    • WebRTC官网
    • webrtc在线源码
    • webrtc在线源码
    • webrtc
    • webrtc示例
    • LiveVideoStack
    • 雷霄骅(leixiaohua1020)的专栏
  • 开源项目


Powered By xblog Copyright 0xsky.com All Rights Reserved.

Copyright WebRTC.ren All Rights Reserved.