摘" 要: 為進行基于機器視覺的位移測量研究,提出一種基于深度學習的直線位移測量方法。首先通過輕量化模型YOLOv5s-DSS用于實驗小車的檢測,然后通過Allometricl函數優化后的單目視覺定位模型用于小車定位,最后根據定位得到的起點和終點坐標,通過歐氏距離求解出目標運動的直線位移。結果表明,在3m內位移測量的相對誤差在2%以內,證明了該方法可以有效實現運動目標的直線位移測量。
關鍵詞: 位移測量; 目標檢測; 輕量化模型; 目標定位; 單目視覺
中圖分類號:TP391.41" " " " " 文獻標識碼:A" " 文章編號:1006-8228(2023)12-109-06
Monocular linear displacement measurement with deep learning
Shi Zhou, Li Zhongguo, Che Sai, Tang Hongchuan, Gao Miaowei, Wu Jinkun
(School of Mechanical Engineering, Jiangsu University of Science and Technology, Zhenjiang, Jiangsu 212100, China)
Abstract: A deep learning based linear displacement measurement method is proposed for machine vision based displacement measurement research. Firstly, the lightweight model YOLOv5s-DSS is used to detect the experimental car. Then, the monocular vision localization model optimized by Allometricl function is used to locate the car. Finally, the linear displacement of the target motion is solved by Euclidean distance according to the start and end point coordinates obtained from the localization. The results show that the relative error of displacement measurement within 3m is less than 2%, which verifies that the proposed method can effectively realize the linear displacement measurement of moving targets.
Key words: displacement measurement; object detection; lightweight model; object localization; monocular vision
0 引言
基于深度學習的目標檢測技術是機器視覺領域研究熱點,廣泛應用于人臉識別、行人檢測、車輛檢測等領域。基于深度學習的檢測方法可分為以YOLO[1]、SSD[2]為代表的單階段檢測算法和以R-CNN[3]、SPP-Net[4]、Fast R-CNN[5]、FPN[6]為代表的兩階段檢測算法。目前,YOLO系列檢測算法已經可以在保證高檢測精度的情況下,實現實時檢測[7]。
視覺定位主要分為單目視覺和雙目視覺[8]。雙目視覺利用雙眼視差原理獲取深度信息,然而在視差的計算時需要進行特征點匹配[9-10],操作復雜、成本高;而單目視覺僅需一個相機,通過小孔成像原理實現距離測量[11-12],操作簡單、成本低。幾何關系法[13]是一種單目視覺定位方法,該方法操作簡單、可移植性強,目前在視覺定位領域被廣泛使用。
位移是許多工程參數計算的基礎,目前常用的位移測量方法包括接觸式和非接觸式,非接觸式測量相比接觸式測量操作更簡單、成本較低[14]。在非接觸式位移測量中,基于機器視覺的測量方法具有操作方便、結構簡單、便于維護等優點,但目前該領域的應用較少。因此,本文結合YOLO算法和幾何關系法提出一種基于深度學習的單目直線位移測量方法。
為了實現精確的位移測量,本文主要在以下方面做了改進:首先,對YOLOv5模型進行了改進,以實現更精準、更輕量化的目標檢測;其次,采用單目視覺建立的幾何關系模型進行定位,并對其分析與精度優化,再通過歐氏距離公式求出直線位移。
1 直線位移測量方案
本文提出了一種基于深度學習的單目直線位移測量方法,主要包括三個部分:目標檢測、單目視覺定位、位移計算。首先,提取目標直線運動視頻的第一幀和最后一幀的圖像,通過改進的YOLOv5模型分別對兩幀圖像進行目標檢測;其次,通過單目視覺定位模型對兩幀圖像中的目標進行定位,得到它們的實際坐標;最后,通過歐氏距離計算公式求得目標運動的直線位移。方案的整體流程如圖1所示。
1.1 YOLOv5目標檢測
1.1.1 目標檢測評價指標
mAP是目標檢測領域最重要的一個用于網絡模型評價的指標,mAP越高,則說明模型在給定數據集上的檢測效果越好。mAP即平均精度值,公式如下:
[mAP=APN]" ⑴
其中,AP為平均精度,N為類別數目。
1.1.2 制作實驗小車數據集
數據集的數量和質量是影響檢測模型性能的主要因素影響。通常來說,更大的數據集能產生更好的深度學習模型[15-16]。在計算機視覺領域,數據增強是一項提高網絡性能的強大技術,翻轉、旋轉、平移、加噪、顏色空間變換、改變亮度等都是數據增強技術的常用方法[17-18]。
本文采用遙控小車作為檢測目標,使用焦距為12mm、分辨率為2592*1944的MER-500-7UC相機進行拍攝了150張小車樣本,并通過數據增強方法進行樣本擴充,如圖2所示。最終共得到750個樣本,包括150個初始樣本、600個數據增強后的擴充樣本。
為了證明數據增強方法的有效性,選擇CPU為AMD EPYC 7601、GPU為3070-8G的云服務器,并設置epochs參數為40,使用YOLOv5s模型進行了實驗對比,結果如表1所示。
1.1.3 改進的YOLOv5算法
YOLOv5是YOLO系列中比較經典的算法,滿足較高檢測精度的同時擁有較快的檢測速度。本文在YOLOv5s模型的基礎上進行改進,提出一種新的網絡模型YOLOv5s-DSS,如圖3所示。
所提YOLOv5s-DSS模型相比原本的YOLOv5s,有如下改進點:
⑴ 引入輕量級的分布移位卷積DSConv
分布移位卷積DSConv(Distribution Shifting Convolution)[19]包括為兩個部分:可變量化核(VQK)和分布移位。可變量化核與原始卷積具有相同張量大小,但與原始卷積不同,可變量化核只儲存整數值,大大減少了運算量;分布位移又包括核分布移位器(KDS)和通道分布移位器(CDS),分布移位主要通過對核和通道的縮放和偏置操作來保持與原始卷積相同的輸出。分布移位卷積相比普通卷積,具有更低的內存使用和更高的速度,基本原理如圖4所示。
⑵ 加入SE注意力機制
SE(Squeeze-and-Excitation Networks)[20]模塊主要包括Squeeze和Excitation,如圖5所示。Squeeze操作通過全局平均池化將輸入壓縮為Cx1x1的特征圖;Excitation操作主要通過兩個全連接層構建的bottleneck去獲取通道歸一化后的權重;最后對輸入特征圖做加權處理,得到加權后的特征圖。
⑶ 池化層替換為SimSPPF
將YOLOv5s中原本的池化金字塔SPPF替換為SimSPPF,搭配SE注意力機制在目標檢測上獲得了更好的表現。SimSPPF是一種基于SPPF改進的模塊。SPPF使用Silu激活函數,而SimSPPF使用Relu激活函數,兩種激活函數公式分別如下:
[Silux=x*sigmoidx=x1+e-x]" ⑵
[Relux=max0,x,x≥0x,xlt;0]" ⑶
1.2 單目視覺定位系統
單目視覺定位模型如圖6所示。O’是相機位置,XOY是以相機的垂直投影點O和光軸投影點M建立的世界坐標系,X1O1Y1為圖像坐標系,α為相機的俯仰角,f為相機焦距,相機安裝的垂直高度OO’=h,P1(O1P1x,O1P1y)為目標在圖像坐標系上的位置,P(OPx,OPy)為目標的世界坐標。
根據已知條件進行定位推導:
[γ=arctanO1P1YF]" ⑷
[β=α+γ,P1Ylt;0α,P1Y=0α-γ,P1Ylt;0]" ⑸
[OPY=htanβ]" ⑹
[O'PY=hsinβ]" ⑺
[O'P1Y=O1P1Y2+f2]" ⑻
由于三角形O’P1P1y相似于三角形O’PPy,通過相似三角形原理,可得:
[OPX=PPY=O'PYO'P1Y*P1P1Y]" ⑼
由公式⑹、公式⑼可求出小車實際位置,即點P的世界坐標:
[P=OPX,OPY]" ⑽
1.3 直線位移測量
直線位移測量具體處理過程是通過拍攝小車運動的視頻,分別提取第一幀和最后一幀圖像,然后通過目標檢測和單目視覺定位模型進行檢測和定位,得到兩幀圖像的實際坐標,最后歐式距離公式⑾求得直線位移。
[S=X2-X12-Y2-Y12]" ⑾
2 實驗分析與優化
2.1 目標檢測結果分析
在相同實驗條件下,通過消融實驗對不同模型進行了性能評估,結果如表2、圖7所示。表2為不同模型的精度對比,結果表明改進后的YOLOv5s-DSS模型在精度上優于YOLOv5的所有模型。圖7為改進不同模塊的PR曲線的對比,改進后的YOLOv5s-DSS算法相比YOLOv5s算法,mAP@0.5值從77.1%提升到了92.6%,計算量(GFLOPS)減少了29%,驗證了DSConv模塊、SE模塊和SimSPPF模塊改進的有效性。
2.2 單目視覺定位結果分析與優化
為了獲得精確的定位,實驗分析了相機安裝的垂直高度、俯仰角對單目定位的影響,并通過Allometricl函數進行定位精度優化,實現了更準確的定位。
⑴ 分析高度、俯仰角對定位精度影響
通過控制變量法分別測量了不同相機高度和俯仰角對定位精度的影響,結果如表3、表4所示。結果表明,相機高度越高,俯仰角越小,目標定位精度越高。
由于實際拍攝中需要保證一定的視野范圍,綜合考慮下,后續定位實驗在相機高度為50厘米、俯仰角為10度的條件下進行目標定位。
⑵ 基于Allometricl函數的定位優化
為了測試距離變化對定位精度的影響并進行優化,在相機高度為50厘米、俯仰角為10度的條件下,分別測量了X軸和Y軸隨著距離變化的定位情況,如表5所示。結果顯示,隨著距離的增加,由于X軸視野較小所以誤差較低,可忽略不計;而Y軸誤差隨距離增加而增大。
為了提升定位精度,采用Allometricl函數對Y軸誤差進行擬合,如圖8所示。Allometricl函數的公式如⑿所示,其中a為Y軸距離,b為Y軸誤差。
為了驗證Allometricl函數擬合的有效性,表6中測試了幾組坐標,測得3m內定位在1%以內,驗證了Allometricl函數優化的有效性。
2.3 直線位移測量結果分析
通過提出的YOLOv5s-DSS模型和精度優化后的單目視覺定位模型,來對目標進行檢測和定位,獲得運動目標的起點坐標和終點坐標,最后通過公式(11)求得小車位移,測量結果如表7所示,直線位移測量的誤差在2%以內。
3 結論
本文提出一種基于深度學習的單目直線位移測量方法,為非接觸式位移測量提供了一種結構簡單、操作維護方便的方法。首先,在目標檢測方面,提出了改進的輕量級模型YOLOv5s-DSS,在實驗條件下相比原本的YOLOv5s模型,計算量GFOLPS上減少了29%,mAP@0.5值由77.1%提升到92.6%;其次,在單目視覺定位方面,對俯仰角、高度和距離的影響進行了分析研究,并使用Allometricl函數進行了定位優化,優化后3m內的定位誤差在1%以內;最后,進行直線位移測量,最終測得位移誤差在2%以內。
參考文獻(References):
[1] REDMON J, DIVVALA S, GIRSHICK R, et al. You only
look once: unified, real-time object detection[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE,2016:779-788.
[2] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot
multibox detector[C]//Computer Vision-ECCV 2016: Proceedings of the 14th European Conference. Cham: Springer,2016:21-37.
[3] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich
feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE,2014:580-587.
[4] He K, Zhang X, Ren S, et al. Spatial Pyramid Pooling in
Deep Convolutional Networks for Visual Recognition[J]. IEEE Transactions on Pattern Analysis amp; Machine Intelligence,2014,37(9):1904-16.
[5] Girshick R. Fast R-CNN[C]// International conference on
computer vision. Los Alamitos: IEEE Computer Society,2015:1440-1448.
[6] Lin T Y, P Dollár, Girshick R, et al. Feature pyramid
networks for object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. Los Alamitos: IEEE Computer Society,2017:2117-2125.
[7] WANG L, ZHOU K, CHU A, et al. An improved light-
weight traffic sign recognition algorithm based on YOLOv4-tiny[J].IEEE Access,2021,9(1):124963-124971.
[8] 張云飛,王桂麗,周旭廷,等.基于單目視覺的測距算法[J].
計算機與數字工程,2020,48(2):356-360.
[9] 王浩,張善房,朱建高,等.基于雙目視覺的測距系統研究[J].
家電科技,2022,417(4):92-95.
[10] Wang H, Sun Y, Wu Q, et al. Self-supervised monocular
depth estimation with direct methods[J]. Neurocomputing,2021,421(5):340-348.
[11] MENG C, BAO H, MA Y, et al. Visual Meterstick:
Preceding vehicle ranging using monocular vision based on the fitting method[J]. Symmetry,2019,11(9):1081.
[12] 蘇萍,朱曉輝.基于單目視覺的水面目標識別與測距方法
研究[J].計算機技術與發展,2021,31(2):80-84.
[13] 趙明繪,王建華,鄭翔,等.基于單目視覺的無人水面艇水面
目標測距方法[J].傳感器與微系統,2021,40(2):47-104.
[14] 葉肖偉,董傳智.基于計算機視覺的結構位移監測綜述[J].
中國公路學報,2019,32(11):21-39.
[15] HALEVY A, NORVIG P, PEREIRA F, et al. The
unreasonable effectiveness of data[J]. IEEE Intelligent Systems,2009,24(2):8-12.
[16] SUN C, SHRIVASTAVA A, SINGH S, et al. Revisiting
unreasonable effectiveness of data in deep learning era[C]//Proceedings of the IEEE International Conference on Computer Vision. Piscataway: IEEE,2017:843-852.
[17] MIKO?AJCZYK A, GROCHOWSKI M. Data augmenta-
tion for improving deep learning in image classification problem[C]//Proceedings of the 2018 International Interdisciplinary PhD Workshop. Piscataway: IEEE,2018:117-122.
[18] SHORTEN C, KHOSHGOFTAAR T M. A survey on
image data augmentation for deep learning[J]. Journal of Big Data,2019,6(1):1-48.
[19] NASCIMENTO M G, FAWCETT R, PRISACARIU V A.
DSConv: efficient convolution operator[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE,2019:5148-5157.
[20] HU J, SHEN L, SUN G. Squeeze-and-excitation
networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE,2018:7132-7141.