本發(fā)明涉及一種人體檢測方法,尤其是涉及一種基于紅外陣列傳感器的室內(nèi)人體檢測方法。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,自動化、智能化的電器產(chǎn)品成為當(dāng)前的研究熱門,例如,能夠在檢測到室內(nèi)有人時(shí)將室內(nèi)溫度、濕度自行調(diào)節(jié)到最佳狀態(tài),在檢測到室內(nèi)長時(shí)間無人時(shí)自行關(guān)機(jī),實(shí)現(xiàn)智能節(jié)電的智能空調(diào)等。
紅外線陣列傳感器的原理是將一定區(qū)域劃分為成陣列,例如采用MLX90621一款4×16紅外陣列熱電堆傳感器,適應(yīng)于測量熱輻射并可非接觸式測量物體溫度,選用其60°×15°的視場,在3.3米高的辦公會議室內(nèi),用三個(gè)并列放置的紅外傳感器檢測室內(nèi)溫度值,得到12*16個(gè)像素的紅外陣列,實(shí)時(shí)檢測每個(gè)小塊區(qū)域的平均溫度;數(shù)字信號輸出一般為I2C。這是一種非接觸式溫度測量技術(shù)。現(xiàn)有基于紅外傳感器的人體目標(biāo)檢測技術(shù)往往只對單幀數(shù)據(jù)作實(shí)時(shí)的分析處理,還存在檢測精度不高、無法有效消除干擾等問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種檢測精度高、有效消除干擾的基于紅外陣列傳感器的室內(nèi)人體檢測方法,是一種靜止人體檢測方法。
本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
一種基于紅外陣列傳感器的室內(nèi)人體檢測方法,包括以下步驟:
1)紅外陣列傳感器按1幀/秒的檢測幀率采集溫度數(shù)據(jù);
2)獲取初始幀的溫度數(shù)據(jù),判斷該幀溫度數(shù)據(jù)的最大值與最小值間的差值是否大于設(shè)定閾值,若是,則執(zhí)行步驟3),若否,則判定為無人,以下一幀作為初 始幀,返回步驟2);
3)對由初始幀開始的連續(xù)三幀進(jìn)行人體檢測并計(jì)數(shù);
4)比較所述連續(xù)三幀的計(jì)數(shù)結(jié)果,判斷是否存在至少兩幀的計(jì)數(shù)結(jié)果相同,若是,則將這兩幀的計(jì)數(shù)結(jié)果作為第一次檢測結(jié)果輸出,執(zhí)行步驟6),若否,則執(zhí)行步驟5);
5)判斷相鄰幀之間的計(jì)數(shù)結(jié)果差值是否均為1,若是,則將所述連續(xù)三幀的計(jì)數(shù)結(jié)果的平均值作為第一次檢測結(jié)果輸出,執(zhí)行步驟6),若否,則以下一幀作為初始幀,返回步驟3);
6)獲取下兩幀的溫度數(shù)據(jù),對兩幀中的第一幀進(jìn)行人體檢測并計(jì)數(shù),判斷計(jì)數(shù)結(jié)果是否與上一次的檢測結(jié)果一致,若是,則輸出不變,若否,則執(zhí)行步驟7);
7)對兩幀中的第二幀進(jìn)行人體檢測并計(jì)數(shù),判斷計(jì)數(shù)結(jié)果是否與上一次的檢測結(jié)果一致,若是,則輸出不變,若否,則執(zhí)行步驟8);
8)判斷第一幀與第二幀的計(jì)數(shù)結(jié)果是否相同,若是,則將該計(jì)數(shù)結(jié)果作為本次檢測結(jié)果輸出,若否,則輸出不變;
9)重復(fù)執(zhí)行步驟6)-8)。
所述人體檢測并計(jì)數(shù)具體為:
101)獲取當(dāng)前幀的溫度數(shù)據(jù),進(jìn)行直方圖統(tǒng)計(jì);
102)根據(jù)直方圖設(shè)置一閾值,對當(dāng)前幀的溫度數(shù)據(jù)進(jìn)行二值化處理,大于閾值的為1,陣列中對應(yīng)的小塊標(biāo)記為亮點(diǎn),小于閾值的為0,陣列中對應(yīng)的小塊標(biāo)記為暗點(diǎn),1個(gè)小塊的面積定義為1;
103)統(tǒng)計(jì)連接亮點(diǎn)的區(qū)域,根據(jù)連續(xù)亮點(diǎn)的面積計(jì)算當(dāng)前幀的人數(shù),并輸出,所述連接亮點(diǎn)為在垂直或水平方向連接的亮點(diǎn)。
所述直方圖統(tǒng)計(jì)具體為:
根據(jù)當(dāng)前幀溫度數(shù)據(jù)中的最大值和最小值設(shè)定直方圖的統(tǒng)計(jì)范圍,每隔0.1設(shè)為一個(gè)通道,根據(jù)當(dāng)前幀每個(gè)小塊的溫度值,統(tǒng)計(jì)落在各個(gè)通道的小塊數(shù),即直方圖通道的高度。
所述步驟102)中,根據(jù)直方圖設(shè)置一閾值具體為:對直方圖的各通道按高度由高到低排序,以中間值作為閾值。
所述步驟103)中,計(jì)算當(dāng)前幀的人數(shù)具體為:
獲取各連續(xù)亮點(diǎn)的面積,將連續(xù)亮點(diǎn)面積為2~3的計(jì)為1人,連續(xù)亮點(diǎn)面積 為5~8的計(jì)2人,連續(xù)亮點(diǎn)面積為8以上的計(jì)為3人,將當(dāng)前幀所有連續(xù)亮點(diǎn)所計(jì)的人數(shù)相加即為當(dāng)前幀的人數(shù)。
在所述步驟9)中,當(dāng)存在連續(xù)兩次的檢測結(jié)果為無人時(shí),以下一幀作為初始幀,重新返回步驟1)。
與現(xiàn)有只依靠單幀檢測技術(shù)相比,本發(fā)明具有以下有益效果:
1、本發(fā)明在進(jìn)行人體檢測時(shí),利用了幀間溫度數(shù)據(jù)的關(guān)聯(lián)信息,盡可能減少對環(huán)境溫度瞬間變化(如開關(guān)門瞬間)的干擾,提高了人體檢測精度;
2、本發(fā)明利用紅外陣列傳感器獲取的溫度數(shù)據(jù)進(jìn)行單幀人體目標(biāo)檢測,檢測方法方便可靠,能快速獲取檢測結(jié)果;
3、在單幀的數(shù)據(jù)處理中,采用環(huán)境實(shí)際的溫度值作為直方圖統(tǒng)計(jì),沒有做歸一化、均衡化等技術(shù)處理;在數(shù)據(jù)二值化的處理中沒有做膨脹、腐蝕等技術(shù)處理,這樣的設(shè)計(jì)考慮了這類傳感器的檢測特征,很大程度上保護(hù)了原始數(shù)據(jù)的真實(shí)性;
4、本發(fā)明可適用于室內(nèi)空調(diào)的智能溫控系統(tǒng)、照明系統(tǒng)等相關(guān)智能樓宇技術(shù),例如,通過該系統(tǒng)實(shí)時(shí)檢測室內(nèi)的人數(shù),可以自動調(diào)整室內(nèi)的溫度和照明。
附圖說明
圖1為本發(fā)明的流程示意圖;
圖2為本發(fā)明的直方圖統(tǒng)計(jì)示意圖;
圖3為本發(fā)明二值化后的陣列示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
本實(shí)施例提供一種基于紅外陣列傳感器的室內(nèi)人體檢測方法,該方法主要分為兩個(gè)部分,一個(gè)是主函數(shù),用于分析幀間的數(shù)據(jù)信息;一個(gè)是子函數(shù),用于檢測單幀的人體目標(biāo)數(shù)目。
如圖1所示,主函數(shù)流程包括以下步驟:
1)紅外陣列傳感器按1幀/秒的檢測幀率采集溫度數(shù)據(jù);
2)獲取初始幀的溫度數(shù)據(jù),判斷該幀溫度數(shù)據(jù)的最大值與最小值間的差值是 否大于設(shè)定閾值,若是,則執(zhí)行步驟3),若否,則判定為無人,以下一幀作為初始幀,返回步驟2);
3)對由初始幀開始的連續(xù)三幀進(jìn)行人體檢測并計(jì)數(shù);
4)比較所述連續(xù)三幀的計(jì)數(shù)結(jié)果,判斷是否存在至少兩幀的計(jì)數(shù)結(jié)果相同,若是,則將這兩幀的計(jì)數(shù)結(jié)果作為第一次檢測結(jié)果輸出,執(zhí)行步驟6),若否,則執(zhí)行步驟5);
5)判斷相鄰幀之間的計(jì)數(shù)結(jié)果差值是否均為1,若是,則將所述連續(xù)三幀的計(jì)數(shù)結(jié)果的平均值作為第一次檢測結(jié)果輸出,執(zhí)行步驟6),若否,則以下一幀作為初始幀,返回步驟3);
6)獲取下兩幀的溫度數(shù)據(jù),對兩幀中的第一幀進(jìn)行人體檢測并計(jì)數(shù),判斷計(jì)數(shù)結(jié)果是否與上一次的檢測結(jié)果一致,若是,則輸出不變,若否,則執(zhí)行步驟7);
7)對兩幀中的第二幀進(jìn)行人體檢測并計(jì)數(shù),判斷計(jì)數(shù)結(jié)果是否與上一次的檢測結(jié)果一致,若是,則輸出不變,若否(即上一次的檢測與后面兩幀的檢測都不同),則執(zhí)行步驟8);
8)判斷第一幀與第二幀的計(jì)數(shù)結(jié)果是否相同,若是,則將該計(jì)數(shù)結(jié)果作為本次檢測結(jié)果輸出,若否(即上一次檢測與本次的兩幀計(jì)數(shù)結(jié)果都不同),則輸出不變;
9)重復(fù)執(zhí)行步驟6)~8),當(dāng)存在連續(xù)兩次的檢測結(jié)果為無人時(shí),以下一幀作為初始幀,重新返回步驟1)。
子函數(shù)進(jìn)行人體檢測并計(jì)數(shù),具體為:
101)獲取當(dāng)前幀的溫度數(shù)據(jù),進(jìn)行直方圖統(tǒng)計(jì),如圖2所示,根據(jù)當(dāng)前幀溫度數(shù)據(jù)中的最大值和最小值設(shè)定直方圖的統(tǒng)計(jì)范圍,每隔0.1設(shè)為一個(gè)通道,根據(jù)當(dāng)前幀每個(gè)小塊的溫度值,統(tǒng)計(jì)落在各個(gè)通道的小塊數(shù),即直方圖通道的高度或直方圖的方柱(bin);
102)對直方圖的各通道按高度由高到低排序(直方圖統(tǒng)計(jì)值為0的bin不算),以中間值作為閾值,對當(dāng)前幀的溫度數(shù)據(jù)進(jìn)行二值化處理,大于閾值的為1,陣列中對應(yīng)的小塊標(biāo)記為亮點(diǎn),小于閾值的為0,陣列中對應(yīng)的小塊標(biāo)記為暗點(diǎn),如圖3所示,1個(gè)小塊的面積定義為1;
103)去掉單個(gè)的亮點(diǎn),統(tǒng)計(jì)連接亮點(diǎn)的區(qū)域,根據(jù)連續(xù)亮點(diǎn)的面積計(jì)算當(dāng)前幀的人數(shù),并輸出,所述連接亮點(diǎn)為在垂直或水平方向連接的亮點(diǎn)。其中,計(jì)算當(dāng) 前幀的人數(shù)具體為:
獲取各連續(xù)亮點(diǎn)的面積,將連續(xù)亮點(diǎn)面積為2~3的計(jì)為1人,連續(xù)亮點(diǎn)面積為5~8的計(jì)2人,連續(xù)亮點(diǎn)面積為8以上的計(jì)為3人,將當(dāng)前幀所有連續(xù)亮點(diǎn)所計(jì)的人數(shù)相加即為當(dāng)前幀的人數(shù)。
上述室內(nèi)人體檢測方法的硬件平臺包括嵌入式系統(tǒng)和紅外陣列傳感器,其中,紅外線陣列傳感器的檢測幀率為1幀/秒,溫度檢測的精度0.1℃。