给长辈装个AI守护(一):表哥让我装监控,我却去训练了一个模型
表哥让我装监控,我越想越不对劲
姑父去世后,姑姑一个人住。表哥让我帮忙装个监控,说他们兄妹几个抽空看看,别姑姑在家摔倒了没人知道。
监控我愿意帮着装,但我当时就想:这运气得多逆天——姑姑摔倒的那一两分钟,表哥他们正好在看监控?
监控能解决"看",解决不了"看不过来"。再孝顺的子女,也不可能24小时盯着屏幕,大家都要上班、带娃、睡觉。真正的问题从来不是家里有没有摄像头,是**摔倒的那一刻,正好有人在看吗**。
我当时就冒出一个念头:能不能搞个AI来帮忙盯着,摔倒了自动给表哥他们发报警?
调研:三条路,各有各的坎
认真调研了一段时间,发现技术上还真可行,方案无非三种:
1. 买高价的自带摔倒检测功能的摄像头;
2. 调用云端的视觉大模型,或者本地部署一套;
3. 找开源的视觉检测模型自己跑。
第1种那种自带检测的成品摄像头,画面传不传、存在哪,我没法确认,心里不踏实。第2种里,调用云端模型意味着家里的实时画面要传出去,这个我个人接受不了。本地部署的话,成本又很高。第3种我找了一圈开源模型,发现大多以室外场景为主,居家场景的很少。
而且有个更根本的问题:**躺着的人,到底是睡着了,还是摔倒了?**纯看画面,这两种情况太像了。
没有我理想中的方案。那就自己训一个。
从50万张图里,挑出2万多张
自己训练,第一件事是搞数据。网上找开源的摔倒数据集,加上睡觉、瑜伽这些家庭日常活动的数据集(做负样本用),攒下来大概50万张图片。
然后就是最枯燥的活:挑图。每天12到16个小时,一张张过。比如足球比赛里大量的"摔倒"——假摔、草地上打滚、庆祝滑跪,这些跟居家场景根本不是一回事,绝大部分剔除,只留一小部分保持数据多样性。同时把睡觉、瑜伽、俯卧撑这些常见的居家活动挑出来做负样本——**因为老人在床上、地垫上平躺的样子,和摔倒躺着的样子,在画面里可能是同一件事**。模型必须学会分清"正常地躺着"和"摔倒后躺着"。
反复筛选之后,最后留下2万多张,其中7000多张异常摔倒图片。

刷抖音,刷出了第二个功能
训练是漫长的过程,等待的间隙我就看看B站、刷刷抖音。有天刷到一个家庭火灾的视频,突然反应过来:摔倒检测之上,我还可以做火灾检测啊。
于是又是找开源数据集,又是50多万张图。这次反过来:把绝大部分森林火灾、野外大火的图去掉,只留一小部分;把抽烟、打火机、香薰、煤气灶的火、蜡烛这些家里常见的东西挑出来做负样本——家里有火太常见了,做饭、点蜡烛、点香薰都是日常,**模型得学会分辨"日常的火"和"危险的火",不能见到火苗就报警**。

然后做多目标检测的训练。
从决定自己训练,到最后拿到比较满意的模型,前后大概半年。摔倒的检测我比较满意;火灾这块说实话还有很大提升空间——我的目标是做预警,尽可能在火刚起、烟刚冒的时候就发现,但恰恰这种早期小火小烟的数据太少、太难找了。
这半年,我一直在想一件事
训练模型的这半年,我经常在抖音刷到有人在家发生意外:有及时被发现救回来的,也有没能及时发现的,遗憾地走了,其中个别还是粉丝不少的网红。
其实我自己也经历过。比较早的时候,家里长辈低血糖晕倒,没能及时发现,先是成了植物人,后来人走了。那时候AI还没现在这么火,如果有的话……不好说,但至少多一个被及时发现的机会。
所以我越来越确定一件事:**独自在家的人出了事,被发现往往是在几小时之后,甚至更久。我想做的,就是把这段时间压到一两分钟。**
我觉得这个事有做成产品的机会。
