安永志
(內(nèi)蒙古農(nóng)業(yè)大學(xué) 體育教學(xué)部, 呼和浩特 010018)
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,智能化的電子監(jiān)控設(shè)備在人們的生產(chǎn)和生活中的應(yīng)用領(lǐng)域逐漸擴(kuò)張.尋求有效的方法從監(jiān)控運(yùn)動(dòng)視頻中檢測(cè)出運(yùn)動(dòng)視頻目標(biāo)輪廓,在安防系統(tǒng)、軍事以及工業(yè)等領(lǐng)域具有重要的應(yīng)用價(jià)值[1].受到局部背景邊緣的干擾,運(yùn)動(dòng)視頻輪廓圖像邊緣存在較多的毛刺以及獨(dú)立點(diǎn)[2].采用相鄰幀差法檢測(cè)運(yùn)動(dòng)視頻目標(biāo)輪廓時(shí),無(wú)法有效解決局部背景邊緣的干擾問(wèn)題,獲取的運(yùn)動(dòng)視頻輪廓存在殘缺.因此,解決局部背景邊緣干擾問(wèn)題,獲取完整的運(yùn)動(dòng)視頻輪廓,具有重要的應(yīng)用意義.
采用基于Sobel算子的運(yùn)動(dòng)視頻目標(biāo)輪廓粗檢測(cè)算法對(duì)運(yùn)動(dòng)視頻目標(biāo)輪廓進(jìn)行粗檢測(cè),算法模型如圖1所示.從運(yùn)動(dòng)視頻中采集連續(xù)的第k幀以及第k+1幀運(yùn)動(dòng)圖像,對(duì)第k幀進(jìn)行備份,采用Sobel算子劃分第k幀備份圖像的紋理,獲取同時(shí)存在背景目標(biāo)和運(yùn)動(dòng)視頻目標(biāo)的輪廓圖像A.對(duì)第k幀和第k+1幀圖像做差分運(yùn)算,獲取差分圖像[3].差分圖像內(nèi)目標(biāo)像素位置和對(duì)應(yīng)輪廓圖像A內(nèi)輪廓像素點(diǎn)位置的交集則為運(yùn)動(dòng)視頻目標(biāo),對(duì)圖像A進(jìn)行二值化操作后,再和差分圖像進(jìn)行交集運(yùn)算,能夠獲取運(yùn)動(dòng)視頻目標(biāo)的粗輪廓.
圖1 運(yùn)動(dòng)視頻目標(biāo)粗輪廓檢測(cè)算法模型Fig.1 Model for rough contour detection algorithm of moving video target
算法對(duì)運(yùn)動(dòng)視頻目標(biāo)輪廓進(jìn)行粗檢測(cè)的過(guò)程,是一個(gè)從視頻流中采集幀圖像同時(shí)重復(fù)運(yùn)行的過(guò)程[4].
算法進(jìn)行運(yùn)動(dòng)視頻目標(biāo)輪廓的粗檢測(cè)過(guò)程如下:
1) 采集運(yùn)動(dòng)視頻內(nèi)的第k、k+1幀圖像,對(duì)這些圖像進(jìn)行灰度化以及濾波等預(yù)操作;
2) 備份第k幀圖像,為接下來(lái)的圖像輪廓采集提供依據(jù)[5],并設(shè)置該備份圖像是k1;
3) 通過(guò)Sobel算子采集備份圖像k1的輪廓線,獲取邊緣紋理圖像A,該圖像中存在運(yùn)動(dòng)視頻目標(biāo)的輪廓;
4) 通過(guò)幀間差分法運(yùn)算第k幀和第k+1幀圖像的差分,獲取運(yùn)動(dòng)視頻目標(biāo)產(chǎn)生的變化范圍[6],也就是運(yùn)動(dòng)視頻目標(biāo)的差分圖像B;
5) 對(duì)紋理圖像A以及差分圖像B實(shí)施二值化操作,獲取運(yùn)動(dòng)視頻目標(biāo)的二值化圖像;
6) 若得到的運(yùn)動(dòng)視頻目標(biāo)二值化圖像內(nèi)黑色像素點(diǎn)的邏輯白色是“1",則計(jì)算二值化圖像和差分二值化圖像的交集[7],該過(guò)程是在波動(dòng)范圍內(nèi)基于相關(guān)的邊緣記錄,獲取運(yùn)動(dòng)視頻目標(biāo)的輪廓范圍,采集運(yùn)動(dòng)視頻目標(biāo)圖像;
7) 針對(duì)得到的運(yùn)動(dòng)視頻目標(biāo)圖像實(shí)施后操作,過(guò)濾其中的噪聲因素以及孤立點(diǎn),獲取連續(xù)光滑輪廓邊緣,再轉(zhuǎn)到步驟1)重復(fù)進(jìn)行分析.
受到局部背景邊緣的干擾,運(yùn)動(dòng)視頻目標(biāo)粗輪廓中存在較多的毛刺以及獨(dú)立點(diǎn),出現(xiàn)斷裂分布狀態(tài).形態(tài)學(xué)操作能夠過(guò)濾掉運(yùn)動(dòng)視頻目標(biāo)圖像中的噪聲因素,對(duì)圖像毛孔進(jìn)行修補(bǔ)[8],實(shí)現(xiàn)圖像的連通.因此,采用基于形態(tài)學(xué)后處理的運(yùn)動(dòng)視頻輪廓精檢測(cè)方法,對(duì)獲取的運(yùn)動(dòng)視頻目標(biāo)粗輪廓圖像進(jìn)行腐蝕運(yùn)算和膨脹運(yùn)算等形態(tài)學(xué)操作,獲取完整的運(yùn)動(dòng)視頻輪廓.
針對(duì)面向獲取的運(yùn)動(dòng)視頻目標(biāo)粗二值圖像輪廓,對(duì)其進(jìn)行腐蝕操作[9],可確保圖像邊緣向內(nèi)緊縮,其原理為:設(shè)置大小遠(yuǎn)遠(yuǎn)小于同需要進(jìn)行腐蝕操作的運(yùn)動(dòng)視頻目標(biāo)圖像的子圖像,將該子圖像當(dāng)成結(jié)構(gòu)向量,設(shè)置其大小為2×2,將該結(jié)構(gòu)向量?jī)?nèi)的某像素點(diǎn)當(dāng)成原點(diǎn),設(shè)置其中的各像素點(diǎn)值為1或者0;通過(guò)結(jié)構(gòu)向量對(duì)需要進(jìn)行腐蝕操作的圖像進(jìn)行遍歷檢索,完成圖像匹配分析[10].獲取一個(gè)與結(jié)構(gòu)向量一致的子圖像,其結(jié)構(gòu)向量的像素點(diǎn)是0,在這種情況下,則標(biāo)識(shí)該子圖像與結(jié)構(gòu)向量原點(diǎn)位置相對(duì)應(yīng)的像素位置[11],由全部該種像素構(gòu)成的集合則是二值圖像腐蝕后的結(jié)果.
如果待進(jìn)行腐蝕操作的圖像為I,結(jié)構(gòu)向量為B,則圖像I被結(jié)構(gòu)向量B腐蝕的表達(dá)式為
IΘB={x|(B)x?I}
(1)
式中:x為集合平移的位移量;Θ為腐蝕運(yùn)算;(B)x為結(jié)構(gòu)平移向量.
采用平移結(jié)構(gòu)向量檢索待進(jìn)行腐蝕操作圖像的過(guò)程中,若獲取與結(jié)構(gòu)向量一致的子圖像,則標(biāo)識(shí)該子圖像內(nèi)結(jié)構(gòu)向量原點(diǎn)的像素位置[12],全部完成標(biāo)識(shí)的像素集即為腐蝕后的圖像,如圖2所示.
圖2 圖像I的腐蝕操作Fig.2 Corrosion operation for image I
圖2a用于描述需要進(jìn)行腐蝕化操作的圖像I,其中,各單元格用于描述一個(gè)像素點(diǎn),灰色范圍用于描述前景點(diǎn).圖2b為結(jié)構(gòu)向量,灰色和黑色范圍是可用結(jié)構(gòu)向量,黑色范圍對(duì)應(yīng)的位置是結(jié)構(gòu)向量原點(diǎn)[13].對(duì)圖2a進(jìn)行腐蝕處理,重復(fù)檢索圖像I內(nèi)各點(diǎn)(不包括邊緣點(diǎn)),若檢索到含有與結(jié)構(gòu)向量一致的子圖像,則將圖像I內(nèi)與結(jié)構(gòu)向量相關(guān)的像素點(diǎn)標(biāo)識(shí)成腐蝕結(jié)果點(diǎn),獲取的圖像腐蝕結(jié)果如圖2c所示,其中,黑色范圍是腐蝕結(jié)果,灰色范圍被腐蝕掉[14].對(duì)比分析圖2a、c可知,圖2a邊緣區(qū)域被過(guò)濾掉,并且向內(nèi)縮減.腐蝕處理能夠過(guò)濾掉圖像內(nèi)的毛孔,清除圖像中的噪聲.
對(duì)二值圖像進(jìn)行膨脹操作可擴(kuò)展圖像的邊緣,將非連通的兩個(gè)圖像塊連接成一個(gè)連通塊.圖像膨脹的原理為:設(shè)置某大小遠(yuǎn)遠(yuǎn)低于待操作圖像的子圖像,將其當(dāng)成結(jié)構(gòu)向量,設(shè)置其大小為2×2,將結(jié)構(gòu)向量?jī)?nèi)的某像素點(diǎn)當(dāng)成原點(diǎn),標(biāo)識(shí)結(jié)構(gòu)向量中各像素位置的值為1或0;通過(guò)該結(jié)構(gòu)向量對(duì)待操作圖像實(shí)施遍歷檢索[15],若獲取與結(jié)構(gòu)向量交集為非空的像素點(diǎn),則采集與結(jié)構(gòu)向量原點(diǎn)相對(duì)應(yīng)的待操作圖像內(nèi)的像素點(diǎn),并標(biāo)識(shí)該像素點(diǎn)為前景點(diǎn).全部完成標(biāo)識(shí)的前景點(diǎn)集為圖像膨脹結(jié)果.
對(duì)圖像進(jìn)行膨脹處理時(shí),如果在圖像中獲取與結(jié)構(gòu)向量交集非空的像素點(diǎn),則對(duì)待操作圖像與結(jié)構(gòu)向量原點(diǎn)位置相對(duì)應(yīng)的像素點(diǎn)進(jìn)行標(biāo)識(shí),獲取的全部標(biāo)識(shí)點(diǎn)則是膨脹結(jié)果[16],設(shè)置源圖像為I,B為結(jié)構(gòu)圖像,則I被B膨脹的表達(dá)式為
I?B={y|y=k+b,k∈I,b∈B}=Ub∈BIb
(2)
式中:k+b為變量b對(duì)特征k進(jìn)行平移變換后的平移量;y為運(yùn)算后的二維值;?為膨脹運(yùn)算;Ub∈B為膨脹后源圖像的平移量;Ib為膨脹后需要進(jìn)行操作的源圖像.
對(duì)運(yùn)動(dòng)視頻圖像進(jìn)行膨脹操作時(shí),如果在圖像中檢索到與結(jié)構(gòu)向量交集非空的點(diǎn),則采集需要進(jìn)行操作的圖像內(nèi)與結(jié)構(gòu)向量原點(diǎn)位置對(duì)應(yīng)的像素點(diǎn),并對(duì)像素點(diǎn)進(jìn)行標(biāo)識(shí),全部被標(biāo)識(shí)的像素點(diǎn)集則是通過(guò)膨脹操作后的運(yùn)動(dòng)視頻圖像,如圖3所示.
圖3 圖像I的膨脹操作Fig.3 Expansion operation for image I
2.3.1 算法模型
采用Sobel算子采集運(yùn)動(dòng)視頻輪廓圖像時(shí),只采用簡(jiǎn)單的差分運(yùn)算對(duì)幀圖像進(jìn)行差分分析,使得獲取的運(yùn)動(dòng)輪廓圖像存在較高的噪聲.受到局部背景邊緣的干擾,差分運(yùn)算獲取的圖像邊緣較為粗糙,存在較多的毛刺以及獨(dú)立點(diǎn).局部背景邊緣干擾使得采集出的運(yùn)動(dòng)視頻目標(biāo)圖像輪廓拓?fù)湫螤顚捳欢?,呈現(xiàn)斷裂的分布狀態(tài).因此,為了解決局部背景邊緣的干擾,采用基于形態(tài)學(xué)后處理的運(yùn)動(dòng)視頻目標(biāo)輪廓檢測(cè)算法,獲取更為完整的運(yùn)動(dòng)視頻輪廓.先通過(guò)腐蝕算法去除圖像中的噪聲,再通過(guò)膨脹運(yùn)算擴(kuò)張圖像邊緣,對(duì)圖像中的毛孔以及連接范圍間的孔洞進(jìn)行修補(bǔ),通過(guò)高速并行細(xì)化算法采集圖像的骨架,算法模型如圖4所示.
圖4 運(yùn)動(dòng)視頻目標(biāo)輪廓檢測(cè)算法模型Fig.4 Model for contour detection algorithm of moving video object
2.3.2 算法過(guò)程和偽代碼
基于數(shù)學(xué)形態(tài)學(xué)后處理的運(yùn)動(dòng)視頻目標(biāo)輪廓采集算法,將Sobel算法獲取的運(yùn)動(dòng)視頻目標(biāo)粗輪廓圖像當(dāng)成輸入圖像,獲取運(yùn)動(dòng)視頻目標(biāo)輪廓的具體過(guò)程如下:
1) 將圖像I當(dāng)成輸入圖像,采用結(jié)構(gòu)向量對(duì)輸入圖像I進(jìn)行腐蝕運(yùn)算,清除尺寸為2的直線毛刺,將大小為2×2的“L”型毛刺以及田字型毛刺作為單個(gè)像素點(diǎn)進(jìn)行削減處理,獲取圖像E;
2) 采用尺寸為3×3的結(jié)構(gòu)向量對(duì)圖像E進(jìn)行兩次膨脹處理,確保被腐蝕的圖像I在第一次膨脹處理后向外延伸一像素寬度,在第二次膨脹處理后向外延伸一像素寬度,提升圖像的連通性,獲取圖像D;
3) 采用高速并行細(xì)化算法對(duì)圖像D進(jìn)行細(xì)化處理,采集圖像的骨架,得到骨架連通性高、線條平滑的運(yùn)動(dòng)視頻目標(biāo)輪廓圖像.
行政事業(yè)單位的內(nèi)部控制體制應(yīng)該以《行政事業(yè)單位內(nèi)部控制規(guī)范 (試行)》為核心依據(jù),結(jié)合各單位的實(shí)際發(fā)展和員工構(gòu)成情況,從每個(gè)細(xì)節(jié)入手,全面落實(shí)內(nèi)部控制的各項(xiàng)內(nèi)容。首先,單位應(yīng)該建立內(nèi)部控制標(biāo)準(zhǔn),通過(guò)這個(gè)標(biāo)準(zhǔn)的約束力實(shí)施檢測(cè)員工的工作情況和部門的運(yùn)行情況,在整個(gè)行政事業(yè)單位實(shí)行體制化的管理模式??茖W(xué)的內(nèi)部控制管理體系應(yīng)該遵循我國(guó)當(dāng)前經(jīng)濟(jì)發(fā)展的狀況,把握國(guó)家政策方針,以培養(yǎng)員工積極性和內(nèi)控意識(shí)為出發(fā)點(diǎn),按照當(dāng)今環(huán)境的需求進(jìn)行改革工作。
依據(jù)上述分析過(guò)程,實(shí)現(xiàn)該算法的偽代碼如下:
Begin
do加載實(shí)施運(yùn)動(dòng)視頻目標(biāo)檢測(cè)后的二值結(jié)構(gòu)圖像I;
fori=1:height
forj=1:weidth
do檢索二值結(jié)果圖像I內(nèi)各像素點(diǎn),通過(guò)結(jié)構(gòu)向量對(duì)圖像I進(jìn)行腐蝕處理,按照腐蝕結(jié)果在字典矩陣A內(nèi)存儲(chǔ)1和0(1用于描述該點(diǎn)是白色前景點(diǎn));
endfor
do按照字典矩陣A檢索二值結(jié)果圖像,并進(jìn)行賦值操作,獲取腐蝕圖像E;
whilecount<2 //count用于存儲(chǔ)膨脹值,原始值為0
fori=1:height
forj=1:weidth
do檢索操作后的結(jié)果圖像內(nèi)的各像素值,采用結(jié)構(gòu)向量實(shí)施膨脹處理,按照處理結(jié)果在字典矩陣A內(nèi)存儲(chǔ)1和0;
endfor
endfor
docount=count+1
endwhile// 設(shè)置兩次膨脹處理后獲取的圖像為D
do通過(guò)高速并行細(xì)化算法采集圖像D的骨架,獲取細(xì)化后的運(yùn)動(dòng)視頻目標(biāo)圖像R;
end
通過(guò)實(shí)驗(yàn)驗(yàn)證本文方法的性能,實(shí)驗(yàn)環(huán)境為windowsXP操作系統(tǒng),并配備一個(gè)監(jiān)控?cái)z像頭、一臺(tái)筆記本,采用VisualC++語(yǔ)言設(shè)計(jì)相關(guān)程序.
實(shí)驗(yàn)采用本文方法檢測(cè)運(yùn)動(dòng)視頻目標(biāo)粗輪廓圖像,采用Sobel算子對(duì)圖5a、b進(jìn)行操作后,獲取的運(yùn)動(dòng)視頻目標(biāo)粗輪廓圖像如圖5c所示.而采用幀差分法對(duì)圖5b進(jìn)行處理后,獲取的結(jié)果如圖5d所示.采用圖5d可實(shí)現(xiàn)運(yùn)動(dòng)視頻目標(biāo)的初步識(shí)別,因此,對(duì)邊緣輪廓圖像以及差分圖像進(jìn)行二值化處理,結(jié)果如圖5e、f所示,最終的檢測(cè)結(jié)果如圖5g所示.
圖5 改進(jìn)方法下輪廓粗檢測(cè)實(shí)驗(yàn)Fig.5 Rough contour detection experiment under improved method
可以看出,圖像的邊緣輪廓存在較多的毛刺和孤立點(diǎn),不夠清晰、完整.采用相鄰幀差法時(shí),在進(jìn)行粗檢測(cè)過(guò)程中,因周圍環(huán)境因素的影響,出現(xiàn)輪廓不清楚,外加干擾過(guò)多,輪廓粗且不精細(xì)等問(wèn)題,結(jié)果如圖6所示.
圖6 相鄰幀差法下輪廓粗檢測(cè)Fig.6 Rough contour detection based on adjacent frame difference method
將實(shí)驗(yàn)獲取的運(yùn)動(dòng)視頻目標(biāo)粗輪廓檢測(cè)結(jié)果當(dāng)成形態(tài)學(xué)后處理的運(yùn)動(dòng)視頻目標(biāo)輪廓精檢測(cè)實(shí)驗(yàn)的原始圖,對(duì)其進(jìn)行腐蝕操作,結(jié)果如圖7所示.
由圖7可知,為了處理腐蝕產(chǎn)生的圖像像素塊邊緣縮減現(xiàn)象,需要進(jìn)行一次膨脹操作,結(jié)果如圖7c所示.分析圖7a、c可知,通過(guò)一次腐蝕和一次膨脹操作,處理掉了運(yùn)動(dòng)汽車圖像中的毛刺,使圖像更為連通,而圖像通過(guò)二次膨脹操作后可使圖像的連通性更強(qiáng),不存在斷裂問(wèn)題.采用骨架采集方法獲取的精準(zhǔn)運(yùn)動(dòng)視頻目標(biāo)輪廓圖像如圖7e所示,可以看出最終獲取的運(yùn)動(dòng)視頻目標(biāo)輪廓圖像線條更為平滑,圖像更為完整.采用傳統(tǒng)相鄰幀差法時(shí),輪廓特征量少,且檢測(cè)點(diǎn)不全,導(dǎo)致輪廓不顯著,檢測(cè)結(jié)果精度差,適用性差,不適合高精度檢測(cè)使用,如圖8所示.
對(duì)比分析采用本文方法和相鄰幀差法進(jìn)行運(yùn)動(dòng)視頻目標(biāo)輪廓檢測(cè)的運(yùn)行效率,結(jié)果如圖9所示.由圖9可知,在運(yùn)動(dòng)視頻特征量變化的情況下,采用傳統(tǒng)相鄰幀差法時(shí),其檢測(cè)率一直處于不穩(wěn)定的狀態(tài),最高時(shí)達(dá)到了78.8%,但多處出現(xiàn)波動(dòng),忽高忽低,穩(wěn)定性較差;采用改進(jìn)方法時(shí),隨著視頻特征量的變化,檢測(cè)效率逐漸增加,且最高達(dá)到了99.1%,相比傳統(tǒng)相鄰幀差法提高了20.3%,且只有3處出現(xiàn)波動(dòng),穩(wěn)定性相比傳統(tǒng)相鄰幀差法要好得多,說(shuō)明本文方法極大地提高了運(yùn)動(dòng)視頻完整輪廓檢測(cè)的效率,具有一定的實(shí)用性及優(yōu)越性.
圖7 改進(jìn)方法下輪廓精檢測(cè)實(shí)驗(yàn)Fig.7 Contour fine detection experiment under improved method
圖8 相鄰幀差法下輪廓精檢測(cè)Fig.8 Fine contour detection based on adjacent frame difference method
本文提出了一種新的局部背景邊緣干擾下運(yùn)動(dòng)視頻完整輪廓檢測(cè)方法,基于Sobel算子的運(yùn)動(dòng)視頻目標(biāo)輪廓檢測(cè)算法獲取運(yùn)動(dòng)視頻目標(biāo)的粗輪廓,利用形態(tài)學(xué)后處理的運(yùn)動(dòng)視頻目標(biāo)輪廓精提取算法獲取運(yùn)動(dòng)視頻目標(biāo)的完整輪廓.分析實(shí)驗(yàn)檢測(cè)結(jié)果可以看出,本文方法能夠檢測(cè)出完整、準(zhǔn)確的運(yùn)動(dòng)視頻目標(biāo)輪廓,具有較高的檢測(cè)效率.
圖9 兩種方法檢測(cè)效率對(duì)比Fig.9 Comparison in detection efficiency between two methods