一位程序員老哥 Caleb 最近喜得一子,不過煩惱也隨之而來。
剛出生的 Baby 每隔幾個小時就要喂一次,夜里餓了就會放聲大哭,這時全家都被吵醒,被折騰一晚上睡不好覺。

他咨詢了周圍有經驗的人,得到的建議都是:
忍著,熬過最初幾個月就好了。
但 Caleb 作為程序員可不甘心,開始運用他的工程師思維解決問題。
最終,通過攝像頭 +AI 算法的組合,他搞出一套嬰兒饑餓自動檢測系統,能在寶寶真正開始哭之前就及時發現。

Caleb 讓程序一旦判定寶寶的饑餓可能性達到 100%,就給他的手機發送通知。

這樣他就可以自己悄悄起床去喂奶,用技術力守護了他老婆的睡眠。

這樣一套系統也不用從頭開發,因為現成的人體姿態檢測算法已經很成熟。
比如 Caleb 用到了谷歌開源的MediaPipe,包括完整的全身姿態、面部網格和手部動作檢測。

剩下的問題就是——
AI 如何判斷嬰兒餓了?
在開始動手之前,Caleb 先去母嬰論壇查閱了大量資料。
根據理論,哭出聲代表嬰兒已經進入饑餓的后期階段。此時要想直接喂奶都不太容易,需要先安撫一下寶寶情緒。
饑餓的早期表現還包括咂么嘴(Smacking)或舔嘴唇,反復張嘴閉嘴,吸吮嘴唇、手指或其他衣物玩具等。

Caleb 根據觀察自家小孩的經驗,分別編寫代碼給這些行為賦予了不同權重。

比如咂么嘴會 +10% 置信度,把拳頭伸到嘴邊也要 +10%。
而嬰兒來回扭頭代表正在尋找食物來源,他觀察到自家寶寶會根據饑餓程度扭頭的頻率也不同。
于是他設置在一個短時間段內,扭頭越頻繁增加的置信度越多。

在此期間,還遇到過嬰兒叼著安撫奶嘴會造成遮擋,算法就無法準確識別嘴唇移動的情況。
為此他在開源算法的基礎上還重新訓練了自己的定制化模型,分別根據叼奶嘴和不叼奶嘴的情況給出置信度。

這個過程中他還發現,寶寶餓極了會把安撫奶嘴吐出去。這個動作會足足增加 30% 的置信度,代表馬上就要哭出聲了。
這套系統投入使用以后,確實給 Caleb 的家庭帶來不少好處,他總結道:
寶寶更開心了,大人也能睡得更多一些。
不過,這個故事還沒結束……
自動喂奶系統可不可行?
有了軟件上的初步成果,并沒有滿足這位老哥的 DIY 之魂。
接下來他把這套系統和硬件、機械裝置聯動在一起,嘗試圖打造一款全自動喂奶系統。

想法很大膽,不過從結局來看還是有點超綱了。
他也知道這玩意容易出意外,所以先找一個大人扮演嬰兒來做實驗。

只見他叼著奶嘴模仿嬰兒的動作反復扭頭咂么嘴,讓系統提升置信度,最后把奶嘴吐出去觸發系統警報。

接下來發生的事,只能說一句" 危險動作,請勿模仿 "。

Caleb 把這段經歷拍成視頻分享到網上,在程序員圈、DIY 圈都引起了關注。
他透露完成整個開發工作大約只用了50 小時,因為 MediaPipe 開源工具已經非常完善了。
有網友評論說:如果是我來開發這套系統,等我做完孩子已經會打醬油了。

Caleb 能做得這么快也是有原因的,目標檢測應用的一套開發流程他已經很熟悉了,之前還做過在自家院子里檢測狗什么時候拉粑粑。
對于他這種做法,也有人感覺怪怪的。
餓了→必須大哭→得到食物,這應該是學會與周圍環境互動、與父母交流的必經階段,如果只是躺著就能得到食物,是否會影響發育?

另一位網友認為,他從育兒課程上得到的專業建議也是盡力在嬰兒哭之前就喂飽他們,所以問題應該不大。

Caleb 自己也表示,他和老婆不會完全依賴算法決定給孩子喂食的世界,只是有了 AI 幫助,他們可以把養孩子做的更有效率。
當然,還有更多感興趣的網友都在催他:快開源!

原文地址:http://www.myzaker.com/article/62dd700f8e9f0954af4210e5