◆劉 佳
?
基于視覺的速度測量算法
◆劉 佳
(陜西省煙草公司西安市公司信息中心 陜西 710061)
本文提出了一種基于視覺的速度測量方法。利用最小二乘算法將視覺下運動目標在各采樣時刻的質心進行擬合,建立二維空間上目標運動軌跡的最小二乘多項式函數,通過對該函數求導得到目標的運動速度。實驗結果表明,本文提出的算法能夠滿足運動目標速度測量的需要,具有較高的精度和可行性。文章分別從理論和實驗兩個方面對基于視覺的速度測量算法進行研究和探討,完成了相應的算法仿真,并進行總結與展望。
視覺;速度測量;運動目標;最小二乘法
隨著機器視覺技術的發展和數字圖像處理技術[1-3]的不斷成熟,基于視覺的精密測量作為一種非接觸測量的方法應用也愈發廣泛,如運動測速、姿態測量、微小振動、公路檢測等方面[4,5]。其中,對運動目標的速度測量在國防、工業、航天等各個領域都受到了極大的重視,扮演著重要的角色。常見的測速法有基于像素測速法、加權平均微分法、理查森外推法等[6-8],不僅運算量大,還會產生較大誤差。與傳統測速相比,最小二乘法具有精度高、誤差小的特點。因此,本文針對視覺下運動目標的速度測量,提出一種基于最小二乘的測量算法實現過程。此方法在理論研究和實際應用均具有一定的指導意義和參考價值,并為運動目標的動態參數測量提供了一條新的可靠途徑。
將攝像機捕獲的目標視頻序列以AVI格式保存,并將視頻逐幀提取出來,以便后續處理[8]。本文實驗利用MATLAB調用AVI函數, 實現對視頻序列的逐幀分解。對分解得到的每一幀圖像,提取出運動目標。
對于每一幅圖像,要濾去復雜的背景,提取出運動目標。首先要把彩色圖像轉化為灰度圖,對256個亮度等級的灰度圖像進行適當的閾值選取[6],將灰度大于或等于閾值的像素被判定為屬于目標物體,用1表示其灰度值,否則被判定為不屬于目標物體,灰度值為0。經過二值化處理后,即可得到目標物體。對于復雜的視頻圖像,運算通常也較復雜,可使用幀間差分法或背景差分法[9-14]進行目標提取。本文采用的是幀間差分法。
1.3.1質心測量原理
質心,即質量中心,是物質系統上被認為質量集中于此的一個假想點。我們通過目標各個時刻在攝像機像面成像的質心的坐標,求取目標的速度。質心的計算公式如下:

對攝像機像面圖像進行二值化處理后,可用下式計算目標在像面的質心。

其中A為目標的像素數目。根據像素面目標的質心可以得到目標質心的像面坐標。
1.3.2從像面質心到實際質心
得到圖像質心后,還不能直接進行擬和,因為由圖像得到位移是像素值,與實際位移之間有一定的比例關系,可以通過計算圖像中某一物體的像素距離,和實際物體的距離,兩者之比即為比例系數,由下式計算出每個圖像運動目標質心的實際位移坐標:

對運動目標高速攝像,并通過運算,得到目標質心在實際空間某時刻的一組序列值,通過擬合這組序列值,即可獲得目標的軌跡,從而進行下一步處理。


殘差是衡量擬合算法好壞的重要指標。經常采用的三種衡量的準則為:
(1)使殘差的最大絕對值最小,即:

(2)使殘差的絕對值之和最小,即:

(3)使殘差的平方和最小,即:

分析以上三個準則,準則(1)、(2)由于含有絕對值,不利于實際計算,而準則(3) 計算比較簡單,用它來確定參數,得到擬合曲線的方法稱作曲線擬合(或數據擬合)的最小二乘法。

為了方便進行誤差分析,本實驗拍攝的是一個小球在水平臺上的直線運動,實際速度已知,為220mm/s,小球的實際直徑為40mm,該視頻用時3.5秒。
(1)視頻解幀。運用aviread函數讀取該段視頻,經解幀后,得到42幀圖片,視頻用時為3.5秒,因此該視頻的幀速率為12幀/秒。

圖1 解幀后的圖片
(2)目標質心的求取。運用rgb2gray函數將RGB圖像轉換為灰度圖,im2bw函數將灰度圖轉化為二值圖像。對于一幀圖像,運用函數[p,rect]= imcrop(im)在窗口顯示圖像im,創建rect矩形框,裁減運動目標并返回裁剪后的圖像p。根據質心公式,得出目標質心在整個圖像的位置。以一幀為例,其它幀同理,質心求取的結果如圖2所示。

圖2 運動目標質心標定
此方法是對一幀靜態圖像進行目標質心求取,而對于多幀圖像組成的視頻,該方法的可行性較小,解決方法是將實驗前兩步進行合成與改進,從而完成運動目標質心的動態提取。結果如圖3所示。

圖3 目標質心的動態標定
得到結果后,已知小球的圖像直徑為10毫米,實際直徑為40毫米,則比例系數為40/10=4毫米/像素。根據公式(3),可知小球實際的質心位置。此方法的優點是,實驗程序簡單易懂,減小了采用運動目標標定時,背景中其他物體運動帶來的影響,減少質心誤差,同時可以得到小球成像后的直徑距離,便于進一步計算。
(3)最小二乘法擬和求取速度。首先,運用MATLAB中的plot(x, y, 'o')畫出目標質心坐標散點圖。然后通過函數p=polyfit(x, y, m)完成最小二乘曲線擬合,其中, x, y為已知數據點向量, 分別表示橫、縱坐標, m為擬合多項式的次數,根據散點圖任意取值, 結果返回m次擬合多項式系數, 從高次到低次存放在向量p中。擬合后可以得到二維空間的目標質心分別映射在X軸和Y軸的軌跡曲線,結果如圖4、圖5。

圖4 目標質心在二維空間中X軸的運動軌跡

圖5 目標質心在二維空間中Y軸的運動軌跡
圖中,圓點是實際質心,紅線為擬合曲線。求得p1=[222.3398 33.8792],p2=[510.8095],即在X軸和Y軸擬合的二維軌跡方程為:
X=222.3398t+33.8792
Y=510.8095
軌跡方程求導后得到速度方程:
(4)誤差計算。通過實驗可知小球的運動速度為222.3398mm/s,而速度的理論值為220mm/s,得到速度的相對誤差約為1.06%。表1為本文算法與基于像素測速法的誤差比較:
表1 算法誤差對比

算法速度的相對誤差 本文測速法1.06% 基于像素測速法8.79%
實驗結果表明,相較于基于像素測速法,本文算法誤差更小,能夠滿足實時性要求較高的場合,測量結果具有可行性。
本文算法的優點在于,通常我們所給的數據本身不一定可靠,若用像素法,只通過兩幀圖像計算速度,誤差很大。而采用最小二乘擬合法,能夠快速從所給的一堆看似雜亂無章的數據中找出規律來,消除局部的波動,并使實際值與測量值的差的平方和最小,從而減小誤差。
由圖4,圖5及相對誤差可以看到,在本實驗中,對于直線運動,擬合后的測量精度是很高的,但這并不表示此方法僅限于直線運動,相反,越是雜亂無章的運動,越能體現出該方法的擬和性、全局性及精確性,并能通過軌跡方程,很容易的算得運動目標在各個時刻的速度及加速度。
本文充分利用計算機視覺與圖像處理等先進測量原理與處理技術,介紹了一種基于視覺的速度測量方法。其創新點在于,提出了目標速度測量的新方法,并從理論和實驗上重點研究了最小二乘法擬合下的速度測量,結合實驗仿真,驗證了此方法的可行性,具有系統簡單、易于操作、測量數據點多、測量精度高等優點。
當然,由于本文重點是研究目標的速度測量方法,因此對于目標的快速及精確識別的方法還有待于進一步研究。并在以后的研究中進一步提高算法的實時性,比如,是否可以通過各種算法或測試軟件,使運動目標的質心在動態提取時,每提取幾點,就可以得到一個擬和曲線,即得到速度值,提高實時性和快速性。
[1]Kenneth Castleman R.Digital Image Proce ssing[M]. Prentice Hall,1996.
[2]Boris Jutzi S, Richard Gabler, Klaus Jaeger. Stereo vision for small targets in IR images sequences[J]. Signal and Data Processing of Small Targets,2001.
[3]章毓晉.圖像處理和分析[M].北京:清華大學出版社,1999.
[4]韓定安,曾亞光,蘇佳檳等.基于LabVIEW及其視覺的微小位移動態測量[J].微計算機信息,2007.
[5]王延華,李騰.基于雙目視覺的接觸網磨耗在線檢測研究[J/OL].計算機工程與應用,2017.
[6]崔彥平,葛杏衛,傅其鳳.基于雙目視覺的飛行目標落地速度測量方法研究[J].傳感器與微系統,2009.
[7]張曉玲,羅印升,張寶峰.基于雙目立體視覺測量原理的物體運動速度測量[J].光電子·激光,2016.
[8]李新華,宋承祥,劉弘.雙目視覺測量在乒乓球運動速度分析中的應用[J].計算機科學,2008.
[9]吳亞鵬.基于雙目視覺的運動目標跟蹤與三維測量[D].西北大學,2008.
[10]徐亦唐.基于最小二乘法的曲線擬合及其在Matlab中的應用[J].電子世界,2013.
[11]龔純,王正林.MATLAB語言常用算法程序集[M].北京:電子工業出版社,2008.
[12]張曉玲,羅印升,張寶峰.基于雙目立體視覺測量原理的物體運動速度測量[J].光電子·激光,2016
[13]鐘霞,張建偉,于灝.基于最小二乘估計的雷達系統誤差衛星標定方法[J].空間科學學報,2013.
[14]張大山.基于高速視覺的結構運動測量算法研究與應用[D].中國科學技術大學,2017.