王沖,茅健,鄭武
(1.201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院;2.100089 北京市 華融普瑞北京科技有限公司)
拓?fù)鋬?yōu)化設(shè)計(jì)是在限制部分設(shè)計(jì)條件的情況下尋求給定材料指定性能最優(yōu)的材料分布,與其他常規(guī)優(yōu)化方法相比,設(shè)計(jì)空間更大且可以最大化結(jié)構(gòu)性能[1]。隨著計(jì)算機(jī)性能的不斷提升以及相關(guān)技術(shù)理論的不斷完善,其應(yīng)用領(lǐng)域也不斷拓寬。然而拓?fù)鋬?yōu)化所得結(jié)果為非參數(shù)化模型,邊緣不夠清晰且存在鋸齒狀單元、可制造性較差等問(wèn)題。
針對(duì)拓?fù)鋬?yōu)化邊界輪廓問(wèn)題,現(xiàn)有研究方法有密度輪廓提取方法[2-3]和點(diǎn)集幾何重構(gòu)方法[4]等。付永清等[5]基于梯度矢量流模型,利用雙線性插值求解點(diǎn)集GVF,實(shí)現(xiàn)柔順機(jī)構(gòu)拓?fù)鋱D輪廓提取,但未能解決拓?fù)浣Y(jié)構(gòu)鋸齒狀邊緣問(wèn)題;楊睿等[6]利用鏈碼對(duì)邊界離散點(diǎn)進(jìn)行分段,采用B 樣條插值曲線實(shí)現(xiàn)拓?fù)浣Y(jié)果邊界重構(gòu),但方法依賴插值點(diǎn)和輪廓曲率閾值的選擇;覃琨等[7]對(duì)輪廓分段,利用直線或圓弧等簡(jiǎn)單幾何特征逼近拓?fù)漭喞瑢?shí)現(xiàn)結(jié)果的幾何重構(gòu),但此方法對(duì)復(fù)雜邊界適用性受限,重構(gòu)效果不理想;Zhu 等[8]引入能量泛函,利用帶有距離抑制方案的水平集方法提取輪廓,但其計(jì)算效率受限,不光滑點(diǎn)處收斂較難,導(dǎo)致結(jié)果不夠理想;Yi 等[9]基于密度等高線法有效提取拓?fù)漭喞w結(jié)構(gòu)光滑度較好,但后續(xù)仍需形狀優(yōu)化;Guest 等[10]利用Heaviside 階躍函數(shù)進(jìn)行線性投影以實(shí)現(xiàn)中間密度單元的0/1 逼近,提升黑白單元占比;陳洪武等[11]基于響應(yīng)面法編寫APDL 程序?qū)崿F(xiàn)最優(yōu)結(jié)構(gòu)的快速收斂;Fuchs 等[12]引入SRV 約束條件,對(duì)設(shè)計(jì)變量確定最小量規(guī),減少了結(jié)構(gòu)中灰度單元;Liang 等[13]通過(guò)序列整數(shù)規(guī)劃和正則松弛算法實(shí)現(xiàn)了對(duì)具有離散變量靈敏度的拓?fù)鋬?yōu)化問(wèn)題的求解,結(jié)構(gòu)清晰度得到提升;張日成等[14]通過(guò)對(duì)失穩(wěn)載荷因子的靈敏度分析,基于Kuhn-Tucker 條件對(duì)優(yōu)化結(jié)果實(shí)現(xiàn)結(jié)構(gòu)的穩(wěn)定性提升。
本文提出通過(guò)Canny 檢測(cè)算法提取拓?fù)鋬?yōu)化結(jié)構(gòu)邊緣,結(jié)合DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法以及凸包Graham Scan 算法,通過(guò)對(duì)整體數(shù)據(jù)點(diǎn)集的邊緣提取、密度聚類分析以及最小凸輪廓的構(gòu)建,使所得拓?fù)浣Y(jié)構(gòu)邊緣清晰,解決鋸齒狀邊緣問(wèn)題。同時(shí),對(duì)拓?fù)鋬?yōu)化構(gòu)型中可能存在的無(wú)實(shí)際意義的空隙單元進(jìn)行一定修復(fù),為提升拓?fù)錁?gòu)型的可制造性提供一種設(shè)計(jì)方法。
Canny 檢測(cè)算法通過(guò)識(shí)別圖像邊緣特征,在保留圖像類型、姿態(tài)等主要信息下,有效減少數(shù)據(jù)處理規(guī)模,提升運(yùn)算速度。基本原理為,采用二維零均值高斯函數(shù)卷積運(yùn)算,將像素點(diǎn)與周圍鄰域內(nèi)像素加權(quán)平均處理,達(dá)到圖像去噪和平滑。高斯濾波器表達(dá)式[15]為
降噪和平滑處理后,Canny 算法通過(guò)計(jì)算水平、垂直方向梯度值,即2 個(gè)方向像素的1 階導(dǎo)數(shù),然后采用非極大值抑制方法對(duì)梯度圖像中像素點(diǎn)進(jìn)行處理,比較像素點(diǎn)和正負(fù)2 個(gè)方向上梯度的幅值,確定該像素點(diǎn)是否保留。通過(guò)設(shè)定的高低雙閾值檢測(cè),較大閾值可用來(lái)控制強(qiáng)邊緣分割;較小閾值可用做控制邊緣連接,即高于高閾值的像素點(diǎn)可歸類為強(qiáng)邊緣像素集合,對(duì)低于較低閾值的像素點(diǎn)進(jìn)行抑制。處于兩者之間的保留高于上閾值像素連接點(diǎn),通過(guò)處理最終得到準(zhǔn)確的邊緣二值化圖。
DBSCAN 是一種基于密度的無(wú)監(jiān)督ML 聚類算法,其對(duì)噪音點(diǎn)敏感性較低且無(wú)需指定集群數(shù)量,適用于拓?fù)浣Y(jié)構(gòu)所得數(shù)據(jù)點(diǎn)集[16],密度聚類算法以其噪聲低敏性在數(shù)據(jù)點(diǎn)集連續(xù)性及均勻性較好的場(chǎng)合運(yùn)用廣泛,實(shí)際應(yīng)用效果與其他基于層次或網(wǎng)格的劃分方法相比更為突出。鞠夕強(qiáng)[17]等針對(duì)毫米波雷達(dá)數(shù)據(jù)不均勻以及噪聲等問(wèn)題,采用DBSCAN 算法改進(jìn)雷達(dá)點(diǎn)云識(shí)別,實(shí)現(xiàn)目標(biāo)準(zhǔn)確率的提升。呂富強(qiáng)等[18]針對(duì)建筑物點(diǎn)云提取過(guò)程繁瑣等問(wèn)題,基于DBSCAN 算法,實(shí)現(xiàn)準(zhǔn)確率提升的建筑單體化簇類提取。
DBSCAN 算法包含以下一些關(guān)鍵概念,設(shè)數(shù)據(jù)集合為Q={p0,p1,…,pn}。距離度量主要采用歐式空間距離來(lái)計(jì)算,其中2 個(gè)需要根據(jù)數(shù)據(jù)類型定義的算法參數(shù)是:
(1)鄰域(Eps):數(shù)據(jù)集合中任意點(diǎn)p,其鄰域是指以點(diǎn)p為中心、以Eps 為半徑所圍成的空間,將其鄰域內(nèi)的數(shù)據(jù)對(duì)象集合記為NEps(p)
(2)最小包含點(diǎn)(minPts):在一個(gè)鄰域半徑內(nèi)最少存在的點(diǎn)集數(shù)量,若鄰域特征點(diǎn)數(shù)量大于minPts,則該點(diǎn)與包含點(diǎn)構(gòu)成一簇。
數(shù)據(jù)集合中點(diǎn)集的分類有以下3 種:
(1)核心點(diǎn)(core point):數(shù)據(jù)集合中任意點(diǎn)p,若滿足│NEps(p)│≥minPts,則稱p為數(shù)據(jù)集合Q的核心點(diǎn)。如圖1 所示,在鄰域半徑范圍存在特征點(diǎn)數(shù)為6,確定為核心點(diǎn)。

圖1 各點(diǎn)集示意圖Fig.1 Schematic diagram of each point set
(2)邊界點(diǎn)(border point):數(shù)據(jù)點(diǎn)p不滿足核心點(diǎn)條件,但是該點(diǎn)處于另外數(shù)據(jù)點(diǎn)pi的鄰域范圍內(nèi),則稱p為數(shù)據(jù)集合Q的邊界點(diǎn)。圖1 中,在鄰域半徑范圍存在特征點(diǎn)數(shù)僅為2,確定為邊界點(diǎn)。
(3)噪聲點(diǎn)(noise point):數(shù)據(jù)集合Q中不滿足核心點(diǎn)以及邊界點(diǎn)條件的其余點(diǎn)集稱為噪聲點(diǎn)。如圖1 所示,噪聲點(diǎn)為鄰域半徑范圍以外的特征點(diǎn)數(shù)。
上述3 種類型點(diǎn)之間通常有以下4 種關(guān)系:
(1)直接密度可達(dá)(directly density reachable):數(shù)據(jù)集合中任意點(diǎn)p,若滿足│NEps(p)│≥minPts,則對(duì)于數(shù)據(jù)點(diǎn)p的Eps鄰域內(nèi)任一數(shù)據(jù)點(diǎn)q,可稱為q是從p直接密度可達(dá)的,如圖2(a)所示。

圖2 點(diǎn)集關(guān)系示意圖Fig.2 Schematic diagram of point set relationship
(2)密度可達(dá)(density reachable):數(shù)據(jù)集合中存在核心點(diǎn)p1,p2,…,pn,其中p到p1、p1到p2直接密度可達(dá)……pn-1到pn、pn到q直接密度可達(dá),則稱q是從p密度可達(dá)的,如圖2(b)所示。
(3)密度相連(density connected):若數(shù)據(jù)集合中存在核心點(diǎn)k,使得點(diǎn)k到點(diǎn)p和點(diǎn)q都是密度可達(dá)的,則點(diǎn)p和點(diǎn)q密度相連。密度相連具有對(duì)稱性,且相連的兩點(diǎn)屬于同一聚類簇,如圖2(c)所示。
(4)非密度相連(non density connected):不滿足上述條件的兩點(diǎn)屬于非密度相連,即兩點(diǎn)屬于不同聚類簇或其中存在噪聲點(diǎn),如圖2(d)所示。
DBSCAN 算法的處理步驟如圖3 所示。鄰域和最小包含點(diǎn)的取值對(duì)后續(xù)聚類效果有著較大影響。選取的Eps值較小,易導(dǎo)致聚類族簇?cái)?shù)量過(guò)多或較多數(shù)據(jù)未參與聚類;選取的Eps值較大則會(huì)導(dǎo)致大部分聚類族簇被合并,大量數(shù)據(jù)集處于同一聚類。為獲得較好的聚類效果,應(yīng)對(duì)鄰域和最小包含點(diǎn)進(jìn)行聯(lián)合調(diào)參,其中估計(jì)最優(yōu)的Eps值可選用K臨近算法,minPts值通常設(shè)置為大于或等于數(shù)據(jù)集維數(shù),一般可選擇數(shù)據(jù)集維數(shù)的2 倍。

圖3 DBSCAN 聚類流程圖Fig.3 DBSCAN clustering flow chart
凸包S的定義:對(duì)于給定集合X,在以實(shí)數(shù)表征的向量空間V 中,所有包含X的凸集的交集[19],其中
而集合X的凸包也可由內(nèi)部點(diǎn)集線性組合構(gòu)造而成,可表示為
二維空間內(nèi)凸包可視為給定點(diǎn)集的所有點(diǎn)的最小凸多邊形,滿足多邊形上任取兩點(diǎn)以線段連接,所得線段任意點(diǎn)均在多邊形內(nèi)。
最小凸包Graham Scan 算法運(yùn)行過(guò)程:
(1)確定極點(diǎn)P0。假定待優(yōu)化數(shù)據(jù)點(diǎn)集為Q,以點(diǎn)集中縱坐標(biāo)最小點(diǎn)作為極點(diǎn),若多點(diǎn)縱坐標(biāo)相同,則選取其中橫坐標(biāo)最小點(diǎn),如圖4(a)所示。

圖4 Graham Scan 凸包構(gòu)造圖Fig.4 Graham Scan convex hull structure
(2)按極角排序。對(duì)剩余點(diǎn)按極點(diǎn)P0的逆時(shí)針?lè)较蚺判颍瑢Ⅻc(diǎn)集順序保存為{P0,P1,…,Pn},若同一極角出現(xiàn)多點(diǎn),保留極徑最大的點(diǎn)。
(3)將P0,P1,P2壓入棧中,如圖4(b)所示。
(4)依據(jù)判別式Δ 計(jì)算三點(diǎn)叉積并做左轉(zhuǎn)判斷,若滿足判定條件則將Pi入棧處理,否則彈出棧頂元素,按序掃描后續(xù)點(diǎn)集,如圖 4(c)所示。判別公式為
(5)依次完成所有點(diǎn)集掃描,最終堆棧元素為凸包的頂點(diǎn)序列,如圖4(d)所示。
如圖5 所示,將受不變載荷簡(jiǎn)支梁作為數(shù)值計(jì)算模型,不失一般性。其左下端固定支撐,右端滑動(dòng)支撐,整體梁身為優(yōu)化設(shè)計(jì)區(qū)域,設(shè)計(jì)域離散單元數(shù)為:300×100,中心部分下端承受豎直向下力F。

圖5 優(yōu)化簡(jiǎn)支梁結(jié)構(gòu)圖Fig.5 Structural diagram of optimized simply supported beam
選擇整體材料為Structural Steel,其楊氏模量為E=200e9 Pa,泊松比μ=0.3,取整體結(jié)構(gòu)厚度d=4 mm,體積約束f=0.5,優(yōu)化目標(biāo)為滿足約束條件下最小化柔度。
優(yōu)化后結(jié)構(gòu)如圖6(a)所示。結(jié)構(gòu)邊緣不清晰,存在灰度單元較多;經(jīng)二值化處理后的結(jié)果如圖6(b)所示,邊緣存在鋸齒,其中二值化閾值T=0.503;經(jīng)canny 邊緣檢測(cè)算法降噪與平滑處理,雙閾值區(qū)分抑制后所得結(jié)構(gòu)如圖6(c)所示,提取出結(jié)構(gòu)邊緣;通過(guò)DBSCAN 算法將邊緣數(shù)據(jù)點(diǎn)集進(jìn)行聚類分析,設(shè)置Eps=4,minPts=4,聚類簇?cái)?shù)為10,所得結(jié)果如圖6(d)所示,其中不同簇顏色深淺不同;最后,采用Graham Scan 凸包算法掃描不同簇類數(shù)據(jù)集,得到各類數(shù)據(jù)集合的頂點(diǎn)序列,形成最終結(jié)構(gòu)輪廓,所得結(jié)果如圖6(e)所示,結(jié)構(gòu)邊緣光滑,可制造性明顯提升。

圖6 拓?fù)鋬?yōu)化重構(gòu)流程圖Fig.6 Topology optimization and reconstruction flow chart
以整體結(jié)構(gòu)的最大位移表征結(jié)構(gòu)響應(yīng)度,將初始模型和經(jīng)算法重構(gòu)后的模型導(dǎo)入有限元分析軟件進(jìn)行仿真實(shí)驗(yàn),施加不同載荷整體結(jié)構(gòu)響應(yīng)結(jié)果如表1 所示。由表1 可知,重構(gòu)模型與原拓?fù)鋬?yōu)化結(jié)果相比,平均結(jié)構(gòu)響應(yīng)誤差為3.87%,與原結(jié)構(gòu)差異較小,滿足設(shè)計(jì)要求。

表1 重構(gòu)模型與原結(jié)構(gòu)響應(yīng)對(duì)比Tab.1 Comparison of response between reconstructed model and original structure
受載結(jié)構(gòu)的應(yīng)力云圖和位移云圖如圖7 所示,重構(gòu)后的結(jié)構(gòu)模型與原拓?fù)鋬?yōu)化結(jié)果相比,在實(shí)現(xiàn)結(jié)構(gòu)邊緣清晰的基礎(chǔ)上,各結(jié)構(gòu)響應(yīng)可以保持一致,設(shè)計(jì)方案較好地達(dá)成優(yōu)化目標(biāo)。

圖7 拓?fù)鋬?yōu)化有限元結(jié)果對(duì)比Fig.7 Comparison of topology optimization finite element results
針對(duì)拓?fù)鋬?yōu)化變密度法中運(yùn)用SIMP 模型得到優(yōu)化結(jié)構(gòu)中存在鋸齒狀單元和邊緣不清晰等問(wèn)題,采用DBSCAN 算法及凸包Graham Scan 算法進(jìn)行邊緣提取和優(yōu)化,結(jié)論如下:
(1)通過(guò)Canny 檢測(cè)算法提取拓?fù)浣Y(jié)構(gòu)邊緣,基于DBSCAN 算法對(duì)所得數(shù)據(jù)點(diǎn)集進(jìn)行聚類,可以有效分離整體拓?fù)浣Y(jié)構(gòu)內(nèi)外邊緣。(2)利用凸包Graham Scan 算法逆序掃描整體數(shù)據(jù)點(diǎn)集,得到包含點(diǎn)集的最小凸包輪廓,經(jīng)過(guò)典型算例驗(yàn)證,所得拓?fù)錁?gòu)型在承載應(yīng)力及局部位移方面與原結(jié)構(gòu)保持較高一致性,結(jié)構(gòu)響應(yīng)平均誤差低于3.87%。(3)通過(guò)DBSCAN 算法與Graham Scan 算法的結(jié)合,優(yōu)化后拓?fù)浣Y(jié)構(gòu)邊緣清晰,鋸齒狀邊緣問(wèn)題得到解決,通過(guò)有限元分析可得重構(gòu)模型在結(jié)構(gòu)響應(yīng)上基本與原結(jié)構(gòu)保持一致,整體方案為解決結(jié)構(gòu)邊緣可制造性問(wèn)題提供一種優(yōu)化設(shè)計(jì)方法。