一位程式設計師老哥Caleb最近喜得一子,不過煩惱也隨之而來。
剛出生的Baby每隔幾個小時就要喂一次,夜裏餓了就會放聲大哭,這時全家都被吵醒,被折騰一晚上睡不好覺。
他諮詢了周圍有經驗的人,得到的建議都是:
忍著,熬過最初幾個月就好了。
但Caleb作為程式設計師可不甘心,開始運用他的工程師思維解決問題。
最終,通過攝像頭+AI演算法的組合,他搞出一套嬰兒飢餓自動檢測系統,能在寶寶真正開始哭之前就及時發現。
Caleb讓程式一旦判定寶寶的飢餓可能性達到100%,就給他的手機發送通知。
這樣他就可以自己悄悄起床去餵奶,用技術力守護了他老婆的睡眠。
這樣一套系統也不用從頭開發,因為現成的人體姿態檢測演算法已經很成熟。
比如Caleb用到了谷歌開源的MediaPipe,包括完整的全身姿態、面部網格和手部動作檢測。
剩下的問題就是——
AI如何判斷嬰兒餓了?
在開始動手之前,Caleb先去母嬰論壇查閱了大量資料。
根據理論,哭出聲代表嬰兒已經進入飢餓的後期階段。此時要想直接餵奶都不太容易,需要先安撫一下寶寶情緒。
飢餓的早期表現還包括咂麼嘴(Smacking)或舔嘴脣,反覆張嘴閉嘴,吸吮嘴脣、手指或其他衣物玩具等。
Caleb根據觀察自家小孩的經驗,分別編寫程式碼給這些行為賦予了不同權重。
比如咂麼嘴會+10%置信度,把拳頭伸到嘴邊也要+10%。
而嬰兒來回扭頭代表正在尋找食物來源,他觀察到自家寶寶會根據飢餓程度扭頭的頻率也不同。
於是他設定在一個短時間段內,扭頭越頻繁增加的置信度越多。
在此期間,還遇到過嬰兒叼著安撫奶嘴會造成遮擋,演算法就無法準確識別嘴脣移動的情況。
為此他在開源演算法的基礎上還重新訓練了自己的定製化模型,分別根據叼奶嘴和不叼奶嘴的情況給出置信度。
這個過程中他還發現,寶寶餓極了會把安撫奶嘴吐出去。這個動作會足足增加30%的置信度,代表馬上就要哭出聲了。
這套系統投入使用以後,確實給Caleb的家庭帶來不少好處,他總結道:
寶寶更開心了,大人也能睡得更多一些。
不過,這個故事還沒結束……
自動餵奶系統可不可行?
有了軟體上的初步成果,並沒有滿足這位老哥的DIY之魂。
接下來他把這套系統和硬體、機械裝置聯動在一起,嘗試圖打造一款全自動餵奶系統。
想法很大膽,不過從結局來看還是有點超綱了。
他也知道這玩意容易出意外,所以先找一個大人扮演嬰兒來做實驗
只見他叼著奶嘴模仿嬰兒的動作反覆扭頭咂麼嘴,讓系統提升置信度,最後把奶嘴吐出去觸發系統警報。
接下來發生的事,只能說一句「危險動作,請勿模仿」。
Caleb把這段經歷拍成視訊分享到網上,在程式設計師圈、DIY圈都引起了關注。
他透露完成整個開發工作大約只用了50小時,因為MediaPipe開源工具已經非常完善了。
有網友評論說:如果是我來開發這套系統,等我做完孩子已經會打醬油了。
Caleb能做得這麼快也是有原因的,目標檢測應用的一套開發流程他已經很熟悉了,之前還做過在自家院子裡檢測狗什麼時候拉粑粑。
對於他這種做法,也有人感覺怪怪的。
餓了→必須大哭→得到食物,這應該是學會與周圍環境互動、與父母交流的必經階段,如果只是躺著就能得到食物,是否會影響發育?
另一位網友認為,他從育兒課程上得到的專業建議也是盡力在嬰兒哭之前就餵飽他們,所以問題應該不大。
Caleb自己也表示,他和老婆不會完全依賴演算法決定給孩子餵食的世界,只是有了AI幫助,他們可以把養孩子做的更有效率。
當然,還有更多感興趣的網友都在催他:快開源!
視訊地址:
https://www.youtube.com/watch?v=Lda1Sq8HRY4
MediaPipe
https://google.github.io/mediapipe/
參考連結:
[1]https://www.reddit.com/r/programming/comments/w58xyn/built_a_hungry_baby_alarm/
—完—
@量子位 · 追蹤AI技術和產品新動態