建造一個(gè)自主的人工智能小工具
小型AI設(shè)備能檢測(cè)作弊嗎?
上周,我收到了一個(gè)男人的信息,他擔(dān)心他女朋友出去抽煙時(shí)從陽(yáng)臺(tái)發(fā)來(lái)的語(yǔ)音留言。他希望有人幫他破解她的WhatsApp,以消除一些疑慮?,F(xiàn)在,我相信感情問(wèn)題應(yīng)該通過(guò)交談來(lái)解決,而不是竊聽(tīng)別人的電話。也就是說(shuō),我對(duì)為這樣一個(gè)荒謬的目的建造一個(gè)自主的人工智能小工具的想法很感興趣。
所以,我創(chuàng)建了Guamp應(yīng)用程序(不是一個(gè)應(yīng)用程序)——一個(gè)概念驗(yàn)證設(shè)備,它:
?偵測(cè)到女友在陽(yáng)臺(tái)上
?記錄她的語(yǔ)音信息
?轉(zhuǎn)錄音頻
?使用人工智能分析內(nèi)容是否聽(tīng)起來(lái)可疑
?將結(jié)果通過(guò)電報(bào)發(fā)送給男友
硬件
起初,我考慮使用帶有Python的樹(shù)莓派。但后來(lái)我收到了ESP32S3 AI Cam模塊,它讓我思考:這個(gè)小板能處理整個(gè)工作嗎?
什么是AI相機(jī)模塊1.0 DFR1154?
這是一個(gè)1.5“x1.5”esp32為基礎(chǔ)的板,具有:
一個(gè)200萬(wàn)像素的OV3660寬紅外攝像頭,一個(gè)板載I2S PDM麥克風(fēng),microSD卡插槽,內(nèi)置led和揚(yáng)聲器輸出放大器。(我沒(méi)有微型揚(yáng)聲器,但我們這個(gè)項(xiàng)目不需要。)
一般工作流程
用照片訓(xùn)練機(jī)器學(xué)習(xí)模型,將其部署到相機(jī)上,每隔幾秒鐘拍一張照片,然后運(yùn)行推理。如果結(jié)果超過(guò)了置信閾值,就假定是她。錄制環(huán)境音頻觸發(fā)圖像檢測(cè)時(shí)開(kāi)始錄制音頻。
將錄制的音頻發(fā)送到OpenAI的語(yǔ)音到文本API (Whisper)。
分析轉(zhuǎn)錄將文本(加上一些上下文,如名稱)發(fā)送到ChatGPT,查看是否有任何可疑內(nèi)容。
使用機(jī)器人遠(yuǎn)程通知你的男朋友。
計(jì)算機(jī)視覺(jué)
在我的演示中,我使用了一個(gè)通用的人物檢測(cè)模型。要復(fù)制它:
下載這個(gè)ZIP文件:persondetectioninference . ZIP
在Arduino IDE:去素描>包括庫(kù)>添加。zip庫(kù)并添加它。
用特定的人物照片訓(xùn)練你自己的模型。這里有一個(gè)示例項(xiàng)目展示了這個(gè)過(guò)程:Alvik機(jī)器人的計(jì)算機(jī)視覺(jué)
訓(xùn)練后:
移動(dòng)到Documents/Arduino/libraries/modelFolder/examples
在Arduino IDE中打開(kāi)示例并編輯標(biāo)題以指向您的模型,例如#include
如果演示運(yùn)行良好,將相同的include集成到主草圖中:guampAppUpload.ino
軟件設(shè)置
安裝通用電報(bào)機(jī)器人庫(kù)。
你需要:
OpenAI API密鑰(用于轉(zhuǎn)錄+分析)Telegram bot令牌(用于發(fā)送通知)這里是一個(gè)項(xiàng)目指南,解釋如何創(chuàng)建一個(gè)Telegram bot并獲得令牌。
軟件配置
使用串行監(jiān)視器調(diào)試工作流程:Wi-Fi連接,人員檢測(cè),錄音,轉(zhuǎn)錄和分析。
外殼
我在Fusion 360中設(shè)計(jì)了外殼,并使用Bambu Lab A1 mini PLA打印了它。這是一個(gè)用3毫米螺釘固定的2件式外殼,包括一個(gè)標(biāo)準(zhǔn)的照片三腳架支架。
最后指出
如果你想改進(jìn)或重新利用這個(gè)項(xiàng)目,你可以通過(guò)添加一個(gè)3.7V電池和一個(gè)TP4056充電器使它更小。你還可以使用音頻閾值來(lái)記錄完整的對(duì)話,而不是固定的時(shí)間,并考慮在分析音頻的同時(shí)分析照片。
除了起始點(diǎn)(這一點(diǎn)與軼事一樣值得懷疑)之外,它仍然令人著迷的是,一個(gè)18美元的模塊可以在本地運(yùn)行ML模型來(lái)檢測(cè)人員,記錄和轉(zhuǎn)錄音頻,發(fā)送消息,甚至使用人工智能分析語(yǔ)音。
本文編譯自hackster.io