自制樹莓派“防松鼠神器”在(zài)Reddit火了(le/liǎo),13行代碼就(jiù)能讓AI替你護食,成本300+元
明敏發自凹非寺
量子(zǐ)位公衆号 QbitAI
沒想到(dào),有一(yī / yì /yí)天樹莓派還能用在(zài)給鳥護食上(shàng)!
看這(zhè)隻松鼠抱着糧吃的(de)正香……
突然!就(jiù)來(lái)了(le/liǎo)一(yī / yì /yí)股水流把它噴走了(le/liǎo):
再來(lái)一(yī / yì /yí)次?還是(shì)沒能幸免,繼續被水噴中:
此時(shí)松鼠内心 OS:誰這(zhè)麽閑每天沒事噴勞資???
原來(lái),這(zhè)是(shì)一(yī / yì /yí)位小哥用樹莓派做出(chū)的(de)喂鳥器保護器。
因爲(wéi / wèi)自己後院鳥兒喂食器的(de)糧被松鼠頻頻偷走,這(zhè)位小哥賭上(shàng)自己機器學習愛好者的(de)尊嚴,開發了(le/liǎo)這(zhè)個(gè)新裝置。
它能夠讓攝像頭每 30 秒拍下一(yī / yì /yí)張照片,然後由 CV 算法來(lái)檢測喂鳥器上(shàng)是(shì)否有松鼠。如果有的(de)話,信号就(jiù)會發送給花園裏的(de)電控水龍頭,讓它朝着喂鳥器噴水趕走松鼠。
而(ér)做出(chū)這(zhè)個(gè)設備,小哥用到(dào)的(de) AI 模型隻需 13 行代碼就(jiù)能搞定,訓練甚至隻花了(le/liǎo) 45 分鍾。
效果也(yě)是(shì)立竿見影的(de),用了(le/liǎo)幾個(gè)星期後,松鼠造訪的(de)頻率直線下降。
嗯,此刻可能更多要(yào / yāo)心疼小哥家附近的(de)松鼠了(le/liǎo)。
“13 行代碼+樹莓派”趕走松鼠
效果這(zhè)麽好的(de)設備,做起來(lái)難嗎?
非常 easy,一(yī / yì /yí)共隻需 3 步:
第一(yī / yì /yí),讓攝像頭每 30 秒拍下一(yī / yì /yí)張照片;
第二,将照片發送到(dào) AWS Lambda 端點,在(zài)端點上(shàng)使用訓練好的(de) AI 模型檢測照片;
第三,如果檢測到(dào)照片中有松鼠,設備就(jiù)會将信号發送給電控水龍頭的(de)開關,這(zhè)時(shí)花園中的(de)噴頭就(jiù)會持續噴出(chū)幾秒鍾水流趕走松鼠。
大(dà)概效果就(jiù)是(shì)這(zhè)樣:
判斷畫面中是(shì)否有松鼠,靠的(de)則是(shì)小哥自己用 fast.ai 訓練的(de)一(yī / yì /yí)個(gè)模型。
他(tā)首先自己收集了(le/liǎo)一(yī / yì /yí)個(gè)數據集——連續幾個(gè)星期讓相機每 30 秒就(jiù)拍一(yī / yì /yí)次照片,然後手動将照片分類爲(wéi / wèi)“有松鼠”和(hé / huò)“沒有松鼠”兩類。
之(zhī)後用這(zhè)個(gè)數據集來(lái)訓練模型,小哥是(shì)在(zài) Google Colab 上(shàng)搞定的(de)。
一(yī / yì /yí)共隻有 13 行代碼,訓練全程花了(le/liǎo)大(dà)約 45 分鍾。
硬件端,這(zhè)套設備運行的(de)核心是(shì)一(yī / yì /yí)個(gè)帶有攝像頭的(de)樹莓派,在(zài)亞馬遜商店能直接買到(dào)。
由于(yú)在(zài)試驗過程中弄出(chū)了(le/liǎo)短路、不(bù)小心燒壞了(le/liǎo)自己的(de) Pi 4,所有小哥不(bù)得不(bù)用 Pi 2+AWS Lambda 的(de)方式來(lái)完成整個(gè)推理過程。
在(zài)實際使用過程中,如果模型判斷照片中有松鼠的(de)置信度超過 70%,就(jiù)會啓動裝置。同時(shí)它還會拍下視頻和(hé / huò)照片,這(zhè)樣小哥就(jiù)能從曆史記錄中看到(dào)模型是(shì)否判斷正确了(le/liǎo)。
小哥表示,這(zhè)套裝置的(de)準确率爲(wéi / wèi) 86.6%,趕走大(dà)部分來(lái)訪的(de)松鼠沒什麽問題,但也(yě)有失誤的(de)時(shí)候。
從總共記錄的(de) 321 次防禦中可以(yǐ)看到(dào),其中有 43 次判斷失誤。
有時(shí)畫面中是(shì)鴿子(zǐ)在(zài)吃東西、有時(shí)畫面中什麽都沒有,有時(shí)則是(shì)小哥本人(rén)路過了(le/liǎo)那一(yī / yì /yí)區域,設備也(yě)噴出(chū)了(le/liǎo)水流。
針對鴿子(zǐ)的(de)情況,小哥猜測可能是(shì)自己做數據集那段時(shí)間,很少有鴿子(zǐ)光顧他(tā)的(de)喂食器,所以(yǐ)導緻模型判斷有誤。
其中有一(yī / yì /yí)天設備則一(yī / yì /yí)直在(zài)噴水,無論喂食器上(shàng)站的(de)是(shì)鳥還是(shì)松鼠,或者什麽都沒有。
後來(lái)小哥發現,這(zhè)是(shì)因爲(wéi / wèi)有樹枝剛好擋在(zài)了(le/liǎo)松鼠平常會出(chū)現的(de)位置上(shàng)。
整體來(lái)看,這(zhè)套設備一(yī / yì /yí)共花費了(le/liǎo)大(dà)約 50 美元,也(yě)就(jiù)是(shì)人(rén)民币 300 多塊。主要(yào / yāo)用來(lái)購買硬件設備,AWS Lambda 則是(shì)小哥白嫖的(de)(doge)。
小哥本職是(shì)位記者
最後來(lái)介紹一(yī / yì /yí)下這(zhè)套設備的(de)主人(rén) Jeremy B. Merrill,他(tā)是(shì)華盛頓郵報的(de)一(yī / yì /yí)位記者,平常會用機器學習、數據分析來(lái)寫一(yī / yì /yí)些調查新聞。
他(tā)的(de)傑作也(yě)吸引了(le/liǎo)不(bù)少網友的(de)關注,Reddit 上(shàng)熱度 300+。
不(bù)少人(rén)受到(dào)他(tā)的(de)啓發,想通過類似的(de)方法搞定後院裏亂竄的(de)松鼠、野貓。
是(shì)時(shí)候做出(chū)一(yī / yì /yí)個(gè)貓屎爆破神器阻止野貓來(lái)我的(de)花園便便了(le/liǎo)!
也(yě)有人(rén)腦洞大(dà)開,認爲(wéi / wèi)長此以(yǐ)往松鼠會覺得這(zhè)是(shì)個(gè)不(bù)錯的(de)水源地(dì / de),總之(zhī)就(jiù)還是(shì)要(yào / yāo)經常造訪了(le/liǎo)。
看來(lái),各種突然造訪的(de)動物們的(de)确有夠讓歪果人(rén)頭痛的(de)。
此前 YouTube 上(shàng)有一(yī / yì /yí)位博主在(zài)後院做了(le/liǎo)一(yī / yì /yí)套非常複雜的(de)設備,就(jiù)是(shì)爲(wéi / wèi)了(le/liǎo)來(lái)惡搞突然來(lái)搗亂的(de)松鼠。
相比之(zhī)下,用 AI 識别然後精準“打擊”的(de)方法似乎實用性更強。
由于(yú)最近已經入冬,小哥暫時(shí)停用了(le/liǎo)這(zhè)套設備,松鼠也(yě)鮮少造訪了(le/liǎo),他(tā)表示之(zhī)後天氣轉暖還會繼續用下去。
不(bù)知重新啓動後的(de)效果會是(shì)如何呢?蹲個(gè)後續~
參考鏈接:
[1]https://jeremybmerrill.com/blog/2022/01/squirrel-soaker-9000-repelling-squirrels-with-ai.html
[2]https://www.reddit.com/r/MachineLearning/comments/sctxqh/p_i_built_a_robot_to_protect_my