響應國網加快推進泛在電力物聯網建設的要求
現設計智能配電房設備疲勞,老化的預測實現
使用基於python3語言
調用opencv face_recognition tensorflow cvlib庫
收集設備污穢、生鏽程度,受潮情況,緩衝器滲漏等情況,基於基於隱馬爾科夫預測
完成先識別,後預測的功能
#導入圖片
# Import the image
img = cv2.imread('burano.jpg')
#灰度
# Convert the image into gray scale
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#HSV HLS
# Transform the image into HSV and HLS models
img_hsv = cv2.cvtColor(img, cv2.COLOR_BGi2HSV)
img_hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)
img = cv2.GaussianBlur(img,(3,3),0)
canny = cv2.Canny(img, 50, 150)
#設備特徵識別
import cv2
import matplotlib.pyplot as plt
import cvlib as cv
from cvlib.object_detection import draw_bbox
im = cv2.imread('cars_4.jpeg')
bbox, label, conf = cv.detect_common_objects(im)
output_image = draw_bbox(im, bbox, label, conf)
plt.imshow(output_image)
plt.show()
print('Number of cars in the image is '+ str(label.count('distribution box')))
states = ('Rainy', 'Sunny')
observations = ('walk', 'shop', 'clean')
start_probability = {'Rainy': 0.6, 'Sunny': 0.4}
transition_probability = {
'Rainy' : {'Rainy': 0.7, 'Sunny': 0.3},
'Sunny' : {'Rainy': 0.4, 'Sunny': 0.6},
}
emission_probability = {
'Rainy' : {'walk': 0.1, 'shop': 0.4, 'clean': 0.5},
'Sunny' : {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
}
上圖是一個簡單的HMM。我們的目標是要從表狀態鏈(生活)中找到最可能的隱狀態鏈(天氣)。
傳統的維特比算法,等價於將HMM展開爲概率圖,最好的隱狀態鏈就是概率圖中的最優路徑對應的隱狀態鏈,所以維特比算法思路等價於dijistra最優路徑算法。這裏要說明幾個要點:
- 概率低不代表不發生
- 節點的某個狀態概率低,依然可以選擇這條路徑節點,因爲我們求解的是全局最優路徑
- 在求解最優隱狀態鏈時,我們實際上給隱狀態鏈加入了一個門閥矩陣Pk,比如選取狀態二就是點乘[0,0,1]矩陣
HMM隱馬爾可夫模型,即通過統計的方法可以去觀察和認知一個事件序列上鄰近事件發生的概率轉換問題。
如何訓練HMM模型:輸入Xi序列和Oi序列,全部通過統計學模型完成,得到的模型結果就是一個轉移矩陣。一個輸出概率矩陣和一個隱含狀態轉移矩陣。這樣可以對下一個輸出狀態進行基於概率的預測。
通過高斯濾波,特徵檢測(邊緣檢測等)和findContours,識別瓷瓶污穢,生鏽程度,受潮情況,緩衝器滲漏等情況
並使用隱馬爾科夫鏈,智能預測電力設備疲勞,老化的情況
git鏈接:https://github.com/dading105/opencv
技術交流羣:334312796 驗證密碼:深圳友先達