




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、KD 樹(shù)算法KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) SIFT算法中做特征點(diǎn)匹配的時(shí)候就會(huì)利用到k-d樹(shù)。而特征點(diǎn)匹配實(shí)際上就是一個(gè)通過(guò)距離函數(shù)在高維矢量之間進(jìn)行相似性檢索的問(wèn)題。針對(duì)如何快速而準(zhǔn)確地找到查詢(xún)點(diǎn)的近鄰,現(xiàn)在提出了很多高維空間索引結(jié)構(gòu)和近似查詢(xún)的算法,k-d樹(shù)就是其中一種。背景KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) Kd-樹(shù)是對(duì)數(shù)據(jù)點(diǎn)在k維空間(如二維(x,y),三維(x,y,z),k維(
2、x1,y,z.))中劃分的一種數(shù)據(jù)結(jié)構(gòu),主要應(yīng)用于多維空間關(guān)鍵數(shù)據(jù)的搜索(如:范圍搜索和最近鄰搜索)。本質(zhì)上說(shuō),Kd-樹(shù)就是一種平衡二叉樹(shù)。KD樹(shù)的定義 比如kd樹(shù)按照一定的劃分規(guī)則把這個(gè)三維空間劃分了多個(gè)空間,如下圖所示:KD樹(shù)的定義KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) KD樹(shù)構(gòu)建的偽代碼如下圖所示:KD樹(shù)的構(gòu)建 假設(shè)有6個(gè)二維數(shù)據(jù)點(diǎn)(2,3),(5,4),(9,6),(4,7),(8,1),(7,2),數(shù)據(jù)點(diǎn)位于二維空間內(nèi),如下圖所示。KD樹(shù)的構(gòu)建 確定:split域=x。具體是:6個(gè)數(shù)據(jù)點(diǎn)
3、在x,y維度上的數(shù)據(jù)方差分別為39,28.63,所以在x軸上方差更大,故split域值為x; 確定:Node-data = (7,2)。具體是:根據(jù)x維上的值將數(shù)據(jù)排序,6個(gè)數(shù)據(jù)的中值(所謂中值,即中間大小的值)為7,所以Node-data域位數(shù)據(jù)點(diǎn)(7,2)。這樣,該節(jié)點(diǎn)的分割超平面就是通過(guò)(7,2)并垂直于:split=x軸的直線(xiàn)x=7; 確定:左子空間和右子空間。具體是:分割超平面x=7將整個(gè)空間分為兩部分:x=7的部分為左子空間,包含3個(gè)節(jié)點(diǎn)=(2,3),(5,4),(4,7);另一部分為右子空間,包含2個(gè)節(jié)點(diǎn)=(9,6),(8,1); 如上算法所述,kd樹(shù)的構(gòu)建是一個(gè)遞歸過(guò)程,我們對(duì)
4、左子空間和右子空間內(nèi)的數(shù)據(jù)重復(fù)根節(jié)點(diǎn)的過(guò)程就可以得到一級(jí)子節(jié)點(diǎn)(5,4)和(9,6),同時(shí)將空間和數(shù)據(jù)集進(jìn)一步細(xì)分,如此往復(fù)直到空間中只包含一個(gè)數(shù)據(jù)點(diǎn)。KD樹(shù)的構(gòu)建KD樹(shù)的構(gòu)建KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) 元素插入到一個(gè)K-D樹(shù)的方法和二叉檢索樹(shù)類(lèi)似。本質(zhì)上,在偶數(shù)層比較x坐標(biāo)值,而在奇數(shù)層比較y坐標(biāo)值。當(dāng)我們到達(dá)了樹(shù)的底部,(也就是當(dāng)一個(gè)空指針出 現(xiàn)),我們也就找到了結(jié)點(diǎn)將要插入的位置。生成的K-D樹(shù)的形狀依賴(lài)于結(jié)點(diǎn)插入時(shí)的順序。給定N個(gè)點(diǎn),其中一個(gè)結(jié)點(diǎn)插入和檢索的平均代價(jià)是 O(lo
5、g2N)。KD樹(shù)的插入 插入順序?yàn)?a) Chicago, (b) Mobile, (c) Toronto, and (d) Buffalo,建立空間K-D樹(shù)的示例:KD樹(shù)的插入KD樹(shù)的插入KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) KD樹(shù)的刪除可以用遞歸程序來(lái)實(shí)現(xiàn)。我們假設(shè)希望從K-D樹(shù)中刪除結(jié)點(diǎn)(a,b)。如果(a,b)的兩個(gè)子樹(shù)都為空,則用空樹(shù)來(lái)代替(a,b)。否則,在 (a,b)的子樹(shù)中尋找一個(gè)合適的結(jié)點(diǎn)來(lái)代替它,譬如(c,d),則遞歸地從K-D樹(shù)中刪除(c,d)。一旦(c,d)已經(jīng)被刪除,則
6、用(c,d)代替 (a,b)。假設(shè)(a,b)是一個(gè)X識(shí)別器,那么,它得替代節(jié)點(diǎn)要么是(a,b)左子樹(shù)中的X坐標(biāo)最大值的結(jié)點(diǎn),要么是(a,b)右子樹(shù)中x坐標(biāo)最小值的結(jié)點(diǎn)。KD樹(shù)的刪除 如下圖所示,原始圖像及對(duì)應(yīng)的kd樹(shù),現(xiàn)在要?jiǎng)h除圖中的A結(jié)點(diǎn)KD樹(shù)的刪除 要?jiǎng)h除上圖中結(jié)點(diǎn)A,選擇結(jié)點(diǎn)A的右子樹(shù)中X坐標(biāo)值最小的結(jié)點(diǎn),這里是C,C成為根,如下圖:KD樹(shù)的刪除 從C的右子樹(shù)中找出一個(gè)結(jié)點(diǎn)代替先前C的位置,如下圖所示:KD樹(shù)的刪除 這里是D,并將D的左子樹(shù)轉(zhuǎn)為它的右子樹(shù),D代替先前C的位置,如下圖:KD樹(shù)的刪除 在D的新右子樹(shù)中,找X坐標(biāo)最小的結(jié)點(diǎn),這里為H,H代替D的位置,KD樹(shù)的刪除 在D的右子樹(shù)中
7、找到一個(gè)Y坐標(biāo)最小的值,這里是I,將I代替原先H的位置,從而A結(jié)點(diǎn)從圖中順利刪除,如下圖所示:KD樹(shù)的刪除KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD樹(shù)的插入c)KD樹(shù)的刪除d) KD樹(shù)的最近鄰搜索算法總結(jié)KD 樹(shù) k-d樹(shù)查詢(xún)算法的偽代碼如下所示:KD樹(shù)的最近鄰搜索算法 查詢(xún)點(diǎn)(查詢(xún)點(diǎn)(2 2,4.54.5),步驟如下:,步驟如下: 同樣先進(jìn)行二叉查找,先從 (7,2)查找到(5,4)節(jié)點(diǎn),在進(jìn)行查找時(shí)是由y = 4為分割超平面的,由于查找點(diǎn)為y值為4.5,因此進(jìn)入右子空間查找到(4,7),形成搜索路徑,但 (4,7)與目標(biāo)查找點(diǎn)的距離為3.202,而(5,4)與
8、查找點(diǎn)之間的距離為3.041,所以(5,4)為查詢(xún)點(diǎn)的最近點(diǎn);KD樹(shù)的最近鄰搜索算法 以(2,4.5)為圓心,以3.041為半徑作圓,如下圖所示??梢?jiàn)該圓和y = 4超平面交割,所以需要進(jìn)入(5,4)左子空間進(jìn)行查找,也就是將(2,3)節(jié)點(diǎn)加入搜索路徑中得;于是接著搜索至(2,3)葉子節(jié)點(diǎn),(2,3)距離(2,4.5)比(5,4)要近,所以最近鄰點(diǎn)更新為(2,3),最近距離更新為1.5;KD樹(shù)的最近鄰搜索算法 回溯查找至(5,4),直到最后回溯到根結(jié)點(diǎn)(7,2)的時(shí)候,以(2,4.5)為圓心1.5為半徑作圓,并不和x = 7分割超平面交割,如下圖所示。至此,搜索路徑回溯完,返回最近鄰點(diǎn)(2,3),最近距離1.5。KD樹(shù)的最近鄰搜索算法KD樹(shù)的最近鄰搜索算法KD樹(shù)的應(yīng)用背景什么是KD樹(shù)KD樹(shù)的基本操作a) KD樹(shù)的構(gòu)建b) KD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同約定下的業(yè)務(wù)外包勞動(dòng)關(guān)系探討
- 跨國(guó)電商合作合同:共拓全球市場(chǎng)新機(jī)遇
- 購(gòu)銷(xiāo)合同(私人購(gòu)銷(xiāo))
- 土地使用權(quán)買(mǎi)賣(mài)合同書(shū)
- 跨國(guó)公司勞動(dòng)合同書(shū)標(biāo)準(zhǔn)合同
- 標(biāo)準(zhǔn)版家居裝修合同樣本大全
- 公司個(gè)人股份轉(zhuǎn)讓合同書(shū)
- 企業(yè)購(gòu)銷(xiāo)合同示例一
- 企業(yè)借用人才服務(wù)合同
- 品牌授權(quán)加盟合同標(biāo)準(zhǔn)文本
- 新概念第二冊(cè)Lesson-1-A-private-conversation-課件
- 確有專(zhuān)長(zhǎng)人員從事傳統(tǒng)醫(yī)學(xué)臨床實(shí)踐年限證明
- 特殊工種操作人員體檢表
- 2022年上海市學(xué)業(yè)水平考試生命科學(xué)試卷含答案
- 2022浙江農(nóng)林大學(xué)博士入學(xué)考試英語(yǔ)
- 廣發(fā)銀行防范詐騙安全提示
- 雙碳視角看歐盟綠色新政政策篇
- 備電綜合解決方案服務(wù)合同
- 煤礦礦安全監(jiān)測(cè)監(jiān)控系統(tǒng)的選型設(shè)計(jì)
- 樣板引路專(zhuān)項(xiàng)方案計(jì)劃
- 往復(fù)式壓縮機(jī)組單機(jī)試運(yùn)方案
評(píng)論
0/150
提交評(píng)論