基於Inception的航拍螺栓點識別

本文目的: 

對視頻中螺栓點進行自動檢測,使其自動判斷出損害,脫落,鏽蝕螺栓的位置,縮短人力成本。

技術原理 :

對原視頻提取圖片百分之90作爲訓練集,百分之10作爲測試集,人工選取並分類爲3種類別,即不是螺栓,正常螺栓,損害螺栓,通過遷移學習使用卷積神經網絡進行圖形分類訓練,訓練完成後利用完成模型對圖片中全部螺栓點進行判別,判別結束後,假如此點爲損害螺栓則反饋到原圖上表示。

預處理階段:

首先提取視頻中的圖片,考慮到幀數爲50,每50幀提取一次使圖片具有一定的差異性。

通過人工對可能的病害螺栓進行選取標註。    

對於如何選擇病害螺栓,除了少數直觀脫落外,還有很大一部分螺栓光憑觀察圖片不能完全判別是否損害,再考慮到後續識別的難易度。

因此選取螺栓時採用一下原則:

1.對於顏色深度過深的螺栓點我們認爲其有可能病害。

2.對於顏色與周圍螺栓明顯不同的點,我們認爲有可能病害。

此外人工截取正常螺栓點,無關點,並分類存儲,最後得到訓練集

正常螺栓點 100個

無關點         50個

損害螺栓點  35個

其中單一螺栓點像素在(15*15)左右

對於單一螺栓點進行灰度分析

單一螺栓點

從圖中我們可以看出其(R,G,B)分佈都較爲陡峭,不利於圖形的區分與判別。

對此需考慮對螺栓點進行灰度二極值處理,使其灰度區分更加明顯,考慮到時間原因和預期成果(即圖片本身清晰度太低,提升效果有限),我們還是使用原先圖片進行訓練。

神經網絡搭建:

通過接入inception,我們只需要更改瓶頸層訓練一小部分數據,就能使其具有一定的識別功能。

深度學習過程,由於數據集偏小,且像素點低,我們只需訓練400次,就可以訓練完成。其中訓練好的模型保存在run文件夾中。

根據圖像我們可以發現,模型自己認爲自己學習的不錯。

螺栓點神經網絡結構構成

測試階段:

思路:通過openCV模塊相似度識別出所有的螺栓點,並得出點的座標,保存入文件夾,在通過測試程序批量訪問批量判別,假如識別爲損害螺栓則記錄保存進新的文件夾,最好反饋至原圖。

因此通過我們準好的測試圖集,人工選取一些的點來測試模型準確度

正常點

根據判斷點1有76%的可能性爲正常螺栓,雖然對了但這個數值並不高。

問題總結:

1.航拍截取圖像清晰度過低。

2.損害螺栓點訓練數據太少。

3.關於人工選取損害螺栓點的過程本身就存在一定的不確定性。

4. inceptionV3主要用於靜態物體識別,對於螺栓點的兼容性比較低,結果的準確度會受很大影響。

5.由於時間,熟練度等原因,短時間內從頭搭建神經網絡並且訓練成型較爲困難。

6.目前的模型只是實驗產品和實際運用還有一段距離。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章