于 灝 ,楊建鳴 ,王小剛 ,2
(1.內(nèi)蒙古科技大學(xué)機(jī)械工程學(xué)院,內(nèi)蒙古 包頭 014010;2 包頭鋼鐵鋼聯(lián)股份有限公司焦化廠,內(nèi)蒙古 包頭 014010)
隨著機(jī)械、汽車等領(lǐng)域的快速發(fā)展為了減少繁重工作量,對(duì)CAD 系統(tǒng)提出了更高的要求,實(shí)現(xiàn)從工程圖紙向三位實(shí)體的快速轉(zhuǎn)化可以有效提高設(shè)計(jì)效率、縮短開(kāi)發(fā)周期與降低前期投資成本[1]。工程圖紙三視圖重建三維模型的課題在上世紀(jì)70 年代被文獻(xiàn)[2-4]提出后便得到了普遍關(guān)注與深入研究。文獻(xiàn)[5]提出提出了一種人機(jī)交互識(shí)別算法,算法通過(guò)人工選取基本環(huán)并補(bǔ)充視圖中缺失線條,可以有效的實(shí)現(xiàn)基元體的完整提??;文獻(xiàn)[6]依據(jù)三視圖輪廓生成原始三維形體然后再依據(jù)工圖中信息對(duì)初始形體進(jìn)行切削最終得到目標(biāo)模型;文獻(xiàn)[7]基于Shum 與Soni 算法提出一種啟發(fā)式線索算法,在三維重建中對(duì)于相貫體旋轉(zhuǎn)半輪廓恢復(fù)有較好效果,但其僅可以處理旋轉(zhuǎn)軸與坐標(biāo)軸相平行的二次曲面;文獻(xiàn)[8]以可信度為引導(dǎo)提出了一種交互式基元體驗(yàn)證算法,可處理基元體信息缺失的基本視圖與剖視圖;文獻(xiàn)[9]提出了基于面域理解的三維重建算法,算法依據(jù)投影規(guī)則建立實(shí)體面進(jìn)而獲得零件的邊界模型;文獻(xiàn)[10]對(duì)二次曲面體重建進(jìn)行了研究,算法利用多點(diǎn)構(gòu)造的三維二次曲線生成線框模型,分別采用最小內(nèi)角法與決策鏈法生成候選曲面與消除假元;文獻(xiàn)[11]提出了基于共軛直徑的一種新算法,直接在線框模型中生成面環(huán)省略了候選步驟,但是算法不適合處理二維曲面相交與相貫的三維重建。
三維重建研究已經(jīng)取得了豐碩成果但是由于研究存在一定的局限性,要應(yīng)用于實(shí)際還需要更近一步的研究。大多數(shù)二維向三維的轉(zhuǎn)化研究是基于dxf 或dwg 格式文件的,但是需要轉(zhuǎn)化的常常是以紙質(zhì)形式保存的圖紙,這一點(diǎn)大大限制了二維轉(zhuǎn)三維的實(shí)際意義與用途;大多數(shù)的二維向三維轉(zhuǎn)化所需條件苛刻且需要專門的平臺(tái)或系統(tǒng)這大大限制了二維轉(zhuǎn)三維的實(shí)際應(yīng)用與推廣;由于二維轉(zhuǎn)三維提出較早且近期科研人員關(guān)注不多,所以對(duì)于新方法與新技術(shù)的應(yīng)用不多。以紙質(zhì)圖紙為研究對(duì)象,以Matlab 與SolidWorks 為平臺(tái)并結(jié)合數(shù)字圖像處理與神經(jīng)網(wǎng)絡(luò)等技術(shù),提出了一種基于工圖圖像的法蘭零件重建方法,有效的彌補(bǔ)了上述不足。
針對(duì)法蘭零件的三維重建提出了一種較為有效的方法,首先對(duì)工程圖紙進(jìn)行預(yù)處理,預(yù)處理包括對(duì)紙質(zhì)工程圖紙的掃描、對(duì)光柵圖像的灰度化、對(duì)灰度圖像的降噪、灰度圖像分割以及二值圖像細(xì)化。然后采用Harris 角點(diǎn)識(shí)別算識(shí)別工圖中角點(diǎn),采用Hough 檢測(cè)算法檢測(cè)工圖中的圓,采用BP 神經(jīng)網(wǎng)絡(luò)以及圖像特征建立參數(shù)預(yù)測(cè)模型。最后依據(jù)模型預(yù)測(cè)參數(shù)應(yīng)用SolidWorks參數(shù)化建模功能實(shí)現(xiàn)法蘭零件的三維重建。
Harris 基本原理是采用檢測(cè)窗口在被檢測(cè)的圖像上滑動(dòng),當(dāng)其在某點(diǎn)任意滑動(dòng)時(shí),且其在任意方向滑動(dòng)的灰度值變化較大則稱這一點(diǎn)為角點(diǎn)。窗口函數(shù)滑動(dòng)一定偏移量后其灰度的變化可以用 E(u,v)表示,其值可以用式(1)求得:
式中:E(u,v)—圖像灰度偏差;W(x,y)—窗口函數(shù);I(x,y)—被檢測(cè)圖像;Ix圖像在x 方向梯度;Iy圖像在y 方向梯度。當(dāng)圖像灰度偏差取常數(shù)時(shí),這一函數(shù)可以用橢圓來(lái)描述,其特征值可以用以判斷角點(diǎn)是否存在。
Hough 變換的基本原理是把圖像所在空間中圓的邊界點(diǎn)映射到Hough 變換空間,如圖1 所示。在圖像空間中的點(diǎn)被映射到參數(shù)空間后是一個(gè)圓,圖1(a)是原圖像空間的圓以及圓上的點(diǎn),圖1(b)是點(diǎn)映射到Hough 變換空間后所形成的圓,其中眾多圓的交點(diǎn)是被檢測(cè)到的圓的圓心,而這些圓的半徑則是被檢測(cè)到圓的半徑,所以合理設(shè)定角度步長(zhǎng)、半徑步長(zhǎng)以及要檢測(cè)圓的半徑的極限值對(duì)Hough 檢測(cè)十分重要。
反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation,BP)是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),目前應(yīng)用較為廣泛。BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的激活函數(shù)可以由式(3)描述:
式中:neti—神經(jīng)元i 的結(jié)果;wij—前一層網(wǎng)絡(luò)傳遞到神經(jīng)元i 的權(quán)值;xi—輸入值;θ—誤差值。BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練思路是要求誤差函數(shù)減小最快即沿梯度方向,其迭代方程,如式(4)所示。
式中:xk+1—迭代計(jì)算后的偏差與權(quán)值;xk—在進(jìn)行迭代計(jì)算前的偏差與權(quán)值;ak—BP 網(wǎng)絡(luò)訓(xùn)練時(shí)的學(xué)習(xí)率;gk—誤差函數(shù)梯度。
采用標(biāo)準(zhǔn)差計(jì)算BP 神經(jīng)網(wǎng)絡(luò)的誤差,前向傳播計(jì)算如式(5)所示。輸出,如式(6)所示。其中誤差定義,如式(7)所示。
式中:netij—網(wǎng)絡(luò)計(jì)算值;O(i-1)k—前一層輸出;W(i-1)kj—權(quán)值;Oij—輸出結(jié)果;θij—誤差;E—均方誤差;di—預(yù)測(cè)結(jié)果;yi—實(shí)際結(jié)果。
圖1 原空間與Hough 變換空間Fig.1 Original Space and Hough Transform Space
所做實(shí)驗(yàn)采用的是windows 系統(tǒng),處理器為Interl(R)Core(TM)CPU @ 2.40GHZ,內(nèi)存(RAM)為 8.00GB,系統(tǒng)類型為 64位,所用軟件為MATLAB 2014a。工程圖紙預(yù)處理后首先對(duì)其進(jìn)行角點(diǎn)檢測(cè)與圓檢測(cè),角點(diǎn)檢測(cè)過(guò)程中先提取x 與y 方向分量然后依據(jù)Harris 原理提取角點(diǎn),如圖2 所示。由圖可知本方法可有效提取工程圖中的角點(diǎn)。圓檢測(cè)過(guò)程中首先進(jìn)行邊緣檢測(cè),然后將原有圖像映射到Hough 變換空間;對(duì)局部交點(diǎn)個(gè)數(shù)進(jìn)行統(tǒng)計(jì),得到其最大值并記錄其坐標(biāo)。如圖3 所示,其中,邊緣檢測(cè)結(jié)果,如圖3(a)所示。Hough 檢測(cè)結(jié)果,如圖3(b)所示。處理圖像的原圖,如圖3(c)所示。被檢測(cè)的到的圓標(biāo)記后圖,如圖3(d)所示。
圖2 Harris 角點(diǎn)檢測(cè)Fig.2 Harris Corner Detection
圖3 Hough 圓檢測(cè)圖Fig.3 Hough Circle Detection Chart
圖4 高度識(shí)別均方誤差Fig.4 Height Recognition Mean Square Error
將角點(diǎn)與圓等特征信息輸入到BP 神經(jīng)網(wǎng)絡(luò),BP 神經(jīng)網(wǎng)絡(luò)經(jīng)學(xué)習(xí)后即可得到相應(yīng)模型,用以識(shí)別法蘭零件的參數(shù)。一個(gè)簡(jiǎn)單的法蘭零件至少需要用大圓直徑、大圓高度、小圓直徑、小圓高度中心孔直徑、倒角尺寸、陣列個(gè)數(shù)與小孔直徑等參數(shù)描述,以大圓高度為例簡(jiǎn)述識(shí)別過(guò)程。
實(shí)驗(yàn)數(shù)據(jù)共50 組數(shù)據(jù)其中30 組作為訓(xùn)練數(shù)據(jù),20 組作為測(cè)試數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)在識(shí)別法蘭盤大圓盤高度訓(xùn)練過(guò)程中的均方誤差,如圖4 所示。從圖中可以看出均方誤差在經(jīng)過(guò)76 次迭代后達(dá)到設(shè)定目標(biāo),最佳測(cè)試結(jié)果其誤差約為5.34e-10。BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值域真實(shí)值的比較圖,如圖5 所示。從圖中可以看出神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果與真實(shí)值基本重合,取得了較好效果其誤差十分微小,預(yù)測(cè)結(jié)果與真實(shí)值之間的標(biāo)準(zhǔn)差,如圖6 所示。BP 預(yù)測(cè)結(jié)果、真實(shí)值與標(biāo)準(zhǔn)差表,如表1 所示。同理可以得到其他法蘭零件的相關(guān)參數(shù),對(duì)識(shí)別后的參數(shù)進(jìn)行取整其結(jié)果,如圖7 所示,把這一結(jié)果導(dǎo)入到SolidWorks 的零件設(shè)計(jì)表中據(jù)此自動(dòng)生成法蘭零件的三維模,如圖8 所示。法蘭零件的工程圖紙掃描圖像,如圖9所示。
圖5 高度預(yù)測(cè)結(jié)果Fig.5 Height Prediction Results
圖6 高度標(biāo)準(zhǔn)差Fig.6 High Standard Deviation
表1 BP 高度預(yù)測(cè)結(jié)果Tab.1 BP Height Prediction Results
圖7 BP 網(wǎng)絡(luò)計(jì)算參數(shù)Fig.7 BP Network Computing Parameters
圖8 重建法蘭模型Fig.8 Reconstruction of Flange Model
圖9 法蘭零件工程圖Fig.9 Flanged Parts Engineering Drawings
提出了一種基于工圖圖像的法蘭三維重建方法,采用了圖像處理、特征提取與BP 神經(jīng)網(wǎng)絡(luò)等技術(shù),一定程度上提高了重建效率與精度;方法以紙質(zhì)圖紙為研究對(duì)象一定程度上拓寬了三維重建的實(shí)際應(yīng)用范圍;方法以Matlab 與SolidWorks 為平臺(tái)不需要設(shè)計(jì)專門的系統(tǒng)或平臺(tái),有利于二維轉(zhuǎn)三維的實(shí)現(xiàn)與推廣。實(shí)驗(yàn)證明本方法可有效且快速的重建法蘭零件三維模型,為工程圖紙的三維重建提供了新思路與方法,對(duì)后續(xù)研究有一定的指導(dǎo)意義。