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