晏海平,吳祿慎,陳華偉
(南昌大學(xué)機(jī)電工程學(xué)院,江西南昌330031)
近年來,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,逆向工程技術(shù)在實(shí)物造型、模具缺陷檢測(cè)與快速化修復(fù)、等諸多領(lǐng)域得到了廣泛應(yīng)用。在獲取三維點(diǎn)云數(shù)據(jù)的過程中,由于模型本身?yè)p壞、激光掃描中的視線遮擋等原因,不可避免的會(huì)出現(xiàn)部分點(diǎn)云的缺失,而點(diǎn)云缺失直接影響后續(xù)建模的質(zhì)量,因此在對(duì)散亂點(diǎn)云進(jìn)行建模之前,需要先進(jìn)行孔洞修復(fù)。許多專家學(xué)者對(duì)點(diǎn)云孔洞修復(fù)技術(shù)進(jìn)行了大量的研究,目前在逆向工程領(lǐng)域的孔洞修補(bǔ)方法主要有兩類:一類是以三角網(wǎng)格為基礎(chǔ)對(duì)網(wǎng)格曲面孔洞進(jìn)行修補(bǔ)[1-4],該類算法在點(diǎn)云分布比較均勻和數(shù)據(jù)量較小時(shí),能夠獲取較好的修補(bǔ)效果,但當(dāng)點(diǎn)云數(shù)據(jù)量較大時(shí),由于建立三角網(wǎng)格所需時(shí)間較多,難以取得理想的效果;另一類以散亂點(diǎn)云為基礎(chǔ)的孔洞修復(fù),文獻(xiàn)[5]采用以孔洞邊界點(diǎn)和邊界周圍的局部散亂點(diǎn)為依據(jù)建立曲面片,并在曲面片上進(jìn)行采樣的方法修復(fù)孔洞,修補(bǔ)精度較高,適合于曲率變化不大的曲面。文獻(xiàn)[6]通過構(gòu)建kd-tree提取點(diǎn)云的孔洞邊界,并通過基于徑向基函數(shù)的差值曲面實(shí)現(xiàn)殘缺點(diǎn)云修補(bǔ),但逼近二次曲面點(diǎn)列的誤差難以控制。
本文在分析和研究已有算法的基礎(chǔ)上,提出了一種先在孔洞多邊形二維特征平面內(nèi)進(jìn)行點(diǎn)的填充,然后將填充點(diǎn)向基于徑向基函數(shù)的隱式曲面上調(diào)整的方法實(shí)現(xiàn)孔洞的修復(fù),并通過實(shí)驗(yàn)進(jìn)行有效性驗(yàn)證。
在春季,在養(yǎng)殖業(yè)的過程中,雞容易產(chǎn)生多種疾病。在育種過程中,只有仔細(xì)觀察才能做出更好的判斷和分析育種者用它做出更好的判斷疾病的處理。否則,它會(huì)影響雞的正常繁殖,并在同一時(shí)間,它會(huì)影響?zhàn)B雞業(yè)的經(jīng)濟(jì)效益。因此,只有通過正確的判斷和分析,才能采取更加針對(duì)性的預(yù)防措施來減少養(yǎng)殖戶的損失。
本文主要對(duì)散亂點(diǎn)云的孔洞修復(fù)技術(shù)進(jìn)行研究,算法流程如圖1所示。
采用文獻(xiàn)[7]的方法建立散亂點(diǎn)云的空間拓補(bǔ)關(guān)系,計(jì)算出每個(gè)散亂點(diǎn)S的K鄰域點(diǎn)集Ti(i=0,1,…k-1),然后以散亂點(diǎn)及其K鄰域作為局部型面參考依據(jù)建立基準(zhǔn)平面,根據(jù)目標(biāo)點(diǎn)到該平面的距離與點(diǎn)集中各點(diǎn)到該平面的距離比值大?。?]識(shí)別點(diǎn)云孔洞特征點(diǎn),連接邊界點(diǎn)得到邊界線。
本試驗(yàn)通過對(duì)69批牡丹皮藥材樣品進(jìn)行分析,并推測(cè)鑒定出29個(gè)共有峰的對(duì)應(yīng)成分,主要是單萜苷類、酚酸類及黃酮類成分,這些共有成分可作為對(duì)牡丹皮藥材進(jìn)行質(zhì)量控制的重要指標(biāo)。
以上得到的邊界線可能是封閉模型的內(nèi)邊界(孔洞邊界),也可能是非封閉模型的外邊界,在進(jìn)行孔洞修補(bǔ)之前,首先就要識(shí)別出孔洞邊界。
采用基于局部擴(kuò)張的思想填充孔洞,新增填充點(diǎn)與孔洞邊界能夠?qū)崿F(xiàn)較好過渡,主要過程如下:
圖2 識(shí)別內(nèi)外邊界
由于得到的孔洞多邊形每條邊的長(zhǎng)度可能不均勻,影響后續(xù)處理效果。因此對(duì)孔洞多邊形進(jìn)行均勻化處理,主要步驟如圖3所示。
德國(guó)前總理格哈德·施羅德說,習(xí)近平主席是一位遠(yuǎn)見卓識(shí)的改革家。他把馬克思主義原理與中國(guó)實(shí)際結(jié)合,緊隨時(shí)代進(jìn)行創(chuàng)新,提出了雄心勃勃的改革計(jì)劃,涵蓋了各個(gè)領(lǐng)域。實(shí)踐證明行之有效,深得人心,是實(shí)現(xiàn)中國(guó)夢(mèng)的基本方略,也是開辟人類更加美好未來的行動(dòng)指南。巴西中國(guó)問題研究所所長(zhǎng)羅尼·林斯認(rèn)為,中國(guó)共產(chǎn)黨不僅能獨(dú)立自主有效地治理自己的國(guó)家,而且將以更加積極的姿態(tài)參與全球治理。
定義 邊界線的特征平面:假設(shè)S1S2…Sn是散亂點(diǎn)集的邊界線,應(yīng)用最小二乘法擬合微切平面,計(jì)算該平面的法矢n和形心O,那么由n和O定義的平面為該邊界線的特征平面N。將邊界點(diǎn)S1S2…Sn和它們的鄰域點(diǎn)投影到平面N上,以法矢方向?yàn)閆方向,規(guī)定遍歷投影邊界點(diǎn)時(shí)其鄰域點(diǎn)在邊界點(diǎn)的右側(cè),如圖2所示,沿Z軸負(fù)方向看,當(dāng)遍歷投影邊界點(diǎn)為順時(shí)針時(shí),則該邊界為外邊界;反之為內(nèi)邊界[9]。
上帝呀,如果我有一段生命……我不會(huì)放過哪怕是一天,而不對(duì)我所愛的人說我愛他們。我會(huì)使每個(gè)男人和女人都了解他們皆我所愛,我要懷著愛而生活。
采用以上算法對(duì)于平坦區(qū)域的孔洞進(jìn)行填充效果較好,但由于孔洞新增點(diǎn)在特征平面上,對(duì)于曲率變化較大的模型孔洞填充后不能滿足復(fù)雜形狀要求,因此需要對(duì)這些填充點(diǎn)進(jìn)行進(jìn)一步的處理借鑒文獻(xiàn)[10]的思路,本文以孔洞邊界點(diǎn)及其鄰域信息為基礎(chǔ),建立基于徑向基函數(shù)的隱式曲面。對(duì)于R3空間中散亂點(diǎn)云的可以這樣定義,給定n個(gè)空間散亂點(diǎn){q1q2…qn},且分別對(duì)應(yīng)約束值{h1h2…h(huán)n},如果能構(gòu)造函數(shù)f(r)使得每個(gè)點(diǎn)均滿足等式F(qi)=hi,那么方程F(qi)=0就可以表示一個(gè)隱式曲面。一般在定義一個(gè)隱式曲面時(shí),該曲面要求通過的散亂點(diǎn)稱為插值約束點(diǎn)和沒有通過的點(diǎn)稱為附件約束點(diǎn),表達(dá)式如式下所示
步驟1 計(jì)算孔洞多邊形的特征平面,將孔洞多邊形向該平面投影,得到投影孔洞邊界S′1S′2…S′i-1S′i+1…S′n。
步驟2 計(jì)算投影邊界相鄰邊的夾角β,將所有的多邊形夾角進(jìn)行升序排序。
步驟3 根據(jù)夾角βMin的大小進(jìn)行處理,如果βMin<90°,則不需要添加新的點(diǎn),直接更新多邊形為S′1S′2…S′i-1S′i+1…S′n;如果βMin≥90°,則以Si為圓心,以dave為半徑在孔洞特征平面內(nèi)作圓,再畫S′i-1S′i和S′iS′i+1的垂直平分線,交于圓四點(diǎn)P1,P2,P3,P4,如圖4所示。由圖可以發(fā)現(xiàn)P2,P4位于孔洞多邊形外部,因此填充點(diǎn)主要根據(jù)P1,P3來確定;當(dāng)|P1P3|<dave,在P1P3中點(diǎn)位置添加填充點(diǎn)P,更新多邊形為S′1S′2…S′i-1PS′i+1…S′n;當(dāng)dave≤|P1P3|<d2ave時(shí),在P1和P3位置分別添加填充點(diǎn),更新多邊形為S′1S′2…S′i-1P1P3S′i+1…S′n;當(dāng)|P1P3|≥d2ave時(shí),則在P1和P3位置添加填充點(diǎn),并更新多邊形為S′1S′2…S′i-1P1S′iP3S′i+1…S′n。在更新多邊形后,重新計(jì)算βMin,并按上述方法進(jìn)行循環(huán)處理。
圖4 βMin≥90°時(shí)孔洞填充
步驟4 根據(jù)新增填充邊界邊在孔洞邊界特征平面上的投影與特征多邊形是否相交檢查新增填充點(diǎn)的合法性,刪除非法的填充點(diǎn)。
等值線追蹤法實(shí)現(xiàn)簡(jiǎn)單,但是需大量后期人工作業(yè)進(jìn)行修訂,因此,該方法效率低、勞動(dòng)強(qiáng)度大,且易受主觀因素影響。
步驟2 以任意孔洞點(diǎn)為起點(diǎn),查找其k鄰域,刪除與Q中元素重復(fù)的點(diǎn),剩余點(diǎn)加入到點(diǎn)集Q;
式中:r——建立曲面時(shí)通過的任意散亂點(diǎn),qj——建立曲面所需的采樣點(diǎn),ωj對(duì)應(yīng)每個(gè)采樣點(diǎn)的權(quán)值,P(r)通常表示為P(r)=p0+p1x+p2y+p3z,φ(r-qj)為徑向基函數(shù),一般情況下,在對(duì)空間散亂點(diǎn)進(jìn)行插值時(shí)經(jīng)常用的基函數(shù)形式對(duì)于三維空間中的任意兩個(gè)散亂點(diǎn),為求解權(quán)值和一階多項(xiàng)式的系數(shù)值,除由兩類約束點(diǎn)所給定的約束值條件,還需要滿足正交條件
由此建立線性方程組AX=B。由于系數(shù)矩陣A是插值約束點(diǎn)和附加約束點(diǎn)的插值條件決定的半正定矩陣,方程有唯一解,X是要求的權(quán)值ωj和一階多項(xiàng)式的系數(shù)(p0,p1,p2,p3),B是約束值為hj的列向量,通過高斯消元法可以求出方程的解。
步驟1 讀入提取得到的孔洞邊界點(diǎn),將其加入到插值約束點(diǎn)集Q中;
阿里巴巴集團(tuán)CEO張勇表示,餓了么將依托阿里集團(tuán)數(shù)字經(jīng)濟(jì)生態(tài)的商業(yè)基礎(chǔ)設(shè)施,與阿里眾多業(yè)務(wù)產(chǎn)生奇妙的化學(xué)反應(yīng),成為阿里新零售戰(zhàn)略的一支重要力量。并購(gòu)之后的餓了么將保持獨(dú)立品牌、獨(dú)立運(yùn)營(yíng),餓了么的所有合作伙伴及商家的權(quán)利都將得到一如既往地尊重。同時(shí),餓了么將進(jìn)一步得到阿里巴巴在新零售基礎(chǔ)設(shè)施、產(chǎn)品、技術(shù)、組織等方面的全力支持。
要建立點(diǎn)云孔洞的隱式曲面,就需要采集足夠的數(shù)據(jù)點(diǎn),如果沒有考慮孔洞周圍的點(diǎn),新增填充點(diǎn)就難以與整個(gè)點(diǎn)云模型實(shí)現(xiàn)平滑過渡。為了完整地描述該隱式曲面,本文采集孔洞邊界點(diǎn)及其k(本文取k=6)鄰域點(diǎn)作為插值約束點(diǎn),主要過程如下:
構(gòu)建基于徑向基函數(shù)的隱式曲面表示為
步驟3 重復(fù)步驟2,直到遍歷完所有的孔洞點(diǎn),得到所需的插值約束點(diǎn)集。
僅僅只有插值約束點(diǎn)還不足以描述整個(gè)曲面,還應(yīng)采集定義曲面所需要的附加約束點(diǎn)。采用法矢約束得到的附加約束點(diǎn)能夠體現(xiàn)曲面的幾何特性[11],根據(jù)插值約束點(diǎn)的法矢計(jì)算出附加約束點(diǎn)。
為促進(jìn)幼果快速膨大、減少畸形果與落果、提早上市,可以噴施赤霉酸5~6 mg/L+蕓苔素0.02~0.03 mg/L。
為了檢驗(yàn)匹配后各變量在處理組與控制組的分布是否變得平衡,本文進(jìn)行了匹配平衡性檢驗(yàn),結(jié)果如表4所示。經(jīng)過半徑為0.01的半徑匹配,所有變量的標(biāo)準(zhǔn)誤絕對(duì)值下降幅度明顯。在匹配完成后,t檢驗(yàn)伴隨概率值過高,接受處理組與控制組的匹配變量不存在系統(tǒng)性差異的原假設(shè)。本文還進(jìn)一步采用最近鄰匹配法與核匹配法進(jìn)行驗(yàn)證,匹配效果同樣良好。
首先計(jì)算插值約束點(diǎn)的法矢,對(duì)于采集得到的每個(gè)插值約束點(diǎn)Qi(i=0,1,…,n-1),查找其K鄰域X={(xi,yi,zi)|i=0,1,…,k-1},采用最小二乘法計(jì)算Qi與X作為參考依據(jù)的微切平面。
假設(shè)平面方程Ax+By+Cz+D=0,為了不失一般性,設(shè)C不等于0。該微切平面用矩陣表示為
式中
采用奇異值分解的方法求出該平面的法向量n→=(A,B,C),用該向量近似描述插值約束點(diǎn)的法矢,在該法矢方向上(取0.3單位長(zhǎng)度處)進(jìn)行附加約束點(diǎn)采集,獲得附加約束點(diǎn)。
將采集到的n個(gè)插值約束點(diǎn)和n個(gè)附加約束點(diǎn)代入式(1)、式(2)中,聯(lián)立式(4),采用高斯消元法解方程組,求解出插值約束點(diǎn)的權(quán)值和一階多項(xiàng)式的系數(shù),從而得到曲面的隱式方程
梯度下降法是將需要迭代的點(diǎn)沿著負(fù)梯度方向以最快的速度逐步向曲面迭代逼近,梯度下降法的一般形式為[11]
通過兩種焊條的工藝評(píng)定對(duì)比試驗(yàn),選擇出符合圖紙技術(shù)要求的焊接材料,并制定相應(yīng)的焊接工藝;該勵(lì)磁機(jī)風(fēng)扇已在電廠平穩(wěn)運(yùn)行兩年多,表明焊材的選擇及焊接工藝的制定是正確的。
本文實(shí)驗(yàn)以Windows操作系統(tǒng)為基礎(chǔ),以Visual C++6.0為平臺(tái),結(jié)合OpenGL編程技術(shù),完成實(shí)驗(yàn)平臺(tái)的搭建,在該實(shí)驗(yàn)平臺(tái)上進(jìn)行點(diǎn)云孔洞修復(fù)處理。以帶孔洞的散亂點(diǎn)云模型花瓶和兔子為例進(jìn)行實(shí)驗(yàn),其中花瓶模型孔洞曲率變化較小,兔子模型孔洞曲率變化較大,讀取散亂點(diǎn)云并進(jìn)行邊界提取效果圖如圖6所示,采用本文算法進(jìn)行孔洞修復(fù)的效果圖如圖7所示。
圖5 新增點(diǎn)向曲面調(diào)整
圖6 散亂點(diǎn)云孔洞模型邊界提取效果
圖7 孔洞修復(fù)效果
花瓶和兔子模型的散亂點(diǎn)、孔洞邊界點(diǎn)和新增填充點(diǎn)個(gè)數(shù)見表1。
表1 模型相關(guān)點(diǎn)個(gè)數(shù)
為了更直觀地觀察孔洞修復(fù)效果,將填充后的散亂點(diǎn)云模型進(jìn)行三角化處理后,如圖8所示,從圖8中可以看出,新增的孔洞點(diǎn)與先前孔洞周圍點(diǎn)云能夠平滑過渡,保持了模型的基本幾何特征。
圖8 孔洞修復(fù)后的點(diǎn)云模型三角化效果
提出了一種針對(duì)散亂點(diǎn)云模型的孔洞修補(bǔ)算法。采用二次劃分的策略建立散亂點(diǎn)云空間拓補(bǔ)關(guān)系并進(jìn)行K鄰域搜索,根據(jù)采樣點(diǎn)及其鄰域點(diǎn)到基準(zhǔn)平面的距離比值大小提取點(diǎn)云的孔洞邊界,在孔洞特征平面上對(duì)孔洞進(jìn)行二維填充,將填充點(diǎn)逐步向基于徑向基函數(shù)的隱式曲面進(jìn)行調(diào)整完成孔洞修復(fù)。在建立隱式曲面的過程中,充分利用了孔洞邊界點(diǎn)及其鄰域信息,能夠?qū)崿F(xiàn)孔洞修補(bǔ)點(diǎn)與原始點(diǎn)云之間的平滑過渡,修補(bǔ)效果良好。
[1]WANG Yinghui,WU Weiyong.Holes repairing algorithm of scattered data based on the fitting of partial subdivision curved surface[J].Journal of Machine Design,2009,26(12):72-74(in Chinese).[王英惠,吳維勇.基于局部細(xì)分曲面擬合的散亂數(shù)據(jù)孔洞修補(bǔ)法[J].機(jī)械設(shè)計(jì),2009,26(12):72-74.]
[2]TIAN Jianlei,LIU Xumin,GUAN Yong.Research on hole filling algorithm in triangle mesh models[J].Journal of Computer Applications,2009,29(8):2035-2037(in Chinese).[田建磊,劉旭敏,關(guān)永.三角網(wǎng)絡(luò)模型的補(bǔ)洞算法研究[J].計(jì)算機(jī)應(yīng)用,2009,29(8):2035-2037.]
[3]GAO Fushun,GAO Zhanheng,LIANG Xuezhang,et al.Filling hole algorithm in triangle mesh[J].Jourmal of Jilin University(Science Edition),2009,47(6):1182-1184(in Chinese).[高福順,高占恒,梁學(xué)章,等.三角網(wǎng)格中的孔洞修補(bǔ)算法[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2009,47(6):1182-1184.]
[4]Marchandise E,Piret C,Remacle J F.CAD and mesh repair with radial basis functions[J].Journal of Computational Physics,2012:2376-2387.
[5]QIU Zeyang,SONG Xiaoyu,ZHANG Dinghua.Reparation of holes in discrete data points[J].Journal of Engineering Graphics,2004(4):85-89(in Chinese).[邱澤陽,宋曉宇,張定華.離散數(shù)據(jù)中的孔洞修補(bǔ)[J].工程圖學(xué)學(xué)報(bào),2004(4):85-89.]
[6]CHEN Feizhou,CHEN Zhiyang,DING Zhang,et al.Filling holes in point cloud with radial basis function[J].Journal of Computer-Aided Design &Computer Graphics,2006,18(9):1414-1419(in Chinese).[陳飛舟,陳志楊,丁展,等.基于徑向基函數(shù)的殘缺點(diǎn)云數(shù)據(jù)修復(fù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2006,18(9):1414-1419.]
[7]LIU Yuehua,LIAO Wenhe,LIU Hao.Research of K-nearest neighbors search algorithm in reverse engineering[J].Machinery Design &Manufacture,2012(3):256-258(in Chinese).[劉越華,廖文和,劉浩.逆向工程中散亂點(diǎn)云的K鄰域搜索算法研究[J].機(jī)械設(shè)計(jì)與制造,2012(3):256-258.]
[8]SUN Dianzhu,ZHU Changzhi,LI Yanrui.An improved extraction of boundary characteristic from scattered data[J].Journal of Shangdong University(Engineering Science),2009,39(1):84-86(in Chinese).[孫殿柱,朱昌志,李延瑞.散亂點(diǎn)云邊界特征快速提取算法[J].山東大學(xué)學(xué)報(bào)(工學(xué)版),2009,39(1):84-86.]
[9]GU Yuanyuan.Research and implement of hole-repairing technology for scattered points cloud[D].Suzhou:Soochow University,2008:19-32(in Chinese).[顧園園.散亂點(diǎn)云孔洞修補(bǔ)技術(shù)的研究與實(shí)現(xiàn)[D].蘇州:蘇州大學(xué),2008:19-32.]
[10]DU Ji,ZHANG Liyan,WANG Hongtao,et al.Hole repairing in triangular meshes based on radial basis function[J].Journal of Computer-Aided Design &Computer Graphics,2005,17(9):1976-1982(in Chinese).[杜佶,張麗艷,王宏濤,等.基于徑向基函數(shù)的三角網(wǎng)格曲面孔洞修補(bǔ)算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(9):1976-1982.]
[11]Tasso Karkanis,James Stewart.Curvature dependent triangulation of implicit surface[J].IEEE Computer Graphics and Application,2001,21(2):60-69.