耿建平黃文廣
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西 桂林 541000)
隨著科技的快速發(fā)展,科技深入到各方各面。在軍事、公安、日常生活中無處不在,人體檢測(cè)也成為發(fā)展的重點(diǎn)。在軍事作戰(zhàn)方面可用于人員檢測(cè),在公安方面可用于人員監(jiān)督,在日常生活中可用于報(bào)警系統(tǒng)的監(jiān)督和節(jié)能系統(tǒng)的檢測(cè)。在現(xiàn)有方法中,有工藝成熟的熱釋電紅外傳感器檢測(cè)法,能夠?qū)\(yùn)動(dòng)的人進(jìn)行精確測(cè)量,但其缺點(diǎn)是無法實(shí)現(xiàn)對(duì)靜止不動(dòng)的人進(jìn)行檢測(cè),所以使用陣列傳感器對(duì)人體進(jìn)行檢測(cè)得到了快速的發(fā)展,因其不僅可以對(duì)運(yùn)動(dòng)的人進(jìn)行檢測(cè)還可對(duì)靜止的人進(jìn)行檢測(cè)。它的測(cè)量方式是將一個(gè)區(qū)域平均分成多個(gè)小區(qū)域,然后對(duì)每個(gè)小區(qū)域的平均溫度進(jìn)行測(cè)量,而這時(shí)候它的測(cè)量準(zhǔn)確性就會(huì)受到背景溫度,距離的影響。要想提高準(zhǔn)確性有兩種方法,一種是硬件上,在相同的區(qū)域上,增加小區(qū)域數(shù)量也就是所說的分辨率,這時(shí)不管是工藝復(fù)雜程度、難度還是體積都會(huì)成倍提升。第二種是通過算法來提高檢測(cè)準(zhǔn)確性,且算法能夠提高任何分辨率的陣列紅外傳感器檢測(cè)準(zhǔn)確性。
在使用低分辨率陣列傳感器的檢測(cè)算法中,有自適應(yīng)背景估計(jì)[1]和幀間方差法[2]。在無外部環(huán)境干擾下,兩種方法都能實(shí)現(xiàn)很好的檢測(cè)。其共有缺點(diǎn)是無法在含高頻率紅外信號(hào)外部環(huán)境干擾下的準(zhǔn)確實(shí)現(xiàn)人體識(shí)別。幀間方差法,通過采用每幀之間的方差差值與閾值對(duì)比來實(shí)現(xiàn)人體檢測(cè),因算法瞬時(shí)特性,可以對(duì)連續(xù)變化的紅外信號(hào)進(jìn)行區(qū)分。因高頻率溫度干擾也具有瞬時(shí)性,所以無法將其進(jìn)行區(qū)分,且當(dāng)人體處于靜止?fàn)顟B(tài),也無法使用該算法對(duì)人體進(jìn)行檢測(cè),只能通過閾值進(jìn)行判斷,使得該算法在含高頻率紅外信號(hào)外部干擾下準(zhǔn)確度較低。自適應(yīng)背景估計(jì)通過人體測(cè)量溫度和背景溫度的溫度差值與閾值對(duì)比來實(shí)現(xiàn)人體檢測(cè),人體測(cè)量溫度由傳感器測(cè)量數(shù)據(jù)通過卡爾曼濾波得到,背景溫度由熱敏電阻傳感器測(cè)量數(shù)據(jù)通過背景估計(jì)算法得到,因外部熱源會(huì)提高背景溫度、減小與人體溫度的差值,且卡爾曼濾波只能消除白噪聲,無法消除其他噪聲,所以無法區(qū)分外部環(huán)境的高頻率溫度干擾,使得該算法在含高頻率紅外信號(hào)外部干擾下準(zhǔn)確度較低。針對(duì)這兩種算法的缺點(diǎn),對(duì)自適應(yīng)背景估計(jì)算法進(jìn)行修改和創(chuàng)新,提出了一種新的算法,命名為人體識(shí)別算法。算法的第一步,對(duì)每個(gè)傳感器檢測(cè)單元的數(shù)據(jù)進(jìn)行卡爾曼濾波[3-5],消除信號(hào)中的白噪聲干擾。第二步對(duì)濾波后的數(shù)據(jù)進(jìn)行EMD算法分解[6-9]得到IMF分量,通過IMF分量的瞬時(shí)頻率有效性,實(shí)現(xiàn)外部熱源紅外信號(hào)、人體紅外信號(hào)、高頻率紅外干擾信號(hào)的區(qū)分。如果IMF分量包含兩種或兩種以上信號(hào),將IMF分量重復(fù)第二步。第三步對(duì)部分IMF分量使用小波變換和重組算法[9-13],選擇適當(dāng)?shù)拈撝堤蕹恍枰男盘?hào),目的是減少數(shù)據(jù)進(jìn)行EMD算法的分解和IMF分量的分析和處理的次數(shù),簡化算法。第四步將保留和處理后的IMF分量進(jìn)行EMD算法重組。第五步對(duì)閾值進(jìn)行選取,判斷人體是否存在。
數(shù)據(jù)采集使用的是D6T-44L-06低分辨率陣列傳感器,通過物體表面溫度進(jìn)行測(cè)量。具有體積小,易于安裝,價(jià)格便宜等優(yōu)點(diǎn)。D6T-44L-06低分辨率陣列傳感器有16個(gè)通道,按4×4排列,還包含一個(gè)環(huán)境溫度測(cè)量單元。
算法共分為兩部分。第一部分,對(duì)低分辨率陣列傳感器采集到的原始數(shù)據(jù)進(jìn)行人體紅外信號(hào)特征提取,圖1為第一部分算法流程圖。第二部分,進(jìn)行閾值選取,對(duì)人體存在進(jìn)行判斷。本文數(shù)據(jù)通過低分辨率陣列傳感器D6T-44L-06實(shí)際檢測(cè)獲取。
圖1 人體紅外信號(hào)特征提取算法流程圖
1.1.1 卡爾曼濾波
對(duì)采集到的原始數(shù)據(jù)進(jìn)行卡爾曼濾波[3-5],使用該算法是為了去除外部干擾信號(hào)中所包含的白噪聲??柭鼮V波可以分成兩部分,第一部分建模,第二部分進(jìn)行估計(jì)和數(shù)據(jù)融合。
第一部分模型建立:
狀態(tài)方程:設(shè)當(dāng)t時(shí)刻的溫度為X1(t),溫度是隨時(shí)間變化的。設(shè)在24h中溫度的變化率為X2(t),需要獲取X2(t)與X2(t-1)的關(guān)系來建立模型,當(dāng)t與(t-1)的時(shí)間間隔越小,X2(t)與X2(t-1)越相近,當(dāng)時(shí)間間隔足夠小時(shí)X2(t)=X2(t-1),這時(shí)兩時(shí)刻的溫度變化是勻速變化。當(dāng)時(shí)間間隔取值為0.1 s時(shí),誤差為正負(fù)0.23%。由此得到方程如下:
由于存在過程誤差,所以由式(1)得到如下公式:
取ΔT=1,得:
測(cè)量方程:由溫度傳感器直接測(cè)量得到,設(shè)測(cè)量溫度為Y(t),存在測(cè)量誤差V(t),公式如下:
由卡爾曼濾波得,一個(gè)動(dòng)態(tài)系統(tǒng)可以由如下方程表示:
由式(3)~式(5)得:
第二部分?jǐn)?shù)據(jù)估計(jì)和融合:
預(yù)測(cè):
模型中沒有ωk-1得:
重點(diǎn)是ˉX0的初始取值。
先驗(yàn)誤差協(xié)方差:
重點(diǎn)是P0的初始值取值。式中Q為過程誤差協(xié)方差矩陣。
校正:
卡爾曼增益:
式中:R為測(cè)量誤差協(xié)方差矩陣。
后驗(yàn)估計(jì):
更新誤差協(xié)方差:
圖2和圖3所示,為低分辨率陣列傳感器采集到的不同實(shí)際情況下的原始數(shù)據(jù)圖。圖4和圖5,為分別對(duì)圖2和圖3的原始數(shù)據(jù)進(jìn)行卡爾曼濾波算法處理后的結(jié)果圖。從圖中的數(shù)據(jù)對(duì)比和大量的實(shí)驗(yàn)結(jié)果可知,數(shù)據(jù)進(jìn)行卡爾曼濾波后能夠?qū)Ω蓴_信號(hào)中的白噪聲部分進(jìn)行很好去除。
圖2 人體經(jīng)過測(cè)量區(qū)域低分辨率陣列傳感器采集數(shù)據(jù)圖
圖3 人體進(jìn)入測(cè)量區(qū)域靜止低分辨率陣列傳感器采集數(shù)據(jù)圖
圖4 對(duì)圖2數(shù)據(jù)進(jìn)行卡爾曼率濾波后數(shù)據(jù)圖
圖5 對(duì)圖3數(shù)據(jù)進(jìn)行卡爾曼率濾波后數(shù)據(jù)圖
1.1.2 EMD算法分解與IMF分量
對(duì)卡爾曼濾波后的數(shù)據(jù),通過EMD算法[6-9]分解成為本征模態(tài)函數(shù)(Intrinsic Mode Function,IMF)的組合分量和殘差Rn,IMF分量是一系列存在瞬時(shí)頻率的函數(shù),實(shí)現(xiàn)了數(shù)據(jù)的頻率分離。
在本實(shí)驗(yàn)中,通過對(duì)使用卡爾曼濾波算法處理后的數(shù)據(jù)進(jìn)行研究發(fā)現(xiàn),外部熱源在啟動(dòng)和使用過程中有溫度的變化,大部分的溫度變化是連續(xù)的,少部分是高頻率溫度噪聲。環(huán)境溫度本身,在短時(shí)間內(nèi)基本保持不變。人體經(jīng)過測(cè)量區(qū)域產(chǎn)生的溫度是跳變的。三部分的紅外信號(hào)頻率是不一樣的,通過這個(gè)特點(diǎn),對(duì)信號(hào)進(jìn)行區(qū)分,可實(shí)現(xiàn)對(duì)人體紅外信號(hào)的特征提取。IMF分量所表達(dá)的就是瞬時(shí)頻率有效,通過其特性可以對(duì)三部分紅外信號(hào)實(shí)現(xiàn)區(qū)分。
EMD算法分解如下:
第一步,給定原始信號(hào)x(t),利用三次樣條曲線插值法[14-16]連接x(t)的局部極大值點(diǎn)及極小值點(diǎn),得到上包絡(luò)xmax(t)和下包絡(luò)xmin(t)及上下包絡(luò)的均值m1(t):
大部分的實(shí)際情況下,m1(t)是一個(gè)低頻序列。
第二步,求出原始信號(hào)與m1(t)的差,記為h1(t):
第三步,若h1(t)滿足IMF的條件,則令c1(t)=h1(t),且作為x(t)的第一個(gè)本征模態(tài)函數(shù);若h1不滿足IMF的條件,則對(duì)h1(t)重復(fù)第一步和第二步,即記:
并判斷h11(t)是否滿足IMF的條件,如此迭代下去,直到獲得滿足IMF條件的序列h1k(t),記:
這樣,我們得到第一個(gè)本征模態(tài)函數(shù)c1(t)。大部分實(shí)際情況下,c1(t)代表的是原始信號(hào)中的高頻部分,可作為原始信號(hào)的一個(gè)振動(dòng)模態(tài)。
第四步,將c1(t)從原始信號(hào)中分離出來,即令:
第五步,分析r1(t),若r1(t)為常數(shù)或基本呈單調(diào)趨勢(shì),或者小于事先給定的固定閾值,可被視為測(cè)量誤差而忽略,即已不能再從中提取IMF時(shí),分解結(jié)束。若r1(t)不滿足上述條件,則重復(fù)第一步到第四步,直至得到第二個(gè)IMF,記為c2(t)。
第六步,令:
對(duì)r2(t)運(yùn)用第五步,如此進(jìn)行下去,直到得到的rn(t),滿足第五步的條件時(shí),分解結(jié)束。
經(jīng)過上述“篩選”過程,從原始信號(hào)中分離出n個(gè)IMF:c1,c2,…,cn和一個(gè)趨勢(shì)項(xiàng)或誤差rn,即原始信號(hào)可表示為:
如此,就實(shí)現(xiàn)了對(duì)一個(gè)信號(hào)的經(jīng)驗(yàn)?zāi)B(tài)分解。
1.1.3 小波變換和重組算法
在通過IMF分量進(jìn)行人體紅外信號(hào)提取時(shí),IMF分量無法做到只包含某一種紅外信號(hào),只能做到盡量包含大部分某一種紅外信號(hào)和少部分其他紅外信號(hào),且需要對(duì)IMF分量進(jìn)行多次EMD算法分解,才能達(dá)到區(qū)分目的。為了降低算法的復(fù)雜程度,對(duì)部分IMF分量通過小波變換和重組算法,選取適當(dāng)?shù)拈撝?,去除外部干擾紅外信號(hào),保留人體紅外信號(hào)。
1.1.4 EMD重組
通過大量實(shí)驗(yàn)表明,對(duì)卡爾曼濾波后數(shù)據(jù)進(jìn)行EMD分解,得到的IMF分量中,IMF1分量是高頻率紅外噪聲部分,人體紅外信號(hào)主要在IMF2和IMF3分量中,IMF2分量中也包含了部分的高頻率噪聲。需要對(duì)IMF2進(jìn)一步進(jìn)行EMD算法,分解得到IMF分量進(jìn)行分析,去除外部環(huán)境紅外信號(hào),保留人體紅外信號(hào)。在IMF4分量中包含了部分的人體紅外信號(hào),也包含了部分外部環(huán)境紅外信號(hào)。在IMF5分量中包含了大部分外部熱源紅外信號(hào)和自然環(huán)境溫度變化的紅外信號(hào)。
本實(shí)驗(yàn)采用去除IMF1和IMF5分量,對(duì)IMF2進(jìn)一步進(jìn)行EMD算法分解,得到IMF數(shù)據(jù)分量,再對(duì)IMF分量數(shù)據(jù)進(jìn)行分析,去除其中的IMF1分量,保留其他分量。對(duì)IMF4分量進(jìn)行小波變換重組算法。最終得到圖6和圖7中的數(shù)據(jù)。
圖6 人體經(jīng)過測(cè)量區(qū)域人體紅外信號(hào)特征提取最終數(shù)據(jù)圖
圖7 人體進(jìn)入測(cè)量區(qū)域靜止人體紅外信號(hào)特征提取最終數(shù)據(jù)圖
對(duì)從算法第一部分得到的數(shù)據(jù),進(jìn)行閾值的選取。大于閾值部分為人體存在,小于閾值部分為人體不存在。閾值的選取方式為:在外部環(huán)境干擾下,人體經(jīng)過或進(jìn)入靜止測(cè)量區(qū)域。選取50組數(shù)據(jù)進(jìn)行算法處理,將得到的數(shù)據(jù)進(jìn)行式(19)運(yùn)算,得到50個(gè)閾值,選取其中最大的值為最終閾值。
如圖8、圖9所示。大于閾值部分為人體存在,小于閾值部分為人體不存在。
圖8 人體經(jīng)過測(cè)量區(qū)域閾值選取圖
圖9 人體進(jìn)入測(cè)量區(qū)域閾值選取圖
圖10與圖11為自適應(yīng)背景估計(jì)數(shù)據(jù)圖,因卡爾曼濾波只能消除白噪聲,無法對(duì)其他干擾進(jìn)行消除,在高頻率紅外干擾情況下會(huì)將一部分視為人存在,且外部熱源會(huì)提高背景溫度值,減少與人體紅外信號(hào)的差值,降低檢測(cè)準(zhǔn)確度。
圖10 人體經(jīng)過測(cè)量區(qū)域自適應(yīng)背景估計(jì)數(shù)據(jù)圖
圖11 人體進(jìn)入測(cè)量區(qū)域靜止自適應(yīng)背景估計(jì)數(shù)據(jù)圖
人體檢測(cè)系統(tǒng)流程圖如圖12所示,硬件系統(tǒng)包括數(shù)據(jù)采集模塊和主控模塊,數(shù)據(jù)采集模塊D6T-44L-06陣列傳感器進(jìn)行數(shù)據(jù)采集,在STM32的控制下通過I2C協(xié)議進(jìn)行數(shù)據(jù)傳輸,再通過NRF24L01無線通信發(fā)送到主控模塊。主控模塊通過串口與PC端進(jìn)行數(shù)據(jù)傳輸。主控模塊對(duì)采集到的數(shù)據(jù)進(jìn)行人體識(shí)別算法處理,進(jìn)行人體檢測(cè)。低分辨率陣列傳感器的安裝方式有兩種,一種為墻壁安裝,一種為天花板安裝,本實(shí)驗(yàn)采用天花板安裝[1],與人體測(cè)量距離在1.0 m~1.5 m。圖13和圖14為實(shí)物圖。
圖12 人體檢測(cè)系統(tǒng)流程圖
圖14 主控模塊圖
實(shí)驗(yàn)環(huán)境的學(xué)校實(shí)驗(yàn)室、教室、宿舍、食堂。本次實(shí)驗(yàn)進(jìn)行無外部環(huán)境干擾測(cè)試、無高頻率紅外信號(hào)外部環(huán)境干擾測(cè)試、含高頻率紅外信號(hào)外部環(huán)境干擾測(cè)試三種情況。使用的外部干擾源有手機(jī)、電腦、吹風(fēng)機(jī)、熱水器、烤火箱、電磁爐等。考慮到一年分春夏秋冬四個(gè)季節(jié),而剛好夏季外部環(huán)境溫度是最高的時(shí)候,也是影響最大的時(shí)候。夏季的每天早中晚分別進(jìn)行測(cè)試,測(cè)試時(shí)間為一個(gè)星期。
經(jīng)過測(cè)量的實(shí)驗(yàn)結(jié)果表明,算法實(shí)現(xiàn)了在含高頻率紅外信號(hào)外部干擾環(huán)境下對(duì)人體存在進(jìn)行正確的測(cè)量,解決了現(xiàn)有算法存在的缺點(diǎn)。表1為現(xiàn)有算法與本算法的數(shù)據(jù)對(duì)比。
表1 算法數(shù)據(jù)對(duì)比表格
提出了一種能夠在含高頻率紅外信號(hào)外部環(huán)境干擾下,對(duì)低分辨率陣列傳感器人體檢測(cè)進(jìn)行準(zhǔn)確識(shí)別的算法,解決了原有算法不能在含高頻率紅外信號(hào)外部環(huán)境干擾下進(jìn)行準(zhǔn)確識(shí)別的難題。在無外部環(huán)境干擾下,幀間方差法準(zhǔn)確度為99.86%,自適應(yīng)背景估計(jì)準(zhǔn)確度為99.61%,本實(shí)驗(yàn)準(zhǔn)確度為98.85%。在無高頻率紅外信號(hào)外部環(huán)境干擾下,幀間方差法準(zhǔn)確度為98.46%,自適應(yīng)背景估計(jì)準(zhǔn)確度為97.12%,本實(shí)驗(yàn)準(zhǔn)確度為99.65%。在含高頻率紅外信號(hào)外部環(huán)境干擾下,幀間方差法準(zhǔn)確度為70.23%,自適應(yīng)背景估計(jì)準(zhǔn)確度為73.63%,本實(shí)驗(yàn)準(zhǔn)確度為98.85%。本實(shí)驗(yàn)對(duì)低分辨率陣列傳感器的推廣和使用將起到重要作用。
所提算法的缺點(diǎn):因?yàn)榈头直媛赎嚵袀鞲衅鞯奶匦詾闄z測(cè)物體表面溫度,當(dāng)外部環(huán)境溫度等于或高于傳感器測(cè)量到的人體溫度,就會(huì)造成溫度覆蓋,無法檢測(cè)人體是否存在,預(yù)計(jì)解決辦法為使用熱釋電傳感器輔助檢測(cè)。