人們現(xiàn)在越來越多地要求設(shè)計(jì)人員為當(dāng)前網(wǎng)絡(luò)系統(tǒng)和新產(chǎn)品添加圖像和視頻分析功能,特別是針對安防應(yīng)用。人臉和車輛識別功能非常受用戶歡迎,能夠帶來可觀的價(jià)值,但是,了解基于微控制器的系統(tǒng)的人臉識別模型細(xì)節(jié)并對其進(jìn)行編程,可能耗費(fèi)大量時(shí)間,而且非常復(fù)雜。
通常情況下,開發(fā)人員必須盡可能快地開展試驗(yàn)和開發(fā)。本文將展示開發(fā)人員如何利用硬件和軟件的現(xiàn)成組合,加快將人臉識別功能整合到嵌入式系統(tǒng)中的速度,從而節(jié)省時(shí)間。
人臉識別的基礎(chǔ)知識
大多數(shù)開發(fā)人員對人臉檢測已經(jīng)非常熟悉了。這個(gè)過程就是分析圖像,確定人臉出現(xiàn)的位置。很多智能手機(jī)都提供這種功能。人臉識別是人臉檢測的下一個(gè)階段。這個(gè)過程就是分析人臉,利用從人臉特征的相對距離得出的數(shù)據(jù),開發(fā)一個(gè)數(shù)學(xué)模型。這些數(shù)據(jù)包括雙眼之間的距離,以及眼睛與鼻子、下巴、耳朵和顴骨的相對位置。另外還要確定人臉相對于人臉識別攝像頭的位置,因?yàn)檫@對于確定相對距離非常重要。也可以檢測膚色并用于識別。
然后,再將該模型與數(shù)據(jù)庫中存儲的已知人臉數(shù)學(xué)模型進(jìn)行比較,由算法確定最佳匹配。檢測的人臉與存儲的人臉有一定的匹配機(jī)率(百分比)。也有可能兩者不匹配,那么檢測的人臉就是未知的。
人臉識別硬件
為了實(shí)現(xiàn)人臉識別,設(shè)計(jì)人員需要挑選并組合攝像頭傳感器、視頻和圖像前端信號調(diào)節(jié)裝置、GPU、控制處理器、存儲器及相關(guān)軟件和固件。當(dāng)然,這需要花費(fèi)時(shí)間,可能是一段很長的曲折學(xué)習(xí)過程。或者,您可以利用現(xiàn)成的硬件和固件,構(gòu)建人臉識別系統(tǒng)。來自O(shè)mron Electronics的B5T-007001攝像頭傳感器是很好的入手點(diǎn),它是經(jīng)過測試的硬件和固件的交鑰匙解決方案(圖 1)。
圖 1:Omron B5T-007001 人臉識別攝像頭具備了人臉識別應(yīng)用必需的全部功能。(圖片來源:Omron)
B5T-007001 帶有 USB 2.0 接口,可將攝像頭電路板連接到運(yùn)行 Omron 評估軟件的 Windows? PC。另外還有 UART 接口。使用 USB 或 UART 接口都可將攝像頭電路板連接到主機(jī),可以是微控制器或 PC。
USB 和 UART 都支持用于配置攝像頭的命令 API。Omron 的板載攝像頭固件會分析視頻并執(zhí)行檢測處理,然后將視頻發(fā)送到主機(jī)。
從主機(jī)發(fā)送到 B5T-007001 的命令按順序執(zhí)行。主機(jī)固件向攝像頭發(fā)送命令之后,必須等待攝像頭返回該命令的結(jié)果,然后才能發(fā)送另一個(gè)命令。如果主機(jī)檢測到超時(shí)(取決于應(yīng)用要求),主機(jī)固件可以重新發(fā)送命令,或者通過發(fā)送 RESET 命令來復(fù)位攝像頭。
配置攝像頭以實(shí)現(xiàn)人臉識別
啟動 B5T-007001 之后,首先必須對其進(jìn)行配置,讓它能夠在將要使用它的物理環(huán)境下工作。命令是通過 USB 或 UART 接口發(fā)送的,遵循指定的命令結(jié)構(gòu)(表 1)。每個(gè)命令的第一個(gè)字節(jié)始終是 0xFE,稱為同步碼。
表 1:B5T-007001 的命令格式。LSB 在左側(cè),MSB 在右側(cè)。首先傳輸 LSB。在寫入命令的過程中,寫入 B5T-007001 的數(shù)據(jù)在“命令數(shù)據(jù)”字段中。(圖片來源:Omron)
B5T-007001 支持 20 個(gè)命令。有關(guān)這些命令的完整描述,請參見表 2。
表 2:B5T-007001 的命令列表,包括每個(gè)命令的簡短解釋。每個(gè)命令會返回響應(yīng)碼或錯(cuò)誤碼。所有寫入都是主機(jī)寫入攝像頭。所有讀取都是主機(jī)從攝像頭讀取數(shù)據(jù)。(數(shù)據(jù)來源:Omron)
該攝像頭非常靈活,可通過連接到微型 USB 2.0 端口的電纜輕松配置。要識別的每個(gè)人被稱為用戶,以 2 字節(jié)的用戶 ID 進(jìn)行標(biāo)識。所有用戶 ID 數(shù)據(jù)首先由主機(jī)寫入 B5T-007001,其中包括用戶的灰階圖像。
用戶集合稱為相冊。每個(gè)相冊支持最多 100 個(gè)用戶。B5T-007001 將所有相冊數(shù)據(jù)及其他配置數(shù)據(jù)存儲在攝像頭電路板上的 RAM 中。工作過程中,設(shè)備使用存儲在 RAM 中的相冊數(shù)據(jù)來進(jìn)行檢測。
攝像頭有板載閃存,用于相冊備份存儲。將相冊保存在閃存上命令可將存儲在 RAM 中的所有用戶相冊數(shù)據(jù)寫入閃存。閃存數(shù)據(jù)僅在攝像頭啟動時(shí)加載到攝像頭 RAM。如果在工作過程中,主機(jī)固件需要將攝像頭閃存數(shù)據(jù)重新加載到攝像頭 RAM,則它必須通過硬件電源開關(guān)來復(fù)位 B5T-007001。
執(zhí)行檢測命令 (04h) 用于根據(jù)“命令數(shù)據(jù)”字段的內(nèi)容,執(zhí)行各種內(nèi)置檢測算法。對于在攝像頭的視野中檢測到的每個(gè)人,可以執(zhí)行以下一個(gè)或所有十個(gè)檢測命令:
-
人體檢測命令- 檢測人體的上半身部分,按人體中心的坐標(biāo)進(jìn)行標(biāo)識。
-
手部檢測命令- 檢測打開的手掌,按手部中心的坐標(biāo)進(jìn)行標(biāo)識。
-
人臉檢測命令- 檢測最多 100 張人臉,按中心點(diǎn)坐標(biāo)粗略值進(jìn)行標(biāo)識。
-
人臉方向估計(jì)命令- 估計(jì)受檢測人臉的方向,表示為偏航角(左,右)、俯仰角(下,上)、翻滾角(逆時(shí)針,順時(shí)針)。
-
年齡估計(jì)命令- 估計(jì)受檢測人臉的年齡,從 0 到 75 歲。
-
性別估計(jì)命令- 估計(jì)受檢測人臉的性別(男性,女性)。
-
注視點(diǎn)估計(jì)命令- 估計(jì)受檢測人臉的眼睛注視方向,表示為偏航角(左,右)和俯仰角(下,上)。
-
眨眼估計(jì)命令- 估計(jì)受檢測人臉每只眼睛的眨眼程度,1 = 眼睛全開,1000 = 眼睛全閉。
-
表情估計(jì)命令- 估計(jì)受檢測人臉的表情,結(jié)果表示為平和、快樂、驚訝、憤怒和悲傷。
-
人臉識別命令- 識別受檢測人臉,與存儲的人臉進(jìn)行比較。結(jié)果返回最可能與受檢測人臉匹配的人臉的用戶 ID。
所有位置都以 [x,y] 坐標(biāo)進(jìn)行標(biāo)識,其中圖像左上角的坐標(biāo)為 [0,0]。對于每個(gè)結(jié)果,都有從 0% 到 100% 的關(guān)聯(lián)可信度,以 0 - 1000 的十進(jìn)制數(shù)表示。
攝像頭支持圖像輸出功能,主要用于開發(fā)人員設(shè)置攝像頭和對準(zhǔn)方向時(shí)的調(diào)試輔助。它的分辨率為 320 x 240,還不足以用作安防監(jiān)視器。如果需要流媒體視頻,建議安裝另一個(gè)高清攝像頭。
在應(yīng)用中,放置攝像頭之前,首先必須在開發(fā)環(huán)境中進(jìn)行配置。B5T-007001 附帶有軟件,允許 PC 通過 USB 端口與設(shè)備連接。該 PC 軟件也與 B5T-007001 配合使用,識別和注冊相冊中的用戶。正如我們此前在人臉識別基礎(chǔ)知識中所述,用戶的臉部照片應(yīng)該清晰地顯示鼻子、眼睛、耳朵和下巴的主要特征(圖 2)。
圖 2:建議使用 Omron B5T-007001 人臉識別攝像頭的 PC 用戶界面進(jìn)行攝像頭評估和開發(fā)。它也用作用戶應(yīng)用程序,用于存儲、更改和刪除相冊數(shù)據(jù)。(圖片來源:Omron)
為微控制器系統(tǒng)添加人臉識別功能
B5T-007001 能夠通過 USB 或 UART 接口連接到微控制器。UART 接口支持 921600 位/秒的最大波特率,USB 2.0 接口支持 480 MB/秒。請注意,攝像頭不支持同時(shí)使用這兩種接口。
微控制器只需支持基本輸入/輸出,即可用于 B5T-007001,而更高級的開發(fā)可能需要圖像處理或多攝像頭管理功能。
對于此類應(yīng)用,來自STMicroelectronics的STM32F469Arm? Cortex?-M4F 微控制器支持四個(gè)標(biāo)準(zhǔn) UART,帶有一個(gè)具板載物理層 (PHY) 的 USB 2.0 接口,以節(jié)省電路板空間和減少元件數(shù)(圖 3)。微控制器還帶有片載 MIPI? Alliance D-PHY,以支持 MIPI? CSI-2 和 DSI-2。
對于視頻處理,STM32F469 Arm 內(nèi)核在 180 MHz 頻率下運(yùn)行。它還通過單獨(dú)的 Chrom-ART Accelerator?,支持硬件圖像處理。該圖形加速器能夠加快顏色轉(zhuǎn)換,同時(shí)還執(zhí)行快速塊存儲器移動操作。STM32F469 帶有一個(gè) 128 位接口,連接 2 MB 的閃存,還提供指令預(yù)取隊(duì)列和分支緩存,在 180 MHz 的 CPU 速度下,實(shí)現(xiàn) 0 等待狀態(tài)的閃存訪問。
圖 3:STM32F469 微控制器帶有兩個(gè) USB 2.0 端口和八個(gè)串行端口,可以輕松連接到 B5T-007001,而且仍然有足夠的性能來支持圖像處理。(圖片來源:STMicroelectronics)
STM32F469 能夠通過兩個(gè) USB 2.0 接口中的一個(gè)接口連接到 B5T-007001。在 STM32F469 主機(jī)和攝像頭之間讀取和寫入相冊數(shù)據(jù)時(shí),USB 2.0 接口的速度尤其突出。STM32F469 帶有四個(gè) UART 接口、四個(gè) USART 接口、兩個(gè) USB 2.0 端口,能夠連接最多十個(gè) B5T-007001。
STM32F469 還帶有 SDMMC 外部存儲卡接口(圖 4)。該接口適用于多種閃存卡,例如商用 microSD 和 MMC 卡,可用于傳輸相冊數(shù)據(jù)。例如,可以使用連接到 PC 的 B5T-007001,提取需要識別的所有用戶的照片。然后,PC 將相冊數(shù)據(jù)存儲在閃存卡上,您即可將該閃存卡插入 STM32F469 單板計(jì)算機(jī),用作更新的相冊數(shù)據(jù)。
圖 4:STM32F469 的外部存儲卡接口可用于傳輸數(shù)據(jù),例如來自 PC 的更新相冊數(shù)據(jù)。(圖片來源:Omron)
使用表 2 中所列的命令,STM32F469 和 B5T-007001 能夠用作自主型安防監(jiān)控系統(tǒng)。通過執(zhí)行人臉識別命令,STM32F469 能夠識別攝像頭采集區(qū)域中的已知或未知人員。微控制器固件可將返回的已識別人員的用戶 ID 與存儲在微控制器中的內(nèi)部人員表格進(jìn)行比較。
如果與已知用戶 ID 匹配,STM32F469 可以使用其多個(gè)外設(shè)中的任何一個(gè)來執(zhí)行操作,例如發(fā)出提示音或開門。微控制器帶有一個(gè)以太網(wǎng)端口,可將設(shè)備連接到網(wǎng)絡(luò),因而能夠根據(jù)匹配的用戶 ID 發(fā)送電子郵件。
STM32F469 微控制器還帶有 LCD TFT 控制器,用于控制外部彩色 LCD 顯示屏。但是,要進(jìn)行更多視頻擴(kuò)展,可以使用 MIPI? DSI 兼容接口,連接到帶有 MIPI? 多媒體接口的視頻攝像機(jī)。這樣可添加其他攝像機(jī)來進(jìn)行視頻串流和其他處理,從而實(shí)現(xiàn)后期的視頻擴(kuò)展。雖然這樣可能大幅增加復(fù)雜性,但可以真正擴(kuò)展安防系統(tǒng)的功能。
STM32469I-EVAL 評估板支持該微控制器,從而可實(shí)現(xiàn)對所有微控制器功能的快速評估。評估板還帶有 LCD 顯示屏,可用于顯示來自 B5T-007001 的視頻。
圖 5:STM32469I-EVAL 是適用于 STM32F469 微控制器的完整評估套件,可使用任何 USB、UART 或 USART 端口,輕松連接到 B5T-007001。(圖片來源:STMicroelectronics)
總結(jié)
借助現(xiàn)成的交鑰匙硬件,我們可以通過將所需的算法集成到攝像頭電路板固件中,輕松為嵌入式系統(tǒng)項(xiàng)目添加人臉識別功能。通過簡單的命令界面,我們可以快速開發(fā)微控制器固件,用于與電路板進(jìn)行交互,而無需了解圖像處理的細(xì)節(jié)。
-
人臉識別技術(shù)
+關(guān)注
關(guān)注
0文章
127瀏覽量
14721 -
uart
+關(guān)注
關(guān)注
22文章
1270瀏覽量
103360 -
stm32f469
+關(guān)注
關(guān)注
0文章
3瀏覽量
2996
發(fā)布評論請先 登錄
有償求助!esp32cam攝像頭車牌識別代碼執(zhí)行時(shí),上位機(jī)閃退
一文聊聊自動駕駛攝像頭

天波解疑:IPC監(jiān)控攝像頭的低功耗特點(diǎn)及其優(yōu)勢

社區(qū)安裝IPC攝像頭,跟安裝一般安防監(jiān)控攝像頭有什么區(qū)別?

米爾瑞芯微RK3576實(shí)測輕松搞定三屏八攝像頭
多光譜火焰檢測攝像頭

客流統(tǒng)計(jì)自動識別攝像頭


人流量檢測識別攝像頭

智能化升級:機(jī)載無人機(jī)攝像頭如何自動識別目標(biāo)?

電動車亂停放識別攝像頭

監(jiān)控室離崗智能監(jiān)測攝像頭

評論