楊步榮 扈傳奇 蘇旋
摘 要:本系統(tǒng)以 STM32F103RET6 芯片作為主控單元,利用單片機(jī)的串口功能與攝像頭通信、使用 IIC 通信協(xié)議與 GY906 無(wú)線限溫度傳感器實(shí)現(xiàn)溫度的測(cè)量,以及識(shí)別身份的功能。溫度傳感器采用物體自身的紅外輻射確定所測(cè)物體的表面溫度,讀取IIC時(shí)序信號(hào),轉(zhuǎn)化為準(zhǔn)確的溫度數(shù)據(jù)。識(shí)別模塊使用 HOG 算法取人臉特征,用 Python 語(yǔ)言進(jìn)行編程,主要原理是對(duì)人體面部輪廓的處理。人臉檢測(cè)是將待測(cè)人臉與數(shù)據(jù)庫(kù)中的已知人臉進(jìn)行比對(duì),若相似度高于閾值則認(rèn)為是同一對(duì)象。
關(guān)鍵詞:GY906溫度傳感器;HOG 特征算法;紅外測(cè)溫;STM32
1 檢測(cè)系統(tǒng)硬件設(shè)計(jì)
1.1無(wú)接觸溫度測(cè)量模塊
無(wú)接觸溫度測(cè)量模塊的選擇,使用了GY906傳感器,GY906傳感器是紅外測(cè)溫模塊非接觸溫度采集測(cè)溫探頭傳感器,選擇的型號(hào)為 90614,具有非接觸式、體積小、精度高、成本低等優(yōu)點(diǎn),同時(shí)兼容了 SMBus數(shù)字接口,可配置 PWM連續(xù)輸出,被測(cè)目標(biāo)的溫度和環(huán)境溫度可以通過(guò) IIC通信的 SMBus方式讀取芯片采集的數(shù)據(jù),并通過(guò)主控STM32 轉(zhuǎn)換,得到最終的溫度顯示在 OLED 屏幕身份識(shí)別模塊
身份識(shí)別模塊選擇使用單目攝像頭對(duì)身份進(jìn)行識(shí)別,并通過(guò)串口通信返回被識(shí)別者的身份和佩戴口罩情況,主控會(huì)根據(jù)串口返回的數(shù)據(jù),判斷并顯示被測(cè)對(duì)象是否符合防疫要求。
對(duì)于單個(gè)人臉識(shí)別功能的實(shí)現(xiàn),一共有 3 個(gè)步驟:
1.1.1 提取出攝像頭采集的人臉圖像;
1.1.2 對(duì)于采集的人臉圖像進(jìn)行訓(xùn)練;
1.1.3 將現(xiàn)場(chǎng)采集的人臉與訓(xùn)練集的數(shù)據(jù)進(jìn)行對(duì)比,判斷被測(cè)對(duì)象的身份。
即人臉檢測(cè) (facedetection)、特征提取 (featureextraction)和人臉識(shí)別 (facerecogni?tion)三個(gè)過(guò)程。
2 總體方案設(shè)計(jì)及系統(tǒng)方框圖
本系統(tǒng)包括無(wú)接觸溫度測(cè)量模塊、身份識(shí)別模塊、處理器模塊和電源等。
對(duì)于不同模塊采用不同的傳感器對(duì)所要求的信息進(jìn)行測(cè)量。無(wú)接觸溫度測(cè)量模塊選擇使用GY906傳感器,身份識(shí)別模塊選擇使用攝像頭傳感器,主控選擇STM32F103RET6。
3 理論分析與計(jì)算
溫度檢測(cè)模塊
GY906測(cè)溫的原理是利用測(cè)量物體自身發(fā)出的紅外輻射,準(zhǔn)確地確定其表面溫度。GY906模塊使用 81101熱電原件作為紅外感應(yīng)部分,理想情況下的輸出電壓由外部溫度和傳感器自身溫度決定,為:
U=(T4-T4)(1)
為元件的靈敏系數(shù),溫度單位為開(kāi)爾文。
GY906傳感器使用了 SMBus協(xié)議將所測(cè)量數(shù)據(jù)傳回主控,在本裝置中即 STM32主控。通過(guò)芯片手冊(cè)所提供的 GY906時(shí)序圖,我們可以通過(guò) HAL庫(kù)逐位數(shù)提取 GY906的數(shù)據(jù),并使用換算公式 T=0.2d–273.15 (2)
其中,T為實(shí)際測(cè)量的溫度,單位為攝氏度℃,d為傳感器逐位讀回的 16 位數(shù)據(jù)。
3.2人臉識(shí)別模塊
人臉識(shí)別算法方面,主要使用梯度直方圖(HOG,HistogramofGradient),梯度直方圖是一種解決人體目標(biāo)檢測(cè)的圖像描述方法,該方法使用梯度方向直方圖特征來(lái)表達(dá)人體,提取人體的外形信息和運(yùn)動(dòng)信息,形成豐富的特征集[2]。
為了減少運(yùn)算量,方便后期的處理,將 RGB三種顏色化為灰度圖,根據(jù)人眼的成像感官,可以使用Grey=0.299R+0.587G+0.114B(3)
來(lái)進(jìn)行灰度處理。在后面的圖像處理過(guò)程中,需要進(jìn)行梯度的計(jì)算,雖然圖像可以是任意尺寸的,但是為了減少計(jì)算量,選擇壓縮圖片大小。
為了計(jì)算梯度方向,選擇使用Kernel算子計(jì)算方向 x、方向y 的梯度。再來(lái)計(jì)算梯度的幅值和方向,其中g(shù)x 是x方向的梯度,gv 是 y 方向的梯度。8 *8 子圖像中提取出來(lái)的代表梯度的數(shù)值,這些角度從 [0 180]度而不是 [0 360]度,這些被稱之為無(wú)符號(hào)梯度 (unsigned gradients)。無(wú)符號(hào)梯度的使用效果比有符號(hào)梯度優(yōu)秀,所以這里選擇無(wú)符號(hào)梯度。
為了掌握這個(gè)矩陣整體的梯度狀態(tài),得到這個(gè)子圖像的梯度方向,建立一個(gè)有 9位的梯度直方圖,通過(guò)在 8 *8 子圖像里面進(jìn)行 9 *1 歸一化的直方圖,可以可視化子圖像的 HOG 的描述子。
我們將每一個(gè) HOG 臉部矩陣看作人臉的特征矩陣。在計(jì)算過(guò)程中需要用大量的樣本,重復(fù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)上百萬(wàn)次,以得到一個(gè)最合適的人臉矩陣,使用了Opencv的開(kāi)源訓(xùn)練結(jié)果,與攝像頭傳回圖像中的每個(gè)子圖像進(jìn)行比對(duì),采用的對(duì)比方式是直接計(jì)算 8 *8 *2 的梯度矩陣中的歐式距離。距離足夠小也就是距離低于閾值時(shí),即可認(rèn)為是人臉。
4 測(cè)試數(shù)據(jù)與結(jié)果分析
測(cè)試結(jié)果如表1所示。測(cè)量結(jié)果表明,溫度測(cè)量誤差可以控制在5%以內(nèi),但當(dāng)測(cè)溫距離較遠(yuǎn)時(shí)測(cè)溫效果不佳,主要是由于紅外測(cè)溫設(shè)備的距離有限,進(jìn)一步可考慮更換精度較高的測(cè)溫設(shè)備。
人臉識(shí)別成功率可控制在95%以上,在數(shù)據(jù)集很小的情況,即每人300張采集圖片時(shí),可以實(shí)現(xiàn)人臉的有效識(shí)別。
參考文獻(xiàn):
[1]鐘君,蔡黎明,于涌.基于MLX90614的無(wú)線溫度采集系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2015,34(03):87-89+93.
[2]慕春雷. 基于HOG特征的人臉識(shí)別系統(tǒng)研究[D].電子科技大學(xué),2013.
作者簡(jiǎn)介:
楊步榮(2000—),男,漢族,河北邢臺(tái)人,石家莊鐵道大學(xué),電氣工程及其自動(dòng)化專業(yè),本科生。