陳冠華, 李博, 朱錚濤
(1.廣東工業(yè)大學(xué)機(jī)電工程學(xué)院, 廣州 510006; 2.電子科技大學(xué)中山學(xué)院機(jī)電工程學(xué)院, 中山 528402)
近年來(lái),隨著國(guó)民生活水平的提高和消費(fèi)觀念的轉(zhuǎn)變,市場(chǎng)對(duì)空調(diào)的需求量越來(lái)越大??照{(diào)工作時(shí),必須使空氣不斷進(jìn)入多層薄片狀換熱器的翅片間進(jìn)行熱交換,并將放熱后變冷的空氣送出,實(shí)現(xiàn)制冷效果??照{(diào)的換熱結(jié)構(gòu)通常由多組不同外形、角度的散熱器拼裝組成,在拼裝的連接處有比較大的V形槽縫隙,為避免空氣從縫隙中流走降低換熱效率,空調(diào)制造企業(yè)會(huì)在縫隙處裝入密封膠條或者注入膠體。目前市場(chǎng)上常見的自動(dòng)化點(diǎn)膠裝置,其運(yùn)動(dòng)軌跡與自動(dòng)化控制方式均缺乏柔性,無(wú)法應(yīng)用于散熱器自動(dòng)化點(diǎn)膠。能否準(zhǔn)確識(shí)別出空調(diào)散熱器的V形槽部分是完成自動(dòng)化點(diǎn)膠工作的基礎(chǔ),為實(shí)現(xiàn)提取出散熱器V形槽區(qū)域以便于后續(xù)點(diǎn)膠軌跡的擬合,現(xiàn)重點(diǎn)研究面向空調(diào)散熱器點(diǎn)云數(shù)據(jù)的數(shù)據(jù)精簡(jiǎn)以及散熱器V形槽的語(yǔ)義分割。
原始點(diǎn)云的數(shù)據(jù)量龐大、冗余,如果直接對(duì)原始點(diǎn)云數(shù)據(jù)進(jìn)行操作,會(huì)有處理時(shí)間過(guò)長(zhǎng)的問(wèn)題。點(diǎn)云的數(shù)據(jù)精簡(jiǎn)處理是實(shí)現(xiàn)后續(xù)點(diǎn)云處理的重要步驟,點(diǎn)云精簡(jiǎn)后的數(shù)據(jù)結(jié)果會(huì)直接影響到后續(xù)點(diǎn)云處理的速度、準(zhǔn)確度等,因此對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行精簡(jiǎn)是必要的。文獻(xiàn)[1]根據(jù)目標(biāo)點(diǎn)的K近鄰點(diǎn)云密度構(gòu)建K-近鄰長(zhǎng)方體,依據(jù)長(zhǎng)方體的扁平程度進(jìn)行篩選,結(jié)合分段采樣去除大量冗余點(diǎn)和少量密集特征點(diǎn)。文獻(xiàn)[2]將K-means聚類方法與均方根曲率相結(jié)合,能較多地刪減冗余點(diǎn)云數(shù)據(jù),達(dá)到精簡(jiǎn)點(diǎn)云的目的。文獻(xiàn)[3]針對(duì)殘缺點(diǎn)云數(shù)據(jù)精簡(jiǎn)時(shí)邊界特征容易失真的問(wèn)題,提出一種利用法向量夾角選取初始特征點(diǎn),根據(jù)歐式距離搜索鄰域點(diǎn),再將數(shù)據(jù)點(diǎn)劃分為特征點(diǎn)和非特征點(diǎn),對(duì)非特征點(diǎn)采用曲率精簡(jiǎn),最后將精簡(jiǎn)的數(shù)據(jù)與特征點(diǎn)合并的數(shù)據(jù)精簡(jiǎn)方法,達(dá)到保留邊界及孔洞領(lǐng)域特征點(diǎn)并且對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行精簡(jiǎn)的目的。文獻(xiàn)[4]提出一種利用曲率特征將點(diǎn)云分為平坦區(qū)域和非平坦區(qū)域,再對(duì)不同區(qū)域采用不同精簡(jiǎn)方法的算法,對(duì)于防止特征細(xì)節(jié)的丟失有較好的效果。文獻(xiàn)[5]通過(guò)計(jì)算點(diǎn)云數(shù)據(jù)點(diǎn)主曲率的Hausdorff距離提取特征點(diǎn),然后通過(guò)K-means聚類算法提取非特征區(qū)域的特征點(diǎn),將兩次提取的特征點(diǎn)融合達(dá)到數(shù)據(jù)精簡(jiǎn)的目的。上述點(diǎn)云數(shù)據(jù)精簡(jiǎn)算法的優(yōu)點(diǎn)是能夠較好地保留點(diǎn)云的特征信息的前提下精簡(jiǎn)點(diǎn)云數(shù)量。
空調(diào)散熱器的點(diǎn)云由兩塊平坦的點(diǎn)云以一定的夾角組成,兩塊平坦點(diǎn)云的內(nèi)部與邊緣區(qū)域特征相似,兩塊點(diǎn)云的夾角,即V形槽區(qū)域的特征并不突出。針對(duì)上述問(wèn)題,現(xiàn)提出一種算法對(duì)點(diǎn)云邊緣區(qū)域與內(nèi)部區(qū)域采用不同體素大小的降采樣,使得點(diǎn)云內(nèi)部與邊緣區(qū)域的特征具有較為明顯的區(qū)別。
對(duì)于點(diǎn)云分割,近年來(lái)隨著硬件設(shè)備以及神經(jīng)網(wǎng)絡(luò)的發(fā)展,發(fā)展較快的是利用深度學(xué)習(xí)方法來(lái)對(duì)點(diǎn)云進(jìn)行處理的方法[6-7]。目前利用深度學(xué)習(xí)處理點(diǎn)云的方向主要有3種。第一種是利用成熟的2D-CNN技術(shù),對(duì)三維的點(diǎn)云數(shù)據(jù)進(jìn)行處理[8-10],該方法是將三維物體投影到多個(gè)二維視圖中,再將二維視圖輸入網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。雖然多視圖數(shù)據(jù)包含的信息量很多,但是在投影過(guò)程中會(huì)有可能丟失幾何信息。第二種是基于體素的方法[11-12],該方法參考了二維深度學(xué)習(xí)直接對(duì)像素進(jìn)行卷積的操作,在三維空間中劃分固定大小的網(wǎng)格,將點(diǎn)云分配到每個(gè)體素網(wǎng)格中,用3D卷積核對(duì)體素進(jìn)行卷積操作。由于體素網(wǎng)格的稀疏特性,使得大量的卷積計(jì)算是無(wú)用的,浪費(fèi)了大量算力,且三維卷積的計(jì)算成本過(guò)高,在處理大規(guī)模點(diǎn)云時(shí)的速度較慢。第三種是基于點(diǎn)云的網(wǎng)絡(luò)[13-15],該方法直接將點(diǎn)云數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,利用多層感知機(jī)(multilayer perceptron,MLP)單獨(dú)對(duì)每個(gè)點(diǎn)進(jìn)行運(yùn)算。文獻(xiàn)[13]是首個(gè)應(yīng)用該方法的工作,PointNet將點(diǎn)云輸入MLP中提取特征,再通過(guò)最大池化函數(shù)生成一個(gè)1 024維的全局特征,進(jìn)而依據(jù)全局特征進(jìn)行分類和分割工作。
對(duì)于PointNet網(wǎng)絡(luò)的改進(jìn),文獻(xiàn)[16]利用Spider卷積與殘差網(wǎng)絡(luò)來(lái)獲取點(diǎn)云特征,提升了點(diǎn)云分類和分割的精度。文獻(xiàn)[17]提出一個(gè)基于注意力機(jī)制的分?jǐn)?shù)細(xì)化模塊,將初始分割結(jié)果通過(guò)近鄰點(diǎn)的分?jǐn)?shù)與注意力權(quán)重合并,提高了分割的總平均交并比。文獻(xiàn)[18]將K近鄰算法與PointNet結(jié)合,引入局部特征,提高了網(wǎng)絡(luò)的點(diǎn)云分割精度。上述針對(duì)PointNet的改進(jìn)都能夠明顯提升點(diǎn)云分割的精度,文獻(xiàn)[19]提出網(wǎng)絡(luò)模型輕量化,提高網(wǎng)絡(luò)運(yùn)行速度是點(diǎn)云分割未來(lái)的研究方向之一。目前有不少研究著重于引入注意力機(jī)制與復(fù)雜的編碼器、卷積等結(jié)合的方法,來(lái)提高網(wǎng)絡(luò)分割精度,但忽略了網(wǎng)絡(luò)復(fù)雜度的提升和訓(xùn)練時(shí)間大幅提高的缺點(diǎn)。在原版的PointNet網(wǎng)絡(luò)中,變換網(wǎng)絡(luò)T-Net占用了大量的參數(shù),但提升的性能并不大,同時(shí)其采用的最大池化函數(shù)會(huì)導(dǎo)致特征信息的損失過(guò)大。
針對(duì)上述問(wèn)題,遵循輕量化以及優(yōu)化特征損失的思路,通過(guò)去除變換網(wǎng)絡(luò)T-Net模塊以及引入平均池化的方法構(gòu)建雙池化的方式,以減少PointNet網(wǎng)絡(luò)的參數(shù)量以及提升其分割性能。
針對(duì)空調(diào)散熱器原始點(diǎn)云龐大以及點(diǎn)云邊緣區(qū)域特征不突出的問(wèn)題,現(xiàn)設(shè)計(jì)一種算法對(duì)點(diǎn)云邊緣區(qū)域與內(nèi)部區(qū)域采用不同體素大小的降采樣,在精簡(jiǎn)點(diǎn)云數(shù)量的同時(shí),突出點(diǎn)云邊緣區(qū)域的特征。針對(duì)變換網(wǎng)絡(luò)占用參數(shù)量大以及最大池化丟失信息的問(wèn)題,在PointNet的基礎(chǔ)上去除了變換網(wǎng)絡(luò),并且在最大池化的基礎(chǔ)上引入平均池化,構(gòu)建雙池化方式彌補(bǔ)信息丟失的問(wèn)題。通過(guò)以上工作,期望能夠分割出較為準(zhǔn)確的散熱器V形槽區(qū)域點(diǎn)云為后續(xù)的點(diǎn)膠軌跡提取提供準(zhǔn)確的區(qū)域定位。
散熱器的點(diǎn)云如圖1所示,其由兩塊傾斜平面以一定的夾角組成。需要分割出來(lái)的V形槽邊緣區(qū)域與平面內(nèi)部區(qū)域點(diǎn)云之間沒有明顯的區(qū)分特征。采用算法將平面內(nèi)部區(qū)域的點(diǎn)云進(jìn)行更大體素的降采樣,突出散熱器點(diǎn)云V形槽邊緣區(qū)域的特征。算法流程如圖2所示,將經(jīng)過(guò)預(yù)處理后的點(diǎn)云進(jìn)行二維化,之后通過(guò)邊緣提取[20]與K鄰域查找將邊緣區(qū)域點(diǎn)云與內(nèi)部區(qū)域點(diǎn)云分別提取出來(lái),對(duì)內(nèi)部區(qū)域點(diǎn)云進(jìn)行進(jìn)一步的降采樣處理。
圖1 散熱器點(diǎn)云
圖2 內(nèi)部點(diǎn)云二次精簡(jiǎn)算法流程
由于所采用的LJ-X8200線激光傳感器采集到的原始點(diǎn)云數(shù)據(jù)為15 360 000點(diǎn),原始數(shù)據(jù)存在著背景點(diǎn)云、離散點(diǎn)云以及點(diǎn)云密度過(guò)大的問(wèn)題。因此對(duì)原始數(shù)據(jù)點(diǎn)云采用了z軸方向上的直通濾波、統(tǒng)計(jì)濾波、體素濾波進(jìn)行數(shù)據(jù)簡(jiǎn)化預(yù)處理操作。
1.1.1 直通濾波
直通濾波是一種操作簡(jiǎn)單、速度快的濾波算法。直通濾波器是在點(diǎn)云的屬性上(x,y,z等)設(shè)置閾值,根據(jù)閾值對(duì)點(diǎn)云進(jìn)行濾波,保留閾值內(nèi)或者閾值外的點(diǎn)云。采用直通濾波來(lái)濾除背景點(diǎn)云,因此是在點(diǎn)云的z方向上設(shè)置了閾值。
1.1.2 統(tǒng)計(jì)濾波
在采集點(diǎn)云時(shí),由于震動(dòng)等原因,可能會(huì)產(chǎn)生一些明顯的離群點(diǎn),采用統(tǒng)計(jì)濾波器來(lái)進(jìn)行離群點(diǎn)的移除。統(tǒng)計(jì)濾波器是通過(guò)計(jì)算每個(gè)點(diǎn)到其最近的k個(gè)點(diǎn)的平均距離,若計(jì)算出的平均距離超過(guò)給定的均值參數(shù),則該點(diǎn)被認(rèn)為是離群點(diǎn)。
1.1.3 體素濾波
點(diǎn)云體素濾波將點(diǎn)云以一定大小的包圍盒進(jìn)行劃分體素,以每個(gè)體素的重心代表當(dāng)前體素中所有的點(diǎn),以此來(lái)達(dá)到點(diǎn)云精簡(jiǎn)的目的。
若已知點(diǎn)P(x0,y0,z0)和一個(gè)三維平面l:Ax+By+Cz+D=0,則可通過(guò)式(1)求得點(diǎn)P在平面l上的投影點(diǎn)P′(x′p,y′p,z′p)的表達(dá)式為
(1)
若對(duì)點(diǎn)云沿著深度方向進(jìn)行投影獲得二維平面點(diǎn)云(即相當(dāng)于垂直投影到x、y平面上),則令C=D=0,可將三維平面l表示為Ax+By=0,即可得到將點(diǎn)云P投影到xoy平面的方程為
(2)
將經(jīng)過(guò)預(yù)處理之后的點(diǎn)云數(shù)據(jù)集合表示為
S={Si|Si=(xi,yi,zi),i∈[1,n]}
(3)
經(jīng)過(guò)投影后,投影點(diǎn)的集合表示為
(4)
在二維化之后,需要對(duì)點(diǎn)云進(jìn)行邊緣提取,采用alpha-shapes邊緣提取算法來(lái)提取邊緣。alpha-shapes算法又稱為滾球法,其算法原理可以想象成一個(gè)半徑為?的球在點(diǎn)集上滾動(dòng),經(jīng)過(guò)點(diǎn)集中的任意兩點(diǎn)P1和P2時(shí),如果任意一個(gè)球內(nèi)沒有其他數(shù)據(jù)點(diǎn),則認(rèn)為P1和P2是邊緣點(diǎn),最終這個(gè)球經(jīng)過(guò)的點(diǎn)連接起來(lái)的線段即為邊緣輪廓。
在提取出邊緣后,為了實(shí)現(xiàn)將距離邊緣點(diǎn)一定距離內(nèi)的所有點(diǎn)查找出來(lái)并且保留,面對(duì)無(wú)拓?fù)潢P(guān)系的點(diǎn)云數(shù)據(jù),使用KD Tree構(gòu)建索引結(jié)構(gòu)以實(shí)現(xiàn)鄰域查詢。點(diǎn)云數(shù)據(jù)中常用的鄰域搜索方法有兩種:①k最近鄰搜索,即搜索距離查詢點(diǎn)最近的k個(gè)點(diǎn);②指定半徑r搜索領(lǐng)域,即以查詢點(diǎn)為球心,半徑為r的球形搜索球體內(nèi)的所有點(diǎn)構(gòu)成鄰域集合。
采用指定半徑r搜索鄰域點(diǎn)云的方法,以alpha-shapes算法提取出來(lái)的邊緣點(diǎn)為查詢點(diǎn),搜索與邊緣點(diǎn)的距離小于r的所有點(diǎn)云,將其構(gòu)成需要保留的邊緣區(qū)域的點(diǎn)云集合。
經(jīng)過(guò)上述二維化、邊緣提取、K鄰域查找后可以得到散熱器點(diǎn)云邊緣區(qū)域的點(diǎn)云集合。
邊緣區(qū)域點(diǎn)云集合表示為
P={Pi|Pi=(xi,yi),i∈[1,k]}
(5)
由于已經(jīng)對(duì)點(diǎn)云構(gòu)建了索引結(jié)構(gòu),所以邊緣區(qū)域點(diǎn)云集合P內(nèi)的每個(gè)點(diǎn)都有其對(duì)應(yīng)的索引,邊緣區(qū)域點(diǎn)云集合P的索引在點(diǎn)集S[式(3)]中找出對(duì)應(yīng)的邊緣區(qū)域點(diǎn)云集合,表示為
Sedge={Sedgei|Sedgei=(xi,yi,zi),i∈[1,k]}
(6)
在點(diǎn)集S[式(3)]中,不屬于邊緣區(qū)域點(diǎn)云集合Sedge的點(diǎn),就認(rèn)為是屬于需要進(jìn)行二次簡(jiǎn)化的內(nèi)部點(diǎn)云,表示為
Sin={Sini|Sini=(xi,yi,zi),i∈(k,n-k]}
(7)
然后對(duì)點(diǎn)集Sin進(jìn)行第二次體素濾波,第二次體素濾波的體素柵格大小需比第一次大。
在PointNet出現(xiàn)以前,針對(duì)點(diǎn)云數(shù)據(jù)的深度學(xué)習(xí)主要采用兩種方式:一種是將點(diǎn)云轉(zhuǎn)換為多個(gè)二維視圖,以多張二維圖片輸入到傳統(tǒng)CNN上進(jìn)行訓(xùn)練;另一種是將點(diǎn)云以體素的形式進(jìn)行三維卷積,形式類似于二維的卷積,但是因?yàn)槎喑鰜?lái)了一個(gè)維度,所以計(jì)算消耗巨大。
PointNet是一種直接將點(diǎn)云數(shù)據(jù)輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練的網(wǎng)絡(luò)框架,相比于上述兩種方法,直接將點(diǎn)云數(shù)據(jù)輸入網(wǎng)絡(luò)的計(jì)算消耗明顯減小。圖3為PointNet的模型結(jié)構(gòu)圖。
圖3 PointNet模型結(jié)構(gòu)
點(diǎn)云數(shù)據(jù)具有旋轉(zhuǎn)不變性和無(wú)序性。針對(duì)點(diǎn)云數(shù)據(jù)的旋轉(zhuǎn)不變性,PointNet使用一個(gè)小型的仿射變換矩陣預(yù)測(cè)網(wǎng)絡(luò)T-Net來(lái)對(duì)輸入點(diǎn)云進(jìn)行仿射變換,將點(diǎn)云變換到一個(gè)規(guī)范的空間,然后再將經(jīng)過(guò)MLP升維后的點(diǎn)云進(jìn)行仿射變換,保證了點(diǎn)云的特征對(duì)齊。針對(duì)點(diǎn)云數(shù)據(jù)的無(wú)序性,PointNet采用對(duì)稱函數(shù)去解決,PointNet采用的對(duì)稱函數(shù)是最大池化函數(shù)(MaxPooling)。
對(duì)稱函數(shù)可表示為
f({x1,x2,…,xn})≈g[h(x1),h(x2),…,h(xn)]
(8)
最大池化函數(shù)是PointNet的核心,通過(guò)最大池化函數(shù)可使得PointNet無(wú)視點(diǎn)云的無(wú)序性問(wèn)題。通過(guò)最大池化函數(shù),可在n個(gè)輸入點(diǎn)云提升到1 024維的情況下選取該維度下數(shù)值最大的點(diǎn),然后將該點(diǎn)作為輸入點(diǎn)云的特征,即得到一個(gè)1×1 024的最大特征作為全局特征。
在PointNet里,T-Net的作用主要是計(jì)算一個(gè)旋轉(zhuǎn)矩陣,將輸入點(diǎn)云的位姿進(jìn)行改變,使得改變后的位姿更適合分類或者分割。T-Net是一個(gè)小型網(wǎng)絡(luò),其旋轉(zhuǎn)矩陣并非是提前設(shè)置好的參數(shù),而是隨著整個(gè)網(wǎng)絡(luò)的訓(xùn)練進(jìn)行更新的,在PointNet網(wǎng)絡(luò)訓(xùn)練中需要占用一定的時(shí)間與參數(shù)。
盡管經(jīng)過(guò)T-Net訓(xùn)練出來(lái)的旋轉(zhuǎn)矩陣調(diào)整輸入點(diǎn)云的位姿后,能夠保留一些原始點(diǎn)云的特征,但經(jīng)過(guò)實(shí)驗(yàn),對(duì)于語(yǔ)義分割來(lái)說(shuō),使用T-Net對(duì)分割精度并沒有太大的提升,反而會(huì)增加訓(xùn)練的時(shí)間以及網(wǎng)絡(luò)的參數(shù)量,因此基于輕量化的原則,將T-Net從網(wǎng)絡(luò)中去除。
最大池化函數(shù)在提取特征時(shí)只提取了輸入點(diǎn)云中的最大特征作為全局特征,這樣就使得網(wǎng)絡(luò)只利用到了最大的特征信息,而其他特征信息就被忽略掉了,在一定程度上沒有充分地利用到點(diǎn)云的特征信息。
平均池化函數(shù)也是對(duì)稱函數(shù)的一種,無(wú)論點(diǎn)云的排列順序如何,其特征的平均值都不會(huì)發(fā)生變化,所以平均池化函數(shù)也可以用式(8)表示。
在PointNet最大池化的基礎(chǔ)上,加入了一個(gè)并行的平均池化函數(shù),使得n×1 024特征分別經(jīng)過(guò)最大池化和平均池化,得到最大全局特征1×1 024和平均全局特征1×1 024,之后將這兩個(gè)全局特征與經(jīng)過(guò)T-Net特征變換后的n×64特征進(jìn)行拼接,得到n×2 112的特征后輸入MLP中對(duì)每個(gè)點(diǎn)進(jìn)行分類。
引入平均池化后,輸入PointNet的n個(gè)點(diǎn)的高維信息都能被網(wǎng)絡(luò)利用到,能夠彌補(bǔ)最大池化帶來(lái)的信息丟失問(wèn)題。并且因?yàn)樽畲蟪鼗〉娜痔卣髋c最值有關(guān),當(dāng)極值出現(xiàn)時(shí),會(huì)在一定程度上影響到模型的精度,引入平均池化后,會(huì)有一定的削峰作用,能夠增強(qiáng)模型的魯棒性。
如圖4所示為改進(jìn)后的PointNet網(wǎng)絡(luò)結(jié)構(gòu)圖,去除了兩個(gè)變換網(wǎng)絡(luò)模塊,以及在池化階段引入了平均池化。
圖4 網(wǎng)絡(luò)整體結(jié)構(gòu)
實(shí)驗(yàn)設(shè)備與環(huán)境配置如表1所示。
表1 硬件與軟件配置表
數(shù)據(jù)集采集自本地企業(yè)提供的散熱器樣品,采集點(diǎn)云數(shù)據(jù)所用傳感器為基恩士LJ-X8200,共采集點(diǎn)云數(shù)據(jù)300個(gè),每個(gè)散熱器點(diǎn)云數(shù)量均為15 360 000點(diǎn)。采用7∶2∶1的比例劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集。對(duì)訓(xùn)練集與驗(yàn)證集使用CloudCompare軟件對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行標(biāo)注,類別為目標(biāo)區(qū)域VArea和非目標(biāo)區(qū)域OtherArea。
在實(shí)驗(yàn)過(guò)程中,由于采集的數(shù)據(jù)集數(shù)量較少,采用數(shù)據(jù)增強(qiáng)的方式對(duì)訓(xùn)練集進(jìn)行擴(kuò)充,所采用的數(shù)據(jù)增強(qiáng)操作有旋轉(zhuǎn)、平移、尺寸變換、添加高斯噪聲等。
為了驗(yàn)證所提出的二次數(shù)據(jù)精簡(jiǎn)算法,先對(duì)散熱器點(diǎn)云采用直通濾波去除背景以及統(tǒng)計(jì)濾波去除離群點(diǎn),然后采用本文算法兩種方式進(jìn)行數(shù)據(jù)精簡(jiǎn)。本文算法中內(nèi)部點(diǎn)云二次簡(jiǎn)化的體素濾波(即第二次體素濾波)的體素設(shè)置為2。部分實(shí)驗(yàn)結(jié)果如圖5所示,其中圖5(a)、圖5(c)、圖5(e)分別為采用直通濾波、統(tǒng)計(jì)濾波、體素濾波點(diǎn)云預(yù)處理操作后的結(jié)果,圖5(b)、圖5(d)、圖5(f)分別為在圖5(a)、圖5(c)、圖5(e)樣品上應(yīng)用本文算法的結(jié)果??梢悦黠@看出,本文算法可以有效地降低散熱器平面內(nèi)部的點(diǎn)云密度。具體減少的點(diǎn)云數(shù)量如表2所示。
表2 應(yīng)用算法前后點(diǎn)云數(shù)量對(duì)比
為了進(jìn)一步測(cè)算本文算法的性能以及效果,從運(yùn)行速度和精簡(jiǎn)率兩個(gè)方面進(jìn)行考量,上述3個(gè)散熱器樣品的試驗(yàn)數(shù)據(jù)如表2所示。由表2可以得到,本文算法的點(diǎn)云數(shù)據(jù)精簡(jiǎn)率基本處于30%以上,平均運(yùn)算時(shí)間為1.3 s,其中包含構(gòu)建索引結(jié)構(gòu)、投影降維、邊緣提取、r半徑球形區(qū)域搜索、體素濾波等步驟所消耗的時(shí)間,因此能夠說(shuō)明此方法具有較高精簡(jiǎn)率的同時(shí),算法運(yùn)行所消耗的時(shí)間也較少。
在驗(yàn)證了有效性與運(yùn)行速度后,將本文算法與隨機(jī)下采樣法和曲率下采樣法兩種經(jīng)典的三維點(diǎn)云數(shù)據(jù)精簡(jiǎn)算法做比較,實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 對(duì)比實(shí)驗(yàn)圖
圖6(a)為只經(jīng)過(guò)直通濾波去除背景和統(tǒng)計(jì)濾波去除離群點(diǎn)的原始散熱器點(diǎn)云模型,圖6(b)、圖6(c)和圖6(d)均為在圖6(a)的基礎(chǔ)上應(yīng)用不同算法得到。圖6(b)為應(yīng)用隨機(jī)下采樣算法得到的點(diǎn)云,可以看出隨機(jī)下采樣法得到的點(diǎn)云較為散亂,其精簡(jiǎn)后的點(diǎn)云模型質(zhì)量較差。圖6(c)為應(yīng)用曲率下采樣法得到的點(diǎn)云,可以看出應(yīng)用這個(gè)方法得到的點(diǎn)云在V形槽附近的點(diǎn)云較密,其他地方的點(diǎn)云較為稀疏,這是因?yàn)樵撋崞髟赩形槽旁有一根圓柱形的散熱管,曲率下采樣法對(duì)具有曲率特征的地方的點(diǎn)云刪除較少,但是對(duì)于覆蓋在散熱管上方的鰭片(也就是點(diǎn)膠的地方),其精簡(jiǎn)后的質(zhì)量也比較差。圖6(d)是應(yīng)用本章算法得到的點(diǎn)云,可以明顯看出在V形槽附近的點(diǎn)云較為均勻,點(diǎn)云數(shù)據(jù)精簡(jiǎn)后的整體質(zhì)量也較好。這表明相比于上述兩種經(jīng)典點(diǎn)云精簡(jiǎn)算法而言,本文算法能夠獲得預(yù)期的數(shù)據(jù)精簡(jiǎn)以及特征突出效。
3.4.1 網(wǎng)絡(luò)復(fù)雜度分析
網(wǎng)絡(luò)復(fù)雜度包括空間復(fù)雜度與時(shí)間復(fù)雜度,空間復(fù)雜度通常用網(wǎng)絡(luò)的參數(shù)量來(lái)表示,利用Python工具包“thop”來(lái)計(jì)算網(wǎng)絡(luò)參數(shù)量,時(shí)間復(fù)雜度采用1輪網(wǎng)絡(luò)訓(xùn)練的時(shí)間來(lái)表示。實(shí)驗(yàn)中,設(shè)置batchsize為1,采樣點(diǎn)數(shù)為4 096,學(xué)習(xí)率為0.001,得到結(jié)果如表3所示。
表3 不同網(wǎng)絡(luò)的復(fù)雜度
由表3可知,由本文算法改進(jìn)的PointNet相比于原始的PointNet,空間復(fù)雜度更低,減少了2.197×106個(gè)參數(shù),時(shí)間復(fù)雜度也比原始PointNet低;本文算法比PointNet++少0.551×106個(gè)參數(shù),空間復(fù)雜度略低于PointNet++,但PointNet++的時(shí)間復(fù)雜度很高,需要較多的訓(xùn)練時(shí)間。
3.4.2 語(yǔ)義分割實(shí)驗(yàn)結(jié)果分析
為了準(zhǔn)確評(píng)估模型的分割性能,采用平均交并比(mean intersection over union,mIoU),總體精度(overall accuracy,OA)作為實(shí)驗(yàn)結(jié)果的評(píng)價(jià)指標(biāo)。
mIoU公式為
(9)
OA公式為
(10)
式中:TP為分類正確的正樣本;FN為分類錯(cuò)誤的正樣本;FP為分類錯(cuò)誤的負(fù)樣本;TN為分類正確的負(fù)樣本。
實(shí)驗(yàn)環(huán)境配置如表1所示。實(shí)驗(yàn)中,學(xué)習(xí)率設(shè)置為0.001,batchsize為32,共訓(xùn)練120個(gè)epoch,所用數(shù)據(jù)集均為先統(tǒng)一經(jīng)過(guò)直通濾波與統(tǒng)計(jì)濾波,再用不同算法進(jìn)行降采樣。結(jié)果如表4所示,可以看出,在利用本文算法對(duì)訓(xùn)練集進(jìn)行二次簡(jiǎn)化突出邊緣區(qū)域的特征,并且對(duì)PointNet加入平均池化之后,無(wú)論是訓(xùn)練集還是測(cè)試集,OA與mIoU指標(biāo)均有一定的提升,其中測(cè)試集的OA提升了6.37%,mIoU提升了9.73%,實(shí)驗(yàn)證明本文算法有效。從消融實(shí)驗(yàn)可以看出,在數(shù)據(jù)預(yù)處理方式為包圍盒法的基礎(chǔ)上,加入平均池化后的PointNet比原版的PointNet,測(cè)試集的OA提升了1.74%,測(cè)試集的mIoU提升了4.12%。預(yù)處理方式為本文算法的數(shù)據(jù)比預(yù)處理方式為包圍盒法的數(shù)據(jù),在PointNet訓(xùn)練出來(lái)的模型分割結(jié)果中,測(cè)試集OA提升了4.98%,測(cè)試集mIoU上提升了6.72%。實(shí)驗(yàn)證明本文算法均對(duì)分割結(jié)果有一定的提升。
表4 語(yǔ)義分割實(shí)驗(yàn)結(jié)果
圖7是部分語(yǔ)義分割結(jié)果的可視化對(duì)比圖。其中第一列為PointNet+包圍盒法處理的數(shù)據(jù)集的模型分割結(jié)果,第二列為改進(jìn)的PointNet+包圍盒法處理的數(shù)據(jù)集的模型分割結(jié)果,第三列為PointNet+本文算法預(yù)處理數(shù)據(jù)集的模型分割結(jié)果,第四列為改進(jìn)的PointNet+本文算法預(yù)處理數(shù)據(jù)集的模型分割結(jié)果,為方便起見,將上述4種組合分別命名為組合A、B、C、D??梢钥闯?在對(duì)預(yù)處理方法和網(wǎng)絡(luò)模型進(jìn)行改進(jìn)之后,V形槽邊緣區(qū)域的語(yǔ)義分割的準(zhǔn)確度有了一定的提升,能夠?yàn)楹罄m(xù)的點(diǎn)膠軌跡提取工作提供較為準(zhǔn)確的V形槽區(qū)域的定位信息。
圖7 語(yǔ)義分割結(jié)果對(duì)比圖
首先,針對(duì)散熱器點(diǎn)云數(shù)據(jù)量龐大,導(dǎo)致點(diǎn)云處理和語(yǔ)義分割的耗時(shí)久、計(jì)算量大的問(wèn)題,提出了一種能夠突出散熱器V形槽邊緣區(qū)域的特征的點(diǎn)云數(shù)據(jù)精簡(jiǎn)方法,該方法能夠?qū)⑸崞鼽c(diǎn)云數(shù)量在預(yù)處理的基礎(chǔ)上再精簡(jiǎn)30%以上,并將V形槽邊緣區(qū)域的特征進(jìn)行突出。該點(diǎn)云精簡(jiǎn)方法首先對(duì)點(diǎn)云沿深度方向進(jìn)行投影,通過(guò)邊緣提取算法提取出點(diǎn)云邊緣,構(gòu)建KD-Tree索引結(jié)構(gòu)將散熱器點(diǎn)云邊緣區(qū)域與內(nèi)部區(qū)域分別進(jìn)行不同體素的降采樣,從而使得邊緣區(qū)域與內(nèi)部區(qū)域獲得不一樣的特征。
其次,對(duì)于語(yǔ)義分割網(wǎng)絡(luò),在PointNet網(wǎng)絡(luò)最大池化的基礎(chǔ)上聯(lián)合了平均池化,構(gòu)造了池化函數(shù)聯(lián)合模塊,彌補(bǔ)了最大池化會(huì)丟失點(diǎn)云特征信息的缺點(diǎn),并且去除了T-Net變換網(wǎng)絡(luò),減少了網(wǎng)絡(luò)的復(fù)雜度,使得網(wǎng)絡(luò)的運(yùn)行速度得以提升。
最后,實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)本文數(shù)據(jù)精簡(jiǎn)算法處理后的數(shù)據(jù)集,在本文算法改進(jìn)后的PointNet網(wǎng)絡(luò)中測(cè)試的結(jié)果,可比原始PointNet網(wǎng)絡(luò)獲得更高精度的分割效果,能夠?yàn)楹罄m(xù)點(diǎn)膠軌跡的提取提供較為準(zhǔn)確的V形槽區(qū)域點(diǎn)云。