周樂堯,汪東紅,劉淑梅,姜 淼,邱慧慧,龔潛海
(1.上海工程技術(shù)大學(xué)材料工程學(xué)院,上海 201620;2.上海交通大學(xué)材料科學(xué)與工程學(xué)院上海市先進(jìn)高溫材料及其精密成形重點實驗室;3.嘉善鑫海精密鑄件有限公司;4.湖州鼎盛機(jī)械科技股份有限公司;5.浙江佳力風(fēng)能技術(shù)有限公司)
鑄造是機(jī)械制造的重要基礎(chǔ),鑄造產(chǎn)量可以反映出經(jīng)濟(jì)是否滯漲。計算機(jī)技術(shù)為鑄造行業(yè)帶來了新的工具,可以指導(dǎo)生產(chǎn),檢驗質(zhì)量,能切實減少生產(chǎn)和人力成本,同時縮短生產(chǎn)周期,適應(yīng)企業(yè)協(xié)同發(fā)展[1]。
傳統(tǒng)鑄造行業(yè)數(shù)據(jù)無法復(fù)用,缺乏科學(xué)的管理模型和技術(shù)一直是行業(yè)關(guān)心的問題,而鑄造行業(yè)信息智能化仍處于起步晚、理解不足,數(shù)據(jù)管理停留在數(shù)據(jù)增刪改查的階段。王建濤等在PDM(Product Data management)基礎(chǔ)上建立了集成化產(chǎn)品數(shù)據(jù)管理的模型,但未提出具體的開發(fā)方案[2]。趙振聚焦于航天材料以B/S 架構(gòu)、Struts 框架和Oracle 數(shù)據(jù)庫開發(fā)了基于航天碳纖維復(fù)合材料構(gòu)件的工藝數(shù)據(jù)庫[3]。王寧以更宏觀的角度提出了基于CMMI(Capability Maturity Model Integration)的大數(shù)據(jù)采集管理系統(tǒng)的方案[4]。計效園開發(fā)了基于單件化管理和智能化方法的ERP(Enterprise Resource Planning)系統(tǒng)——華鑄ERP[5]。
目前,鑄造行業(yè)信息化主要有三個問題:工廠材質(zhì)標(biāo)準(zhǔn)數(shù)據(jù)缺少可靠管理、鑄件結(jié)構(gòu)與模型數(shù)據(jù)難以保存和復(fù)用、鑄件缺陷檢測依賴人力且伴隨著一定的錯誤率[6]。本文針對以上三個問題,開發(fā)了基于PyQt5的鑄造過程數(shù)據(jù)管理軟件,由材料成分與性能庫、鑄件結(jié)構(gòu)與模型庫、鑄件缺陷識別三部分組成,完成了鑄件材料成分、鑄件模型、冶金質(zhì)量的數(shù)據(jù)管理。
傳統(tǒng)鑄造企業(yè)經(jīng)過多年的發(fā)展,原料成本和人力成本的優(yōu)勢減弱,企業(yè)需要提升鑄件產(chǎn)品質(zhì)量,提高企業(yè)核心競爭力。經(jīng)過需求分析,主要問題在于材質(zhì)標(biāo)準(zhǔn)數(shù)據(jù)難以存儲及管理、鑄件產(chǎn)品模型數(shù)據(jù)難以保存及復(fù)用、鑄件產(chǎn)品質(zhì)量控制依賴人力及手段老舊等問題?;谝陨蠁栴},本文基于PyQt5 搭建了鑄造過程數(shù)據(jù)管理軟件,主要由材料成分與性能庫、鑄件結(jié)構(gòu)與模型庫、鑄件缺陷識別三個核心模塊組成,工具欄由用戶管理、材質(zhì)管理和打印功能組成。數(shù)據(jù)管理軟件登錄頁如圖1 所示,包含工號、密碼登陸,在菜單欄可以注冊新用戶。材料成分與性能庫包含了材質(zhì)的牌號、標(biāo)準(zhǔn)、具體成分信息,用戶可以擴(kuò)充刪減數(shù)據(jù)庫材質(zhì)信息,也可以根據(jù)材質(zhì)標(biāo)準(zhǔn)和牌號查詢數(shù)據(jù)并打??;鑄件結(jié)構(gòu)與模型庫包含了鑄件的二維、三維模型,保證了從鑄件的材質(zhì)性能到澆注系統(tǒng)模型都可以進(jìn)行可靠的管理;鑄件缺陷識別工具使用YOLOv5 目標(biāo)檢測算法,能夠檢測鑄件產(chǎn)品缺陷,及時淘汰次品,提升鑄件產(chǎn)品質(zhì)量。
圖1 鑄造過程數(shù)據(jù)管理軟件登錄頁
不同于Web 應(yīng)用依賴于瀏覽器JavaScript 解析,移動App性能低于PC機(jī)且安全性有待考察,桌面式應(yīng)用更符合工業(yè)類軟件的需求。Qt 是C++開發(fā)的GUI工具集,包含跨平臺類庫、集成開發(fā)工具集和跨平臺IDE(Integrated Development Environment),在不同的操作系統(tǒng)上重新編譯即可運行。PyQt5允許Python 調(diào)用Qt的強(qiáng)大API庫[8]。
⑴UI設(shè)計
Qt Designer 設(shè)計符合MVC 架構(gòu),實現(xiàn)了視圖和邏輯的分離,代碼簡潔,開發(fā)周期短。Qt Designer 提供多種控件的拖拽設(shè)計,可及時查看控件效果。Qt Designer 生成的.ui 文件可以通過Pyuic5 工具轉(zhuǎn)換成.py 文件,巧妙地解決了開發(fā)人員UI設(shè)計困難的問題。QSS與CSS類似,可以美化界面及控件。
⑵程序開發(fā)及方法完善
UI 部分結(jié)束之后,需要編寫相應(yīng)按鈕、框的槽函數(shù)及信號,與數(shù)據(jù)庫連接,在主窗口類中繼續(xù)完成相應(yīng)類的擴(kuò)充。
⑶程序打包
程序編寫完畢后可以由Pyinstaller 將Python 文件打包成可執(zhí)行程序,在不同的設(shè)備上進(jìn)行測試,調(diào)整相關(guān)bug,最終發(fā)布。
鑄造過程數(shù)據(jù)管理軟件主視圖選擇清晰的底色,如圖2所示,主要由四個區(qū)域組成,分別是左側(cè)導(dǎo)航欄、右側(cè)功能視圖,菜單欄和工具欄。左側(cè)導(dǎo)航欄由材料成分與性能庫、鑄件結(jié)構(gòu)與模型庫、鑄件缺陷識別工具組成;右側(cè)功能視圖包含篩選查詢操作并展示數(shù)據(jù)結(jié)果;菜單欄包含用于注冊、修改密碼、登錄、退出等操作;工具欄包含打印當(dāng)前、打印所有、用戶管理、添加材質(zhì)、淘汰材質(zhì)。
圖2 鑄造過程數(shù)據(jù)管理軟件主頁
材料成分與性能庫由鑄鋼、不銹鋼、鑄鐵、高溫合金四個二級功能組成,用戶登錄系統(tǒng)之后,為保證數(shù)據(jù)安全不直接顯示材質(zhì)標(biāo)準(zhǔn),點擊左側(cè)導(dǎo)航欄具體的材質(zhì)之后顯示相關(guān)數(shù)據(jù)。用戶在選擇的材質(zhì)數(shù)據(jù)庫中可以根據(jù)牌號或者材質(zhì)標(biāo)準(zhǔn)查詢相關(guān)材質(zhì)標(biāo)準(zhǔn)信息。如圖3 所示,在鑄鋼材質(zhì)標(biāo)準(zhǔn)庫中查詢材質(zhì)標(biāo)準(zhǔn)為DIN 的材質(zhì)標(biāo)準(zhǔn)信息,操作結(jié)果基本在0.1s 內(nèi)完成。用戶需要打印數(shù)據(jù)庫所有材質(zhì)標(biāo)準(zhǔn)信息,主界面中無需進(jìn)行查詢操作。如需打印部分?jǐn)?shù)據(jù),主界面中進(jìn)行查詢操作之后才可以進(jìn)行打印操作,否則提示表不確定。
圖3 查詢材質(zhì)(材質(zhì)標(biāo)準(zhǔn)為DIN)
材料成分與性能庫是可擴(kuò)充的。如圖4 所示,用戶首先在材料種類中選擇自己需要擴(kuò)充的材料性能庫,分別輸入材質(zhì)代號、材質(zhì)標(biāo)準(zhǔn)以及每個元素的含量,點擊添加按鈕即可擴(kuò)充數(shù)據(jù)庫。淘汰材質(zhì)標(biāo)準(zhǔn)時只需要輸入材質(zhì)代號,其余具體信息自動補(bǔ)充,點擊淘汰材質(zhì)按鈕后,數(shù)據(jù)庫的相關(guān)記錄會被刪除。
圖4 添加材質(zhì)標(biāo)準(zhǔn)
鑄造行業(yè)模擬過、生產(chǎn)過的零件數(shù)據(jù)如果不存儲,實際就會產(chǎn)生重復(fù)性工作。為了提高鑄造過程數(shù)據(jù)的可復(fù)用性,軟件開發(fā)了鑄件結(jié)構(gòu)與模型庫,主要由二維模型、三維模型兩個二級功能組成。
在鑄造過程數(shù)據(jù)管理軟件中,用戶點擊模型庫的二維模型,可以上傳有關(guān)鑄件的二維圖紙信息,點擊三維模型上傳鑄件結(jié)構(gòu)模型信息。上傳完成的二維、三維模型在模型庫中顯示,也避免了相應(yīng)鑄件信息的數(shù)據(jù)重復(fù)管理。如圖5 所示,用戶可上傳鑄鋼、鑄鐵、高溫合金、不銹鋼三維鑄件結(jié)構(gòu)模型信息,也可上傳鑄鋼、鑄鐵、高溫合金、不銹鋼澆鑄系統(tǒng)模型信息,所有的模型信息都保存在數(shù)據(jù)庫中,不易丟失。
圖5 上傳模型
傳統(tǒng)質(zhì)量審核伴隨人力資源的消耗,同時人工審核存在一定的錯誤率。為了減少人力和生產(chǎn)成本,引入了一種人工智能目標(biāo)識別檢測缺陷算法--YOLOv5(You Look Only Once v5)。YOLOv5 是一種單階段目標(biāo)檢測算法,該算法在YOLOv4 的基礎(chǔ)上做了改進(jìn),比一般的神經(jīng)網(wǎng)絡(luò)算法均值權(quán)重文件更小,訓(xùn)練速度更快,適合應(yīng)用于工業(yè)場景下缺陷識別與檢測[9]。在鑄造過程中由于工藝、材質(zhì)性能和合金凝固的影響,不可避免地出現(xiàn)孔洞、疏松、夾雜等缺陷,有缺陷的產(chǎn)品不能應(yīng)用于后續(xù)工業(yè)生產(chǎn)與制造,該算法應(yīng)用于生產(chǎn)線可及時發(fā)現(xiàn)產(chǎn)品缺陷[10]。
如圖6所示,YOLOv5s網(wǎng)絡(luò)結(jié)構(gòu)由Input、Backbone、Neck、Prediction四個部分組成,輸入端上傳圖片,采用Mosaic 數(shù)據(jù)增強(qiáng)方式,自動計算數(shù)據(jù)集的最佳錨框值,由于參數(shù)量少,預(yù)測速度更快。如圖7 所示,模型迭代200 次以后Precision(準(zhǔn)確率)、Recall(召回率)等模型參數(shù)逐漸收斂,趨于擬合。結(jié)果發(fā)現(xiàn)表明在迭代300 次后,識別準(zhǔn)確率均在98.9%以上,召回率在99.3%以上,模型在測試集上取得了較好的結(jié)果。
圖6 YOLOv5結(jié)構(gòu)
圖7 YOLOv5 參數(shù)收斂情況
鑄件缺陷檢測工具左側(cè)導(dǎo)航欄由選擇模型、初始化模型、圖片檢測、視頻檢測和攝像頭檢測組成,右側(cè)檢測信息可以直接顯示缺陷的詳細(xì)坐標(biāo)信息,進(jìn)行視頻檢測和攝像頭檢測時可以通過暫停按鈕實現(xiàn)暫停檢測,也可以直接結(jié)束檢測。相較于圖片檢測,視頻和攝像頭檢測更適合生產(chǎn)線場景。檢測案例選擇葉輪實物圖,葉輪的缺陷主要由裂紋、縮松和氣孔三種缺陷組成,如圖8 所示,識別結(jié)果為裂紋的置信度為85%,縮松的置信度為87%,氣孔的置信度為85%,總體測試集樣本識別精度較高。
圖8 葉輪缺陷識別效果
本文分析了鑄造行業(yè)信息化中存在的實際問題,開發(fā)了基于PyQt5 的鑄造過程數(shù)據(jù)管理軟件,建立了材料成分與性能庫,用戶可以通過軟件管理和打印材質(zhì),獲得清晰的鑄件材質(zhì)數(shù)據(jù);建立了鑄件結(jié)構(gòu)與模型庫,用戶可以通過軟件,上傳和存儲鑄件結(jié)構(gòu)模型以便相似鑄件數(shù)據(jù)的復(fù)用;搭建了鑄件缺陷識別工具,使用目標(biāo)檢測算法,用戶可以通過圖片、視頻和攝像頭來檢測鑄件缺陷,獲得即時的缺陷信息,識別準(zhǔn)確率均在98.9%以上,召回率在99.3%以上。此外,本文使用的是輕量級數(shù)據(jù)庫,數(shù)據(jù)存儲有限,后期的開發(fā)可以使用大型數(shù)據(jù)庫。