曹恒峰 彭來湖 史偉民
摘? 要:視頻監(jiān)控?cái)z像頭在現(xiàn)代安防中起到了不可替代的作用,為適應(yīng)更多環(huán)境,攝像頭技術(shù)也一直在不斷發(fā)展。本文提出了一種可實(shí)現(xiàn)多攝像頭畫面實(shí)時(shí)拼接的技術(shù)設(shè)計(jì)方案:基于加速穩(wěn)健特征算法,實(shí)現(xiàn)對視頻單幀畫面間的特征點(diǎn)進(jìn)行提取及拼接;使用FFmpeg(Fast Forward Mpeg)媒體處理庫進(jìn)行視頻攝像頭媒體流文件的分解及最終融合視頻的呈現(xiàn);使用Qt框架實(shí)現(xiàn)程序開發(fā)及效果展示。經(jīng)測試表明,該設(shè)計(jì)方案能在保證不降低畫面分辨率的前提下,實(shí)現(xiàn)多攝像頭的視頻畫面融合,畫面扭曲程度低,為攝像頭畫面融合提供了一些參考。
關(guān)鍵詞:加速穩(wěn)健特征算法;FFmpeg;畫面拼接;視頻融合
中圖分類號:TP311.5? ? ?文獻(xiàn)標(biāo)識碼: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)
在數(shù)字化急速發(fā)展的今天,視頻監(jiān)控設(shè)備已經(jīng)得到大范圍的普及,在安防、軍工領(lǐng)域及智慧交通等方面為人們提供了巨大的便利[1]。隨著科技的發(fā)展,不同的應(yīng)用場景對監(jiān)控提出了新的要求,如更高的清晰度、更廣泛的應(yīng)用場景、更低的畫面延遲等,其中對視野范圍的要求呼聲最高,但高分辨率的廣角攝像頭成本昂貴,使用場景受限,而且其畫面變形程度較高,無法滿足一些條件苛刻的場景,而一種多攝像頭的視頻畫面拼接技術(shù),為大范圍廣角視頻監(jiān)控提供了一種方案[2]。
本文所研究的視頻拼接技術(shù)可將多個(gè)高分辨率監(jiān)控?cái)z像頭的視頻畫面進(jìn)行拼接,從而達(dá)到在不降低分辨率的同時(shí)實(shí)現(xiàn)廣角全景監(jiān)控的效果。監(jiān)控?cái)z像頭視頻拼接不僅僅是單純地把畫面堆砌在一起,而是需要根據(jù)畫面內(nèi)容將重復(fù)部分的畫面進(jìn)行融合,實(shí)現(xiàn)整體的效果。與圖像拼接相比,視頻拼接是在其基礎(chǔ)上的一個(gè)提升[1],不僅需要實(shí)現(xiàn)每一幀畫面的拼接,而且需要保證拼接速度,否則在每秒25幀的視頻呈現(xiàn)中,程序會(huì)非常卡頓,無法達(dá)到實(shí)際應(yīng)用效果。
2? ?視頻融合技術(shù)實(shí)現(xiàn)方案(Implementation plan of video fusion technology)
視頻畫面的拼接是在圖像拼接的基礎(chǔ)上實(shí)現(xiàn)的,但又是在單純的圖像拼接技術(shù)上的提升。圖像拼接包含特征點(diǎn)提取、特征點(diǎn)匹配、圖像矩陣變換和畫面拼接等步驟,若是對視頻中的每一幀都進(jìn)行圖像拼接的全過程操作,不僅會(huì)導(dǎo)致嚴(yán)重的視頻延時(shí),而且將造成極大的內(nèi)存和CPU消耗,無法滿足日常生活使用的需求。為此,通過研究圖像拼接技術(shù)的原理,本文提出了一種適合視頻監(jiān)控?cái)z像頭的視頻畫面融合技術(shù),其主要流程有四個(gè)步驟:
(1)獲取攝像頭基于實(shí)時(shí)流傳輸協(xié)議(Real Time Streaming Protocol, RTSP)的媒體流畫面并進(jìn)行解碼,提取其同一時(shí)刻的畫面幀。
(2)通過加速穩(wěn)健特征(Speeded-Up Robust Features, SURF)算法[2]對兩幅畫面進(jìn)行特征點(diǎn)集匹配。
(3)根據(jù)匹配后的特征點(diǎn)集進(jìn)行變換矩陣計(jì)算,并將攝像頭2的圖像進(jìn)行矩陣變換。
(4)將攝像頭1的圖像與攝像頭2的圖像按坐標(biāo)進(jìn)行拼接并輸出,實(shí)現(xiàn)圖像拼接。
(5)重復(fù)提取視頻畫面幀,跳過特征點(diǎn)集匹配步驟,直接按照上一步所計(jì)算的變換矩陣進(jìn)行矩陣變換,并將圖像畫面輸出,實(shí)現(xiàn)拼接視頻輸出。
本次視頻拼接程序技術(shù)方案流程如圖1所示。
3? ?系統(tǒng)實(shí)現(xiàn)(System implementation)
3.1? ?視頻流讀取
目前主流攝像頭的視頻畫面均支持RTSP媒體流輸出,在計(jì)算機(jī)中導(dǎo)入FFmpeg媒體開發(fā)庫。FFmpeg是一套開源的計(jì)算機(jī)程序,主要用于視頻、音頻文件的轉(zhuǎn)化、輸出和保存,其最主要的功能是可以將音視頻文件轉(zhuǎn)化為流,實(shí)現(xiàn)媒體文件在互聯(lián)網(wǎng)上的傳輸[3]。在計(jì)算機(jī)中配置好環(huán)境變量后,即可在Qt程序中使用FFmpeg相關(guān)的音視頻處理函數(shù),將攝像頭中所提取的RTSP視頻流信息導(dǎo)入程序中,遍歷與視頻流所匹配的解碼器類型,即可將攝像頭畫面解碼后的YUV數(shù)據(jù)轉(zhuǎn)換成RGB 32[4],再將其逐幀轉(zhuǎn)化為圖像格式文件,等待下一步處理。
3.2? ?SURF特征匹配
特征點(diǎn)是指在一幅圖像中紋理、灰度變化較大的點(diǎn),通常為圖像中物體的邊界點(diǎn)、陰影分界點(diǎn)、拐點(diǎn)等關(guān)鍵信息點(diǎn)[5-6]。一幅圖像可以通過特征點(diǎn)來進(jìn)行描述,它反映了圖像的本質(zhì)特征,不同圖像之間也可以通過特征點(diǎn)進(jìn)行區(qū)分,在圖像融合技術(shù)中心特征點(diǎn)可以進(jìn)行兩幅圖像間的匹配。
特征點(diǎn)檢測的核心為找到不受圖像的模糊程度及分辨率影響而變化的點(diǎn)。SURF算法特征點(diǎn)檢測過程主要可以概括為尺度空間的極值檢測、特征點(diǎn)方向賦值以及特征點(diǎn)描述符與匹配三個(gè)步驟。
3.2.1? ?尺度空間的極值檢測
局部極值檢測涉及Hessian矩陣。Hessian矩陣用于檢測圖像中的突變點(diǎn)[7],由一個(gè)多元函數(shù)的二階偏導(dǎo)數(shù)構(gòu)成,對于圖像中任意一點(diǎn)(x, y)的Hessian矩陣可表示為:
在構(gòu)建Hessian矩陣前需要對圖像進(jìn)行高斯濾波,經(jīng)過濾波后的Hessian矩陣表達(dá)式為:
式(2)中,為圖像的高斯尺度空間,為尺度因子,由其各自對應(yīng)的二階高斯偏導(dǎo)與圖像卷積所得。根據(jù)式(2)可得Hessian矩陣的判別式為:
為提高運(yùn)算速度,SURF算法使用方塊濾波器代替高斯濾波器,并加入0.9的權(quán)值系數(shù),消除其近似誤差,因此Hessian矩陣的判別式可表示為:
將經(jīng)過Hessian矩陣處理的像素點(diǎn)同與其空間尺度相鄰的26個(gè)像素點(diǎn)進(jìn)行比較(其中與其同層的像素點(diǎn)八個(gè),上下兩層像素點(diǎn)各九個(gè),如圖2所示),即可根據(jù)極值得到圖像特征點(diǎn)。
3.2.2? ?特征點(diǎn)方向賦值
SURF算法通過統(tǒng)計(jì)特征點(diǎn)圓形領(lǐng)域內(nèi)Haar小波特征來確定特征點(diǎn)主方向。以特征點(diǎn)為中心,統(tǒng)計(jì)在其半徑為6的圓形區(qū)域內(nèi),60°扇形區(qū)域中特征點(diǎn)的水平和垂直Haar小波特征總和,再將扇形以每5°角度對整個(gè)圓形區(qū)域進(jìn)行遍歷,得到小波特征最大的扇形區(qū)域方向即為該特征點(diǎn)主方向,如圖3所示。
3.2.3? ?特征點(diǎn)描述符與匹配
以所選特征點(diǎn)為中心,構(gòu)造一個(gè)與特征點(diǎn)方向相同的方形區(qū)域。再將該區(qū)域劃分為4×4的小區(qū)域,統(tǒng)計(jì)其中每個(gè)小區(qū)域內(nèi)等間隔的5×5采樣點(diǎn)在水平和垂直方向上的Haar小波特征,并記作和,對其做求和運(yùn)算,即、、、,得到每個(gè)子區(qū)域的四維向量。最后計(jì)算兩幅圖像中每個(gè)特征描述向量間歐式距離,所得最小值即為最佳匹配點(diǎn)[8-9],如圖4所示。
3.3? ?變換矩陣
在實(shí)際應(yīng)用中,不同攝像頭之間由于擺放位置不正等因素,會(huì)導(dǎo)致所得畫面之間存在角度、視野范圍等偏差,因此在進(jìn)行視頻圖像拼接前,不僅僅需要進(jìn)行坐標(biāo)變換,還需要將攝像頭2的畫面進(jìn)行矩陣投影變化,使得兩個(gè)畫面間有更好的重合度。
通常經(jīng)過SURF算法匹配的特征點(diǎn)數(shù)量較多,誤匹配的特征點(diǎn)數(shù)量也會(huì)包含在其中,如果直接對該特征點(diǎn)集進(jìn)行變換矩陣計(jì)算,會(huì)導(dǎo)致變換后的圖像拼接效果差,甚至?xí)斐善唇邮。虼嗽谟?jì)算變換矩陣前,需要對特征點(diǎn)集進(jìn)行篩選。首先將特征點(diǎn)集按照匹配程度排序,需取出匹配程度最高的50組特征點(diǎn)集。在矩陣變換中,要保證變換矩陣有唯一解只需要八對匹配點(diǎn),因此還需對初篩后的特征點(diǎn)集進(jìn)行下一步篩選。本次設(shè)計(jì)使用了隨機(jī)一致性采樣(Random Sample Consensus, RANSAC)的魯棒算法進(jìn)行篩選,RANSAC算法在外點(diǎn)多的環(huán)境中篩選效率極高,最高能處理50%外點(diǎn)的情況[10]。RANSAC算法的具體實(shí)現(xiàn)有如下幾個(gè)步驟:
(1)隨機(jī)選擇一組點(diǎn)集作為假設(shè)的內(nèi)點(diǎn)集,再根據(jù)這部分假設(shè)的內(nèi)點(diǎn)集合得到計(jì)算模型。
(2)將其他的點(diǎn)集代入步驟1計(jì)算所得的模型中,若有足夠多的點(diǎn)集符合該模型,則認(rèn)為該模型是合理的。
(3)由于步驟1所得的模型僅僅由初始所選的隨機(jī)點(diǎn)集計(jì)算所得,模型不嚴(yán)謹(jǐn),用步驟2符合該模型的所有內(nèi)點(diǎn)集重新計(jì)算模型,得到最終模型。
(4)選擇不同的初始隨機(jī)點(diǎn)集,重復(fù)步驟1—3,選擇出包含點(diǎn)集最多的模型。
經(jīng)過RANSAC算法計(jì)算的模型過濾了匹配程度異常的點(diǎn)集,再次篩選了符合要求的特征點(diǎn)集合,減少了點(diǎn)集數(shù)量,還能提高變換矩陣的計(jì)算速度及準(zhǔn)確性,根據(jù)所得的優(yōu)質(zhì)點(diǎn)集即可計(jì)算出圖像2投影至圖像1所需的變換矩陣。
3.4? ?融合視頻輸出
在計(jì)算出變換矩陣后,即可實(shí)現(xiàn)最終的視頻輸出。將經(jīng)過矩陣變換的圖像2放置于Qt中的QPainter畫布中,再將圖像1覆蓋至圖像2上,實(shí)現(xiàn)兩個(gè)圖像畫面的拼接。設(shè)置FFmpeg輸出畫面為25幀,視頻攝像頭中上傳的RTSP視頻流中每一幀的數(shù)據(jù)依次經(jīng)過FFmpeg解碼、變換、拼接這些輸出的步驟后[3,11],即可實(shí)現(xiàn)融合視頻畫面輸出的效果。
4? ?運(yùn)行調(diào)試分析(Running debug analysis)
4.1? ?實(shí)驗(yàn)環(huán)境
本次實(shí)驗(yàn)所使用的攝像頭為海康威視DS-2CD3325F-I網(wǎng)絡(luò)攝像機(jī),開發(fā)工具為Qt 5.13.0 MinGW64位版本,開發(fā)環(huán)境為Intel(R)Core(TM)i5-7300HQ CPU@2.50 GHz,8 GB內(nèi)存,Windows 10操作系統(tǒng)。
4.2? ?調(diào)試分析
由于攝像頭位置固定,因此只需在第一次讀取畫面時(shí)計(jì)算變換矩陣,后續(xù)畫面均可直接使用該變換矩陣,可有效減少程序運(yùn)行時(shí)的負(fù)載,達(dá)到流暢的視頻呈現(xiàn)效果。實(shí)驗(yàn)結(jié)果顯示,本文所設(shè)計(jì)的軟件在視頻拼接過程中延時(shí)為0.9 s,內(nèi)存占用161.8 MB,CPU占用28.8%,符合視頻拼接軟件實(shí)際應(yīng)用需求,如圖5至圖7所示。
5? ?結(jié)論(Conclusion)
本文設(shè)計(jì)了一種基于SURF算法的攝像頭監(jiān)控視頻拼接方案,解決攝像頭監(jiān)控畫面范圍不足的問題。借助Qt開發(fā)框架的高拓展性,載入FFmpeg媒體開發(fā)庫,實(shí)現(xiàn)攝像頭RTSP視頻流提取;使用SURF算法提取圖像間的特征點(diǎn)集,經(jīng)過RANSAC算法篩選后計(jì)算圖像間的變換矩陣,實(shí)現(xiàn)視頻畫面的拼接融合;利用固定攝像頭畫面角度不變的特點(diǎn),只計(jì)算一次變化矩陣,達(dá)到程序流暢運(yùn)行的效果。經(jīng)實(shí)驗(yàn)證明,此次所設(shè)計(jì)的程序符合實(shí)際應(yīng)用的要求,為視頻處理提供了一種新的升級思路。
參考文獻(xiàn)(References)
[1] 蔣輝,楊娟.基于高清圖像處理的全景拼接技術(shù)研究[J].電子世界,2020(14):17-18.
[2] 李慧慧.基于Harris-SURF描述符的圖像配準(zhǔn)方法[J].科學(xué)技術(shù)創(chuàng)新,2020(20):108-109.
[3] 郭晶晶,劉光堯,汪磊,等.FFmpeg在視頻圖像處理中的應(yīng)用[J].刑事技術(shù),2020,45(03):234-237.
[4] 廖銀萍.支持HTML5的RTSP流媒體網(wǎng)絡(luò)攝像頭設(shè)計(jì)與實(shí)現(xiàn)[J].信息通信,2020(03):106-109.
[5] 趙瀟灑,陳西江,班亞,等.融合改進(jìn)SURF和Cell加速的冪函數(shù)加權(quán)圖像拼接方法[J/OL].激光與光電子學(xué)進(jìn)展: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] 夏磊,胡欣宇,岳亞偉,等.基于改進(jìn)SURF算法的紅外圖像拼接[J].物聯(lián)網(wǎng)技術(shù),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] 阿不都克里木·玉素甫,王亮亮.基于自主可控平臺(tái)的FFMPEG在線視頻轉(zhuǎn)換系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2020(01):81-84;116.
作者簡介:
曹恒峰(1996-),男,碩士生.研究領(lǐng)域:控制工程.
彭來湖(1980-),男,博士,講師.研究領(lǐng)域:智能裝備與嵌入式控制技術(shù),智能傳感器與儀器儀表,智能制造與車間信息化技術(shù),工業(yè)互聯(lián)網(wǎng)通信.
史偉民(1965-),男,博士,教授.研究領(lǐng)域:紡織機(jī)械自動(dòng)控制,輕工機(jī)械,郵政裝備.