当前位置: 首页 > 科技观察

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

时间:2023-03-21 13:37:31 科技观察

大数据文摘出品人:Caleb最近国内外坏事太多,每天看文摘都郁闷。每次这个时候,消化菌都会去朋友家抽猫,抽完感觉神清气爽,可谓一剂良药。近日,细菌文摘发现,吸食猫猫被治愈并非孤例。去年,一对日本夫妇在推特上分享了他们的生活秘诀。其中之一是在生气的时候暂停存档,在说话之前先吸猫冷静一下,就像这样:甚至有网友评论说,吸猫有助于世界和平。不过,吸猫虽然好,但也不要贪多了。今年1月,一名妇女因吸猫而患上“鹦鹉热”。大多数得“鹦鹉热”的人都是因为不小心吸入了干涸的鸟粪中的衣原体。虽然吸猫不一定有这种“副作用”,但还是要小心为妙。那么问题来了,有没有什么方法可以安全吸猫,最好是在心情低落的时候?最近,一位名叫AndrewHealey的博主在他的博客上分享了他制作的一个。项目,只要他在电脑前露出悲伤的表情,电脑就会立即给他发一张猫的照片。效果大概是这样的:好了好了,文摘菌知道很多人已经迫不及待了,我们现在看看这个项目是如何完成的。教你“科学”吸猫。在给猫吸奶之前,我们得让电脑知道我们现在很伤心,它才会给我们发猫的照片。对于面部表情识别,Healey选择了开源的vladmandic/human,它提供了一个API来获取一些常见情绪的权重。['悲伤','愤怒','厌恶','恐惧','中性','快乐','惊讶']他简单地将情绪分为“好”和“坏”,这样计算机会更容易进行区分和识别,系统会给每一种情绪打分,总分在-1(很差)和1(很好)之间。由于他不想在每次打喷嚏时都随机触发系统,Healey还添加了一个3秒跟踪平均值来衡量当前情绪。在添加的调试控制台中,你可以看到这些情绪分数,就像这样:系统发送一张猫照片后,它也会进入待机状态,等待5分钟,然后再开始工作。Healey将所有前端代码写在一个原型index.html文件中,主循环以30-40FPS的速度运行。functionmain(){constconfig={backend:'webgl'}consthuman=newHuman.Human(config)asyncfunctiondetectVideo(){//`inputVideo`是网络摄像头流的视频constresult=awaithuman.detect(inputVideo)//`result`包含一个人脸数组以及情绪权重shandleResult(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}需要你的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其实拿到照片后需要调整图片大小,因为CatAPI是专用于提供高分辨率照片,通常可达5MB。以下是您最终使用此函数的方式:defshrink_cat(path):image=Image.open(path)image.thumbnail((400,400))image.save(path)Healey使用PythonSimpleHTTPRequestHandler来提供静态文件,这与同一服务器因为在提供文件python-mhttp.server时单行运行。Healey的计划是不为此运行后端,虽然这仍然是一个可以实现的目标,但他发现用Python编写API胶水代码会更快。当他意识到他也需要一个API路由来处理“发送猫”时,他正要安装Flask,但似乎他可以……通过添加这个hack来继续使用这个简单的服务器:classHttpRequestHandler(http.server.SimpleHTTPRequestHandler):#未来的雇主,请移开视线#当我重写这个函数时deftranslate_path(self,path):ifpath=="/web/cat.json":send_cat()returnsuper().translate_path(path)overrideGeographyand文化,AI识别16种面部表情说到面部识别,Nature之前发表过一篇论文,证实了人类情感表达跨越地域和文化界限的普遍性。论文链接:https://www.nature.com/articles/s41586-020-3037-7一般来说,人的面部有43块不同的肌肉,可以在眼睛、鼻子、嘴巴、下巴处激活、下巴和眉毛周围做出成千上万种不同的表情。为了研究这些表情,加州大学伯克利分校和谷歌的研究人员使用一种称为“深度神经网络”的机器学习技术来分析来自北美、中美、南美、非洲、欧洲、中东的约600万个YouTube视频剪辑中的面部表情和亚洲144个国家。同时,研究人员创建了一个在线互动地图,显示算法如何跟踪与16种情绪相关的面部表情变化,包括逗乐、愤怒、敬畏、专注、困惑、蔑视、满足、渴望、失望、怀疑、得意、兴趣,痛苦,悲伤,惊喜和胜利。研究人员还发现,这16种面部表情无论在世界的哪个角落,都出现在相似的情况下。每个人都倾向于以相似的方式欢呼、哭泣、专注和庆祝,没有一群人会惊讶地微笑、耸耸肩或高兴地皱眉。也就是说,我们用来表达情绪反应的表达方式中有70%是跨文化共享的。所以,不用担心电脑看不懂你的表情。当你难过的时候,你可以悲伤地表现出来,然后通过吸猫来放松~love&peace!相关报道:https://healeycodes.com/when-im-sad-my-computer-sends-me-a-cathttps://twitter.com/NEKOLAND13/status/1442795503859613697