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