徐國(guó)盛
(漳州職業(yè)技術(shù)學(xué)院智能制造學(xué)院 漳州 363000)
根據(jù)國(guó)家市場(chǎng)監(jiān)督管理總局發(fā)布的TSG 51—2023《起重機(jī)械安全技術(shù)規(guī)程》,對(duì)于申請(qǐng)實(shí)施安裝監(jiān)督檢驗(yàn)和首次檢驗(yàn)的起重機(jī)械,施工單位應(yīng)向檢驗(yàn)機(jī)構(gòu)提供起重機(jī)械電氣系統(tǒng)原理圖等產(chǎn)品技術(shù)資料[1]。電氣系統(tǒng)原理圖是起重機(jī)械產(chǎn)品設(shè)計(jì)文件中最重要的組成部分之一,直接和起重機(jī)械各動(dòng)作形式、控制方式、保護(hù)功能等一一對(duì)應(yīng)。檢驗(yàn)人員在對(duì)起重機(jī)械電氣系統(tǒng)原理圖進(jìn)行審查時(shí),應(yīng)充分依據(jù)TSG 51—2023的要求,結(jié)合現(xiàn)場(chǎng)的實(shí)際情況,對(duì)各部分進(jìn)行試驗(yàn)驗(yàn)證,如果存在審查疏忽,將直接導(dǎo)致存檔文件的錯(cuò)誤永久存檔,設(shè)備制造單位和使用單位將面臨較大的安全隱患。
檢驗(yàn)安全隱患的存在,更直接的說明對(duì)電氣系統(tǒng)原理圖審核精確無誤的必要性和迫切性。為了在確保電氣系統(tǒng)原理圖審核無誤,消除安全隱患的同時(shí),有效提高審核效率,為現(xiàn)場(chǎng)檢驗(yàn)留出充分的時(shí)間,本研究對(duì)圖像識(shí)別技術(shù)進(jìn)行探索。圖像識(shí)別算法種類較多,應(yīng)用廣泛的有BP神經(jīng)網(wǎng)絡(luò)(Back Propagation,簡(jiǎn)稱BP)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)。陳丹等人在金相粒子識(shí)別中利用BP網(wǎng)絡(luò)模型來完成[2]。BP模型中各層之間均為全連接結(jié)構(gòu),當(dāng)識(shí)別對(duì)象規(guī)格較大時(shí),將產(chǎn)生極大的數(shù)據(jù)量,為計(jì)算機(jī)處理帶來困難,訓(xùn)練一個(gè)網(wǎng)絡(luò)需要幾天甚至幾個(gè)月的時(shí)間。同樣的識(shí)別任務(wù),CNN模型數(shù)據(jù)相較BP模型大大減少,因此在圖像識(shí)別技術(shù)中有更廣泛的應(yīng)用。CNN是一種特殊的多層感知器或前饋神經(jīng)網(wǎng)絡(luò),標(biāo)準(zhǔn)的CNN結(jié)構(gòu)一般由輸入層,交替的卷積層和池化層、全連接層和輸出層構(gòu)成,參考本文第4章中的圖1[3]。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練常需要大量的樣本做支撐,如經(jīng)典的MNIST手寫字體識(shí)別、CIFAR-10分類識(shí)別、鳶尾花品種識(shí)別、交通標(biāo)識(shí)識(shí)別、Caltech-256分類識(shí)別、PTDB-TUB音頻識(shí)別等圖像識(shí)別案例中,均有現(xiàn)存的大量規(guī)范化圖像樣本集做支撐[4-7]。在數(shù)據(jù)樣本不充足的情況下如何完成學(xué)習(xí),很多學(xué)者也做了大量相關(guān)研究。戚桂美等人在對(duì)野生鳥類進(jìn)行識(shí)別的研究中,用手機(jī)翻拍野生鳥類書籍中記錄的野生鳥圖像來收集部分樣本,網(wǎng)絡(luò)爬蟲爬取部分樣本,通過對(duì)訓(xùn)練部分圖像進(jìn)行數(shù)據(jù)增強(qiáng)(如旋轉(zhuǎn)變換、鏡像變換、平移變換等)增大數(shù)據(jù)量,通過改進(jìn)ⅤGG16的預(yù)訓(xùn)練提高識(shí)別的準(zhǔn)確率[8]。于智瀚等人對(duì)小樣本訓(xùn)練集進(jìn)行數(shù)據(jù)增強(qiáng)操作,包括隨機(jī)剪裁、隨機(jī)擦除、彈性形變以及加入噪聲,擴(kuò)充數(shù)據(jù)樣本量[9]。宋偉等人通過對(duì)已有樣本進(jìn)行插值的方法(包括最鄰插值、雙線性插值、雙三次插值)提升模型在小樣本數(shù)據(jù)中的特征提取能力和學(xué)習(xí)效率,增強(qiáng)模型的性能[10]。高浩寒等人將卷積層和池化層組成孿生子網(wǎng)絡(luò),能夠從原始信號(hào)中自適應(yīng)地提取低維特征,通過歐式距離計(jì)算,判定輸入樣本對(duì)的特征相似度,利用相似度對(duì)比的方法擴(kuò)大訓(xùn)練樣本數(shù)量并訓(xùn)練孿生神經(jīng)網(wǎng)絡(luò)模型,模型的診斷準(zhǔn)確率大大提高[11]。

圖1 CNN模型結(jié)構(gòu)示意圖
本研究初步針對(duì)基礎(chǔ)元器件電氣符號(hào)圖像進(jìn)行識(shí)別,電氣符號(hào)圖像形狀相對(duì)單一,外形和線條相對(duì)固定,差別主要在于:圖像像素、尺寸比例、背景灰度、噪聲點(diǎn)多少、圖像方向、圖像完整度、圖像線條的直線度彎曲度等。通過研究卷積神經(jīng)網(wǎng)絡(luò)在小樣本數(shù)據(jù)圖像識(shí)別中的應(yīng)用,提高網(wǎng)絡(luò)模型對(duì)元器件電氣符號(hào)的識(shí)別精準(zhǔn)度,有效輔助檢驗(yàn)檢測(cè)人員對(duì)電氣系統(tǒng)原理圖進(jìn)行初步審核,提高審核效率,進(jìn)而對(duì)照電氣系統(tǒng)原理圖進(jìn)行現(xiàn)場(chǎng)的充分驗(yàn)證,以保證檢驗(yàn)質(zhì)量,消除安全隱患。
電氣系統(tǒng)涉及較多類別的元器件,本研究以在線路中承擔(dān)保護(hù)功能的元器件為例,進(jìn)行元器件電氣符號(hào)圖像樣本的選擇和確定。許多元器件符號(hào)的圖像經(jīng)歷過一些變化,或是有多種表達(dá)形式,在符號(hào)確定時(shí)均應(yīng)確定其中,并進(jìn)行樣本的采集。對(duì)CNN模型訓(xùn)練時(shí),以識(shí)別的圖像為輸入數(shù)據(jù),以確定的序號(hào)為輸出標(biāo)簽值。部分樣例見表1。

表1 部分元器件電氣符號(hào)圖像樣本
針對(duì)大部分元器件電氣符號(hào)圖像樣本單一,較難通過簡(jiǎn)單的收集,為訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別模型提供大量的數(shù)據(jù)樣本,研究中以已有的樣本圖例為基礎(chǔ),利用基于Python的相關(guān)資源庫(kù)中的部分函數(shù)擴(kuò)大樣本量。主要處理方式包括添加噪音數(shù)據(jù)、改變?cè)袠颖鞠袼爻叽纭⒎较蛭恢谩⑼暾鹊取>唧w處理工作見表2(以電磁制動(dòng)器樣本擴(kuò)展為例)。

表2 輸入圖像樣本擴(kuò)展
計(jì)算機(jī)進(jìn)行圖像識(shí)別時(shí),首先需將圖像進(jìn)行數(shù)字化,常見的圖像通常為RGB圖,通道數(shù)為3,本研究利用基于Python的資源庫(kù)中一系列圖像處理函數(shù),將輸入的圖片規(guī)范化,統(tǒng)一圖片數(shù)據(jù)格式為100×100×3。具體處理工作見表3[以通電延時(shí)(緩放)線圈的圖例處理為例說明]。

表3 輸入圖像前處理
研究中利用基于Python的TensorFlow框架,構(gòu)建CNN模型結(jié)構(gòu),模型結(jié)構(gòu)如圖1所示。主要包括2次卷積處理、2次池化降采樣處理和2次全連接網(wǎng)絡(luò),依次與構(gòu)建模型的主要程序和表4中的處理過程對(duì)應(yīng),具體如下。

表4 CNN模型處理過程
構(gòu)建模型的主要程序:
model=tf.keras.Sequential()#構(gòu)建Sequential線性堆疊模型
model.add(tf.keras.layers.Conv2D(filters=16,kernel_size=(3,3),
input_shape=(100,100,3),activation=‘relu’,padding=‘same’))#第1次卷積
model.add(tf.keras.layers.Dropout(rate=0.2))#部分神經(jīng)元重置操作,防止過擬合
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2,2)))#第1次池化
model.add(tf.keras.layers.Conv2D(filters=32,kernel_size=(3,3),
activation=‘relu’,padding=‘same’))#第2次卷積
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2,2)))#第2次池化
model.add(tf.keras.layers.Flatten())#三維數(shù)據(jù)拉平為一維,作為全連接層輸入
model.add(tf.keras.layers.Dense(20,activation=‘softmax’))#輸出
針對(duì)機(jī)電類特種設(shè)備檢驗(yàn)人員,在起重機(jī)械監(jiān)檢和首檢中對(duì)電氣系統(tǒng)原理圖的審閱工作,研究通過建立卷積神經(jīng)網(wǎng)絡(luò)圖像識(shí)別模型,輔助提高檢驗(yàn)人員對(duì)系統(tǒng)圖的審核精確度和效率。
初步完成以下工作:
1)確定了基礎(chǔ)元器件圖像符號(hào),初步囊括20種主要電氣元器件,包括元器件電氣符號(hào)圖像的收集,標(biāo)簽值的對(duì)應(yīng)等。對(duì)于部分圖像符號(hào)歷經(jīng)變化的元器件,將所有的圖像符號(hào)樣本均收集對(duì)應(yīng)同一個(gè)標(biāo)簽值。
2)針對(duì)圖像符號(hào)樣本量小,較難通過簡(jiǎn)單的收集充實(shí)樣本量的情況,研究以現(xiàn)有的樣本為基礎(chǔ),通過添加噪聲、變換圖像方向、局部裁剪圖像等,擴(kuò)充圖像符號(hào)樣本量,提高模型的泛化能力。
3)針對(duì)不同的圖像符號(hào)數(shù)字化后,尺寸規(guī)格、通道數(shù)可能不同的情況,利用基于Python的相關(guān)資源庫(kù)中的函數(shù)進(jìn)行前處理,將圖像規(guī)格統(tǒng)一為100×100×3(像素)。
4)利用基于Python的TensorFlow框架,初步構(gòu)建元器件電氣符號(hào)圖像識(shí)別CNN模型,通過系列的卷積和池化處理,降低數(shù)據(jù)體量,提高預(yù)測(cè)精度。
下一步研究工作計(jì)劃:
1)將樣本數(shù)據(jù)進(jìn)行進(jìn)一步整理,形成完整的數(shù)據(jù)集,進(jìn)行模型訓(xùn)練。
2)對(duì)電氣系統(tǒng)原理圖的各模塊進(jìn)行細(xì)分,劃分功能子模塊,為系統(tǒng)原理圖的模塊識(shí)別工作做準(zhǔn)備。