国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤

2011-09-07 10:17尹俊超劉直芳
關(guān)鍵詞:背景圖像目標(biāo)

尹俊超, 劉直芳,2

(1.四川大學(xué)計(jì)算機(jī)學(xué)院,四川成都610064;2.四川大學(xué)視覺(jué)合成圖形圖像技術(shù)國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,四川成都610064)

0 引 言

運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤技術(shù)在航空航天遙感、生物醫(yī)學(xué)、工業(yè)自動(dòng)化生產(chǎn)、軍事公安目標(biāo)偵查、智能機(jī)器人、多媒體電視制作、文化藝術(shù)等領(lǐng)域都有著非常廣泛的應(yīng)用,如由卡耐基梅隆大學(xué)(CMU)的機(jī)器人研究中心和Sarnoff公司歷時(shí)3年(1997--1999)共同開(kāi)發(fā)完成的視頻檢測(cè)追蹤(VSAM)系統(tǒng),用于自動(dòng)視頻檢測(cè)與追蹤,該系統(tǒng)既可以用到軍事上,也可以用在日常視頻監(jiān)控方面,這種系統(tǒng)的優(yōu)勢(shì)在于削減了人力資源的開(kāi)銷(xiāo),具有較大的商業(yè)價(jià)值。

近幾年,國(guó)內(nèi)外的學(xué)者在運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤問(wèn)題上,已經(jīng)提供了很多有效的方法,但是很多算法不能同時(shí)滿(mǎn)足實(shí)時(shí)性和精確性的要求,特別是在復(fù)雜場(chǎng)景下,當(dāng)多目標(biāo),遮擋,停走,光線(xiàn)變化的情況發(fā)生時(shí),目標(biāo)檢測(cè)和跟蹤實(shí)現(xiàn)起來(lái)會(huì)變得比較復(fù)。目前,常用的目標(biāo)檢測(cè)算法有背景差,幀間差,光流法,擴(kuò)展的EM算法,能量運(yùn)動(dòng)檢測(cè),基于數(shù)學(xué)形態(tài)學(xué)的檢測(cè)等[1];常用的目標(biāo)跟蹤算法有基于區(qū)域的跟蹤,基于運(yùn)動(dòng)估計(jì)的跟蹤,基于目標(biāo)模型的跟蹤和基于主動(dòng)輪廓的跟蹤等。

作者試圖基于現(xiàn)有的檢測(cè)和跟蹤算法,利用OpenCV圖形圖像開(kāi)發(fā)庫(kù),通過(guò)對(duì)各種算法的比較分析,針對(duì)不同環(huán)境條件,尋求一種解決多運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤的方案,能夠克服目標(biāo)部分被遮擋,停停走走和光線(xiàn)變化等因素對(duì)實(shí)驗(yàn)結(jié)果的影響,假設(shè)在本文實(shí)驗(yàn)中攝像頭是標(biāo)定的。

本文主要實(shí)現(xiàn)的目標(biāo)是對(duì)場(chǎng)景中的多個(gè)運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)并跟蹤,首先要提取出運(yùn)動(dòng)的目標(biāo),其次提取運(yùn)動(dòng)目標(biāo)特征(顏色,紋理,形狀),實(shí)施跟蹤算法,標(biāo)記出運(yùn)動(dòng)目標(biāo)軌跡。

1 OpenCV開(kāi)發(fā)平臺(tái)簡(jiǎn)介

OpenCV是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù)[2],它采用C/C++語(yǔ)言編寫(xiě),可以運(yùn)行在Linux/Windows/Mac等操作系統(tǒng)上。Open-CV還提供了Python,Ruby,Matlab以及其它語(yǔ)言的接口。Open-CV的設(shè)計(jì)目標(biāo)是執(zhí)行速度盡量快,主要關(guān)注實(shí)時(shí)應(yīng)用。它采用優(yōu)化的C代編寫(xiě),能夠充分利用多核處理器的優(yōu)勢(shì)。

OpenCV主體分為5個(gè)模塊,CV模塊包含基本的圖形處理函數(shù)和高級(jí)的計(jì)算機(jī)視覺(jué)算法。MLL是機(jī)器學(xué)習(xí)庫(kù),包含一些基于統(tǒng)計(jì)的分類(lèi)和聚類(lèi)工具。HighGUI包含圖像和視頻輸入/輸出的函數(shù)。CXCroe包含 OpenCV的一些基本數(shù)據(jù)結(jié)構(gòu)和相關(guān)函數(shù)[2]。

2 運(yùn)動(dòng)目標(biāo)檢測(cè)及跟蹤算法

2.1 檢測(cè)跟蹤整體思路

首先通過(guò)檢測(cè)算法從場(chǎng)景中檢測(cè)出運(yùn)動(dòng)目標(biāo),提取目標(biāo)特征信息(如顏色信息),與之前檢測(cè)出的目標(biāo)做特征比對(duì),如果是新目標(biāo)則加入到跟蹤序列中,如果是舊目標(biāo)則舍棄。目標(biāo)跟蹤階段,對(duì)跟蹤序列中的目標(biāo)采用跟蹤算法,獲得其運(yùn)動(dòng)軌跡。關(guān)鍵點(diǎn)在于目標(biāo)的特征信息提取和匹配,這是決定目標(biāo)跟蹤效果的重大因素。系統(tǒng)整體框架如圖1所示。

圖1 系統(tǒng)整體框架

2.2 運(yùn)動(dòng)目標(biāo)檢測(cè)算法

由于本實(shí)驗(yàn)是研究標(biāo)定攝像頭下的運(yùn)動(dòng)目標(biāo)檢測(cè),背景的變化不是很大,所以考慮采用幀間差法和背景差法。背景差是一種適合靜態(tài)場(chǎng)景的運(yùn)動(dòng)目標(biāo)檢測(cè)方法,它首先通過(guò)前幾幀圖像重構(gòu)背景圖像 (如果已有純背景圖像則不需要此操作),再將當(dāng)前幀和背景圖像做差,再對(duì)差圖進(jìn)行處理。幀間差通過(guò)視頻序列中的相隔一幀或幾幀兩幅圖像做差運(yùn)算來(lái)檢測(cè)圖像中的運(yùn)動(dòng)區(qū)域,這種方法適用于動(dòng)態(tài)變化的場(chǎng)景。然而這種方法也有一定的局限性,高速運(yùn)動(dòng)的目標(biāo)采用此方法會(huì)產(chǎn)生空洞或目標(biāo)被拉長(zhǎng),目標(biāo)靜止時(shí)無(wú)法檢測(cè)到目標(biāo)。圖2表示了采用這兩種方法獲取目標(biāo)的流程,圖(a)、圖(b)分別為背景差和幀間差提取目標(biāo)。

背景重構(gòu)就是采用圖像分割技術(shù)提取出不包含目標(biāo)對(duì)象的背景技術(shù),其關(guān)鍵是如何實(shí)時(shí)更新背景模型以適應(yīng)背景的變化。本文實(shí)驗(yàn)中采用混合高斯背景模型來(lái)重構(gòu)和更新背景。

根據(jù)文獻(xiàn)[3]介紹的方法,本文用K(3≤K≤5)個(gè)高斯分布函數(shù)來(lái)表示場(chǎng)景中的每一個(gè)像素點(diǎn)的分布,那么特定像素點(diǎn)在時(shí)間N的像素值可以被表示為

圖2 運(yùn)用減法提取目標(biāo)框架

通過(guò)以上方法得到背景圖像之后做差得到差圖像,然后對(duì)差圖進(jìn)行一系列的圖像處理,包括:平滑處理,形態(tài)學(xué)膨脹,腐蝕,二值化操作,輪廓提取。但是并不是所有的輪廓都是由目標(biāo)產(chǎn)生的,有些是目標(biāo)的子輪廓或者是噪聲產(chǎn)生的輪廓,因此必須對(duì)輪廓進(jìn)行篩選,淘汰偽目標(biāo)的輪廓,把目標(biāo)輪廓篩選出來(lái)后加入到跟蹤隊(duì)列。

2.3 運(yùn)動(dòng)目標(biāo)跟蹤算法

目標(biāo)跟蹤是在已知目標(biāo)圖像或已知目標(biāo)特征信息(顏色,形狀,紋理等)的前提下,利用目標(biāo)有效特征值,使用適當(dāng)?shù)钠ヅ渌惴?,在序列圖中尋找與目標(biāo)模板相似圖像的位置。

MeanShift算法在一組數(shù)據(jù)的密度分布中尋找局部極值,對(duì)數(shù)據(jù)局部窗口中的點(diǎn)進(jìn)行處理,處理完成后再移動(dòng)窗口,重復(fù)直到窗口的位置不能再移動(dòng)過(guò)為止,如圖3所示。

圖3 MeanShift算法流程

CamShift(continuously apaptive mean-shift),與 MeanShift不同的是它的搜索窗口會(huì)自動(dòng)調(diào)整尺寸[4],它對(duì)所有幀作Mean-Shift運(yùn)算,并將上一幀的結(jié)果(即窗口的中心和大小)作為下一幀MeanShift算法的窗口的初始值,如此迭代下去,就可以實(shí)現(xiàn)對(duì)目標(biāo)的跟蹤如果有一個(gè)易于分割的分布,此算法可以根據(jù)目標(biāo)在靠近或遠(yuǎn)離攝像機(jī)時(shí)目標(biāo)尺寸的變化自動(dòng)調(diào)節(jié)窗口尺寸。

2.4 目標(biāo)檢測(cè)跟蹤實(shí)現(xiàn)

結(jié)合以上所述的運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤算法,在OpenCV平臺(tái)下實(shí)現(xiàn)目標(biāo)的檢測(cè)跟蹤流程如圖4所示。

在OpenCV運(yùn)動(dòng)目標(biāo)檢測(cè)算法的實(shí)現(xiàn)主要是調(diào)用現(xiàn)有的文件,本文主要的工作是將背景重構(gòu)模型函數(shù)增加在目標(biāo)檢測(cè)算法中,即定義了CvGaussBGModel類(lèi)用于存放高斯混合模型的各個(gè)參數(shù),調(diào)用此函數(shù)構(gòu)造混合高斯背景模型。

圖4 實(shí)現(xiàn)目標(biāo)檢測(cè)跟蹤的流程

在運(yùn)動(dòng)目標(biāo)跟蹤中,主要利用OpenCV中CamShift算法來(lái)實(shí)現(xiàn),跟蹤過(guò)程中的關(guān)鍵就是生成色彩概率分布圖,如圖5所示。用在cvCalcBackProject處理中的模板是目標(biāo)圖像色調(diào)(HUE)的直方圖,而直方圖可以看作是一種概率分布圖。在處理前,目標(biāo)圖像中的每一個(gè)像素的值描述的在這一點(diǎn)的顏色信息,而處理后,圖像中每一個(gè)像素的值就變成了這個(gè)顏色信息出現(xiàn)在此處的可能性的一種離散化的度量,出現(xiàn)的可能性大,像素值就大,反之則小。這樣就為后面的匹配和跟蹤提供了線(xiàn)索。

圖5 目標(biāo)色彩概率分布

3 實(shí)驗(yàn)結(jié)果及分析

本文實(shí)驗(yàn)的數(shù)據(jù)來(lái)源是攝像頭拍攝到的實(shí)驗(yàn)室固定場(chǎng)景視頻序列圖像和來(lái)自網(wǎng)上的PETS 2006 Benchmark Data[16]。背景差的關(guān)鍵步驟在于背景圖像的重構(gòu),通過(guò)CvGaussBGStat-ModelParams結(jié)構(gòu)體可以設(shè)置各個(gè)參數(shù)的值,本文實(shí)驗(yàn)采用的默認(rèn)參數(shù),如表1所示。

通過(guò)表1和圖6可發(fā)現(xiàn),混合高斯模型有方差和均值兩個(gè)參數(shù)決定,對(duì)均值和方差的學(xué)習(xí),采取不同的學(xué)習(xí)機(jī)制,將直接影響到模型的穩(wěn)定性、精確性和收斂性。由于場(chǎng)景可能是變化的,需要對(duì)高斯模型中方差和均值兩個(gè)參數(shù)實(shí)時(shí)更新。為提高模型的學(xué)習(xí)能力,改進(jìn)方法對(duì)均值和方差的更新采用不同的學(xué)習(xí)率;為提高在繁忙的場(chǎng)景下,大而慢的運(yùn)動(dòng)目標(biāo)的檢測(cè)效果,引入權(quán)值均值的概念,建立背景圖像并實(shí)時(shí)更新,然后結(jié)合權(quán)值、權(quán)值均值和背景圖像對(duì)像素點(diǎn)進(jìn)行前景和背景的分類(lèi),這對(duì)背景的提取精度起很大的作用。

圖6 不同參數(shù)下重構(gòu)的背景圖像

通過(guò)圖7實(shí)驗(yàn)結(jié)果不難看出,背景差法的優(yōu)點(diǎn)是得到的目標(biāo)區(qū)域連通性好,缺點(diǎn)是它對(duì)背景變化比較敏感,細(xì)小的背景變化都會(huì)產(chǎn)生很大的噪聲,同時(shí)提取純背景圖像要花費(fèi)一定的時(shí)間。通過(guò)圖8可以發(fā)現(xiàn),幀間差的優(yōu)點(diǎn)是運(yùn)算簡(jiǎn)單,算法效率高,實(shí)時(shí)性較好,可用于動(dòng)態(tài)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè),缺點(diǎn)是是不適用于運(yùn)動(dòng)目標(biāo)走走停停的情況,當(dāng)運(yùn)動(dòng)目標(biāo)速度較慢或較大時(shí),得到的目標(biāo)輪廓可能會(huì)不完整或沿著目標(biāo)的運(yùn)動(dòng)方向被拉長(zhǎng)。

圖7 背景差目標(biāo)檢測(cè)效果

圖8 幀間差目標(biāo)檢測(cè)效果

運(yùn)動(dòng)目標(biāo)的跟蹤算法的種類(lèi)有很多,不同的算法在不同的環(huán)境下精確度,魯棒性不同,CamShift算法可以適應(yīng)目標(biāo)大小的變化,前提是目標(biāo)的顏色特征比較明顯并且不會(huì)發(fā)生大的變化,圖9是跟蹤效果圖,綠色框里的目標(biāo)顏色單一,所以CamShift算法跟蹤不到,體現(xiàn)了這種算法的局限性。

圖9 跟蹤效果

當(dāng)然目標(biāo)運(yùn)動(dòng)過(guò)程中可能會(huì)發(fā)生很多情況,如目標(biāo)被障礙物部分遮擋或者目標(biāo)之間相互遮擋,如圖9里面的目標(biāo)被柱子遮擋之后就失去了跟蹤。這些問(wèn)題作者將繼續(xù)研究。

4 結(jié)束語(yǔ)

運(yùn)動(dòng)目標(biāo)的檢測(cè)跟蹤算法的種類(lèi)有很多,不同的算法在不同的環(huán)境下魯棒性不同,本實(shí)驗(yàn)中采用了幀間差和背景差作為目標(biāo)檢測(cè)的方法,主要難點(diǎn)在于當(dāng)多個(gè)目標(biāo)存在于場(chǎng)景中時(shí)如何判斷哪一個(gè)或一些是第一次出現(xiàn)的目標(biāo),本實(shí)驗(yàn)采用目標(biāo)面積,坐標(biāo)篩選法,認(rèn)為從場(chǎng)景最上面出現(xiàn)的目標(biāo)視為新目標(biāo),并加入到跟蹤隊(duì)列。檢測(cè)是跟蹤的前提,檢測(cè)結(jié)果的精確性直接影響到跟蹤的可靠性。CamShift算法可以適應(yīng)目標(biāo)大小的變化,前提是目標(biāo)的顏色未發(fā)生大的變化,當(dāng)然目標(biāo)運(yùn)動(dòng)過(guò)程中可能會(huì)發(fā)生很多情況,如目標(biāo)被障礙物部分遮擋或者目標(biāo)之間相互遮擋,針對(duì)這些問(wèn)題學(xué)者們?cè)谂で蠼鉀Q辦法。本課題只是對(duì)目標(biāo)檢測(cè)跟蹤基本原理和方法的實(shí)驗(yàn)驗(yàn)證,并對(duì)其結(jié)果進(jìn)行了理論性和功能性上的分析。

表1 不同參數(shù)下重構(gòu)背景的效果比較

[1]王江濤.基于視頻的目標(biāo)檢測(cè),跟蹤及行為識(shí)別研究[D].南京:南京理工大學(xué)模式識(shí)別與智能系統(tǒng),2008.

[2]Gary Bradski,Adrian Kaebler.學(xué)習(xí) OpenCV(中文版)[M].北京:清華大學(xué)出版社,2009:100-380.

[3]Stauffr C,Grimson W.Adaptive background mixture models for real-time tracking[C].Ft Collins,CO,USA:Proceeding of Computer Visio and Pattern Recognition,1999:246-252.

[4]BorgM,Thirde D,Ferryman J,et al.Videosurveillance for aircraft activity monitoring[C].IEEE Conference on Advanced Video and Signal Based Surveillance,2005.

[5]熊令,洪健.基于OpenCV的視頻對(duì)象的運(yùn)動(dòng)檢測(cè)[J].電子測(cè)試,2009,25(9):91-93.

[6]黃鑫娟,周潔敏,劉伯揚(yáng).自適應(yīng)混合高斯背景模型的運(yùn)動(dòng)目標(biāo)檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2010,30(1):71-74.

[7]宋濤,馬宇峰,藺海峰.OpenCV在目標(biāo)跟蹤中的應(yīng)用及實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2009,24(2):52-56.

[8]岡薩雷斯.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2007.

[9]陳兆學(xué),鄭建立,施鵬飛.基于Mean Shift方法的視頻車(chē)輛檢測(cè)與分割[J].上海理工大學(xué)學(xué)報(bào),2007,29(2):195-199.

[10]朱虹.數(shù)字圖像處理基礎(chǔ)[M].北京:科學(xué)出版社,2005:168-171.

[11]張旭光,孫巍.復(fù)雜背景下運(yùn)動(dòng)目標(biāo)的提取[J].光電工程,2006,33(4):10-131.

[12]覃劍.視頻序列中的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤研究[D].重慶:重慶大學(xué)通信與信息系統(tǒng),2008.

[13]王爽,段紅,黃友銳.基于改進(jìn)的活動(dòng)輪廓模型在圖像分割中的應(yīng)用[J].微計(jì)算機(jī)信息,2008,25(1):274-275.

[14]張宏志,張金換,岳卉,等.基于CamShift的目標(biāo)跟蹤算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(11):2012-2014.

[15]劉雪,常發(fā)亮,王華杰.基于改進(jìn)Camshift算法的視頻對(duì)象跟蹤方法[J].微計(jì)算機(jī)信息,2007,24(21):297-298.

[16]James M Ferryman.Ninth IEEE international workshop on performance evaluation of tracking and surveillance(PETS 2006)[OL].http://www.cvg.reading.ac.uk/PETS2006/data.html,2006.

猜你喜歡
背景圖像目標(biāo)
“新四化”背景下汽車(chē)NVH的發(fā)展趨勢(shì)
《論持久戰(zhàn)》的寫(xiě)作背景
巧用圖像中的點(diǎn)、線(xiàn)、面解題
黑洞背景知識(shí)
有趣的圖像詩(shī)
遙感圖像幾何糾正中GCP選取
趣味數(shù)獨(dú)等4則
新目標(biāo)七年級(jí)(下)Unit?。尘毩?xí)(一)
新目標(biāo)七年級(jí)(下)Unit 4練習(xí)(一)
(新目標(biāo))七年級(jí)下Unit?。本毩?xí)(二)
玉门市| 六安市| 剑河县| 边坝县| 周宁县| 迁安市| 沅江市| 孝义市| 旺苍县| 牡丹江市| 英德市| 玉门市| 阜康市| 读书| 辽宁省| 衢州市| 丹江口市| 浦县| 长沙县| 郓城县| 曲阳县| 沙田区| 巴中市| 石城县| 微博| 三门峡市| 富阳市| 湟中县| 电白县| 沁水县| 沅陵县| 刚察县| 长岭县| 阳山县| 称多县| 兴和县| 都匀市| 内丘县| 育儿| 勃利县| 汶上县|