鏟個屎都這么硬核?!小哥用姿勢檢測模型,搞了個狗粑粑探測器
網(wǎng)友:再來一個自動鏟屎機(jī)器人就更完美了
盆友,假如,我是說假如你有一個很大的后院,還有一條可愛的狗子。
狗子每天都在院子里撒歡,然后拉下一坨又一坨的便便……
而你的后院夏天長滿雜草,冬天又積著厚厚的雪——怎么快速找到這些便便,順便還能防止自己不小心一腳踩中?
就有這樣一位外國小哥靈機(jī)一動,自制了一個探測器,完美地解決了這個問題。
不過和大家想象的不太一樣啊,這個探測器不是什么物理識味兒的那種復(fù)雜東西,也并非簡單的視覺識別。
主要是靠一個攝像頭,外加一個姿勢檢測模型。
模型一旦識別出小狗正在拉便便的姿勢,就能確定便便的位置,然后就在你家后院地圖上的相關(guān)位置標(biāo)記一個紅圈圈。
你照著這個地圖拿著小鏟鏟,就可以挨個“挖寶”去了[旺柴]。
自制狗粑粑探測器
小哥自述,他不愛跟著狗屁股后面“撿屎”,他家那邊又經(jīng)常下雪,有時還沒來得及鏟的便便就被雪蓋住了,再找很費(fèi)勁。
于是他就想要一個狗屎探測器,但網(wǎng)上找了一圈也沒發(fā)現(xiàn)有類似功能的產(chǎn)品。
想起自己平常看到很多網(wǎng)友都會DIY一些有趣的概念工具,小哥心想,那我自己搞一個吧。
由于小哥自家后院已經(jīng)安了一個攝像頭,他就決定就從這個攝像頭來切入。
他在網(wǎng)上搜到了很多“開箱即用”的圖像識別模型,最終發(fā)現(xiàn)了一個叫做DeepLabCut的免費(fèi)的動物姿態(tài)追蹤工具。
它由瑞士洛桑聯(lián)邦理工學(xué)院的兩名研究人員開發(fā),可以將任何包含動作的視頻轉(zhuǎn)換成動捕信息。
上手很簡單,除了終端、Colab、Jupyter Notebooks,還提供圖形操作界面,主要就需要你花幾個小時標(biāo)記需跟蹤的樣本,剩下的就交給工具本身就行了。
小哥心想,與其直接在地上識別便便,不如通過觀察狗子的行為來發(fā)現(xiàn)便便的藏身之處。
于是他拍了很多自家狗子正在拉便便的照片,通過觀察發(fā)現(xiàn):這時的狗子呈脊柱弓起、尾巴僵硬地直挺的狀態(tài),且保持這個姿勢不動。
那么,需要標(biāo)記的關(guān)鍵點一共就有6個,就像這樣:
全部標(biāo)記好后,用DeepLabCut進(jìn)行訓(xùn)練,然后接入監(jiān)控信息就可以使用了。
除了狗狗,DeepLabCut也能識別其他動物,所以做個貓粑粑探測器或者其它動物的都不是問題。
為了防止某些動作干擾、讓結(jié)果更準(zhǔn)確,小哥還寫了一個“投票機(jī)制”,對視頻中狗子的每個動作進(jìn)行系統(tǒng)評分,得分超過75%,才判定小狗正在便便中,然后記錄此時的位置。
小哥表示,這個功能表現(xiàn)得非常優(yōu)秀,判斷很準(zhǔn)確——即使在深夜、小狗部分身子都不在監(jiān)控范圍內(nèi)都能準(zhǔn)確檢測。
精益求精,小哥自述,他請了一位動物cosplayer來扮演狗子“試探”這個探測器。
結(jié)果很滿意,模型不會識別出假扮成狗在排便的人類。
ps. 有網(wǎng)友用一包棉花糖和一瓶健怡可樂打賭:絕對是小哥本人吧。
如果真是他,咳咳,不知道有沒有被鄰居看到這一幕啊……
為了更方便使用,小哥還把這個探測器功能通過HTTP Server接入手機(jī)。
未來的話,他還打算繼續(xù)完善其中的邏輯,將檢測目標(biāo)擴(kuò)展到更多種類的狗狗身上,并把圖像處理遷移到云端實現(xiàn)自動化。
這樣任何人都能就靠一個普通攝像頭,就能擁有同款“狗粑粑探測器”了。
“再來一個自動鏟屎的機(jī)器人就更好了”
不知道你是否心動,有不少網(wǎng)友反正是被這個工具直擊痛點,表示也太太太太需要了吧!
小哥倒是挺大方:歡迎大家?guī)е銈兊墓纷觼砦业暮笤簆oop啊。
有人則被小哥的動手能力折服,表示并非所有英雄都要披著大斗篷拯救世界,像他這樣在后院檢測便便的就很不錯!
還有網(wǎng)友提議,接下來搞一個能自動鏟屎的機(jī)器人就更好了。
好家伙, 這個世界真是由懶人推動的??
最后,你需要這樣一個狗粑粑探測器嗎?
或者你也有別的好方法來解決這個問題?歡迎補(bǔ)充~
DeepLabCut項目地址:
https://github.com/DeepLabCut/DeepLabCut
參考鏈接:
[1]https://www.youtube.com/watch?v=uWZu3rnj-kQ
[2]https://www.reddit.com/r/M?achineLearning/comments/s4c6ob/p_built_a_dog_poop_detector_for_my_backyard/



