本發明屬于紅外技術應用領域,特別是涉及一種基于紅外陣列的人流分析系統及人流時間分析方法。
背景技術:
隨著現代紅外技術的發展,利用紅外技術測量人的體表溫度的應用場景呈現多樣性,主要是分為室內場景和室外場景,這兩個場景的對紅外技術應用的影響主要在于兩者背景溫度存在差異,在各個領域區分應用紅外技術的一個側重點在于區分目標溫度與背景溫度,為了實現這種區分,通常作眼有于硬件技術的和處理技術兩個方面。采用紅外陣列的紅外器件內集成了多個熱電元件,因為一次檢測可以覆蓋一定大小面積的區域,與單點熱電堆紅外傳感器和熱釋電傳感器相比,紅外陣列提供了探測移動的人體和物體,還能夠探測不動的人體和物體的出現和位置、運動方向。但紅外陣列受限于分辨率與探測距離的影響,對于目標的分辨需要采用輔助的處理技術。
現有室內人流行統計通常采用圖像攝像頭采集視頻信息,進行圖像處理,利用面部識別技術的方式來清點人數,該方法受限于圖像清晰度和圖像處理技術的限制,而且成本高,陰影區、遮蔽物也容易帶來誤差。
如何采用紅外技術,可靠實現人數統計、人流停留時間、人流行為的分析,是一種經濟實惠的方法,但其可靠性缺存在很大缺陷。
技術實現要素:
針對現有紅外技術和室內人流統計系統與方法的缺點,本發明提供一種基于紅外陣列的人流分析系統及人流時間分析方法,能可靠實現人流停留時間的分析,便于對人流行為的大數據分析。
為達到上述目的,本技術方案如下:
一種基于紅外陣列的人流行為分析系統,其關鍵在于:包括檢測終端,傳輸模塊和處理后臺,所述檢測終端將溫度數據包傳送給傳輸模塊,所述傳輸模塊將溫度數據包傳送給處理后臺;
所述檢測終端包括紅外陣列、控制器、無線通信模塊,所述控制器提取紅外陣列采集的溫度數據,該控制器將獲取的溫度數據打包成溫度數據包后再發送給無線通信模塊,該無線通信模塊將溫度數據包傳送給傳輸模塊。
紅外陣列采集溫度數據,從最低成本的角度,實現了面層面的數據捕獲,并有指向性地獲取目標數據,即獲取了室內區域內人的體表溫度數據,檢測終端將溫度數據包通過傳輸模塊傳送給處理后臺,處理后臺從而獲得人數統計與人流停留時間、人流方向分析所需的原始數據。
進一步地,所述傳輸模塊包括路由模塊和網關模塊;
其中路由模塊包括路由紅外陣列、路由控制器、路由無線通信模塊,所述路由控制器提取路由紅外陣列采集的溫度數據,該路由控制器將獲取的溫度數據打包成溫度數據包后再發送給路由無線通信模塊,路由無線通信模塊將溫度數據包傳送給網關模塊,所述路由無線通信模塊還傳輸無線通信模塊的溫度數據包給所述網關模塊。
所述網關模塊包括單片機、路由器,網關無線通信模塊,網關無線通信模塊發送溫度數據包給單片機;
所述單片機的數據上行端組或者連接有線網口,該單片機將獲取的溫度數據包經有線網口發給路由器,該路由器將溫度數據包轉發給處理后臺;
該單片機的數據上行端組或者連接無線WIFI模塊,該單片機將獲取的溫度數據包經無線WIFI模塊發給路由器,該路由器將溫度數據包轉發給處理后臺。
傳輸模塊獲取檢測終端的溫度數據包后轉發到處理后臺,處理后臺從而獲取溫度數據包,進而作進一步處理分析。
進一步地,所述溫度數據包為所述紅外陣列監測到的紅外圖像像素陣列,每間隔一段時間S秒,紅外陣列傳輸一幅紅外圖像像素陣列圖給所述控制器。
實際應用中,間隔時間已達到了微秒級。
紅外陣列每秒鐘可以采集固定數的紅外圖像像素幀,可以在紅外陣列許可的采集頻率內定義發送紅外圖像像素陣列圖的時間間隔。
進一步地,所述處理后臺結合紅外圖像像素陣列圖的坐標關系,對每幀紅外圖像像素陣列圖進行分析,并對其中出現的高溫像素點進行判斷,若連續N幀以上的高溫像素點位置一致則初步判斷為有發熱源,等待至當發熱源移動,則可判斷該發熱源為人體熱源,結合人體熱源所占像素點的點數則可判斷該發熱源為人體熱源,結合連續幀紅外圖像像素陣列圖,記錄人體熱源在本紅外陣列下的行動軌跡。
連續N幀以上的高溫像素點位置一致則初步判斷為有發熱源可以排除瞬間的溫度干擾,等待至放熱源移動,可以排除固定的熱源干擾,結合結合人體熱源所占像素點的點數,可以排除移動的熱源對于移動的人體熱源監測所帶來的干擾。
進一步地,所述無線通信模塊、路由無線通信模塊、網關無線通信模塊都為同一類型傳輸模塊,或者為zigbee模塊,或者為藍牙模塊。無線通信模塊采集接收控制器采集的溫度數據可以直接發送給傳輸模塊,也可以通過其他無線通信模塊的路由功能轉發至傳輸模塊。
從檢測終端(1)到路由模塊到網關模塊再到處理后臺(3),呈單列縱向數據傳輸,保證了數據的有效采集,可避免數據丟失或數據重復,提高監測效率。
一種基于紅外陣列的人流行為分析系統的分析方法,其關鍵在于:該基于紅外陣列的人流行為分析系統中,其處理后臺設置有人流行為分析系統,人流行為分析系統的分析方法包括人體識別及人流統計的流程、分析人流停留時間的方法,計算人流量的流程,其中:
A、所述人體識別及人流統計的流程:
用于開始步驟;
用于提取紅外圖像像素陣列圖的步驟;
用于查找第i幀紅外圖像像素陣列圖中的高溫像素點的步驟,i是自然數;
用于獲取當前環境溫度信息,調用溫度差值表的步驟,在當前環境溫度信息下,人體溫度值為溫度參考值;
用于判斷當前幀中各坐標點中是否有溫度點大于或等于溫度差值表中的溫度參考值的步驟;
如果小于溫度差值表中的溫度參考值,則沒有發熱源,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;如果大于或等于溫度差值表中的溫度要求,則進入用于查找下一幀紅外圖像像素陣列圖中的高溫像素點的步驟;
用于判斷當前紅外圖像像素陣列圖中各坐標點中是否有溫度點大于或等于溫度差值表中溫度參考值的步驟:
若小于溫度參考值,則沒有發熱源,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果大于或等于溫度參考值,則進入用于判斷該幀發熱源坐標位置是否與上一幀發熱源坐標位置相同的步驟:
坐標位置相同,則進入用于標注當前比較一致的兩幀紅外圖像像素陣列圖為熱源紅外像素陣列圖的步驟;
坐標位置不同,則進入用于調取后一幀的步驟;
用于查找后一幀紅外圖像像素陣列圖中的高溫像素點的步驟,用于比較當前幀發熱源坐標位置是否與前一幀發熱源坐標位置相同的步驟:
如果坐標位置不同,則確定上一幀中發熱源為干擾的步驟,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果坐標位置相同,則進入所述用于標注當前比較一致的兩幀紅外圖像像素陣列圖為熱源紅外像素陣列圖的步驟;
用于獲取像素表的步驟:該像素表中記錄有在當前紅外陣列高度下,人體熱源所占像素點的點數;
用于判斷熱源紅外像素陣列圖中,熱源點數是否與人體熱源所占像素點點數一致的步驟;
如果不一致,則進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果一致,則進入將坐標位置比較后的兩幀熱源紅外像素陣列圖標記為有人紅外像素陣列圖的步驟,并對二者中的人體紅外源一致性標注為Rn;
用于累計前述兩幀有人紅外像素陣列圖進入有人紅外像素陣列圖庫的步驟;
S2:用于調取下一幀紅外圖像像素陣列圖中的步驟;
用于判斷下一幀紅外圖像像素陣列圖中熱源信息與前一幀有人紅外像素陣列圖中的熱源點數是否一致;
如果一致,則用于將該紅外圖像像素陣列圖累計入有人紅外像素陣列圖庫的步驟,并對紅外圖像像素陣列圖中的人體紅外源標注為Rn;并返回所述S2:用于調取下一幀紅外圖像像素陣列圖中的步驟;n為人數,當采集到下一人體紅外源后,標記為n+1,該數據可從有人紅外像素陣列圖庫提取;
如果不一致,則進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
用于結束的步驟;
所述處理后臺對該流程運行后,實現了對溫度數據包的分析,識別出溫度數據包中人體所對應的溫度點,并實現了對溫度數據包中所有人數的統計。
B、分析人流停留時間的方法如下:
用于開始的步驟;
用于初始化的步驟,y=0;當紅外圖像像素陣列圖由前一幀無人狀態,進入當前幀有人狀態時,當前幀標記為A;當紅外圖像像素陣列圖由前一幀有人狀態,進入當前幀無人狀態時,當前幀標記為B,無人開始時間清零,有人開始時間清零,獲取歷史紅外圖像像素陣列圖;
用于提取下一幀紅外圖像像素陣列圖的步驟;
用于判斷是否y=0的步驟;
如果y=0,則進入有人統計流程,如果y=1,則進入無人統計流程;
所述有人統計流程為:
用于判斷當前幀紅外圖像像素陣列圖是否有標記A;
如果有標記A,則進入統計全部有人時間的步驟;再設置y=1,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果沒有標記A,則進入;
用于判斷當前幀紅外圖像像素陣列圖中是否有人的步驟;
如果無人,則返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果有人,則進入用于對當前幀紅外圖像像素陣列圖標記A的步驟;
用于記錄有人開始時間的步驟;再設置y=1,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
所述無人統計流程為:
用于判斷當前幀紅外圖像像素陣列圖是否有標記B;
如果沒有標記B,則進入;
用于判斷當前幀紅外圖像像素陣列圖中是否無人的步驟;
如果有人,則返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果無人,則進入用于對當前幀紅外圖像像素陣列圖標記B的步驟;
用于記錄無人開始時間的步驟;再設置y=0,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果有標記B,則進入統計全部無人時間的步驟;
用于計算全部人流時間的步驟;利用每幀紅外圖像像素陣列圖中所記錄的時間點,計算每段有人時間量和每段無人時間量后,分別進行累加。
結束。
所述處理后臺對該流程運行后,對紅外圖像像素陣列圖進行分析,計算出檢測終端所檢測到的人流的停留時間。
紅外圖像像素陣列圖中是否有人方法較多,直接進行發熱點捕捉是最直接的方法。
C、計算人流行進方向的流程:
用于開始的步驟;
用于提取第一段有人時段內全部有人紅外圖像像素陣列圖,將每幀紅外圖像像素陣列圖分為L個區域的步驟;
用于指定每幀紅外圖像像素陣列圖中每個人的關鍵像素點的步驟;
用于將本段時間分成m個統計時段f的步驟;
用于在每個區域內,對每個統計時段f的全部個人關鍵像素點進行疊加的步驟;
用于根據疊加量,沿m個統計時段的時間順序,確定本有人時段內的人流在L個區域之間的移動方向的步驟;
提取下一段有人時段的,如此循環,直至最后一個有人時段;
結束。
所述處理后臺對該流程運行后,對紅外圖像像素陣列圖進行分析,統計人流行進方向。
進一步地,所述溫度差值表的建立包括以下步驟:
步驟1.1、采集不同環境溫度下多人的體表溫度;
步驟1.2、根據環境溫度算術平均值、人的體表溫度算術平均值生成溫度差值表;
步驟1.3、將溫度差值表錄入處理后臺的存儲器;
所述像素表的建立包括以下步驟:
步驟2.1、采集紅外陣列安裝在不同高度下人體所占像素點點數;
步驟2.2、根據高度與像素點點數的對應數據,生成像素表;
步驟2.3、將像素表錄入處理后臺的存儲器。
所述步驟的執行,建立了溫度差值表和像素表,為處理后臺提供了溫度參考點和人體熱源所占像素點點數參考值。
采用本發明的有益效果:針對現有紅外技術和室內人流統計系統與方法的缺點,本發明提供了一種基于紅外陣列的人流分析系統及人流時間分析方法,可靠實現了人流停留時間的分析,便于對人流行為的大數據分析。
本發明采用紅外陣列技術及像素處理技術相結合,不僅做到了成本最低,更保證了運算數據量小,提高了運算速度,且數據量獲取數量能根據需要設定。
附圖說明
圖1為系統總體框圖;
圖2為檢測終端示意圖;
圖3為傳輸模塊示意圖;
圖4為路由模塊示意圖;
圖5為有線網口的網關模塊示意圖;
圖6為無線WIFI的網關模塊示意圖;
圖7為控制器的電路圖;
圖8為紅外陣列的驅動電路圖;
圖9為zigbee通信模塊的電路圖;
圖10為電源模塊的電路圖;
圖11為的錄入溫度差值表的步驟圖;
圖12為的建立像素表的步驟圖;
圖13為人體識別及人流統計的流程圖;
圖14為計算人流停留時間的流程圖;
圖15為計算人流行進方向的流程圖。
具體實施方式
下面結合實施例和附圖對本發明作進一步說明。
如圖1所示,一種基于紅外陣列的人流行為分析系統,包括檢測終端1,傳輸模塊2和處理后臺3,所述檢測終端1將溫度數據包傳送給傳輸模塊2,所述傳輸模塊2將溫度數據包傳送給處理后臺3;
如圖2、7~10所示,所述檢測終端1包括紅外陣列102、控制器101、無線通信模塊103、電源模塊104,所述控制器101提取紅外陣列102采集的溫度數據,該控制器101將獲取的溫度數據打包成溫度數據包后再發送給無線通信模塊103,電源模塊104為紅外陣列102、控制器101、無線通信模塊103直流供電,該無線通信模塊103將溫度數據包傳送給傳輸模塊2。
如圖3~9所示,所述傳輸模塊2包括路由模塊和網關模塊;
其中路由模塊包括路由紅外陣列102a、路由控制器101a、路由無線通信模塊103a,所述路由控制器101a提取路由紅外陣列102a采集的溫度數據,該路由控制器101a將獲取的溫度數據打包成溫度數據包后再發送給路由無線通信模塊103a,路由無線通信模塊103a將溫度數據包傳送給網關模塊,所述路由無線通信模塊103a還傳輸無線通信模塊103的溫度數據包給所述網關模塊。
所述網關模塊包括單片機201、路由器203,網關無線通信模塊103b,網關無線通信模塊103b發送溫度數據包給單片機201;
所述單片機201的數據上行端組或者連接有線網口202,該單片機201將獲取的溫度數據包經有線網口202發給路由器203,該路由器203將溫度數據包轉發給處理后臺3;
該單片機201的數據上行端組或者連接無線WIFI模塊202’,該單片機201將獲取的溫度數據包經無線WIFI模塊202’發給路由器203,該路由器203將溫度數據包轉發給處理后臺3。
如圖2、4、5、6、9所示,所述無線通信模塊103、路由無線通信模塊103a、網關無線通信模塊103b都為同一類型傳輸模塊,或者為zigbee模塊,或者為藍牙模塊。
所述溫度數據包為所述紅外陣列102監測到的紅外圖像像素陣列,紅外陣列102每1秒鐘連續采集8幀紅外圖像像素陣列圖,并傳輸給控制器101,控制器101每隔一段時間S=1秒鐘將8幀打包組成的一幅紅外圖像像素陣列圖傳輸給處理后臺3。
所述處理后臺3結合紅外圖像像素陣列圖的坐標關系,對每幀紅外圖像像素陣列圖進行分析,并對其中出現的高溫像素點進行判斷,若連續N幀以上的高溫像素點位置一致則初步判斷為有發熱源,等待至當發熱源移動,則可判斷該發熱源為人體熱源,結合連續幀紅外圖像像素陣列圖,記錄人體熱源在本紅外陣列102下的行動軌跡。如圖11~圖15所示,一種基于紅外陣列的人流行為分析系統的數據分析方法,包括:
該基于紅外陣列的人流行為分析系統中,其處理后臺設置有人流行為分析系統,人流行為分析系統的分析方法包括人體識別及人流統計的流程、計算人流停留時間的流程、計算人流量的流程,其中:
在運行人體識別及人流統計的流程前,先根據實驗室實際測試結果,預先設置溫度差值表和建立像素表;
所述溫度差值表的建立包括以下步驟:
步驟1.1、采集不同環境溫度下多人的體表溫度;
步驟1.2、根據環境溫度算術平均值、人的體表溫度算術平均值生成溫度差值表;
步驟1.3、將溫度差值表錄入處理后臺的存儲器;
所述像素表的建立包括以下步驟:
步驟2.1、采集紅外陣列安裝在不同高度下人體所占像素點點數;
步驟2.2、根據高度與像素點點數的對應數據,生成像素表;
步驟2.3、將像素表錄入處理后臺的存儲器。
A、所述人體識別及人流統計的流程:
用于開始步驟;
用于提取紅外圖像像素陣列圖的步驟;
用于查找第i幀紅外圖像像素陣列圖中的高溫像素點的步驟,i是自然數;
用于獲取當前環境溫度信息,調用溫度差值表的步驟,在當前環境溫度信息下,人體溫度值為溫度參考值;
用于判斷當前幀中各坐標點中是否有溫度點大于或等于溫度差值表中的溫度參考值的步驟;
如果小于溫度差值表中的溫度參考值,則沒有發熱源,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;如果大于或等于溫度差值表中的溫度要求,則進入用于查找下一幀紅外圖像像素陣列圖中的高溫像素點的步驟;
用于判斷當前紅外圖像像素陣列圖中各坐標點中是否有溫度點大于或等于溫度差值表中溫度參考值的步驟:
若小于溫度參考值,則沒有發熱源,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果大于或等于溫度參考值,則進入用于判斷該幀發熱源坐標位置是否與上一幀發熱源坐標位置相同的步驟:
坐標位置相同,則進入用于標注當前比較一致的兩幀紅外圖像像素陣列圖為熱源紅外像素陣列圖的步驟;
坐標位置不同,則進入用于調取后一幀的步驟;
用于查找后一幀紅外圖像像素陣列圖中的高溫像素點的步驟,用于比較當前幀發熱源坐標位置是否與前一幀發熱源坐標位置相同的步驟:
如果坐標位置不同,則確定上一幀中發熱源為干擾的步驟,進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果坐標位置相同,則進入所述用于標注當前比較一致的兩幀紅外圖像像素陣列圖為熱源紅外像素陣列圖的步驟;
用于獲取像素表的步驟:該像素表中記錄有在當前紅外陣列高度下,人體熱源所占像素點的點數;
用于判斷熱源紅外像素陣列圖中,熱源點數是否與人體熱源所占像素點點數一致的步驟;
如果不一致,則進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
如果一致,則進入將坐標位置比較后的兩幀熱源紅外像素陣列圖標記為有人紅外像素陣列圖的步驟,并對二者中的人體紅外源一致性標注為Rn;
用于累計前述兩幀有人紅外像素陣列圖進入有人紅外像素陣列圖庫的步驟;
S2:用于調取下一幀紅外圖像像素陣列圖中的步驟;
用于判斷下一幀紅外圖像像素陣列圖中熱源信息與前一幀有人紅外像素陣列圖中的熱源點數是否一致;
如果一致,則用于將該紅外圖像像素陣列圖累計入有人紅外像素陣列圖庫的步驟,并對紅外圖像像素陣列圖中的人體紅外源標注為Rn;并返回所述S2:用于調取下一幀紅外圖像像素陣列圖中的步驟;
如果不一致,則進入返回流程,進入S1:用于調取下一幀的步驟,返回所述用于獲取當前環境溫度信息,調用溫度差值表的步驟;
用于結束的步驟;
B、分析人流停留時間的方法如下:
用于開始的步驟;
用于初始化的步驟,y=0;當紅外圖像像素陣列圖由前一幀無人狀態,進入當前幀有人狀態時,當前幀標記為A;當紅外圖像像素陣列圖由前一幀有人狀態,進入當前幀無人狀態時,當前幀標記為B,無人開始時間清零,有人開始時間清零,獲取歷史紅外圖像像素陣列圖;
用于提取下一幀紅外圖像像素陣列圖的步驟;
用于判斷是否y=0的步驟;
如果y=0,則進入有人統計流程,如果y=1,則進入無人統計流程;
所述有人統計流程為:
用于判斷當前幀紅外圖像像素陣列圖是否有標記A;
如果有標記A,則進入統計全部有人時間的步驟;再設置y=1,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果沒有標記A,則進入;
用于判斷當前幀紅外圖像像素陣列圖中是否有人的步驟;
如果無人,則返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果有人,則進入用于對當前幀紅外圖像像素陣列圖標記A的步驟;
用于記錄有人開始時間的步驟;再設置y=1,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
所述無人統計流程為:
用于判斷當前幀紅外圖像像素陣列圖是否有標記B;
如果沒有標記B,則進入;
用于判斷當前幀紅外圖像像素陣列圖中是否無人的步驟;
如果有人,則返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果無人,則進入用于對當前幀紅外圖像像素陣列圖標記B的步驟;
用于記錄無人開始時間的步驟;再設置y=0,并返回所述用于提取下一幀紅外圖像像素陣列圖的步驟;
如果有標記B,則進入統計全部無人時間的步驟;
用于計算全部人流時間的步驟;利用每幀紅外圖像像素陣列圖中所記錄的時間點,計算每段有人時間量和每段無人時間量后,分別進行累加。
結束;
C、計算人流行進方向的流程:
用于開始的步驟;
用于提取第一段有人時段內全部有人紅外圖像像素陣列圖,將每幀紅外圖像像素陣列圖分為L個區域的步驟;
用于指定每幀紅外圖像像素陣列圖中每個人的關鍵像素點的步驟;
用于將本有人時段分成m個統計時段f的步驟;
用于在每個區域內,對每個統計時段f的全部個人關鍵像素點進行疊加的步驟;
用于根據疊加量,沿m個統計時段的時間順序,確定本有人時段內的人流在L個區域之間的移動方向的步驟;
提取下一段有人時段的,如此循環,直至最后一個有人時段;
結束。
最后需要說明的是,上述描述僅僅為本發明的優選實施例,本領域的普通技術人員在本發明的啟示下,在不違背本發明宗旨及權利要求的前提下,可以做出多種類似的表示,這樣的變換均落入本發明的保護范圍之內。