AI Face Recognition Security Camera
AI人臉辨識安控攝影機
越來越多的設計師被要求為當前的網路和新產品,添加圖像和影像分析功能,特別是安全應用。臉部和車輛辨識特別可取,可以增加相當大的價值,但瞭解和編程基於微控制器系統的臉部辨識模型的細節,可能既費時又複雜。
與往常一樣,開發人員需要盡快開始實驗和開發。本文將展示開發人員如何透過使用現成的硬體和軟體組合來節省時間,以加快將臉部辨識納入嵌入式系統的速度。
臉部辨識基礎知識
大多數開發人員已經熟悉人臉檢測。這是一個分析圖像,和確定臉部存在位置的過程。許多智慧手機都有這種功能。臉部辨識是臉部檢測後的下一階段。這是利用從臉部特徵相對距離,獲得的數據分析臉部和開發數學模型的過程。這包括眼睛之間的距離,以及眼睛與鼻子、下巴、耳朵和顴骨的相對位置。還確定了臉部相對於臉部辨識攝影機的角度,因為它對確定相對距離很重要。膚色也可以被檢測並用於辨識。
然後將該模型與已知面孔的存儲數學模型數據庫進行比較,並由算法確定最佳匹配。檢測到的面孔與存儲的面孔匹配的概率(百分比)。另一種選擇是沒有匹配,因此檢測到的面孔未知。
臉部辨識硬體
為了整合臉部辨識,設計師可以選擇將攝影機感測器、影像和圖像前端信號調節、GPU、控制處理器、內建記憶體和相關軟體和韌體組合在一起。當然,這需要時間,並且可能是一個漫長的學習曲線。或者,他們可以使用現成的硬體和韌體建構臉部辨識系統。一個好的起點是歐姆龍電子的B5T-007001 攝影機感測器,這是測試硬體和韌體的統包解決方案(圖1)。
圖1:歐姆龍B5T-007001 臉部辨識攝影機,具有臉部辨識應用程序所需的所有功能。(圖片來源:歐姆龍)
B5T-007001 有一個 USB 2.0 接口,可以將攝影機板連接到運行歐姆龍評估軟體的 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的數據位於「命令數據」字段中。(圖片來源:歐姆龍)
B5T-007001支持20個命令。有關所有命令的完整描述,請參閱表2。
表2:B5T-007001的命令列表,並簡要說明每個命令。每個命令返回響應代碼或錯誤代碼。所有寫都是主機對攝影機的寫字。所有讀取都是主機從攝影機機讀取數據。(數據來源:歐姆龍)
攝影機非常靈活,可以透過連接到迷你 USB 2.0 端口的電纜輕鬆配置。每個要辨識的人都被稱為用戶,並透過一個 2 字節的用戶 ID 辨識。所有用戶 ID 數據首先由主機寫入 B5T-007001,並包含用戶的灰度圖像。
用戶集合稱為相冊。專輯中最多支持 100 個用戶。B5T-007001 將所有相冊數據,以及所有其他配置數據儲存在攝影機板上的 RAM 中。在操作期間,儲存在 RAM 中的相冊數據用於檢測。
攝影機確實車載了用於相冊備份儲存的閃存。「在 Flash 上保存相冊」命令將儲存在 RAM 中的所有用戶的相冊數據寫入閃存。閃光燈數據僅在攝影機啓動時,加載到攝影機 RAM 中。如果主機韌體在運行期間,需要將攝影機閃光燈數據重新加載到攝影機 RAM 中,它將不得不透過硬體循環電源重置 B5T-007001。
執行檢測命令(04小時)用於根據命令數據字段的內容,執行各種內置檢測算法。對於相機視野中檢測到的每個人,可以執行以下十個檢測命令中的一個或多個:
- 人體檢測命令 - 檢測人體上半部分,由身體中心的坐標辨識。
- 手部檢測命令 - 檢測手掌打開,由手中心的坐標標識。
- 人臉檢測命令-檢測最多 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 用戶介面進行攝影機評估和開發。它還用作儲存、更改和刪除相冊數據的用戶應用。(圖片來源:歐姆龍)
為微控制器系統添加臉部辨識
B5T-007001 可以透過 USB 或 UART 接口與微控制器接口連接。UART 支持 921600 位/s 的最大波特率,USB 2.0 接口支持 480 Mbits/s。請注意,相機不支持同時使用這兩個接口。
雖然微控制器需要支持基本的 I/O,才能與 B5T-007001 有用,但更高級的開發可能需要圖像處理或管理多個相機。
對於此類應用,STMicroelectronics 的 STM32F469 Arm® Cortex®-M4F 微控制器支持四個標準 UART,並具有帶有板載實體層(PHY)的 USB 2.0 接口,以節省板空間和組件數量(圖3)。微控制器還有一個片上 MIPI ®聯盟 D-PHY 來支持 MIPI® CSI-2 和 DSI-2。
對於影像處理,STM32F469 Arm 核心以 180MHz 運行。它還支持透過單獨的 Chrom-ART 加速器 TM,進行硬體圖像處理。這是一個圖形加速器,可以加快顏色轉換,同時執行快速塊內存移動操作。STM32F469 具有與 2 Mbytes 閃存的 128 位接口,具有指令預取隊列和分支緩存,允許以 180MHz 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-007001s。
STM32F469 還具有 SDMMC 外部儲存卡接口(圖4)。這適用於各種閃存卡,如商用 microSD 和 MMC 卡,並可用於傳輸相冊數據。例如,與 PC 接口的 B5T-007001 可用於為所有需要辨識的用戶拍照。然後,PC 可以將相冊數據儲存在閃存卡上,而閃存卡可以插入 STM32F469 單板電腦(SBC),並用作更新的相冊數據。
圖4:STM32F469 的外部儲存卡接口可用於傳輸數據,例如從 PC 更新的相冊數據。(圖片來源:歐姆龍)
使用表2 中列出的命令,STM32F469 和 B5T-007001 可以用作自主安全監控系統。透過執行臉部辨識命令,STM32F469 可以辨識攝影機捕獲區域中的已知或未知人員。微控制器韌體可以將已辨識人員的返回用戶 ID,與儲存在微控制器中的內部人員表進行比較。
當已知用戶 ID 匹配時,STM32F469 可以使用其多個外圍設備中的任何一個執行操作,如發出警報或打開門。微控制器有一個乙太網端口,可以將設備連接到網路,允許它根據匹配的用戶 ID 發送電子郵件。
STM32F469 微控制器還配有液晶 TFT 控制器,用於控制外部彩色液晶顯示器。然而,對於額外的影像擴展,符合 MIPI® DSI 的接口,可用於使用 MIPI® 多媒體接口連接到攝影機。這可以透過添加另一個攝影機,進行影像串流和額外處理來允許以後的擴展。雖然這增加了更高的複雜性,但它確實可以擴展安全系統的能力。
微控制器由 STM32469I-EVAL 評估板支持,該評估板允許快速評估所有微控制器的功能。評估板上還有一個 LCD 顯示幕,可用於顯示來自 B5T-007001 的影像。
圖5:STM32469I-EVAL 是 STM32F469 微控制器的完整評估套件,可以使用其任何 USB、UART 或 USART 端口輕鬆連接到 B5T-007001。(圖片來源:STMicroelectronics)
結論
現成的 turnkey 硬體,透過在攝影機板韌體中整合所需的算法,更容易為嵌入式系統項目添加臉部辨識。一個簡單的命令介面,允許快速開發與板交互的微控制器韌體,而無需瞭解圖像處理的細節。
0 comments:
張貼留言