本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構建PeregrineEye設備,使其成為“數字導盲犬”為視障者服務的項目經歷,包括項目靈感、功能、構建過程、遇到的挑戰及未來計劃等。關鍵要點包括:
1.項目靈感:程序員因眼睛疲勞引發思考,結合AutoBerry Pi項目,想為視障人士創造了解周圍環境的設備。
2.項目功能:能進行圖像描述,將圖片和音頻描述保存為MP3;未來將推出交互式指導。
3.項目構建:利用Gemini視覺模型分析圖片,Python的Google文本轉語音引擎實現文本轉語音,硬件包含樹莓派等部件,以Python集成硬件和庫。
4.面臨挑戰:存在照明敏感度、大模型幻覺、距離和細節、多任務管理等問題。
5.未來計劃:增加麥克風支持,連接API保存相關數據,集成RAG模塊增強理解能力。
6.項目潛力:可用于獲取營養信息、識別倉庫標簽、跟蹤健康進度等。
7.引發思考:項目引發對視覺大模型、TTS領域及接入其他模型的討論,演變為檢驗AI普惠性的課題 。
導語
當Gemini初現鋒芒,全球開發者都為多模態AI的"視覺智能"心跳加速——演示視頻里,模型對漢堡配料如數家珍,對化學方程式信手拈來。但鮮有人追問:當炫技的聚光燈熄滅,這些技術究竟能在真實世界的暗角點燃怎樣的火種?
一位程序員用樹莓派+攝像頭+Gemini+Python構建的PeregrineEye設備,給出了他的答案:在視力模糊的日子里,讓AI化身"數字導盲犬",通過實時圖像描述與語音反饋,為視障者重構空間認知。這個極客版"第三只眼",既驗證了多模態大模型的實用價值,也暴露出技術落地時的刺骨現實。下面來看看他的項目經歷吧!
靈感
作為一名程序員,我花了無數的時間盯著代碼。有一天,眼睛疲勞迫使我只能用模糊的視線面對世界。這次經歷凸顯了視力對我們日常生活的深遠影響。這引發了一個問題:當我的視力需要休息時,導致這種暫時退步的技術——人工智能能否成為一種輔助工具?
由于我一直在從事另一個名為AutoBerry Pi的項目,我決定在它上面添加一個攝像頭和一個音響罩,這樣我就可以與 LLM 和周圍環境進行互動,創造出一些可以幫助視障人士了解周圍環境的東西。
值得一提的是,我知道這個概念已經存在了有:一個非常酷的概念視頻,一個男人使用 ChatGPT幫助導航。
PEREGRINEYE項目并不是想與之競爭;這個項目是在該視頻發布之前構思的,純粹是出于我對在旅途中使用設備測試 LLM 的熱愛。
項目預覽
下面是這款相機的外形
功能
- 圖像描述:在光線充足的任何地方拍攝一張照片,AI相機會立即從您的視角描述圖像中的元素,提供豐富的細節。它將圖片和音頻描述都保存為 MP3 以供日后參考。
- 即將推出:交互式指導。不久,AI相機 將更進一步。只需告訴它您在拍攝的圖像中尋找什么,它就會提供音頻說明,幫助您找到物體、繞過障礙物或與周圍環境互動。
它是如何建造的
1、圖像描述引擎
我們利用 Gemini 視覺模型來分析設備拍攝的圖片并生成詳細的描述。提示詞對于塑造輸出的質量極為重要。我們目前使用的基本提示為我們提供了中等到良好的結果:
提示詞:您是一個數字助理,需要為盲人提供視覺反饋,幫助他們在周圍環境中導航。收到圖像后,詳細描述關鍵物體和結構,包括它們的相對位置和上下文信息。您的回復應簡潔、清晰且信息豐富,使用戶能夠有效地定位自己。此外,學習并適應經常訪問的地方,以提供個性化指導。您的回復要自然,并專注于提供有價值的幫助,使您的用戶能夠進行日常導航。
代碼現在需要從更新1.5-flash到:
model= genai.GenerativeModel(model_name="gemini-1.5-pro-latest")
盡管 Gemini 視覺模型提供了不錯的結果,但它并不是這類項目的最佳選擇,因為它有時會產生不準確的描述(“幻覺”)。通過更好的參數化和模型微調,這可能會得到改善。
2、文本轉語音 (TTS)
我們使用 Python 的 Google 文本轉語音 (gTTS) 引擎,該引擎可將描述性文本轉換為清晰的音頻供用戶使用。gTTS 是一個易于使用的庫,可讓您創建無限量的語音,使其成為付費 TTS 服務的絕佳替代品。使用 gTTS,您可以將任何文本轉換為語音,包括較長的文本。雖然某些基于云的 TTS 服務可能有使用限制,但gTTS 目前不需要任何付費 API或額外功能來實現我們一直使用的目的,允許免費和無限地生成語音。
frombutton_libraryimportButtonimportsubprocessimportosfromPILimportImagefromaudio_libraryimportAudioRecorderfromgttsimportgTTSfrompygameimportmixerfromdotenvimportload_dotenvimportglob
3、硬件
系統的核心部件包括:
- Raspberry Pi Zero 2W:系統核心的緊湊且價格實惠的微控制器。
- Adafruit Voice Bonnet:用于高品質音頻輸入和輸出,確保用戶和設備之間的清晰通信。
- UPS Lite:提供可靠的電源,確保不間斷運行。
- Raspberry Pi 攝像頭:捕獲圖像,并通過圖像描述引擎進行實時分析。
由于樹莓派的配件豐富,要搭建這樣一個應用的原型非常容易。
4、編程
Python 作為主要的編程語言來集成各種硬件組件和庫,確保攝像頭、視覺模型和文本轉語音系統之間的順暢交互。
我們遇到的挑戰
1、照明敏感度
- 照明條件差時的表現:正如預期的那樣,Gemini Vision 的準確度在照明條件差的情況下會顯著降低。這會導致幻覺增多和物體識別不準確。
- 照明條件充足的表現:模型在光線充足的圖像下表現最佳,表現出更高的精度和更少的幻覺。
更新:更換相機后,我注意到圖像質量有了顯著改善,這大大提高了模型的性能。因此,我建議選擇原裝 Raspberry Pi 相機:Raspberry Pi 相機,它提供了更好的效果。
2、大模型幻覺
物體幻覺:
- Gemini Vision有時會識別出圖像中實際上不存在的物體。這通常涉及通常在場景環境中發現但在特定圖片中不存在的物體。例如,即使沒有視覺證據,它也可能推斷出架子后面有柜臺。
- 在一個例子中,模型錯誤地識別了廣告牌上的墨西哥公眾人物Lily Téllez,盡管她沒有出現在圖片中。這表明模型可能傾向于將知名人物與某些地點、背景甚至顏色聯系起來。我仍然不完全理解它怎么會錯誤地識別圖片中的 Lily。雖然這張照片與政治有關(這是準確的,盡管照片中的人不是政治人物),但唯一明顯的線索似乎是“VOTA”這個詞,意思是“投票”。
3、距離和細節
- 特寫圖像準確度:Gemini Vision 在分析特寫圖像時表現出色。細節更清晰,幻覺更少,物體識別更準確。
- 距離帶來的挑戰:相機與拍攝對象之間的距離越大,性能就越差。細節變得越不清晰,從而導致誤解和幻覺。
4、多任務管理
- 當前面臨的一個重大挑戰是同時管理多項服務。這包括語音生成、AI API 調用、按鈕和麥克風輸入,以及確保 AI 的快速響應時間。
下一步是什么?
1、麥克風支持
下一步是使提示動態化,以適應用戶與設備交互的特定需求。通過將麥克風集成到音頻引擎蓋中,可以實現這一點,允許根據用戶輸入實時自定義提示。
2、連接 API 以保存圖像、請求和 LLM 輸出
我計劃創建一個端點來保存圖像、用戶請求和 LLM 生成的輸出。這將使我能夠建立與設備交互的全面記錄,并有可能轉變為用戶設備交互的有用百科全書。
3、RAG 集成(檢索增強生成)
我的目標是集成一個模塊,允許設備從另一個 API 檢索數據,通過訪問外部知識源來增強其理解和與圖像交互的能力。這將有助于提供更多背景信息并提高圖像解釋的準確性。
結論
老實說,在超市里閑逛,指著隨機的東西,看看 LLM 認為它在看什么,這真是太有趣了——有時它很準確,有時,嗯,不太準確!但這都是樂趣的一部分。這個小裝置有太多的潛力,不僅僅是玩玩而已。想象一下,用它來從食物圖片中獲取營養信息,在繁忙的倉庫中識別標簽,甚至跟蹤你的健康和康復進度。這個東西可以做很多事情,我迫不及待地想看看它下一步會去哪里!
結語
如今大模型的都在你追我趕,當GPT-4o的實時視頻解析刷新認知,當Llava-1.6在本地端跑出驚艷的視覺推理,這個開源項目正站在多模態大模型革命的十字路口。我們亟需一場開發者間的"技術眾籌":
您是否部署過更"接地氣"的視覺大模型?哪些開源方案在抗干擾、防幻覺方面表現優異?
在TTS領域,ElevenLabs的擬真聲線、Azure Neural的抑揚頓挫,或是本地部署的Bark模型,誰能賦予設備更溫暖的"聲音靈魂"?
若將設備接入SAM圖像分割模型,能否實現"幫我找到左邊第三個紅色罐頭"的精準定位?
這場始于程序員個人痛點的極客實驗,正在演變為檢驗AI普惠性的社會課題。歡迎大家在評論區參與討論!
-
Gemini
+關注
關注
0文章
59瀏覽量
7729 -
Vision
+關注
關注
1文章
201瀏覽量
18455 -
樹莓派
+關注
關注
118文章
1810瀏覽量
106210 -
RaspberryPi
+關注
關注
1文章
45瀏覽量
9211
發布評論請先 登錄
相關推薦
如何使用Raspberry pi和Python來控制Arduino

Raspberry Pi Pico是什么
使用raspberry pi Pico的原因
安裝Raspberry Pi Clock Hat的教程分享
raspberry pi官網
Raspberry Pi(樹莓派)操作系統的安裝方法
適用于Raspberry Pi 4的Raspberry Pi Pico開發板

Raspberry Pi和Arduino上的手寫數字識別

評論