matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法
引言
目標檢測是計算機視覺的重要應用之一, 是后續目標識別、跟蹤、目標分類以及行為分析的前提。遠距離成像時通常會受到復雜變化的大氣湍流影響, 使得成像結果中存在不規則抖動、偏移和模糊等退化現象[。因此, 如何從湍流退化視頻中提取出全部真實的運動目標, 同時盡可能降低湍流和噪聲干擾導致的誤檢情況, 實現高精度、低誤檢率的目標檢測技術研究具有重要的意義。
傳統目標檢測算法的基礎可分為前景檢測、幀間差分和背景減除3類。前景檢測是通過對場景中運動矢量的分析得到運動的前景物體, 再輔以圖像分析來獲得運動目標。此類方法無需背景先驗知識, 常用的有光流法[、連續張量法[。其中, 光流法計算復雜且對光照變化敏感, 連續張量法提取快速運動的目標結果往往比實際大, 難以滿足實際應用的要求。幀間差分法[采用相鄰幀的對應像素相減來揭示連續幀的變化, 方法簡單快速, 但由于幀差法不能有效記錄背景的歷史信息, 使得檢測結果往往過于粗糙。背景減除法[通過一定規則建立背景模型, 采用幀間相減和更新背景的方法獲得檢測結果, 其最具有代表性的是混合高斯模型法(Gaussians mixture model, GMM)[。該模型利用多個高斯模型描述像素點狀態, 能夠較好地適應場景變化。為改善場景變化(水面波動、樹葉搖擺等)對檢測效果的影響, 不少學者深入研究了GMM方法并提出了相應的改進方法
近年來, 數據的低秩稀疏建模成為研究熱點, 目前已被成功應用于語音增強[、立體重建[以及圖像/視頻恢復[通過尋找湍流圖像中的低秩結構, 提出了一種低秩稀疏三分解的小目標檢測法:首先計算圖像中小區域內像素(如16×16)的運動軌跡, 再根據湍流和目標的運動分布不同, 設置目標置信度量, 引入低秩分解和稀疏建模思想, 將數據分為背景、湍流和小目標3部分。該方法對小目標檢測精度非常高, 但用于非小目標檢測時, 結果往往存在大量空洞, 且基于光流的粒子軌跡計算復雜、耗時久。本文以湍流條件下的紅外視頻為研究對象, 結合低秩分解和高斯建模思想及前景和背景檢測, 提出了一種適應物體運動狀態變化的目標檢測算法, 提高了湍流退化條件下物體檢測的精度, 在光照變化和模糊條件下仍能獲得較好的檢測結果。
1 基于低秩稀疏分解的湍流圖像分解
低秩稀疏分解模型(Low-rank and sparse decomposition, LRSD)考慮的是如何從較大但分布稀疏的誤差中恢復出數據的低秩結構的問題, 其基本思想是將一個矩陣分解為一個低秩結構的低秩矩陣部分和一個隨機分布的誤差稀疏矩陣部分[。低秩分解模型符合現實中很多物理模型和現象, 相關理論也證明了模型求解的有效性。
對于湍流序列圖像{I1, I2, …, In}, 圖像分辨率為w×h, 將每幀圖像排列為一個(w×h)×1列向量, 記為vec(Ii), i=1, …, N, 則整個序列組成的矩陣可表示為D={vec(I1), …, vec(In)}∈R(w×h)×n。相關研究指出, 大氣湍流波動具有單峰性、對稱性和局部重復性, 且湍流引起的序列局部像素偏移符合零均值高斯分布的特點
$
\mathop {{\rm{min}}}\limits_{\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}} {\rm{rank}}\left( \mathit{\boldsymbol{A}} \right)\;\;\;\;\;\;\;{\rm{s}}{\rm{.t}}.\;\mathit{\boldsymbol{D}} = \mathit{\boldsymbol{A}} + \mathit{\boldsymbol{E}}, {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}} \le \sigma
$
(1)
式中:D, A, E分別表示觀測的圖像序列矩陣、低秩穩像矩陣和受湍流影響的稀疏矩陣。rank(A)表示矩陣A的秩。${\left\| \cdot \right\|_{\rm{F}}}$表示矩陣的F-范數。σ表示整個序列中所有偏移像素的最大總方差, 是對湍流先驗知識的反映。式(1)是一個非線性非凸的NP問題, 直接求解十分困難。文獻[
$
\mathop {{\rm{min}}}\limits_{\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}} {\rm{ }}{\left\| \mathit{\boldsymbol{A}} \right\|_*} + \gamma {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}}^2\;\;{\rm{s}}{\rm{.t}}.\;\mathit{\boldsymbol{D}} = \mathit{\boldsymbol{A}} + \mathit{\boldsymbol{E}}
$
(2)
式中: $\left\| \mathit{\boldsymbol{A}} \right\|$表示矩陣A的核范數。γ是平衡A和E兩個分量大小的正則參數。γ的值越大, E的稀疏性越小, 同時低秩A中湍流分量越明顯。實際中需根據湍流不同強度設置。
在拉格朗日乘子算法的框架下, 式(2)可轉化為
$
\begin{array}{l}
L\left( {\mathit{\boldsymbol{A}}, \mathit{\boldsymbol{E}}, \mathit{\boldsymbol{Y}}, \mu } \right) = {\left\| \mathit{\boldsymbol{A}} \right\|_*} + \gamma {\left\| \mathit{\boldsymbol{E}} \right\|_{\rm{F}}}^2 + {\rm{tr}}\left[{{\mathit{\boldsymbol{Y}}^{\rm{T}}}\left( {\mathit{\boldsymbol{D}}-\mathit{\boldsymbol{A}}-\mathit{\boldsymbol{E}}} \right)} \right] + \\
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\frac{\mu }{2}{\left\| {\mathit{\boldsymbol{D}} -\mathit{\boldsymbol{A}} -\mathit{\boldsymbol{E}}} \right\|_{\rm{F}}}^2
\end{array}
$
(3)
式中:Y∈ RM×T是拉格朗日乘子, tr(·)表示矩陣的跡。μ是懲罰因子, 通常設與輸入數據維數逆相關, 設為μ=2 000/sqrt(size(D, 1))。目前已有一些算法實現了對式(3)的求解, 如加速近似梯度法(Ac-celerated proximal gradient, APG), Bregman迭代算法、精確增廣拉格朗日乘子法(Augmented Lagrange multiple, ALM)和非精確增廣拉格朗日乘子算法(Inexact augmented Lagrange multiple, IALM)等。
為了提高優化速度, 在前期研究的基礎上, 本文采用IALM法來實現對式(3)的求解, 具體步驟見文獻[A的迭代更新上, 通過奇異值截取算法求得解析解, 其時間復雜度最小為O(rA3), rA為A的秩。
2 前景提取和背景建模結合的目標檢測
經過分解, 獲得低秩穩像部分和稀疏運動部分如
圖 1 湍流退化視頻幀的低秩分解 Fig. 1 Low-rank decomposition for turbulence-degraded frames
2.1 基于自適應閾值的稀疏目標提取
對于每幀的稀疏部分(記為pi)采用自適應閾值分割圖像, 以剔除細微偏移量和噪聲的干擾。閾值Ti與稀疏部分的灰度均值有關, 設為
$
{T_i} = {\rm{max}}(\alpha {\rm{median}}({p_i}), \varepsilon )
$
(4)
式中:median(·)為向量均值函數, α和ε為常量。每幀稀疏部分的像素值大于閾值為前景。稀疏塊分割后的前景目標區域會在一定程度上存在內部空洞, 即目標區域的提取有漏檢現象。鑒于此, 需進一步對提取出標定為前景運動目標的稀疏塊掩模區域進行空洞檢測和填充。
由于稀疏塊掩模為二值型數據, 對于目標區域內的空洞可以通過8連通區域檢測; 然后填充空洞區域以恢復目標區域的掩模, 以完成提取完整運動目標的效果。整個提取過程如
圖 2 稀疏部分的目標提取 Fig. 2 Object detection of sparse matrix
2.2 基于高斯模型的前景提取
在背景減除法中, 選擇合適的背景模型和更新策略對檢測的影響十分重要。其中, 混合高斯模型能夠處理動態背景的情況, 但是計算量大, 實時性較差; 單高斯模型計算量小, 實時性好。考慮到低秩部分以靜態場景為主, 局部區域可能存在動態量, 因此采用混合高斯模型和單高斯模型結合的方法對低秩部分進行目標檢測。
2.2.1 混合高斯背景模型
K個高斯分布生成背景模型, 將每幀新的像素值It(x, y)與K個分布依次進行匹配。若滿足式(5)中條件, 說明與第i個分布匹配, 被認定為背景點, 否則認定為前景點。第t幀中像素點(x, y)為前景的布爾值記為fGMM(x, y, t), 有
$
{f_{{\rm{GMM}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\left| {{I_t}\left( {x, y} \right)-{\mu _{i, t}}} \right|-2.5\cdot{\sigma _{i, t}} > 0\\
0\;\;\;\;\;\;{其他}\;
\end{array} \right.
$
(5)
其中μi, t, σi, t分別是第i個高斯分布的均值和標準差。
2.2.2 單高斯前景模型
受亮度變化干擾, 混合高斯檢測結果中可能存在偽前景, 單高斯前景模型則用來區分靜態前景和偽前景。將該區域的像素點與單高斯模型匹配, 若滿足閾值則判定該點為靜態前景點, 記為fstatic。若不滿足則亦判定為干擾部分。即
$
{f_{{\rm{static}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\;\;\;\left| {{I_t}\left( {x, y} \right)-{\mu _t}} \right|/{\sigma _t} > {T_f}\\
0\;\;\;\;\;\;\;{其他}
\end{array} \right.
$
(6)
式中:μt, σt分別為當前高斯分布的均值和標準差, Tf為前景閾值。
2.2.3 模型初始化和更新策略
利用初始一段時間內視頻幀的低秩部分, 建立高斯數為K的混合高斯背景模型。同時初始化前景模型為空。更新時, 采用保守更新策略, 即混合高斯分布的參數更新時僅涉及背景區域像素, 有
$
{\mu _t} = \left( {1-\alpha } \right)M{\mu _{t-1}} + \alpha M{\mathit{\boldsymbol{I}}_{\rm{t}}}
$
(7)
$
{\sigma _t}^2 = \left( {1-\alpha } \right)M{\sigma _{t-1}}^2 + M\alpha {({\mathit{\boldsymbol{I}}_t}-\mathit{\boldsymbol{\mu }}{\rm{ }})^{\rm{T}}}\alpha ({\mathit{\boldsymbol{I}}_t} - \mathit{\boldsymbol{\mu }})
$
(8)
$
{\omega _{i, t}} = \left( {1-\alpha } \right){\omega _{i, t-1}} + \alpha M
$
(9)
式中:α為權值的學習速率; M為背景掩膜, 在背景匹配的區域內取1, 其余取0。
2.3 檢測區域的融合判定
基于閾值分割的目標提取計算簡單, 但由于分割是在稀疏部分基礎上進行, 受到湍流運動的稀疏性影響, 容易存在誤檢測問題; 基于背景減除的前景檢測法能夠獲得空間連續的結果, 但對噪聲敏感。為獲得更準確、更完整的目標區域, 對兩部分檢測區域進行融合判定。將2.1節中結果記作fT(x, y, t), 表示第t幀(x, y)處為前景的布爾值; 將2.2節中混合高斯檢測結果記作fGMM(x, y, t), 采用融合規則對檢測結果進行判定。具體如下。
(1) 同時被稀疏的閾值分割和低秩的GMM背景減除而提取的前景區域, 判定為運動目標, 并記為fmoving, 即
$
{f_{{\rm{moving}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;{f_{\rm{T}}}\left( {x, y, t} \right) = 1\;{且}\;{f_{{\rm{GMM}}}}\left( {x, y, t} \right) = 1\\
0\;\;\;\;\;{其他}
\end{array} \right.
$
(10)
(2) 稀疏閾值分割檢測為前景, 但低秩背景減除檢測為背景的區域, 往往是稀疏的湍流和噪聲量, 判定為干擾部分。
(3) 對于混合高斯減除判定為前景, 但稀疏閾值檢測為非前景, 此類區域可能是運動狀態發生改變(如暫時停止或由于運動而露出的背景), 屬于疑似前景, 記為famb。對疑似區域進行前景判定, 式(6)改寫為
$
{f_{{\rm{static}}}}\left( {x, y, t} \right) = \left\{ \begin{array}{l}
1\;\;\;\;\;\;\;\;\;\;\;{f_{{\rm{a}}{\rm{m}}{\rm{b}}}}\left( {x, y, t} \right) = 1{\rm{ and}}\;\left| {{I_t}\left( {x, y} \right)-{\mu _t}} \right|/{\sigma _t} > {T_{\rm{f}}}\\
0\;\;\;\;\;\;\;\;\;\;{其他}
\end{array} \right.
$
(11)
式中Tf用于決定前景的閾值。為使最終獲得的目標盡量無噪點干擾, 在不影響查全率的前提下對處理后的結果作適當的區域濾波。
圖 3 融合分裂高斯建模和稀疏閾值的前景檢測 Fig. 3 Fusion of split Gaussian models and threshold segmentation
3 實驗結果及分析
3.1 實驗設置和結果
為驗證本文方法的有效性, 在軟硬件環境為雙Pentium(R) Dual-Core 2.1 GHz CPU, RAM 8 GB, Matlab 2010a的條件下編程實驗。實驗數據選取3組遠距離拍攝(5~15 km)的紅外湍流退化圖像, 每幀分辨率均為360×240, 不同序列涵蓋了目標提取的不同情況, 具體如下:
序列1:序列共2 200幀, 記錄了道路上車輛和行人通行的情景。其中出現多輛大小不等的車輛, 存在車輛遮擋、快速行駛等現象。
序列2:序列共1 300幀, 記錄了山林中車輛行駛的場景。其中存在一車輛減速行駛, 在第300幀到380幀時呈靜止態, 后緩慢加速至駛離場景的情況。
序列3:序列共1 200幀, 記錄了單個船只在河流中直線行駛的場景。受較強大氣湍流影響, 視頻序列全程場景呈現嚴重模糊和連續抖動。此外, 背景中部分水域隨時間推移發生灰度緩慢變化。
在相同實驗環境下, 選取改進的混合高斯建模法[、低秩稀疏三分解法(Low-rank and sparse three-term decomposition, LRSD Three-term)[和近期最具競爭力的SuBSENSE法[與本文方法進行對比。為獲得盡可能穩定的場景和完整的目標, 避免過度平滑, 本文方法在分解時按經驗設置正則參數。考慮到湍流強度的不同, 序列1和序列2中正則參數γ設為20, 序列3中設為5.0。采用IALM法求解低秩模型, 設迭代允許誤差ε=10-3, 最大迭代次數為1 000。混合高斯模型的學習速率根據經驗值設為0.004。為以適應快速變化的前景, 單高斯模型的學習速率設置較高值, 其他算法均默認其參數設置。鑒于頁面所限, 每組序列僅列出部分幀和對應的ground-truth, 各算法的檢測結果如
圖 4 序列1中目標檢測的實驗結果對比 Fig. 4 Object detection results on sample frames from Sequence 1
圖 5 序列2中目標檢測的實驗結果對比 Fig. 5 Object detection results on sample frames from Sequence 2
圖 6 序列3中目標檢測的實驗結果對比 Fig. 6 Object detection results on sample frames from Sequence 3
在輕微湍流情況下(
3.2 量化分析
為更清晰地對比4種算法的檢測性能, 文中分別統計了每組序列中被正確標記的前景像素點數(True positive, TP)、被正確標記的背景像素點數(True negative, TN)、被錯誤標記為前景的背景像素點數(False positive, FP)和被錯誤標記為背景的前景像素點數(False negative, FN)。選取誤檢率(False positive rate, FPR)、漏檢率(False negative rate, FNR)和F-measure來衡量目標區域提取效果的優劣。
$
\begin{array}{l}
{\rm{FPR = }}\frac{{{\rm{FP}}}}{{{\rm{TP + FP}}}}{\rm{, FNR = }}\frac{{{\rm{FN}}}}{{{\rm{TP + FN}}}}\\
{\rm{F-Measure}} = \frac{{2*{\rm{Precision}}*{\rm{Recall}}}}{{{\rm{Precision + Recall}}}}\\
{\rm{Recall}} = \frac{{{\rm{TP}}}}{{{\rm{TP + FN}}}}{\rm{, Precision = }}\frac{{{\rm{TP}}}}{{{\rm{TP + FP}}}}
\end{array}
$
式中:Recall和Precision分別為查全率和查準率; F-measure是這兩者的調和平均, 用于綜合反映整體性能。
表 1(Tab. 1)
表 1 不同方法檢測結果的性能對比
Tab. 1 Performance comparison of several object detection approaches
序列1
序列2
序列3
FPR
FNR
F-Measure
FPR
FNR
F-Measure
FPR
FNR
F-Measure
GMM
0.255 6
0.033 3
0.740 5
0.578 3
0.219 0
0.547 7
0.964 9
0.161 9
0.067 3
LRSD Three-Term
0.128 2
0.486 3
0.589 2
0.087 3
0.230 5
0.777 2
0.895 3
0.935 6
0.079 7
SuBSENSE
0.040 0
0.231 1
0.853 9
0.088 5
0.258 1
0.818 0
0.372 2
0.081 2
0.745 9
Ours
0.042 3
0.421 4
0.721 3
0.080 0
0.301 7
0.828 4
0.155 1
0.187 4
0.828 4
表 1 不同方法檢測結果的性能對比
Tab. 1 Performance comparison of several object detection approaches
4 結束語
本文針對湍流退化序列圖像中目標檢測的問題, 提出了一種基于低秩分解和檢測融合的目標提取方法。首先, 采用低秩矩陣描述法將圖像分解為低秩穩像和稀疏運動兩部分, 初步實現場景和湍流運動的粗分離; 然后, 對稀疏部分引入自適應閾值法剔除干擾量, 分割目標并填補其中空洞; 并對低秩部分采用高斯建模獲得低秩中的前景區域; 最后, 對兩部分檢測結果聯合判定以獲得準確的目標檢測結果。該方法有以下特點:(1)采用低秩稀疏描述對湍流序列建模, 可將穩像場景和稀疏運動區分開。(2)較之傳統的檢測方法, 本文算法在分解時的時間消耗較短。此外, 通過聯合決策提取準確的目標區域, 最終檢測的準確率較其他方法提高明顯。實驗結果證明了本文方法的有效性和優越性。如何從動態場景中準確提取目標物體, 并對其進行跟蹤和識別是下一步研究的重難點。
總結
以上是生活随笔為你收集整理的matlab实现大气湍流退化模型算法,大气湍流下退化序列图像的目标检测方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 寒假社会实践心得
- 下一篇: matlab实现大气湍流退化模型算法,m