楊斌 戚本正 劉璟瑤 陳濤 朱策
(南開大學(xué)濱海學(xué)院 天津市 300270)
目前人工智能的研究包括機(jī)器人、語(yǔ)言識(shí)別、圖像識(shí)別、自然語(yǔ)言處理和專家系統(tǒng)等。人臉識(shí)別是人工智能學(xué)科中發(fā)展的最為快速的一個(gè)分支之一,已有很多落成熟地應(yīng)用。本文身份識(shí)別采用Face Recognition 人臉識(shí)別框架,該框架使用C++開源庫(kù) dlib 中的深度學(xué)習(xí)模型,用Labeled Faces in the Wild 人臉數(shù)據(jù)集進(jìn)行測(cè)試,有高達(dá)99.38%的準(zhǔn)確率。對(duì)于dlib 面部識(shí)別網(wǎng)絡(luò),輸出特征向量是128-d(即128 個(gè)實(shí)值數(shù)字的列表),用于量化面部。通過(guò)實(shí)驗(yàn),我們找出合適的容錯(cuò)值,使得識(shí)別率得到提高。在本文中,我們對(duì)市面常見的紅外溫度傳感器、熱像傳感器進(jìn)行了實(shí)驗(yàn)測(cè)試,分別使用了MLX90614、AMG8833 傳感器。
為了穩(wěn)定測(cè)試環(huán)境,本文使用了自動(dòng)恒溫水箱裝置,通過(guò)水泵、氣孔使得液體不斷流動(dòng),溫度均勻。同時(shí)使用物理溫度計(jì)和溫度傳感器同時(shí)測(cè)量,盡可能的保證被測(cè)對(duì)象的穩(wěn)定。針對(duì)MLX90614、AMG8833 不同傳感器進(jìn)行實(shí)驗(yàn)測(cè)量,通過(guò)最小二乘法擬合,求得擬合系數(shù),經(jīng)驗(yàn)證在一定溫度范圍內(nèi),測(cè)量效果頗佳。
該裝置基于樹莓派4BARMv7 架構(gòu)和STM32F103RET6 微控制器設(shè)計(jì),結(jié)合MLX90614 紅外測(cè)溫傳感器模塊、MLX90640 32*24熱像模塊、AMG8833 8*8 熱像模塊、樂(lè)視體感攝像頭等構(gòu)成。使用TPS5430 電源管理芯片和XL6009DC-DC 可調(diào)電源模塊對(duì)裝置供電。無(wú)接觸測(cè)溫模塊由MLX90614、AMG8833 完成,MLX90614、AMG8833 通過(guò)I2C 協(xié)議將數(shù)據(jù)傳給核心處理器,內(nèi)部算法會(huì)對(duì)溫度信息進(jìn)行分析處理。身份識(shí)別模塊以O(shè)penCv 為基礎(chǔ),采用Face Recognition 人臉識(shí)別框架,通過(guò)攝像頭和樹莓派完成身份識(shí)別,將溫度信息、攝像頭捕獲的視頻流以及人臉識(shí)別的結(jié)果顯示在LCD屏幕上。STM32F103RET6 將各種傳感器采集到的信息進(jìn)行匯總、分析、處理,并通過(guò)串口上傳至樹莓派。總體結(jié)構(gòu)框架圖如圖1所示。
圖1:總體結(jié)構(gòu)框架圖
2.2.1 MLX90614 模塊設(shè)計(jì)
如圖2所示,MLX90614 有很多FOV 選型標(biāo)準(zhǔn),溫度測(cè)量范圍:-70℃-382.2℃。
圖2:MLX90614 模塊電路圖
2.2.2 AMG8833 模塊設(shè)計(jì)
如圖3所示,AMG8833 模塊是一個(gè)8*8 的紅外熱傳感器陣列,它可以從遠(yuǎn)達(dá)7m 的距離開始檢測(cè)。
圖3:AMG8833 模塊電路圖
采用樂(lè)視體感攝像頭。該攝像頭可用在機(jī)器視覺(jué)、3D 點(diǎn)云、OpenCv 學(xué)習(xí)、ROS 機(jī)器人等方面。
如圖4所示,采用STM32F103RET6 單片機(jī)作為次控制模塊的核心。
圖4:STM32F103RET6 電路圖
采用樹莓派4B ARMv7 為主控制模塊。對(duì)于本系統(tǒng)設(shè)計(jì),主從處理器通過(guò)串口通信,對(duì)信息進(jìn)行匯總、分析與處理。
如圖5所示,電源選擇了TPS5430 電源管理芯片和XL6009DC-DC 可調(diào)電源模塊,STM32 及所載屏幕使用12V 2A DC電源適配器,樹莓派及其連接屏幕使用5V 3A DC 電源適配器,為電路穩(wěn)定提供電壓。
圖5:電源模塊電路圖
如圖6所示,恒溫水池設(shè)計(jì)具有在水溫下限到水溫上限全量程內(nèi)的加熱功能,當(dāng)水溫低于水溫下限時(shí)開始加熱,水溫低于水溫上限時(shí)自動(dòng)斷電停止加熱。恒溫水池機(jī)械結(jié)構(gòu)模型圖如圖7所示。
圖6:恒溫水池電路圖
圖7:恒溫水池機(jī)械結(jié)構(gòu)模型圖
3.1.1 紅外溫度測(cè)量方法基本分析
紅外熱電堆傳感器輸出的溫度信號(hào)經(jīng)過(guò)內(nèi)部低噪聲、低失調(diào)的運(yùn)算放大器(OPA)放大后經(jīng)過(guò)A/D 轉(zhuǎn)換器(ADC)轉(zhuǎn)換為17 位數(shù)字信號(hào)通過(guò)可編程FIR 及IIR 低通數(shù)字濾波器(即DSP)處理后輸出,輸出結(jié)果存儲(chǔ)在其內(nèi)部RAM 存儲(chǔ)單元中。
MLX90614 模塊以81101 熱電元件作為紅外感應(yīng)部分。輸出是被測(cè)物體溫度(TO)與傳感器自身溫度(Ta)共同作用的結(jié)果,理想情況下熱電元件的輸出電壓為:
Vir=A(To4-Ta4)
其中溫度單位均為 Kelvin(開爾文),A 為元件的靈敏度常數(shù)。
計(jì)算好的溫度輸出分辨率為0.02℃,傳感器的出廠校準(zhǔn)范圍為-40 ~+125℃。在 RAM 單元地址006h 中,2DE4h 對(duì)應(yīng)-38.2℃ (線性輸出最低限度) ,4DC4h (19908d) 對(duì)應(yīng)125℃。
通過(guò)下式將RAM 內(nèi)容轉(zhuǎn)換為實(shí)際的Ta 溫度:
Ta[°K]=Tareg×0.02 ,or 0.02°K/LSB
物體溫度 To 輸出結(jié)果分辨率為 0.02℃,并存于RAM。To 的實(shí)際溫度為:
To[°K]=Toreg×0.02 ,or 0.02°K/LSB
3.1.2 紅外熱成像測(cè)量方法基本分析
紅外熱成像測(cè)溫系統(tǒng)屬于窄譜輻射成像的測(cè)量設(shè)備,可以將接收到的紅外熱輻射能量轉(zhuǎn)換為電信號(hào),電信號(hào)經(jīng)過(guò)放大、整形、模數(shù)轉(zhuǎn)換后成為數(shù)字信號(hào),通過(guò)圖像的形式在顯示器上顯示出來(lái),同時(shí)對(duì)溫度值進(jìn)行計(jì)算。
AMG8833 是基于高級(jí)MEMS 技術(shù)的高精度紅外陣列傳感器,其內(nèi)部框圖如圖8所示,傳感器芯片經(jīng)過(guò)高增益放大與內(nèi)部熱敏電阻通過(guò)ADC 轉(zhuǎn)換器存儲(chǔ)到ROM 中。
圖8:AMG8833 內(nèi)部框圖
AMG8833 每個(gè)像素的觀看中央角度傳感器的光學(xué)中心間隙:在±5.6°內(nèi)(水平和垂直方向)。像素間隙排列圖如圖9所示。
圖9:像素間隙排列圖
AMG8833 通過(guò)128 個(gè)Temperature 寄存器一次性讀取64 個(gè)像素點(diǎn)的溫度,存儲(chǔ)在自定義數(shù)組中(例如a[64]),64 個(gè)溫度值中有部分受環(huán)境影響而導(dǎo)致測(cè)溫不準(zhǔn)確,由于環(huán)境的溫度低于人體溫度,故軟件設(shè)計(jì)中采取設(shè)置閾值比較算法,取64 個(gè)溫度值中最大溫度的10 個(gè)溫度取平均(如果大于44℃會(huì)被視為異常點(diǎn)舍棄),即代表了人體體溫。
最小二乘法是一種在誤差估計(jì)、不確定度、系統(tǒng)辨識(shí)及預(yù)測(cè)、預(yù)報(bào)等數(shù)據(jù)處理諸多學(xué)科領(lǐng)域得到廣泛應(yīng)用的數(shù)學(xué)工具,通過(guò)最小化誤差的平方和來(lái)尋找數(shù)據(jù)的最佳函數(shù)進(jìn)行匹配。
矩陣表達(dá)形式:
對(duì)于n 個(gè)樣本來(lái)說(shuō),可以用如下線性方程組表示:
圖14、15、16 裝置測(cè)量實(shí)物圖
將上式記為矩陣形式為:
最終形式為:A·B = Y,最小二乘形式可以表示為:min||AB-Y||2,最優(yōu)解為:。
本文使用Matlab對(duì)測(cè)量數(shù)據(jù)進(jìn)行擬合,初步使用二階函數(shù)擬合,去掉一個(gè)差距最大的數(shù)據(jù)和差距最小的數(shù)據(jù),取平均值,形成如圖10所示的關(guān)系曲線。
圖10:Matlab 關(guān)系曲線
3.3.1 深度學(xué)習(xí)中的人臉識(shí)別分析
進(jìn)行人臉識(shí)別是由如下步驟完成的:首先,從視頻流中截取一張包含人臉的照片;其次無(wú)論周圍光線如何,確保能夠識(shí)別出是同一個(gè)人的臉;再針對(duì)截取的人臉需要區(qū)分與其他人臉的不同之處;最后將截取的人臉與已知的人臉庫(kù)進(jìn)行比較,確定人臉的標(biāo)記。
為了得到每個(gè)人臉最獨(dú)特的數(shù)據(jù),該算法將從圖片(圖11)中找到所有的人臉,然后捕捉并識(shí)別人臉的關(guān)鍵點(diǎn),包括眼睛、鼻子、嘴和下巴。在對(duì)成千上萬(wàn)的人的數(shù)百萬(wàn)個(gè)圖像重復(fù)此步驟數(shù)百萬(wàn)次之后,神經(jīng)網(wǎng)絡(luò)學(xué)會(huì)了可靠地為每個(gè)人生成128 個(gè)數(shù)據(jù)值。也就是會(huì)在人臉上獲取128 個(gè)點(diǎn)的向量,比如眉毛的輪廓、鼻子的輪廓、嘴的輪廓等許多個(gè)點(diǎn)組成的線。
圖11:人臉面部特征圖
系統(tǒng)軟件程序設(shè)計(jì)流程圖如圖12所示。
圖12:系統(tǒng)軟件程序設(shè)計(jì)流程圖
4.1.1 測(cè)量方案及測(cè)試條件
溫度測(cè)量條件如圖13。
圖13:溫度測(cè)量條件
測(cè)試方案:將MLX90614 紅外測(cè)溫傳感器模塊、紅外熱像儀AMG8833 模塊固定在STM32 板子上,攝像頭可以直射容器中的水。以測(cè)試距離為1m 的攝像頭為基準(zhǔn),其實(shí)際長(zhǎng)度為3.8cm,在容器和攝像頭中間放一塊長(zhǎng)5cm,寬和高分別為1cm 的小木塊,則測(cè)試距離為:5-3.8=1.2cm。在此基礎(chǔ)上,每放一塊小木塊,攝像頭和容器之間的距離就增加1cm,隨之測(cè)出的數(shù)據(jù)會(huì)顯示在LCD 屏幕上,當(dāng)所測(cè)溫度超過(guò)自己設(shè)定的閾值時(shí),就會(huì)發(fā)射出報(bào)警。每測(cè)出一組數(shù)據(jù),就要與紅油溫度計(jì)的實(shí)際溫度進(jìn)行比對(duì),去掉一個(gè)誤差最大和最小的數(shù)據(jù),取平均值,最后進(jìn)行最小二乘法的擬合,用matlab繪制出來(lái)。裝置測(cè)量實(shí)物圖如圖14、圖15 和圖16所示。
4.1.2 測(cè)量結(jié)果
數(shù)據(jù)對(duì)比如下:
采用兩種不同型號(hào)的MLX90614,DCI 測(cè)距為1m 左右,BCC/DCC 測(cè)距為10cm 左右。如表1 和表2所示。
表1:數(shù)據(jù)結(jié)果一
表2:數(shù)據(jù)結(jié)果二
Matlab 圖像如圖17所示。
圖17:溫度曲線擬合
4.1.3 測(cè)量結(jié)果分析
經(jīng)測(cè)量,可以得出,不同類型的紅外傳感器對(duì)溫度的誤差測(cè)量不一樣,DCI 的誤差大約在0.8℃,BCC/DCC 的誤差大約1.3℃,幾乎與紅油溫度計(jì)測(cè)量的實(shí)際溫度相同。此裝置能夠基本實(shí)現(xiàn)無(wú)接觸測(cè)溫功能。
4.2.1 測(cè)量方案
首先進(jìn)行信息采集,其次進(jìn)行人臉檢測(cè),識(shí)別臉部特征,保存面部的128 維面部編碼,最后顯示基本信息。如圖18所示。
圖18:128 維面部編碼
4.2.2 識(shí)別結(jié)果
如圖19所示。
圖19:人臉識(shí)別結(jié)果