视频会议玩消失?借助神器TensorFlow.js,200行代码教你“隐身”,GitHub标星3k+

简介: 视频会议玩消失?借助神器TensorFlow.js,200行代码教你“隐身”,GitHub标星3k+

疫情期间,许多公司都开启了远程办公,试想一下,在视频会议时,如果你的同事突然从镜头中消失,大家会有什么样的反应?

Google网站工程师Jason Mayes就做了这么一个项目,成功吓到了自己的盆友。通过TensorFlow.js制作了一个插件,可以让系统分离人物和背景,然后从场景中实时删除任何人,也就是说,可以从视频中让人“消失”。

从处理视频的效果来看,隐身的效果还不错。

当然,除了文章开头提到的“隐身“恶作剧,Jason也想到了不少有趣的应用场景。比如帮一个BBC在线连线的“翻车”视频做消除处理:从这两个小孩“嚣张”地走进来到被“无情”地拎走,都被Jason的小插件处理的一干二净

推特上的粉丝也表示,这确实很有趣,也很神奇。

目前,该项目在GitHub上的标星已超过三千。

项目地址:

https://github.com/jasonmayes/Real-Time-Person-Removal

借助神器TensorFlow.js,200行代码实现“隐身”

除了在GitHub放出项目,作者也在codepen.io网站上放出了所有的代码,其JS代码只有短短200多行。

文摘菌也仔细学习了一下,值得注意的是,这个项目本身没有训练新的模型,用的是TensorFlow.js现成的模型,然后通过算法对视频进行了处理,体现的是巧妙的工程思维。

首先,作者利用TensorFlow.js提供的身体分割模型识别出的人体,并定义一个人体区域。


同时,为了应对可能出现的假阴性,定义一个1.3的比例参数。

这个参数很重要,如果大了,背景的更新区域就会变小,视频的实时性也将受到影响;如果定义小了,那么在人物快速移动时,会出现身体边缘闪现的情况,这是一个工程上的取舍问题,感兴趣的同学可以动手修改试一下。

而后,对除人体区域之外的区域(即背景部分)进行实时更新,当在定义的人体区域外检测到人体(即人体出现了移动)时,即可对新的背景部分进行更新


完整代码链接如下,感兴趣的同学可以试试看👇

https://codepen.io/jasonmayes/


TensorFlow.js能做的远不止让你“消失”

作者整个项目的核心是TensorFlow.js提供的身体分割模型,TensorFlow.js可以说是网站工程师使用机器学习模型的一个神器!

TensorFlow.js是一个使用JavaScript进行机器学习开发的库,允许使用JavaScript进行机器学习模型的开发,并可以直接在浏览器或Node.js中使用机器学习模型。

而作者要让镜头中人物“消失”,首先就要找到人体的位置区域,这里使用的就是TensorFlow.js已经训练好的身体分割模型。

比如上面这个项目所用的身体分割模型MobileNet,其调用十分简单

当然,除了MobileNet这种小而快但是准确率不是特别高的模型,也可以选择ResNet这种大而慢但是准确率相对较高的模型。

并且除了身体分割模型,TensorFlow.js还提供图像分类、对象检测、身体分割、句子编码等多种现成的机器学习模型。当然,如果有需要,用户也可以进行重新训练自己的模型。

再或者,如果你想做一些有趣的事情放松一下,TensorFlow.js也绝对不会让你失望。

知乎网友Henry,同时也是一位阿里的高级技术专家,就用TensorFlow.js做了一个完全独立运行于浏览器环境下的AI程序,成功打爆了隐藏在Chrome中的彩蛋游戏“暴龙酷跑”(T-Rex Runner)。

第一次,AI在尝试3次后逐渐学会了如何控制暴龙避让障碍物。

第二次,在引入遗传算法后,仅尝试2次后AI即可学会躲避障碍物。

技术比创造力多一点点的15年老程序员

项目的作者的Jason Mayes在GitHub上的自我介绍是一位15年开发年龄的工程师,除了在GitHub留下足迹,他还给自己做了一个特别有意思的个人网站。

目前,Jason Mayes就职于谷歌“Creative Innovation”团队,专门帮助谷歌的客户开发定制的Web解决方案,所以Jason对HTML、CSS和JavaScript十分熟练,因此在GitHub上的其他项目也都是用这几种语言来实现。

比如他还写过一个小程序,用来在网站上无缝排列自己的“猫片”,看着他为每一张照片配的旁白,资深“猫奴”无疑了。

在网站里面,Jason形容自己是Web开发人员、程序员、技术顾问和分析师的混合型开发者,51%偏向技术,49%偏向创造

的确,要成为一名合格的开发者,除了技术过硬,对这个世界的好奇心也是做出好项目的重要源泉。



相关文章
|
机器学习/深度学习 程序员 TensorFlow
GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包
过年回家的车票抢到了吗?春运一直以来都以难抢票著称,很多人开始通过各种软件和途径,希望能够完成购票大计。按照程序员一向“懒”的做事风格,必然是不愿意自己亲手去做的,直接写一段程序岂不是省时省力?今天分享GitHub标星两万的"抢票神器”。
8137 0
GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包
|
Web App开发 开发工具 开发者
工具分享【二】GitHub 源码查看神器
工欲善其事,必先利其器,最后一个惊艳到你
568 0
工具分享【二】GitHub 源码查看神器
|
数据采集 PyTorch API
图片识别转公式,GitHub 又一 LaTeX 神器面世
只需要把公式图片用鼠标拖动到工具内,就能一键转成 LaTex 公式。 写论文、做研究时,最让你头疼的是什么?想必公式编辑会榜上有名。那么有没有便捷的方法进行公式编辑呢?这里推荐一款神器,它使用 PyTorch Lightning 可将 LaTeX 数学方程的图像映射到 LaTeX 代码。 它的效果是这样的,输入一张带公式的图片,它能转换成 LaTeX 代码形式:
|
前端开发 API C++
Github域名加上1s,在线VS Code阅读源码神器诞生
近日,一款域名为 github1s 开源项目诞生了,正如他的名字所说,只要在 github 地址上面加上 1s,就能秒级用在线 VS Code 打开 github 项目,这可以说为开发者带来了巨大的便利!!!
Github域名加上1s,在线VS Code阅读源码神器诞生
|
网络安全 开发工具 数据安全/隐私保护
版本控制神器GitHub的基本使用与踩坑,教你一铲子填平!
![](https://ceshiren.com/uploads/default/original/3X/5/7/577bcc2d8a6d08b63c42c9cf7d62a83d7dec13ea.gif) ![](https://ceshiren.com/uploads/default/original/3X/c/3/c3193661cc0c2d46655f391bf7db03c55ca6ee6
|
网络安全 开发工具 数据安全/隐私保护
版本控制神器GitHub的基本使用
版本控制神器GitHub的基本使用
|
网络安全 开发工具 数据安全/隐私保护
版本控制神器GitHub的基本使用与踩坑
首先需要申请GitHub帐号,这个就不多说了,大家自行百度或Google吧哈。这里默认大家都已经有GitHub账号了~
|
人工智能 自然语言处理 JavaScript
重磅!GitHub 推出 AI 自动写代码神器,再也不用到处找代码了…
大家好,我是你们的码农大哥——栈长。 3 年前,自 微软收购 Github 后大动作不断啊,两年多之前就让 Github 私库免费了!,后面还推出了 Github for Mobile 移动版,这些我都已经在公众号Java技术栈作过分享,没看过的可以回过头看下。 最近,Github 又搞大事了,推出了一款 AI 编程神器——Github Copilot,牛逼啊,下面栈长带大家来看看到底是什么鬼?
950 0
重磅!GitHub 推出 AI 自动写代码神器,再也不用到处找代码了…
|
机器学习/深度学习 数据采集 人工智能
GitHub上共享的简单易用 TensorFlow 代码集
GitHub上共享的简单易用 TensorFlow 代码集
GitHub上共享的简单易用 TensorFlow 代码集
|
TensorFlow 算法框架/工具
GitHub上用于微控制器的TensorFlow Lite
GitHub上用于微控制器的TensorFlow Lite
GitHub上用于微控制器的TensorFlow Lite