不論是人臉、文本或其他圖像數(shù)據(jù),使用嵌入式系統(tǒng)執(zhí)行現(xiàn)場圖像識別的需求與日俱增。許多實現(xiàn)需要昂貴的高端應(yīng)用處理器以及昂貴的定制應(yīng)用代碼。此外,圖像處理是在片上執(zhí)行的,這可能讓成本和開發(fā)時間翻倍,令設(shè)計人員難以證明資源投入的合理性。
一種潛在的解決方案是,使用可連接至 Google 云平臺 (GCP) 的嵌入式微控制器,并使用 Google 視覺 API 來執(zhí)行分析。這在利用低成本硬件優(yōu)勢的同時,還能將處理操作分流到云。
本文將探討嵌入式開發(fā)人員如何利用 GCP 和STMicroelectronics的STM32F779微控制器來設(shè)置和執(zhí)行圖像識別。
機器視覺簡介
識別圖像中的對象并加以標識,這一功能見諸于各類廣泛應(yīng)用中,包括自主駕駛車輛中的障礙物識別,以及為離開裝配線的產(chǎn)品進行編目分類。有鑒于此,機器視覺正致力于幫助嵌入式系統(tǒng)實現(xiàn)全新的智能水平。
一般而言,在嵌入式系統(tǒng)中實現(xiàn)機器視覺往往會采用高性能處理器或應(yīng)用處理器,例如Pi Supply的Raspberry Pi Zero(圖 1)。這一低成本的開發(fā)板擁有一個相機連接器,用于捕捉可供機器視覺算法進行分析的圖像。
圖 1:Raspberry Pi Zero 是一款低成本的開發(fā)板,它擁有一個相機接口,用于捕捉可供機器視覺算法進行分析的圖像。(圖片來源:Pi Supply)
在這些應(yīng)用中,開發(fā)人員可能會使用 OpenCV 等工具進行人臉檢測,或使用更高級的軟件包來執(zhí)行對象檢測。
在深度嵌入式應(yīng)用中,應(yīng)用處理器解決方案存在的問題在于,功耗和外形尺寸往往過大,無法滿足要求,更不用說 BOM 成本。
基于云的計算為開發(fā)人員提供了一種引人關(guān)注的折衷。與其將前期成本花在獲取集成式解決方案所需的高端計算、軟件和時間上,開發(fā)人員不如使用一個深度嵌入式目標來捕捉圖像,然后將其傳輸?shù)皆浦羞M行處理。這使得開發(fā)人員可以使用高能效、低成本的硬件平臺,并將圖像識別和計算留給云服務(wù)器來處理。
使用云服務(wù)和視覺識別 API 會帶來少量相關(guān)成本;但考慮到大多數(shù)物聯(lián)網(wǎng)解決方案已經(jīng)連接到 Web,此額外成本極低,具體則視特定云服務(wù)提供商而異。
選擇機器視覺平臺
有興趣在深度嵌入式處理器上使用機器視覺的開發(fā)團隊可以選擇的處理器和平臺非常之多。目標平臺應(yīng)該能夠提供可快速啟動和運行的構(gòu)件,并且已包含基本連接軟件。Renesas的AE-Cloud1便是一個很好的例子,該器件旨在幫助開發(fā)人員在不超過 10 分鐘的時間內(nèi),連接至 Amazon Web Services (AWS) 等云服務(wù)提供商(圖 2)。
AE-Cloud1 基于 Renesas S5 處理器,并包含 Renesas 的 YSAEWIFI-1 Wi-Fi 模塊,該模塊旨在幫助開發(fā)人員快速、輕松地連接到 AWS。開發(fā)套件還包含一個調(diào)試器。
圖 2:Renesas AE-Cloud1 開發(fā)板基于 Renesas S5 處理器并包含 Wi-Fi 模塊和調(diào)試器。(圖片來源:Renesas)
開發(fā)團隊也可能會使用 STMicroelectronics 的STM32 物聯(lián)網(wǎng) Discovery 開發(fā)板,該器件運行 Amazon FreeRTOS 操作系統(tǒng),開發(fā)人員可輕松將其連接到 AWS。
開發(fā)人員可以使用多種不同的軟硬件組合來創(chuàng)建機器視覺解決方案,包括 STMicroelectronics 的STM32F779 評估板(圖 3)。其眾多功能中包括了板載相機、以太網(wǎng)連接和一塊 LCD。所有功能可結(jié)合使用,來捕捉圖像和驗證機器視覺應(yīng)用。
圖 3:STM32F779 評估板基于 STM32F779 微處理器,包含一個板載相機、以太網(wǎng)連接,以及一塊可用于采集、查看和監(jiān)視機器視覺應(yīng)用的顯示屏。(圖片來源:Digi-Key Electronics)
該開發(fā)板使用Texas Instruments的DP83848CVV控制器,提供以太網(wǎng)物理層 (PHY),使總體解決方案適合各種工業(yè)環(huán)境。
設(shè)置用于機器視覺的 Google 云平臺
嵌入式開發(fā)人員可在其應(yīng)用中使用基于云的多種不同機器視覺服務(wù)。其中包括 Google 云平臺和 Amazon Rekognition。在本文中,我們將了解如何設(shè)置 Google 云平臺視覺 API。
要設(shè)置視覺 API,最簡單的方法是訪問“Before You Begin”(準備工作)頁面。此頁包含設(shè)置和配置視覺 API 需要遵循的所有指示。開始之前,開發(fā)人員需要擁有一個 Google 帳戶,用于登錄和配置視覺項目。首次使用 GCP 的用戶將獲得一年的免費使用權(quán),用于原型開發(fā)和平臺試驗。
圖 4:設(shè)置用于機器視覺的 Google 云平臺需要遵循的主要步驟。提供 12 個月的免費試用期。(圖片來源:Beningo Embedded Group)
開發(fā)人員配置視覺 API 需要遵循的主要步驟包括:
- 創(chuàng)建新項目
- 確保啟用賬單(最初提供 12 個月的試用,之后的費用不超過 300 美元,但未經(jīng)明示許可不會收取費用)
- 啟用云視覺 API
創(chuàng)建新項目是通過 GCP 控制臺完成的,只需單擊“New Project”(新建項目)并提供項目名稱便可,例如“Embedded Vision”。啟用 API 的方法是,單擊“Enable API”(啟用 API)按鈕,然后選擇剛剛創(chuàng)建的項目。這將啟用 API,但真正重要的是生成 API 憑據(jù),這一過程其實也相當簡單。
通過在項目界面中選擇“API Services and Credentials”(API 服務(wù)和憑據(jù))可以找到憑據(jù)。然后,開發(fā)人員將通過單擊“Create Credentials”(創(chuàng)建憑據(jù))按鈕創(chuàng)建憑據(jù)(圖 5)。
圖 5:GCP 視覺 API 鍵是通過 GCP 界面創(chuàng)建的。嵌入式平臺必須使用此鍵,以便訪問視覺識別功能。(圖片來源:Beningo Embedded Group)
至此,視覺 API 設(shè)置完畢,隨時可用于嵌入式系統(tǒng)中。嵌入式系統(tǒng)需要采集圖像,然后使用視覺 API 將圖像傳輸?shù)皆浦羞M行圖像識別。
STM32F779 上的機器識別
在嵌入式系統(tǒng)上用于連接到 GCP 的軟件將會根據(jù)開發(fā)人員選擇使用或決定自行創(chuàng)建的系統(tǒng)而異。我最近曾將 STM32F779 與 Express Logic X-Ware 物聯(lián)網(wǎng)平臺搭配使用,該平臺已創(chuàng)建一個將機器視覺與 GCP 配合使用的簡單演示。
該演示非常簡單;用戶可以通過 LCD 觸摸屏,使用 STM32F779 評估板上的相機拍攝一張照片。拍攝照片后,用戶可以選擇對對象還是文本進行圖像分析。我決定進行一項有趣的測試,即在閃卡上書寫“Hello World!”,然后將其提供給相機。從軟件開發(fā)人員的角度而言,“Hello World!”看起來無疑是首次機器視覺測試的合理選擇。
測試結(jié)果非常成功!捕捉到圖像后,GCP 視覺 API 成功一致地識別并確定文本,以及我所提供的其他文字。我決定嘗試一種極端情形,即提供快速書寫的有些模糊的圖像,看看系統(tǒng)能否識別書寫內(nèi)容。捕捉的圖像和結(jié)果如圖 6 所示。這種情況下,除了書寫潦草的字母“d”被識別為“j”之外,幾乎完全正確地識別了模糊的“Hello World!”。
圖 6:從 Express Logic X-Ware 物聯(lián)網(wǎng)平臺的 GCP 視覺 API 所返回結(jié)果的屏幕截圖。“World”中的字母“d”的識別結(jié)果很有趣。(圖片來源:Beningo Embedded Group)
有趣的是,我多次將完全相同的書寫內(nèi)容提供給相機,由于我書寫的字母“d”比較潦草且偏離了焦點,因此得到的正確識別率約為 50%。查看終端日志后可以發(fā)現(xiàn),識別結(jié)果為“Hello World”和“Hello WorlJ”的次數(shù)各半(圖 7)。
圖 7:GCP 視覺 API 響應(yīng)產(chǎn)生的終端輸出顯示所提交圖像中被識別的文本。(圖片來源:Beningo Embedded Group)
現(xiàn)在,在此示例中,我從人類的角度可以了解云視覺算法為何難以識別該字符。即便在我自己看來,它也有兩種形式,所以這的確是項有趣的測試。
在嵌入式系統(tǒng)上實現(xiàn)機器視覺的技巧和訣竅
開發(fā)人員在開發(fā)機器視覺應(yīng)用時可以遵循多項技巧和訣竅。其中包括:
- 如果視覺識別沒有實時或確定的截止期限,則將圖像識別分流到云中。
- 使用嵌入式軟件平臺簡化到基于云的機器視覺服務(wù)的連接。
- 默認情況下,Google 視覺 API 處于禁用狀態(tài),必須手動啟用才能使用該項服務(wù)。
- 不要忘了在所用的軟件平臺中輸入您的 Google API 鍵:它將用于驗證使用該 API 的權(quán)限。
- GCP 提供了基本的一年免費試用,可用于開發(fā)系統(tǒng)和制作系統(tǒng)原型。
- 確保圖像或文本已正確定位并且清晰可見,以便減少識別錯誤。
總結(jié)
通過利用云中的高性能處理,可以大幅簡化基于低成本嵌入式系統(tǒng)的機器視覺應(yīng)用。傳統(tǒng)上,有興趣使用機器視覺的開發(fā)人員必須針對其應(yīng)用,使用應(yīng)用處理器,并且開發(fā)先進的軟件或獲得許可。
有了 Google 云平臺和低成本的微控制器及開發(fā)套件,開發(fā)人員便能以極低的成本獲取圖像和文本識別功能。開發(fā)人員還可以使用廣泛提供的可擴展軟件平臺,幫助簡化安全的云連接,同時簡化應(yīng)用開發(fā)。
-
STM32
+關(guān)注
關(guān)注
2270文章
10921瀏覽量
356995 -
GCP
+關(guān)注
關(guān)注
0文章
4瀏覽量
2583
發(fā)布評論請先 登錄
相關(guān)推薦
評論