時光志
(中海油能源發(fā)展采油服務(wù)公司 天津 300452)
克令吊是船舶重要的起重裝置,也是船員應(yīng)重點掌握的基本技能之一。目前,國內(nèi)針對船用克令吊的教學多數(shù)側(cè)重于理論知識,船員很少有機會上手操作。同時,由于船用克令吊造價昂貴、數(shù)量較少、維護保養(yǎng)也比較困難,因此,培訓的總體效果不佳。
隨著虛擬現(xiàn)實技術(shù)的快速發(fā)展,一些航海仿真系統(tǒng)在職業(yè)教育教學和培訓中得到了廣泛的應(yīng)用,其降低了培訓成本,也提升了培訓效率。因此,開發(fā)船用克令吊仿真訓練系統(tǒng)就成為克令吊教學培訓和實操訓練的良好選擇[1]。就克令吊作業(yè)考核評估而言,目前主要是采用人工打分方式,科學性和客觀性難以保證,所以有必要開發(fā)克令吊智能評估系統(tǒng)。
目前,建立仿真操作評估系統(tǒng)的主要方法有分步評估法[2-3]、加權(quán)平均法[4-5]、層次分析法[6-7]、模糊綜合評價法[8-9]和智能評估方法等,涉及到的航海設(shè)備主要包括GMDSS模擬器、C站、多普勒計程儀、GPS設(shè)備和雷達設(shè)備等。模糊綜合評價法在最新的航海虛擬仿真設(shè)備評估系統(tǒng)[10-11]中應(yīng)用較為廣泛。近幾年,隨著機器學習和人工智能技術(shù)的發(fā)展,許多機器學習算法被逐漸引入到航海評估領(lǐng)域[12-13]。但是,這些算法更多地應(yīng)用于船舶通航安全評估中,在航海仿真設(shè)備操作評估方面鮮有應(yīng)用。王德龍[14]將DBSCAN聚類算法應(yīng)用于船舶操縱避碰的智能評估,這是機器學習算法在航海仿真設(shè)備實操評估中的最早應(yīng)用。
鄰近算法(K-Nearest Neighbor,KNN)是機器學習領(lǐng)域的經(jīng)典算法之一,目前已應(yīng)用于航運文本分 類[14]、船期數(shù)據(jù)分析[15]和船舶監(jiān)控系統(tǒng)[16]等領(lǐng)域。
作者在國內(nèi)研究機構(gòu)前期開發(fā)的船用克令吊仿真訓練系統(tǒng)的基礎(chǔ)上[17]基于KNN算法提出了一套相對完整的智能評估模型,統(tǒng)一了評估規(guī)則及標準,可以對克令吊作業(yè)人員的操作水平進行科學且較為全面的評估。
克令吊仿真作業(yè)評估在機器學習領(lǐng)域是典型的多分類問題。KNN是應(yīng)用最為廣泛的機器學習算法之一,沒有顯式的訓練過程,具有無數(shù)據(jù)輸入假定、易于工程實現(xiàn)、對異常值不敏感等一系列特性,非常適合解決多分類問題。因此,本文基于KNN算法對船用克令吊仿真訓練智能評估模型進行研究。
KNN的工作機制如下:假設(shè)存在一個具有數(shù)據(jù)標簽的訓練樣本集,給定測試樣本,分類器將測試樣本數(shù)據(jù)特征與訓練集中對應(yīng)的數(shù)據(jù)特征進行對比,根據(jù)特定的距離度量得到訓練集合中最相近的k個訓練樣本的分類標簽,選擇k個樣本中出現(xiàn)最多的類別標記作為測試樣本的分類,這種分類方式也被稱為“投票法”。以二分類問題為例,如圖1所示,方形為測試樣本,已標記三角形和圓形的數(shù)據(jù)為訓練數(shù)據(jù)集,當k值取3時,近鄰樣本包含2個三角形和1個圓形,該測試樣本判別為三角形樣本;當k值取5時,近鄰樣本包含2個三角形和3個圓形,該測試樣本判別為圓形樣本。由此,能看得出KNN算法中k的取值很重要。
圖1 KNN分類示意圖 Fig.1 KNN classification diagram
在對克令吊的操作進行評估時,用戶的操作熟練程度可以通過操作過程中發(fā)生錯誤的次數(shù)來表示,錯誤次數(shù)越少,表明用戶的熟練度越高;反之,如錯誤次數(shù)越多,則用戶的熟練度越低。采用仿真設(shè)備進行訓練的優(yōu)勢之一就是可以通過多次訓練獲取充足的操作數(shù)據(jù)建立龐大的訓練數(shù)據(jù)庫,提高測試樣本分類的精度。
基于以上分析,本文提出了基于KNN的克令 吊仿真訓練智能評估模型,其具體實施流程如圖2 所示。
圖2 KNN模型流程 Fig.2 KNN model flow
用戶操作克令吊時,系統(tǒng)將記錄操作的過程,統(tǒng)計發(fā)生的操作錯誤類別J和發(fā)生次數(shù)M,第i條樣本特 征 值 記 為: Xi={( M1, M2,… , Mj,… , MNJ), M ∈N, J ∈N},其中NJ為錯誤類別數(shù)。然后根據(jù)專家判斷確定樣本Xi的標簽Yi,即將專家評語劃分為10個等級,其中最好為10,最差為1。最終樣本集為:D = {( Xi,Yi),1≤i ≤ N},N為樣本數(shù)。
本文將樣本集D中的80%作為訓練集T,將D中剩余的20%作為測試集Z。
基于測試集Z對KNN中的k值進行調(diào)整,直至符合分類精度。具體流程見表1。
表1 KNN分類器建立流程 Tab.1 Establishment process of KNN classifier
表中第1行的K為k值嘗試的最大值。分別對比不同k值下的準確率,選擇預(yù)測精度較高的k值,即可建立分類器。
基于以上步驟所建立的分類器,將其讀入被評估用戶的操作數(shù)據(jù),建立其樣本數(shù)據(jù),根據(jù)分類器對其操作級別進行分類,即可評估當前用戶成績。
圖3為國內(nèi)研究機構(gòu)前期參照巴拿馬型散貨船開發(fā)的船用克令吊仿真訓練系統(tǒng),整個系統(tǒng)由用戶 界面、設(shè)備模型、交互操作和報警等功能模塊組成,如圖3(a)所示;圖3(b)是克令吊所在的三維船舶場景,用戶可以在船舶場景中漫游和交互;圖3(c)是克令吊操作室的三維場景;圖3(d)是克令吊操作臺,用戶通過操作臺上的手柄、按鈕等來控制克令吊。
圖3 克令吊仿真訓練系統(tǒng) Fig.3 Simulation training system of crane
為了實現(xiàn)對克令吊操作的智能評估,需要設(shè)置評估指標、制定評估科目和設(shè)計評估流程。
根據(jù)克令吊設(shè)備的相關(guān)理論知識、設(shè)備的使用操作說明和注意事項,通過設(shè)備實際操作和咨詢相關(guān)專家等方法,本文設(shè)置了克令吊的評估指標,主要包括以下4類:啟動/停止操作,主要包括準備啟動燈的狀況、準備運行燈的狀況、設(shè)備照明燈的狀況、操作桿的檔位、克令吊的開關(guān)以及油溫情況等;吊臂離開/放置位置,主要包括吊臂與存放位置的間距和碰撞情況、操作桿的檔位情況等;吊作業(yè)操作,涉及克令吊的升降、旋轉(zhuǎn)、俯仰等操作,主要包括操作桿的檔位、吊貨索的角度、吊鉤的位置、回轉(zhuǎn)塔架的角度、吊臂起升的角度、吊臂存放位置的開關(guān)等;克令吊與抓斗互動作業(yè),主要包括抓斗與吊鉤的掛接情況、抓斗的存放位置、抓斗遙控器的控制、抓斗的開合、抓斗的張角控制、抓斗的抓貨情況等。
根據(jù)克令吊的評估指標,本文設(shè)計了克令吊的實操評估科目。每個評估科目都需要設(shè)置初始參數(shù)和評估參數(shù)。初始參量用來確定設(shè)備的初始狀態(tài),通常要根據(jù)不同科目的要求來設(shè)置初始參數(shù),一旦初始參數(shù)設(shè)置完成,克令吊的初始狀態(tài)就是設(shè)置好了;評估參數(shù)對應(yīng)著操作過程和操作狀態(tài),通過設(shè)置評估參數(shù)來決定該科目需要考核的內(nèi)容。在操作克令吊過程中,系統(tǒng)會實時監(jiān)測設(shè)備的狀態(tài)、記錄用戶的操作過程、實時監(jiān)測評估參數(shù)的變化、判斷操作過程是否符合操作要求、是否有誤操作或者漏操作等,以便后續(xù)對用戶的操作進行評估。船用克令吊評估涉及的主要科目如表2所示。
表2 實操評估科目 Tab.2 Practical assessment subjects
下面以“克令吊啟動操作”科目為例介紹智能評估系統(tǒng)中該實操評估科目的整個過程。依據(jù)克令吊啟動操作的評估指標啟動操作評估的要求如圖4 所示。
圖4 克令吊啟動操作評估要求 Fig.4 Requirements for operational evaluation of crane start-up
根據(jù)圖4的要求,本文為克令吊啟動操作評估科目設(shè)計了8個評估參數(shù),如表3所示。這8個評估參數(shù)分別對應(yīng)8個錯誤類別,即樣本數(shù)據(jù)中的8個特征,每1種錯誤類別發(fā)生的次數(shù)Mi為樣本中該特征的取值。
表3 克令吊啟動操作評估科目的錯誤類別 Tab.3 Error types of operation evaluation of crane start-up
在正式開始評估之前需先建立樣本集。通過收集不同用戶的操作數(shù)據(jù),再根據(jù)專家意見給出每個樣本對應(yīng)的級別標簽,建立針對克令吊啟動操作評估項目的標準樣本集,見表4。本文共記錄了1500條樣本,在此基礎(chǔ)上劃分1200條樣本為訓練集,其余300條樣本為測試集。
表4 樣本集部分樣本示例 Tab.4 Partial sample of sample set
在表1所示的算法流程基礎(chǔ)上基于訓練集和測試集確定準確率最佳的k值。經(jīng)測試,k的取值與分類器的分類精度的關(guān)系如圖5所示,橫坐標為k的取值,縱坐標為準確率。準確率的整體趨勢隨著k值的增大而下降;當k值為4或6時準確率最大,此時準確率為92.6%,符合評估要求。k的取值也影響樣本類別分類器的效率,分類器的效率與k值成反比。因此,將克令吊啟動科目評估分類器的k值取為4。
圖5 k的取值與分類準確度的關(guān)系曲線 Fig.5 Relation curve between k value and classification accuracy
確定k值后即可建立基于當前k值的KNN分類器。當該分類器用于克令吊啟動操作科目實操評估時,依據(jù)用戶的操作情況可獲得當前用戶操作的樣本數(shù)據(jù),代入分類器可獲得用戶此次操作的成績級別分類,具體流程如圖6所示。
圖6 啟動操作評估流程 Fig.6 Evaluation process of start operation
如圖7所示,本文開發(fā)了船用克令吊智能評估系統(tǒng),包括試題設(shè)計模塊和操作評估模塊。試題設(shè)計模塊采用開放式結(jié)構(gòu)設(shè)計,考官通過設(shè)置克令吊科目初始參數(shù)和評估參數(shù)來完成評估試題的設(shè)置。開始訓練時,克令吊仿真訓練系統(tǒng)收到評估試題,根據(jù)初始參數(shù)進行設(shè)備狀態(tài)初始化設(shè)置,即可開始克令吊的操作,系統(tǒng)將實時采集用戶的操作過程和操作狀態(tài)并根據(jù)評估參數(shù)對用戶的操作進行評估。
圖7 船用克令吊智能評估系統(tǒng) Fig.7 Intelligent assessment system for ship crane
圖8為用戶進行“克令吊啟動操作”科目訓練的幾個截圖。圖8(a)為用戶點擊“油溫觀察”,確認油溫是否為5℃;圖8(b)為點擊功率問詢按鈕;圖8(c) 為吊車按鈕;圖8(d)為其信號燈狀態(tài),準備運行時燈常亮,準備啟動時燈閃爍直至不亮。
圖8 克令吊啟動操作科目訓練 Fig.8 Subject training for crane operation
圖9為某用戶完成訓練后得到的評估結(jié)果。從圖中可以看出,錯誤次數(shù)為M=(0,1,0,0,0,2,1,0)。該用戶共計發(fā)生3類操作錯誤:油溫5℃以下確認克令吊操作發(fā)生了1次;啟動后推2次左操作桿;準備啟動燈重閃后,操作右操作桿1次。經(jīng)克令吊啟動操作智能評估分類器解算,該受訓用戶的操作評估成績?yōu)椤爸械取薄?/p>
圖9 “啟動操作訓練”實例評估結(jié)果 Fig.9 Evaluation results for “Start Operation Training”
本文對船用克令吊仿真訓練系統(tǒng)作業(yè)的自動評估進行了深入研究,在設(shè)置評估指標、制定評估項目和設(shè)計評估流程的基礎(chǔ)上,基于KNN算法建立了智能評估模型、統(tǒng)一了評估規(guī)則和標準,可以對克令吊作業(yè)人員的操作水平進行科學且較為全面的評估。與傳統(tǒng)的評估算法相比,該模型更可靠、更易于工程實現(xiàn)、更方便集成至其他航海仿真訓練系統(tǒng)中。因此,本文提出的智能評估模型具有較強的擴展性和良好的使用價值。
隨著數(shù)據(jù)規(guī)模的擴大,KNN算法的效率會逐漸降低,這將影響評估效率。因此,在后續(xù)的研究中,作者擬基于樹形搜索算法對KNN的搜索效率進行改進,以進一步提升評估效率。此外,可嘗試使用深度學習算法,如深度神經(jīng)網(wǎng)絡(luò),對智能評估進行擴展?!?/p>