freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

目標(biāo)檢測(cè)與跟蹤技術(shù)研究及實(shí)現(xiàn)畢業(yè)論文(參考版)

2025-06-25 16:10本頁(yè)面
  

【正文】 致 謝論文完成之際,我要感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師李旭超老師。采用Mean Shift算法也實(shí)現(xiàn)了快速跟蹤。通過實(shí)驗(yàn)證明,通過以上方法能夠很好地實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的檢測(cè)與跟蹤。在科技、生活等諸多領(lǐng)域有非常好的應(yīng)用前景,本文對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤原理進(jìn)行研究,把運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤分為兩個(gè)部分即目標(biāo)的實(shí)時(shí)檢測(cè)和目標(biāo)的實(shí)時(shí)跟蹤來分析,目標(biāo)檢測(cè)部分分為靜止背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)和動(dòng)態(tài)背景下的目標(biāo)檢測(cè),靜態(tài)目標(biāo)檢測(cè)方法采用了幀間差分法和背景相減法的結(jié)合的方法。實(shí)驗(yàn)結(jié)果如下:圖(45)形心法跟蹤效果圖 圖(46)形心法跟蹤效果圖圖(47)形心法跟蹤效果圖 圖(48)形心法跟蹤效果圖這種基于形心法的跟蹤方法計(jì)算簡(jiǎn)單、穩(wěn)定性好,稍加改進(jìn),對(duì)多目標(biāo)的檢測(cè)跟蹤也有不錯(cuò)的效果。 } return win。 if(iLine) = iLine。 M10bh+=j。 if(sGray[k]sThreshold) { iLine++。isWidthEDGE_SPACE。j++) { iLine = 0。 for(j=EDGE_SPACE。 int M10bh = 0。 int M00bh = 0。 = 0。 = 0。/*GravityTrack函數(shù)說明:形心法目標(biāo)跟蹤程序*/GravityTrack (unsigned char* sGray, int sWidth, int sHeight, int sThreshold){ WININFO win。形心跟蹤算法的類名為GravityTrack。由于計(jì)算形心的整個(gè)過程就是一個(gè)先統(tǒng)計(jì)再平均的過程,它計(jì)算出的跟蹤點(diǎn)不是最亮的點(diǎn),而是圖像中灰度加權(quán)平均的位置。 (413)經(jīng)過二值化處理就能分割出圖像中的目標(biāo)像元,再根據(jù)分割出的全體目標(biāo)像元位置數(shù)據(jù)和目標(biāo)像元的總點(diǎn)數(shù),計(jì)算出目標(biāo)的形心。這時(shí),可把閾值取為一個(gè)隨圖像中位置緩慢變化的函數(shù),自適應(yīng)閾值的的二值化處理可以很好地處理這個(gè)問題。(2) 自適應(yīng)閾值通常情況,背景的灰度并不是恒定的,在圖像中物體與背景的對(duì)比度是不斷變化的。(1) 全局閾值化在圖像中,將灰度閾值設(shè)置為常數(shù)是最簡(jiǎn)單最常用的閾值確定邊界的方法。其關(guān)鍵是找出閾值。對(duì)于場(chǎng)景,選用合適的閾值,然后對(duì)圖像進(jìn)行二值化處理。在后續(xù)幀中采用同樣的方法處理。 基本理論利用形心法進(jìn)行目標(biāo)跟蹤的前提是估計(jì)出目標(biāo)在當(dāng)前幀可能出現(xiàn)的位置,因?yàn)樵谙噜弮蓭羞\(yùn)動(dòng)目標(biāo)出現(xiàn)的位置具有相關(guān)性,因此可通過上一幀中的目標(biāo)檢測(cè)的結(jié)果或者目標(biāo)運(yùn)趨勢(shì)來進(jìn)行估計(jì),也可以人為給定跟蹤的初始參數(shù),然后估計(jì)當(dāng)前幀中目標(biāo)所在的區(qū)域并進(jìn)行閾值分割,分割出目標(biāo)像素,即如果圖像區(qū)域像素大于某個(gè)閾值T,則認(rèn)為這個(gè)像素術(shù)語(yǔ)目標(biāo),否則認(rèn)為屬于背景。MeanShiftTrackProcess(frameBuffer,index)Mean Shift進(jìn)行運(yùn)動(dòng)目標(biāo)跟蹤的實(shí)驗(yàn)結(jié)果如下: 圖(41)Mean Shift算法目標(biāo)跟蹤 圖(42)Mean Shift算法目標(biāo)跟蹤圖(43)Mean Shift算法目標(biāo)跟蹤 圖(44)Mean Shift算法目標(biāo)跟蹤在算法中,相似度函數(shù)衡量了目標(biāo)模式的匹配程序,Mean Shift算法迭代過程的目的是實(shí)現(xiàn)快速算法。則以下的形式調(diào)用初始化Mean Shift過程:InitMeanShiftTracker(frameBuffer,width,width,targetX,targetY,targetWidth,targetHeight)在后續(xù)幀中,調(diào)用MeanShiftTrackProcess函數(shù)進(jìn)行MeanShift的目標(biāo)跟蹤過程。 return dis。i HISTOGRAM_LENGTH 。 }}/*函數(shù)CalculateBhattacharyya說明:計(jì)算Bhattachryya*/Float MeanShiftSegger::CalculateBhattacharyya( float initHistogram [HISTOGRAM_LENGTH],float tempHistogram[HISTOGRAM_LENGTH]){ float dis = 0。 frame[j * imgWidth * 3 + min(imgWidth 1,currentX + trackWinWidth) * 3 + 1] = 0。 frame[j * imgWidth * 3 + currentX * 3 + 2] = 255。 j ++) { frame[j * imgWidth * 3 + currentX * 3 + 0] = 0。 } for(int j = currentY。 frame[min(imgHeight 1,currentY + trackWinHeight) * imgWidth * 3 + i * 3 + 1] = 0。 frame[currentY * imgWidth * 3 + i * 3 + 2] = 255。 i ++) { frame[currentY * imgWidth * 3 + i * 3 + 0] = 0。 }}/*DrawTrackBox函數(shù)說明:在輸出中畫跟蹤窗口*/void MeanShiftSegger::DrawTrackBox(unsigned char* frame){ for(int i = currentX。 //獲得新位置 //更新直方圖 iteratorCoumt++。,thiscurrHistogram)。 while(iteratorCoumt stopThreshold){ //在后續(xù)幀中檢測(cè)目標(biāo)新位置 CalculateHistogramSp(frame,39。 } else { int stopThreshold = 10。U39。 } return。 } } if(sumOfWeights != 0){ currentX = int((newX/sumOfWeights) + )。 newY += (weights[ptr] * (float)j)。 int ptr = (int)(256 * (int)r + 16 * (int)g + (int)b)。 pixel g = frame[j * imgWidth * 3 + i * 3 + 1] / 16。 i min(currentX + trackWinWidth / 2,imgWidth 1)。j min(currentY + trackWinHeight / 2,imgHeight 1)。 } float sumOfWeights = 。i++) { if (currHistogram[i] ) weights[i] = (float)tempHistogram[i]/(float)currHistogram[i]。 for (int i=0。 float newX = 。 } return pxValue。 i ++) histogram[i] /= pxValue。 } } for(int i = 0。 histogram[256 * (int)r + 16 * (int)g + (int)b] += 1。 pixel g = frame[j * imgWidth * 3 + i * 3 + 1] / 16。 i min(currentX + trackWinWidth / 2,imgWidth 1)。j min(currentY + trackWinHeight / 2,imgHeight 1)。U39。 i++) histogram[i] = 0。 for(int i = 0 。 thistrackWinWidth = targetWidth。 thiscurrentY = targetPosY。 thisimgHeight = frameHeight。 return。 //SetZeroHistogram(currHistogram)。 //memset(currHistogram,0,sizeof(float) * HISTOGRAM_LENGTH)。 i HISTOGRAM_LENGTH。 i ++) currHistogram[i] = 0。 Mean shift類的實(shí)現(xiàn)include include /*MeanShiftSegger()函數(shù)說明:構(gòu)造函數(shù) */MeanShiftSegger::MeanShiftSegger():imgWidth(0),imgHeight(0){ for(int i = 0。 //根據(jù)當(dāng)前跟蹤窗口的大小和目標(biāo)位置繪制跟蹤窗 void DrawTrackBox(unsigned char* frame)。 //Mean Shift 迭代過程 void MeanShiftProcessSp(unsigned char * frame)。 //設(shè)置目標(biāo)位置 void InitMeanShiftTracker(unsigned char* firstFrame,int frameWidth,int frameHeight,int targetPosX,int targetPosY,int targetWidth,int targetHeight)。 //當(dāng)前直方圖 float tempHistogram[HISTOGRAM_LENGTH]。 //當(dāng)前目標(biāo)橫坐標(biāo) int currentY。 //窗口寬度 int trackWinHeight。 //圖像寬度 int imgHeight。 ~MeanShiftSegger()。ifndef MEANSHIFTSEGGER_H_INCLUDEdefine MEANSHIFTSEGGER_H_INCLUDEdefine HISTOGRAM_LENGTH 4096 //直方圖長(zhǎng)度typedef unsigned char pixel。7) 當(dāng)停止,否則,執(zhí)行第1步。5) 更新,估計(jì)。3) 計(jì)算得到。分析式可以看出,上式類比于核密度估計(jì)函數(shù),只多了,通過Mean shift算法進(jìn)行迭代計(jì)算,求得最大,以下為具體步驟:1) 設(shè)目標(biāo)模型的分布為,目標(biāo)的估計(jì)位置為。為了使得達(dá)到最大,在當(dāng)前幀圖像中,以前一幀中的目標(biāo)中心位置作起始位置,從起始位置開始求最優(yōu)的匹配位置,這里中心為。定義如下: (410)在之間,值越大,說明兩個(gè)模型相似程度越高。如果用表示候選區(qū)域像素,用候選模型來體現(xiàn)候選區(qū)域,那么它的特征值的概率度: (49)式中:——標(biāo)準(zhǔn)化系數(shù)。上式中函數(shù)中能夠去除不同面積計(jì)算時(shí)的影響。因?yàn)檎趽趸蛘弑尘暗挠绊?,目?biāo)模型中心周圍的像素相比于其他部分像素更為可靠,所以可對(duì)目標(biāo)不同位置的像素賦不同權(quán)值,即遠(yuǎn)離中心的位置像素可以賦一個(gè)小值,而鄰近中心的位置像素可以賦一個(gè)大值。令,對(duì)式(44)求取密度梯度,經(jīng)過運(yùn)算可得均值偏移向量,公式如下: (45) 運(yùn)動(dòng)目標(biāo)跟蹤中的Mean Shift算法 目標(biāo)模型因?yàn)閳D像序列的直方圖能夠不受目標(biāo)形狀變化的影響,獲得顏色的出現(xiàn)概率,所以Mean Shift用顏色的直方圖作目標(biāo)特征描述,設(shè)目標(biāo)區(qū)域中心點(diǎn)為,目標(biāo)在圖像中的像素位置可以表示為。把輪廓函數(shù)引入后,核密度估計(jì)就可以改寫成如下形式: (44)上述表達(dá)式是Mean Shift算法中經(jīng)常使用,能夠比較精確地計(jì)算出特征值的概率密度。在維歐式空間中,給定n個(gè)點(diǎn),i=1,…,n和一個(gè)正定的帶寬矩陣H,使用核的多變量核密度估計(jì)為: (42)帶寬矩陣H的兩種通用的形式如下:一種形式為對(duì)角陣,為;另一種形式是比例單位矩陣,為。假設(shè)一組一維的數(shù)據(jù)點(diǎn)的集合,未知的概率密度函數(shù)設(shè)為,核函數(shù)設(shè)為,計(jì)算在x點(diǎn)處的密度公式如下: (41)式中:——是核函數(shù)的帶寬;——核函數(shù)的中心點(diǎn)這里可以得出結(jié)論:核密度估計(jì)就是將以每個(gè)采樣點(diǎn)為中心單位局部函數(shù)的平均作為該采樣點(diǎn)概率密度函數(shù)的估計(jì)值。Mean shift是一種無參密度度計(jì)算法,參數(shù)密度估計(jì)方法要求特征空間服從一個(gè)已知的概率密度函數(shù)。復(fù)雜背景指的是背景較為復(fù)雜并且背景與目標(biāo)無明顯灰度差的場(chǎng)景。但如果對(duì)差分圖像進(jìn)行相乘運(yùn)算,圖像的噪聲被大大消減,很容易將目標(biāo)檢測(cè)出來。大于閾值的像素將被認(rèn)為是目標(biāo)區(qū)域,用白色表示并通過frame1輸出。在每過一幀到都會(huì)調(diào)用PrepareData函數(shù),并以幀數(shù)據(jù)作為參數(shù)數(shù)。 } } delete[] mul。 if(mul[j*frameWidth +i] targetThreshold) { frame1[j * frameWidth +
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1