葉光澤 童宣科 侯保冀
摘要:人臉和口罩識別在許多現(xiàn)代應(yīng)用中有廣泛需求,包括安全檢查、身份認(rèn)證以及工業(yè)安全等方面。探 討了基于 Jetson Nano 的人臉口罩識別系統(tǒng),旨在實現(xiàn)對個體是否佩戴口罩的準(zhǔn)確判斷。該系統(tǒng)使用先進(jìn)的 人臉識別算法來定位圖像中的人臉區(qū)域,然后應(yīng)用深度學(xué)習(xí)模型對人臉區(qū)域進(jìn)行口罩檢測。所有的數(shù)據(jù)處 理和模型推理均在 Jetson Nano 上實現(xiàn),從而使系統(tǒng)具有較高的運行效率和可移植性。在多個不同環(huán)境和視 角下進(jìn)行測試,結(jié)果顯示該系統(tǒng)在各種復(fù)雜條件下都展示出較高的識別準(zhǔn)確率,并能處理高達(dá) 30 幀 /s 的實 時圖像。不僅證明了 Jetson Nano 在圖像識別和實時數(shù)據(jù)處理方面的高性能,還為開發(fā)多種人臉識別應(yīng)用提 供了有力的技術(shù)支持。
關(guān)鍵詞:人臉識別;口罩識別;Jetson Nano;深度學(xué)習(xí)
中圖分類號:TP394.41;TP183文獻(xiàn)標(biāo)識碼:A
0 引言
近年來,人臉識別技術(shù)取得了顯著進(jìn)展,已廣 泛應(yīng)用于各種場合,包括安全監(jiān)控、身份驗證、人 流量統(tǒng)計以及工業(yè)自動化等。其中,檢測是否佩戴 口罩成為一個特殊但重要的任務(wù),特別是在需要遵 守特定安全規(guī)定或健康標(biāo)準(zhǔn)的場合。然而,即便是 最先進(jìn)的人臉識別算法,也常常會受到環(huán)境變量 (如光照、角度和遮擋物)的影響,導(dǎo)致算法準(zhǔn)確 性下降。為了解決這些問題,需要一種低成本、高 效率的解決方案,因此本文提出基于 Jetson Nano的人臉口罩識別系統(tǒng)。Jetson Nano 是一款專為邊緣 計算設(shè)計的微型計算平臺,具有出色的圖像處理和 機器學(xué)習(xí)能力,且功耗和成本都較低。
1 硬件設(shè)計
1.1 硬件組件
本設(shè)計的硬件架構(gòu)主要由 3 個 部 分 組 成: Jetson Nano 微型計算平臺、顯示屏和攝像頭。
1.1.1 Jetson Nano
Jetson Nano 是 NVIDIA 公司推出的一款微型計算平臺,專為邊緣計算設(shè)計。其搭載了 ARM A57 處理器和 128 核統(tǒng)一計算設(shè)備架構(gòu)(compute unified device architecture,CUDA)兼容的圖形 處理器,具有出色的圖像處理和機器學(xué)習(xí)能力。 Jetson Nano 還具有低功耗和高性能的特點,適用于 人臉和口罩識別等實時圖像分析任務(wù)。
1.1.2 顯示屏
為了實時顯示識別結(jié)果,本設(shè)計使用了一臺 7 英寸的顯示屏。該顯示屏與 Jetson Nano 通過高清 多 媒 體 接 口(high definition multimedia interface, HDMI)連接,能夠以高分辨率和流暢度來展示攝 像頭捕獲的圖像和算法識別的結(jié)果。
1.1.3 攝像頭
本設(shè)計使用了一款高清網(wǎng)絡(luò)攝像頭,具有 1 920×1 080 的分辨率和 30 幀 /s 的幀率,以捕捉 高質(zhì)量的圖像。該攝像頭通過 USB 接口與 Jetson Nano 連接,能夠?qū)崟r傳輸視頻流。
1.2 工作流程
在硬件組合完畢后,系統(tǒng)的工作流程如下:首 先,攝像頭捕捉實時視頻流,并通過 USB 接口發(fā) 送到 Jetson Nano。其次,Jetson Nano 進(jìn)行圖像預(yù) 處理并運行人臉口罩識別算法。最后,識別結(jié)果會 即時在連接的顯示屏上顯示出來。
該硬件組合不僅確保了系統(tǒng)的高效運行,還具 有很好的可擴展性和可移植性,為未來的研究和應(yīng) 用提供了強有力的硬件支持。
2 軟件設(shè)計
在完成環(huán)境搭建后,軟件設(shè)計部分將遵循程序 流程(圖 1)進(jìn)行編碼和實現(xiàn)。
2.1 環(huán)境搭建
環(huán)境搭建作為實驗的初步階段,具有基礎(chǔ)且關(guān) 鍵的意義。本設(shè)計需要搭建深度學(xué)習(xí)的環(huán)境,即 PyTorch(開源的 Python 機器學(xué)習(xí)庫)框架,需要 考慮好各種庫之間的匹配問題,以及 PyTorch 和 torchvision(PyTorch 的一個圖形圖像庫)的安裝, 這兩個庫是深度學(xué)習(xí)模型開發(fā)的重要組成部分。完 成環(huán)境搭建后,對 PyTorch 進(jìn)行基礎(chǔ)驗證是確認(rèn)環(huán) 境穩(wěn)定性的關(guān)鍵。只有在完成這些必要的流程之后 才能進(jìn)行代碼編寫。
2.2 預(yù)處理
預(yù)處理是為了準(zhǔn)備圖像數(shù)據(jù)以供模型使用。首 先進(jìn)行圖像縮放,將輸入圖像的大小調(diào)整為模型所 期望的尺寸。其次,進(jìn)行圖像歸一化,將每個像素 的 RGB(紅、綠、藍(lán))值由 0 ~ 255 縮放到 0 ~ 1, 從而加速模型的收斂速度并提高準(zhǔn)確性。此外,還 需進(jìn)行維度擴展,為圖像數(shù)據(jù)增加一個批處理維 度,使其能夠輸入到神經(jīng)網(wǎng)絡(luò)模型中。
2.3 人臉檢測
人臉檢測采用了基于深度學(xué)習(xí)的方法。使用 了 預(yù) 訓(xùn) 練 的 卷 積 神 經(jīng) 網(wǎng) 絡(luò)(convolutional neural networks,CNN)從輸入圖像中提取有用的特 征 [1-2],CNN 模型如圖 2 所示。該模型使用 PyTorch 框架進(jìn)行加載,如圖 3 所示。人臉的定位是通過預(yù)設(shè)的邊界框來實現(xiàn)的。首先,生成一組錨點框 [2], 并覆蓋在圖像的不同位置上。每個特征圖的尺寸代 表不同尺度上的空間布局,錨點大小和比例定義了 每個錨點框的尺寸和形狀。模型會預(yù)測邊界框中哪 些最有可能包含人臉,以及如何微調(diào)邊界框以更準(zhǔn) 確地定位人臉。
測結(jié)果以獲取實際的邊界框,該函數(shù)采用模型 輸出和錨點邊界框作為輸入。首先,計算錨點的中 心位置和尺寸。其次,利用原始輸出(通常是由 神經(jīng)網(wǎng)絡(luò)生成,表示邊界框相對于錨點的偏移和 大小變化)來調(diào)整錨點。函數(shù)通過應(yīng)用一組比例 因子,計算預(yù)測的邊界框的中心位置、寬度和高 度。最后,利用函數(shù)將這些信息合并,形成最終 的預(yù)測邊界框,從而更準(zhǔn)確地指示圖像中的目標(biāo) 位置。
2.4 口罩識別
在準(zhǔn)確檢測人臉后,需要利用模型識別這張臉 是否戴了口罩。模型基于其學(xué)習(xí)到的特征來判斷邊 界框內(nèi)的人臉是否戴有口罩,并給出相應(yīng)的類別標(biāo) 簽和置信度。這是通過查看模型的輸出來實現(xiàn)的。 該輸出是一個概率分布,顯示了模型對每個類別 (戴口罩和未戴口罩)的置信度。
對于每個檢測到的人臉,通過置信度閾值和非 極大值抑制(non-maximum suppression,NMS)來 過濾和精煉結(jié)果 [3]。如果一個預(yù)測的置信度高于置 信度閾值,則認(rèn)為這個預(yù)測是可信的,否則將其 舍棄。交并比(intersection over union,IoU)[4] 表 示兩個邊界框的重疊度,IoU 值是兩個邊界框相交 區(qū)域面積與兩個邊界框聯(lián)合區(qū)域面積的比值。在 NMS 過程中,如果兩個邊界框的 IoU 值高于 IoU 閾值,這通常表示兩個邊界框都在檢測同一個對 象。在這種情況下,只保留置信度更高的那個邊界 框,同時舍棄另一個。因此,通過設(shè)置合適的 IoU 閾值和置信度閾值,可以保證系統(tǒng)更準(zhǔn)確地識別出 是否戴了口罩。
最后,根據(jù)識別結(jié)果,邊界框和類別標(biāo)簽將被 繪制在原始圖像上,并且給出可信度。識別情況如 圖 4 所示。戴口罩為 Mask,未戴口罩為 NoMask。
3 系統(tǒng)測試
3.1 數(shù)據(jù)集
在進(jìn)行系統(tǒng)測試之前,選擇合適的數(shù)據(jù)集是至 關(guān)重要的。由于本文設(shè)計的是一個面向人臉和口 罩檢測的系統(tǒng),因此選擇了包含戴口罩和未戴口罩 的大規(guī)模人臉數(shù)據(jù)集。數(shù)據(jù)集來自 WIDER Face 和 MAFA 數(shù)據(jù)集 [3]。AIZOO 團隊以統(tǒng)一標(biāo)準(zhǔn)對這兩 個數(shù)據(jù)集中圖片的人臉位置進(jìn)行二次標(biāo)注,共標(biāo)注 了 7 971 張人臉標(biāo)注圖片。該數(shù)據(jù)集包含了多種場 景、光照條件以及人臉方向來測試模型在各種情況 下的泛化能力。
3.2 測試環(huán)境和視角
測試環(huán)境的多樣性也非常重要。為了確保模型能夠在不同的實際應(yīng)用場景中表現(xiàn)良好,系統(tǒng)不僅 在室內(nèi)進(jìn)行了測試,還模擬了室外、公共交通、商 場等多種環(huán)境。除了環(huán)境外,還從不同的視角和距 離進(jìn)行了測試,包括正面、側(cè)面、斜視等,以及 從不同距離對目標(biāo)進(jìn)行捕捉,從而測試模型的穩(wěn) 健性。
3.3 結(jié)果與討論
經(jīng)過一系列綜合測試,模型在大多數(shù)測試環(huán)境 和視角下都表現(xiàn)出色,對有口罩和無口罩的分類準(zhǔn) 確率很高。然而,該模型也存在局限性和需要改進(jìn) 的地方。在極端光照條件下,如逆光或暗光,模型 的檢測效果不佳。在未來的版本中可能需要加入光 照不變性或者使用更復(fù)雜的模型來改善性能。當(dāng)人 臉部分被遮擋或者佩戴了非標(biāo)準(zhǔn)口罩(如頸巾、面 紗等)時,模型的檢測準(zhǔn)確度也有所降低。這意味 著模型可能需要更多數(shù)據(jù)集來訓(xùn)練,特別是包含各 種遮擋和口罩類型的數(shù)據(jù)集。雖然 NMS 算法有效 地減少了多余的檢測框,但在高密度人群中,模型 檢測結(jié)果仍然可能產(chǎn)生一些錯誤。針對該問題,可 采用更高級的后處理技術(shù),例如,Soft-NMS 算法 [5] 可以作為一個潛在的解決方案。這些測試結(jié)果不僅 驗證了模型的有效性,也指出了模型改進(jìn)和優(yōu)化的 方向。
4 結(jié)語
本文設(shè)計了基于 Jetson Nano 的人臉口罩識別 系統(tǒng)。通過采用先進(jìn)的 CNN 架構(gòu)和實用的圖像處 理技術(shù),不僅實現(xiàn)了高準(zhǔn)確度的人臉識別,還成功 地對是否佩戴口罩進(jìn)行了判斷。本系統(tǒng)經(jīng)過了多環(huán) 境和多角度的嚴(yán)格測試,結(jié)果顯示其在大多數(shù)應(yīng)用 場景下都具有出色的性能和可靠性。然而,本系統(tǒng) 還有改進(jìn)空間,包括在特定光照和遮擋條件下的檢 測準(zhǔn)確度,以及后處理算法的優(yōu)化。未來將進(jìn)行更 多的數(shù)據(jù)收集和模型訓(xùn)練,以進(jìn)一步提高系統(tǒng)的準(zhǔn) 確性和適應(yīng)性。
參考文獻(xiàn)
[1] 仝曉春,周玲 .基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別研究 [J]. 電腦知識與技術(shù),2023,19(23):26-27,38.
[2] 曹家樂,李亞利,孫漢卿,等 . 基于深度學(xué)習(xí)的視覺 目標(biāo)檢測技術(shù)綜述 [J]. 中國圖象圖形學(xué)報,2022, 27(6):1697-1722.
[3] 蔣益鳴,范希喆,張美嘉,等 . 基于卷積神經(jīng)網(wǎng)絡(luò)口罩識 別方法研究 [J]. 中國新技術(shù)新產(chǎn)品,2022(17):17-19.
[4] 張羽 . 目標(biāo)檢測中的交并比損失函數(shù)研究 [D]. 合肥: 安徽大學(xué),2021.
[5] 樊新川,陳春梅 . 基于 YOLO 框架的輕量化高精度目標(biāo) 檢測算法 [J]. 液晶與顯示,2023,38(7):945-954.