電力變電站基於動態特徵及區域融合的目標檢測方法與流程
2023-10-24 02:35:27 2
本發明涉及一種電力變電站基於動態特徵及區域融合的目標檢測方法,屬於變電站智能監控技術領域。
背景技術:
隨著視頻監控的網絡化、高畫質化、智能化技術的不斷發展,視頻監控技術在電網安全、生產運行中的應用不斷深入和廣泛,傳統方式所採用的視頻監控技術為電網設備遠程監控提供遠程可視化的監控手段,為遠程確認設備實際的狀態與監控數據顯示狀態是否一致,提供了可靠和有效的確認手段,為準確做出決策提供了依據,然而,隨著該技術的不斷深入和推廣應用,由於變電站數量眾多、站內設備數量龐大,若每個設備的狀態查看和確認都需要人工進行查看和確認,其所帶來的工作量將特別龐大,且工作效率低下,隨著電網技術對電網智能化水平要求的不斷提高,如何提高視頻監控技術在電網智能化監控技術中的應用,將對電網智能化水平的提升起到促進作用。同時,將為電網設備的智能化監控、智能化巡視提供技術手段。同時,電力變電站中目標設備定位對於電網智能化設備狀態巡視、設備告警聯動等電網生產運行監控具有重要意義,對電網智能化水平的發展和提高具有一定的促進作用。由於變電站設備場景的複雜性,如何有效實現對變電站中目標設備定位將是該技術的核心研究內容。
技術實現要素:
本發明所要解決的技術問題是克服現有技術的缺陷,提供一種電力變電站基於動態特徵及區域融合的目標檢測方法,提高和解決在攝像機巡視中對電力變電站中設備的定位.
為解決上述技術問題,本發明提供一種電力變電站基於動態特徵及區域融合的目標檢測方法,包括以下步驟:
1)獲取圖片並進行初始化處理;
2)對圖像序列化並進行邊緣檢測;
3)對圖像進行邊緣融合;
4)與待檢測目標進行比較。
前述的步驟1)獲取圖片並進行初始化處理包括以下步驟:
(1-1)通過廠家視頻獲取接口實時獲取變電站攝像機的實時視頻數據;
(1-2)在獲取到實時視頻數據時間間隔0.1秒後,從實時視頻數據中截取接下來的連續30幀圖片數據;
(1-3)在截取完圖片後,使用開源計算機視覺處理庫檢測圖片中黑色像素是否過多,如果圖片黑色像素佔比大於70%,則重新獲取圖片,獲取圖片成功後,保存圖片數據為img1-img30;
(1-4)將獲取的圖片進行格式轉換,轉換為rgb圖片格式,轉換後的圖片數據為img1_rgb[]-img30_rgb[];
(1-5)將rgb格式轉換為灰度格式,轉換後的灰度圖片數據為:matfirst1_gray[]-matfirst30_gray[];
(1-6)假設圖片橫坐標x為0<x<w1,圖片縱坐標y為0<y<h1,其中,h1表示圖片的高度,w1表示圖片的寬度,將圖片橫坐標截取為w1/8<x<7*w1/8,將圖片縱坐標截取為h1/8<y<7*h1/8,得到灰度圖片mat1_gray[]-mat30_gray[]。
前述的步驟(1-5)中將rgb格式轉換為灰度格式,轉換公式為:
gray=r*0.299+g*0.587+b*0.114。
前述的步驟2)對圖像序列化並進行邊緣檢測包括以下步驟:
(2-1)對連續幀圖像進行平均值運算:
avgimg=(mat1_gray[]+mat2_gray[]+...+mat30_gray[])/30,
其中,avgimg表示30副連續幀圖像的平均值;
(2-2)每一幀圖像與平均值進行差減法計算,提取出運動區域:
(2.1).temp1img=mat1_gray[]-avgimg;
(2.2).temp2img=mat2_gray[]-avgimg;
(2.30).temp30img=mat30_gray[]-avgimg;
其中,tempiimg,i=1,2,……,30,為第i幀圖像的運動區域;
(2-3)對運動區域進行邊緣檢測,得到連續幀中每一幀圖像的邊緣圖像:
edgei_img=canny(tempiimg),i=1,2,……,30,
其中,edgei_img表示第i幀圖像的邊緣圖像,canny表示邊緣檢測算子。
前述的步驟3)對圖像進行邊緣融合包括以下步驟:
(3-1)將連續幀圖像的邊緣圖像進行逐步邊緣融合,最終融合成一幅圖像edge_tmp,過程如下:
(3.1)edge_tmp=addweighted(edge1_img,edge2_img);
(3.2)edge_tmp=addweighted(edge_tmp,edge3_img);
(3.29)edge_tmp=addweighted(edge_tmp,edge30_img);
其中,公式edge_tmp=addweighted(edge_tmp,edgei_img),i=3,4,……,30,是指將上一步融合後的圖像edge_tmp和edgei_img進行融合,得到新的edge_tmp,addweighted函數是指取參數中每幅圖像的1/30的權重進行求和運算;
(3-2)使用形態學方法對融合後的邊緣圖像進行縮減,
首先對融合後的邊緣圖像進行膨脹處理,得到:
edge_tmp1=imdilate(edge_tmp,mask(3*3)),
imdilate是opencv提供的膨脹算法函數;
然後再對膨脹處理後的圖像進行腐蝕處理,得到:edge_tmp2=imerode(edge_tmp1,mask(3*3)),
imerode是opencv提供的腐蝕算法函數;
(3-3)使用圖像處理技術將步驟(3-2)經過處理後的圖像轉化成連通區域。
前述的步驟(3-3)將步驟(3-2)經過處理後的圖像轉化成連通區域,具體如下:
a.逐行掃描edge_tmp2,把edge_tmp2中每一行連續的白色像素組成一個序列稱為一個團,並記下它的起點start、它的終點end以及它所在的行號,記為標號k,k從1開始;
b.對於除了第一行外的所有行裡的團,如果它與前一行中的所有團都沒有重合區域,則給它一個新的標號k++;如果它僅與上一行中的一個團有重合區域,則將上一行中的那個團的標號k賦給它;如果它與上一行中的2個或以上的團有重疊區域,則給當前團賦一個相連團j,j從1開始,的最小標號,並將上一行的這幾個團的標記寫入等價對;
c.將等價對轉換為等價序列,每一個序列需要給一相同的標號;
d.遍歷開始團的標號,查找等價序列,給予它們新的標號;
e.將每個團的標號填入標記圖像中。
前述的步驟(4)與待檢測目標進行比較,包括步驟:
(4-1)提取待檢測目標運動時的連續幀圖像;
(4-2)使用光流法對其進行運動區域檢測;
(4-3)提取運動區域邊緣並進行縮減得到目標融合區域;
(4-4)將檢測到的目標與待檢測目標相比較,得出結果。
前述的步驟(4-4)將檢測到的目標與待檢測目標相比較使用第三方提供的開源函數octave,進行兩個形狀的相似度比較,當相似度大於90%時,即可判斷識別到了目標。
本發明所達到的有益效果:
本發明方法通過圖像智能識別,能夠有效進行變電站目標設備的定位,排除外在影響因數,能夠最大限度地提高檢測的準確性和適用性。
本發明方法易於實現和應用,主要可以應用於電網智能化設備狀態巡視、設備告警聯動等電網生產運行智能化遠程監控中,對電網智能化水平的發展和提高具有一定的促進作用。
附圖說明
圖1為本發明方法流程圖。
具體實施方式
下面對本發明作進一步描述。以下實施例僅用於更加清楚地說明本發明的技術方案,而不能以此來限制本發明的保護範圍。
如圖1所示,本發明的電力變電站基於動態特徵及區域融合的目標檢測方法,分為圖片獲取及初始化處理,圖像序列化及邊緣檢測,邊緣融合及處理,與待檢測目標比較四個過程。
(1)圖片獲取及初始化處理包括步驟:通過廠家視頻獲取接口獲取變電站視頻監控系統的實時視頻數據;獲取實時視頻中的連續30幀,用於後續檢測;幀圖像處理,對圖片進行灰度化處理;對灰度化後的圖片進行邊緣提取,詳細如下:
(1-1)通過廠家視頻獲取接口實時獲取變電站攝像機的實時視頻數據;
(1-2)在獲取到實時視頻數據時間間隔0.1秒後,從實時視頻數據中截取接下來的連續30幀圖片數據。採用0.1秒後再截取圖片數據的原因主要為:由於變電站與遠端之間的網絡帶寬有限,若獲取到視頻後直接截圖圖片,可能會出現圖片截取失敗或截取的圖片存在異常等原因;
(1-3)在截取完圖片後,使用開源計算機視覺處理庫檢測圖片中黑色像素是否過多,如果圖片黑色像素佔比大於70%,則重新獲取圖片,獲取圖片成功後,保存圖片數據為img1-img30;
(1-4)通常此時獲取的圖片格式為yuv格式,為了便於後續的圖像分析,將該圖片進行格式轉換,轉換為rgb圖片格式,轉換後的圖片數據為img1_rgb[]-img30_rgb[];
(1-5)後續圖像處理主要是根據灰度圖像的處理,因此,需要將rgb格式轉換為灰度格式,根據rgb轉灰度公式:gray=r*0.299+g*0.587+b*0.114,從而將img1_rgb[]-img30_rgb[]計算得到對應的灰度圖片數據:matfirst1_gray[]-matfirst30_gray[];
(1-6)由於實際圖片中左上角或右上角、左下角或右下角通常均包含一些文字信息為了,避免文字信息對監測的影響,假設圖片橫坐標為0<x<w1,圖片縱坐標為0<y<h1,其中的h1表示圖片的高度,w1表示圖片的寬度,將圖片橫坐標截取為w1/8<x<7*w1/8,將圖片縱坐標截取為h1/8<y<7*h1/8,得到灰度圖片mat1_gray[]-mat30_gray[],新的灰度圖片的寬度為w2,高度為h2。
(2)圖像序列化及邊緣檢測包括步驟:對連續幀圖像進行平均值運算,保存平均值結果圖像;每一幀圖像與平均值進行差減法計算,提取出運動區域;對運動區域進行邊緣檢測,得到連續幀圖像的邊緣。詳細如下:
(2-1)對連續幀圖像進行平均值運算:
avgimg=(mat1_gray[]+mat2_gray[]+...+mat30_gray[])/30,
avgimg表示30副連續幀圖像的平均值;
(2-2)每一幀圖像與平均值進行差減法計算,提取出運動區域:
(2.1).temp1img=mat1_gray[]-avgimg;
(2.2).temp2img=mat2_gray[]-avgimg;
(2.30).temp30img=mat30_gray[]-avgimg;
tempiimg(i=1,2,……,30)為第i幀圖像的運動區域;
(2-3)對運動區域進行邊緣檢測:
edgei_img=canny(tempiimg),i=1,2,……,30
edgei_img表示第i幀圖像的邊緣圖像。
(3)邊緣融合及處理包括步驟:將連續幀邊緣圖像進行邊緣融合;使用形態學方法對融合後的邊緣進行縮減;使用圖像處理將融合後的圖像轉化成連通區域;
(3-1)將連續幀圖像的邊緣圖像進行逐步邊緣融合,最終融合成一幅圖像edge_tmp,addweighted函數是指取參數中每幅圖像的1/30的權重進行求和運算:
(3.1)edge_tmp=addweighted(edge1_img,edge2_img);
(3.2)edge_tmp=addweighted(edge_tmp,edge3_img);
(3.29)edge_tmp=addweighted(edge_tmp,edge30_img);
其中,公式edge_tmp=addweighted(edge_tmp,edgei_img),i=3,4,……,30是指將上一步融合後的圖像edge_tmp和edgei_img進行融合,得到新的edge_tmp。
(3-2)使用形態學方法對融合後的邊緣圖像進行縮減,首先對融合後的邊緣圖像進行膨脹處理,得到:
edge_tmp1=imdilate(edge_tmp,mask(3*3)),
imdilate是opencv提供的膨脹算法函數;
然後再對膨脹處理後的圖像進行腐蝕處理,得到:edge_tmp2=imerode(edge_tmp1,mask(3*3)),
imerode是opencv提供的腐蝕算法函數。
(3-3)使用圖像處理技術將步驟(3-2)經過處理後的圖像轉化成連通區域;
a.逐行掃描edge_tmp2,把edge_tmp2中每一行連續的白色像素組成一個序列稱為一個團(run),並記下它的起點start、它的終點end以及它所在的行號,記為標號k(k從1開始)。
b.對於除了第一行外的所有行裡的團,如果它與前一行中的所有團都沒有重合區域,則給它一個新的標號k++;如果它僅與上一行中的一個團有重合區域,則將上一行中的那個團的標號k賦給它;如果它與上一行中的2個或以上的團有重疊區域,則給當前團賦一個相連團j(j從1開始)的最小標號,並將上一行的這幾個團的標記寫入等價對,說明它們屬於一類。
c.將等價對轉換為等價序列,每一個序列需要給一相同的標號,因為它們都是等價的。從1開始,給每個等價序列一個標號。
d.遍歷開始團的標號,查找等價序列,給予它們新的標號。
e.將每個團的標號填入標記圖像中。
(4)與待檢測目標比較包括步驟:
(4-1)提取待檢測目標運動時的連續幀圖像;
(4-2)使用光流法對其進行運動區域檢測;
(4-3)提取運動區域邊緣並進行縮減得到目標融合區域;
(4-4)將檢測到的目標與待檢測目標相比較,得出結果;在比較時,使用第三方提供的開源函數octave,進行兩個形狀的相似度比較,當相似度大於90%時,即可判斷識別到了目標。
本發明的方法需要的硬體最低配置為:p4、3.0gcpu、512m內存的pc機,在此配置水平的硬體上,採用c/c++語言編程實現本方法。作業系統可基於windows或linux的各類作業系統。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和變形,這些改進和變形也應視為本發明的保護範圍。