我写了一个程序,我难过的时候,电脑会自动给我发猫猫的照片

简介: 每次这个时候,文摘菌都会去朋友家吸猫,吸着吸着就感觉神清气爽了,可谓一剂良药。

最近,国内外糟心的事太多了,每天看得文摘菌郁郁寡欢。


每次这个时候,文摘菌都会去朋友家吸猫,吸着吸着就感觉神清气爽了,可谓一剂良药。


图片.png


最近文摘菌发现,吸猫治愈这个事,还不是个例。


去年,日本一对夫妇就在推特上分享了自己的生活小窍门,其中一个就是生气的时候暂停存档,先吸猫平复一下心情再说,就像这样:

image.gif图片.png


甚至有网友评论表示,吸猫有助于世界和平。


image.gif图片.png


不过,吸猫虽好,可不要贪杯噢。


今年1月份的时候,就有一名女子因为吸猫患上了“鹦鹉热”。得了“鹦鹉热”的人大多是因为不小心吸入了鸟类干燥粪便中的衣原体,虽然吸猫不一定会有这样的“副作用”,但小心驶得万年船。


那么问题来了,有没有什么方法能够安全吸猫,最好能在心情抑郁的瞬间就能吸到猫呢?


最近,有个名叫Andrew Healey的博主就在博客上分享了自己做的一个项目,只要他在电脑前露出了伤心难过的表情,电脑就会立马给他发送猫猫的照片,雪中送炭不过如此了。


效果大概是这个样子:


image.gif图片.png


好了好了,文摘菌知道很多人已经等不及了,我们现在就来看看这个项目到底是怎么完成的。


手把手教你“科学”吸猫


在吸猫之前,我们得让电脑知道我们现在很伤心,这样它才会给我们发猫猫照片。


在面部表情识别这块,Healey选择了开源的vladmandic/human,该数据库中提供了一个API来获取一些常见情绪的权重。


['sad', 'angry', 'disgust', 'fear', 'neutral', 'happy', 'surprise']


他将情绪简单地分为“好”与“坏”,这样对电脑来说会更容易区分和识别,同时系统会给每种情绪进行评分,总分在-1(非常差)和1(非常好)之间。


由于不想每次因为打喷嚏就随意触发系统运行,Healey还添加了一个3秒追踪平均值来评估当前的情绪。


在添加的调试控制台中,就能看到这些情绪分数,就像这样:


image.gif图片.png


在系统发送一张猫猫照片之后,它也会进入5分钟的待机时间,然后才会重新开始工作。


Healey将所有前端代码写在一个index.html原型文件中,主循环以30-40 FPS的速度运行。


function main() {
const config = { backend: 'webgl' }
const human = new Human.Human(config)
async function detectVideo() {
// `inputVideo` is a video of a webcam stream
const result = await human.detect(inputVideo)
// `result` contains an array of faces along with emotion weights
handleResult(result)
requestAnimationFrame(detectVideo)
}
detectVideo()
}


第一步完成了,接下来我们要让电脑给我们发送猫猫照片。


在这里,Healey使用的是Pushover,该程序目前在程序员家庭自动化项目中还挺受欢迎的。


r = requests.post(
    "https://api.pushover.net/1/messages.json",
    data={
        "token": token,
        "user": user,
        "message": f"{cat_name} needs your attention.",
    },
    files={"attachment": (f"{cat_name}", open(cat_picture, "rb"), "image/jpeg")},
)


随后,Healey将两个API粘合在一起以获取消息数据。随机名称来自网站randomuser。


网站地址:

https://randomuser.me/api/

随机猫猫照片:

https://api.thecatapi.com/v1/images/search


实际上,获得照片后还需要调整图像大小,因为Cat API致力于提供高分辨率的照片,通常能有5MB


以下就是最终得到这个函数的方式:


def shrink_cat(path):
    image = Image.open(path)
    image.thumbnail((400, 400))
    image.save(path)


Healey使用PythonSimpleHTTPRequestHandler来提供静态文件,这与one-liner提供文件时运行的服务器相同python -m http.server。


Healey的计划是不为此运行后端,虽然这仍然是一个可以实现的目标,但他发现用Python编写API粘合代码更快。当他意识到还需要一个API路由来处理“send cat”时,他正要安装Flask,但似乎可以......通过添加这个 hack 继续使用这个简单的服务器:


class HttpRequestHandler(http.server.SimpleHTTPRequestHandler):
    # future employers, please look away
    # while I override this function
    def translate_path(self, path):
        if path == "/web/cat.json":
            send_cat()
        return super().translate_path(path)


超越地域和文化,AI识别16种面部表情


说到面部识别,此前Nature就发表了一篇论文,证实了人类情感表达跨越地域和文化边界的普遍性。


图片.png

论文链接:

https://www.nature.com/articles/s41586-020-3037-7


一般来说,人类面部有43块不同的肌肉,这些肌肉可以被激活在眼睛、鼻子、嘴巴、下巴、下巴和眉毛周围,从而做出数千种不同的表情。

为了研究这些表情,加州大学伯克利分校和谷歌的研究人员使用被称为“深度神经网络”的机器学习技术,分析了YouTube上约600万个视频片段中的面部表情,这些视频来自北美、中美、南美、非洲、欧洲、中东和亚洲的144个国家。


同时,研究人员还创建了一个在线互动地图,展示了该算法如何跟踪与16种情绪相关的面部表情变化,包括娱乐、愤怒、敬畏、专注、困惑、蔑视、满足、欲望、失望、怀疑、得意、兴趣、痛苦、悲伤、惊讶和胜利


图片.png


研究人员还发现,无论身处世界各地,这16种面部表情都出现在类似的情境中。每个人都倾向于以类似的方式欢呼、哭泣、集中注意力和庆祝,没有一群人会因受惊而微笑、耸肩或因高兴而皱眉。

也就是说,我们用来表达情绪反应的70%的表情是跨文化共享的。
所以,不要担心电脑看不懂你的表情,难过的时候你就难过给它看,然后好好吸猫放松一下~
love&peace!


图片.png

相关报道:

https://healeycodes.com/when-im-sad-my-computer-sends-me-a-cathttps://twitter.com/NEKOLAND13/status/1442795503859613697

1.png

相关文章
如何将电脑上的“小电影”隐藏为一张图片?这波操作绝了!!
如何将电脑上的“小电影”隐藏为一张图片?这波操作绝了,实现效果:你女朋友打开文件是一张图片,你打开却是各种“小电影”~~
121 0
如何将电脑上的“小电影”隐藏为一张图片?这波操作绝了!!
|
数据采集 JavaScript 索引
Python让你再也不为文章配图与素材发愁,让高清图片占满你的硬盘!
最近写公众号写的染上了个怪毛病,不到12点根本不知道写啥。一过凌晨那简直是吃了大回复一般的文思泉涌。结果就是越熬夜越晚了.公众号是每天定时发的,简书上的发帖时间才是真正的睡前倒计时...然后,来看看都是几点睡的
116 0
|
监控 安全 数据安全/隐私保护
收藏 | 不要再用陌生人的电脑了,这两个Python库可以让你瞬间“裸奔”
收藏 | 不要再用陌生人的电脑了,这两个Python库可以让你瞬间“裸奔”
|
数据采集 人工智能 安全
ChatGPT显示付费墙内容,OpenAI把联网功能关了,网友炸了
ChatGPT显示付费墙内容,OpenAI把联网功能关了,网友炸了
167 0
|
iOS开发
iOS开发 自拍及照片镜面翻转问题解决办法
iOS开发 自拍及照片镜面翻转问题解决办法
294 0
|
安全 Windows
将爱心代码设为电脑屏保,还能假装黑客大佬,在酷炫的界面中保护隐私
本文介绍 Hacker Screen Saver 一款开源 Windows 屏保的使用。Hacker Screen Saver 是一款 .NET 设计的屏幕保护程序,可以显示 HTML 页面,你可以将黑客模拟器的网页,或者爱心代码网页设置为你的 Windows 电脑屏保。详细介绍了软件的使用和对应网页的修改和制作注意事项。
658 0
将爱心代码设为电脑屏保,还能假装黑客大佬,在酷炫的界面中保护隐私
|
文字识别 测试技术 API
验证码识别最佳方案,你不来试试?
验证码识别最佳方案,你不来试试?
|
缓存 小程序 前端开发
【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发
通过小程序配合百度的人体分割接口进行简单的照片渲染,本期做一个小工具,对学生党、工作人员、打印店铺以及涉及到求职简历办公等需求的人员都很有用,这个项目由于一些原因不再做维护了,于是打算出个教程将证件照小程序分享给大家,这里采用百度AI接口是因为现在网上开源的py脚本对边缘计算不是很优秀,会有很多模糊点没办法处理,识别人体的轮廓范围,与背景进行分离,适用于拍照背景替换、照片合成、身体特效等场景。输入正常人像图片,返回分割后的二值结果图、灰度图、透明背景的人像图(png格式);并输出画面中的人数、人体坐标信息,
552 0
【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发
|
小程序 API 开发者
基于wxapp的圣诞帽头像小程序【完整项目源码】
基于wxapp的圣诞帽头像小程序【完整项目源码】
基于wxapp的圣诞帽头像小程序【完整项目源码】
Win系统 - PC电脑端微信表情和图片转圈解决方案
Win系统 - PC电脑端微信表情和图片转圈解决方案
1365 0
Win系统 - PC电脑端微信表情和图片转圈解决方案