導航:首頁 > 源碼編譯 > 視頻濾波演算法

視頻濾波演算法

發布時間:2022-11-08 05:58:06

A. 卡爾曼濾波的詳細原理

卡爾曼濾波(Kalman filtering)是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的演算法。由於觀測數據中包括系統中的雜訊和干擾的影響,所以最優估計也可看作是濾波過程。
斯坦利·施密特(Stanley Schmidt)首次實現了卡爾曼濾波器。卡爾曼在NASA埃姆斯研究中心訪問時,發現他的方法對於解決阿波羅計劃的軌道預測很有用,後來阿波羅飛船的導航電腦使用了這種濾波器。 關於這種濾波器的論文由Swerling (1958), Kalman (1960)與 Kalman and Bucy (1961)發表。

數據濾波是去除雜訊還原真實數據的一種數據處理技術, Kalman濾波在測量方差已知的情況下能夠從一系列存在測量雜訊的數據中,估計動態系統的狀態. 由於, 它便於計算機編程實現, 並能夠對現場採集的數據進行實時的更新和處理, Kalman濾波是目前應用最為廣泛的濾波方法, 在通信, 導航, 制導與控制等多領域得到了較好的應用.

表達式
X(k)=A X(k-1)+B U(k)+W(k)

背景
斯坦利·施密特(Stanley Schmidt)首次實
現了卡爾曼濾波器。卡爾曼在NASA埃姆斯研究中心訪問時,發現他的方法對於解決阿波羅計劃的軌道預測很有用,後來阿波羅飛船的導航電腦使用了這種濾波器。關於這種濾波器的論文由Swerling (1958), Kalman (1960)與 Kalman and Bucy (1961)發表。

定義
傳統的濾波方法,只能是在有用信號與雜訊具有不同頻帶的條件下才能實現.20世紀40年代,N.維納和A.H.柯爾莫哥羅夫把信號和雜訊的統計性質引進了濾波理論,在假設信號和雜訊都是平穩過程的條件下,利用最優化方法對信號真值進行估計,達到濾波目的,從而在概念上與傳統的濾波方法聯系起來,被稱為維納濾波。這種方法要求信號和雜訊都必須是以平穩過程為條件。60年代初,卡爾曼(R.E.Kalman)和布塞(R. S.Bucy)發表了一篇重要的論文《線性濾波和預測 理論的新成果》,提出了一種新的線性濾波和預測理由論,被稱之為卡爾曼濾波。特點是在線性狀態空間表示的基礎上對有雜訊的輸入和觀測信號進行處理,求取系統狀態或真實信號。
這種理論是在時間域上來表述的,基本的概念是:在線性系統的狀態空間表示基礎上,從輸出和輸入觀測數據求系統狀態的最優估計。這里所說的系統狀態,是總結系統所有過去的輸入和擾動對系統的作用的最小參數的集合,知道了系統的狀態就能夠與未來的輸入與系統的擾動一起確定系統的整個行為。
卡爾曼濾波不要求信號和雜訊都是平穩過程的假設條件。對於每個時刻的系統擾動和觀測誤差(即雜訊),只要對它們的統計性質作某些適當的假定,通過對含有雜訊的觀測信號進行處理,就能在平均的意義上,求得誤差為最小的真實信號的估計值。因此,自從卡爾曼濾波理論問世以來,在通信系統、電力系統、航空航天、環境污染控制、工業控制、雷達信號處理等許多部門都得到了應用,取得了許多成功應用的成果。例如在圖像處理方面,應用卡爾曼濾波對由於某些雜訊影響而造成模糊的圖像進行復原。在對雜訊作了某些統計性質的假定後,就可以用卡爾曼的演算法以遞推的方式從模糊圖像中得到均方差最小的真實圖像,使模糊的圖像得到復原。

性質
①卡爾曼濾波是一個演算法,它適用於線性、離散和有限維系統。每一個有外部變數的自回歸移動平均系統(ARMAX)或可用有理傳遞函數表示的系統都可以轉換成用狀態空間表示的系統,從而能用卡爾曼濾波進行計算。
②任何一組觀測數據都無助於消除x(t)的確定性。增益K(t)也同樣地與觀測數據無關。
③當觀測數據和狀態聯合服從高斯分布時用卡爾曼遞歸公式計算得到的是高斯隨機變數的條件均值和條件方差,從而卡爾曼濾波公式給出了計算狀態的條件概率密度的更新過程線性最小方差估計,也就是最小方差估計。

形式
卡爾曼濾波已經有很多不同的實現,卡爾曼最初提出的形式一般稱為簡單卡爾曼濾波器。除此以外,還有施密特擴展濾波器、信息濾波器以及很多Bierman, Thornton 開發的平方根濾波器的變種。最常見的卡爾曼濾波器是鎖相環,它在收音機、計算機和幾乎任何視頻或通訊設備中廣泛存在。

實例
卡爾曼濾波的一個典型實例是從一組有限的,對物體位置的,包含雜訊的觀察序列中預測出物體的坐標位置及速度。在很多工程應用(雷達、計算機視覺)中都可以找到它的身影。同時,卡爾曼濾波也是控制理論以及控制系統工程中的一個重要話題。

應用
比如,在雷達中,人們感興趣的是跟蹤目標,但目標的位置、速度、加速度的測量值往往在任何時候都有雜訊。卡爾曼濾波利用目標的動態信息,設法去掉雜訊的影響,得到一個關於目標位置的好的估計。這個估計可以是對當前目標位置的估計(濾波),也可以是對於將來位置的估計(預測),也可以是對過去位置的估計(插值或平滑)。

擴展卡爾曼濾波(EXTEND KALMAN FILTER, EKF)
是由kalman filter考慮時間非線性的動態系統,常應用於目標跟蹤系統。

狀態估計
狀態估計是卡爾曼濾波的重要組成部分。一般來說,根據觀測數據對隨機量進行定量推斷就是估計問題,特別是對動態行為的狀態估計,它能實現實時運行狀態的估計和預測功能。比如對飛行器狀態估計。狀態估計對於了解和控制一個系統具有重要意義,所應用的方法屬於統計學中的估計理論。最常用的是最小二乘估計,線性最小方差估計、最小方差估計、遞推最小二乘估計等。其他如風險准則的貝葉斯估計、最大似然估計、隨機逼近等方法也都有應用。

狀態量
受雜訊干擾的狀態量是個隨機量,不可能測得精確值,但可對它進行一系列觀測,並依據一組觀測值,按某種統計觀點對它進行估計。使估計值盡可能准確地接近真實值,這就是最優估計。真實值與估計值之差稱為估計誤差。若估計值的數學期望與真實值相等,這種估計稱為無偏估計。卡爾曼提出的遞推最優估計理論,採用狀態空間描述法,在演算法採用遞推形式,卡爾曼濾波能處理多維和非平穩的隨機過程。

理論
卡爾曼濾波理論的提出,克服了威納濾波理論的局限性使其在工程上得到了廣泛的應用,尤其在控制、制導、導航、通訊等現代工程方面。

B. 卡爾曼濾波的基本原理和演算法

卡爾曼濾波的原理用幾何方法來解釋。這時,~X和~Z矩陣中的每個元素應看做向量空間中的一個向量而不再是一個單純的數。這個向量空間(統計測試空間)可以看成無窮多維的,每一個維對應一個可能的狀態。~X和~Z矩陣中的每個元素向量都是由所有可能的狀態按照各自出現的概率組合而成(在測量之前,~X和~Z 的實際值都是不可知的)。~X和~Z中的每個元素向量都應是0均值的,與自己的內積就是他們的協方差矩陣。無法給出~X和~Z中每個元素向量的具體表達,但通過協方差矩陣就可以知道所有元素向量的模長,以及相互之間的夾角(從內積計算)。
為了方便用幾何方法解釋,假設狀態變數X是一個1行1列的矩陣(即只有一個待測狀態量),而量測變數Z是一個2行1列的矩陣(即有兩個測量儀器,共同測量同一個狀態量X),也就是說,m=1,n=2。矩陣X中只有X[1]一項,矩陣Z中有Z[1]和Z[2]兩項。Kg此時應是一個1行2列的矩陣,兩個元素分別記作Kg1 和 Kg2 。H和V此時應是一個2行1列的矩陣。

參考資料:
http://blog.csdn.net/newthinker_wei/article/details/11768443

C. 視頻防抖的演算法有哪些

處理演算法上採用Harris角點匹配、運動估計及卡爾曼濾波技術

D. 為什麼我從嗶哩嗶哩下載的視頻只有視頻沒有聲音

這是因為將嗶哩嗶哩視頻緩存下來,音頻和視頻分開了,手機上其中一個音畫同步的播放方法:

1、在緩存文件夾中直接將視頻文件的後綴m4s改成flv,音頻文件後綴改成mp3。

2、長按視頻文件選擇播放器打開(我這里用的是MX播放器),在播放器里找到並點開「音頻」選項,再點擊「開啟」,點擊方才已修改後綴的音頻文件。

這樣一番修改和設置後不管快進還是後退也可以音畫同步。

基本的音頻數字化處理包括以下幾種:

不同采樣率、頻率、通道數之間的變換和轉換。其中變換只是簡單地將其視為另一種格式,而轉換通過重采樣來進行,其中還可以根據需要採用插值演算法以補償失真。

針對音頻數據本身進行的各種變換,如淡入、淡出、音量調節等。

通過數字濾波演算法進行的變換,如高通、低通濾波器。

E. 數字圖像處理的基本演算法及要解決的主要問題

圖像處理,是對圖像進行分析、加工、和處理,使其滿足視覺、心理以及其他要求的技術。圖像處理是信號處理在圖像域上的一個應用。目前大多數的圖像是以數字形式存儲,因而圖像處理很多情況下指數字圖像處理。此外,基於光學理論的處理方法依然佔有重要的地位。

圖像處理是信號處理的子類,另外與計算機科學、人工智慧等領域也有密切的關系。

傳統的一維信號處理的方法和概念很多仍然可以直接應用在圖像處理上,比如降噪、量化等。然而,圖像屬於二維信號,和一維信號相比,它有自己特殊的一面,處理的方式和角度也有所不同。
目錄
[隱藏]

* 1 解決方案
* 2 常用的信號處理技術
o 2.1 從一維信號處理擴展來的技術和概念
o 2.2 專用於二維(或更高維)的技術和概念
* 3 典型問題
* 4 應用
* 5 相關相近領域
* 6 參見

[編輯] 解決方案

幾十年前,圖像處理大多數由光學設備在模擬模式下進行。由於這些光學方法本身所具有的並行特性,至今他們仍然在很多應用領域佔有核心地位,例如 全息攝影。但是由於計算機速度的大幅度提高,這些技術正在迅速的被數字圖像處理方法所替代。

從通常意義上講,數字圖像處理技術更加普適、可靠和准確。比起模擬方法,它們也更容易實現。專用的硬體被用於數字圖像處理,例如,基於流水線的計算機體系結構在這方面取得了巨大的商業成功。今天,硬體解決方案被廣泛的用於視頻處理系統,但商業化的圖像處理任務基本上仍以軟體形式實現,運行在通用個人電腦上。

[編輯] 常用的信號處理技術

大多數用於一維信號處理的概念都有其在二維圖像信號領域的延伸,它們中的一部分在二維情形下變得十分復雜。同時圖像處理也具有自身一些新的概念,例如,連通性、旋轉不變性,等等。這些概念僅對二維或更高維的情況下才有非平凡的意義。

圖像處理中常用到快速傅立葉變換,因為它可以減小數據處理量和處理時間。

[編輯] 從一維信號處理擴展來的技術和概念

* 解析度(Image resolution|Resolution)
* 動態范圍(Dynamic range)
* 帶寬(Bandwidth)
* 濾波器設計(Filter (signal processing)|Filtering)
* 微分運算元(Differential operators)
* 邊緣檢測(Edge detection)
* Domain molation
* 降噪(Noise rection)

[編輯] 專用於二維(或更高維)的技術和概念

* 連通性(Connectedness|Connectivity)
* 旋轉不變性(Rotational invariance)

[編輯] 典型問題

* 幾何變換(geometric transformations):包括放大、縮小、旋轉等。
* 顏色處理(color):顏色空間的轉化、亮度以及對比度的調節、顏色修正等。
* 圖像合成(image composite):多個圖像的加、減、組合、拼接。
* 降噪(image denoising):研究各種針對二維圖像的去噪濾波器或者信號處理技術。
* 邊緣檢測(edge detection):進行邊緣或者其他局部特徵提取。
* 分割(image segmentation):依據不同標准,把二維圖像分割成不同區域。
* 圖像製作(image editing):和計算機圖形學有一定交叉。
* 圖像配准(image registration):比較或集成不同條件下獲取的圖像。
* 圖像增強(image enhancement):
* 圖像數字水印(image watermarking):研究圖像域的數據隱藏、加密、或認證。
* 圖像壓縮(image compression):研究圖像壓縮。

[編輯] 應用

* 攝影及印刷 (Photography and printing)
* 衛星圖像處理 (Satellite image processing)
* 醫學圖像處理 (Medical image processing)
* 面孔識別, 特徵識別 (Face detection, feature detection, face identification)
* 顯微圖像處理 (Microscope image processing)
* 汽車障礙識別 (Car barrier detection)

[編輯] 相關相近領域

* 分類(Classification)
* 特徵提取(Feature extraction)
* 模式識別(Pattern recognition)
* 投影(Projection)
* 多尺度信號分析(Multi-scale signal analysis)
* 離散餘弦變換(The Discrete Cosine Transform)

F. 目標跟蹤檢測演算法(一)——傳統方法

姓名:劉帆;學號:20021210609;學院:電子工程學院

https://blog.csdn.net/qq_34919792/article/details/89893214

【嵌牛導讀】目標跟蹤演算法研究難點與挑戰在於實際復雜的應用環境 、背景相似干擾、光照條件的變化、遮擋等外界因素以及目標姿態變化,外觀變形,尺度變化、平面外旋轉、平面內旋轉、出視野、快速運動和運動模糊等。而且當目標跟蹤演算法投入實際應用時,不可避免的一個問題——實時性問題也是非常的重要。正是有了這些問題,才使得演算法研究充滿著難點和挑戰。

【嵌牛鼻子】目標跟蹤演算法,傳統演算法

【嵌牛提問】利用目標跟蹤檢測演算法要達到何目的?第一階段的單目標追蹤演算法包括什麼?具體步驟有哪些?它們有何特點?

【嵌牛正文】

第一階段

目標跟蹤分為兩個部分,一個是對指定目標尋找可以跟蹤的特徵,常用的有顏色,輪廓,特徵點,軌跡等,另一個是對目標特徵進行跟蹤。

1、靜態背景

1)背景差: 對背景的光照變化、雜訊干擾以及周期性運動等進行建模。通過當前幀減去背景圖來捕獲運動物體的過程。

2)幀差: 由於場景中的目標在運動,目標的影像在不同圖像幀中的位置不同。該類演算法對時間上連續的兩幀或三幀圖像進行差分運算,不同幀對應的像素點相減,判斷灰度差的絕對值,當絕對值超過一定閾值時,即可判斷為運動目標,從而實現目標的檢測功能。

與二幀差分法不同的是,三幀差分法(交並運算)去除了重影現象,可以檢測出較為完整的物體。幀間差分法的原理簡單,計算量小,能夠快速檢測出場景中的運動目標。但幀間差分法檢測的目標不完整,內部含有「空洞」,這是因為運動目標在相鄰幀之間的位置變化緩慢,目標內部在不同幀圖像中相重疊的部分很難檢測出來。幀間差分法通常不單獨用在目標檢測中,往往與其它的檢測演算法結合使用。

3)Codebook

演算法為圖像中每一個像素點建立一個碼本,每個碼本可以包括多個碼元(對應閾值范圍),在學習階段,對當前像素點進行匹配,如果該像素值在某個碼元的學習閾值內,也就是說與之前出現過的某種歷史情況偏離不大,則認為該像素點符合背景特徵,需要更新對應點的學習閾值和檢測閾值。

如果新來的像素值與每個碼元都不匹配,則可能是由於動態背景導致,這種情況下,我們需要為其建立一個新的碼元。每個像素點通過對應多個碼元,來適應復雜的動態背景。

在應用時,每隔一段時間選擇K幀通過更新演算法建立CodeBook背景模型,並且刪除超過一段時間未使用的碼元。

4)GMM

混合高斯模型(Gaussian of Micture Models,GMM)是較常用的背景去除方法之一(其他的還有均值法、中值法、滑動平均濾波等)。

首先我們需要了解單核高斯濾波的演算法步驟:

混合高斯建模GMM(Gaussian Mixture Model)作為單核高斯背景建模的擴展,是目前使用最廣泛的一種方法,GMM將背景模型描述為多個分布,每個像素的R、G、B三個通道像素值的變化分別由一個混合高斯模型分布來刻畫,符合其中一個分布模型的像素即為背景像素。作為最常用的一種背景建模方法,GMM有很多改進版本,比如利用紋理復雜度來更新差分閾值,通過像素變化的劇烈程度來動態調整學習率等。

5)ViBe(2011)

ViBe演算法主要特點是隨機背景更新策略,這和GMM有很大不同。其步驟和GMM類似。具體的思想就是為每個像素點存儲了一個樣本集,樣本集中采樣值就是該像素點過去的像素值和其鄰居點的像素值,然後將每一個新的像素值和樣本集進行比較來判斷是否屬於背景點。

其中pt(x)為新幀的像素值,R為設定值,p1、p2、p3….為樣本集中的像素值,以pt(x)為圓心R為半徑的圓被認為成一個集,當樣本集與此集的交集大於設定的閾值#min時,可認為此為背景像素點(交集越大,表示新像素點與樣本集越相關)。我們可以通過改變#min的值與R的值來改變模型的靈敏度。

Step1:初始化單幀圖像中每個像素點的背景模型。假設每一個像素和其鄰域像素的像素值在空域上有相似的分布。基於這種假設,每一個像素模型都可以用其鄰域中的像素來表示。為了保證背景模型符合統計學規律,鄰域的范圍要足夠大。當輸入第一幀圖像時,即t=0時,像素的背景模型。其中,NG(x,y)表示空域上相鄰的像素值,f(xi,yi)表示當前點的像素值。在N次的初始化的過程中,NG(x,y)中的像素點(xi,yi)被選中的可能次數為L=1,2,3,…,N。

Step2:對後續的圖像序列進行前景目標分割操作。當t=k時,像素點(x,y)的背景模型為BKm(x,y),像素值為fk(x,y)。按照下面判斷該像素值是否為前景。這里上標r是隨機選的;T是預先設置好的閾值。當fk(x,y)滿足符合背景#N次時,我們認為像素點fk(x,y)為背景,否則為前景。

Step3:ViBe演算法的更新在時間和空間上都具有隨機性。每一個背景點有1/ φ的概率去更新自己的模型樣本值,同時也有1/ φ的概率去更新它的鄰居點的模型樣本值。更新鄰居的樣本值利用了像素值的空間傳播特性,背景模型逐漸向外擴散,這也有利於Ghost區域的更快的識別。同時當前景點計數達到臨界值時將其變為背景,並有1/ φ的概率去更新自己的模型樣本值(為了減少緩慢移動物體的影響和攝像機的抖動)。

可以有如下總結,ViBe中的每一個像素點在更新的時候都有一個時間和空間上隨機影響的范圍,這個范圍很小,大概3x3的樣子,這個是考慮到攝像頭抖動時會有坐標的輕微來回變化,這樣雖然由於ViBe的判別方式仍認為是背景點,但是也會對後面的判別產生影響,為了保證空間的連續性,隨機更新減少了這個影響。而在樣本值保留在樣本集中的概率隨著時間的增大而變小,這就保證了像素模型在時間上面的延續特性。

6)光流

光流是由物體或相機的運動引起的圖像對象在兩個連續幀之間的視在運動模式。它是2D矢量場,其中每個矢量是一個位移矢量,顯示點從第一幀到第二幀的移動。

光流實際上是一種特徵點跟蹤方法,其計算的為向量,基於三點假設:

1、場景中目標的像素在幀間運動時亮度(像素值或其衍生值)不發生變化;2、幀間位移不能太大;3、同一表面上的鄰近點都在做相同的運動;

光流跟蹤過程:1)對一個連續視頻幀序列進行處理;2)對每一幀進行前景目標檢測;3)對某一幀出現的前景目標,找出具有代表性的特徵點(Harris角點);4)對於前後幀做像素值比較,尋找上一幀在當前幀中的最佳位置,從而得到前景目標在當前幀中的位置信息;5)重復上述步驟,即可實現目標跟蹤

2、運動場(分為相機固定,但是視角變化和相機是運動的)

1)運動建模(如視覺里程計運動模型、速度運動模型等)

運動學是對進行剛性位移的相機進行構型,一般通過6個變數來描述,3個直角坐標,3個歐拉角(橫滾、俯仰、偏航)。

Ⅰ、對相機的運動建模

由於這個不是我們本次所要討論的重點,但是在《概率機器人》一書中提出了很多很好的方法,相機的運動需要對圖像內的像素做位移矩陣和旋轉矩陣的坐標換算。除了對相機建立傳統的速度運動模型外,也可以用視覺里程計等通關過置信度的更新來得到概率最大位置。

Ⅱ、對於跟蹤目標的運動建模

該方法需要提前通過先驗知識知道所跟蹤的目標對象是什麼,比如車輛、行人、人臉等。通過對要跟蹤的目標進行建模,然後再利用該模型來進行實際的跟蹤。該方法必須提前知道要跟蹤的目標對象是什麼,然後再去跟蹤指定的目標,這是它的局限性,因而其推廣性相對比較差。(比如已知跟蹤的物體是羽毛球,那很容易通過前幾幀的取點,來建立整個羽毛球運動的拋物線模型)

2)核心搜索演算法(常見的預測演算法有Kalman(卡爾曼)濾波、擴展卡爾曼濾波、粒子濾波)

Ⅰ、Kalman 濾波

Kalman濾波器是通過前一狀態預測當前狀態,並使用當前觀測狀態進行校正,從而保證輸出狀態平穩變化,可有效抵抗觀測誤差。因此在運動目標跟蹤中也被廣泛使用。

在視頻處理的運動目標跟蹤里,每個目標的狀態可表示為(x,y,w,h),x和y表示目標位置,w和h表示目標寬高。一般地認為目標的寬高是不變的,而其運動速度是勻速,那麼目標的狀態向量就應該擴展為(x,y,w,h,dx,dy),其中dx和dy是目標當前時刻的速度。通過kalman濾波器來估計每個時刻目標狀態的大致過程為:

對視頻進行運動目標檢測,通過簡單匹配方法來給出目標的第一個和第二個狀態,從第三個狀態開始,就先使用kalman濾波器預測出當前狀態,再用當前幀圖像的檢測結果作為觀測值輸入給kalman濾波器,得到的校正結果就被認為是目標在當前幀的真實狀態。(其中,Zt為測量值,為預測值,ut為控制量,Kt為增益。)

Ⅱ、擴展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)

由於卡爾曼濾波的假設為線性問題,無法直接用在非線性問題上,EKF和UKF解決了這個問題(這個線性問題體現在用測量量來計算預測量的過程中)。EKF是通過構建線性函數g(x),與非線性函數相切,並對每一時刻所求得的g(x)做KF,如下圖所示。

UKF與EKF去求解雅可比矩陣擬合線性方程的方法不同,通過對那個先驗分布中的採集點,來線性化隨機變數的非線性函數。與EKF所用的方法不同,UKF產生的高斯分布和實際高斯分布更加接近,其引起的近似誤差也更小。

Ⅲ、粒子濾波

1、初始狀態:基於粒子濾波的目標追蹤方法是一種生成式跟蹤方法,所以要有一個初始化的階段。對於第一幀圖像,人工標定出待檢測的目標,對該目標區域提出特徵;

2、搜索階段:現在已經知道了目標的特徵,然後就在目標的周圍撒點(particle), 如:a)均勻的撒點;b)按高斯分布撒點,就是近的地方撒得多,遠的地方撒的少。論文里使用的是後一種方法。每一個粒子都計算所在區域內的顏色直方圖,如初始化提取特徵一樣,然後對所有的相似度進行歸一化。文中相似性使用的是巴氏距離;

3、重采樣:根據粒子權重對粒子進行篩選,篩選過程中,既要大量保留權重大的粒子,又要有一小部分權重小的粒子;

4、狀態轉移:將重采樣後的粒子帶入狀態轉移方程得到新的預測粒子;

5、測量及更新:對目標點特徵化,並計算各個粒子和目標間的巴氏距離,更新粒子的權重;

6、決策階段:每個粒子都獲得一個和目標的相似度,相似度越高,目標在該范圍出現的可能性越高,將保留的所有粒子通過相似度加權後的結果作為目標可能的位置。

3)Meanshift演算法

MeanShift演算法屬於核密度估計法,它不需要任何先驗知識而完全依靠特徵空間中樣本點的計算其密度函數值。對於一組采樣數據,直方圖法通常把數據的值域分成若干相等的區間,數據按區間分成若干組,每組數據的個數與總參數個數的比率就是每個單元的概率值;核密度估計法的原理相似於直方圖法,只是多了一個用於平滑數據的核函數。採用核函數估計法,在采樣充分的情況下,能夠漸進地收斂於任意的密度函數,即可以對服從任何分布的數據進行密度估計。

Meanshift演算法步驟

1、通過對初始點(或者上一幀的目標點)為圓心,繪制一個半徑為R的圓心,尋找特徵和該點相似的點所構成的向量;

2、所有向量相加,可以獲得一個向量疊加,這個向量指向特徵點多的方向;

3、取步驟二的向量終點為初始點重復步驟一、二,直到得到的向量小於一定的閾值,也就是說明當前位置是特徵點密度最密集的地方,停止迭代,認為該點為當前幀的目標點;

4)Camshift演算法

Camshift演算法是MeanShift演算法的改進,稱為連續自適應的MeanShift演算法。Camshift 是由Meanshift 推導而來 Meanshift主要是用在單張影像上,但是獨立一張影像分析對追蹤而言並無意義,Camshift 就是利用MeanShift的方法,對影像串列進行分析。

1、首先在影像串列中選擇目標區域。

2、計算此區域的顏色直方圖(特徵提取)。

3、用MeanShift演演算法來收斂欲追蹤的區域。

4、通過目標點的位置和向量信息計算新的窗口大小,並標示之。

5、以此為參數重復步驟三、四。

Camshift 關鍵就在於當目標的大小發生改變的時候,此演算法可以自適應調整目標區域繼續跟蹤。

3、小結

第一階段的單目標追蹤演算法基本上都是傳統方法,計算量小,在嵌入式等設備中落地較多,opencv中也預留了大量的介面。通過上面的兩節的介紹,我們不難發現,目標檢測演算法的步驟分為兩部分,一部分是對指定目標尋找可以跟蹤的特徵,常用的有顏色,輪廓,特徵點,軌跡等,另一部分是對目標特徵進行跟蹤,如上文所提及的方法。所以目標檢測方法的發展,也可總結為兩個方面,一個是如何去獲得更加具有區分性的可跟蹤的穩定特徵,另一個是如何建立幀與幀之間的數據關聯,保證跟蹤目標是正確的。

隨著以概率為基礎的卡爾曼濾波、粒子濾波或是以Meanshift為代表向量疊加方法在目標檢測的運用,使得目標檢測不再需要假設自身的一個狀態為靜止的,而是可以是運動的,更加符合復雜場景中的目標跟蹤。

G. 卡爾曼濾波參數如何計算

參看高鐵梅的《經濟周期波動的分析與預測方法》

H. 為什麼視頻點開臉變短了

直播中,美顏功能沒有用好。
1.美顏SDK中需要的技術
美顏的實現會用到很多演算法和技術,比如人臉識別技術,這是實現美型、貼紙的關鍵技術,其中涉及到人臉追蹤、人臉關鍵點識別等一系列技術,都是至關重要的,只有基於這些技術才能使妝容和貼紙緊密的貼合人臉;圖像演算法主要是實現磨皮美白功能,其中用到了保邊濾波器濾波演算法、高反差減弱演算法、膚色檢測演算法 ,使主播的皮膚光滑細膩,妝容自然貼合;圖像增強技術用於實現特效濾鏡功能,提供了多種趣味濾鏡和調色濾鏡,提供了更多新玩法;3D圖形渲染技術,通過精緻的模型和穩定的渲染,實現了3D貼紙面具的功能特效;除此之外,還有圖像縮放變形演算法用於實現哈哈鏡的功能,多種哈哈鏡扭曲效果,為視頻增加惡搞樂趣。這是由這些技術和演算法,才實現了美顏的功能,但是對於不同的美顏開發商來說,不同的演算法和技術會產生不同的美顏效果。
.在直播中接入美顏需要注意什麼
由於在直播中,美顏是以動態的形式呈現,因此需要注意的問題還是比較多的。搭建直播平台也是比較復雜的,一般直播平台的開發商會選擇在開發完成後直接接入第三方美顏,如果他們自己再去研發美顏SDK的話,首先可能技術對美顏方面的演算法和技術並不熟悉,不能順利地完成美顏SDK的開發,這樣的話就要額外花費很多時間和人力,直接接入可以節省時間和人力。除此以外,由於直播中需要用到推流平台,因此還要注意美顏SDK是否能適用於不同的推流平台,這就要考慮到兼容性穩定性等配置問題,避免美顏SDK和推流平台在同一直播平台中發生沖突。因此,選擇一家靠譜的美顏開發商是非常重要的。
現在直播發展得越來越快,美顏SDK也成為了直播平台中的必需品,美顏的加入為直播帶來了新的機遇,多元化的玩法加上自帶美顏功能,讓更多的人加入其中。要想使平台有質量、長久的開下去,接入優質的美顏是必須的,從而提升整體的效果,吸引更多的用戶。

I. 什麼叫卡爾曼濾波演算法其序貫演算法

卡爾曼濾波演算法(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的演算法。由於觀測數據中包括系統中的雜訊和干擾的影響,所以最優估計也可看作是濾波過程。
序貫演算法又叫序貫相似性檢測演算法,是指圖像匹配技術是根據已知的圖像模塊(模板圖)在另一幅圖像(搜索圖)中尋找相應或相近模塊的過程,它是計算機視覺和模式識別中的基本手段。已在衛星遙感、空間飛行器的自動導航、機器人視覺、氣象雲圖分析及醫學x射線圖片處理等許多領域中得到了廣泛的應用。研究表明,圖像匹配的速度主要取決於匹配演算法的搜索策略。
數據濾波是去除雜訊還原真實數據的一種數據處理技術, Kalman濾波在測量方差已知的情況下能夠從一系列存在測量雜訊的數據中,估計動態系統的狀態. 由於, 它便於計算機編程實現, 並能夠對現場採集的數據進行實時的更新和處理, Kalman濾波是目前應用最為廣泛的濾波方法, 在通信, 導航, 制導與控制等多領域得到了較好的應用。

J. 粒子濾波演算法的具體流程是怎樣的

粒子濾波(PF: Particle Filter)演算法起源於20世紀50年代Poor Man's Monte Carlo問題的研究,但第一個具有應用性的粒子濾波演算法於1993年由Gordon等提出(「A novel Approach to nonlinear/non-Gaussian Bayesian State estimation」)。它是利用粒子集來表示概率,可以用在任何形式的狀態空間模型上。其核心思想是通過從後驗概率中抽取的隨機狀態粒子來表示其分布情況,是一種順序重要性采樣法(Sequential Importance Sampling)。

粒子濾波的應用非常廣泛,尤其是在目標跟蹤(「A probabilistic framework for matching temporal trajectories」)等視覺任務方面。粒子濾波演算法有許多不同的改進方式。針對不同的問題,PF演算法被改造以適應更好的問題。本文主要側重於目標跟蹤方面的應用。以人臉跟蹤為例,下圖展示了粒子濾波的跟蹤結果。下面介紹下粒子濾波的基本過程:初始化、概率轉移、權重重計算和重采樣四個階段。

1.初始化階段

跟蹤區域初始化。在使用粒子濾波演算法進行目標跟蹤前需要選擇要跟蹤的目標物體。這個過程可以用人工劃定方法和自動識別方法。使用人工的方法可以通過滑鼠在圖像區域標記出一個感興趣矩形;使用自動的方法就是利用自動的目標檢測技術,初步檢測出圖像中要跟蹤物體的大致位置。以人臉跟蹤為例,人工方法就是滑鼠劃定視頻第一幀中人臉的區域;自動方法就是可以使用人臉檢測演算法檢測出人臉的初始位置。

粒子初始化。對於本文人臉檢測的示例,粒子就是圖像中的矩形區域,主要由矩形中心(x,y)和寬高(w,h)四個變數表示。粒子初始化的步驟,就是在圖像中選擇指定數量的粒子(矩形),比如N=100個粒子。粒子初始化過程就是在圖像中隨機或指定方式放粒子。比如說,我們可以指定100個粒子初始狀態和跟蹤區域一致,即粒子參數和跟蹤區域的(x,y,w,h)相等。

2.狀態轉移階段

使用粒子濾波演算法來對目標進行跟蹤,即是通過前一次的先驗概率來估算出當前環境下的後驗概率密度,這個過程也是由粒子來完成的。具體來說,即根據上一幀中粒子的狀態(x,y,w,h)t-1,來估計出本幀中各個粒子的狀態(x,y,w,h)t。從上一幀圖像的粒子狀態轉變為當前幀粒子的狀態,這個變異過程就叫作轉移(transmission)。粒子濾波的轉移方程跟Kalman濾波的差不多:

上面的是狀態轉移方程,下面的為觀測方程,wk和vk是高斯雜訊。在本文示例中,xk=(x,y,w,h)t。變數x,y,w,h可以依據公式(1)分別更新。在不同的演算法中,f採用的函數也不相同。如果xk=xk-1+wk,則狀態轉移方程其實是隨機遊走過程;如果xk=Axk-1+wk,狀態轉移方程則為一階自回歸方程;如果xk=A1xk-1+A2xk-2+wk,則狀態轉移方程為二階自回歸方程。

3.權重重計算階段

轉移階段將上一幀中粒子的位置進行了轉移,得到當前幀中新的位置。但並不是所有粒子的作用都有用。也就是有些粒子並不是跟蹤區域所要所移動的位置。因此,在此階段,粒子濾波演算法將對每個粒子進行打分,將得分較低的粒子刪除,將得分多的粒子生成更多的粒子(重采樣過程完成)。具體打分的方法根據不同的需求會不同,例如人臉跟蹤方法中使用距離作為衡量的標准。將每個粒子與跟蹤區域進行相似度計算(在這里,分別提取粒子和跟蹤區域的視覺特徵進行計算,比如顏色直方圖),使用相似度作為相應粒子的權重。每一個粒子都需要計算其權重,並且需要將其歸一化。該階段其實也是後驗概率進行更新的過程。

4.重采樣階段

粒子濾波演算法會淘汰權值低的粒子,讓權值高的粒子來產生出更多的粒子,這就使得演算法朝著權值高的地方收斂。假設有100個粒子,1號粒子的權重為0.02而2號粒子的權重為0.003。於是在重采樣階段,1號粒子生孩子的指標是0.02×100=2,2號粒子的指標是0.003×100=0.3,可以發現,1號粒子除了剛產生的粒子外還要再額外的產生一個粒子,而2號粒子就被鏟除了。如此,最後得到的100個粒子即為所求,然後取個加權平均就得到了目標的狀態值。

閱讀全文

與視頻濾波演算法相關的資料

熱點內容
信源編解碼實驗分析 瀏覽:475
前端程序員需要什麼證書 瀏覽:111
蚌埠前端程序員私活收入是多少 瀏覽:486
自動關機dos命令 瀏覽:323
我的app為什麼打不開 瀏覽:156
華為手機更新app放在哪裡 瀏覽:780
阿里雲伺服器包含數據嗎 瀏覽:299
伺服器的密封是什麼 瀏覽:149
php面向對象繼承 瀏覽:74
smtplibpython安裝 瀏覽:478
python模擬登錄網頁 瀏覽:817
在哪查看自己的python位置 瀏覽:35
南京java公司 瀏覽:586
合唱app哪個好用 瀏覽:471
英文版伺服器日誌怎麼看 瀏覽:70
笑臉買小人賣主圖指標公式源碼 瀏覽:949
javasocket時間設置 瀏覽:693
使役形命令形 瀏覽:233
尚矽谷程序員哪個好 瀏覽:254
政治論pdf 瀏覽:566