本發明涉及一種視頻穩定方法,尤其涉及一種聯合空間時間軸的雙視點立體視頻穩定方法,屬于電子穩像技術領域。
背景技術:
隨著圖像傳感器技術和移動計算能力的發展,視頻采集逐漸轉向手持設備,更多的攝影愛好者可以拍攝個人視頻,但是相機抖動嚴重影響大多數拍攝的視頻,視頻的質量和視覺舒適度受到了嚴重的影響。利用機械原理的硬件方法,比如將相機固定在云臺,可以減少視頻抖動,但這種方法的缺點是成本昂貴和拍攝不便利。另一方面,采用視頻穩定技術的軟件方法具有成本低、穩定效果好的優勢。近年,視頻穩定技術在提高視頻質量、基于運動平臺的視頻監控、車載移動視頻穩像和機器人導航等方面得到了廣泛的應用。
視頻穩定技術是指:去除非刻意的相機抖動和修正視頻序列的過程。其問題關鍵分為運動估計和運動補償兩個部分。相機的運動估計的主要目的是通過相鄰幀之間的特征估計幀間運動參數。運動補償則是判斷視頻全局運動是不是刻意的相機運動,并對不需要的視頻抖動進行校正。
Chen Y H,Lin H Y S,Su C W.Full-Frame Video Stabilization via SIFT Feature Matching[C]//Tenth International Conference on Intelligent Information Hiding and Multimedia Signal Processing.IEEE,2014.公開了一種基于SIFT(Scale-invariant feature transform)特征點匹配的全幀視頻穩定算法,該方法通過相鄰幀的特征點匹配定義了兩維空間的仿射變換,然后對視頻的每幀應用時域濾波來去除抖動成分。He M,Huang C,Xiao C,et al.Digital video stabilization based on hybrid filtering[C]//International Congress on Image and Signal Processing.IEEE,2014:94-98.公開了一種視頻穩定方法,該方法通過卡爾曼濾波和低通濾波對視頻進行運動補償。Yu H,Zhang W.Moving camera video stabilization based on Kalman filter and least squares fitting[C]//Intelligent Control and Automation.IEEE,2015.公開了一種基于最小二乘擬合的視頻穩定技術,該方法和卡爾曼濾波進行了比較,并得出結論:二次擬合比卡爾曼濾波性能好,但卡爾曼濾波更適合實時處理。這三種算法都屬于2D視頻的穩定技術,通過相鄰幀之間的匹配特征點跟蹤視頻的運動軌跡,然后采用濾波的方法去除非刻意的相機抖動。
2D視頻穩定技術已經趨向成熟,更多的研究熱點和難點集中在3D視頻穩定研究。Goldstein A,Fattal R.Video stabilization using epipolar geometry[J].Acm Transactions on Graphics,2012,32(5):573-587.公開了一種3D視頻穩定算法。首先,該算法提取特征點來建立穩定的相機運動,然后采用極點轉移技術和基于圖像的幀映射將視頻投射到穩定框架中。這種方法對退化的相機運動具有魯棒性,但不能處理劇烈的相機抖動。Liu F,Niu Y,Jin H.Joint Subspace Stabilization for Stereoscopic Video[C]//Computer Vision(ICCV),2013 IEEE International Conference on.IEEE,2013:73-80.公開了一種局部的3D視頻穩定算法,該方法聯合左右視點構建一個子區域,并在子區域內進行視頻穩定,但這種方法很難處理劇烈抖動和高運動模糊。
技術實現要素:
本發明的目的在于克服現有技術的不足,提供一種聯合空間時間軸的雙視點立體視頻穩定方法,穩定性能更好、魯棒性更高,將兩維視頻穩定算法應用在雙視點立體視頻中,實時減少了左右視之間的垂直視差,降低了由于垂直視差過大、視頻不穩定導致的3D視頻觀賞的不舒適。
為達到上述目的,本發明采用如下技術方案:
一種聯合空間時間軸的雙視點立體視頻穩定方法,包括以下步驟:
步驟1:對雙視點視頻分別進行時間軸維度的視頻穩定:首先分別對左右視的連續視頻幀提取特征點,剔除錯誤匹配的特征點,得到準確的特征點匹配,再根據準確的特征點匹配估計視頻的幀間運動軌跡;然后利用濾波的方法去除視頻中的高頻部分,平滑輸入視頻的幀間運動軌跡并填補視頻中丟失像素,保持輸入視頻的分辨率;
步驟2:對雙視點視頻進行空間軸維度的視頻穩定:對經過步驟1處理后的左右視頻進行空間軸維度的視頻穩定,減少左右視頻之間的垂直視差,提高3D視頻的觀看舒適度;首先對同一時刻的左右視頻幀提取特征點,剔除不準確特征點匹配,得到左右視的準確特征點匹配;然后分別計算準確的匹配特征點在垂直方向上的視差,采用統計特征點垂直視差直方圖的方法作為校正指標;最后根據得到的左右視頻間的垂直視差進行實時校正,減少左右視頻之間的垂直視差;
步驟3:視頻穩定調整:對步驟2得到的視頻使用光流法尋找前后相鄰幀之間的變換Toriginal_transformation,并且該變換只包含三個參數:水平平移dx、垂直平移dy、旋轉角度dα;
累計dx、dy、dα得到視頻幀之間的運動軌跡∑dx、∑dy、∑dα;采用窗口方法平滑視頻幀之間的運動軌跡并且得到參數dx_avg、dy_avg、dα_avg;結合上述參數得到新的變換,新變換參數dx_new、dy_new、dα_new為:
dx_new=dx+(dx_avg-∑dx)
dy_new=dy+(dy_avg-∑dy)
dα_new=dα+(dα_avg-∑dα)
最終得到新變換矩陣Tnew_transformation;具體變換公式為:
將Tnew_transformation作用在步驟2輸出視頻上得到最后視頻穩定結果。
所述步驟1的具體步驟為:
步驟1.1,準確的特征點的提取、匹配和篩選:對單個視頻的相鄰幀分別提取特征點,為了提高特征點匹配的準確性,首先采用特征點之間歐式距離比率檢測的方法,驗證特征點匹配的準確性:
其中d1是第i幀圖像的特征點p和距離它最近的第i-1幀圖像中特征點q之間的距離,d2是第i幀圖像的特征點p和距離它次近的第i-1幀圖像中特征點q′之間的距離;當d1和d2的比值大于預先設定的閾值時,則認為該匹配不準確,剔除該特征點匹配,否則保留該準確匹配;其次,采用雙向驗證的方法進一步驗證匹配,即查詢圖像的特征描述子索引和模板圖像的特征描述子索引互相匹配;最后通過RANSAC(Random Sample Consensus,隨機采樣一致性)剔除不準確的匹配,采用RANSAC算法濾除錯誤匹配,尋找一個最優單應性矩陣H,使得滿足該矩陣的數據點數量最多,即內點數量最多;經過特征點篩選步驟后,得到準確的特征點匹配;
步驟1.2,相機運動估計:根據步驟1.1中的特征點匹配,相機運動由透視變換的單應性變換描述;為了平滑相機的運動軌跡,參考了與當前幀相鄰的2n幀;設定第i幀和第j幀之間的變換為當前幀的編號為t,與它相鄰幀的編號設為{w|t-n≤w≤t+n},得到最后的單應性變換Tfinal:
其中G(u,σ)是均值為零、方差為的高斯分布;
步驟1.3,相機運動補償:在透射變換之后,采用卡爾曼濾波進一步去除抖動,視頻的第一幀被認為是穩定的,將第一幀作為參考幀來穩定下一幀,然后將第二幀作為參考幀來穩定第三幀,重復操作直到最后一幀穩定;使用卡爾曼濾波通常基于抖動視頻中含有白噪聲,但這種假設有時和現實情況不符,由于視頻中的抖動部分在頻域中往往是高頻部分,本方法結合了卡爾曼濾波和低通濾波,低通濾波能夠有效地去除視頻抖動;
步驟1.4,像素填補:視頻經過步驟1.3處理之后會出現像素丟失,所以需要對丟失像素進行填補,從而保護視頻的分辨率;采用下式所示的平均填補:
其中,It(m,n)是當前幀t丟失像素的像素值,I′i(m,n)是丟失像素在相鄰幀對應位置像素的值。
所述步驟2的具體步驟為:
步驟2.1,左右視點的特征點匹配:對穩定后的左右視提取特征點,為了提高特征點匹配的準確性,首先通過特征點之間距離比較的方法,驗證特征點匹配的準確性,然后,采用雙向驗證的方法進一步驗證匹配,最后采用RANSAC剔除不準確的匹配,經過特征點篩選步驟后,得到左右視頻間準確的特征點匹配;
步驟2.2,特征點垂直視差直方圖統計:分別計算準確的匹配特征點在垂直方向上的視差,采用特征點平均垂直視差、統計特征點垂直視差直方圖、優先選取靠近零平面的特征點的方法,將統計的結果作為垂直視差校正的指標;
步驟2.3,垂直視差校正:根據步驟2.2中得到左右視頻間的垂直視差進行實時校正,減少左右視頻之間的垂直視差,提高3D視頻的觀看舒適度。
與現有技術相比,本發明具有如下突出的實質性特點和顯著的優點:
本發明是一種視頻穩定性能好、魯棒性高的視頻穩定方法,能夠對由相機抖動、相機內部感光元件的不一致性以及當前工藝的不精確所導致的左右視點間的垂直視差進行修正,可提高觀看3D視頻的舒適度。
附圖說明
圖1為本發明的流程圖;
圖2(a)和(b)為原始特征點前向和后向匹配圖;
圖3為篩選后的特征點匹配圖;
圖4(a)和(b)為垂直視差主觀實驗圖;
圖5(a)和(b)為輸入視頻及其光流圖;
圖6為輸入視頻的幀間水平和垂直視差;
圖7為輸入視頻的水平方向上運動軌跡和平滑后的運動軌跡;
圖8為輸入視頻的垂直方向上運動軌跡和平滑后的運動軌跡;
圖9為輸出視頻的幀間水平和垂直視差;
圖10(a)、(b)和(c)為輸入視頻幀、垂直視差處理后的視頻幀和輸出視頻幀。
具體實施方式
以下結合附圖對本發明的實施例作詳細說明。
如圖1所示,一種聯合空間時間軸的雙視點立體視頻穩定方法,包括以下步驟:
步驟1:對雙視點視頻分別進行時間軸維度的視頻穩定:首先分別對左右視的連續視頻幀提取特征點,剔除錯誤匹配的特征點,得到準確的特征點匹配,再根據準確的特征點匹配估計視頻的幀間運動軌跡;然后利用濾波的方法去除視頻中的高頻部分,平滑輸入視頻的幀間運動軌跡并填補視頻中丟失像素,保持輸入視頻的分辨率。
步驟1.1,準確的特征點的提取、匹配和篩選:對單個視頻的相鄰幀分別提取特征點,本實施例并不局限特征點的提取和匹配算法,可選用尺度不變的特征點提取和匹配算法,如SIFT、SURF、ORB等特征點提取算法,在本實施例中使用SURF特征點提取算法。進一步,為了提高特征點匹配的準確性,首先采用特征點之間歐式距離比率判決的方法,驗證特征點匹配的準確性。
其中d1是第i幀圖像的特征點p和距離它最近的第i-1幀圖像中特征點q之間的距離,d2是第i幀圖像的特征點p和距離它次近的第i-1幀圖像中特征點q′之間的距離。當d1和d2的比值大于預先設定的閾值時,則認為該匹配不準確,剔除該特征點匹配,否則保留該準確匹配。其次,本實施例采用雙向驗證的方法進一步驗證匹配,即查詢圖像的特征描述子索引和訓練(模板)圖像的特征描述子索引互相匹配。最后RANSAC剔除不準確的匹配,隨機采樣一致性算法可以在一組包含“外點”的數據集中,采用不斷迭代的方法尋找最優參數模型,不符合最優模型的點被定義為“外點”。采用RANSAC算法濾除錯誤匹配尋找一個最優單應性矩陣H,使得滿足該矩陣的數據點數量最多,即內點數量最多。經過特征點篩選步驟后,得到準確的特征點匹配。
步驟1.2,相機運動估計:根據步驟1.1中的特征點匹配,相機運動可以由透視變換的單應性變換描述。為了平滑相機的運動軌跡,本實施例參考了與當前幀相鄰的五幀。設定第i幀和第j幀之間的變換為Tij,當前幀的編號為t,與它相鄰幀的編號設為{w|t-5≤w≤t+5}。得到最后的單應性變換Tfinal。
其中G(u,σ)是均值為零、方差為的高斯分布。
步驟1.3,相機運動補償:在透射變換之后,本實施例采用卡爾曼濾波進一步去除抖動。在本實施例中,視頻的第一幀被認為是穩定的,將第一幀作為參考幀來穩定下一幀,然后將第二幀作為參考幀來穩定第三幀,重復操作直到最后一幀穩定。使用卡爾曼濾波通常基于抖動視頻中含有白噪聲,但這種假設可能和現實情況不符,由于視頻中的抖動部分在頻域中往往是高頻部分,本實施例結合了卡爾曼濾波和低通濾波,低通濾波可以有效地去除視頻抖動。
步驟1.4,像素填補:視頻經過步驟1.3處理之后會出現像素丟失,所以需要對丟失像素進行填補,從而保護視頻的分辨率。本實施例中采用如(4)式所示的平均填補。
其中,It(m,n)是當前幀t丟失像素的像素值,I′i(m,n)是丟失像素在相鄰幀對應位置的像素的值。
至此,本實施例完成了時間軸的視頻穩定過程。
步驟2:對左右視進行空間軸維度的視頻穩定。對經過步驟1處理后的左右視頻進行空間軸維度的視頻穩定,減少左右視頻之間的垂直視差,提高3D視頻的觀看舒適度。首先對同一時刻的左右視頻幀提取特征點,剔除不準確特征點匹配,得到左右視的準確特征點匹配。然后分別計算準確的匹配特征點在垂直方向上的視差,采用統計特征點垂直視差直方圖的方法作為校正指標。最后根據得到的左右視頻間的垂直視差進行實時校正,減少左右視頻之間的垂直視差。
步驟2.1,左右視點的特征點匹上配:對穩定后的左右視頻的特征點提取,本實施例并不局限特征點的提取和匹配算法,可選用尺度不變的特征點提取和匹配算法,如SIFT、SURF、ORB等。為了提高特征點匹配的準確性,首先通過特征點之間距離比較的方法,驗證特征點匹配的準確性。然后,采用雙向驗證的方法進一步驗證匹配。最后采用RANSAC剔除不準確的匹配,經過特征點篩選步驟后,得到左右視頻間準確的特征點匹配。
步驟2.2,特征點垂直視差直方圖統計:分別計算準確的匹配特征點在垂直方向上的視差,可以采用特征點平均垂直視差、統計特征點垂直視差直方圖、優先選取靠近零平面的特征點等方法作為校正指標,本實施例中采用的是統計特征點垂直視差直方圖的方法。
步驟2.3,垂直視差校正:根據步驟2.2中得到左右視頻間的垂直視差進行實時校正,減少左右視頻之間的垂直視差。
至此,本實施例完成了空間軸的視頻穩定過程。
步驟3,視頻穩定調整:對步驟2得到的視頻使用光流法尋找前后相鄰幀之間的變換Toriginal_transformation,并且該變換只包含三個參數:水平平移dx、垂直平移dy、旋轉角度dα。
累計dx、dy、dα得到視頻幀之間的運動軌跡∑dx、∑dy、∑dα。采用窗口方法平滑視頻幀之間的運動軌跡并且得到參數dx_avg、dy_avg、dα_avg。結合上述參數得到新的變換,新變換參數dx_new、dy_new、dα_new為:
dx_new=dx+(dx_avg-∑dx) (6)
dy_new=dy+(dy_avg-∑dy) (7)
dα_new=dα+(dα_avg-∑dα) (8)
最終得到新變換矩陣Tnew_transformation。具體變換公式為:
將Tnew_transformation作用在步驟2輸出視頻上得到最后視頻穩定結果。
本實施例中,采用SURF特征點匹配的方法跟蹤相機運動軌跡,為了得到準確精準的特征點匹配,本實施例采用RANSAC算法和對稱驗證匹配的策略提高匹配的精確度。本發明并不局限SURF特征點的提取和匹配算法,也可選用其他尺度不變的特征點提取和匹配算法。圖2是單向特征點匹配結果圖,圖2(a)是后向匹配,圖2(b)是前向匹配,如圖2所示,單向特征點匹配產生一定數量的不準確匹配對。圖3是雙向匹配驗證后特征點匹配結果,減少了錯誤匹配數量,得到準確的特征點匹配,根據準確的匹配特征點可以追蹤相機的運動軌跡,為后續的平滑過程奠定了良好的基礎。
本實施例中采用卡爾曼濾波和低通濾波的聯合濾波對相機運動進行補償。經過補償后的視頻會丟失一些像素,為了保證視頻的分辨率,本實施例對丟失像素進行了補償。
在本實施例中,左右視頻的垂直視差對于3D視頻觀看舒適度影響做了主觀實驗,如圖4(a)、(b)所示,大于40像素的垂直視差對3D視頻觀看的舒適度有很大的影響。本實施例統計左右視的特征點垂直視差直方圖作為當前左右視的垂直視差,然后對垂直視差進行實時校正。
在本實施例中對視差校正后的視頻進行了調整,視頻的光流圖如圖5(b)所示,圖中彩色區域即為運動物體。視差調整后,視頻幀之間的變換參數如圖6所示,實線即為水平平移dx,虛線即為垂直平移dy。調整過程的輸入視頻的運動軌跡和平滑后的軌跡如圖7、8所示,圖7即為x方向的運動軌跡對比,圖8即為y方向的運動軌跡對比,實線即為調整視頻的運動軌跡,虛線即為平滑處理后視頻的運動軌跡。視頻穩定調整過程的結果如圖9所示,實線即為水平平移dx,虛線即為垂直平移dy。
如圖10所示,圖10(a)即為原始輸入視頻的第1、50、100、150幀,圖10(b)即為垂直視差校正后視頻的第1、50、100、150幀,圖10(c)是調整后視頻第1、50、100、150幀,即為本實施例的最終結果。