曹偉東,張中煒
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
?
機(jī)器視覺下升降機(jī)內(nèi)人數(shù)檢測(cè)算法
曹偉東,張中煒
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
為了限制建筑升降機(jī)的人數(shù),防止升降機(jī)超載,文中提出了一種基于機(jī)器視覺的建筑升降機(jī)內(nèi)人數(shù)動(dòng)態(tài)檢測(cè)方法。該算法是在工人進(jìn)門的區(qū)域內(nèi),利用改進(jìn)的Vibe算法實(shí)現(xiàn)視頻圖像中的運(yùn)動(dòng)目標(biāo)分割,采用領(lǐng)域平滑去除圖像噪聲,根據(jù)人頭特征采用橢圓擬合的方式擬合人的頭部,利用基于卡爾曼濾波的最近距離匹配法對(duì)橢圓的質(zhì)心進(jìn)行跟蹤并計(jì)數(shù)。實(shí)驗(yàn)表明,文中算法對(duì)于升降機(jī)內(nèi)俯視圖像中人員計(jì)數(shù)的實(shí)現(xiàn)準(zhǔn)確率較高,魯棒性較好。
機(jī)器視覺;升降機(jī)人數(shù)統(tǒng)計(jì);人頭分割;目標(biāo)跟蹤
隨著我國基礎(chǔ)設(shè)施建設(shè)不斷加強(qiáng),高層建筑不斷增多,建筑升降機(jī)超載成為安全問題,建筑升降機(jī)的載客量一般有人數(shù)限制,但是有時(shí)雖然己經(jīng)達(dá)到載客量的上限卻還是有人進(jìn)入,乘坐超載的建筑升降機(jī)給建筑工人的人身安全帶來了威脅。因此,對(duì)進(jìn)出建筑升降機(jī)的人進(jìn)行計(jì)數(shù)以防止電梯超載是必要的。目前對(duì)于建筑升降機(jī)的轎廂內(nèi)人數(shù)統(tǒng)計(jì)的方法較少,但針對(duì)類似于升降機(jī)轎廂的電梯轎廂[1]有很多研究,其主要采用兩類技術(shù)來統(tǒng)計(jì)電梯轎廂或者公交車內(nèi)的乘客人數(shù):紅外線檢測(cè)[2]和基于計(jì)算機(jī)視覺[3]的方法。
本文采用改進(jìn)的Vibe算法分割運(yùn)動(dòng)目標(biāo),這種分割方法對(duì)光照和攝像機(jī)輕微抖動(dòng)等干擾有好的抑制效果。
1.1經(jīng)典Vibe算法
經(jīng)典Vibe算法[4]將物體檢測(cè)看成一個(gè)分類問題,也就是確定一個(gè)像素點(diǎn)是否屬于背景點(diǎn)。在視頻序列圖像中,如果
M(x,y)∩SR(I(x,y))=
{I1,I2,I3,…,IN}∩SR(I(x,y))>T
(1)
那么就認(rèn)為點(diǎn)(x,y)屬于背景點(diǎn)。其中,其中,I(x,y)表示坐標(biāo)值為(x,y)處像素點(diǎn)的灰度值;M(x,y)={I1,I2,I3,…,IN}表示坐標(biāo)值為(x,y)像素點(diǎn)處的背景樣本集(樣本集大小為N);SR(I(x,y))表示以點(diǎn)(x,y)為中心R為半徑的區(qū)域;T表示特定的閥值。
ViBe算法的初始化僅通過一幀圖像即可完成。對(duì)于一個(gè)像素點(diǎn),隨機(jī)選擇它的鄰居點(diǎn)像素值作為它的模型樣本值,設(shè)t=0初始時(shí)刻,在像素點(diǎn)(x,y)的8領(lǐng)域內(nèi)隨機(jī)選取N個(gè)像素值I1,I2,I3,…,IN作為點(diǎn)(x,y)的背景樣本集。
1.2改進(jìn)的Vibe算法
Vibe算法雖然能較好地適應(yīng)環(huán)境變化,但是還存在諸多問題:像素樣本集的重復(fù)選??;由于閥值是人為選定,前景提取會(huì)出現(xiàn)小目標(biāo)和空洞;由于本文研究的視頻是從頭頂往下拍攝,所以提取的前景圖像中,人頭和身體部分會(huì)重疊,影響后期人頭特征的處理[5]。
(1)樣本選取問題。由于經(jīng)典的Vibe算法在初始化背景M(x,y)時(shí),采用隨機(jī)策略從I(x,y)的8領(lǐng)域中選取20個(gè)樣本,所以每一個(gè)樣本至少被重復(fù)選取了2次。這樣的選取方式導(dǎo)致選取樣本過于集中,會(huì)造成像素的錯(cuò)誤分類。針對(duì)這一問題,本文采用擴(kuò)大鄰域的方式,采用均勻分布的隨機(jī)數(shù)生成算法,從I(x,y)的24鄰域中選取20個(gè)樣本用于初始化背景模型,從而有效避免像素的重復(fù)選取,降低了錯(cuò)誤分類的概率;
(2)小目標(biāo)丟棄與空洞修復(fù)。由于受光照變化和背景中小目標(biāo)運(yùn)動(dòng)的干擾,導(dǎo)致檢測(cè)結(jié)果中會(huì)出現(xiàn)一些虛假的小目標(biāo),且運(yùn)動(dòng)目標(biāo)會(huì)出現(xiàn)殘缺現(xiàn)象,如圖1所示,這會(huì)對(duì)實(shí)際應(yīng)用系統(tǒng)的精確性產(chǎn)生影響[6]。例如,在智能視頻監(jiān)控中,虛假小目標(biāo)的出現(xiàn)會(huì)導(dǎo)致虛假警報(bào)的發(fā)生;運(yùn)動(dòng)目標(biāo)殘缺會(huì)導(dǎo)致目標(biāo)漏檢問題。因此,改進(jìn)的Vibe算法采用了對(duì)一些小的目標(biāo)進(jìn)行丟棄,并修復(fù)真實(shí)運(yùn)動(dòng)目標(biāo)空洞的策略。算法步驟如下:求取前景圖像上的聯(lián)通區(qū)域,得到聯(lián)通區(qū)域集合B1{b1,b2,…,bm};如果聯(lián)通區(qū)域內(nèi)的像素?cái)?shù) 圖1 改進(jìn)的Vibe算法效果圖 (3)人頭輪廓與身體重疊的問題。如圖2(b)所示,雖然前景圖像被完美提取出來,但是人頭與身體部分重疊較多,影響后期人頭特征的提取及人數(shù)清點(diǎn)。在本文研究過程中,發(fā)現(xiàn)幀差法在本課題中不是很合適,由于人進(jìn)出升降機(jī)時(shí)的速度不是很快,所以幀差法提取的前景中有很大空洞。但是如果結(jié)合Vibe算法提取的前景,可以讓頭部的輪廓更加明顯[7]。所以本文提出了一種融合了幀差法的Vibe算法。 該算法實(shí)現(xiàn)起來很簡單,假設(shè)由幀差法提取的二值化前景圖像為FD(x,y),而改進(jìn)后的Vibe算法得到的二值化前景圖像為Vibe(x,y),將兩者簡單相與 (2) 當(dāng)兩個(gè)算法中對(duì)應(yīng)像素點(diǎn)都為前景點(diǎn)時(shí),該像素點(diǎn)才為前景點(diǎn),再用小目標(biāo)丟棄與空洞修復(fù)的方法,即可得到如圖2(d)所示的二值化前景圖像。 圖2 融合了幀差法的Vibe算法圖 圖3 提取輪廓 2.1人頭特征點(diǎn)選取 由于一般的升降機(jī)攝像頭都安裝在相對(duì)于升降機(jī)出口的內(nèi)測(cè),而本文對(duì)人頭跟蹤的區(qū)域僅限于升降機(jī)出口處,所以攝像頭相對(duì)于人頭是一種斜視的角度,當(dāng)人進(jìn)出升降機(jī)時(shí),在監(jiān)控視頻中需要跟蹤計(jì)數(shù)的區(qū)域內(nèi),人頭頂部的點(diǎn)有一個(gè)特征:該點(diǎn)位于跟蹤區(qū)域垂直方向局部最高處[8]。所以在前景提取的結(jié)果圖中,該點(diǎn)的左邊m個(gè)像素均為背景像素,并且該點(diǎn)豎直方向上的上一個(gè)點(diǎn)和它的左右各n個(gè)像素點(diǎn)也為背景點(diǎn)。求取人頭頂部特征點(diǎn)的步驟如下:(1)提取圖像中運(yùn)動(dòng)目標(biāo)的輪廓,如圖3所示;(2)從圖像左上角開始掃描圖像,發(fā)現(xiàn)像素值為255(運(yùn)動(dòng)目標(biāo)輪廓點(diǎn)),則檢測(cè)圖像中該點(diǎn)的左邊m個(gè)點(diǎn)的像素值大小。否則,該點(diǎn)不可能為特征點(diǎn),檢測(cè)圖像中下一點(diǎn);(3)若這m個(gè)像素值均為0(背景),則檢測(cè)該點(diǎn)上一個(gè)點(diǎn)和它左右各n個(gè)像素值的大小。否則該點(diǎn)不可能為特征點(diǎn),舍棄,檢測(cè)下一點(diǎn);(4)若再次檢測(cè)的點(diǎn)均為0(背景),則該點(diǎn)可能為人頭頂部的點(diǎn),存入動(dòng)態(tài)數(shù)組中。否則該點(diǎn)不是人頭部點(diǎn),舍棄,檢測(cè)下一點(diǎn)。 2.2數(shù)據(jù)點(diǎn)采集 特征點(diǎn)選取完成后,依次在特征點(diǎn)左右兩邊的輪廓線上采集K個(gè)數(shù)據(jù)點(diǎn)存到動(dòng)態(tài)數(shù)組中。圖4為人頭部輪廓圖,點(diǎn)H為求取的人頭部頂點(diǎn),從H點(diǎn)開始分別向左右兩邊依次在輪廓采集K個(gè)數(shù)據(jù)點(diǎn)存入動(dòng)態(tài)數(shù)據(jù)中。由于本文采用單目攝像機(jī),升降機(jī)內(nèi)監(jiān)控區(qū)域只有進(jìn)出口這塊區(qū)域,所以頭部目標(biāo)和攝像機(jī)之間的距離相差不大,需要采集的數(shù)據(jù)點(diǎn)的數(shù)目也大致相同。所以不必考慮K取值的多樣性。 圖4 人頭部輪廓示意圖 圖5 橢圓擬合效果圖 2.3橢圓擬合 采集完所有特征點(diǎn)對(duì)應(yīng)的數(shù)據(jù)點(diǎn)以后,本文采用閆蓓提出的基于最小二乘法的橢圓擬合改進(jìn)算法進(jìn)行橢圓擬合[9]。 二次平面方程可以寫成 H(γ,Y)=γTY=ax2+bxy+cy2+dx+ey+f=0 (3) 其中,γ=[abcdef]T;Y=[x2xyy2xy1]T。由數(shù)學(xué)原理可知,當(dāng)曲線方程系數(shù)滿足b2-4ac=-1時(shí),式(3)中表示的曲線方程為橢圓。 該最小二乘橢圓擬合,采用廣義特征根方法進(jìn)行求解,算法簡單高效,并且魯棒性好。結(jié)果如圖5所示。 人頭擬合后,將檢測(cè)出人頭的質(zhì)心作為運(yùn)動(dòng)的跟蹤點(diǎn),這樣在跟蹤過程中,若頭部的某一部分被遮擋,只要頭部能被檢測(cè)并擬合,跟蹤目標(biāo)就不會(huì)丟失。 3.1最近距離匹配算法 本文還考慮了兩幀間同一目標(biāo)點(diǎn)的歐幾里得距離、運(yùn)動(dòng)速度和方向信息,給出了一種跟蹤算法。由于人進(jìn)入升降機(jī)時(shí)絕大多數(shù)情況都是勻速進(jìn)入,并且由于視頻的兩幀圖像時(shí)間間隔很短,完全可以把兩幀之間的運(yùn)動(dòng)物體看作是勻速運(yùn)動(dòng)[10]。 設(shè)一圖像序列I=(I1,I2,…,In,…)第n幀圖像檢測(cè)到m個(gè)目標(biāo)s1,n,s2,n,…,sm,n,目標(biāo)si,n(1≤i≤m)的中心坐標(biāo)記為(pos_xi,pos_yi)。第n-1幀檢測(cè)到的k個(gè)目標(biāo)記作T=(T1,T2,…,TK),其中Ti=(pri_xi,pri_yi,vx,vy,…,flag),pri_xi和pri_yi表示第i個(gè)目標(biāo)的坐標(biāo)。vx,vy表示第i個(gè)目標(biāo)的速度,t表示連續(xù)未匹配成功的幀數(shù)。flag為目標(biāo)初始位置標(biāo)志,初值為-1。 具體算法如下: (1)位置預(yù)測(cè)。利用卡爾曼濾波器估計(jì)n-1幀各目標(biāo)質(zhì)心點(diǎn)在第n幀的位置和速度,以目標(biāo)Tj(1≤j≤k)為例,表示第j個(gè)目標(biāo)在第n-1幀檢測(cè)到的參數(shù),設(shè)該點(diǎn)在第n幀的預(yù)測(cè)位置為sj; (2)計(jì)算sj,n和sj的歐幾里得距離,得出距離值d=‖sj,n-sj‖; (3)對(duì)第n-1幀目標(biāo)鏈T中所有目標(biāo)Tj(j=1,2,…,k),計(jì)算目標(biāo)的深度值D=(d1,d2,…,dk),求得dj=min(D)。設(shè)同一頭部目標(biāo)在兩幀間運(yùn)動(dòng)距離上限記為th。若di≤th則匹配成功,判定sj,n為Tj在第n幀出現(xiàn)的新位置,執(zhí)行步驟(4),否則判定sj,n為一個(gè)新目標(biāo),執(zhí)行步驟(5); 3.2跟蹤計(jì)數(shù)算法 結(jié)合本課題需實(shí)時(shí)監(jiān)測(cè)在升降機(jī)中的人數(shù),所以把檢測(cè)區(qū)域設(shè)為升降機(jī)的進(jìn)出口,如圖6所示,在升降機(jī)的檢測(cè)區(qū)內(nèi),設(shè)置兩條輔助線Line1和Line2, 當(dāng)人頭在圖6中Line1到升降機(jī)門這個(gè)區(qū)域內(nèi)首次被檢測(cè)到時(shí),人頭質(zhì)心的flag賦值為0;當(dāng)人頭在Line2到升降機(jī)內(nèi)部這個(gè)區(qū)域內(nèi)首次被檢測(cè)到時(shí),人頭質(zhì)心的flag賦值為4。 當(dāng)人進(jìn)入升降機(jī)的檢測(cè)區(qū)域時(shí),人頭的質(zhì)心被追蹤到后: (1)當(dāng)flag為0或2的情況下,質(zhì)心先經(jīng)過Line1,再經(jīng)過Line2時(shí),flag為1,則升降機(jī)內(nèi)人數(shù)加1。當(dāng)目標(biāo)離開檢測(cè)區(qū)域,將其刪除; (2)當(dāng)flag為1或3的情況下,質(zhì)心先經(jīng)過Line2,再經(jīng)過Line1時(shí),flag為2;則升降機(jī)內(nèi)人數(shù)減1。當(dāng)目標(biāo)離開檢測(cè)區(qū)域,將其刪除。 圖6 跟蹤計(jì)數(shù)示意圖 為驗(yàn)證本文跟蹤計(jì)數(shù)算法的優(yōu)越性,通過模擬升降機(jī)平臺(tái)的壞境進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)設(shè)備包括:瑞士堡盟工業(yè)相機(jī),型號(hào)為EXG50c,實(shí)驗(yàn)用的計(jì)算機(jī)配置:Intel 酷睿 I5-4200H 2.8 GHz CPU,4 GB DDR3 內(nèi)存。處理圖像分辨率為640×480,實(shí)驗(yàn)時(shí),攝像頭放在適當(dāng)?shù)母叨龋臄z區(qū)域與升降機(jī)內(nèi)部空間大小相似。 實(shí)驗(yàn)時(shí),測(cè)試了7種不同的檢測(cè)人數(shù),圖7所示為檢測(cè)人數(shù)為2人時(shí)的情況。 圖7 實(shí)驗(yàn)檢測(cè)圖 圖7(a)中為原始視頻的第611幀圖像,通過改進(jìn)的Vibe算法對(duì)其進(jìn)行運(yùn)動(dòng)分割,得到大致的頭部區(qū)域,再通過橢圓擬合得到運(yùn)動(dòng)目標(biāo)的質(zhì)心,通過對(duì)質(zhì)心的跟蹤,實(shí)時(shí)得到升降機(jī)內(nèi)的人數(shù)。該圖中,測(cè)試人員均向著門外走去,當(dāng)目標(biāo)如圖7(b)中第623幀圖像所示時(shí),失去追蹤目標(biāo),升降機(jī)內(nèi)人數(shù)減2。試驗(yàn)后,獲取結(jié)果如表1所示。 表1 算法運(yùn)行時(shí)不同人數(shù)比較 表1為本文算法運(yùn)行時(shí)不同人數(shù)的比較,由于該算法是實(shí)時(shí)檢測(cè)的,并且在關(guān)閉升降機(jī)門后不檢測(cè)。相比較文獻(xiàn)[8]的算法,本文算法對(duì)光照變化不敏感,檢測(cè)精度也有所提高,檢測(cè)具有實(shí)時(shí)性。 本文采用動(dòng)態(tài)的方式,在建筑工人進(jìn)出升降機(jī)的區(qū)域內(nèi)對(duì)升降機(jī)內(nèi)人數(shù)進(jìn)行實(shí)時(shí)統(tǒng)計(jì)。當(dāng)升降機(jī)門關(guān)閉時(shí),停止檢測(cè)計(jì)數(shù),實(shí)時(shí)性和魯棒性較高,能夠準(zhǔn)確判斷升降機(jī)內(nèi)人數(shù)是否超載,具有較高的使用價(jià)值。 [1]應(yīng)俊,李強(qiáng).基于改進(jìn)的Hough變換的電梯轎廂內(nèi)人數(shù)統(tǒng)計(jì)算法[J].計(jì)算機(jī)工程及應(yīng)用,2014,50(19):165-168. [2]靳海燕,熊慶宇,王凱,等.基于圖像處理的電梯轎廂內(nèi)人數(shù)統(tǒng)計(jì)方法研究[C].儀器儀表學(xué)報(bào),2011,32(6):161-165. [3]王君偉.基于DTW的紅外自動(dòng)乘客計(jì)數(shù)方法研究[D].上海:上海交通大學(xué),2008. [4]鄭翔翔,張怡.基于頭部檢測(cè)和跟蹤的人數(shù)統(tǒng)計(jì)方法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2011,28(2):44-46. [5]嚴(yán)紅亮,王福龍,劉志煌,等.基于ViBe算法的改進(jìn)背景減去法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(6):130-134. [6]尹凱,魏江,李正,等.改進(jìn)的Vibe運(yùn)動(dòng)目標(biāo)檢測(cè)[J].電子設(shè)計(jì)工程,2014,22(16):177-180. [7]李洪杰,程欣宇,任海林.一種基于幀差法和vibe算法的前景檢測(cè)方法[J].圖像與多媒體技術(shù),2014(21):119-120. [8]顧德軍,伍鐵軍.一種基于人頭特征的人數(shù)統(tǒng)計(jì)方法研究[J].機(jī)械制造與自動(dòng)化,2010(4):134-138. [9]閆蓓,王斌,李媛.基于最小二乘法的橢圓擬合改進(jìn)算法[J].北京航空航天大學(xué)學(xué)報(bào),2008,34(3):295-298. [10]宋迎春.動(dòng)態(tài)定位中的卡爾曼濾波研究[D].長沙:中南大學(xué),2006. Use of Machine Vision in Counting of the People in Building Lift CAOWeidong,ZHANGZhongwei (CollegeofInformationScienceandTechnology,DonghuaUniversity,Shanghai201620,China) Inordertolimitthenumberofbuildinglifts,andtopreventoverloadingofthelifts,amethodforthedetectionofthenumberofworkersinliftbasedonmachinevisionisproposedinthispaper.Intheareawheretheworkersentertheentry,theimprovedVibealgorithmisusedtosegmentmovingobjectsinvideoimages,andfieldsmoothingtoremoveimagenoise.Theheadisfittedbyellipsefitting,andthecentroidoftheellipseistrackedandcountedbythenearestdistancematchingmethodbasedontheKalmanfilter.Thisalgorithmhasgoodaccuracyandrobustnessincountingoftheworkersinthelift. machinevision;countingpeopleinlift;humanheadsegmentation;targettracking 2016- 12- 21 曹偉東(1990-),男,碩士研究生。研究方向:數(shù)字圖象處理。張中煒(1957-),男,高級(jí)工程師,教授。研究方向:工業(yè)控制自動(dòng)化等。 10.16180/j.cnki.issn1007-7820.2016.09.007 TP242.6+2 A 1007-7820(2016)09-022-042 人頭的橢圓擬合
3 人員跟蹤計(jì)數(shù)
4 實(shí)驗(yàn)結(jié)果與分析
5 結(jié)束語