<noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"><delect id="ixm7d"></delect></rt><delect id="ixm7d"></delect><bdo id="ixm7d"></bdo><rt id="ixm7d"></rt><bdo id="ixm7d"></bdo><noframes id="ixm7d"><rt id="ixm7d"><rt id="ixm7d"></rt></rt><rt id="ixm7d"><rt id="ixm7d"></rt></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt> <noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><noframes id="ixm7d"><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d"><rt id="ixm7d"></rt><noframes id="ixm7d">

零件配合算法范文

2023-09-24

零件配合算法范文第1篇

關鍵詞:軸類零件的數控加工,零件的工藝分析,擬定工藝路線,確定工藝路線

1 零件的分析

1.1 分析圖紙及產品裝配圖

首先應分析零件圖和該零件所在部件或總成的裝配圖, 了解該零件在部件或總成中的位置和功能以及部件或總成對該零件提出的技術要求, 分析其主要的技術關鍵和相應采取的工藝措施, 形成生產加工零件的總體構思。

1.2 確定毛坯

毛坯選擇的正確與否, 對產品質量與生產成本有很大的影響, 提高毛坯的加工質量, 可以減少機械加工的勞動量, 降低機械加工的成本, 應采用精密鍛造, 冷軋等先進的方法制造毛坯。配合件的材料為45#, 棒料直徑為50mm。

2 擬定工藝路線

(1) 表面加工方法的選擇:配合件表面加工方法選用車削加工; (2) 加工階段的劃分:配合件加工方法采用粗加工精加工; (3) 工序集中與工序分散:配合件的加工采用工序集中的方法; (4) 工序順序的安排:先基面后其它;先粗后精;先面后孔;先主后次; (5) 各加工表面的裝夾方式:粗車外圓-三爪自定心夾盤裝夾;粗精車內孔、螺紋-三爪自定心夾盤裝夾;精車外圓、螺紋-三爪自定心夾盤裝夾。

3 確定工藝路線

加工路線按由內到外, 由粗到精, 由右到左的加工原則。首先自右向左進行粗車, 然后從右到左進行精車, 最后車螺紋。 (1) 先加工A件右端面。棒料伸出卡盤外約40mm, 找正后夾緊。 (2) 用外圓車刀, 采用G71指令進行A零件右端部分的輪廓循環粗加工。 (3) 用外圓車刀對G71循環粗加工后進行A零件右端部分的輪廓循環精加工。 (4) 用寬5mm的切刀加工A件右側螺紋退刀槽。 (5) 用60°螺紋車刀, 采用G76指令進行A件右側螺紋循環加工。 (6) 卸下工件, 用銅皮包住已加工過的φ20外圓, 調頭使零件上φ20長26.5mm臺階端面與卡盤端面緊密接觸后夾緊, 找正后準備加工零件的左端面。 (7) 手動車端面控制零件總長。 (8) 把φ20錐柄麻花鉆裝入尾座, 移動尾架使麻花鉆切削刃接近端面鎖緊, 主軸以400r/min, 手動轉動尾座手輪, 鉆φ20的底孔, 深度為30mm。用內孔車刀粗車內孔φ24, 用內孔車刀精車內孔φ24。 (9) 用外圓車刀, 采用G71指令進行零件左端部分的輪廓粗加工。用外圓車刀, 采用G71指令進行零件左端部分的輪廓精加工。 (10) 加工B件左端面, 棒料伸出卡盤外約30mm, 找正后夾緊。 (11) 把φ20錐柄麻花鉆裝入尾座, 移動尾架使麻花鉆切削刃接近端面鎖緊, 主軸以400r/min, 手動轉動尾座手輪, 鉆φ20的底孔, 深度為50mm。 (12) 用內孔車刀粗車內孔φ27及內螺紋, 用內孔車刀精車內孔φ27及內螺紋。 (13) 用外圓車刀, 采用G71指令進行零件左端部分的輪廓粗加工。 (14) 用外圓車刀, 采用G71指令進行零件左端部分的輪廓精加工。 (15) B件左側加工完后, 卸下工件, 用銅皮包住已加工過的φ46外圓, 裝夾B件左側φ46長25mm處, 找正后夾緊。 (16) 用內孔車刀粗車內孔, 用內孔車刀精車內孔。 (17) 用外圓車刀, 采用G71指令進行B零件右端部分的輪廓循環粗加工。 (18) 用外圓車刀對G71循環粗加工后進行B零件右端部分的輪廓循環精加工。 (19) 去毛刺、自檢。

4 確定刀具和夾具

由于工件不長, 只要采用三爪自定心卡盤定心夾緊即可。根據加工要求需選用6把刀具。粗車及端面加工選用粗車外圓車刀;精加工選用精車外圓車刀 (粗精車外圓車刀均選擇同一把) , 槽的加工選用寬5mm切槽刀;螺紋的加工選用60°螺紋刀;孔的加工, 首先使用φ20錐柄麻花鉆鉆孔, 將所選的刀具參數填入數控加工刀具卡片中。車削用量的選擇, 單件、小批量生產時, 可根據加工情況由工人確定;一般可由《機械加工工藝手冊》或《切削用量手冊》中選取。

5 確定量具

測量外圓柱面尺寸:游標卡尺、外徑千分尺;測量內圓柱面尺寸:內徑游標卡尺、內徑千分尺;測量螺紋:螺紋環規;測量深度:深度游標卡尺。

6 確定切削用量

數控車床加工中的切削用量包括切削深度、主軸轉速和進給速度, 切削用量應根據工件材料、硬度、刀具材料及機床等因素來綜合考慮。輪廓加工時, 粗車循環時選擇ap=1mm, 精車循環時選擇ap=0.25mm;螺紋加工時, 粗車循環時選擇ap=0.4mm, 逐刀減少, 精車循環時選擇ap=0.1mm。

(1) 背吃刀量的確定。 (2) 主軸轉速的確定:粗車轉速800r/min;精車轉速1200r/min。 (3) 進給量的確定:經過查手冊和實際情況確定進給量, 粗車時一般取0.4mm/r, 精車時取0.15mm/r;切斷時取0.1mm/r。 (4) 車螺紋的轉速確定:車螺紋600r/min。 (5) 切槽轉速的確定:切槽轉速采用400r/min。

參考文獻

[1]王愛玲.現代數控編程技術及應用[M].北京:高等教育出版社, 2002.

[2]羅學科.數控機床編程于與操作實訓[M].北京:化學工業出版社, 2005.

零件配合算法范文第2篇

零件分揀是計算機視覺技術的重要應用領域, 特別是在零件加工流水線上, 傳統的人工分揀往往要耗費大量的人力和時間, 且常不能滿足流水線的節拍要求。隨著自動化生產效率要求越來越高, 零件的自動分揀就顯得尤為必要。從近些年的研究來看, 基于計算機視覺的圖像識別技術已經成為這一領域最重要的技術手段之一。

如何對目標有效識別, 獲得較高的分揀準確率, 關鍵在于圖像的有效分割。近些年, 很多學者對用于分割的prewitt算子邊緣化算法[1]、貪婪算法、神經網絡和模糊識別自適應算法[2]、數據融合算法[3]及一些圖像形態學算法等進行了研究[4]。但這些算法都有較高的時間復雜度。另外, 光照條件也是分割中的棘手問題, 目前也沒有一個單純的算法能在任何光照條件下適用[5]。算法的不同嚴重影響著系統的性能, 特別是高效、快速、環境適應能力強的算法, 更是實際中所追求的。

本研究就這一關鍵技術結合“實際生產中零件上是否有字”這一特征進行研究, 提出圖像二次分割的方法, 以期降低圖像分割的復雜度, 取得較好的識別效果。

1 零件分揀系統

問題的背景是生產中需要將異常零件從流水線上剔除。這里所研究的是一種鏈片上有些漏打了字符鋼印而造成的零件異常, 如圖1所示。通常零件識別系統如圖2所示。

本研究重點研究了從圖像采集卡獲得圖像數據之后如何識別圖像, 并判斷零件上有無字符, 即對零件圖像處理與識別算法的研究。

2 圖像處理流程

從零件中文字分布特點來看, 因文字像素所占圖像總像素很少, 無論是直接對圖像灰度進行統計, 還是直接求取共生矩的熵等紋理參數, 都很難對有無文字進行識別。圖像處理的一個主要任務是對特征進行定位[6,7], 從現在研究的車牌識別、蘋果質量識別等來看, 目標定位可以說是計算機視覺技術中的難點[8]。由于零件的文字都打在中心附近, 本研究通過圖像自動閾值分割及質心定位, 對圖像進行了兩次分割, 非常有效地獲得了文字區域圖像。圖像處理流程如圖3所示。

一般來說, 采集到的圖像都由于設備等原因夾有噪聲, 通常是先對圖像進行低通濾波, 但這里的特征區域分割是基于圖像質心的鄰域矩陣, 對于椒鹽噪聲等均勻分布的噪聲并不敏感。這也是該算法的一大優點。

本研究所有算法都是在Matlab中實現的, 該軟件內有豐富的圖像處理函數, 是進行算法驗證的有力工具。

3 關鍵算法研究

3.1 背景分割

背景閾值分割是通過設置閾值去除圖像中的背景, 而只保留零件的灰度值。其目的是為了便于找到零件質心位置?;诨叶乳撝档姆指罘椒ㄊ菆D像分割的經典方法, 而對于閾值的選擇就成了這一方法的關鍵。這里選擇Otsu法進行閾值的自動選擇。Otsu法是通過判別類間方差是否為最大值來自動確定閾值, 對環境有較強的適應性, 特別在分割大目標時, 效果較好。其主要程序為:

pic=imread (‘lingjian.jpg’) ;%讀取零件圖片

T=graythresh (pic) ;%通過Otsu法求取閾值

g=im2bw (pic, T) ;%基于閾值二值化

關于背景顏色的選擇, 因為零件為金屬的灰暗色, 通常認為用白色背景能獲得較好的分割效果, 但試驗中發現黑色的背景同樣能獲得較好的效果, 并且黑色有利于工廠的環境 (特別是在傳送帶容易受到污染時) 。

由于CCD拍攝的是彩色圖像, 在分割前先對其進行灰度圖轉換, 然后對圖像進行基于Otsu方法的背景分割, 其結果如圖4、圖5所示 (圖上標示了質心位置) 。

從結果來看, 盡管拍照時光照不是很均勻, 并出現了噪聲, 但還是取得了很好的效果, 說明了該算法對環境有很強的適應能力。

3.2 特征區域分割

特征區域分割的目的是把文字所在區域從8位灰度圖中提取出來分析。這一點是基于質心位置的, 首先對二值化圖像求取質心位置, 對于圖像區域A, 質心 (x0, y0) 定義為:

x0= (x, y) Axf (x, y) (x, y) Af (x, y) , y0= (x, y) Ayf (x, y) (x, y) Af (x, y) (1)

f (x, y) 是 (x, y) 位置像素點的值 (這里為0或1) , 當然作為中心像素點的位置, 要將 (x0, y0) 取整。圖4和圖5上分別標出了當前計算的質心坐標。由質心位置確定一個鄰域矩陣, 最簡單的方法是以質心為中心取一個矩形圖像。對于圖像區域A, 從中截取部分為B (B⊂A) , 設B的長、寬分別為L+1, W+1, 則:

對上面兩個零件灰度圖進行特征區域分割, 其結果如圖6所示。

圖中選擇了L=200, W=200, 該值是在原圖為1 600×1 200下設置的。在實際中, 當CCD安裝及參數固定時, 該值也就隨之確定了。另外, 該值也沒有必要讓零件上所有的文字落入所截圖之內 (但必須要有一部分在) , 對最終的分揀判別并不敏感。所以特征區大小有很寬的取值范圍。

在一般的分揀系統中, 實際拍攝時零件平放在傳送帶上的角度是很難固定的 (固定常常需要復雜的機械控制裝置) , 但不同的擺放角度并不會影響對零件質心位置的求取, 并且鏡頭與零件的距離在一定的范圍內都不會對分揀結果產生影響, 這些都為鏡頭的安裝帶來了極大的便利。雖然本研究所討論的零件特征位于質心附近, 但只要對程序稍作處理就可以適用于特征在零件任意位置的情況。例如:當特征區域中心偏向在質心左側d個像素時, 可以在提取鄰域矩陣時讓中心同樣地偏移d個像素, 從而實現對質心區域的捕捉。

為便于特征參數提取, 需要對特征區進行二值化, 同樣選擇合適的閾值是二值化效果的關鍵。根據圖像的特點, 使用Otsu的類間方差最大自動選擇閾值顯然不合適。這里考慮人工閾值法是可取的, 因為分揀系統調試好后, 其工況一般不會有什么變化, 該閾值一般不用作什么改動。如果需要, 根據直方圖很容易來選擇一個合適的閾值, 在實際上位機程序中可以允許用戶使用一個圖形控件 (如滑動條) 來改變閾值并可立即看到結果。通過對上面特征區圖像進行閾值設置 (這里T=0.35) , 二值化結果如圖7所示。

3.3 特征參數計算與識別

特征參數計算與識別是針對特征區圖像設計一個有無文字的判別式。該判別式的值要求使有無文字的零件有盡可能大的區分度, 但還要有很好的穩定性, 且運算不易太復雜。這里直接對二值圖像素值為1的個數進行統計, 并求出所占百分比:

p= (x, y) Bf (x, y) (L+1) × (W+1) ×100% (3)

根據式 (3) 計算圖7, 可知有字與無字零件圖像p值還是有比較大的差別。設置一個合適的閾值pT并與當前計算出的p進行比較, 即可判斷零件有無文字, 完成識別過程。

4 分析與討論

為了更好地檢驗算法, 本研究進行了樣本零件的識別, 設置特征區二值化的閾值T=0.35, 參數識別閾值pT=0.96, 即當計算結果 (p值) 大于或等于0.96時判斷為無字零件, 小于0.96時為有字零件。其結果如表1所示。

考慮到特征區二值化的閾值T的影響, 本研究對特征參數pT的變化進行了計算, 并分別對無字和有字零件數據進行了最小二乘擬合, 其結果如圖8所示。

從曲線結果可以獲得Tp的理論最優解, 即有字與無字圖像p值有最大差值時, 此時T=0.46, Δp=0.356-0.076=0.28, 取pT= (0.356+0.076) /2=0.216。利用該參數重復試驗可獲得99%的準確率 (注意此時的比較結果與前面相反) ??紤]到T=0.46時曲線有較大斜率, 即有較好的魯棒性 (Δp有最大值) , 但系統有失穩定性。為獲得理想的綜合性能, 取T=0.39, pT=0.928, Δp在此處有較大值, 且曲線有較小斜率, 即為理想系統參數。同樣重復試驗, 可獲得100%的準確率。

另外, 為了檢驗該算法的實時性, 本研究將其與傳統基于prewitt算子邊緣化識別算法進行了對比, 在同樣的試驗條件下, 基于本研究二次分割算法比該傳統算法在時間上節省了40%, 此外傳統算法在識別準確率上也只有75%左右。

從試驗結果來看, 該算法可以很好地應用于該類零件的分揀。識別出錯主要是因為零件所在位置光照不均, 從而導致所求質心與實際過度偏離, 特征區所包含文字部分太少。與其他對象識別系統一樣, 該算法對光照均勻同樣有一定的要求, 但只要保證零件是特征區域內灰度變化不是很大都不會影響分揀結果, 這在很大程度上提高了算法對環境的適應能力。

5 結束語

本研究結合實際生產中零件上是否有字這一特征進行了研究, 提出的二次分割算法并不復雜:背景區域分割是基于灰度的統計特征, 用Otsu法來自動選擇閾值;特征區分割是直接對質心鄰域的提取;特征參數同樣使用了統計特征。算法易于實現, 實時性好, 特別適用于工業在線檢測系統。

另外, 本研究對于非質心特征區的識別也進行了相應的探討, 由于零件特征區位置固定, 考慮通過質心偏移定位特征區來進行識別, 而不影響識別算法的核心, 從而提高該算法的普遍適用性。

摘要:為了提高生產中機械零件自動識別的實時性及分揀的準確率, 提出了一種二次分割算法, 對鏈片上有無鋼印進行識別研究。首先, 對采集的圖像進行了基于Otsu法的背景自動閾值分割;接著, 通過質心定位提取質心鄰域矩陣, 實現了特征區域圖像的分割;最后, 給出了基于特征區灰度值統計模型的判別式, 并對關鍵參數進行了優化。試驗結果表明所提出的二次分割算法準確率高、魯棒性好, 能有效滿足復雜環境下特征對象的識別要求。

關鍵詞:目標識別,自動閾值,圖像分割,質心定位

參考文獻

[1]OLIVEIRA P R, ROMERO R A F.Improvements on ICAmixture models for image pre-processing and segmentation[J].Neurocomputing, 2008, 71 (10-12) :2180-2193.

[2]SPRATLING M W.Learning image components for objectrecognition[J].Journal of Machine Learning Research, 2006 (7) :793-815.

[3]王志明, 張麗, 王麗君.基于單程分裂與歸并圖像分割的集裝箱號識別[J].中國圖象圖形學報, 2007, 12 (3) :450-455.

[4]MARBACHG, LOEPFE M, BRUPBACHER T.An imageprocessing technique for fire detection in video images[J].Fire Saeety Journal, 2006, 41 (4) :285-289.

[5]XUB G, MURRELLS C M, TAO X M.Automatic measure-ment and recognition of yarn snarls by digital image and sig-nal processing methods[J].Textile Research Journal, 2008, 78 (5) :439-456.

[6]李闖, 丁曉青, 吳佑壽.一種基于直方圖特征AdaBoost的圖像中的文字定位算法[J].中國圖象圖形學報, 2006, 11 (3) :325-331.

[7]謝小光, 計時鳴, 張利, 等.數字識別技術在鋼卷尺自動檢定系統中的應用[J].機電工程, 2008, 25 (9) :62-64.

零件配合算法范文第3篇

關鍵詞:反求工程,鈑金零件,點云層疊處理算法,形狀誤差

0 引言

在反求工程中, 將一個密集非結構的點云數

據轉化為CAD模型一般有兩種方法:基于三角形多面體網格方法和分割擬合方法。文獻[1,2,3,4]研究了三角網格 (STL) 化的技術, 但是, 以目前計算機的水平, 要將點云數據三角化需要很長時間, 而且很難減小模型的形狀誤差。在具體工程中, 尤其在模具和汽車等工業中, 描述實體外形的數據往往呈散亂狀, 這使得CAD模型的建立非常困難且費時, 甚至可能無法得到完整的曲面或實體模型。

點云分割方法能夠根據表面區域將點云數據分割成幾部分, 由這些分割的區域來擬合出各自單個的曲面。相對基于三角形多面體網格方法, 點云分割方法能有效提高計算機處理效率, 但是在鈑金零件 (飛機、汽車、輪船覆蓋件等) 的海量點云數據采集過程中不可避免地會遇到模型變形問題, 造成模型建立時很難處理層疊點云, 這樣就增大了模型的形狀誤差。

目前, 已有一些學者對鈑金件在反求過程中由于變形而引起的點云數據分層進行了研究。Liu[5]研究了一種基于層模型的自動分割方法, 這種方法可以提高計算機的運行效率, 但是與原始點云數據相比, 很難減小后續模型的形狀誤差。Zhang等[6]通過使用形狀誤差來控制層的厚度, 從而提出一種直觀的點云數據分割方法, 這種方法一般應用于快速成形的產品, 同樣不能減小所建立模型的形狀誤差。

1 層疊點云處理算法的提出

由于鈑金件的鋼板很薄, 在數據采集過程中會出現受力變形現象, 因此采集到的點云數據會發生層疊現象。汽車白車身STL化點云及切片如圖1所示。

本文提出一種新的點云層疊處理算法, 該算法沿著用戶所定義的方向切片, 將點云分割成一系列的層, 每層的數據點都投影在垂直于建模方向的一個平面上, 這些數據點的投影被用于重新構建一個多面體近似曲線, 近似曲線的真實程度用形狀誤差度量, 通常用點到多邊形之間的距離來表示形狀誤差。將每層構建的曲線連接構成近似曲面。所有層的多邊形曲線都是通過上述方法來構建的。該算法將層疊的點云數據進行分層, 可以減小所構建模型的形狀誤差。

2 層疊點云處理算法描述

2.1二維多邊形的構建

2.1.1 相對直邊構建

隨意選取與投影平面垂直的平面A, 平面A在二維空間表示為一條直線, 用L1:Ax+By+C′=0 (A′、B′、C′為任意常數) 來表示。根據點云的密度, 在直線L1兩邊各取一個與A平行的對稱平面A1、A2來進行采樣, 將A1、A2范圍內的點用集合M1表示, M1={Xi= (xi, yi) |i=1, 2, …, M}。

(1) 確定離直線L1最近的點, 即到平面A的垂直距離最小的點, 因此引入點到直線距離公式:

di=|Axi+Byi+C| (A) 2+ (B) 2 (1)

將集合M1內的所有點代入式 (1) , 因為得到d1=0.7mm, 小于其他數值, 所以點X1為最近點。

(2) 確定層疊點云離直線L1最近的點, 在采樣范圍內, 沿L1方向, 確定距X1最遠的點, 過該點作L1的垂線, 點X1到該垂線的垂足設為T, 過線段X1T的中點作一條垂直于L1的垂線, 該垂線將采樣點云M1分成了兩部分, 重復步驟 (1) , 利用式 (1) 計算得到X2為離平面A最近的點。

(3) 連接點X1、X2, 過連接線中點作平面A的垂線, 將采樣的點云分為兩部分, 用集合M2和M3表示。將M2中的點向平面A作垂線, 判斷在直線L1方向上最大點 (波峰) 與最小點 (波谷) , 由此確定點X3為最大點, X1為最小點。同理可得M3中的最大點X5與最小點X4。

(4) 將M2中的最大點與M3中的最小點相連接, 最小點與最大點相連接, 即連接點X3與點X4, 點X1與點X5, 取這兩條線段的中點分別為a、b, 連接點a與點b, 設定其中點為m。應用同樣的方法得到符合平面B的最近兩個點X′1、X′2, 以及與平面B1和B2相對應的點X′3、X′4、X′5、X′6。連接X′3與X′4, X′5與X′6。它們的中點分別為a′與b′。然后將點a′、b′相連組成直線ab′, 取其中點為n。連接點m、n, 組成直線L2。

(5) 確定直線L2的端點。先引進一個最佳線性的概念, 應用相交的概念[7]來定義給定點的線性情況。假設一個N系列的點云數據{Pi= (xi, yi) |i=1, 2, …, N}, 這些點的線性指數被設定為

ρ=|i=1Ν (xi-x¯) (yi-y¯) i=1Ν (yi-y¯) 2i=1Ν (xi-x¯) 2| (2)

其中, x¯y¯分別為{xi}和{yi}的平均值。ρ的值在0與1之間, ρ越大, 說明線性越好。如圖2所示, 通過兩個半徑分別為R1和R2的圓來定義相鄰點云之間的關系。R1和R2的線性指數分別為0.60和0.97, 很明顯, 在R1中的點表現出了較好的線性, 這是因為與它相鄰的點中不包括數據點的拐點。將直線L2延長, 與半徑為R2的圓相交, 這個交點h就為直線L2的端點。

2.1.2 相對斜邊構建

相對斜邊的構建與相對直邊的構建有所不同, 這個區域點云與平面所成的角度較大, 可以將給定范圍內的點云投影到平面上, 由于最大點到最小點的距離達到了10mm, 因此采用近似曲率的方法來構建斜邊曲線。

首先隨意選取與投影平面相垂直的平面C, 接著在平面C的兩邊各取一個對稱且平行于平面C的平面C1與C2, 然后確定在平面C1與C2范圍內分別離這兩個平面最近的點Y1、Y2和Y3、Y4。這四個點連接可以組成四條直線、兩個直線方程組:

y=y1-y3x1-x3x+b1y=y2-y4x2-x4x+b2}

(3)

y=y1-y4x1-x4x+b3y=y2-y3x2-x3x+b4}

(4)

式中, b1~b4為常數項。

對于上述兩個方程組, 若兩條直線相交于采樣區域內, 則該方程組有解, 這兩條直線就為所要求的;否則舍去不要。將采樣點坐標代入兩個方程組驗證得到式 (4) 方程組是符合要求的, 曲線如圖2所示, 將兩條直線的交點c作為相對斜邊構建的起始點。應用同樣的方法得到與平面D相關的點d, 連接點c與點d, 直線cd為斜邊部分的分割線, 然后采用式 (2) 確定直線的端點j。

2.1.3 倒角部分構建

模型上圓角應該由圓弧連接, 這里使用線段逼近曲線的方法, 即利用線段生成點云數據的圓角部分。

將兩個端點hj相連, 判斷該線段是否為倒角區域點云的分割線, 判斷的依據是線段的法向方向 (包括內法向和外法向) 點云的數量。如圖2所示, 線段hj中間部分外法向方向有兩層點云, 而內法向方向則沒有點云, 因此, 不能將該線段作為分割線。選取線段的中間點建立垂直平面E, 然后再次利用2.1.1節中步驟 (1) 所使用的方法來確定相交點e, 分別建立線段heej, 用上面所述的判斷方法來確定這兩條線段是否為分割曲線, 如果不是, 則重復上述步驟, 一直到滿足分割線的條件為止。經判斷, 線段eh符合條件, 為該部分的分割曲線;線段ej不符合條件, 則繼續分割。運用同樣的方法取線段ej的中間平面F, 然后重復前面的步驟, 得到線段effj, 判斷得出這兩條線段為所求線段。

最終圖形如圖2所示, 點n、m、h、e、f、j、d、c連接成的線段為點云層疊處理算法中的最優二維多邊形曲線。

2.2分割曲面的構建

根據生成的多邊形曲線, 自動生成一系列相鄰的曲面片 (曲面片的生成方法可以使用loft曲面、Sweep曲面、Blend曲面等方法) , 這些曲面片被自動覆蓋到數字化平面上, 利用這些生成的曲面片的法向方向, 將層疊的點云數據分成兩部分, 然后再分別對這兩部分數據點進行STL格式化, 得到最終的網格化點云模型, 如圖3所示。

3 應用實例

上述算法已經通過C++和OpenGL實現。選取一輛兩廂汽車的白車身來對該算法進行驗證, 選取點云數據區域的長度為3500mm, 寬度為2100mm, 高度為1500mm, 點云數量達到3 182 876個, 使用ATOS (光學掃描設備) 進行掃描。圖4顯示的是掃描測量點云STL化后的結果, 圖5顯示的是采用上述算法重新STL化后的點云數據結果。不難看出, 由于該車型面積比較大, 在數據采集過程中掃描設備在工件上的移動造成零件的輕微變形, 故在圖4中很難得到該模型準確的形狀結構, 而圖5所示的多邊形曲線及曲面, 效果較圖4好。

參考文獻

[1]Lee K H, Woo H.Direct Integration of Reverse En-gineering and Rapid Prototyping[J].Comput.Ind.Eng., 2000, 38 (1) :21-38.

[2] Chen Y H, Ng C T, Wang Y Z.Generation of an STL File from 3D Measurement Data with User-controlled Data Reduction[J].Int. J. Adv. Manuf. Technol., 1999, 15 (2) :127-131.

[3]Lee S H, Ki m HC, Hur S M, et al.STL File Gener-ation from Measured Point Data by Segmentationand Delaunay Triangulation[J].Computer-aidedDes., 2002, 34 (10) :691-704.

[4] Sun W, Bradley C, Zhang Y F, et al.Cloud Data Modeling Employing a Unified, Non-redundant Triangular Mesh[J].Computer-aided Des., 2001, 33 (2) :183-193.

[5]Liu G H.Segmentation of Cloud Data for ReverseEngineering and Direct Rapid Prototyping[D].Sin-gapore:National University of Singapore, 2001.

[6] Zhang Y F, Wong Y S, Loh H T, et al.An Adaptive Slicing Approach to Modeling Cloud Data for Rapid Prototyping[J].Materials Processing Technology, 2003, 140:105-109.

零件配合算法范文第4篇

機器視覺在機械行業中越來越廣泛應用于產品識別、檢測、裝配等領域[1]。零件識別是現代化生產線上基于機器視覺的工業機器人實現自動化視覺檢測的關鍵技術, 零件識別技術中必不可少的部分是特征取。特征提取常用的提取算子有Moravec算子[2]、Harris算子[3]、SUSAN算子[4]和SIFT算子[5]。

SIFT (尺度不變特征轉換) 算法是目前用于圖像識別中較為成功的特征提取算法, 因具有很好的尺度、旋轉、視角和光照不變性被廣泛應用, 如三維重建[6,7]、影像配準[8,9]、圖像拼接[10,11]、目標識別[12]。

由于傳送帶上零件因擺放存在的遮擋、旋轉等問題的存在, 文章選用SIFT算法對零件圖像進行特征提取。但是該算法提取的是圖像的局部區域特征點, 而組成機械零件的主要幾何元素是直線或是圓邊緣, 所以為了充分利用邊緣角點特征, 在SIFT算法的基礎上引入SUSAN角點檢測算子[13]。因為SUSAN算子是用于檢測圖像角點特征較好的算法, 基于最小核差值的底層處理方法, 直接處理的是圖像的灰度值, 速度快, 定位精度高, 有很好的抗噪性能。

所以將SIFT算法與SUSAN算法結合使用于零件圖像的特征提取, 能有效檢測出圖像的角點, 更大限度的利用了圖像邊緣點信息。為了增強零件的圖像邊緣響應, 文章針對機械零件的幾何特點, 首先選用均值濾波和拉普拉斯銳化預處理方法。

1 圖像預處理

由于生產線環境、輸入設備和光照條件不穩定的影響, 直接采集到的圖像會受到噪聲、光照的影響, 使得圖像不清晰, 不利于提取特征點。為了降低噪聲, 改善圖像質量, 提高圖像的邊緣信息, 就要對圖像進行預處理, 為提取圖像特征提供更多的信息量??紤]到零件幾何特征中的線邊緣特征多的特點并通過實驗得出, 對零件圖像進行均值濾波和拉普拉斯銳化處理, 能使圖像特征的提取效果更好。

1.1 均值濾波

濾波原理是利用窗口中像素的平均值來代替窗口中心的像素值。一幅M×N的圖像f (x, y) 經過大小為m×n (m和n是奇數) 的加權均值濾波器w (s, t) 濾波的過程可由下式給出:

常用的濾波器模板有平均模板和高斯模板。為了使零件圖像平滑更柔和, 邊緣保留效果更好, 選用如圖1所示的高斯模板進行濾波處理。

1.2 拉普拉斯銳化

圖像銳化的目的是使經濾波后模糊化的圖像邊緣、輪廓線以及圖像的細節變的清晰。因拉普拉斯濾波響應與濾波器作用的圖像的突變方向無關, 各向同性, 具有旋轉不變性, 是適合零件圖像銳化的濾波算法。一個二維圖像函數f (x, y) 的拉普拉斯算子定義為:

在x和y方向上的二階微分分別是:

所以, 遵循以上三式, 兩個變量的離散拉普拉斯算子是:

通過實驗, 文章采用的模板如圖2所示。

2 簡化SIFT-SUSAN算法提取特征

2.1 SUSAN算法檢測原理

SUSAN算法用預定義的掩板對圖像的每個象素點進行局部運算操作。算法檢測原理如圖3所示。a、b、c、d是掩板在圖像中位置, 中心點是掩板核, 外輪廓是掩板邊緣。掩板內所有與核值相同或是相似的像素構成的區域稱作相似核值區 (USAN) 。從圖中可以看出角點就是USAN的面積占模板總面積1/4的像素點, 即b點。因此SUSAN檢測原則就是判斷USAN域中灰度相似的像素占整個掩板面積的比例。

模板在圖上移動檢測時, 分別用式 (6) 尋找USAN區域, 用式 (7) 計算該區域的面積。

式中:r0、r是模板核及其他點的位置;I (r0) 是模板核的灰度值;I (r) 是模板內其他像素的灰度值;t是灰度閾值;c (r, 0r) 是灰度比較的結果;S (r0) 是USAN的面積。

2.2 SUSAN-SIFT算法提取特征點

文章將算法用于零件識別的優點:1) 在作識別前, 針對零件圖片特點選用均值濾波和拉普拉斯銳化預處理圖片, 使零件紋理清晰, 邊緣特征加強;2) 在SIFT算法中增加SUSAN檢測算子, 增加邊緣角點特征的檢測;3) 文章在生成SIFT描述子時, 采用8×8的采樣窗口, 只計算每個關鍵點32維特征向量即可, 縮短了提取時間。SUSAN-SIFT算法主要包括5個步驟:

1) 構建尺度空間。設I (x, y) 是零件輸入圖像, 則圖像的尺度空間函數l (x, y, σ) , 等于尺度可變高斯函數G (x, y, σ) [14]和I (x, y) 的卷積:

為了有效的在尺度空間檢測到穩定的關鍵點, 利用不同尺度的高斯差分核與圖像卷積計算高斯差分尺度空間:

實際計算過程中, 用下式計算高斯差分核, ▽2是高斯因子:

2) 檢測DOG尺度空間極值點。在圖像域和尺度域中比較樣點及同尺度和上下相鄰尺度中共27個點的極值點, 作為圖像在該尺度下局部區域的候選點。

3) SUSAN角點檢測。用圓形模板掃描圖像中每個位置, 用式6比較模板內各像素與核值的灰度, 用式7計算SUSAN的面積, tp用掩板內圖像像素的平均值代替。本文采用的模板如圖5所示圓形掩板, 能覆蓋37個象素點, 半徑是3.4個象素。

4) 為特征點選取主方向。用式 (12) 計算檢測出的每個特征點的梯度模值和方向, 式中L所用的尺度為每個關鍵點各自所在的尺度。

以關鍵點為中心, 半徑為1.5的鄰域窗口內采樣, 用直方圖統計鄰域像素的梯度方向, 選取直方圖的主峰值作為關鍵點的主方向, 80%主峰值的局部峰值作為該點的輔助方向。

5) 生成SIFT特征向量。以關鍵點為中心旋轉θ角度調整至0o, θ為該關鍵點的方向。再以關鍵點位中心取8×8的采樣窗口, 利用式 (12) 計算窗口內每個點的模值m (i, j) 和方向θ ( (ii, j, ) j, ) 窗口內每個小格代表關鍵點鄰域所在尺度空間的一個像素, 箭頭長度代表梯度模值, 窗口內箭頭方向代表該像素的梯度方向, 高斯窗口對其進行加權運算。利用直方圖統計8×8小塊上8個方向的梯度方向直方圖, 繪制每個方向的累加值, 形成4個種子點。這樣對每個關鍵點就形成2×2×8=32維的描述子, 降低了特征點維數的計算, 縮短了時間。并將向量歸一化處理, 進一步去除了光照的影響, 增加了匹配的穩健性。

該算法的具體實現流程如圖6所示。首先采用均值濾波和拉普拉斯銳化預處理圖片, 利用簡化SIFT算法提取特征點, 在提取過程中加入SUSAN算子, 完成零件圖像的特征點匹配。運用MATLAB對該算法進行編程。

3 實驗及結果分析

本文選擇了幾何特征典型的三類樣本零件:六角螺母、墊片和軸承蓋。分別采集三種零件圖像各兩張, 其中六角螺母兩張圖片的左右角度差15o, 大小比例為一倍, 墊片兩張圖片的上下角度差15o, 大小比例為1.5倍。在Matlab軟件中分別采用SIFT算法和本算法完成三種零件不同形態的圖像匹配。對比結果如表1所示, 墊片與螺母的對比實驗如圖7、圖8所示, 圖中綠色圓的圓心代表檢測的特征點, 圓的數量代表特征點數的數量, 同一零件形態不同的圖像中匹配成功的特征點用藍色線對應連接。

4 結論

零件圖片幾何特征相對規則, 針對這一特點, 文章首先對采集的圖像進行均值濾波和拉普拉斯銳化預處理, 增強圖像邊緣特征, 再利用簡化SIFT算法提取特征點, 并在提取過程中加入SUSAN算子, 增加角點特征的提取。

上一篇:軍人奉獻高原范文下一篇:施工方案創效范文

91尤物免费视频-97这里有精品视频-99久久婷婷国产综合亚洲-国产91精品老熟女泄火