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

淺析圖像識(shí)別背后的發(fā)展歷程
Imagga利用DGX Station實(shí)現(xiàn)快速圖像識(shí)別
模擬矩陣在圖像識(shí)別中的應(yīng)用

評(píng)論