孟凡龍
上海優景智能科技股份有限公司 上海 200438
什么是算法?算法理論上是一套復雜的數學公式,是有限且確定的一套解決方案或解決步驟,算法是需要通過學習來提升準確率,算法效果好壞很大程度上取決于業務問題的抽象和轉化,對業務場景和需求的梳理,即將業務問題有效地轉為算法問題,設計最合適最高效的算法模型和框架實現業務目標的應用分析。針對水域圖像感知智能分析系統,建立算法倉庫,實現各類算法包的管理和存儲,支撐水域圖像感知智能分析,算法倉庫中算法的豐富多樣,是挖掘圖像感知蘊含價值的關鍵點,結合水域業務應用,針對水面漂浮物、侵占構筑物、水體表征變化等事件采用集中分析模式,視頻智能分析軟件部署在云計算平臺。
水域智能分析智能算法整體采用GraphCut圖像分割經典算法,GraphCut算法普遍應用于前背景分割(Image segmentation)、立體視覺(stereo vision)、摳圖(Image matting)、圖像平滑(image smoothing)等。
在實際水域智能分析應用中,采用了GraphCut算法的改進版迭代GrabCut算法,該算法只需要極少量的用戶交互操作就可以得到理想的分割效果,在目標位置畫一個框,即可分割提取目標特征;同時因水域環境的很多目標物是連接在一起的,如水質惡化、污水等圖形分割較困難,一般結合分水嶺分割算法來處理,分水嶺分割算法就是把抓取的圖形看成一幅“地形圖”,其中亮度比較強的區域像素值較大,而比較暗的區域像素值較小,通過尋找“匯水盆地”和“分水嶺界限”,對圖像進行分割,兩種算法相互結合可以實現更好的目標提取分割效果。
基本步驟如下:第一,獲取水域彩色圖像,轉換為灰度圖像,把梯度幅值作為分割函數并進行計算,圖像黑暗區域是要分割的目標,一般用梯度模值進行分水嶺算法得到的結果會有過度分割的情況,先用Grab Cut算法分別對前景對象和背景對象進行標記,分割效果會更好。第二,標記前景對象,實現每個對象內部連接的斑點像素標記;計算前景標志,常用開運算、閉運算剔除比結構元素小的特定圖像細節,同時保證不產生全局幾何失真。第三,標記背景對象,是指不屬于任何目標的像素,一般清理后的圖像暗像素屬于背景,計算背景標志可以從閥值操作開始,背景像素在黑色區域,一般通過計算“骨架影響范圍”來“細化”背景,通過計算BW(黑白)的距離變換的分水嶺變換來實現,然后尋找結果的分水嶺脊線。第四,計算分割函數的分水嶺變換,通過修改梯度幅值圖像,使其僅在前景和后景標記位置有極小值,然后做基于分水嶺的圖像分割計算;第五,顯著目標獲取與特征提取,像素分割計算后的圖像以區域為單位分別計算獨特性與空間分布兩個特征,將二者結合并為每個像素分配顯著性值得到最終的顯著圖,結合超像素分割方法進行顯著性目標提取。第六,實現結果可視化,疊加前景標記、背景標記、分割對象邊界到初始圖像,以及對目標特征提取進行顯示。最后可以通過人機交互進行迭代,人為固定一些像素是目標或背景像素,執行上述步驟,重復整個迭代算法,實現算法迭代優化[1]。
水域涉及的識別物在圖像監控畫面中清晰可見時,主要涉及的分析識別模型如下:
識別視頻圖像中的浮藻、水葫蘆、生活垃圾等水面漂浮物,標注和統計圖像中漂浮物數量,結合監控錄像跟蹤分析水面漂浮物的擴散和去向。
水位線識別模型自動識別堤防、水庫、水閘、岸線邊坡等目標水工建筑物與水的位置關系或交匯關系,對水位警戒線進行標記,一旦發現水位上漲超過水位警戒線則觸發告警,防范出現漫壩漫堤的險情險況。
水質惡化識別通過圖像識別出的水體表征變化信息,包括水體發黑、水體發綠、水體由清澈變渾濁等水體表征變化情況,可查看識別的圖像畫面,同時可顯示標注、進行自動預警、統計的水體表征變化點數量。
構建拋投垃圾識別模型,識別人群岸邊拋物的行為,一旦發現違禁行為立即觸發告警,同時云端支持錄制現場實況,作為違禁行為的問責依據。
構建傾倒污水識別模型,識別人群向河道傾倒污水的行為,一旦發現違禁行為立即觸發告警,同時云端支持錄制現場實況,作為違禁行為的問責依據。
構件違章構筑物識別明,對水域附近違章構筑物進行識別,主要包括彩板房、玻璃房、磚混結構、磚瓦房等,標注和統計侵占情況,一旦發現并確認為違章構筑物即觸發告警,同步將報警信息發送相關管理者[2]。
針對已經建設的睡眠漂浮物識別模型、水位線識別模型、水質惡化識別模型、拋投垃圾識別模型、傾倒污水識別模型等算法等進行優化訓練。
針對指定圖像感知位置情況,以及模型運行期間的誤報及漏報情況,對水面漂浮物識別分析模型進行優化訓練,提升模型準確率。算法優化訓練的關鍵步驟:第一,收集水面漂浮物視頻拍攝素材,通過擴增樣本和樣本泛化技術進行水面漂浮物識別;第二,進行樣本均衡處理,初期的素材往往負樣本(沒有異情場景的照片)數量遠遠大于正樣本(有異情場景照片)數量,需要算法以保證訓練樣本相對均衡且樣本分布均勻;第三,進行圖像預處理,采用圖像標準化及主要區域分割技術,識別有水面漂浮物的區域;第四,遠景小目標強化訓練技術,高空監控場景中,1~2公里處的水面漂浮物目標往往較小,不易區分;需要通過小目標專用強化訓練算法提高遠景小目標識別能力;第五,遠景小目標甄別技術訓練,高空監控場景中,遠景的水面漂浮物目標的確和異情很像,需要訓練局部圖像語義算法以提高后期目標甄別準確度;第六,常見易誤報場景特征分離技術,如果不包含語義分析,僅僅從局部圖像特征看,容易誤報,需要通過強化訓練網絡來區別各種常見誤報場景;第七,最終通過算法優化,本模型涉及的識別物在圖像感知畫面中清晰可見時,實現水面漂浮物識別;第八,樣本集:3000 個(一張里面可能有多個),準確率>90%,漏檢率≤10%, 誤檢:≤2次/小時,結果類型為圖片。
針對指定圖像感知位置情況,以及模型運行期間的誤報及漏報情況,對水位線識別模 型進行優化,提升模型準確率。
算法優化訓練的關鍵步驟:第一,收集水位線識別視頻拍攝素材,通過擴增樣本和樣本泛化技術進行水位線識別;第二,第二至第六同水面漂浮物識別模型算法優化訓練步驟;第三,最終通過算法優化,本模型涉及的水位識別物在視頻監控畫面中清晰可見時,實現水尺水位識別。第四,水尺水位刻度讀數識別在1cm內,河岸虛擬水尺水位線識別在5cm內;結果:讀數;樣本量:水尺,1000張,水面2000張[3]。
針對指定圖像感知位置情況,以及模型運行期間的誤報及漏報情況,對水質惡化識別分析模型進行優化,提升模型準確率。主要是識別水質惡化后產生的水葫蘆、藍藻。算法優化訓練的關鍵步驟:第一,收集水質惡化的視頻拍攝素材,通過擴增樣本和樣本泛化技術進行水質惡化識別;第二,第二至第六同水面漂浮物識別模型算法優化訓練步驟;第三,最終通過算法優化訓練,本模型涉及的識別物在視頻監控畫面中清晰可見時,實現水質惡化區域的識別;第四,樣本集:5000個,準確率>80%,漏檢率:≤20%,誤檢率:≤2次/天,結果類型:圖片。
針對指定圖像感知位置情況,以及模型運行期間的誤報及漏報情況,對拋投垃圾識別分析模型進行優化,提升模型準確率。算法優化訓練的關鍵步驟:第一,收集拋投垃圾的視頻拍攝素材,通過擴增樣本和樣本泛化技術進行拋投垃圾識別;第二,第二至第六同水面漂浮物識別模型算法優化訓練步驟;第三,最終通過算法優化,本模型涉及的識別物在視頻監控畫面中清晰可見時,實現拋投垃圾識別;第四,樣本集:2000個,準確率>80%,漏檢率:≤20%,誤檢率:≤8次/天,有效距離:30米,結果類型:2秒短視頻。
針對指定圖像感知位置情況,以及模型運行期間的誤報及漏報情況,對傾倒污水識別分析模型進行優化,提升模型準確率[4]。算法優化訓練的關鍵步驟:第一,收集傾倒污水的視頻拍攝素材,通過擴增樣本和樣本泛化技術進行傾倒污水識別;第二,第二至第六同水面漂浮物識別模型算法優化訓練步驟;第三,終通過算法優化,本模型涉及的識別物在視頻監控畫面中清晰可見時,實現傾倒污水識別;第四,樣本集:2000個,準確率>85%,漏檢率:≤15%,誤檢率:≤6次/天,有效距離:30米,結果類型:2秒短視頻。
針對指定圖像感知現場情況,以及模型運行期間的誤報及漏報情況,對違章構筑物識別分析模型進行優化,提升模型準確率。算法優化訓練的關鍵步驟:第一,收集違章構筑物視頻拍攝素材,通過擴增樣本和樣本泛化技術進行傾倒污水識別;第二,第二至第六同水面漂浮物識別模型算法優化訓練步驟;第三,終通過算法優化,本模型涉及的識別物在視頻監控畫面中清晰可見時,實現違章構筑物識別;第四,樣本集:3000個,準確率>80%,漏檢率:≤15%,誤檢率:≤3次/天,有效距離:無,結果類型:圖片對比[5]。
通過AI訓練平臺建立針對水域的水面漂浮物、水位線、水質惡化、拋投垃圾、傾倒污水、違章構筑物等現象的相對應的分析模型,人工標注被檢物,不斷進行模型訓練學習最后能夠動態識別被檢物體,并產生告警信息,在不需要人為干預的情況下對圖像感知場景進行自動分析,及時做出信息提醒,為水域管理提供強有力的智能化手段。