馬 雁,賀 莉
(鄭州電力高等??茖W校電力工程學院,河南 鄭州 450000)
變電站的穩(wěn)定運行不僅關乎自身利益,還直接影響到電網(wǎng)的安全穩(wěn)定運行,而事故隱患是造成重大設備事故的直接原因。及時發(fā)現(xiàn)并消除設備隱患,是保證變電站電氣設備安全穩(wěn)定運行的關鍵。變電站設備巡視檢查作為發(fā)現(xiàn)設備缺陷、消除設備隱患,是運行人員一項重要的必備工作之一。它需要運行人員定期對現(xiàn)場設備進行巡視檢查,在巡視過程中,一項非常重要的手段就是利用紅外線測溫儀對設備狀態(tài)進行監(jiān)視。
隨著人工智能技術的不斷推進、無人值守變電站的不斷增加,機器人巡視已在變電站內得到了普遍使用。機器人在巡視過程中能通過攝像儀和紅外熱像儀等方式采集圖片信息并對變電站電氣設備的運行狀態(tài)進行檢測。檢測到的圖片數(shù)據(jù)再通過遺傳算法、神經(jīng)網(wǎng)絡等智能算法對圖像進行識別和處理,進而判斷設備運行狀況。這種非電量檢測手段最終可以將大量的圖片信息數(shù)據(jù)反饋到監(jiān)控主機或手機APP 中,能夠做到在繼電保護動作前向運行人員發(fā)出預警信號,提醒運行人員注意,從而指導設備狀態(tài)檢修,對保障電力系統(tǒng)安全可靠運行具有十分重要的意義。Python 語言具有簡單直接、易學易用的特點,在大數(shù)據(jù)時代已成為一種熱門語言。它是一種即面向過程也支持面向對象的解釋性編程語言,它是動態(tài)類型化的,不需要聲明變量類型。本文將使用Python 語言對紅外熱像儀采集到的圖片進行圖像識別并分析處理,來指導設備狀態(tài)檢修。
1.1.1 神經(jīng)網(wǎng)絡及模型訓練開發(fā)環(huán)境
操作系統(tǒng):windows10
Python 版本:python3.7
GPU 型號:GTX1050m 2g (筆記本)
Web 服務器:django3.0
1.1.2 第三方依賴版本
opencv-pyhton (cv2):4.2.0
Torch(pytorch):1.5.0+cu101
Torchvision:0.2.2
CUDA:10.0
1.1.3 運行環(huán)境
操作系統(tǒng):Ubuntu18.04
基于圖片特征學習異常發(fā)熱圖像為正例,正常運行圖像為反例,比例10:1。進行無監(jiān)督學習訓練。在紅外圖片下明顯可見發(fā)熱異常未進行二值化處理,進行神經(jīng)網(wǎng)絡學習后得到數(shù)據(jù)模型net.pkl 文件。再利用攝像頭采集數(shù)據(jù)基于直播網(wǎng)絡協(xié)議回傳至web 服務器,服務器調用cv2 處理圖像后交由數(shù)據(jù)模型判斷是否異常。如有異常啟動回調,客戶端得到響應,響應內容包括位置,時間等信息。變電設備非電量監(jiān)測程序開發(fā)思路如圖1 所示。
圖1 變電設備非電量檢測程序流程圖
(1)圖像采集。通過巡檢機器人自帶的紅外熱像儀對變電站內設備巡視檢查進行圖像數(shù)據(jù)采集。
紅外熱成像技術是一種將被測目標的紅外輻射能量轉換為紅外熱像圖的技術。進行紅外熱成像測試的儀器叫做紅外熱成像儀,膠器由掃描-聚光光學成像物鏡、紅外探測器、電子系統(tǒng)和顯示系統(tǒng)組成。被測物體發(fā)射的紅外射線通過紅外探測器和光學成像物鏡,反映到紅外探測器的光敏元件上最終在顯示器上獲得紅外熱像圖這種熱像圖與物體表面的熱分布場相對應。熱圖像上面的不同顏色代表被測物體的不同溫度顏色越亮說明該部位溫度越高。通過紅外熱像圖,可以很快找到設備表面的過熱點,通過進一步分析、判斷產(chǎn)生過熱的原因,以便迅速采取有效的措施來消除設備故障。
某些電氣設備異?,F(xiàn)象無法依靠肉眼直接觀察,但可依靠紅外熱成像技術識別。通過計算機視覺與紅外熱成像技術的結合,快速、準確、實時分析發(fā)現(xiàn)設備異常狀態(tài)并發(fā)出預警提醒運行人員,進而進行應急處理。這樣可指導設備狀態(tài)檢修,也是設備異常處理變得安全高效,及時發(fā)現(xiàn)問題可減少損失提升電力系統(tǒng)的可靠性。
(2)圖像傳輸。通過通訊接口將圖像數(shù)據(jù)傳輸?shù)椒斩耍挥煞斩诉M行處理完成后再將結果反饋到監(jiān)視主機或手機APP中。如有異常則回調異常時間及位置。利用cv2進行逐幀對視頻流的處理。30幀會截取一幀交由數(shù)據(jù)集處理分析。所有視頻流進行推流。
(3)圖像識別、圖像處理。整個項目的關鍵技術點是針對圖像處理的可重構并行處理,由計算機CPU 計算完成并實時返回結果。其中由openCV2 對圖像進行預處理,包括圖像的濾波、圖像的分割、邊緣提取等,留出更多的時間由神經(jīng)網(wǎng)絡訓練得到的模型實現(xiàn)復雜的融合算法與圖象識別,這樣既具有制造完成后的可編程性,又能提供較高的計算性能。
利用Python 程序調用openCV 包,pytorch、django 后端服務器對圖像進行識別與處理以及識別結果的響應。
(4)檢測分析。利用處理后的信息進行數(shù)據(jù)比對,從而判斷設備運行狀態(tài),指導設備狀態(tài)檢修。
圖2 官容5 缺陷
圖3 識別結果
圖4 視頻流圖像
本項目實現(xiàn)主體為目標檢測,用rtmp流作為目標檢測測試輸入。
def loadtraindata():
path=r"./data/hongwai"
trainset=torchvision.datasets.ImageFolder(path,transform=transforms.Compose([transforms.Resize((32,32)),transforms.CenterCrop(32),transforms.ToTensor()]))
trainloader=torch.utils.data.DataLoader(trainset,batch_size=4,shuffle=True,)
return trainloader
def loadtestdata():
#path=r"/mnt/nas/cv_data/imagequality/waterloo_de20_all/test"
path=r"./data/zhengchang/"test=settorchvision.datasets.ImageFolder(path,transform=transforms.Compose([transforms.Resize((32,32)),transforms.ToTensor()]))
testloader=torch.utils.data.DataLoader(testset,batch_size=25,shuffle=True,)
return testloader
class Net(nn.Module):
def__init__(self):
super(Net,self).__init__()
self.conv1=nn.Conv2d(3,6,5)
self.pool=nn.MaxPool2d(2,2)
self.conv2=nn.Conv2d(6,16,5)
self.fc1=nn.Linear(16*5*5,120)
self.fc2=nn.Linear(120,84)
self.fc3=nn.Linear(84,6)
def forward(self,x):
x=self.pool(F.relu(self.conv1(x)))
x=self.pool(F.relu(self.conv2(x)))
x=x.view(-1,16*5*5)
x=F.relu(self.fc1(x))
x=F.relu(self.fc2(x))
x=self.fc3(x)
return x
def trainandsave():
trainloader=loadtraindata()
net=Net()
optimizer=optim.SGD(net.parameters(),lr=0.001,momentum=0.9)
criterion=nn.CrossEntropyLoss()
#train
for epoch in range(5):
running_loss=0.0
for i,data in enumerate(trainloader,0):
#get the inputs
inputs,labels=data
#wrap them in Variable
inputs,labels=Variable(inputs),Variable(labels)
optimizer.zero_grad()
#forward+backward+optimize
outputs=net(inputs)
loss=criterion(outputs,labels)
loss.backward()
optimizer.step()
running_loss+=loss.item()
print('loss:',running_loss)
if i%200==199:
print('[%d,%5d]loss:%.3f'%
(epoch+1,i+1,running_loss/200))
running_loss=0.0
print('Finished Training')
torch.save(net,'net.pkl')
本文研究了一種用Python 程序設計方法對對紅外熱像儀采集到的圖像進行識別,并實時跟蹤設備運行狀態(tài),將狀態(tài)信息反饋到監(jiān)控主機或手機APP 中,從而指導設備狀態(tài)檢修。這種程序設計較為簡單,便于掌握,可推廣用于變電站內指導設備狀態(tài)檢修。同時該設計方案也可用于輸配電線路巡檢、二次設備巡檢等電力系統(tǒng)的各個環(huán)節(jié),具有較強的推廣價值。