本發(fā)明涉及計算機視覺領域,特指一種基于全景攝像機和高速球機的智能聯(lián)動與跟蹤方法。
背景技術:
在安防領域,視頻監(jiān)控作為社會安全防控的極其重要措施,廣泛應用于金融、交通、教育、衛(wèi)生、體育、能源、通訊、公安、軍事以及居民社區(qū)等各類領域。當前,視頻監(jiān)控的應用需求逐漸由“看得見”向“看得清”和“看得廣”的方向發(fā)展。然而監(jiān)控系統(tǒng)的監(jiān)控能力離監(jiān)控需求仍然需求很大的間距,監(jiān)控中存在監(jiān)控盲區(qū)、無法看清目標、反應時間不夠快等問題亟需解決。
全景成像技術能夠采集覆蓋大范圍、寬視角場景的視屏,其憑借能夠實現(xiàn)無盲區(qū)監(jiān)控優(yōu)勢,在視頻監(jiān)控領域得到了廣泛的關注和應用。由于總分辨率有限,全景攝像機在觀察局部場景時分辨率太低,不能夠提供目標的高清圖像信息,使其應用范圍受到嚴重限制。同時,當重點目標在監(jiān)控視野中較小時,監(jiān)控系統(tǒng)不能夠完整地獲取目標的特征信息,不能夠高清對其進行抓拍和跟蹤。然而,高速球機能利用其高速旋轉及變倍的功能實現(xiàn)對場景中任意局部的高清拍攝,但高速球的觀察范圍有限,不能兼顧多個不同場景,因此單一的高速球攝像機也無法滿足偵查需求。
為實現(xiàn)全局與局部的一體化監(jiān)控技術,提出一種基于全景攝像機與高速球機的智能聯(lián)動與跟蹤方法。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題為提出一種能夠實現(xiàn)全局與局部的一體化監(jiān)控的基于全景攝像機和高速球機的智能聯(lián)動與跟蹤方法。
針對上述技術問題,本發(fā)明的具體技術方案包括如下步驟:
步驟1)利用攝像機參數(shù)模型和特征點匹配的方法獲得全景圖像坐標到高速球機的旋轉角度的映射關系,根據(jù)監(jiān)控系統(tǒng)的鼠標所選取的感興趣的目標,高速球機通過所述映射關系迅速轉到目標區(qū)域并鎖定目標,完成全景攝像機和高速球機的智能聯(lián)動;
步驟2)全景端的目標跟蹤:結合幀差法和surendra自適應背景更新方法進行運動目標檢測,通過kalman濾波算法和建立目標匹配矩陣對檢測到的運動目標進行多目標跟蹤,得到目標的運動軌跡,完成了全局化監(jiān)控;
步驟3)高速球端目標跟蹤:利用步驟1)中方法進行全景攝像機和高速球機的智能聯(lián)動,針對感興趣的目標通過步驟1)中的方法求得全景攝像機與高速球機之間的映射關系來轉動高速球,并通過目標特征匹配的方式獲得目標在高速球畫面中的精確位置,再結合kalman濾波算法和meanshift算法進行運動目標檢測,通過高速球端目標跟蹤完成了目標的局部監(jiān)控。
作為本發(fā)明技術方案的進一步改進,所述步驟1)具體包括:
1.1)采用攝像機的內參模型將圖像映射至三維球面上,包括將全景圖像轉換到三維球面上和將高速球機圖像轉換到三維球面上,將全景攝像機和高速球機之間映射關系轉換為三維球面的旋轉關系;
1.2)求解全景攝像機和高速球機之間的映射關系:根據(jù)步驟1.1)所得的旋轉關系,采用sift算法對全景圖像與高速球機圖像進行特征點匹配,并利用ransac算法剔除錯誤特征點對,再通過逐像素擬合的方法對全景圖像中每個位置都求解不同的旋轉矩陣,最后利用lm(levenberg-marquard)算法初步估計映射關系;
1.3)利用步驟1.2)中求得的映射關系采集多幅高速球機圖像,根據(jù)映射關系將高速球機圖像反投影到全景圖像平面上,重新對全景圖像和反投影的高速球機圖像進行特征點匹配,并利用lm算法重新估算映射關系;
1.4)利用步驟1.1)-1.3)求得全景攝像機和高速球機之間的映射關系后,根據(jù)全景圖像感興趣目標的像素點可求得高速球機的旋轉角度,從而控制高速球機進行轉動到相應位置,完成全景攝像機和高速球機之間的聯(lián)動。
作為本發(fā)明技術方案的進一步改進,所述步驟1)中,通過采用基于ransac算法和sift算法進行全景圖像和高速球機圖像特征點匹配,采用像素擬合方法來求解旋轉矩陣,即針對全景圖像的每個位置都求解不同的旋轉矩陣,得到更為理想的旋轉矩陣r12,并利用lm算法初步估計映射關系。
作為本發(fā)明技術方案的進一步改進,所述步驟2)包括運動目標檢測和多目標跟蹤;
所述運動目標檢測包括利用幀差法來辨識圖像的前景區(qū)域即運動目標,采用surendra背景法對運動區(qū)域內的背景保持不變,而非運動區(qū)域的背景用當前幀進行替換更新,經過一段時間后就可以提取背景圖像;
所述多目標跟蹤包括:
(1)跟蹤窗口的設置;
(2)跟蹤特征值的選擇;
(3)kalman跟蹤中的運動模型估計;
(4)模型更新和建立目標匹配矩陣。
作為本發(fā)明技術方案的進一步改進,所述步驟3)中,利用步驟1)中的全景攝像機和高速球機之間的智能聯(lián)動方法將監(jiān)控任務轉交給高速球,通過目標特征匹配的方式獲得目標在高速球畫面中的精確位置,結合kalman濾波算法和meanshift算法進行運動目標跟蹤,高速球端的目標跟蹤可獲得高清的圖像序列,實現(xiàn)對感興趣的目標進行高清抓拍。
作為本發(fā)明技術方案的進一步改進,所述步驟3)中高速球端目標跟蹤步驟如下:
3.1)初始化kalman濾波器,根據(jù)設定的跟蹤窗口中目標的質心位置作為初始位置;
3.2)根據(jù)前一時刻的kalman濾波的系統(tǒng)狀態(tài)量,由kalman濾波器獲得當前時刻目標的預測位置;
3.3)根據(jù)前一時刻的kalman濾波的系統(tǒng)狀態(tài)量,由meanshift跟蹤算法獲得當前時刻的觀測位置;
3.4)根據(jù)之前由kalman濾波器求得的預測位置和由meanshift算法求得的觀測位置,采用kalman濾波法估算當前時刻目標的估計位置;
3.5)由第四步求得的目標的估計位置再應用前面第3.2)和3.3)步同理推出下一時刻運動目標的預測位置和觀測位置;
3.6)重復上面的3.2)、3.3)和3.4)步驟,最終獲得穩(wěn)定的目標跟蹤算法。與現(xiàn)有技術相比,本發(fā)明具有以下有益效果:
1、采用基于ransac和sift算法的進行全景圖像和高速球機圖像特征點匹配,針對全景攝像機和高速球攝像機的參數(shù)模型與實際情況存在一定誤差問題,采用逐像素擬合方法來求解旋轉矩陣,即針對全景圖像的每個位置都求解不同的旋轉矩陣,得到更為理想的旋轉矩陣r12,并利用lm方法初步估計映射關系。
2、根據(jù)映射關系將高速球機圖像反投影到全景圖像平面上,重新對全景圖像和反投影的高速球機圖像進行精確的特征點匹配,避免了全景攝像機和高速球機的成像模型差異性和兩者圖像之間的差異性對特征點匹配造成了不良影響,再利用lm算法重新估算旋轉矩陣。
3、結合幀差法和surendra自適應背景更新方法進行運動目標檢測,通過kalman濾波算法和建立目標匹配矩陣對檢測到的運動目標進行多目標跟蹤,綜合考慮了多目標跟蹤過程的目標遮擋、目標消失和新目標出現(xiàn)的問題;
4、利用全景攝像機和高速球機之間的智能聯(lián)動方法將監(jiān)控任務轉交給高速球,結合kalman濾波和meanshift算法進行運動目標跟蹤,高速球端的目標跟蹤可獲得高清的圖像序列,對感興趣的目標進行高清抓拍。
附圖說明
圖1是實施案例所述算法整體算法流程圖。
圖2是實施案例所述全景圖像到三維球面的映射關系圖。
圖3是實施案例所述高速球圖像到三維球面的映射關系圖。
圖4是實施案例所述全景端目標跟蹤算法流程圖。
圖5是實施案例所述目標在高速球畫面的精確定位的流程圖。
圖6是實施案例所述高速球端的目標跟蹤算法流程圖圖。
具體實施方式
現(xiàn)結合附圖對本發(fā)明做進一步詳細說明,本具體實施方式為一種基于全景攝像機和高速球機的智能聯(lián)動與跟蹤方法,如圖1所示,該方法主要包括全景端和高速球端,以及它們兩者之間的智能聯(lián)動,具體包括以下步驟:
步驟s1利用攝像機參數(shù)模型和特征點匹配的方法獲得全景圖像坐標到高速球攝像機的旋轉角度的映射關系,通過此映射關系,針對鼠標選取的感興趣的目標,高速球能迅速轉到目標區(qū)域并鎖定目標,完成了全景攝像機和高速球機的智能聯(lián)動,其包括:
s1.1采用攝像機的內參模型將圖像映射至三維球面上;
(1)將全景圖像轉換到三維球面上;
根據(jù)如公式(1)所示的魚眼圖像的等距模型,將魚眼式全景圖像的像素點映射至三維球面上。如圖2所示魚眼圖像坐標系為of-xfyf,以全景攝像機光心o為原點、攝像機主軸方向為zs1軸建立三維坐標系o-xs1ys1zs1,魚眼圖像上每個像素都可對應三維球面上的一點,假定三維球面半徑為1。假設魚眼式全景圖像點mf坐標為mf=(xf,yf)t,其對應球面上的xs1的坐標為xs1=(xs1,ys1,zs1)t,根據(jù)公式(1)的等距模型,可推導得到坐標的全景圖像像素點和其對應的三維球面坐標點的變換關系,如公式(2)所示。
rf=fθ(1)
其中,θ為oxs1與攝像機光軸ozs1之間的夾角;
(2)將高速球機圖像轉換到三維球面上。
如圖3所示,高速球機圖像平面上建立圖像,坐標系op-xpyp,以攝像機光心os為原點建立三維世界坐標系os-xs2ys2zs2,其中xs2軸為高速球攝像機pan(偏航角)旋轉角度為90度、tilt(俯仰角)旋轉角度為0度時的主軸方向上,ys2軸為高速球攝像機tilt(俯仰角)旋轉角度為90度、pan(偏航角)旋轉角度為0度時的主軸方向上。假設圖像像素點mp的坐標為mp=(xp,yp)t,其對應的三維球面上的坐標點為xs2=(xs2,ys2,zs2)t,兩者之間關系滿足:
其中,矩陣p=k(r0)為攝像機矩陣,k為攝像機內參矩陣,其值可以通過經典的張正友的攝像機內參標定方法得到。r為高速球機的云臺模型對應的旋轉矩陣,(r0)為攝像機的外參數(shù)矩陣,r可以用pan旋轉角度α和tilt旋轉角度β表示為:
若高速球攝像機的拍攝方向朝向三維球面坐標上的點xs2,則高速球機的旋轉角度(α,β)為:
s1.2求解全景攝像機和高速球機之間的映射關系:通過步驟s1.1將全景攝像機和高速球機之間映射關系轉換為三維球面的旋轉關系,采用sift方法對全景圖像與高速球機圖像進行特征點匹配,利用ransac算法剔除錯誤特征點對,再通過逐像素擬合的方法對全景圖像中每個位置都求解不同的旋轉矩陣,最后利用lm(levenberg-marquard)方法初步估計映射關系;
(1)采用sift方法和ransac算法進行特征點匹配,通過特征匹配點求解全景攝像機和高速球機之間的映射關系,得到旋轉矩陣;
采用步驟s1.1將全景攝像機和高速球機之間映射關系轉換為三維球面的旋轉關系,假設坐標系o-xs1ys1zs1依次繞y,x,z軸分別旋轉α12,β12,γ12角度可與os-xs2ys2zs2重合,那么坐標系o-xs1ys1zs1上的任一點xs1與該點xs1在坐標系os-xs2ys2zs2上相匹配的點之間的關系可表示為:
xs1=r12xs2(6)
其中,r12為旋轉矩陣,可表示為:
為求得全景攝像機與高速球機之間的映射關系,即求得旋轉矩陣r12,需要對三維球面點進行特征點匹配。本發(fā)明中采用sift方法進行特征點匹配,得到全景圖像與高速球機圖像的n組匹配點對
由于模型等方面的誤差,不存在旋轉矩陣r12使得公式(6)對所有匹配點對都嚴格滿足,因此本發(fā)明采用最小化映射誤差來求解全景攝像機和高速球機之間的映射關系α12,β12,γ12,即有α12,β12,γ12組成的旋轉矩陣r12,求解公式如公式(8)所示。
(2)通過逐像素擬合的方法對全景圖像中每個位置都求解不同的旋轉矩陣,利用lm方法初步估計映射關系。
假定的全景攝像機和高速球攝像機的參數(shù)模型與實際情況存在一定誤差,整幅全景圖像都采用一個旋轉矩陣r12并不能非常高精度的結果。為了得到更為理想的結果,本發(fā)明中采用逐像素擬合方法來求解旋轉矩陣,即針對全景圖像的每個位置都求解不同的旋轉矩陣,從而求解旋轉矩陣r12的公式(8)變?yōu)椋?/p>
其中sk(mf)為離全景圖像像素點mf最接近的k組特征點集合,利用lm算法求解公式(9)得到旋轉矩陣r12;
s1.3利用s1.2中求得的映射關系采集多幅高速球機圖像,根據(jù)映射關系將高速球機圖像反投影到全景圖像平面上,重新對全景圖像和反投影的高速球機圖像進行特征點匹配,利用lm算法重新估算映射關系;
(1)根據(jù)映射關系將高速球機圖像反投影到全景圖像平面上;
全景攝像機和高速球機的成像模型存在較大的差異,兩幅圖像也存在差異,這些差異包括縮放、平移、旋轉和畸變。為了得到更為精確的特征點匹配對來求解旋轉矩陣r12,本發(fā)明中利用s1.2中求得的映射關系將高速球機圖像反投影到全景圖像平面上,其步驟為:1)采用公式(2)求得xs1;2)根據(jù)s1.2中映射關系,利用公式(6)求得xs2;3)利用公式(3)求得mp。
(2)重新利用步驟s1.2特征點匹配方法對全景圖像和反投影的高速球機圖像進行特征點匹配得到新的匹配點,將新的匹配點對運用到公式(9)中重新估算映射關系。
s1.4利用s1.1、s1.2和s1.3求得映射關系,根據(jù)全景圖像感興趣目標的像素點可求得高速球機的旋轉角度,從而控制高速球機進行轉動到相應位置,完成全景攝像機和高速球機之間的聯(lián)動。
步驟s2全景端的目標跟蹤:結合幀差法和surendra自適應背景更新方法進行運動目標檢測,通過kalman濾波算法和建立目標匹配矩陣對檢測到的運動目標進行多目標跟蹤,得到目標的運動軌跡,完成了全局化監(jiān)控,如圖4---全景端目標跟蹤流程圖所示,其包括,
s2.1運動目標檢測;
利用幀差法來辨識圖像的前景區(qū)域即運動目標,采用surendra背景法對運動區(qū)域內的背景保持不變,而非運動區(qū)域的背景用當前幀進行替換更新,經過一段時間后就可以提取背景圖像。運動目標檢測的步驟為:
(1)將首幀圖像i0作為初始背景b0(x,y);(2)求當前幀的灰度差分圖di(x,y);(3)利用otsu算法二值化差分圖di(x,y);(3)利用surendra背景法更新當前幀背景bi(x,y),更新背景方法如公示(10)所示;(4)利用背景差分法得到運動目標區(qū)域的二值化圖像;(5)對(4)中的二值化圖像進行膨脹和腐蝕操作;(6)再利用8鄰域連通域標識法分割出運動目標。
其中,bi-1(x,y)為前一幀背景,(x,y)為圖像像素點,c為更新系數(shù),取值為0.05。
s2.2多目標跟蹤。
(1)跟蹤窗口的設置:針對s2.1中提取的運動目標,設定運動目標的跟蹤窗口,即用矩形窗包圍運動目標,窗口的不宜過大,略大于目標圖像,這樣不但可以減少噪聲干擾,還能減少跟蹤過程中處理圖像的大小,減少跟蹤運算量,提高運算速度。
(2)跟蹤特征值的選擇:設跟蹤窗口區(qū)域的零階矩為m00,沿水平方向和垂直方向的一階矩陣分別為m10和m01,目標圖像的灰度值用f(i,j)表示,那么可以通過下面的公式求取跟蹤窗口中質心坐標(x,y):
(3)kalman跟蹤中的運動模型估計:利用kalman濾波進行運動估計,可以有效地減少噪聲干擾,只需檢測當前跟蹤窗口,大大減少了計算量。假設kalman濾波過程中系統(tǒng)在k時刻的狀態(tài)向量為xk,它由k-1時刻的狀態(tài)xk-1和動態(tài)噪聲共同決定,狀態(tài)方程如公式(13)所示。而觀測向量zk也由兩部分決定,即由k時刻狀態(tài)向量xk的觀測函數(shù)和觀測噪聲組成,觀測方程如公式(14)所示。
xk=axk-1+wk-1(13)
zk=hxk+vk(14)
式中,a為狀態(tài)轉移矩陣;h為觀測矩陣;wk-1、vk為動態(tài)噪聲和觀測噪聲;狀態(tài)向量xk是一個四維向量:
xk=[xk,yk,vx,k,vy,k]t(15)
其中,xk,yk分別為目標質心坐標,vx,k,vy,k分別為質心坐標在x,y方向上的速度。
(4)模型更新和建立目標匹配矩陣:采用kalman濾波器為運動目標建立運動模型,利用檢測到的當前目標信息對下一幀目標進行預測,縮小了搜索范圍和搜索時間,運動目標跟蹤是確定統(tǒng)一運動目標在不同幀中的位置的過程,即對相鄰幀之間的各目標正確匹配的過程,在各目標建立對應關系之前,需要一個衡量匹配程度的原則,匹配完成之后,得到新的系統(tǒng)參數(shù)更新模型,反復迭代即可實現(xiàn)運動目標的連續(xù)跟蹤。
視頻圖像相鄰幀間的時間間隔很短,同一目標在前后幀間位置變化不會很大,即統(tǒng)一目標在相鄰幀間有大部分是重疊區(qū)域,并且通過kalman濾波器對上一幀運動目標軌跡進行了一個可靠的估計,則可利用當前幀中目標的外接矩形與上一幀中目標的預測矩形的相交面積建立對應關系,即使用前后兩幀目標的重疊區(qū)域所包含的像素數(shù)進行目標匹配度判斷,如公式(16)所示:
其中,
視頻序列中出現(xiàn)的目標可能會不止一個,同時出現(xiàn)多個目標后,目標間就會變得復雜起來目標互相遮擋,目標遮擋后分離,目標被背景物體遮擋而暫時消失,不斷有新目標出現(xiàn)和目標消失。為處理多目標跟蹤中復雜情況,利用公式(17)來建立相鄰幀間目標的匹配矩陣來表示前后兩幀間的匹配關系,匹配矩陣為:
其中,m為k-1時刻的目標總數(shù),n為k時刻的目標總數(shù),m即為相鄰幀間的匹配矩陣,大小為m*n(m行n列),mij是上一幀目標i與當前幀目標j的匹配度。
匹配矩陣m中的值為0或1。匹配矩陣的每一行是表示上一幀里的目標與當前幀的每一個目標的匹配狀態(tài),所以通過對匹配矩陣的行掃描可以判斷出上一幀的目標在當前幀時發(fā)生的變化。如果第k行每一個元素皆為0,則表示上一幀的第k個目標消失,這說明目標可能永久消失也可能是被背景這單而暫時消失;如果第k行只有p列一個元素為1,則說明上一幀第k個目標與當前幀的第p個目標匹配;如果第k行有多個元素為1,則表示上一幀中的第k個目標在當前幀中被分離為多個目標,這說明可能是上一幀的遮擋發(fā)生了分離,也可能是上一幀目標在當前幀中產生了目標碎片,此時需合并碎片,再重新建立匹配矩陣和重新分析矩陣。匹配矩陣的每一列是表示當前幀的目標與上一幀的每一個目標的匹配狀態(tài),則通過對匹配矩陣的列掃描可以判斷出當前幀目標的目標狀態(tài)。如果第k列的元素皆為0,則表示當前幀的第k個目標是新出現(xiàn)的目標;如果第k列只有第h行的一個元素為1,這說明當前幀的第k個目標與上一幀的第h個目標匹配;如果第k列存在一個以上的元素為1,這表示上一幀的目標在當前幀中發(fā)生了遮擋。
步驟s3高速球端目標跟蹤:利用s1中方法進行全景攝像機和高速球機的智能聯(lián)動,針對感興趣的目標通過s1中的方法求得全景攝像機與高速球機之間的映射關系來轉動高速球,通過目標特征匹配的方式獲得目標在高速球畫面中的精確位置,再結合kalman濾波和meanshift算法進行運動目標檢測,通過高速球端目標跟蹤完成了目標的局部監(jiān)控。
目標在高速球畫面的精確定位的流程圖如圖5所示。
高速球端目標跟蹤步驟:
3.1)利用步驟s2中kalman跟蹤方法初始化kalman濾波器,根據(jù)設定的跟蹤窗口中目標的質心位置作為初始位置y0;
3.2)根據(jù)前一時刻的kalman濾波的系統(tǒng)狀態(tài)量,由kalman濾波器獲得當前時刻目標的預測位置;
3.3)根據(jù)前一時刻的kalman濾波的系統(tǒng)狀態(tài)量,由meanshift跟蹤算法獲得當前時刻的觀測位置;
3.4)根據(jù)之前由kalman濾波器求得的預測位置和由meanshift算法求得的觀測位置,采用kalman濾波法估算當前時刻目標的估計位置;
3.5)由第四步求得的目標的估計位置再應用前面第2)和3)步同理推出下一時刻運動目標的預測位置和觀測位置;
3.6)重復上面的3.2)、3.3)和3.4)步驟,最終獲得穩(wěn)定的目標跟蹤算法。
圖6為高速球端的目標跟蹤流程圖。
通過本發(fā)明中全景攝像機和高速球機的智能聯(lián)動方法、全景攝像機的運動目標跟蹤方法和高速球機的方法能夠完成全局與局部的、全方位無死角的視頻監(jiān)控效果。
本發(fā)明中提出的方法實際上可嵌入fpga實現(xiàn),應用于視頻監(jiān)控系統(tǒng)中。以上實施例僅起到解釋本發(fā)明技術方案的作用,本發(fā)明所要求的保護范圍并不局限于上述實施例所述的實現(xiàn)系統(tǒng)和具體實施步驟。因此,僅對上述實施例中具體的公式及算法進行簡單替換,但其實質內容仍與本發(fā)明所述方法相一致的技術方案,均應屬于本發(fā)明的保護范圍。