国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSD目標(biāo)檢測(cè)的視頻水位檢測(cè)算法

2019-05-17 02:45肖卓陶青川沈建軍
現(xiàn)代計(jì)算機(jī) 2019年9期
關(guān)鍵詞:水位邊緣圖像

肖卓,陶青川,沈建軍

(四川大學(xué)電子信息學(xué)院,成都 610065)

0 引言

水利相關(guān)部門在河流、湖泊等地建立視頻監(jiān)控系統(tǒng),加速了水利信息化建設(shè)的步伐[5]。其中水標(biāo)尺讀數(shù)的讀取能提供預(yù)測(cè)山洪的有效方法。傳統(tǒng)水位測(cè)量方式主要有安裝水尺目測(cè)讀數(shù)和使用傳感器自動(dòng)采集水位相關(guān)的模擬量再轉(zhuǎn)換為水位量兩種。其中目測(cè)測(cè)量方式效率低、及時(shí)性差以及惡劣情況下無法讀取,而使用傳感器測(cè)量方式成本高、難以維護(hù)、受環(huán)境影響大[1]。通過數(shù)字視頻處理技術(shù)可以實(shí)時(shí)觀測(cè)河道水庫的情況,提供直觀的圖像信息,同時(shí)可以改善測(cè)量工作人員的工作環(huán)境,做到無人值守[2]。水利視頻監(jiān)控采集的視頻圖像信息,利用圖像處理算法對(duì)水利視頻監(jiān)控圖像進(jìn)行水位提取比人工檢測(cè)更直觀,也更節(jié)省人力成本[3]。

在依靠傳統(tǒng)機(jī)器視覺的水尺識(shí)別算法中,普遍通過形態(tài)學(xué)變換提取水尺邊緣、多幀水尺圖像處理得到水尺位置、RGB空間轉(zhuǎn)HSV空間根據(jù)顏色提取水尺位置、人工預(yù)設(shè)感興趣區(qū)域等方法用來定位水尺目標(biāo)等方法[4-7]。然而在實(shí)際應(yīng)用場(chǎng)景中,安防監(jiān)控具有場(chǎng)景復(fù)雜,圖像噪聲多,目標(biāo)不明顯等特點(diǎn)。形態(tài)學(xué)變換提取水尺邊緣和RGB色彩空間轉(zhuǎn)換至HSV色彩空間的方法都會(huì)受到周圍復(fù)雜場(chǎng)景的影響。無論是場(chǎng)景的邊緣和場(chǎng)景的顏色,都會(huì)對(duì)水尺定位造成很大的影響。而多幀水尺圖像處理得到水尺位置的方法是在攝像頭靜止不動(dòng)的前提下。由于當(dāng)前安防攝像頭大部分均由云臺(tái)控制等功能,在攝像頭受到環(huán)境影響產(chǎn)生抖動(dòng)、視角被調(diào)離水尺區(qū)域或云臺(tái)自動(dòng)巡航時(shí),多幀水尺圖像處理得到水尺位置的方法會(huì)直接失效。

本文提出一種基于SSD目標(biāo)檢測(cè)的水尺檢測(cè)算法,通過深度學(xué)習(xí)訓(xùn)練提取水尺特征,能較好地檢測(cè)到水尺位置。多幀判斷綜合確定當(dāng)前水尺的位置,能非常準(zhǔn)確的定位到水尺的具體位置。檢測(cè)到水尺位置后,邊緣檢測(cè)來獲取水尺邊緣信息,形態(tài)學(xué)處理,填充水尺中心;計(jì)算非零像素占比來矯正傾斜的水尺,使水尺垂直于水平面;再重新進(jìn)行x軸的邊緣檢測(cè)獲取水尺中“E”的刻度,并通過形態(tài)學(xué)處理獲得完整的刻度信息。算法流程如圖1所示。

圖1 算法流程圖

1 SSD水尺目標(biāo)檢測(cè)

SSD(Single Shot Mulitbox Detector)是一種基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法,由Wei Liu在2016年提出,擁有比Fast R-CNN更好的速度及更高的準(zhǔn)確率,是目前主流的深度學(xué)習(xí)目標(biāo)檢測(cè)網(wǎng)絡(luò)之一[8]。SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)結(jié)合YOLO回歸思想以及Faster R-CNN的anchor機(jī)制做到速度與準(zhǔn)確率并存[9]。SSD目標(biāo)檢查網(wǎng)絡(luò)使用VGG-16作為基礎(chǔ)網(wǎng)絡(luò),并增加了新的卷積層來獲取更多的特征圖。由于使用的是全卷積結(jié)構(gòu),相對(duì)于Faster R-CNN包含的全連接層網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)計(jì)算量急劇減少,提高了運(yùn)算速度。并使用多尺度特征圖方式,對(duì)各個(gè)尺寸大小的目標(biāo)特征進(jìn)行檢測(cè)。網(wǎng)絡(luò)模型如圖2所示。

在本文中,由于水尺大小在圖片中各不相同,所以需要提取不同尺度的特征圖進(jìn)行預(yù)測(cè),大尺度特征圖用來檢測(cè)小目標(biāo),小尺度特征圖用來檢測(cè)大目標(biāo)。并在特征圖上的每一個(gè)點(diǎn)生成一系列的候選框,每個(gè)框都會(huì)生成自己的回歸和分類。由于水尺目標(biāo)形狀的特殊性,在視頻監(jiān)控場(chǎng)景下,水尺目標(biāo)普遍是長條狀,垂直于水平面。本文去掉橫向的矩形框,使用多個(gè)不同比例的豎條狀矩形框作為候選框。保持原始網(wǎng)絡(luò)中的各尺度特征圖中候選框數(shù)量,并去除橫向矩形框,增加豎向矩形框,能更好地與原始框進(jìn)行匹配,如圖3所示。

本文采用SSD 300通過監(jiān)督學(xué)習(xí),訓(xùn)練樣本,提取網(wǎng)絡(luò)特征的方式,訓(xùn)練模型。在具體算法中,將視頻監(jiān)控輸出圖像下采樣到300×300的分辨率,并根據(jù)網(wǎng)絡(luò)輸出分類及概率,使用多幀判斷輸出結(jié)果,可以有效解決因日照變化和攝像頭抖動(dòng)造成的檢測(cè)失敗等問題。

圖3 SSD候選框示意圖

首先使用將視頻流解碼成單幀RGB格式,然后對(duì)單幀圖像進(jìn)行下采樣,下采樣至分辨率為300×300,將下采樣后的圖像數(shù)據(jù)輸入至SSD300目標(biāo)檢測(cè)網(wǎng)絡(luò)中。輸出檢測(cè)目標(biāo)的分類、概率及目標(biāo)框信息。

由于光照的影響及攝像頭的抖動(dòng)轉(zhuǎn)動(dòng),可能會(huì)影響SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)的結(jié)果。本算法使用多幀結(jié)合判斷,在當(dāng)前幀未檢測(cè)到目標(biāo)框時(shí)有兩種可能,一個(gè)是攝像頭云臺(tái)旋轉(zhuǎn),視角切換到了看不到水標(biāo)尺的位置,一種就是網(wǎng)絡(luò)誤判不存在水尺。在上一幀目標(biāo)框基礎(chǔ)上,對(duì)比當(dāng)前幀與上一幀,求差分,并使用形態(tài)學(xué)腐蝕濾掉由于攝像頭抖動(dòng)造成的邊緣。計(jì)算非零點(diǎn)占比,當(dāng)百分比較大時(shí)確定當(dāng)前幀的視角與之前的視角不一致,則當(dāng)前SSD網(wǎng)絡(luò)輸出的結(jié)果是正確的,否則使用之前的網(wǎng)絡(luò)輸出結(jié)果對(duì)當(dāng)前幀進(jìn)行下一步計(jì)算。檢測(cè)效果如圖4所示。

2 水位識(shí)別

2. 1 圖片增強(qiáng)

圖2 SSD網(wǎng)絡(luò)模型圖

由于水尺所持環(huán)境光照的變化,安防監(jiān)控?cái)z像頭獲取到的圖像可能出現(xiàn)曝光過度或者曝光不足的情況,變現(xiàn)在圖像上就是水尺邊緣不清晰,對(duì)于分離出水尺刻度造成非常大的影響。

圖4 SSD網(wǎng)絡(luò)輸出水尺分類矩形框

本文使用三通道直方圖均衡的方式,將圖像進(jìn)行非線性拉伸,使圖像峰值部分對(duì)比度得到增強(qiáng)[10]。單通道直方圖均衡如公式(1)所示,其中Sk表示灰度為k的像素均衡后的像素值。L表示位深度,灰度范圍為[0,L-1],MN分別表示圖像的寬高。nj表示灰度值為j的像素值總數(shù)。

增強(qiáng)后的圖片,圖像邊緣更加清晰,并且圖像的灰度在灰度范圍內(nèi)均衡分布,能較好地提取出水尺的邊緣信息。原圖與增強(qiáng)后的圖如圖5(a)、(b)所示。

圖5 水尺識(shí)別效果圖

2. 2 水尺傾斜矯正

對(duì)于增強(qiáng)后的圖像而言,需要進(jìn)一步縮小水尺范圍。去除水尺周邊復(fù)雜的場(chǎng)景邊緣信息對(duì)水尺讀數(shù)造成的影響,并矯正水尺的角度,使水尺垂直于水平面。

如圖5(b)所示,在實(shí)際應(yīng)用場(chǎng)景中,水尺的角度各異,周邊情況不盡相同,SSD模板檢測(cè)網(wǎng)絡(luò)能有效地檢測(cè)到水尺的大致范圍,但對(duì)于復(fù)雜場(chǎng)景中,水尺周邊的邊緣信息復(fù)雜,對(duì)水尺的檢測(cè)會(huì)造成很大的影響,所以必須進(jìn)一步精確提取水尺的位置,并對(duì)偏移的水尺目標(biāo)做矯正,使水尺能夠垂直于圖像水平面。為后續(xù)的水尺刻度讀數(shù)提高精度。

(1)Sobel邊緣提取

Sobel算子主要用來做邊緣檢測(cè)上,是離散型差分算子,用來運(yùn)算圖像亮度函數(shù)的灰度近似值,在圖像任一地方使用此算子,均會(huì)產(chǎn)生灰度矢量或其法矢量,并能很好地抑制圖像中的噪聲,減少噪聲對(duì)實(shí)際邊緣信息造成的干擾[10]。Sobel卷積核如公式(2)所示。

Gx、Gy為兩組3×3的矩陣,分別為橫向和縱向,將之與圖像作平面卷積,即可分別得到橫向與縱向的高度差分近似值。

水尺目標(biāo)中“E”的目標(biāo)相對(duì)于背景有著很明顯的邊緣特征,通過邊緣提取能夠分離出水尺的邊緣,使ROI圖中的E更醒目,由于輸入圖是彩色的,包含更多的信息,使用Sobel算子,對(duì)上一步的結(jié)果圖進(jìn)行邊緣檢測(cè)提取。邊緣提取后效果如圖5(c)所示。

(2)提取水尺

Sobel邊緣提取后,水尺周圍包含很多場(chǎng)景的噪聲及其他物體邊緣的影響,通過中值濾波去除周圍減小的噪聲,平滑獨(dú)立的像素點(diǎn),并通過形態(tài)學(xué)閉操作和膨脹填充水尺中“E”的空隙。如圖5(d)所示,水尺依然是傾斜的,并且水尺周圍存在很多的干擾點(diǎn),直接通過聯(lián)通區(qū)域找到最大外界矩形是不恰當(dāng)?shù)?,?huì)包含很多水尺外的噪聲點(diǎn),所以我們通過旋轉(zhuǎn)圖片,矯正圖片使水尺垂直于水平面。

由于水尺目標(biāo)的特點(diǎn),水尺在圖片中包含了大量的白點(diǎn),其他白點(diǎn)是水尺周圍物體的邊緣。圖6為二值圖中每列像素包含的非0點(diǎn)個(gè)數(shù),可以看出,在40~100中間包含了大量的非0點(diǎn),而40則為水尺左邊界,100為右邊界。通過計(jì)算非0像素在邊界范圍內(nèi)的面積比,找出面積比最大的一個(gè)角度,此時(shí)的水尺接近于垂直水平面。并且可以通過計(jì)算列像素的梯度提取出水尺的左右邊界。獲得傾斜矯正后的水尺圖片后,對(duì)圖片的行像素進(jìn)行同樣的處理,去除噪聲及其他邊界,就此得到水尺原圖。旋轉(zhuǎn)后的二值圖如圖5(e)所示。

圖6 二值圖y軸非0點(diǎn)個(gè)數(shù)

2. 3 水位識(shí)別

對(duì)增強(qiáng)后的圖片進(jìn)行相同的傾斜矯正和圖片截取。圖片中水尺位置垂直水平面,并通過使用Sobel算子x方向邊緣檢測(cè),由于水尺矯正后,x軸方向梯度變化較大。通過Sobel算子x方向邊緣檢測(cè),能很好地過濾掉y軸的邊緣信息,而保留x軸的邊緣,從而能很好地提取出水尺x方向的邊緣信息。如圖5(f)能看出,雖然能很好地提取出水尺刻度,但仍然有水尺邊緣及水尺上數(shù)字的干擾。通過降噪消燥和形態(tài)學(xué)處理如圖5(g)(h),能很好地保留水尺的刻度信息,再通過尋找連通區(qū)域來確定水尺刻度如圖5(i)。

3 實(shí)驗(yàn)結(jié)果

3. 1 數(shù)據(jù)集

本文數(shù)據(jù)集分為SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練集和算法測(cè)試集。例圖如圖7所示。

SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)訓(xùn)練集包括互聯(lián)網(wǎng)上抓取的水尺圖片和四川大學(xué)校內(nèi)拍攝的水尺圖片,通過對(duì)圖片進(jìn)行截取、旋轉(zhuǎn)、翻轉(zhuǎn)和對(duì)比度調(diào)整等操作,擴(kuò)充水尺圖片數(shù)據(jù)。并根據(jù)數(shù)據(jù)集制作樣本。

算法測(cè)試集采用手機(jī)拍攝視頻,通過晃動(dòng)和移動(dòng)手機(jī)模擬實(shí)際水利場(chǎng)景下的監(jiān)控?cái)z像頭抖動(dòng)及云臺(tái)控制。視頻采集于成都市九眼橋,使用最小刻度為1cm的紅藍(lán)兩種顏色的水尺在不同場(chǎng)景下錄制視頻。

3. 2 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)環(huán)境如表1所示。

表1 實(shí)驗(yàn)環(huán)境

實(shí)驗(yàn)使用FFMpeg對(duì)分辨率為1280×720、幀率為30的輸入視頻進(jìn)行解碼、使用SSD300-Caffe版本進(jìn)行水尺目標(biāo)檢測(cè),使用OpenCV3.2對(duì)水尺目標(biāo)區(qū)域圖像進(jìn)行處理識(shí)別水位值。對(duì)紅藍(lán)兩種水尺,兩個(gè)不同場(chǎng)景下共四個(gè)視頻片段進(jìn)行水位檢測(cè)。本文算法能做到單幀目標(biāo)檢測(cè)加識(shí)別在80ms內(nèi),水尺定位實(shí)驗(yàn)結(jié)果如表2所示、水位檢測(cè)部分實(shí)驗(yàn)結(jié)果如圖7所示。

表2 SSD多幀水尺定位實(shí)驗(yàn)結(jié)果表

圖8 水位檢測(cè)效果圖

從表2、圖8可以看出,對(duì)兩個(gè)不同場(chǎng)景下的紅藍(lán)兩種不同顏色的水尺進(jìn)行視頻水位檢測(cè),本文算法能做到水尺目標(biāo)檢測(cè)準(zhǔn)確率在95%以上,水位檢測(cè)誤差在2cm以內(nèi)。并且視頻抖動(dòng)和移動(dòng)都不會(huì)對(duì)算法結(jié)果造成太大的影響。符合當(dāng)前水利視頻監(jiān)控的特征,對(duì)水位檢測(cè)系統(tǒng)有一定的幫助。

4 結(jié)語

本文采用深度學(xué)習(xí)目標(biāo)檢測(cè)網(wǎng)絡(luò)SSD,能準(zhǔn)確定位到安防監(jiān)控中的水尺位置,并結(jié)合傳統(tǒng)機(jī)器視覺算法,計(jì)算最大像素占比來對(duì)水尺圖像進(jìn)行傾斜矯正,再經(jīng)過邊緣檢測(cè),使用連通區(qū)域計(jì)算圖像中的水尺刻度數(shù)。經(jīng)實(shí)驗(yàn)結(jié)果表明,該算法能準(zhǔn)確地定位水尺并識(shí)別水尺刻度,水位誤差低,并能良好地適應(yīng)多種場(chǎng)景下的水尺目標(biāo),在監(jiān)控云臺(tái)旋轉(zhuǎn)時(shí),也能有效定位及識(shí)別。滿足行業(yè)需求?;赟SD目標(biāo)檢測(cè)網(wǎng)絡(luò)的算法可以在增加目標(biāo)分類基礎(chǔ)上進(jìn)行擴(kuò)展,增加諸如漂浮物、人等目標(biāo)分類。并在此基礎(chǔ)上添加越線檢測(cè),漂浮物檢測(cè)等算法。

猜你喜歡
水位邊緣圖像
基于生成對(duì)抗網(wǎng)絡(luò)的CT圖像生成
淺析p-V圖像中的兩個(gè)疑難問題
巧用圖像中的點(diǎn)、線、面解題
一張圖看懂邊緣計(jì)算
趣味數(shù)獨(dú)等4則
七年級(jí)數(shù)學(xué)期中測(cè)試題(B)
在邊緣尋找自我
走在邊緣
邊緣藝術(shù)