報告要求
報告的主題是video based smoke detection,
提供train、test兩個資料集,每個資料集內部均有smoke和non兩個檔案夾,檔案夾內有若干100*100大小的圖片,
報告內容包括四部分:1、特征表示;2、降維及聚類;3、分類;4、模型評價及選擇,
程式設計
在上節中介紹了使用HOG演算法分類的實作,總結來說又以下幾個步驟:
①讀取資料集內的圖片,將其存盤到pos和neg兩個串列內;
②分別對上述串列的每張圖片處理,即經過灰度化、均衡化后提取出hog特征向量,將所有圖片的特征向量保存在gradient_list串列內;
③根據正負資料集的數量,設定標簽,將有煙圖片標為+1,無煙圖片標為-1,得到資料集標簽資訊label;
④根據需求設定學習演算法SVM引數,將gradient_list和label放入SVM演算法內,生成資料集的hog特征模型hog.xml;
⑤對測驗集的圖片提取hog特征向量,將新提取的向量與hog.xml內的特征向量對比,得出相似程度;
⑥根據需求設定不同的閾值,將測驗集內圖片分為有煙和無煙兩部分;
⑦將分類器分出的有煙無煙與真實情況對比分析,得到一組性能指標;
⑧更改閾值,得到不同的分類器,將各分類器的性能指標對比,得到最優分類器,
使用lbp演算法提取特征值分類,整體上還是以上的步驟,有區別是第②和第⑤步,將其更改為利用lbp演算法提取特征向量即可,
img = img_list[i]#第i張圖片
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #灰度化
lbp_mqa = skimage.feature.local_binary_pattern(gray,8,1.0,method='default')
#使用的傳統lbp演算法提取特征
lbp_mqa = lbp_mqa.astype(np.uint8)#型別轉換
hist = cv2.calcHist([lbp_mqa],[0],None,[256],[0,256])
hist = cv2.normalize(hist,hist)
效果實作
有煙、無煙測驗集測驗后得以下二圖,橫坐標是相識程度,縱坐標是數量,


將正常大小圖片放入test.py可得以下圖片,



未完待續
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337595.html
標籤:AI
上一篇:深度學習網路結構大全
