張禮俊,陳 鯨,楊學(xué)志,沈 晶,吳克偉
1(合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,合肥 230009)
2(工業(yè)安全與應(yīng)急技術(shù)安徽省重點(diǎn)實(shí)驗(yàn)室,合肥 230009)
3(合肥工業(yè)大學(xué) 軟件學(xué)院,合肥 230009)
4(合肥師范學(xué)院 電子與電氣工程學(xué)院,合肥 230061)
5(電子信息系統(tǒng)仿真設(shè)計(jì)安徽省重點(diǎn)實(shí)驗(yàn)室,合肥 230061)
在受災(zāi)地區(qū)進(jìn)行及時的搜救行動是至關(guān)重要的.然而,由于道路被淹、水路不同以及不安全的航空基礎(chǔ)設(shè)施,使得救援人員很難及時到達(dá)救援場地搜索受害者[1],且一些火災(zāi)、洪水等場景對于搜救人員也是具有危險(xiǎn)性的.地面機(jī)器人可以代替救援人員達(dá)到搜索和救援目的.然而,它們價格昂貴,需要人工操作,并且輪式和履帶式機(jī)器人機(jī)動性有限,導(dǎo)致地面機(jī)器人并不能保證在市區(qū)外的不成型道路上進(jìn)行搜救[2].
無人機(jī)可以作為解決這些問題的替代方案,因?yàn)闊o人機(jī)比人類和地面機(jī)器人具有機(jī)動性和高度的雙重優(yōu)勢.首先,無人機(jī)可以通過高分辨率圖像序列,短時間內(nèi)搜索大面積區(qū)域并檢測人類.其次,無人機(jī)可以被發(fā)往到任何地方,而無需事先了解目標(biāo)區(qū)域的實(shí)際情況.最后,無人機(jī)可以將救援人員受傷或死亡的風(fēng)險(xiǎn)降至最低[3].
Kang 等的一項(xiàng)研究提出了一種基于無人機(jī)捕獲的熱圖像從空氣中檢測和跟蹤人體對象的技術(shù)[4].Rudol和Doherty的另一項(xiàng)研究提出了一種基于熱像儀和彩色攝像機(jī)相結(jié)合的技術(shù),可以讓無人機(jī)在室外環(huán)境中檢測到人體[5].Rivera 等還使用無人機(jī)上的熱像儀和彩色攝像機(jī)的組合來探測幸存者的地理位置[6].然而,這些研究有幾個缺點(diǎn),如近程探測、低分辨率、高成本和運(yùn)動偽影、且沒有檢測人類生命體征.
在災(zāi)區(qū)執(zhí)行救援任務(wù)不僅需要探測到人體存在,還需要檢測人是否活著,以優(yōu)先搶救和治療活著的人[7].Al-Naji 等人最近的研究提出了使用成像光電容積描記法(IPPG)來檢測人類的心率[8].然而,該技術(shù)更多地依賴于面部膚色分析,而不是運(yùn)動分析,這意味著當(dāng)感興趣區(qū)域由于被衣服、碎片、血液遮擋而不清楚時,或者當(dāng)受試者面朝下躺著時,很難應(yīng)用該技術(shù).
為了應(yīng)對這些挑戰(zhàn),Al-Naji 等于2019年提出使用無人機(jī)采集圖像進(jìn)行人體呼吸的檢測,以此判斷人的生存狀態(tài)[9,10].然而,無人機(jī)自身的晃動對于檢測結(jié)果具有較大影響,該技術(shù)的穩(wěn)像處理方法很難處理無人機(jī)晃動的方向高度復(fù)雜性,尤其在相對物體垂直方向的晃動更是難以處理,使用的小波變換也需要選取合適的基函數(shù),因?yàn)闊o人機(jī)晃動的頻譜的多變性,很難預(yù)先設(shè)置統(tǒng)一的小波基函數(shù)進(jìn)行濾除.因此,研究如何去除無人機(jī)晃動的影響對于精確地測量視頻中待測人體的呼吸率具有理論意義和實(shí)際意義,本文的主要貢獻(xiàn)是提出一種方法可以使無人機(jī)在受光學(xué)限制的距離和晃動的情況下準(zhǔn)確檢測出人體的呼吸率,對比目前最優(yōu)的無人機(jī)視頻呼吸率檢測方法Ali Al-Naji 2019[10],該方法將變分模態(tài)分解(VMD)用于提取呼吸波形,利用VMD 可以自適應(yīng)地實(shí)現(xiàn)信號頻譜的劃分和各本征模態(tài)函數(shù)分量的有效分離,將符合本征模態(tài)函數(shù)特征的呼吸信號提取出來,克服了無人機(jī)晃動對于呼吸率檢測結(jié)果的影響.
本文提出了一種基于變分模態(tài)分解(Variational Mode Decomposition,VMD)的無人機(jī)視頻呼吸率檢測方法,該方法主要分為以下4 個部分:(1) 選擇視頻中人體胸腹部作為感興趣區(qū)域(ROI),進(jìn)行復(fù)可控金字塔方向選擇和分解,得到局部頻譜和相位譜,對相位譜進(jìn)行計(jì)算得到相位差[11-13];(2) 利用時域帶通濾波選擇感興趣的頻段內(nèi)的相位差信號,并使用變分模態(tài)分解算法[14-17]分離出人體呼吸和無人機(jī)晃動波形;(3) 通過與正常呼吸信號進(jìn)行擬合,選擇出呼吸信號;(4) 通過對ROI 各像素的呼吸信號進(jìn)行信號平均,得到呼吸信號波形,使用功率譜估計(jì)法計(jì)算呼吸率[18].
整體方法框架圖如圖1所示.
圖1 本文方法框架圖
復(fù)可控金字塔的本質(zhì)就是一個尺度-方向帶通濾波器組.各層帶通濾波器(頻域)的實(shí)現(xiàn)均是通過低通濾波器與高通濾波器相乘的方式來實(shí)現(xiàn),高通濾波器的實(shí)現(xiàn)公式為:
低通濾波器的實(shí)現(xiàn)公式為:
其中,rad表示極徑圖,r的取值范圍為r∈2∧[-MaxHeight:0],步長為1,用來控制帶通濾波的有效范圍,MaxHeight為金字塔層數(shù).twidth人為設(shè)定1,用來調(diào)整高通濾波器的無效頻帶范圍和低通濾波器的有效頻帶范圍.
將視頻序列進(jìn)行復(fù)可控金字塔多分辨率分解,得到不同的空間頻率的基帶,并在相位域?qū)⒚恳粠偷谝粠霾畹玫较辔徊钚盘?
接著進(jìn)行時域?yàn)V波:對每個基帶進(jìn)行時域?yàn)V波,先對每個像素點(diǎn)進(jìn)行時域帶通濾波處理,頻帶范圍根據(jù)人體呼吸范圍為0.1-1 Hz,(這里因?yàn)槭軅娜撕粑赡軙涌旎蜃兟?所以這里選取較寬的頻帶),濾波器采用無限脈沖響應(yīng)(Infinite Impulse Response,IIR)濾波器.但是傳統(tǒng)的IIR 濾波器無法去除無人機(jī)晃動的頻帶中和人體呼吸頻帶中混頻帶來的干擾,所以此部分干擾我們通過變分模態(tài)分解進(jìn)行去除,具體方法將在1.2 節(jié)中詳細(xì)介紹.
我們得到帶通濾波后的相位差信號,需要用相位差信號模擬腹部運(yùn)動信號.假設(shè)視頻輸入信號在時刻t,以視頻中ROI 區(qū)域內(nèi)的1 個像素點(diǎn)為例,位置x處的像素,一維信號的強(qiáng)度表示為I(x,t),根據(jù)傅里葉變換的平移性質(zhì),可以得到如下公式:
其中,δ(t)位移函數(shù)中較小的幅度.從式(3)可以看出,位移差已經(jīng)轉(zhuǎn)換成相位差.
變分模態(tài)分解是一種自適應(yīng)非遞歸信號處理算法,該方法通過迭代搜尋變分模型最優(yōu)解來確定信號的各個頻率分量的中心頻率和帶寬,能夠自適應(yīng)地實(shí)現(xiàn)信號頻譜的劃分和各本征模態(tài)函數(shù)分量的有效分離,呼吸率信號符合本征模態(tài)的特征,所以滿足可以被分離的基本條件.這一點(diǎn)與建立在先驗(yàn)性假設(shè)的諧波基函數(shù)(或基頻)和小波基函數(shù)上的傅里葉分解與小波分解方法具有本質(zhì)性的差別,不僅改變了信號分解的效率,更有利于非平穩(wěn)信號數(shù)據(jù)處理.與傳統(tǒng)的經(jīng)驗(yàn)?zāi)B(tài)分解[12]等遞歸算法相比,變分模態(tài)分解有效緩解了模態(tài)混疊和邊界效應(yīng),具有較高的運(yùn)算效率和較強(qiáng)的魯棒性.
以呼吸信號為例,VMD 分解可以將呼吸信號f分解為頻譜在各個子信號的帶寬稀疏性各不相同的K個離散的子信號uk(t)體的步驟如下所示[16]:
(1)對呼吸波信號f分解出的模態(tài)uk(t),采用希爾伯特變換計(jì)算出各個模態(tài)的解析信號,得出uk(t)的單邊頻譜uk(t)′
(2)通過在各個模態(tài)uk(t)中加入一個移頻因子 ωk過移頻的方式.,將各解析信號的頻譜變換到基帶上,得到uk(t)′′
(3)由于各個模態(tài)都能緊密圍繞在以中心脈沖頻率 ωi為各個模態(tài)的中心頻率附近,這樣呼吸波對應(yīng)的K個模態(tài)分量約束變分模型表達(dá)式如下:
式中,z是式(6)的解,uk(t)代 表K個模態(tài)分量,ωi代表各個分量的中心頻率.
(4)引入增廣拉格朗日函數(shù)式(8),得到上述K個模態(tài)分量約束變分問題的最優(yōu)解.
式中,α是懲罰參數(shù);λ為拉格朗日乘子.通過式(8)K值的估算得到頻帶劃分清晰的自適應(yīng)分離的模態(tài)分量.該函數(shù)頻率域的最優(yōu)解就是模態(tài)分量uk(t)的頻域表達(dá)式,對應(yīng)的ωk就是頻域中心頻率.模態(tài)分量的K設(shè)置后,原始信號能夠得到的模態(tài)數(shù)量就被確定了下來.在此問題上,可以使用EMD 自適應(yīng)分解求出K值[15].
本文將帶通濾波后信號分解為多個模態(tài)分量,還需要確定哪一個模態(tài)分量是后續(xù)步驟需要的,對此,本文采用常人呼吸波形與不同本征模態(tài)進(jìn)行對比,為了規(guī)范化,不同信號統(tǒng)一進(jìn)行歸一化處理和初始相位同相化,然后對比信號,獲取其方差:
其中,uk(t)是第k個模態(tài)分量,d(t)是正常人呼吸的波形,sn是第k個模態(tài)和正常人呼吸波形的方差,方差最小對應(yīng)的本征模態(tài)即使我們所選出的呼吸率波形B(t).
原始呼吸波形如圖2所示,經(jīng)過分解后的多個模態(tài)分量結(jié)果如圖3所示.進(jìn)行選擇擬合后波形如圖4所示.
圖2 原始呼吸波形
圖3 變分模態(tài)結(jié)果圖
圖4 選出擬合后的波形
上文將視頻中每一像素位置代表呼吸率的相位差提取出,對視頻每一幀的腹部區(qū)域的相位差信號做信號平均,得到一維信號,這個一維信號即是我們最后得到的呼吸率波形.利用波形進(jìn)行呼吸率估計(jì)最常用的方法是用快速傅里葉變換(FFT)分析功率譜,最大功率對應(yīng)的頻率即為呼吸率.但是,FFT 在大量樣本數(shù)目的前提下才能取得較高的精度,同時又增加了時間復(fù)雜度.本文用一種傅里葉系數(shù)迭代插值的呼吸率估計(jì)算法對呼吸率信號進(jìn)行分析,實(shí)現(xiàn)了算法精度與復(fù)雜度之間的均衡.主要包括兩個步驟:
(1)計(jì)算樣本數(shù)為N的呼吸信號的功率譜P和功率最大值對應(yīng)的位置T.
(2)針對功率譜,執(zhí)行迭代的傅立葉系數(shù)插法.首先,初始化起始偏差e0=0和迭代次數(shù)Q=50.統(tǒng)計(jì)發(fā)現(xiàn),迭代50 次后傅立葉系數(shù)偏差基本穩(wěn)定.
其中,d=±0.5,ek為迭代k次后的傅立葉系數(shù)偏差,
(3)計(jì)算最終的呼吸率:
其中,fs為視頻采樣率,N為樣本數(shù).
本章將設(shè)計(jì)4 組對比實(shí)驗(yàn)來驗(yàn)證本文提取呼吸率方法的準(zhǔn)確性和魯棒性.我們在無人機(jī)輕微晃動和劇烈晃動的情況下分別進(jìn)行如下實(shí)驗(yàn):使用手機(jī)進(jìn)行一分鐘計(jì)時,期間每隔固定秒數(shù)響一次,同時記錄下呼吸次數(shù),以此作為參考值與本文方法進(jìn)行對比,驗(yàn)證本文方法提取呼吸率結(jié)果的準(zhǔn)確性.然后再與Ali Al-Naji 2019[10]的基于穩(wěn)像技術(shù)和小波去噪的無人機(jī)視頻呼吸率檢測方法進(jìn)行對比,Ali Al-Naji 2019 方法是目前最優(yōu)的無人機(jī)呼吸率檢測方法,以此為對比,可以有效驗(yàn)證本文方法在無人機(jī)晃動情況下對人體呼吸率的檢測效果.
實(shí)驗(yàn)過程如圖5所示,使用無人機(jī)的視頻采集裝置進(jìn)行視頻的采集,其中無人機(jī)距離受測者分別為3 米、6 米、9 米、12 米,同時受測者分別進(jìn)行了平躺、臥趴姿勢的檢測.在采集視頻的同時,我們也使用手機(jī)計(jì)時方式同步記錄受測者呼吸情況.以此作為本文方法的參考值.
圖5 實(shí)驗(yàn)場景示意圖
實(shí)驗(yàn)裝置為惠普筆記本電腦CPU為英特爾 i7,內(nèi)存16GB,操作系統(tǒng)Windows10;無人機(jī)型號為大疆Mavic 2 pro.采用軟件Matlab 2019b 進(jìn)行裝置控制,實(shí)驗(yàn)采集視頻為RGB 彩色空間,分辨率為1920×1080,視頻幀率 30 幀/s,每位受測者每次拍攝時長為60 s,總計(jì)3600 幀圖像.受測者共計(jì)14 人,包括11 名男性3 名女性.每位受測者在輕微晃動,劇烈晃動兩種條件下分別進(jìn)行測試并同時使用手機(jī)進(jìn)行同步呼吸計(jì)數(shù).
方法評價采用定量分析的方法進(jìn)行,驗(yàn)證本文方法的準(zhǔn)確性與魯棒性.采用平均絕對誤差Me、標(biāo)準(zhǔn)差S De、均方誤差RMS E、平均準(zhǔn)確率BRac和皮爾森相關(guān)系數(shù)r作為方法的評價指標(biāo).其中平均準(zhǔn)確率BRac用來反映測量值BRme相對參考值BRre的準(zhǔn)確性,N個樣本的平均準(zhǔn)確率為:
實(shí)驗(yàn)過程如圖5所示,使用無人機(jī)的視頻采集裝置進(jìn)行視頻的采集,其中無人機(jī)距離受測者分別為3 米、6 米、9 米、12 米.
(1)無人機(jī)輕微晃動干擾下的呼吸率檢測
本方法通過對視頻中相對人體固定不動的物體進(jìn)行經(jīng)典的光流追蹤(KLT)[17],得到其位移的像素點(diǎn)數(shù),用其反應(yīng)無人機(jī)的晃動程度,將最大位移的像素點(diǎn)數(shù)小于視頻區(qū)域的1/30 定義為輕微晃動.14 名受測者每人分別進(jìn)行8 組實(shí)驗(yàn),每組包括手機(jī)監(jiān)測和無人機(jī)檢測數(shù)據(jù).共計(jì)112 組數(shù)據(jù).使用散點(diǎn)圖與Bland-Altman圖進(jìn)行數(shù)據(jù)相關(guān)性分析,結(jié)果如圖6所示,圖6散點(diǎn)圖中,橫坐標(biāo)表示的是呼吸率檢測值,由本文呼吸率檢測方法得出.縱坐標(biāo)表示的是呼吸率參考值,由手機(jī)監(jiān)測結(jié)果得出,每組輸入數(shù)據(jù)對應(yīng)的是散點(diǎn)圖中的一個黑色點(diǎn)(測量值,真實(shí)值),而參考值應(yīng)該是圖中橫貫整個坐標(biāo)軸斜率為1的黑色實(shí)線.在圖6的Bland-Altman圖中:橫坐標(biāo)代表由無人機(jī)視頻利用本文方法檢測得的呼吸率,縱坐標(biāo)代表呼吸率檢測值和手機(jī)記錄的參考值之間的誤差,黑點(diǎn)是由檢測值和誤差組成的坐標(biāo)點(diǎn),中間黑線是通過這些坐標(biāo)點(diǎn)計(jì)算出的誤差均值,上下兩條黑線代表95% 置信范圍,中間黑線越接近于0 且上下兩條黑線之間的距離越小,說明呼吸率的測量值和參考值之間的誤差越小.
從圖6中可以看出,所有的黑色點(diǎn)都分布在中間黑色實(shí)線的附近,證明了本文方法提取呼吸率的準(zhǔn)確性較高,具有良好的應(yīng)用性.
圖6 實(shí)驗(yàn)結(jié)果對比圖
為了證明本文方法具有良好的抗無人機(jī)晃動干擾能力,我們將與Ali Al-Naji 2019 進(jìn)行結(jié)果對比.Ali Al-Naji 2019 使用無人機(jī)進(jìn)行呼吸率的檢測,通過穩(wěn)像處理和小波去噪去除無人機(jī)晃動干擾.結(jié)果如表1,表格單元格內(nèi)5 個數(shù)據(jù)單位分別為,Me/bpm、S De/bpm、RMS E/bpm、BRac(%),r,其中bpm (breaths per minute)表示為每分鐘呼吸次數(shù).結(jié)果表明在無人機(jī)輕微晃動場景下,本文方法和Ali Al-Naji 2019 方法都體現(xiàn)了良好的檢測性能,Ali Al-Naji 2019的方法檢測性能略低于本文方法.
表1 無人機(jī)輕微晃動場景下的呼吸率檢測結(jié)果
(2)無人機(jī)劇烈晃動干擾下的呼吸率檢測
通過對視頻中相對人體固定不動的物體進(jìn)行經(jīng)典的光流追蹤(KLT),得到其位移的像素點(diǎn)數(shù),用其反應(yīng)無人機(jī)的晃動程度,將最大位移的像素點(diǎn)數(shù)不小于視頻區(qū)域的1/30 定義為劇烈晃動.14 名受測者每人分別進(jìn)行8 組實(shí)驗(yàn),每組包括手機(jī)監(jiān)測和無人機(jī)檢測數(shù)據(jù).共計(jì)112 組數(shù)據(jù).使用散點(diǎn)圖與Bland-Altman圖進(jìn)行數(shù)據(jù)相關(guān)性分析.從圖7中可以看出,所有的黑色點(diǎn)都分布在中間黑色實(shí)線的附近,證明了本文方法在無人機(jī)劇烈晃動的情況下提取呼吸率的準(zhǔn)確性也較高.
圖7 實(shí)驗(yàn)結(jié)果對比圖
我們再將其與Ali Al-Naji 2019 進(jìn)行結(jié)果對比,結(jié)果如表2所示,表格單元格內(nèi)5 個數(shù)據(jù)單位分別為,Me/ bpm、S De/bpm、RMS E/bpm、BRac(%),r,其中bpm(breaths per minute)表示為每分鐘呼吸次數(shù).結(jié)果表明,在無人機(jī)劇烈晃動場景下Ali Al-Naji 2019的方法檢測性能和準(zhǔn)確率低于本文方法,本文方法體現(xiàn)了良好的抗無人機(jī)晃動干擾性.
表2 無人機(jī)劇烈晃動場景下的呼吸率檢測結(jié)果
(3)結(jié)果分析
從上面的結(jié)果中,可以得出結(jié)論,本文的方法可以很好的在無人機(jī)輕微晃動和劇烈晃動情況下,有效的計(jì)算出人的呼吸率,并且本文方法在受測者不同姿勢,無人機(jī)不同高度下都可以取得較好的實(shí)驗(yàn)結(jié)果,具有較好的穩(wěn)定性.而Ali Al-Naji 2019的方法,在輕微晃動時性能只是略微低于本文方法,但在劇烈晃動時,性能指標(biāo)遠(yuǎn)低于本文方法,其主要原因是:
Ali Al-Naji 2019 通過無人機(jī)進(jìn)行人體視頻的采集,進(jìn)行穩(wěn)像處理,并通過復(fù)可控金字塔進(jìn)行相位差提取,然后利用小波變換進(jìn)行去噪,然而,Ali Al-Naji 2019的穩(wěn)像處理方法很難處理無人機(jī)晃動的方向高度復(fù)雜性,小波變換也需要選取合適的基函數(shù),不同場景下很難確定統(tǒng)一的基函數(shù),且Ali Al-Naji 2019 沒有對呼吸波形的功率譜執(zhí)行迭代的傅立葉系數(shù)插值算法.在無人機(jī)輕微晃動時,干擾的影響不是很大,對于檢測結(jié)果影響很微小,本文方法和Ali Al-Naji 2019 都取得了很好的結(jié)果.但在無人機(jī)劇烈晃動時,Ali Al-Naji 2019 方法很難去除此干擾,本文方法通過VMD 依據(jù)數(shù)據(jù)自身的時間尺度特征來進(jìn)行信號分解特性,適應(yīng)了不同場景使用無人機(jī)進(jìn)行呼吸率檢測的需求.
本文提出了一種基于變分模態(tài)分解的無人機(jī)視頻呼吸率檢測方法.選擇視頻中人體腹部作為ROI 區(qū)域,并進(jìn)行復(fù)可控金字塔相位分解,得到局部頻譜和相位譜,對相位譜進(jìn)行計(jì)算得到相位差.然后,通過對ROI各點(diǎn)的相位差信號進(jìn)行時域帶通濾波選擇感興趣的頻段內(nèi)的相位差信號,并使用變分模態(tài)分解算法分離出人體呼吸和無人機(jī)晃動波形.在此基礎(chǔ)上,通過與正常呼吸信號進(jìn)行擬合,選擇出呼吸信號.最后,對ROI 各像素點(diǎn)呼吸信號進(jìn)行信號平均,得到一維信號.使用功率譜估計(jì)法計(jì)算呼吸率.本文以手機(jī)監(jiān)測得到的呼吸率作為參考值,與基于小波變換抗干擾的無人機(jī)視頻呼吸率檢測方法在不同無人機(jī)晃動程度下進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明本文方法具有較高的抗無人機(jī)晃動能力,提高了無人機(jī)視頻呼吸檢測的魯棒性.