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