您当前的位置:首页 > 科技 > 资讯

坐姿不对,屏幕就变模糊!教你用TensorFlow做一款“隐形背背佳”

2020-08-01 22:21:28 来源:  作者: 朝闻网
摘要: 作为一个下班族,天天坐正在电脑前那末久,不免呈现腰酸背痛的状况,工夫长了乃至脊柱都曲解变形了,这可不可!必定要抑制住本人的坐姿。 这里有款“隐形背背佳”,要没有要理解一

作为一个下班族,天天坐正在电脑前那末久,不免呈现腰酸背痛的状况,工夫长了乃至脊柱都曲解变形了,这可不可!必定要抑制住本人的坐姿。

这里有款“隐形背背佳”,要没有要理解一下?

一名名叫Olesya Chernyavskaya的俄罗斯顺序媛就用TensorFlow开辟了一款坐姿监视东西,一旦你歪着身子,屏幕就会变含糊,正在有形中帮你改正坐姿~

Olesya为这个名目特地做了一个网站,蜜斯姐透露表现这个网站没有会盗取网友的数据,想体验这款坐姿监视东西的小同伴能够猛戳:

https://fix-posture.glitch.me/

这听起来有点意义,文摘菌也来尝尝!

驼背、歪头、托腮统统逃不外零碎的检测,眼看着屏幕变含糊

翻开网站,最下面这个框里有个“开端”的按键,点击以后摄像头就开端检测你的坐姿啦,文摘菌侧上身子果真屏幕就变含糊了,这类觉得素昧平生,这莫非没有是本菌摘下眼镜的霎时吗!

吓患上文摘菌赶忙坐直了,话说这款东西也没有是出格活络,偶然候会有一些耽误,即便坐直了也要等一会屏幕才干明晰,另有时分会辨认没有进去。

并且,只要正在这个网站上才干完成主动含糊,正在阅读其余网站或许微信私聊的时分就没甚么变革啦。

虽然名目没有太成熟,但创意仍然可佳!就连TensorFlow民间也pick了这个名目。

本来这是TensorFlow举行的一个名为“TFCo妹妹unitySpotlight”的参赛勾当,旨正在为年满18岁的顺序员供给一个面向全世界展现本人的平台,只需正在名目顶用TensorFlow框架开辟就行,民间会推举出一些他们以为的技能与创意俱佳的作品停止展现。

正在报名涵上不看到参赛的停止日期,这该当是一个临时的名目选秀,如今还能够报名哦,想展现本人名目的小同伴还烦懑来~

https://services.谷歌.com/fb/forms/tensorflowprojectrecognitionform/

说到这里,来以及文摘菌一同看看Olesya是若何完成这个名目的吧。

记载初始身形地位,每一秒反省坐姿,一旦发明差别屏幕立即含糊

正在这个名目中,她用了TensorFlow.js PoseNet模子来检测身材部位,并借助ml5.js构建PoseNet模子,还用了p5.js协助处置画布以及摄像头。

对于检测人体身形,Olesya有两个点子:

  1. 建一个模子,并教它了解甚么是过错的坐姿;
  2. 让人一开端坚持精确的坐姿,让模子记载眼睛以及肩膀的地位精确。而后每一秒钟check一遍新的地位,并与精确的地位停止比拟。

Olesya武断挑选了第二种办法,由于这更易也更快完成。

详细来讲,当模子开端收集人的身形时,会先记载下一个精确的坐姿,能够设想有一个垂直于双眼以及双肩地点平行线的y轴,如许就能够记载精确坐姿下的数据特点。当你哈腰驼背时,模子能够检测出你双眼以及双肩代表的两条平行线正在y轴上的位移,由此判别出你不好好坐着。

那我没有驼背,我悄然托个腮总行了吧!除了非你的眼睛以及肩膀都不歪,不然仍是会被零碎检测出你的坐姿没有精确。Olesya还想到了良多种没有良坐姿,以她心爱的画风展现正在了图中,比方把脚放到了桌子上,或许脚踩椅子翘起膝盖,这些通通都能被检测到。

说完了身形检测的工作,该说一说若何含糊屏幕了。

话未几说,间接放出代码,要想屏幕变含糊,就患上这么敲:

function blurScreen() {
document.body.style.filter = 'blur(10px)';
document.body.style.transition= '0.9s';
}

要想变回明晰的屏幕,移除了一下就行:

function removeBlur() {
document.body.style.filter = 'blur(0px)';
}

当咱们按下开端键,零碎会记载眼睛的地位作为默许的精确地位。

while (defaultRightEyePosition.length < 1) {
defaultRightEyePosition.push(rightEye.y);
}

开端检测后,零碎就会不断比拟默许地位以及以后地位。假如差别超越15,就象征着不坚持杰出的姿态,并且顺序会挪用含糊屏幕的功用:

if (Math.abs(rightEye.y - defaultRightEyePosition[0]) > 15) {
blurScreen();
}

假如差别小于15,就阐明坐姿坚持的没有错:

if (Math.abs(rightEye.y - defaultRightEyePosition[0]) < 15) {
removeBlur();
}

除了此以外,Olesya连她做这个网站的进程也都知心的写了上去,感兴味的小同伴能够猛戳:

https://fix-posture.glitch.me/

Github指路:

https://github.com/monolesan/fix-posture

这是一名沉溺正在本人编程天下里的顺序媛

猎奇的文摘菌想看看这位蜜斯姐还做过甚么名目。

看了她的推特,文摘菌感到这是一名心坎颇有设法主意的顺序媛,对于编程有着激烈的酷爱,老是能做出一些创意小名目,完整是兴味使然。

Olesya常常会分享一些名目进程中她以为风趣之处,比方一个能够跟从人脸挪动的“年夜卫”:

比方当她正在用TensorFlow的手势模子做名目时,零碎辨认到了她拿起杯子的手,她感到颇有趣就做了个“他人品茗以及我品茗时”比照的脸色包。

沉溺正在本人的编程天下里,做着本人酷爱的名目,想必是很高兴的工作~ 以及文摘菌同样猎奇的同窗能够去她的推特感触感染一下:

https://twitter.com/monolesan

【根源:年夜数据文摘】

申明:转载此文是出于传送更多信息之目标。如有根源标注过错或者进犯了您的正当权柄,请作者持权属证实与本网联络,咱们将实时改正、删除了,感谢。 邮箱地点:newmedia@xxcb.cn

热门推荐
返回顶部