滿亞勤,張翅飛,曾 燃,卿 明,童 靜,尹永亮,謝曉鳴,王秋霖
(1.四川華能寶興河水電有限責(zé)任公司,四川 雅安 625000;2.四川超影科技有限公司,四川 成都 610094)
水電站機(jī)組通常由現(xiàn)地控制單元(local control unit,LCU)進(jìn)行控制。水電站機(jī)組主機(jī)和輔機(jī)設(shè)備的運(yùn)行狀態(tài)均接入機(jī)組LCU,同時(shí)機(jī)組LCU也會發(fā)出各種指令,對機(jī)組主機(jī)和輔機(jī)對象進(jìn)行控制。機(jī)組LCU一般布置在水電站生產(chǎn)設(shè)備附近,是水電站計(jì)算機(jī)監(jiān)控系統(tǒng)的底層控制單元[1],機(jī)組LCU的數(shù)字量輸入(digital input,DI)板采集水電站機(jī)組主機(jī)和輔機(jī)設(shè)備的運(yùn)行狀態(tài)。DI板上的每一個(gè)指示燈亮或滅,指示了機(jī)組LCU所采集到的一個(gè)運(yùn)行狀態(tài),如進(jìn)水球閥的開或關(guān)、制動閘的頂起或落下、斷路器的分閘或合閘等。
水電站機(jī)組主要有停機(jī)、空轉(zhuǎn)、空載和并網(wǎng)4種標(biāo)準(zhǔn)狀態(tài)。每一種標(biāo)準(zhǔn)狀態(tài)對應(yīng)所有指示燈中哪些亮和哪些滅,也就是每一種標(biāo)準(zhǔn)狀態(tài)對應(yīng)于所有指示燈亮或滅組成的標(biāo)準(zhǔn)信號點(diǎn)表。當(dāng)某個(gè)指示燈不滿足當(dāng)前機(jī)組狀態(tài)對應(yīng)的標(biāo)準(zhǔn)信號點(diǎn)表時(shí),說明有設(shè)備處于異常狀態(tài)。水電站機(jī)組DI板上有數(shù)百個(gè)指示燈(以寶興水電站為例,每臺機(jī)組LCU分別有4塊DI板,每塊DI板有64個(gè)信號指示燈,共256個(gè)),目前采用的方法是通過人工查看和識別是否有指示燈處于異常狀態(tài)[2],或者是通過人工查看計(jì)算機(jī)監(jiān)控系統(tǒng)操作員站的監(jiān)控畫面、事件表和報(bào)警表判斷設(shè)備運(yùn)行狀態(tài)是否正常。由于DI板信號指示燈數(shù)量較多,如采用人工方式查看,其工作量較大,花費(fèi)的時(shí)間較多且人眼查看存在出錯(cuò)的風(fēng)險(xiǎn)[3],因此,目前判斷機(jī)組運(yùn)行狀態(tài)及監(jiān)控對點(diǎn)的方法存在工作效率較低以及可能出現(xiàn)漏檢和誤檢的問題。
隨著計(jì)算機(jī)圖像處理技術(shù)的不斷發(fā)展,圖像識別技術(shù)已廣泛應(yīng)用于車牌識別、人臉識別、醫(yī)學(xué)圖像識別以及工業(yè)環(huán)境下信號指示燈識別等領(lǐng)域[4-6]。圖像識別技術(shù)能使獲取所需信息的速度越來越快,給各個(gè)行業(yè)帶來了極大的方便[7]。下面提出一種對水電站機(jī)組DI板信號指示燈進(jìn)行圖像識別的方法,可大大提高判斷機(jī)組運(yùn)行狀態(tài)及監(jiān)控對點(diǎn)的工作效率和正確率。
通過對水電站機(jī)組4種標(biāo)準(zhǔn)狀態(tài)下LCU的DI板信號指示燈進(jìn)行圖像識別,識別出目前所拍圖像對應(yīng)的信號指示燈的亮、滅分布情況,自動生成相應(yīng)的信號點(diǎn)表,并分別與已保存的該臺機(jī)組4種標(biāo)準(zhǔn)狀態(tài)對應(yīng)的標(biāo)準(zhǔn)信號點(diǎn)表進(jìn)行對比,分析有哪些信號指示燈不一致,并自動實(shí)時(shí)、快速、準(zhǔn)確地輸出比較結(jié)果;同時(shí)可識別任一張拍攝的圖像中哪些信號指示燈不亮和哪些信號指示燈亮,并自動實(shí)時(shí)、快速、準(zhǔn)確地輸出識別結(jié)果,供現(xiàn)場人員查看和分析,給機(jī)組運(yùn)行狀態(tài)判斷以及監(jiān)控對點(diǎn)、故障查找等提供依據(jù)和指導(dǎo)。
為實(shí)現(xiàn)上述功能,首先,需利用模板圖像匹配算法[8]、動態(tài)規(guī)劃算法[9]和幾何定位與區(qū)域選擇算法[10]等來定位DI板每個(gè)信號指示燈的位置并識別出每個(gè)信號指示燈的亮、滅狀態(tài);其次,需關(guān)聯(lián)機(jī)組DI板信號指示燈圖像與機(jī)組DI信號點(diǎn)表,信號點(diǎn)表內(nèi)容包括DI點(diǎn)的信號名稱及編號,格式采用xls格式;最后,為了提高可操作性和便捷性,開發(fā)一套基于Android系統(tǒng)的具有圖像識別和輸出功能的手機(jī)APP,將上述圖像識別算法集成到手機(jī)應(yīng)用軟件(application,APP)內(nèi),并內(nèi)置機(jī)組標(biāo)準(zhǔn)狀態(tài)DI信號點(diǎn)表,人員可在現(xiàn)場使用手機(jī)APP的拍照和識別功能,自動生成并輸出相應(yīng)的xls格式信號點(diǎn)表,實(shí)現(xiàn)對機(jī)組DI信號指示燈狀態(tài)的實(shí)時(shí)、快速識別和對比。
每個(gè)水電站機(jī)組DI板型號和數(shù)量不同,采用的圖像識別技術(shù)和算法需根據(jù)特定的識別對象進(jìn)行選擇和優(yōu)化。下面以寶興水電站為例,對該電站機(jī)組DI板信號指示燈識別采用的圖像識別算法和開發(fā)的APP進(jìn)行闡述,并給出了測試結(jié)果。
模板匹配是一種在一幅圖像中尋找與另一幅模板圖像最佳匹配(相似)部分的技術(shù)。
模板從源圖像左上角開始,每次以模板的左上角像素點(diǎn)為單位從左至右、從上至下滑動,每到達(dá)一個(gè)像素點(diǎn)后,以該像素點(diǎn)的左上角為頂點(diǎn),從源圖像中截取出與模板一樣大小的圖像與模板進(jìn)行像素比較運(yùn)算[11],計(jì)算所截取的圖與模板圖之間的相似度作為該像素點(diǎn)的相似度,進(jìn)而計(jì)算出源圖像中每個(gè)像素點(diǎn)的相似度。
其中,相似度計(jì)算采用的方法是CV_TM_CCOEFF_NORMED[12]。計(jì)算公式為:
(1)
(2)
(3)
式中:(x,y)為要匹配的點(diǎn)的坐標(biāo);T(x,y)為用來匹配的模板圖像;I(x,y)為采集的需要進(jìn)行識別的源圖像;R(x,y)為模板匹配得到的系數(shù),取值范圍為[-1,1],R(x,y)為“1”時(shí)表示完全匹配,R(x,y)為“-1”時(shí)表示完全不匹配;w為圖像的寬度(橫向像素);h為圖像的高度(豎向像素)。
對于整幅圖像的每一個(gè)坐標(biāo),通過遍歷(x,y)的周圍像素(x′,y′)與模板對應(yīng)位置的(x′,y′)值計(jì)算出一個(gè)相應(yīng)的匹配系數(shù)R(x,y)。同時(shí)在計(jì)算該匹配系數(shù)時(shí),需使用模板大小區(qū)域的平均值,該平均值的計(jì)算需遍歷模板大小區(qū)域的(x″,y″)。
指示燈識別算法中的匹配模板圖采用“D”,通過模板匹配算法識別出指示燈右側(cè)的字母“D”,該字母“D”位于機(jī)組DI板信號指示燈的右側(cè),編號依次是D00—D63。經(jīng)模板匹配識別后相似度大于0.5的“D”位置點(diǎn)如圖1中的圓圈所示。由于在源圖像上存在其他與“D”相似的元素,因此會獲得一些誤識別的“D”,如圖1左側(cè)所示。
圖1 經(jīng)模板匹配識別后“D”的位置
拍照獲取的面板圖像中全部指示燈一般會超過256個(gè),同時(shí)由于噪聲干擾,匹配出來的“D”的個(gè)數(shù)通常大于256個(gè),需采用動態(tài)規(guī)劃的方法,尋找和定位出其中256個(gè)DI信號指示燈的準(zhǔn)確位置。
動態(tài)規(guī)劃算法的步驟:分析優(yōu)化解的結(jié)構(gòu),遞歸地定義最優(yōu)解的代價(jià),自底向上地計(jì)算優(yōu)化解的代價(jià)保存之并獲取構(gòu)造最優(yōu)解的信息,以及根據(jù)構(gòu)造最優(yōu)解的信息構(gòu)造優(yōu)化解。
動態(tài)規(guī)劃的實(shí)施過程:對于任意一個(gè) “D”的位置,將其作為起始點(diǎn),尋找一個(gè)有效的64個(gè)“D”的豎直排列,判斷在其豎直下方給定的距離內(nèi)是否有另一個(gè)“D”,如果有,則繼續(xù)尋找第二個(gè)“D”下方是否有第三個(gè)“D”,以此類推,直到一共尋找到64個(gè)“D”的豎直排列,則判斷結(jié)束,將這64個(gè)“D”作為一組有效的列。而對于一些誤識別的“D”,在此尋找過程中無法得到一個(gè)64個(gè)“D”的列,這樣的“D”就被排除在外,從識別結(jié)果中刪除。經(jīng)動態(tài)規(guī)劃后得到的“D”如圖2中的圓圈所示。
圖2 經(jīng)動態(tài)規(guī)劃后有效“D”的位置
通過模板匹配和動態(tài)規(guī)劃得到256個(gè)有效“D”的位置后,就可以計(jì)算出相鄰的兩個(gè)“D”的距離x。每個(gè)指示燈的圓心位置處在每個(gè)“D”的左下方,水平距離為x/1.3,垂直距離為x/2。在以每一個(gè)指示燈圓心位置為圓心、x/2.5為半徑的圓內(nèi),計(jì)算出亮度超過一個(gè)閾值的像素所占比例,如果比例超過20%則識別該指示燈為“亮”,如低于20%則識別該指示燈為“滅”。指示燈識別結(jié)果如圖3所示,其中大圓圈表示“亮”,小圓圈表示“滅”。
圖3 經(jīng)幾何定位與區(qū)域選擇得到的指示燈亮、滅結(jié)果
由于機(jī)組相關(guān)設(shè)備存在技術(shù)改造的可能性,每臺機(jī)組的監(jiān)控信號點(diǎn)表會新增或刪除某些信號點(diǎn),且某些信號點(diǎn)的定義也會發(fā)生變化。該APP關(guān)聯(lián)DI板信號指示燈圖像與信號點(diǎn)表,內(nèi)置每臺機(jī)組4種標(biāo)準(zhǔn)狀態(tài)的DI信號點(diǎn)表,并能對每臺機(jī)組的信號點(diǎn)表進(jìn)行修改、保存和導(dǎo)入。APP在第一次使用時(shí),使用該功能導(dǎo)入每臺機(jī)組4種標(biāo)準(zhǔn)狀態(tài)的DI信號點(diǎn)表。
APP具有通過拍照來維護(hù)標(biāo)準(zhǔn)信號點(diǎn)表的功能,APP利用其選框的4個(gè)定位點(diǎn)對機(jī)組4種標(biāo)準(zhǔn)狀態(tài)下的圖像進(jìn)行拍照和識別,如果識別成功,則自動生成4種標(biāo)準(zhǔn)狀態(tài)下的DI信號點(diǎn)表,之后自動導(dǎo)入并替換機(jī)組4種標(biāo)準(zhǔn)狀態(tài)下原有的標(biāo)準(zhǔn)信號點(diǎn)表。
選擇“狀態(tài)識別”,APP自動調(diào)用相機(jī)拍攝,拍攝完成后,點(diǎn)擊“識別”按鍵,彈出“狀態(tài)對比”和“點(diǎn)亮識別”選擇窗口。
選擇“狀態(tài)對比”后彈出“機(jī)組和狀態(tài)”選擇窗口,選擇“機(jī)組和狀態(tài)”,APP自動對所拍圖像進(jìn)行識別后生成信號點(diǎn)表,并與內(nèi)置的該臺機(jī)組該標(biāo)準(zhǔn)狀態(tài)的信號點(diǎn)表進(jìn)行對比,輸出與標(biāo)準(zhǔn)信號點(diǎn)表不一致的對比結(jié)果,對比標(biāo)準(zhǔn)信號點(diǎn)表后某個(gè)信號指示燈是“亮”或者“不亮”。狀態(tài)對比完成后會自動以Excel文件保存每次狀態(tài)對比的結(jié)果。
選擇“點(diǎn)亮識別”,再選擇“點(diǎn)亮”或“未點(diǎn)亮”選項(xiàng),選擇后輸出相應(yīng)的識別結(jié)果。
經(jīng)測試,該APP能在1 s內(nèi)識別出256個(gè)DI板信號指示燈的亮、滅狀態(tài),并輸出相應(yīng)的對比或識別結(jié)果,同時(shí)經(jīng)人員現(xiàn)場核對,該APP的圖像識別正確率和圖像識別后輸出結(jié)果(信號點(diǎn)表)的正確率均大于98%,且該APP的各項(xiàng)功能正確。目前該圖像識別APP已實(shí)際應(yīng)用于寶興水電站,應(yīng)用效果良好。
前面將圖像識別技術(shù)應(yīng)用到水電站機(jī)組DI板信號指示燈識別,并開發(fā)了一套基于Android系統(tǒng)的具有圖像識別和輸出功能的手機(jī)APP。測試結(jié)果表明,使用該APP的拍照和識別功能,可以快速、準(zhǔn)確地識別DI板信號指示燈,并輸出識別結(jié)果供現(xiàn)場人員查看,提高了判斷機(jī)組運(yùn)行狀態(tài)、監(jiān)控對點(diǎn)和查找故障等的工作效率,避免了人工識別效率低和易遺漏等問題。該APP應(yīng)用人工智能圖像處理技術(shù)為現(xiàn)場工作賦能,具有較大的推廣價(jià)值和使用價(jià)值,同時(shí)所提出的圖像處理算法可應(yīng)用到更多工業(yè)場景下的指示燈及儀表智能識別,也可集成到監(jiān)控或巡檢的工業(yè)機(jī)器人中,優(yōu)化和提高工業(yè)現(xiàn)場巡檢等工作的效率,實(shí)現(xiàn)工業(yè)環(huán)境的智能化作業(yè)。