曹恒峰 彭來湖 史偉民



摘? 要:視頻監控攝像頭在現代安防中起到了不可替代的作用,為適應更多環境,攝像頭技術也一直在不斷發展。本文提出了一種可實現多攝像頭畫面實時拼接的技術設計方案:基于加速穩健特征算法,實現對視頻單幀畫面間的特征點進行提取及拼接;使用FFmpeg(Fast Forward Mpeg)媒體處理庫進行視頻攝像頭媒體流文件的分解及最終融合視頻的呈現;使用Qt框架實現程序開發及效果展示。經測試表明,該設計方案能在保證不降低畫面分辨率的前提下,實現多攝像頭的視頻畫面融合,畫面扭曲程度低,為攝像頭畫面融合提供了一些參考。
關鍵詞:加速穩健特征算法;FFmpeg;畫面拼接;視頻融合
中圖分類號:TP311.5? ? ?文獻標識碼:A
文章編號:2096-1472(2021)-04-02-04
Abstract: Video surveillance cameras have played an irreplaceable role in modern security. In order to adapt to more environments, camera technology has been constantly developing. This paper proposes a technical design solution that can realize real-time splicing of images from multiple cameras. Accelerated robust feature algorithm is applied to realize the feature point extraction and splicing between single video frames. FFmpeg (Fast Forward Mpeg) media processing library is used to decompose stream files of video camera media and present the final fusion video. Qt framework is used to develop program and display its effect. Tests show that the proposed solution can achieve multi-camera video picture fusion without reducing picture resolution, with low picture distortion. It provides some references for camera picture fusion.
Keywords: accelerated robust feature algorithm; FFmpeg; screen splicing; video fusion
1? ?引言(Introduction)
在數字化急速發展的今天,視頻監控設備已經得到大范圍的普及,在安防、軍工領域及智慧交通等方面為人們提供了巨大的便利[1]。隨著科技的發展,不同的應用場景對監控提出了新的要求,如更高的清晰度、更廣泛的應用場景、更低的畫面延遲等,其中對視野范圍的要求呼聲最高,但高分辨率的廣角攝像頭成本昂貴,使用場景受限,而且其畫面變形程度較高,無法滿足一些條件苛刻的場景,而一種多攝像頭的視頻畫面拼接技術,為大范圍廣角視頻監控提供了一種方案[2]。
本文所研究的視頻拼接技術可將多個高分辨率監控攝像頭的視頻畫面進行拼接,從而達到在不降低分辨率的同時實現廣角全景監控的效果。監控攝像頭視頻拼接不僅僅是單純地把畫面堆砌在一起,而是需要根據畫面內容將重復部分的畫面進行融合,實現整體的效果。與圖像拼接相比,視頻拼接是在其基礎上的一個提升[1],不僅需要實現每一幀畫面的拼接,而且需要保證拼接速度,否則在每秒25幀的視頻呈現中,程序會非常卡頓,無法達到實際應用效果。
2? ?視頻融合技術實現方案(Implementation plan of video fusion technology)
視頻畫面的拼接是在圖像拼接的基礎上實現的,但又是在單純的圖像拼接技術上的提升。圖像拼接包含特征點提取、特征點匹配、圖像矩陣變換和畫面拼接等步驟,若是對視頻中的每一幀都進行圖像拼接的全過程操作,不僅會導致嚴重的視頻延時,而且將造成極大的內存和CPU消耗,無法滿足日常生活使用的需求。為此,通過研究圖像拼接技術的原理,本文提出了一種適合視頻監控攝像頭的視頻畫面融合技術,其主要流程有四個步驟:
(1)獲取攝像頭基于實時流傳輸協議(Real Time Streaming Protocol, RTSP)的媒體流畫面并進行解碼,提取其同一時刻的畫面幀。
(2)通過加速穩健特征(Speeded-Up Robust Features, SURF)算法[2]對兩幅畫面進行特征點集匹配。
(3)根據匹配后的特征點集進行變換矩陣計算,并將攝像頭2的圖像進行矩陣變換。
(4)將攝像頭1的圖像與攝像頭2的圖像按坐標進行拼接并輸出,實現圖像拼接。
(5)重復提取視頻畫面幀,跳過特征點集匹配步驟,直接按照上一步所計算的變換矩陣進行矩陣變換,并將圖像畫面輸出,實現拼接視頻輸出。
本次視頻拼接程序技術方案流程如圖1所示。
3? ?系統實現(System implementation)
3.1? ?視頻流讀取
目前主流攝像頭的視頻畫面均支持RTSP媒體流輸出,在計算機中導入FFmpeg媒體開發庫。FFmpeg是一套開源的計算機程序,主要用于視頻、音頻文件的轉化、輸出和保存,其最主要的功能是可以將音視頻文件轉化為流,實現媒體文件在互聯網上的傳輸[3]。在計算機中配置好環境變量后,即可在Qt程序中使用FFmpeg相關的音視頻處理函數,將攝像頭中所提取的RTSP視頻流信息導入程序中,遍歷與視頻流所匹配的解碼器類型,即可將攝像頭畫面解碼后的YUV數據轉換成RGB 32[4],再將其逐幀轉化為圖像格式文件,等待下一步處理。
3.2? ?SURF特征匹配
特征點是指在一幅圖像中紋理、灰度變化較大的點,通常為圖像中物體的邊界點、陰影分界點、拐點等關鍵信息點[5-6]。一幅圖像可以通過特征點來進行描述,它反映了圖像的本質特征,不同圖像之間也可以通過特征點進行區分,在圖像融合技術中心特征點可以進行兩幅圖像間的匹配。
特征點檢測的核心為找到不受圖像的模糊程度及分辨率影響而變化的點。SURF算法特征點檢測過程主要可以概括為尺度空間的極值檢測、特征點方向賦值以及特征點描述符與匹配三個步驟。
3.2.1? ?尺度空間的極值檢測
局部極值檢測涉及Hessian矩陣。Hessian矩陣用于檢測圖像中的突變點[7],由一個多元函數的二階偏導數構成,對于圖像中任意一點(x, y)的Hessian矩陣可表示為:
在構建Hessian矩陣前需要對圖像進行高斯濾波,經過濾波后的Hessian矩陣表達式為:
式(2)中,為圖像的高斯尺度空間,為尺度因子,由其各自對應的二階高斯偏導與圖像卷積所得。根據式(2)可得Hessian矩陣的判別式為:
為提高運算速度,SURF算法使用方塊濾波器代替高斯濾波器,并加入0.9的權值系數,消除其近似誤差,因此Hessian矩陣的判別式可表示為:
將經過Hessian矩陣處理的像素點同與其空間尺度相鄰的26個像素點進行比較(其中與其同層的像素點八個,上下兩層像素點各九個,如圖2所示),即可根據極值得到圖像特征點。
3.2.2? ?特征點方向賦值
SURF算法通過統計特征點圓形領域內Haar小波特征來確定特征點主方向。以特征點為中心,統計在其半徑為6的圓形區域內,60°扇形區域中特征點的水平和垂直Haar小波特征總和,再將扇形以每5°角度對整個圓形區域進行遍歷,得到小波特征最大的扇形區域方向即為該特征點主方向,如圖3所示。
3.2.3? ?特征點描述符與匹配
以所選特征點為中心,構造一個與特征點方向相同的方形區域。再將該區域劃分為4×4的小區域,統計其中每個小區域內等間隔的5×5采樣點在水平和垂直方向上的Haar小波特征,并記作和,對其做求和運算,即、、、,得到每個子區域的四維向量。最后計算兩幅圖像中每個特征描述向量間歐式距離,所得最小值即為最佳匹配點[8-9],如圖4所示。
3.3? ?變換矩陣
在實際應用中,不同攝像頭之間由于擺放位置不正等因素,會導致所得畫面之間存在角度、視野范圍等偏差,因此在進行視頻圖像拼接前,不僅僅需要進行坐標變換,還需要將攝像頭2的畫面進行矩陣投影變化,使得兩個畫面間有更好的重合度。
通常經過SURF算法匹配的特征點數量較多,誤匹配的特征點數量也會包含在其中,如果直接對該特征點集進行變換矩陣計算,會導致變換后的圖像拼接效果差,甚至會造成拼接失敗,因此在計算變換矩陣前,需要對特征點集進行篩選。首先將特征點集按照匹配程度排序,需取出匹配程度最高的50組特征點集。在矩陣變換中,要保證變換矩陣有唯一解只需要八對匹配點,因此還需對初篩后的特征點集進行下一步篩選。本次設計使用了隨機一致性采樣(Random Sample Consensus, RANSAC)的魯棒算法進行篩選,RANSAC算法在外點多的環境中篩選效率極高,最高能處理50%外點的情況[10]。RANSAC算法的具體實現有如下幾個步驟:
(1)隨機選擇一組點集作為假設的內點集,再根據這部分假設的內點集合得到計算模型。
(2)將其他的點集代入步驟1計算所得的模型中,若有足夠多的點集符合該模型,則認為該模型是合理的。
(3)由于步驟1所得的模型僅僅由初始所選的隨機點集計算所得,模型不嚴謹,用步驟2符合該模型的所有內點集重新計算模型,得到最終模型。
(4)選擇不同的初始隨機點集,重復步驟1—3,選擇出包含點集最多的模型。
經過RANSAC算法計算的模型過濾了匹配程度異常的點集,再次篩選了符合要求的特征點集合,減少了點集數量,還能提高變換矩陣的計算速度及準確性,根據所得的優質點集即可計算出圖像2投影至圖像1所需的變換矩陣。
3.4? ?融合視頻輸出
在計算出變換矩陣后,即可實現最終的視頻輸出。將經過矩陣變換的圖像2放置于Qt中的QPainter畫布中,再將圖像1覆蓋至圖像2上,實現兩個圖像畫面的拼接。設置FFmpeg輸出畫面為25幀,視頻攝像頭中上傳的RTSP視頻流中每一幀的數據依次經過FFmpeg解碼、變換、拼接這些輸出的步驟后[3,11],即可實現融合視頻畫面輸出的效果。
4? ?運行調試分析(Running debug analysis)
4.1? ?實驗環境
本次實驗所使用的攝像頭為海康威視DS-2CD3325F-I網絡攝像機,開發工具為Qt 5.13.0 MinGW64位版本,開發環境為Intel(R)Core(TM)i5-7300HQ CPU@2.50 GHz,8 GB內存,Windows 10操作系統。
4.2? ?調試分析
由于攝像頭位置固定,因此只需在第一次讀取畫面時計算變換矩陣,后續畫面均可直接使用該變換矩陣,可有效減少程序運行時的負載,達到流暢的視頻呈現效果。實驗結果顯示,本文所設計的軟件在視頻拼接過程中延時為0.9 s,內存占用161.8 MB,CPU占用28.8%,符合視頻拼接軟件實際應用需求,如圖5至圖7所示。
5? ?結論(Conclusion)
本文設計了一種基于SURF算法的攝像頭監控視頻拼接方案,解決攝像頭監控畫面范圍不足的問題。借助Qt開發框架的高拓展性,載入FFmpeg媒體開發庫,實現攝像頭RTSP視頻流提取;使用SURF算法提取圖像間的特征點集,經過RANSAC算法篩選后計算圖像間的變換矩陣,實現視頻畫面的拼接融合;利用固定攝像頭畫面角度不變的特點,只計算一次變化矩陣,達到程序流暢運行的效果。經實驗證明,此次所設計的程序符合實際應用的要求,為視頻處理提供了一種新的升級思路。
參考文獻(References)
[1] 蔣輝,楊娟.基于高清圖像處理的全景拼接技術研究[J].電子世界,2020(14):17-18.
[2] 李慧慧.基于Harris-SURF描述符的圖像配準方法[J].科學技術創新,2020(20):108-109.
[3] 郭晶晶,劉光堯,汪磊,等.FFmpeg在視頻圖像處理中的應用[J].刑事技術,2020,45(03):234-237.
[4] 廖銀萍.支持HTML5的RTSP流媒體網絡攝像頭設計與實現[J].信息通信,2020(03):106-109.
[5] 趙瀟灑,陳西江,班亞,等.融合改進SURF和Cell加速的冪函數加權圖像拼接方法[J/OL].激光與光電子學進展:1-19[2020-08-15].http://kns.cnki.net/kcms/detail/31.1690.TN.20200713.1810.040.html.
[6] SEUNG H C, IL K E, SEOK W H, et al. An enhanced SURF algorithm based on new interest point detection procedure and fast computation technique[J]. Journal of Real-Time Image Processing, 2019, 16(4):1177-1187.
[7] 楊蕊,李雪.基于顯著特性的紅外全景圖像拼接[J].激光雜志,2020,41(06):98-101.
[8] BAY H, ESS A, TUYTELAARS T, et al. Speeded-up robust features[J]. Computer Vision and Image Understanding, 2008, 110(3):346-359.
[9] 夏磊,胡欣宇,岳亞偉,等.基于改進SURF算法的紅外圖像拼接[J].物聯網技術,2020,10(06):48-51.
[10] ZAHRA H N, MEHDI N. An adaptive image registration method based on SIFT features and RANSAC transform[J]. Computers and Electrical Engineering, 2017, 62(5):524-537.
[11] 阿不都克里木·玉素甫,王亮亮.基于自主可控平臺的FFMPEG在線視頻轉換系統[J].計算機與現代化,2020(01):81-84;116.
作者簡介:
曹恒峰(1996-),男,碩士生.研究領域:控制工程.
彭來湖(1980-),男,博士,講師.研究領域:智能裝備與嵌入式控制技術,智能傳感器與儀器儀表,智能制造與車間信息化技術,工業互聯網通信.
史偉民(1965-),男,博士,教授.研究領域:紡織機械自動控制,輕工機械,郵政裝備.