滕靈芝 沙寶銀
(1.煤炭科學(xué)技術(shù)研究院有限公司檢測分院,北京市朝陽區(qū),100013;2.煤炭資源高效開采與環(huán)境保護(hù)國家重點(diǎn)實(shí)驗(yàn)室,北京市朝陽區(qū),100013)
煤炭生產(chǎn)和消費(fèi)的地域分布決定了我國煤炭運(yùn)輸長期存在西煤東送和北煤南送的格局[1]。我國北方較大的煤炭裝船港有秦皇島港、黃驊港、唐山港曹妃甸港區(qū),目前港區(qū)載煤船采用水尺計(jì)重的方式來確定海運(yùn)煤炭的重量,計(jì)重結(jié)果可作為商品貨物計(jì)算運(yùn)費(fèi)、交接結(jié)算、處理索賠和通關(guān)計(jì)稅等的依據(jù)[2]。其原理是通過對載煤船測定裝、卸貨物前后的平均吃水?dāng)?shù)據(jù)計(jì)算船舶排水量變化,再結(jié)合船上淡水、壓艙水以及燃油等數(shù)據(jù)計(jì)算出貨物重量。以載煤船平均運(yùn)載量6萬t計(jì)算,水尺誤差1 cm將產(chǎn)生約80 t的計(jì)重誤差。由此可見,煤炭運(yùn)輸船舶吃水深度至關(guān)重要,其精度直接影響貨物重量。
現(xiàn)今煤炭運(yùn)輸船舶水尺計(jì)重行業(yè)最普遍的測定方法是船舶吃水人工觀測法[3],通常是專業(yè)水尺計(jì)重人員通過人工觀測直接進(jìn)行讀數(shù)。這種人工觀測水尺方法受主觀因素影響較大,容易導(dǎo)致船方、港方以及第三方之間對水尺讀數(shù)產(chǎn)生爭執(zhí),引發(fā)糾紛。針對人工觀測吃水法的弊端,近年來各行業(yè)在水尺測量方面做了很多研究工作,包括傳 感 器 測 量 法[4-7]和 圖 像 識(shí) 別 法[8-12]。傳 感 器 測量法屬于間接測量,硬件裝置容易受浪涌情況、電磁干擾等環(huán)境因素影響,導(dǎo)致最終結(jié)果誤差較大;圖像識(shí)別法利用圖像處理技術(shù)和機(jī)器視覺,直接對水尺視頻進(jìn)行分析,但圖像分析結(jié)果常常受水尺標(biāo)記的污損、浪涌情況、水質(zhì)透明度、船體本身等因素干擾,結(jié)果不盡人意。
在借鑒圖像識(shí)別法基礎(chǔ)上,利用Lab VIEW平臺(tái)的機(jī)器視覺功能,設(shè)計(jì)了一套基于Lab VIEW軟件平臺(tái)的煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別軟件,從而提高水尺識(shí)別的準(zhǔn)確度,消除人為誤差,對提高煤炭運(yùn)輸船舶水尺讀數(shù)的客觀性、公正性、科學(xué)性具有重要意義。
Lab VIEW是由美國國家儀器公司(NI)開發(fā)的一款適用于多操作系統(tǒng)的基于圖形程序的虛擬儀器儀表開發(fā)平臺(tái)[13],是專為測試、測量和控制應(yīng)用而設(shè)計(jì)的系統(tǒng)工程軟件,其應(yīng)用范圍覆蓋了測試測量、嵌入式應(yīng)用、工業(yè)自動(dòng)化等眾多領(lǐng)域。LabVIEW的程序由前面板和程序框圖組成。前面板集合了用戶輸入和顯示控件,相當(dāng)于傳統(tǒng)測試儀器的面板;程序框圖包含了各種功能函數(shù),每個(gè)功能模塊均為封裝好的子程序。功能模塊用連線構(gòu)成控制流程圖,依據(jù)連線走向決定程序的執(zhí)行順序[14]。
NI Lab VIEW機(jī)器視覺開發(fā)模塊供從事開發(fā)Lab VIEW機(jī)器視覺和科學(xué)圖像應(yīng)用的科學(xué)家、工程師和技術(shù)人員使用。該軟件包括IMAQ視覺功能庫和NI Vision Assistant(視覺助理),其中NI Vision Assistant是一個(gè)交互式的開發(fā)環(huán)境,開發(fā)人員無需編程,即能快速完成視覺應(yīng)用系統(tǒng)的模型建立和測試。視覺助理界面包括圖像預(yù)覽區(qū)、功能模塊區(qū)、處理步驟區(qū)、處理展示區(qū)四大部分。與其它視覺產(chǎn)品不同,視覺助理可自動(dòng)生成Lab-VIEW程序框圖,簡化了編程過程,提高了測試效率。Lab VIEW平臺(tái)為煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別軟件提供了非常適合的軟件開發(fā)工具。
煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)的設(shè)計(jì)原理為:將水尺視頻進(jìn)行逐幀處理,獲取每幀圖像的水線和字符,并基于水線位置、字符坐標(biāo)等數(shù)據(jù)計(jì)算出當(dāng)幀的水尺讀數(shù),最后通過統(tǒng)計(jì)篩選以及聚類算法計(jì)算出平均吃水值。船舶計(jì)重吃水值自動(dòng)識(shí)別流程如圖1所示。
煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)字符識(shí)別采用OCR識(shí)別和模式匹配的方式,用戶根據(jù)實(shí)際情況選擇其中之一進(jìn)行操作,前者優(yōu)點(diǎn)是人為干預(yù)少、識(shí)別速度快,但在字符污損情況下識(shí)別率較低;后者優(yōu)點(diǎn)是字符識(shí)別率較高,但增加了人為干預(yù)且識(shí)別速度較慢。
基于OCR的水尺識(shí)別可以預(yù)先通過NI Vision Assistant進(jìn)行OCR文字識(shí)別建模,在處理步驟區(qū)調(diào)用不同的模塊對圖像進(jìn)行處理,并對各個(gè)模塊調(diào)整最佳的參數(shù)以實(shí)現(xiàn)通用有效的分析結(jié)果,達(dá)到識(shí)別水尺字符和獲取字符坐標(biāo)的目的。NI Vision Assistant建模展示如圖2所示。
基于OCR的水尺識(shí)別模型依次調(diào)用模塊為:Geometry(幾何形狀處理)、ColorPlane Extraction(顏色抽?。ookup Table(查找表)、Histogram(直方圖)、Threshold(閾值)、Gray Morphology(灰度形態(tài)學(xué))、OCR/OCV(字符識(shí)別)。這些模塊的作用分別為:旋轉(zhuǎn)圖像角度、圖像轉(zhuǎn)換為灰度圖像、改善圖像對比度和亮度、獲取圖像灰度平均值和標(biāo)準(zhǔn)偏差等、灰度圖像轉(zhuǎn)換為二值圖像、灰度腐蝕操作減少噪點(diǎn)、字符訓(xùn)練并識(shí)別。
圖1 船舶計(jì)重吃水值自動(dòng)識(shí)別流程
圖2 NI Vision Assistant建模展示
在該模型中,OCR/OCV模塊的OCR字符訓(xùn)練功能尤其重要,通過OCR訓(xùn)練形成字符集文件,然后圖像字符與字符集文件進(jìn)行比對獲得結(jié)果,基于OCR的水尺識(shí)別必須事先訓(xùn)練足夠數(shù)量的字符數(shù)據(jù),為后期系統(tǒng)正確識(shí)別出字符提供依據(jù)。OCR識(shí)別訓(xùn)練如圖3所示,OCR識(shí)別效果如圖4所示。
在完成建模后,通過tools菜單中的Create LabVIEW VI功能自動(dòng)生成LabVIEW程序框圖,該程序框圖中包含NI Vision Assistant建模時(shí)一系列操作的相同功能。在此基礎(chǔ)上,對包括水線識(shí)別、高度計(jì)算等軟件功能進(jìn)行補(bǔ)充完善,最后形成完整的程序?;贠CR的水尺識(shí)別過程如圖5所示。
圖3 OCR識(shí)別訓(xùn)練
圖4 OCR識(shí)別效果
(1)圖像修正:利用IMAQ Rotate VI(旋轉(zhuǎn)子函數(shù)),對圖像進(jìn)行角度修正。
(2)水線識(shí)別:利用IMAQ Advanced Find Edge VI(高級查找邊緣子函數(shù)),通過從下往上方向查找圖像中沿某條線上的亮度變化點(diǎn)(即水線),查找到水線后,獲得水線起點(diǎn)像素坐標(biāo)(x1,y1)和終點(diǎn)像素坐標(biāo)(x2,y2),應(yīng)用線性擬合得出水線計(jì)算見式(1):
y=a1x+b1(1)
式中:y——水線y方向像素值,px;
y——水線x方向像素值,px;
a1——水線直線斜率;
b1——水線直線截距,px。
(3)顏色抽?。撼槿〔噬矫妫肐MAQ ExtractSingleColorPlane VI(抽取彩色平面子函數(shù)),將彩色圖像轉(zhuǎn)換為灰度圖像。
(4)形態(tài)處理:對圖像進(jìn)行去噪和濾波,并將灰度圖像的灰度平均值和標(biāo)準(zhǔn)偏差之和作為閾值分界點(diǎn),利用IMAQ Threshold(閾值子函數(shù))將灰度圖像轉(zhuǎn)換為二值圖像。
(5)字符識(shí)別:創(chuàng)建OCR會(huì)話并讀取字符集文件,利用IMAQ OCR Read Text VI(字符讀取子函數(shù))獲取包括字符數(shù)值、字符位置坐標(biāo)、字符高度寬度等字符信息。本過程中,部分污損字符和相似字符容易造成錯(cuò)誤識(shí)別,利用字符M的位置和字符排列規(guī)律獲得字符真實(shí)數(shù)值。對多個(gè)字符位置坐標(biāo)(xi,yi)進(jìn)行線性擬合,得出字符直線計(jì)算見式(2):
y=a2x+b2(2)
式中:y——字符y方向像素值,px;
x——字符x方向像素值,px;
a2——字符斜率;
b2——字符直線截距,px。
建立水尺高度hi和像素坐標(biāo)高度數(shù)值yi的對應(yīng)關(guān)系,并進(jìn)行線性擬合,得出高度計(jì)算見式(3):
h=a3y+b3(3)
式中:h——水尺高度值,m;
y——字符y方向像素值,px;
a3——高度直線斜率;
b3——高度直線截距,m。
(6)高度計(jì)算:根據(jù)式(1)和式(2),得出水線與字符直線的交點(diǎn)像素坐標(biāo)(xj,yj),將yj代入到式(3),即得該幀圖像的實(shí)時(shí)高度值。
(7)平均高度計(jì)算:重復(fù)計(jì)算剩余幀圖像讀數(shù),最后對所有數(shù)據(jù)進(jìn)行統(tǒng)計(jì)篩選計(jì)算出平均吃水值。
煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)中的模式匹配用于定位灰度圖像中預(yù)定模板圖像的位置,其不受圖像亮度、噪聲、偏移等因素的影響。該方法適用于在字符銹蝕污損的情況下的識(shí)別,但缺點(diǎn)是增加了人為干預(yù)且識(shí)別速度較慢?;谀J狡ヅ涞乃咦R(shí)別也可通過NI Vision Assistant進(jìn)行建模,方法與基于OCR識(shí)別描述的建模部分相似?;谀J狡ヅ涞乃咦R(shí)別過程如圖6所示。
(1)創(chuàng)建模板:用戶創(chuàng)建字符模板,輸入模板對應(yīng)的水尺高度值,保存模板。
(2)修正圖像并緩存:對圖像進(jìn)行角度修正并緩存校正后圖像,緩存的目的在于字符識(shí)別后再進(jìn)行水線查找,縮小查找區(qū)域,避免誤識(shí)別。
(3)顏色抽?。和琌CR識(shí)別中的顏色抽取步驟相同。
(4)模式匹配:讀取模板字符,利用IMAQ Match Pattern VI(模式匹配子函數(shù))獲取模板字符在圖像中的包括字符數(shù)值、字符位置坐標(biāo)、字符高度寬度等信息;并基于字符信息得到字符直線公式、高度計(jì)算公式,公式獲得方法同OCR識(shí)別中的方法相同。
圖5 基于OCR的水尺識(shí)別過程
圖6 基于模式匹配的水尺識(shí)別過程
(5)水線識(shí)別:讀取步驟(2)中的緩存圖像,利用步驟(4)中識(shí)別出的最下方字符位置信息,在字符下方區(qū)域查找水線,并獲取水線公式。
(6)高度計(jì)算:同OCR識(shí)別中的高度計(jì)算步驟相同。
(7)平均高度計(jì)算:同OCR識(shí)別中的平均高度計(jì)算步驟相同。
目前,基于Lab VIEW的煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)已經(jīng)開發(fā)完成并投入使用,該系統(tǒng)同時(shí)具備OCR和模式匹配功能。為了驗(yàn)證吃水值自動(dòng)識(shí)別系統(tǒng)的準(zhǔn)確性及可靠性,2019年4月在河北省滄州市黃驊港港區(qū),對在此靠港的8船次船舶安排了2組工作人員同時(shí)進(jìn)行吃水值比對測量,一組直接人工目測水尺,另一組采集吃水圖像后直接用系統(tǒng)分析。在比對過程中,選擇對水尺計(jì)重影響最大的船舯水尺讀數(shù)(即中間水尺讀數(shù))作為試驗(yàn)對象,船舯位置又分為內(nèi)檔舯和外檔舯。人工目測水尺按照《進(jìn)出口商品質(zhì)量鑒定規(guī)程第2部分:水尺計(jì)重》(SN/T 3023.2—2012)的標(biāo)準(zhǔn)分析讀數(shù)。采用2種方法得到的數(shù)據(jù)對比結(jié)果見表1。
表1 煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)與人工目測方法數(shù)據(jù)比對
表1中,系統(tǒng)測量水尺值較人工目測方式的誤差率見式(4):
E=(F-G)/G (4)
式中:E——誤差率,%;
F——軟件分析水尺值,m;
G——目測檢視水尺值,m。
從表1可以看出,8船次自動(dòng)識(shí)別軟件的檢視水尺較目測方式誤差范圍在0.000~0.012 m之間,平均誤差率為0.054%,符合水尺計(jì)重規(guī)程要求的船舶制表的準(zhǔn)確度在0.1%以內(nèi)的要求,解決了煤炭港口運(yùn)輸船舶計(jì)重系統(tǒng)吃水人工觀測法存在誤差大、效率低、糾紛多等問題。
基于LabVIEW的煤炭運(yùn)輸船舶計(jì)重吃水值自動(dòng)識(shí)別系統(tǒng)實(shí)現(xiàn)了復(fù)雜情況下數(shù)字和水線的識(shí)別定位、水尺吃水值的全自動(dòng)計(jì)算,消除了人工觀測水尺的人為誤差,對于提高船舶水尺讀數(shù)的客觀性、科學(xué)性具有重要意義,但識(shí)別精度還有進(jìn)一步提高的空間。隨著圖像識(shí)別技術(shù)、人工智能技術(shù)的發(fā)展,會(huì)徹底解決水線的誤判斷問題,隨著識(shí)別精度的提高,自動(dòng)識(shí)別會(huì)完全替代人工觀測,實(shí)現(xiàn)船舶吃水快速、科學(xué)、公正鑒定。