999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

點(diǎn)云數(shù)據(jù)的凹陷體判定算法

2022-01-28 03:01:02楊作威
關(guān)鍵詞:定義區(qū)域實(shí)驗(yàn)

楊作威 車 明

(天津大學(xué)智能與計(jì)算學(xué)部 天津 300350)

0 引 言

物體具有長(zhǎng)、寬、高的三維物理尺寸。然而,大多數(shù)顯示技術(shù)仍然屬于二維顯示技術(shù),包含一些深度線索,但缺乏深度信息,這將導(dǎo)致人眼的深度、動(dòng)態(tài)和視差功能的退化[1]。因此人類的大腦需要獲取完全符合三維真實(shí)物體的信息,也就是三維信息。體三維顯示是三維顯示領(lǐng)域的重要研究方向,為人類視覺系統(tǒng)提供生理和心理深度信息以感知3D對(duì)象,可允許多個(gè)觀察者同時(shí)從不同角度觀察到同一三維場(chǎng)景的不同側(cè)面[2]。但是當(dāng)體三維顯示系統(tǒng)處理帶凹陷體的點(diǎn)云數(shù)據(jù)時(shí),由于凹陷體區(qū)域無法正確判定,導(dǎo)致對(duì)應(yīng)區(qū)域的顏色缺失,會(huì)影響體三維系統(tǒng)的顯示效果。而現(xiàn)有的相關(guān)點(diǎn)云處理算法主要是對(duì)點(diǎn)云邊界的判定與處理。3D點(diǎn)云中邊界的提取方法可分為兩類,分別是基于網(wǎng)格的方法和直接基于點(diǎn)的方法。基于網(wǎng)格的方法可以通過網(wǎng)格之間的拓?fù)潢P(guān)系來識(shí)別邊界[3-8]。Jun[5]利用邊界三角網(wǎng)格的相鄰三個(gè)網(wǎng)格中至少一個(gè)為空的原理確定種子邊界點(diǎn),再通過跟蹤獲得閉環(huán)邊界邊,但是無法區(qū)分模型外邊界和內(nèi)部空洞邊界。Huang等[6]首先對(duì)點(diǎn)云構(gòu)建tin網(wǎng)格,初始化一個(gè)最大邊界,再通過設(shè)立網(wǎng)格邊長(zhǎng)閾值逐步縮小邊界邊,最終得到精確的點(diǎn)云邊界,該算法適合于處理復(fù)雜形狀的點(diǎn)云數(shù)據(jù)。直接基于點(diǎn)的方法首先找到每個(gè)點(diǎn)的鄰居,然后通過計(jì)算點(diǎn)的幾何屬性如法向量、密度等以確定邊界[9-14]。丁承君等[10]首先構(gòu)造點(diǎn)云kd樹拓?fù)浣Y(jié)構(gòu),通過RANSAC算法尋找種子點(diǎn)確定平面,并找出感興趣區(qū)域,最后通過k鄰域點(diǎn)的法線夾角與閾值對(duì)比確定邊界點(diǎn)。Gai等[11]使用二維相位圖和每個(gè)點(diǎn)的相鄰區(qū)域來確定邊界,然后使用邊界點(diǎn)的行和列坐標(biāo)刪除輪廓點(diǎn)。陸帆等[12]首先將每個(gè)目標(biāo)點(diǎn)及其相鄰點(diǎn)投影到平面上,然后計(jì)算反距離權(quán)重和點(diǎn)云密度來確定其是否為邊界特征點(diǎn),但是算法依賴加權(quán)權(quán)重的選取。除此之外,Bao等[15]借助3D laser scanner將三維點(diǎn)云映射到二維range圖像中,利用圖像處理中的canny算子得到點(diǎn)云邊界,但是算法無法區(qū)分內(nèi)外邊界。

現(xiàn)有的點(diǎn)云邊界算法只能識(shí)別孔洞或點(diǎn)云的邊界,缺乏對(duì)凹陷體判定的研究,因此,本文工作如下:(1)提出了凹陷體的定義,并為之做出了形象化的描述;(2)根據(jù)凹陷體的空間特性,提出了基于空間連通性原理的凹陷體判定算法,為點(diǎn)云中凹陷體的判定提出了一種解決方案;(3)通過實(shí)驗(yàn)驗(yàn)證了算法的可行性并對(duì)未來的應(yīng)用前景做出了展望。

1 凹陷體判定算法

1.1 凹陷體定義

本文將凹陷體定義以y軸作為高度軸,凹陷體是指處于點(diǎn)云模型中,或不含點(diǎn)的空間,凹陷體與點(diǎn)云外界區(qū)域相被點(diǎn)所包圍,且高度值低于點(diǎn)云中周圍點(diǎn)的高度變化趨勢(shì),含少量點(diǎn)連通。如圖1所示,圖1(a)為點(diǎn)云數(shù)據(jù),圖1(b)三部分點(diǎn)云分別包裹的區(qū)域即為凹陷體,而點(diǎn)云內(nèi)部的空洞由于不與外界連通,不屬于凹陷體。本文針對(duì)該問題提出了PCDD算法以求出點(diǎn)云中的各個(gè)凹陷體,為后續(xù)的應(yīng)用打下基礎(chǔ)。

(a)點(diǎn)云數(shù)據(jù) (b)凹陷體邊界圖1 點(diǎn)云凹陷體示意圖

1.2 凹陷體判定算法原理

凹陷體判定算法流程如圖2所示。

圖2 凹陷體判定算法流程

1.2.1點(diǎn)云體素化

1)確定點(diǎn)云體素化分割大小。計(jì)算出點(diǎn)云數(shù)據(jù)在x、y、z軸上的范圍,分別記作range_x、range_y、range_z。取三者其中的最小值記作min并將其k等分,其他兩個(gè)方向上按照相同比例進(jìn)行分割,其中k取決于實(shí)驗(yàn)經(jīng)驗(yàn)值。

2)構(gòu)建外表面層作為凹陷體正確性判定依據(jù)。由于在點(diǎn)云數(shù)據(jù)中,點(diǎn)只分布于實(shí)體邊界周圍而實(shí)體內(nèi)部通常是沒有點(diǎn)的,因此在本文的算法處理過程中模型內(nèi)部的空洞也會(huì)被判定為凹陷體。對(duì)于這種模型本身的空洞及模型所包含的真實(shí)凹陷體如果不加以區(qū)分的話會(huì)造成判定錯(cuò)誤。因此,本文考慮到真實(shí)的凹陷體是與點(diǎn)云外界區(qū)域相連通的原理,通過在點(diǎn)云的外表面附加一層體素來作為連通性判定的依據(jù)。將y軸作為點(diǎn)云數(shù)據(jù)的高度軸,點(diǎn)云體素化示意圖如圖3所示。

圖3 點(diǎn)云體素化示意圖

3)定義體素及平面區(qū)域結(jié)構(gòu)體。對(duì)于每一個(gè)體素,本文定義其結(jié)構(gòu)體如下:

struct VOXEL

{

introw,col,height;

//體素所處的空間位置坐標(biāo):行,列,高度

intsize;

//體素包含的點(diǎn)個(gè)數(shù)

intlabel;

//label為-2表示體素內(nèi)包含點(diǎn)數(shù)大于閾值,label為-1表示

//體素為判別連通性的附加表面層,label為0表示體素包含點(diǎn)

//數(shù)小于閾值,label為大于0的自然數(shù)表示屬于各個(gè)不同凹陷

//體。初始狀態(tài)下體素label只有0、-1、-2三種

}

同時(shí)在xz平面方向上定義結(jié)構(gòu)體:

struct grid

{

intmax_height;

//該區(qū)域的最大高度

VOXEL *voxel;

//存儲(chǔ)該區(qū)域在高度方向上的體素,

//數(shù)組大小為round(range_y×k/min)+1

}

4)定義點(diǎn)云中點(diǎn)的空間位置。計(jì)算每個(gè)點(diǎn)所處的體素位置,記第i個(gè)點(diǎn)的三維坐標(biāo)為(xi,yi,zi),記整個(gè)點(diǎn)云文件的x、y、z最小值分別為x_min、y_min、z_min,第i點(diǎn)所處矩陣的行:

round((zi-z_min)/(range_z/round(range_z×k/min)))+1

點(diǎn)所處矩陣的列:

round((xi-x_min)/(range_x/round(range_x×k/min)))+1

點(diǎn)所處每個(gè)矩陣的體素?cái)?shù)組下標(biāo)即高度。

round((yi-y_min)/(range_y/round(range_y×k/min)))+1

為了防止計(jì)算結(jié)果越界,當(dāng)三個(gè)參數(shù)大于約束的范圍時(shí),將對(duì)應(yīng)值減一即可。

1.2.2確定點(diǎn)云凹陷體素集合

本文確定一個(gè)體素是否可能屬于凹陷體的判斷原理主要有以下兩點(diǎn):

(1)以y軸作為點(diǎn)云的高度軸,該體素包含點(diǎn)數(shù)少于閾值且低于所處對(duì)應(yīng)xz平面grid區(qū)域上的最高點(diǎn)。

(2)該體素包含點(diǎn)數(shù)少于閾值并對(duì)于該體素做xz平面上的切面,在如圖4所示的8個(gè)方向上向外延伸,存在4個(gè)及以上方向被非空體素所阻隔。

圖4 體素判定原理圖

圖4為xz平面上的切面圖,帶*的方塊表示label為-2即包含點(diǎn)數(shù)大于閾值的體素,不含任何標(biāo)記的方塊表示包含點(diǎn)數(shù)小于閾值的體素。

因此在遍歷體素過程中,首先判斷體素的label值,如果label值為0,判斷其是否低于該平面區(qū)域上的最高點(diǎn),若結(jié)果為true,放入凹陷判定集合Q;否則,對(duì)該體素在xz切面的8個(gè)方向上依次延伸,設(shè)當(dāng)前正在進(jìn)行處理的體素為I,如圖4中帶I標(biāo)記的方塊所示。以斜右上方方向?yàn)槔O(shè)體素I所處的空間中的行、列、高為I.row、I.col、I.height,依次判斷(I.row+i,I.col+i,I.height)處的體素label值是否為-2即判斷在延伸的過程中是否會(huì)碰到label為-2的體素,其中i為自然數(shù)。其他7個(gè)方向同理,若在4個(gè)及以上方向均滿足條件,則放入集合Q。

按照上述判斷原理進(jìn)行判斷,形成凹陷體判定集合Q進(jìn)行下一步判定。

1.2.3凹陷體素集合分割與判定

對(duì)集合Q采取基于連通性原理的區(qū)域增長(zhǎng)思想進(jìn)行處理,設(shè)初始組數(shù)s=1,定義集合LK來存儲(chǔ)各個(gè)凹陷體的體素。

(1)取出Q中未處理的體素,如果label為0,更改其label值為s并放入LK中。

(2)判斷Q中是否存在與當(dāng)前LK內(nèi)體素相鄰的元素,即在行、列、高三個(gè)方向上存在兩者相等,另一個(gè)相差為1。若存在則將label修改為s,加入到LK中。

(3)按照第二步中規(guī)則繼續(xù)處理新加入LK的體素直至找不到相鄰的體素,清空LK,s++并重復(fù)第一步直到Q中所有體素均遍歷完畢。

1.2.4凹陷體正確性判定

對(duì)于分割出的各個(gè)凹陷體,按照如下兩種方式進(jìn)行正確性判定:

1)凹陷體大小。有些判別結(jié)果所包含體素個(gè)數(shù)較小,表示這部分區(qū)域占模型的比例較小或者屬于噪聲區(qū)域,對(duì)結(jié)果的影響不大,因此本文通過定義組成凹陷體的體素個(gè)數(shù)與組成點(diǎn)云模型體積的體素個(gè)數(shù)的比值的一定比例作為閾值來篩選掉此類結(jié)果。

2)凹陷體連通性。經(jīng)過該方法計(jì)算出的凹陷體中包含有模型內(nèi)部的空洞,這是通過三維重建等方法獲取點(diǎn)云的必然結(jié)果,因?yàn)辄c(diǎn)云中的點(diǎn)只分布于實(shí)體邊界周圍而實(shí)體內(nèi)部沒有點(diǎn),因此按照本文算法,實(shí)體內(nèi)部的區(qū)域也會(huì)被計(jì)算為凹陷體即假凹陷體。本文建立模型的外部附加層,以各個(gè)凹陷體與附加層的體素相鄰的個(gè)數(shù)作為閾值進(jìn)行判定。

1.2.5計(jì)算凹陷體邊界

對(duì)于計(jì)算出的各個(gè)正確凹陷體,本文通過判斷組成凹陷體的各個(gè)相鄰體素判定其邊界點(diǎn)。

對(duì)于組成凹陷體I的體素q,如果q在空間上的6個(gè)直接相鄰體素中存在label為-2的體素,則該體素內(nèi)的點(diǎn)即屬于該凹陷的邊界,通過遍歷凹陷體的組成體素可以得到完整的邊界點(diǎn)。依次對(duì)各個(gè)凹陷體進(jìn)行同樣處理可以得到對(duì)應(yīng)的邊界點(diǎn)集合。

2 實(shí) 驗(yàn)

本文應(yīng)用C++語(yǔ)言,借助visual studio 2013實(shí)現(xiàn)了上述算法。由于現(xiàn)有的研究中均是對(duì)點(diǎn)云數(shù)據(jù)邊界或是孔洞邊界的提取,缺乏對(duì)點(diǎn)云中凹陷體的判定研究,缺少相關(guān)的實(shí)驗(yàn)結(jié)果,無法進(jìn)行對(duì)比。因此本文自行構(gòu)建了兩個(gè)帶凹陷體的點(diǎn)云對(duì)算法進(jìn)行測(cè)試。通過將點(diǎn)云文件分割成近60 000個(gè)體素得到的實(shí)驗(yàn)數(shù)據(jù)結(jié)果如圖5、圖6所示,本文借助Meshlab軟件對(duì)處理的結(jié)果進(jìn)行顯示。圖5(a)所示的實(shí)驗(yàn)數(shù)據(jù)中共包含三個(gè)凹陷體,圖6(a)所示的實(shí)驗(yàn)數(shù)據(jù)中包含六個(gè)凹陷體,在圖5(b)、圖6(b)中均被正確地識(shí)別出來,實(shí)驗(yàn)結(jié)果中的點(diǎn)表示各個(gè)凹陷體的邊界。點(diǎn)云數(shù)據(jù)內(nèi)部的空洞由于不符合與外界連通的原則,則被排除。實(shí)驗(yàn)結(jié)果證明了本文算法的可行性,其可以穩(wěn)定地判定出點(diǎn)云數(shù)據(jù)中的凹陷體。

(a)實(shí)驗(yàn)數(shù)據(jù) (b)實(shí)驗(yàn)結(jié)果圖5 實(shí)驗(yàn)1

(a)實(shí)驗(yàn)數(shù)據(jù)

3 結(jié) 語(yǔ)

本文考慮到體三維顯示系統(tǒng)無法正確顯示帶凹陷的點(diǎn)云數(shù)據(jù)問題,首先對(duì)凹陷體概念作了規(guī)范化定義,并根據(jù)凹陷體的屬性特征提出了點(diǎn)云凹陷體判定算法PCDD,實(shí)驗(yàn)結(jié)果證明了算法的可行性。點(diǎn)云凹陷體能夠應(yīng)用于三維顯示領(lǐng)域及CAD領(lǐng)域,體三維顯示系統(tǒng)可以通過模擬透過凹陷體觀察到的顏色來實(shí)現(xiàn)更真實(shí)的三維顯示效果,CAD領(lǐng)域可以通過對(duì)凹陷體的精確把握實(shí)現(xiàn)高精度的模型設(shè)計(jì),有很好的應(yīng)用價(jià)值與發(fā)展前景。

猜你喜歡
定義區(qū)域實(shí)驗(yàn)
記一次有趣的實(shí)驗(yàn)
做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
太空探索(2016年5期)2016-07-12 15:17:55
關(guān)于四色猜想
分區(qū)域
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
基于嚴(yán)重區(qū)域的多PCC點(diǎn)暫降頻次估計(jì)
修辭學(xué)的重大定義
山的定義
主站蜘蛛池模板: 人妻丰满熟妇AV无码区| 丰满的少妇人妻无码区| 国产福利一区在线| 国产91麻豆免费观看| 亚洲欧美不卡| 这里只有精品在线播放| 国产超碰在线观看| 亚洲高清无在码在线无弹窗| 国产玖玖玖精品视频| 国产一级无码不卡视频| 欧美色视频在线| 精品国产污污免费网站| 国产在线视频二区| 亚洲无码视频图片| 欧美亚洲国产一区| 呦视频在线一区二区三区| 四虎影视8848永久精品| 国产无码网站在线观看| 国产精品密蕾丝视频| 国产欧美精品一区aⅴ影院| 国产成a人片在线播放| 欧美日韩午夜| 国产一区二区三区在线观看免费| 毛片网站在线看| 少妇人妻无码首页| 亚洲成人在线免费| 精品福利网| yjizz视频最新网站在线| 国产毛片一区| 中文成人在线| 自拍偷拍欧美日韩| 亚洲精品视频在线观看视频| 在线99视频| 国产97视频在线观看| 中文一级毛片| 91一级片| 不卡的在线视频免费观看| 精品天海翼一区二区| 精品综合久久久久久97超人| 国产欧美日韩91| 国产微拍一区| 日韩在线欧美在线| 精品小视频在线观看| 日韩毛片免费观看| 欧美翘臀一区二区三区| 97se亚洲综合| 亚洲色图欧美一区| 538精品在线观看| 日本福利视频网站| jijzzizz老师出水喷水喷出| 亚洲欧美成人影院| 丁香婷婷久久| 99re视频在线| 精品久久久久无码| 日本欧美精品| 在线日韩日本国产亚洲| 91在线视频福利| 视频二区国产精品职场同事| 免费无遮挡AV| 91丨九色丨首页在线播放| 亚洲三级成人| 亚洲a级在线观看| 一级毛片网| 日韩国产亚洲一区二区在线观看| 日日拍夜夜操| 91精品免费高清在线| 免费国产福利| 高清不卡毛片| a亚洲视频| 色爽网免费视频| 亚洲精品国产精品乱码不卞| 人人爽人人爽人人片| 免费一级毛片在线播放傲雪网| 久久伊人色| 91福利免费| 91精品啪在线观看国产91| 自拍中文字幕| 色综合五月婷婷| 最新精品久久精品| 九九热精品视频在线| 亚洲三级网站| 992tv国产人成在线观看|