劉東輝 劉 奇 沈毅煒 趙中華
1 青島海西重機(jī)有限責(zé)任公司 2 中國石油大學(xué)(華東)經(jīng)濟(jì)管理學(xué)院 3 山東科技大學(xué)自動(dòng)化學(xué)院
集裝箱編號(hào)用于跟蹤和管理集裝箱,其準(zhǔn)確性直接影響到物流效率和客戶滿意度。傳統(tǒng)的集裝箱號(hào)碼識(shí)別方法主要基于監(jiān)督學(xué)習(xí),對于新出現(xiàn)的沒有標(biāo)簽的集裝箱號(hào)碼無法進(jìn)行準(zhǔn)確識(shí)別。為此,提出一種基于語義自編碼器的零樣本學(xué)習(xí)方法,旨在通過學(xué)習(xí)圖像特征與語義的映射,實(shí)現(xiàn)對陌生集裝箱號(hào)碼的準(zhǔn)確識(shí)別。
零樣本學(xué)習(xí)是一種機(jī)器學(xué)習(xí)任務(wù),旨在實(shí)現(xiàn)對未見過類別的準(zhǔn)確分類[1]。傳統(tǒng)的機(jī)器學(xué)習(xí)方法通常需要大量已標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練,但在現(xiàn)實(shí)中,獲取大規(guī)模標(biāo)注數(shù)據(jù)的成本較高。零樣本學(xué)習(xí)通過利用已知類別和屬性之間的關(guān)系,以及通過學(xué)習(xí)類別的特征表示,實(shí)現(xiàn)對未知類別的分類。這種方法可以通過將樣本映射到一個(gè)共享的語義空間來實(shí)現(xiàn),使得類別間的關(guān)系更加明確。
特征提取算法是零樣本學(xué)習(xí)算法中的重要組成部分。在集裝箱箱號(hào)識(shí)別中,需要選擇一種合適的特征提取算法來提取集裝箱箱號(hào)中的關(guān)鍵信息。常用的特征提取算法包括卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)等。GAN(Generative Adversarial Network,生成對抗網(wǎng)絡(luò))是一種用于生成新數(shù)據(jù)的深度學(xué)習(xí)模型。在基于零樣本學(xué)習(xí)的集裝箱箱號(hào)識(shí)別系統(tǒng)中,可以利用GAN生成新型號(hào)的集裝箱樣本,從而實(shí)現(xiàn)對新型號(hào)集裝箱的零樣本學(xué)習(xí)。模型訓(xùn)練算法是實(shí)現(xiàn)集裝箱箱號(hào)識(shí)別的關(guān)鍵技術(shù)之一。在集裝箱箱號(hào)識(shí)別系統(tǒng)中,需要構(gòu)建一個(gè)合適的模型來訓(xùn)練數(shù)據(jù)。常用的模型訓(xùn)練算法包括支持向量機(jī)、隨機(jī)森林等,這些技術(shù)相互協(xié)作,共同實(shí)現(xiàn)對新型號(hào)集裝箱的準(zhǔn)確識(shí)別。
SAE(Semantic Auto Encoder,語義自編碼器)能夠?qū)W習(xí)到數(shù)據(jù)的低維表示,并將數(shù)據(jù)映射到一個(gè)語義空間中[2],由編碼器和解碼器組成。編碼器將輸入數(shù)據(jù)轉(zhuǎn)換為語義空間中的表示,解碼器將語義表示重新映射到原始數(shù)據(jù)空間,以重構(gòu)輸入數(shù)據(jù)。
語義自編碼器的訓(xùn)練過程包括2個(gè)關(guān)鍵步驟:編碼和解碼。在編碼階段,輸入數(shù)據(jù)經(jīng)過一系列的隱藏層,每一層都將數(shù)據(jù)表示壓縮成更低維度的表示。在解碼階段,低維度的表示經(jīng)過一系列的隱藏層逐步解碼,最終重構(gòu)成與原始輸入數(shù)據(jù)盡可能相似的輸出。在訓(xùn)練過程中,通過最小化重構(gòu)誤差來優(yōu)化自編碼器的參數(shù),使得其能夠?qū)W習(xí)到數(shù)據(jù)的有效表示。
語義自編碼器的關(guān)鍵優(yōu)勢在于能夠?qū)⒉煌悇e的樣本映射到語義空間中的不同區(qū)域,不同類別之間的語義距離可以被有效地量化。在零樣本學(xué)習(xí)任務(wù)中,語義自編碼器能夠訓(xùn)練已知類別和語義空間之間對應(yīng)的關(guān)系,對未見過的類別進(jìn)行準(zhǔn)確分類。
岸邊集裝箱起重機(jī)(以下簡稱岸橋)箱號(hào)識(shí)別系統(tǒng)由3個(gè)子系統(tǒng)組成,分別是前端岸橋智能視覺識(shí)別子系統(tǒng)、后端集中管控子系統(tǒng)、web前端子系統(tǒng)。
視覺識(shí)別子系統(tǒng)部署在岸橋上,由高清攝像機(jī)、電氣柜、PLC系統(tǒng)組成。系統(tǒng)采集PLC信號(hào)進(jìn)行轉(zhuǎn)換解析,通過識(shí)別集裝箱裝卸過程中小車及吊具的動(dòng)作自動(dòng)觸發(fā)攝像機(jī)對集裝箱、集卡車進(jìn)行全方位的抓拍。通過基于零樣本學(xué)習(xí)的識(shí)別模型識(shí)別集裝箱箱號(hào)、箱型代碼、集卡車號(hào)、箱門方向等信息。系統(tǒng)可觸發(fā)不同位置的相機(jī)精準(zhǔn)抓拍集裝箱可見面的高清圖像,并通過網(wǎng)絡(luò)將識(shí)別結(jié)果以及高清圖像傳輸至后端集中管控平臺(tái)做進(jìn)一步的業(yè)務(wù)處理。
集裝箱起重機(jī)箱號(hào)智能視覺識(shí)別系統(tǒng)的前端設(shè)備,包括前端采集攝像頭、集裝箱起重機(jī)箱號(hào)識(shí)別服務(wù)器、交換機(jī)等通過網(wǎng)線連接,各岸橋與中控服務(wù)器之間通過碼頭預(yù)設(shè)光纜連接進(jìn)行數(shù)據(jù)傳輸。系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖見圖1。
圖1 集裝箱起重機(jī)箱號(hào)識(shí)別系統(tǒng)網(wǎng)絡(luò)架構(gòu)圖
集中管控平臺(tái)作為岸邊集裝箱起重機(jī)箱號(hào)智能視覺識(shí)別系統(tǒng)的核心業(yè)務(wù)系統(tǒng),是基于Nacos、MyBatis、ZeroMQ、WebSocket、Protobuf等成熟開源框架構(gòu)建的Web后臺(tái)微服務(wù)應(yīng)用。軟件采用微服務(wù)架構(gòu)設(shè)計(jì),系統(tǒng)采用雙機(jī)熱備部署,若某臺(tái)服務(wù)器出現(xiàn)異常情況,業(yè)務(wù)數(shù)據(jù)可自動(dòng)切換到冗余備份服務(wù)器中進(jìn)行處理。在理貨作業(yè)過程中,系統(tǒng)實(shí)時(shí)將前端采集識(shí)別系統(tǒng)中上傳的設(shè)備狀態(tài)、理貨作業(yè)等信息,存儲(chǔ)在Redis和MySql數(shù)據(jù)庫表中,并將理貨生產(chǎn)作業(yè)數(shù)據(jù)發(fā)送至理貨平臺(tái)。
3.2.1 數(shù)據(jù)預(yù)處理
在集裝箱號(hào)識(shí)別任務(wù)中,首先建立一個(gè)包含已標(biāo)注的集裝箱號(hào)和相應(yīng)類別信息的數(shù)據(jù)集,然后對集裝箱號(hào)進(jìn)行預(yù)處理操作,以便為語義自編碼器的訓(xùn)練和零樣本學(xué)習(xí)做準(zhǔn)備。數(shù)據(jù)預(yù)處理包括以下步驟:
(1)去除噪聲。集裝箱號(hào)圖片通常會(huì)受到噪聲的影響,例如圖像中的模糊、光照變化等。通過圖像處理技術(shù),如濾波和去噪算法,可以減少噪聲對集裝箱號(hào)圖像的影響。
(2)歸一化。為了保證不同集裝箱號(hào)之間的可比性,需要對集裝箱號(hào)進(jìn)行歸一化操作,包括圖像尺寸的統(tǒng)一、圖像亮度的調(diào)整等,以確保輸入數(shù)據(jù)具有相似的特征表示。
(3)特征提取。為了將集裝箱號(hào)映射到語義空間中,需要從圖像中提取有意義的特征。可以使用卷積神經(jīng)網(wǎng)絡(luò)等深度學(xué)習(xí)模型,或者使用傳統(tǒng)的計(jì)算機(jī)視覺特征提取方法,如局部二值模式、方向梯度直方圖等。
3.2.2 語義自編碼器的訓(xùn)練
在零樣本學(xué)習(xí)任務(wù)中,需要使用已標(biāo)注的數(shù)據(jù)集來訓(xùn)練語義自編碼器模型。訓(xùn)練過程可以分為編碼和解碼2個(gè)階段。
編碼階段將預(yù)處理后的數(shù)據(jù)集的特征向量輸入編碼器,獲取其在語義空間中的表示。編碼器負(fù)責(zé)將高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),并得到高維數(shù)據(jù)在語義空間的低維表示。解碼階段將語義空間中的表示返回解碼器,并通過一系列的步驟解碼,最終重構(gòu)出與原始輸入數(shù)據(jù)盡可能相似的輸出。解碼器的目標(biāo)是最小化重構(gòu)誤差,使得解碼后的數(shù)據(jù)與原始輸入數(shù)據(jù)盡可能一致。
通過訓(xùn)練語義自編碼器,能夠獲得編碼階段的特征向量到語義空間的投影矩陣W,為了能夠應(yīng)對大規(guī)模數(shù)據(jù),簡化模型,令語義空間到解碼器的投影矩陣W*=WT。
3.2.3 基于語義自編碼器的零樣本學(xué)習(xí)
在測試階段,利用已訓(xùn)練好的語義自編碼器模型進(jìn)行零樣本學(xué)習(xí),實(shí)現(xiàn)對陌生集裝箱號(hào)的識(shí)別。將數(shù)據(jù)集的80%作為訓(xùn)練集,20%作為測試集。
設(shè)Y={y1,…,ys}和Z={z1,…,zu}分別表示s個(gè)訓(xùn)練集和u測試集的標(biāo)簽,Y∩Z=φ。同樣SY={S1,…,Ss}∈Rs×k和SZ={s1,…,su}∈Ru×k表示相應(yīng)的訓(xùn)練集和測試集的語義表示(例如k維屬性向量)。給定N個(gè)樣本的訓(xùn)練數(shù)據(jù)XY=(xi,yi,si)}∈Rd×N,其中xi是從其中一個(gè)可見類的第i張訓(xùn)練圖像中提取的d維視覺特征向量,零樣本學(xué)習(xí)的目的是學(xué)習(xí)一個(gè)分類器f:XZ→Z即預(yù)測圖像的標(biāo)簽來自于測試集的類,其中XZ={(xi,zi,si)}為測試數(shù)據(jù),zi和si是未知的。
將給定N個(gè)樣本的訓(xùn)練集數(shù)據(jù)XY=(xi,yi,si)}∈Rd×N,xi輸入到SAE中進(jìn)行訓(xùn)練,通過si和xi的關(guān)系得到視覺空間到語義空間的投影矩陣W。
對于測試集的集裝箱號(hào)圖片,將其提取好的特征向量輸入編碼器,獲取其在語義空間中的表示。然后,通過計(jì)算該表示與已知類別的語義表示之間的距離,可以確定其所屬的類別。通??梢允褂脷W氏距離或余弦相似度等距離度量方法進(jìn)行距離計(jì)算,距離越小,表示未見過的集裝箱號(hào)與已知類別越相似,從而達(dá)到準(zhǔn)確分類的目的。
為了進(jìn)行零樣本學(xué)習(xí),還需要構(gòu)建一個(gè)屬性空間,其中包含每個(gè)類別的屬性信息,如集裝箱類型、尺寸等。通過將屬性信息與語義表示相結(jié)合,可以提高零樣本學(xué)習(xí)的準(zhǔn)確性。
在實(shí)際應(yīng)用中,可以使用大規(guī)模的集裝箱號(hào)數(shù)據(jù)集進(jìn)行訓(xùn)練和評估,以驗(yàn)證基于語義自編碼器的零樣本學(xué)習(xí)方法在集裝箱號(hào)識(shí)別任務(wù)中的性能;還可以探索其他改進(jìn)方法,如引入注意力機(jī)制或生成對抗網(wǎng)絡(luò)等,進(jìn)一步提高零樣本學(xué)習(xí)的準(zhǔn)確性和泛化能力[3]。
通過以上方法,基于語義自編碼器的零樣本學(xué)習(xí)在集裝箱號(hào)識(shí)別上可以實(shí)現(xiàn)準(zhǔn)確的分類,降低對大量已標(biāo)注數(shù)據(jù)的依賴性,提高算法的適應(yīng)性和泛化能力。
web前端子系統(tǒng)是可視化的交互平臺(tái),基于LayUI框架、JavaScript、HTML5等前端核心技術(shù)開發(fā)實(shí)現(xiàn),通過Tomcat服務(wù)器發(fā)布后,可直接通過瀏覽器訪問的前端可視化應(yīng)用系統(tǒng)。
基于語義自編碼器的零樣本學(xué)習(xí)方法,為解決集裝箱號(hào)識(shí)別中的零樣本學(xué)習(xí)問題提供了一種新的思路。通過有效地學(xué)習(xí)集裝箱號(hào)的語義表示,能夠在未見過的類別上實(shí)現(xiàn)準(zhǔn)確的分類,提高集裝箱管理的效率和精度。