【正文】
計(jì)算 H 分量的顏色直方圖是否有新的一幀反向投影使用 Me a nshif t 搜索新的目標(biāo)窗口迭代搜索直到滿足條件獲得的目標(biāo)窗口作為下一幀的初始窗口位置結(jié)束是否圖 Meanshift 跟蹤算法流程圖 13 在窗口調(diào)整的過(guò)程中實(shí)際上也是窗口中心不斷的沿著概率密度梯度方向移動(dòng)的過(guò)程,移動(dòng)的步長(zhǎng)不僅與梯度的大小有關(guān),也與該點(diǎn)的概率密度有關(guān),在密度大的地方,更接近我們要找的概率密度的峰值, Meanshift 算法使得移動(dòng)的步長(zhǎng)小一些,相反,在密度小的地方,移動(dòng)的步長(zhǎng)就大一些,所以, Meanshift 算法是一個(gè)變步長(zhǎng)的梯度上升算法,或稱自適應(yīng)梯度上升算法。粒子通過(guò)一定的方式傳遞,其權(quán)值通過(guò)貝葉斯規(guī)則迭代更新。 Wk?1為系統(tǒng)噪聲, Vk 為觀測(cè)噪聲。 X = ∑ (Xi ? Wi)Ni=1 ,Y = ∑ (Yi ? Wi)Ni=1 ,( Xi,Yi)為粒子坐標(biāo), Wi為粒子權(quán)重,計(jì)算出的目標(biāo)位置即為( X, Y)。目標(biāo)跟蹤是一個(gè)比較復(fù)雜的問(wèn)題,比如某一場(chǎng)景中光線等的變化很可能會(huì)使目標(biāo)跟丟。 if (!frame) break。 //分離 hsv模式中的 hue分量 //判斷是否有要跟蹤的物體 if (track_object) { if(track_object 0) { cvSetImageROI( Hue, box )。 cvRectangle( histimg, cvPoint(i*bin_w,histimgheight), cvPoint((i+1)*bin_w,(int)(histimgheight val)), color, 1, 8, 0 )。 } } break。 default:couterrors!! 。 } //畫(huà)框 void draw_box(IplImage* img,CvRect rect) { cvRectangle(img,cvPoint(,),cvPoint(+ ,+),cvScalar(0xff,0xFF,0x00),3)。 Bin_Piexl[j].piexl = int(cvGetReal1D(histbins,i))。 } cvSetMouseCallback(example,my_mouse_callback)。在畢業(yè)設(shè)計(jì)的過(guò)程中,余老師幾乎每周都會(huì)詢問(wèn)我們的進(jìn)展情況,發(fā)現(xiàn)問(wèn)題后就會(huì)積極幫我們想辦法解決,并替我們安排下一周的任務(wù),為我們的畢業(yè)設(shè)計(jì)指明方向。 首先,特征的選擇, Meanshift 算法及粒子濾波算法給我們提供了一個(gè)很好的算法框架,而能真正使用和豐富這個(gè)框架的是目標(biāo)特征,特征的選擇至關(guān)重要,一個(gè)好的特征會(huì)使算法性能有很大的提高。 下面詳細(xì)介紹粒子濾波跟蹤算法的步驟: 1)初始化階段 讀入 視頻,如果是第一幀就等待用戶通過(guò)矩形框選取需要跟蹤的目標(biāo),同時(shí)計(jì)算跟蹤目標(biāo)的顏色特征,在此是把 RGB 空間轉(zhuǎn)換為 HSV 空間,同時(shí)根據(jù) H、 S、V值作出顏色直方圖,作為被比較的目標(biāo)特征。為求解貝葉斯推理的復(fù)雜積分,粒子濾波采用了蒙特卡洛抽樣方法,并采取重要性 重 采樣的方法來(lái)對(duì)目標(biāo)狀態(tài)進(jìn)行更好 采樣 。 17 3 粒子濾波算法的 實(shí)現(xiàn)與分析 引言 粒子濾波 由于 在 視覺(jué)跟蹤,機(jī)器人定位,機(jī)器學(xué)習(xí)和信號(hào)處理等眾多應(yīng)用有其重要的價(jià)值,因此在計(jì)算機(jī)視覺(jué)和模式識(shí)別領(lǐng)域得到了廣泛的研究 。i++) for(int j=。 Hue= cvCreateImage( cvGetSize(frame), 8, 1 )。 第二章 Meanshift 跟蹤算法的 實(shí)現(xiàn)與分析 。 目標(biāo)跟蹤技術(shù)簡(jiǎn)述 目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)中的經(jīng)典問(wèn)題,是指計(jì)算機(jī)或其它儀器設(shè)備依據(jù)某種算法對(duì)目標(biāo)進(jìn)行跟蹤和定位,并根據(jù)目標(biāo)的位置和動(dòng)向采取相應(yīng)措施。 計(jì)算機(jī)正在向智能化發(fā)展。此后出現(xiàn)了條帶全景圖 (Strip Panorama),由平移的相機(jī)連續(xù)拍攝普通窄視角圖像進(jìn)行拼接。二十世紀(jì) 80年代初光流法 (Optical Flow)被提出之后,動(dòng)態(tài)圖像序列分析進(jìn)入了 — 個(gè) 研究的高潮,其中對(duì)光流法的研究熱潮從其產(chǎn)生一直持續(xù)到了二十世紀(jì)90年代中期 [4]。中國(guó)在北京申奧成功后,為解決北京市的交通狀況,政府也在智能交通的研究上加大了投入力度。 關(guān)鍵詞 : 目標(biāo)跟蹤, Meanshift,粒子濾波 2 Two tracking algorithms’achievement based on panoramic video Abstract: Target tracking is a classic problem of puter vision study, it refers to a puter or other equipment uses an algorithm for target tracking and locating, and take the appropriate strategy based on the target’s location and movements. Recent years, target tracking is widely used in video surveillance, video encoding, and a variety of areas such as military engineering. The main object of this study is two targets tracking algorithms based on Meanshift and particle filtering. Meanshift algorithm is a modeling approach based on probability density statistic. In the tracking process, the target area is usually selected by the user in a video sequence, and establish the appropriate target histogram. Mean Shift algorithm move to the target centroid iteratively in subsequent frames to achieve the goal of tracking. particle filtering algorithm is a Bayesian filtering algorithm based on Monte Carlo simulation. sampling the target state, calculating the sample’s weights, finally using the weights to estimate the target’s state. This study uses the same video to test the tracking performance of the two algorithms, The result is the Meanshift algorithm with good realtime performance, but easy to lose the target in plex scenes, and the particle filter algorithm get the poor realtime performance when the initial selection box is large, but the tracking effect of plex background is good, and it’s not sensitive to the change of background. Key words: Object Tracking。 Meanshift。車輛的實(shí)時(shí)檢測(cè)與跟蹤技術(shù)是智能交通系統(tǒng)的重要技術(shù)之一,計(jì)算機(jī)在不需要人的干預(yù),或者只需要很少人干預(yù)的情況下,通過(guò)對(duì)攝像機(jī)拍錄的視頻序列進(jìn)行分析,實(shí)現(xiàn)車輛檢測(cè)與跟蹤,并在此基礎(chǔ)上分析和判斷車輛的行為,對(duì)車輛的行為給出語(yǔ)義描述,做到了既能完成日常管理,又能在發(fā)生異常情況時(shí)及時(shí)做出反應(yīng),從而提供了一種更加先進(jìn)和可行的監(jiān)控方案。但是, 即使在現(xiàn)階段,光流法所需的運(yùn)算量對(duì)計(jì)算機(jī)而言也是很大的,很難滿足實(shí)時(shí)性要求,同時(shí)由于采用假設(shè)的局限性使得光流法對(duì)噪聲特別敏感, 很容易產(chǎn)生錯(cuò)誤的結(jié)果,這些缺點(diǎn)造成光流法與實(shí)際使用之間還存在著很大的距離。例如,沿街拍攝一系列的水平圖像,處理后構(gòu)成類似清明上河圖的長(zhǎng)街景觀,可應(yīng)用于網(wǎng)上虛擬旅游、數(shù)字地圖等場(chǎng)合。讓機(jī)器像人一樣具有視覺(jué)是人類的一個(gè)夢(mèng)想, 機(jī)器擁有視覺(jué)功能對(duì)世界產(chǎn)生的影響怎么估計(jì)大概都不為過(guò)。其基本任務(wù)可簡(jiǎn)述為在視頻序列中對(duì)感興趣的目標(biāo)或?qū)ο蟮奈恢玫冗\(yùn)動(dòng)特征進(jìn)行有效的確定和估計(jì)。作為本文主要內(nèi)容之一,該章對(duì)Meanshift 的算法原理做了詳細(xì) 分析 ,并通過(guò)實(shí)驗(yàn),對(duì)算法性能做了深入分析和總結(jié)。 hist = cvCreateHist(1,amp。j=+width; j++) { M10+=i*I(i,j)。本質(zhì)上,粒子濾波是一種序貫蒙特卡洛方法,用來(lái)解決遞歸貝葉斯過(guò)濾問(wèn)題,它結(jié)合了強(qiáng)大的蒙特卡洛抽樣技術(shù)與貝葉斯推理。 隨后介紹了粒子濾波跟蹤算法的詳細(xì)過(guò)程 。 2)搜索階段 掌握目標(biāo)的特征后,我們就可以放出探測(cè)粒子去獲得不同位置的顏色信息,在此根據(jù)重要性采樣原則選用在上一幀得到的目標(biāo)附近按照高斯分布播撒粒子,即靠近目標(biāo)的地方粒子密度大,遠(yuǎn)離目標(biāo)的地方粒子密度小??梢哉f(shuō)目標(biāo)就是由顏色、紋理、結(jié)構(gòu)等各種特征組成的,然而,目前已用的目標(biāo)特征仍然無(wú)法完 成一些目標(biāo)的跟蹤任務(wù)。在這里再次感謝余老師和李新縣學(xué)長(zhǎng)的無(wú)私幫助。 //響應(yīng)鼠標(biāo)函數(shù)的回調(diào)函數(shù) cvCopy( frame, image, 0 )。 j++。 } //鼠標(biāo)函數(shù) void my_mouse_callback(int event,int x, int y, int flags, void *param) 32 { if (!image) return。break。 = 。 CvScalar color = hsv2rgb(i*)。 //將image圖像由 BGR模式轉(zhuǎn)換為 HSV模式 cvSplit(HSV,Hue,0,0,0)。