朋友,假如你有一个很大的后院,还有一条可爱的狗子。狗子每天都在院子里撒欢,然后拉下一坨又一坨的便便……
而你的后院夏天长满杂草,冬天又积着厚厚的雪 —— 怎么快速找到这些便便,顺便还能防止自己不小心一脚踩中?
就有这样一位外国小哥灵机一动,自制了一个探测器,完美地解决了这个问题。
不过和大家想象的不太一样啊,这个探测器不是什么物理识味儿的那种复杂东西,也并非简单的视觉识别。主要是靠一个摄像头,外加一个姿势检测模型。
模型一旦识别出小狗正在拉便便的姿势,就能确定便便的位置,然后就在你家后院地图上的相关位置标记一个红圈圈。
你照着这个地图拿着小铲铲,就可以挨个“挖宝”去了 [旺柴]。
自制狗粑粑探测器
小哥自述,他不爱跟着狗屁股后面“捡屎”,他家那边又经常下雪,有时还没来得及铲的便便就被雪盖住了,再找很费劲。于是他就想要一个狗屎探测器,但网上找了一圈也没发现有类似功能的产品。
想起自己平常看到很多网友都会 DIY 一些有趣的概念工具,小哥心想,那我自己搞一个吧。
由于小哥自家后院已经安了一个摄像头,他就决定就从这个摄像头来切入。他在网上搜到了很多“开箱即用”的图像识别模型,最终发现了一个叫做 DeepLabCut 的免费的动物姿态追踪工具。
它由瑞士洛桑联邦理工学院的两名研究人员开发,可以将任何包含动作的视频转换成动捕信息。
上手很简单,除了终端、Colab、Jupyter Notebooks,还提供图形操作界面,主要就需要你花几个小时标记需跟踪的样本,剩下的就交给工具本身就行了。
小哥心想,与其直接在地上识别便便,不如通过观察狗子的行为来发现便便的藏身之处。
于是他拍了很多自家狗子正在拉便便的照片,通过观察发现:这时的狗子呈脊柱弓起、尾巴僵硬地直挺的状态,且保持这个姿势不动。
那么,需要标记的关键点一共就有 6 个,就像这样:
全部标记好后,用 DeepLabCut 进行训练,然后接入监控信息就可以使用了。
除了狗狗,DeepLabCut 也能识别其他动物,所以做个猫粑粑探测器或者其它动物的都不是问题。
为了防止某些动作干扰、让结果更准确,小哥还写了一个“投票机制”,对视频中狗子的每个动作进行系统评分,得分超过 75%,才判定小狗正在便便中,然后记录此时的位置。
小哥表示,这个功能表现得非常优秀,判断很准确 —— 即使在深夜、小狗部分身子都不在监控范围内都能准确检测。
精益求精,小哥自述,他请了一位动物 cosplayer 来扮演狗子“试探”这个探测器。
结果很满意,模型不会识别出假扮成狗在排便的人类。
为了更方便使用,小哥还把这个探测器功能通过 HTTP Server 接入手机。
未来的话,他还打算继续完善其中的逻辑,将检测目标扩展到更多种类的狗狗身上,并把图像处理迁移到云端实现自动化。这样任何人都能就靠一个普通摄像头,就能拥有同款“狗粑粑探测器”了。
“再来一个自动铲屎的机器人就更好了”
不知道你是否心动,有不少网友反正是被这个工具直击痛点,表示也太太太太需要了吧!
小哥倒是挺大方:欢迎大家带着你们的狗子来我的后院 poop 啊。
有人则被小哥的动手能力折服,表示并非所有英雄都要披着大斗篷拯救世界,像他这样在后院检测便便的就很不错!
还有网友提议,接下来搞一个能自动铲屎的机器人就更好了。
好家伙,这个世界真是由懒人推动的??
最后,你需要这样一个狗粑粑探测器吗?或者你也有别的好方法来解决这个问题?欢迎补充~
DeepLabCut 项目地址:
https://github.com/DeepLabCut/DeepLabCut
参考链接:
[1]https://www.youtube.com/watch?v=uWZu3rnj-kQ
[2]https://www.reddit.com/r/MachineLearning/comments/s4c6ob/p_built_a_dog_poop_detector_for_my_backyard/