当前位置:网站首页>程序员奶爸自制AI喂奶检测仪,预判宝宝饿点,不让哭声影响老婆睡眠
程序员奶爸自制AI喂奶检测仪,预判宝宝饿点,不让哭声影响老婆睡眠
2022-07-25 12:34:00 【QbitAl】
梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
一位程序员老哥Caleb最近喜得一子,不过烦恼也随之而来。
刚出生的Baby每隔几个小时就要喂一次,夜里饿了就会放声大哭,这时全家都被吵醒,被折腾一晚上睡不好觉。

他咨询了周围有经验的人,得到的建议都是:
忍着,熬过最初几个月就好了。
但Caleb作为程序员可不甘心,开始运用他的工程师思维解决问题。
最终,通过摄像头+AI算法的组合,他搞出一套婴儿饥饿自动检测系统,能在宝宝真正开始哭之前就及时发现。

Caleb让程序一旦判定宝宝的饥饿可能性达到100%,就给他的手机发送通知。

这样他就可以自己悄悄起床去喂奶,用技术力守护了他老婆的睡眠。

这样一套系统也不用从头开发,因为现成的人体姿态检测算法已经很成熟。
比如Caleb用到了谷歌开源的MediaPipe,包括完整的全身姿态、面部网格和手部动作检测。

剩下的问题就是——
AI如何判断婴儿饿了?
在开始动手之前,Caleb先去母婴论坛查阅了大量资料。
根据理论,哭出声代表婴儿已经进入饥饿的后期阶段。此时要想直接喂奶都不太容易,需要先安抚一下宝宝情绪。
饥饿的早期表现还包括咂么嘴(Smacking)或舔嘴唇,反复张嘴闭嘴,吸吮嘴唇、手指或其他衣物玩具等。

Caleb根据观察自家小孩的经验,分别编写代码给这些行为赋予了不同权重。

比如咂么嘴会+10%置信度,把拳头伸到嘴边也要+10%。
而婴儿来回扭头代表正在寻找食物来源,他观察到自家宝宝会根据饥饿程度扭头的频率也不同。
于是他设置在一个短时间段内,扭头越频繁增加的置信度越多。

在此期间,还遇到过婴儿叼着安抚奶嘴会造成遮挡,算法就无法准确识别嘴唇移动的情况。
为此他在开源算法的基础上还重新训练了自己的定制化模型,分别根据叼奶嘴和不叼奶嘴的情况给出置信度。

这个过程中他还发现,宝宝饿极了会把安抚奶嘴吐出去。这个动作会足足增加30%的置信度,代表马上就要哭出声了。
这套系统投入使用以后,确实给Caleb的家庭带来不少好处,他总结道:
宝宝更开心了,大人也能睡得更多一些。
不过,这个故事还没结束……
自动喂奶系统可不可行?
有了软件上的初步成果,并没有满足这位老哥的DIY之魂。
接下来他把这套系统和硬件、机械装置联动在一起,尝试图打造一款全自动喂奶系统。

想法很大胆,不过从结局来看还是有点超纲了。
他也知道这玩意容易出意外,所以先找一个大人扮演婴儿来做实验。

只见他叼着奶嘴模仿婴儿的动作反复扭头咂么嘴,让系统提升置信度,最后把奶嘴吐出去触发系统警报。

接下来发生的事,只能说一句“危险动作,请勿模仿”。

Caleb把这段经历拍成视频分享到网上,在程序员圈、DIY圈都引起了关注。
他透露完成整个开发工作大约只用了50小时,因为MediaPipe开源工具已经非常完善了。
有网友评论说:如果是我来开发这套系统,等我做完孩子已经会打酱油了。

Caleb能做得这么快也是有原因的,目标检测应用的一套开发流程他已经很熟悉了,之前还做过在自家院子里检测狗什么时候拉粑粑。
对于他这种做法,也有人感觉怪怪的。
饿了→必须大哭→得到食物,这应该是学会与周围环境互动、与父母交流的必经阶段,如果只是躺着就能得到食物,是否会影响发育?

另一位网友认为,他从育儿课程上得到的专业建议也是尽力在婴儿哭之前就喂饱他们,所以问题应该不大。

Caleb自己也表示,他和老婆不会完全依赖算法决定给孩子喂食的世界,只是有了AI帮助,他们可以把养孩子做的更有效率。
当然,还有更多感兴趣的网友都在催他:快开源!

视频地址:
https://www.youtube.com/watch?v=Lda1Sq8HRY4
MediaPipe
https://google.github.io/mediapipe/
参考链接:
[1]https://www.reddit.com/r/programming/comments/w58xyn/built_a_hungry_baby_alarm/
边栏推荐
- 【3】 DEM mountain shadow effect
- mysql有 flush privileges 吗
- 2022.07.24 (lc_6124_the first letter that appears twice)
- [ROS advanced chapter] Lecture 9 programming optimization of URDF and use of xacro
- Use vsftpd service to transfer files (anonymous user authentication, local user authentication, virtual user authentication)
- 【7】 Layer display and annotation
- Azure Devops(十四) 使用Azure的私有Nuget仓库
- shell基础知识(退出控制、输入输出等)
- 业务可视化-让你的流程图'Run'起来(3.分支选择&跨语言分布式运行节点)
- Jenkins configuration pipeline
猜你喜欢

【问题解决】org.apache.ibatis.exceptions.PersistenceException: Error building SqlSession.1 字节的 UTF-8 序列的字

485通讯( 详解 )

Alibaba cloud technology expert Qin long: reliability assurance is a must - how to carry out chaos engineering on the cloud?
Software testing interview question: Please list the testing methods of several items?

Make a general cascade dictionary selection control based on jeecg -dictcascadeuniversal

Kyligence 入选 Gartner 2022 数据管理技术成熟度曲线报告

If you want to do a good job in software testing, you can first understand ast, SCA and penetration testing

感动中国人物刘盛兰

PyTorch进阶训练技巧

Jenkins configuration pipeline
随机推荐
[rust] reference and borrowing, string slice type (& STR) - rust language foundation 12
Deployment of Apache website services and implementation of access control
卷积核越大性能越强?一文解读RepLKNet模型
我在源头SQLServer里面登记绝对删除的数据,传到MaxComputer,在数据清洗的时候写绝对
[shutter -- layout] stacked layout (stack and positioned)
状态(State)模式
软件测试流程包括哪些内容?测试方法有哪些?
conda常用命令:安装,更新,创建,激活,关闭,查看,卸载,删除,清理,重命名,换源,问题
【2】 Grid data display stretch ribbon (take DEM data as an example)
零基础学习CANoe Panel(12)—— 进度条(Progress Bar)
Ecological profile of pytorch
Pytorch main module
2022.07.24 (lc_6126_design food scoring system)
零基础学习CANoe Panel(15)—— 文本输出(CAPL Output View )
【AI4Code】《CoSQA: 20,000+ Web Queries for Code Search and Question Answering》 ACL 2021
intval md5绕过之[WUSTCTF2020]朴实无华
软件测试面试题目:请你列举几个物品的测试方法怎么说?
Detailed explanation of switch link aggregation [Huawei ENSP]
Use vsftpd service to transfer files (anonymous user authentication, local user authentication, virtual user authentication)
2022.07.24 (lc_6125_equal row and column pairs)