查晶晶
(銅陵職業(yè)技術學院 信息工程系,安徽 銅陵 244000)
目標檢測是指在系列圖像中檢測到目標元素,并從大量的背景中提取處理。這項技術在視頻監(jiān)控、3D建模、人工智能等方面都有著大量應用,目標檢測的精確性影響到計算機視覺技術、視頻分析與處理等諸多領域的發(fā)展[1-3]。目標檢測技術在人們生產生活和國防安全等方面都有著實際應用,例如利用該技術進行監(jiān)控、導航,提升人們的工作效率,保障生活安全[4]。此外,還可以在戰(zhàn)場上實現偵查、精確制導等功能,具有極高的軍事價值[5]。因此,研究使用更高效的增晰算法來準確檢測視頻中的目標具有十分重要的現實意義。
圖1 深度數據流Fig.1 Depth data flow
本文基于Kinect的捕捉功能,從目標檢測和圖像增晰兩方面進行實驗。通過對不同數據集測試,得到各個檢測算法和增晰方法的優(yōu)點,為深度視頻處理提供重要的理論參考[6]。
Kinect(由微軟發(fā)布的3D體感游戲的交互外設)包括一個紅外攝像機、一個紅外發(fā)射器和一個標準彩色攝像機,可利用紅外結構光原理來測量深度,分辨率可達640×480。
深度圖像(depth image)也可以被稱為距離影像(range image),如圖1所示,這類圖像的像素值是從圖像采集器到空間中每個點的距離,具體而言是每一幀圖像在深度感應器的視閾內攝像頭平面與物體平面之間的距離,能夠清晰地表達出物體的外觀。
圖像在時間緯度組合成為視頻,視頻每一幀是一張圖像,傳統(tǒng)攝像頭記錄的圖像是RGB圖像,只有RGB三個緯度,Kinect除了RGB攝像頭外,還有景深攝像頭(深度攝像頭),可以記錄RGB-D圖像,從而經過組合合成獲取深度視頻。
選擇主要HOG/HOD(histograms of oriented gradients,HOG; histogram of oriented depths,HOD) 框架和SSD(single shot multibox detector)算法進行研究[7]。HOG/HOD框架是一種基于稠密深度信息的人體檢測方法,源于Kinect RGB-D傳感器的深度特征,效果較為明顯。
1.2.1HOG框架
HOG框架采用了在圖像尺度空間的搜索來發(fā)現目標,可以在短時間內較快得出目標深度圖像中不同方位所表示的尺度。從訓練數據集中計算出平均人體高度Hm,數據集中地面位置和每個樣本的高度都做了精確標注。此信息用來計算一個尺度到深度的映射,如公式(1)所示。
(1)
式中:Fy表示紅外攝像機在垂直方向的焦距,mm;Hm表示人體的平均高度且Hm=1.74 m;Hw表示檢測窗口在尺度為1 m時的高度,m[8]。
1.2.2SSD算法
SSD算法基于一個前饋卷積網絡,并產生一系列固定大小的邊界框,以及每一個框中包含物體實例的可能性(稱為“分數”)。SSD網絡與一般的CNN網絡類似,它通過一次性輸入n張300×300的圖片,輸出m個邊界框相對偏移量和每個邊界框對于每個類的“分數”。在SSD網絡中,一共使用6個特征圖來生成檢測,每個特征圖被分支到兩個兄弟卷積層中,其中一個生成4m個邊界框的相對偏移量,另一個生成c×m個類“分數”。假設一個特征圖的大小為m×n,特征圖的每個位置產生k個預測,每個預測需要c個類“分數”(c為類的個數+1)和4個相對于原始默認界框的偏移量,那么一個特征圖總共會輸出(c+ 4)kmn個數據[9]。
圖像增晰就是采取特定的方法在原始圖像上面增加額外的信息或者改變原始的數據,可以強調圖像中某一部分的特征,更有利于排除那些不必要的特征,使得圖像更容易獲得與視覺之間的匹配度。對于RGB圖像采用濾波技術將圖像的相鄰像素值用灰度中值或加權的方式替代,達到增晰的目的。而對于深度圖則采用形態(tài)學圖像處理方法,包括腐蝕、膨脹以及開、閉運算,算法如下:
(2)
(3)
式中:g(i,j)為(k,l)坐標處濾波后像素;f(k,l)為(k,l)坐標處原像素;w(i,j,k,l)為加權系數;S(i,j)為濾波后的像素集合;(k,l)為原圖像中像素坐標;(i,j)為濾波后圖像中像素坐標。
為準確評價各算法的性能,分別采用準確率、召回率和耗時性能進行比較分析。
1.4.1準確率
(4)
式中:P為準確率,%;T為準確檢測出目標人體的數量;F為檢測出其他目標當作人體的數量。
1.4.2召回率
(5)
式中:R為召回率,%;T為準確檢測出目標人體的數量;N為將人體檢測為其他目標的數量。
1.4.3耗時性能
分別利用HOG算法和SSD算法對3個不同UR Fall Detection Dataset數據集中100幀圖像進行檢測,記錄每幀所花費時間平滑線散點圖。
(6)
式中:t為100幀圖像檢測消耗的平均時間,ms;ti為第i幀檢測消耗的時間,ms。
數據都是源于UR Fall Detection Dataset數據集(編號1)、Crowd Human數據集(編號2)和INRIA數據集(編號3)。分別從目標檢測和圖像增晰兩方面進行檢測實驗。其中,在目標檢測實驗中先將視頻分割為圖片,再分別利用HOG算法和SSD算法檢測圖片中的目標,最后再將圖片拼接回視頻。在圖像增晰圖片中,先將視頻分割為圖片,并針對RGB圖像,采用中值濾波方法進行增晰,對于深度圖像,采用膨脹與閉運算進行增晰。
選用Kinect采集到的UR Fall Detection Dataset數據集進行目標檢測。對于數據集中的視頻,使用FFmpeg工具將深度視頻按幀截圖,如圖2所示。上層為RGB圖像,下層為深度圖,左側圖像為原始圖,右側圖像為增晰后圖像。
圖2 原始圖與增晰圖對比Fig.2 Comparison between original image and enhanced image
從對比圖中可以清晰地發(fā)現原始圖畫質較差,存在許多瑕疵。如圖2所示,原始的RGB圖像中噪點多,邊緣模糊,如左側圖像中的椅子以及右側圖像中的人體。部分區(qū)域的色彩失真,如左側圖像中的桌子上部,以及右側圖像中門的左下部分。原始的深度圖像中存在許多暈影,椅子等物體的邊緣十分粗糙。對RGB圖像分別采用中值濾波與雙邊濾波方法去除噪點。對于深度通道圖像,采用形態(tài)學中膨脹以及閉運算兩種方法結合進行增晰。最終得到圖2所示的增晰圖與原始圖的對比結果。可以發(fā)現,增晰后的RGB圖像在物體邊緣上顯得更加清晰,色彩失真的問題得到了解決,并且圖像噪點明顯減少[10]。增晰后的深度圖像中噪點、暈影減少,整體畫質在保持物體形狀原樣的前提下明顯改善。
2.3.1準確度分析
分別使用HOG算法和SSD算法對3個不同的UR Fall Detection Dataset數據集進行目標檢測。在本實驗中,使用MobileNet-V2大大壓縮了神經網絡的參數量,極大地加快了檢測速度。部分檢測結果如圖3所示。上層為RGB圖像,下層為深度圖。
圖3 部分圖片檢測結果Fig.3 Partial image detection results
同時,對HOG算法和SSD算法兩者的召回率、精確率也做了對比檢測,結果如表1所示。根據UR Fall Detection Dataset數據集,利用HOG算法進行目標檢測,HOG算法的召回率穩(wěn)定在75%左右,精確率穩(wěn)定在80%左右。而SSD算法的整體召回率超過于90%,精確率超過于96%,兩者數據都優(yōu)于HOG算法。
表1 HOG和SSD算法檢測結果對比Tab.1 Comparison of detection results of HOG and SSD algorithm
2.3.2耗時性能分析
算法檢測的耗時性能也是算法優(yōu)越性的體現,HOG算法和SSD算法的耗時對比如圖4所示。
圖4下方3個波動的線條分別代表了HOG算法檢測3個不同數據集中100幀圖像每幀所花費時間的平滑線散點圖;上方3條波動的線條代表的是SSD算法檢測相同圖像下的耗時。從圖中可以看出,總體上HOG算法耗時平均105 ms左右,而SSD算法耗時則需125 ms左右。從圖4中可知,雖然SSD算法的耗時要高于HOG算法,但其波動性相較于HOG算法是比較低的。SSD算法每次檢測時都是在其基本網絡結構下進行相同的運算,所以其耗時波動上不會太大。而HOG算法雖然平均耗時較短,但其是對整張圖片直接進行分析運算,所以HOG算法會因圖片本身的質量好壞而決定其計算開銷,這也就是為什么HOG算法耗時波動性比較大的原因[11]。整體而言,無論是從召回率還是精確率來看,SSD算法都更優(yōu)于HOG算法。
圖4 HOG與SSD算法檢測耗時對比Fig.4 Comparison of detection time of HOG and SSD algorithms
目標檢測和圖像增晰是計算機視覺中重要的研究方向,為視頻監(jiān)控、圖像分析等領域提供了重要價值。本文基于Kinect深度視頻,在目標檢測和增晰算法方面進行了深入研究。選取UR Fall Detection Dataset數據集進行了目標檢測和圖像增晰實驗,得到以下結論:
1)HOG算法和SSD算法都能很好地實現目標檢測,在檢測召回率和精確率上,HOG算法略遜于SSD算法,而在耗時性能上,HOG算法則表現更為優(yōu)秀。
2)采用中值濾波方法對RGB圖像進行增晰,得到的圖像在色彩、邊緣等方面都有很好的改善。
3)采用形態(tài)學中的膨脹與閉運算方法以及像素替換法增晰深度圖像,得到的圖像在噪點和暈影方面得到了明顯的減少。