導航:首頁 > 源碼編譯 > 濾波融合演算法

濾波融合演算法

發布時間:2022-06-26 18:22:42

① 陀螺儀和加速度的值通過卡爾曼濾波融合.求C程序

給你arino的卡爾曼濾波融合演算法,我只是封裝了演算法.
另外你這么難的問題應該給點分才厚道啊!
H文件:
/*
* KalmanFilter.h
* Non-original
* Author:x2d
* Copyright (c) 2012 China
*
*/
#ifndef KalmanFilter_h
#define KalmanFilter_h
#include
class KalmanFilter
{
public:
KalmanFilter();
/*
卡爾曼融合計算
angle_m:加速度計測量並通過atan2(ax,ay)方法計算得到的角度(弧度值)
gyro_m:陀螺儀測量的角速度值(弧度值)
dt:采樣時間(s)
outAngle:卡爾曼融合計算出的角度(弧度值)
outAngleDot:卡爾曼融合計算出的角速度(弧度值)
*/
void getValue(double angle_m,double gyro_m,double dt,double &outAngle,double &outAngleDot);
private:
double C_0,Q_angle,Q_gyro,R_angle;
double q_bias,angle_err,PCt_0,PCt_1,E,K_0,K_1,t_0,t_1;
double angle,angle_dot;
double P[2][2];
double Pdot[4];
};
CPP文件:
/*
* KalmanFilter.cpp
* Non-original
* Author:x2d
* Copyright (c) 2012 China
*
*/
#include "KalmanFilter.h"
KalmanFilter::KalmanFilter()
{
C_0 = 1.0f;
Q_angle = 0.001f;
Q_gyro = 0.003f;
R_angle = 0.5f;
q_bias = angle_err = PCt_0 = PCt_1 = E = K_0 = K_1 = t_0 = t_1 = 0.0f;
angle = angle_dot = 0.0f;
P[0][0] = 1.0f;
P[0][1] = 0.0f;
P[1][0] = 0.0f;
P[1][1] = 1.0f;
Pdot[0] = 0.0f;
Pdot[1] = 0.0f;
Pdot[2] = 0.0f;
Pdot[3] = 0.0f;
}
void KalmanFilter::getValue(double angle_m,double gyro_m,double dt,double &outAngle,double &outAngleDot)
{
/*
Serial.print("angle_m = ");
Serial.print(angle_m);
Serial.print(";");
Serial.print("gyro_m = ");
Serial.print(gyro_m);
Serial.print(";");
*/
angle+=(gyro_m-q_bias) * dt;
angle_err = angle_m - angle;
Pdot[0] = Q_angle - P[0][1] - P[1][0];
Pdot[1] = -P[1][1];
Pdot[2] = -P[1][1];
Pdot[3] = Q_gyro;
P[0][0] += Pdot[0] * dt;
P[0][1] += Pdot[1] * dt;
P[1][0] += Pdot[2] * dt;
P[1][1] += Pdot[3] * dt;
PCt_0 = C_0 * P[0][0];
PCt_1 = C_0 * P[1][0];
E = R_angle + C_0 * PCt_0;
K_0 = PCt_0 / E;
K_1 = PCt_1 / E;
t_0 = PCt_0;
t_1 = C_0 * P[0][1];
P[0][0] -= K_0 * t_0;
P[0][1] -= K_0 * t_1;
P[1][0] -= K_1 * t_0;
P[1][1] -= K_1 * t_1;
angle += K_0 * angle_err;
q_bias += K_1 * angle_err;
angle_dot = gyro_m-q_bias;
outAngle = angle;
outAngleDot = angle_dot;
/*
Serial.print("angle = ");
Serial.print(angle);
Serial.print(";");
Serial.print("angle_dot = ");
Serial.print(angle_dot);
Serial.print(";");
*/
}
#endif

② 什麼是濾波演算法

卡爾曼濾波器(Kalman Filter)是一個最優化自回歸數據處理演算法(optimal recursive data processing algorithm)。對於解決很大部分的問題,他是最優,效率最高甚至是最有用的。他的廣泛應用已經超過30年,包括機器人導航,控制,感測器數據融合甚至在軍事方面的雷達系統以及導彈追蹤等等。近年來更被應用於計算機圖像處理,例如頭臉識別,圖像分割,圖像邊緣檢測等等。

最佳線性濾波理論起源於40年代美國科學家Wiener和前蘇聯科學家Kолмогоров等人的研究工作,後人統稱為維納濾波理論。從理論上說,維納濾波的最大缺點是必須用到無限過去的數據,不適用於實時處理。為了克服這一缺點,60年代Kalman把狀態空間模型引入濾波理論,並導出了一套遞推估計演算法,後人稱之為卡爾曼濾波理論。卡爾曼濾波是以最小均方誤差為估計的最佳准則,來尋求一套遞推估計的演算法,其基本思想是:採用信號與雜訊的狀態空間模型,利用前一時刻地估計值和現時刻的觀測值來更新對狀態變數的估計,求出現時刻的估計值。它適合於實時處理和計算機運算。

現設線性時變系統的離散狀態防城和觀測方程為:

X(k) = F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1)

Y(k) = H(k)·X(k)+N(k)

其中

X(k)和Y(k)分別是k時刻的狀態矢量和觀測矢量

F(k,k-1)為狀態轉移矩陣

U(k)為k時刻動態雜訊

T(k,k-1)為系統控制矩陣

H(k)為k時刻觀測矩陣

N(k)為k時刻觀測雜訊

則卡爾曼濾波的演算法流程為:

預估計X(k)^= F(k,k-1)·X(k-1)

計算預估計協方差矩陣
C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)'
Q(k) = U(k)×U(k)'

計算卡爾曼增益矩陣
K(k) = C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1)
R(k) = N(k)×N(k)'

更新估計
X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^]

計算更新後估計協防差矩陣
C(k)~ = [I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]'+K(k)×R(k)×K(k)'

X(k+1) = X(k)~
C(k+1) = C(k)~

③ 求陀螺儀用的卡爾曼濾波演算法資料 程序!!!!急急急!!!

給你arino的卡爾曼濾波融合演算法,非原創,我只是封裝了演算法。

H文件:
/*
* KalmanFilter.h
* Non-original
* Author: x2d
* Copyright (c) 2012 China
*
*/

#ifndef KalmanFilter_h
#define KalmanFilter_h

#include <WProgram.h>

class KalmanFilter
{
public:
KalmanFilter();

/*
卡爾曼融合計算
angle_m: 加速度計測量並通過atan2(ax,ay)方法計算得到的角度(弧度值)
gyro_m:陀螺儀測量的角速度值(弧度值)
dt:采樣時間(s)
outAngle:卡爾曼融合計算出的角度(弧度值)
outAngleDot:卡爾曼融合計算出的角速度(弧度值)
*/
void getValue(double angle_m, double gyro_m, double dt, double &outAngle, double &outAngleDot);

private:
double C_0, Q_angle, Q_gyro, R_angle;
double q_bias, angle_err, PCt_0, PCt_1, E, K_0, K_1, t_0, t_1;
double angle, angle_dot;
double P[2][2];
double Pdot[4];
};

CPP文件:
/*
* KalmanFilter.cpp
* Non-original
* Author: x2d
* Copyright (c) 2012 China
*
*/

#include "KalmanFilter.h"

KalmanFilter::KalmanFilter()
{
C_0 = 1.0f;
Q_angle = 0.001f;
Q_gyro = 0.003f;
R_angle = 0.5f;
q_bias = angle_err = PCt_0 = PCt_1 = E = K_0 = K_1 = t_0 = t_1 = 0.0f;
angle = angle_dot = 0.0f;
P[0][0] = 1.0f;
P[0][1] = 0.0f;
P[1][0] = 0.0f;
P[1][1] = 1.0f;
Pdot[0] = 0.0f;
Pdot[1] = 0.0f;
Pdot[2] = 0.0f;
Pdot[3] = 0.0f;
}

void KalmanFilter::getValue(double angle_m, double gyro_m, double dt, double &outAngle, double &outAngleDot)
{
/*
Serial.print("angle_m = ");
Serial.print(angle_m);
Serial.print(";");
Serial.print("gyro_m = ");
Serial.print(gyro_m);
Serial.print(";");
*/

angle+=(gyro_m-q_bias) * dt;
angle_err = angle_m - angle;
Pdot[0] = Q_angle - P[0][1] - P[1][0];
Pdot[1] = -P[1][1];
Pdot[2] = -P[1][1];
Pdot[3] = Q_gyro;
P[0][0] += Pdot[0] * dt;
P[0][1] += Pdot[1] * dt;
P[1][0] += Pdot[2] * dt;
P[1][1] += Pdot[3] * dt;
PCt_0 = C_0 * P[0][0];
PCt_1 = C_0 * P[1][0];
E = R_angle + C_0 * PCt_0;
K_0 = PCt_0 / E;
K_1 = PCt_1 / E;
t_0 = PCt_0;
t_1 = C_0 * P[0][1];
P[0][0] -= K_0 * t_0;
P[0][1] -= K_0 * t_1;
P[1][0] -= K_1 * t_0;
P[1][1] -= K_1 * t_1;
angle += K_0 * angle_err;
q_bias += K_1 * angle_err;
angle_dot = gyro_m-q_bias;

outAngle = angle;
outAngleDot = angle_dot;
/*
Serial.print("angle = ");
Serial.print(angle);
Serial.print(";");
Serial.print("angle_dot = ");
Serial.print(angle_dot);
Serial.print(";");
*/
}
#endif

④ 加權平均法圖像融合演算法原理是什麼

加權平均法圖像融合演算法的原理就是:對原圖像的像素值直接取相同的權值,然後進行加權平均得到融合圖像的像素值,舉例說比如要融合兩幅圖像A,B,那它們的融合後圖像的像素值就是A*50%+B*50%,就這么簡單

⑤ 誰能給我講解一下卡爾曼濾波,我最近在用mpu6050,把陀螺儀和加速度的值通過卡爾曼濾波融合。求C程序!

給你arino的卡爾曼濾波融合演算法,非原創,我只是封裝了演算法。
另外你這么難的問題應該給點分才厚道啊!

H文件:
/*
* KalmanFilter.h
* Non-original
* Author: x2d
* Copyright (c) 2012 China
*
*/

#ifndef KalmanFilter_h
#define KalmanFilter_h

#include <WProgram.h>

class KalmanFilter
{
public:
KalmanFilter();

/*
卡爾曼融合計算
angle_m: 加速度計測量並通過atan2(ax,ay)方法計算得到的角度(弧度值)
gyro_m:陀螺儀測量的角速度值(弧度值)
dt:采樣時間(s)
outAngle:卡爾曼融合計算出的角度(弧度值)
outAngleDot:卡爾曼融合計算出的角速度(弧度值)
*/
void getValue(double angle_m, double gyro_m, double dt, double &outAngle, double &outAngleDot);

private:
double C_0, Q_angle, Q_gyro, R_angle;
double q_bias, angle_err, PCt_0, PCt_1, E, K_0, K_1, t_0, t_1;
double angle, angle_dot;
double P[2][2];
double Pdot[4];
};

CPP文件:
/*
* KalmanFilter.cpp
* Non-original
* Author: x2d
* Copyright (c) 2012 China
*
*/

#include "KalmanFilter.h"

KalmanFilter::KalmanFilter()
{
C_0 = 1.0f;
Q_angle = 0.001f;
Q_gyro = 0.003f;
R_angle = 0.5f;
q_bias = angle_err = PCt_0 = PCt_1 = E = K_0 = K_1 = t_0 = t_1 = 0.0f;
angle = angle_dot = 0.0f;
P[0][0] = 1.0f;
P[0][1] = 0.0f;
P[1][0] = 0.0f;
P[1][1] = 1.0f;
Pdot[0] = 0.0f;
Pdot[1] = 0.0f;
Pdot[2] = 0.0f;
Pdot[3] = 0.0f;
}

void KalmanFilter::getValue(double angle_m, double gyro_m, double dt, double &outAngle, double &outAngleDot)
{
/*
Serial.print("angle_m = ");
Serial.print(angle_m);
Serial.print(";");
Serial.print("gyro_m = ");
Serial.print(gyro_m);
Serial.print(";");
*/

angle+=(gyro_m-q_bias) * dt;
angle_err = angle_m - angle;
Pdot[0] = Q_angle - P[0][1] - P[1][0];
Pdot[1] = -P[1][1];
Pdot[2] = -P[1][1];
Pdot[3] = Q_gyro;
P[0][0] += Pdot[0] * dt;
P[0][1] += Pdot[1] * dt;
P[1][0] += Pdot[2] * dt;
P[1][1] += Pdot[3] * dt;
PCt_0 = C_0 * P[0][0];
PCt_1 = C_0 * P[1][0];
E = R_angle + C_0 * PCt_0;
K_0 = PCt_0 / E;
K_1 = PCt_1 / E;
t_0 = PCt_0;
t_1 = C_0 * P[0][1];
P[0][0] -= K_0 * t_0;
P[0][1] -= K_0 * t_1;
P[1][0] -= K_1 * t_0;
P[1][1] -= K_1 * t_1;
angle += K_0 * angle_err;
q_bias += K_1 * angle_err;
angle_dot = gyro_m-q_bias;

outAngle = angle;
outAngleDot = angle_dot;
/*
Serial.print("angle = ");
Serial.print(angle);
Serial.print(";");
Serial.print("angle_dot = ");
Serial.print(angle_dot);
Serial.print(";");
*/
}
#endif

⑥ 數據處理

4.3.1 數據源情況

4.3.1.1 衛星影像數據情況

本項目數據源是由國土資源部信息中心提供的 2005~2007 年 SPOT 5_2.5 m 解析度影像數據。覆蓋工作區的 SPOT 5 衛星影像數據共計 79 景(圖 4-2),所接收影像均有 4% 以上的重疊區域;影像信息豐富,無明顯雜訊、斑點和壞線;雲、雪覆蓋量均小於 10%,且未覆蓋城鄉結合部等重點地區;東部平原地區大部分影像覆蓋有程度不同的霧或霾,但整體地類信息能夠區分;影像數據接收側視角一般小於 15°,平原地區不超過 25°,山區不超過 20°,基本滿足技術規范對影像接收的要求。

圖 4-2 河南省 SPOT 5 影像數據分布示意圖

圖 4-3 影像接收時間分布

由於本次 SPOT 5 衛星影像接收時間跨度大,時相接收差異大,79 景影像多集中於春季和秋季(圖 4-3),但部分影像由於接收時間不是河南地區最佳季節,存在著這樣或那樣的問題,見表 4-1:

表 4-1 影像數據接收信息及數據質量評述表

續表

4.3.1.2 DEM 數據情況

覆蓋河南全省的 1∶5 萬數字高程模型(DEM)共計 464 幅。

首先,對 DEM 是否齊全及 DEM 的現勢性等進行了全面檢查;其次,對相鄰分幅 DEM 是否有重疊區域以及重疊區域的高程是否一致、接邊後是否出現裂隙現象等信息進行了檢查;第三,項目組對每幅 DEM 是否有完整的元數據以及對數據的地理基礎、精度、格網尺寸等信息是否齊全等進行了全面檢查。

由於 1∶5 萬 DEM 原始數據是 GRID 標准格式,數學基礎為 1980 年西安坐標系,1985 年國家高程基準,6°分帶。鑒於以上數據格式和項目實施方案要求,項目組對涉及工作區的 464 幅DEM,分別按照 19°帶和 20°帶進行鑲嵌及坐標系轉換,之後再進行拼接、換帶及投影轉換處理,得到覆蓋河南全省的、滿足對項目區影像進行正射校正需求的、中央經線為 114°、1954 北京坐標系、1985 年國家高程基準的河南省 1∶5 萬 DE(M圖 4-4)。

圖 4-4 河南省 1∶5 萬 DEM

經過對拼接好的 DEM 進行全面檢查,本項目使用的 DEM 數據覆蓋河南全省,不存在缺失、黑邊等現象,基本滿足本項目影像數據正射校正的需要。

4.3.2 數據配准

目前影像配准技術大致分為兩大類,基於灰度的方法和基於特徵的方法。大多數基於灰度的方法採用互相關技術或傅立葉變換技術來實現。影像配准採用的是 ERDAS 9.1 中的自動配准模塊(AutoSync)。在自動檢測結束後,將其在參考圖像上尋找出來同樣需要很大的工作量。在不能完全自動實現匹配的情況下,如果能夠大致計算出需要尋找和精確調整標注的區域,同樣能夠減少很大工作量。通過使用多項式粗略計算出兩張影像的對應關系就可以解決這一問題。

根據 ERDAS 系統要求,我們最少需要 3 個點就可以在兩張衛星影像間建立一個粗略的對應關系。使用至少 3 個點建立起正算多項式模型後,便可以將自動檢測出來的控制點迅速對應到參考影像上,只需要在很小的范圍內調整就可以精確標注出其在參考影像上的位置。圖 4-5 左側為原始影像上自動檢測點,右側為參考影像上粗定位點,需要進行調整。

圖 4-5 配准

雖然計算機的引入可以大量節約勞動,但是因為技術所限,並不能解決矯正和配准所有環節的全部問題,從而將測繪工作者徹底解放出來。

本次項目生產過程中,針對 SPOT 5_10 m 多光譜數據重采樣成間隔為 2.5 m,重采樣方法採用雙線性內插法。以景為配准單元,以 SPOT 5_2.5 m 全色數據為配准基礎,將 SPOT 5 多光譜數據與之配准。隨機選擇配准後全色與多光譜數據上的同名點,要求配准誤差平原和丘陵地區不超過 0.5 個像元,山區適當放寬至 1 個像元。配准控制點文件命名使用「景號 + MULTI 和 PAN」,如「287267MULTI」。配准文件命名使用「景號 + MATCH」,如「287267MATCH」。

影像配准採用的是 ERDAS 9.1 中的自動配准模塊(AutoSync)。首先,在單景影像的四角部位手動選取四個配准控制同名點,然後由軟體生成自動配准控制點,剔除其中誤差較大的控制點後,進行自動配准(圖 4-6)。配准完成後,採用軟體提供的「拉窗簾」的方式對整景影像自上而下、自左至右進行配准精度檢查(圖 4-7)。

總結配準的工作,可以看到基本上分為如下幾步:①標注至少 3 個粗匹配控制點;②設置檢測參數;③進行自動檢測;④人工調整和保存控制點;⑤進行配准。其中第 4 步仍然需要人工參與,主要的問題在於兩點:一是精度是否真正是人感官上的特徵點方面存在問題;二是參考圖像上的控制點僅僅是粗略對應標注,人工無法手動調整至精確對應位置,因此,暫時的配准工作僅僅部分減輕了人工工作量,但不可能完全由計算機完成配准工作。

圖 4-6 影像配准

圖 4-7 影像配准精度「拉窗簾」檢查

4.3.3 數據融合

4.3.3.1 融合前數據的預處理

獲取完整項目區的衛星影像數據時,由於接收時間跨度較大,數據時相差別較大,加上空中雲、霧或霾的干擾以及地面光照不均勻等因素,造成景與景之間的影像光譜和紋理特徵差別較大。為使影像紋理清晰,細節突出,提高目視解譯精度等,在數據融合前必須對數據進行預處理。

SPOT 5 全色波段數據處理的目的是增強局部灰度反差、突出紋理、加強紋理能量和通過濾波來提高紋理細節。

(1)線性變換。經過線性拉伸處理的影像數據,既增強局部灰度反差又保持原始灰度間的相對關系。

圖 4-8 線性變換

設A1、A2為輸入影像的嵌位控制值,B1、B2為變換後影像最低、最高亮度值(圖4-8),輸入影像的亮度值A1~A2被拉伸為B1~B2范圍,其中輸入亮度0~A1及A2~255分別被變換為B1、B2,如果賦值B1=0、B2=255,則拉大了輸入影像的動態范圍,從而反差得到增強,保持了輸入影像灰度間的線性關系。通過線性拉伸將位移A1變換為0,而將A2變為255;這樣既沒有改變A1到A2之間灰度值的相對關系,又擴展了直方圖的動態范圍,從而增強影像結構的細微突變信息。

(2)紋理增強。紋理能量增強目前主要靠高通濾波來實現,在空域增強中濾波器選擇是關鍵。不同影像地貌、地物選擇的濾波核各異。一般地,在地形高起伏地區,地理單元比較宏觀,採用的濾波器一般較大,能夠反映地理單元的宏觀特點,選擇較小的濾波核會破壞整體的地貌外形。在地理單元分布細碎,地貌細膩,選擇濾波器相對應較小,否則無法表現細碎的紋理結構。在紋理能量增強時應該避免增強過剩,否則影像細節會過於飽和,使紋理喪失,達不到增強細節的目的。以下濾波核是本次用到的邊緣增強濾波運算元,應用效果比較好。如圖4-9所示。

圖 4-9 濾波增強

(3)多光譜數據處理。在融合影像中,多光譜數據的貢獻是其光譜信息。融合前主要以色彩增強為主,調整亮度、色度、飽和度,拉開不同地類之間的色彩反差,對局部的紋理要求不高,有時為了保證光譜色彩,還允許削弱部分紋理信息。

4.3.3.2 影像融合

目前用於多源遙感數據融合的方法很多,從技術層次來分,可以包括像元級融合、特徵級融合和決策級融合三個層次。像元級融合有HIS變換、主分量變換、假彩色合成、小波變換、加權融合等方法;特徵級融合有Bayes、決策法、神經網路法、比值運算、聚類分析等方法;決策級融合有基於知識的融合、神經網路、濾波融合等方法。從融合演算法上分,可分為對圖像直接進行代數運算的方法,如加權融合法、乘積融合法、Brovey變換融合法等;第二種是基於各種空間變換的方法,如HIS變換融合法、PCA變換融合法、Lab變換融合法等;第三種是基於金字塔式分解和重建的融合方法,如拉普拉斯金字塔融合法、小波變換融合法。

本項目所使用數據為SPOT5數據,缺少藍波段多光譜,對數據採用了自然色模擬方法,在土地利用資源調查中,多光譜信息可以突出地反映土地利用類型的要素信息,提高影像的可判讀性,便於從圖形、紋理特徵及光譜特徵進行綜合判別分析。一般遙感衛星多光譜感測器波譜范圍覆蓋整個可見光部分,即藍、綠、紅波段。而SPOT系列遙感衛星其多光譜覆蓋范圍在可見光部分僅從綠到紅波段,缺少藍波段。在利用遙感衛星影像進行土地利用資源調查時,多光譜信息要求必須以人眼可見的自然色表達,而不允許用偽彩色和紅外彩色模擬,以便於非遙感測繪人員的判讀與實地調查。對於通常的SPOT系列遙感衛星的自然色模擬方法,往往僅靠不同波段組合,以人眼目視判別、感知來調整色調。作業人員的先驗知識作色調調整,作業人員經驗欠缺時,色調調校失真較大;二是標准難以定量統一,不同調校時間、人員,不同景影像的拼接,由於感知的差異都難以達到同一或近似的標准。通過分析全省SPOT5數據特徵,本次影像融合處理主要採用了乘積變換融合和Andorre融合。

Andorre融合採用的是視寶公司提供的Andorre融合方法,具體步驟為:

步驟1 對全色影像先做正態化處理。等價於Wallis濾波及增強局部(紋理增強)與全局對比度。

步驟2 按下面公式融合(P是正態化處理後的全色影像,B1是綠波段,B2是紅波段,B3是近紅外波段)。

ERDAS 中模塊計算公式:

§ 公式一(藍通道):

§ 公式二(綠通道):

§ 公式三(紅通道):

步驟 3 按下面公式完成偽自然色轉換:

ERDAS 中模塊計算公式:

§ 公式一(紅通道):

§ 公式二(綠通道):

§ 公式三(藍通道):

步驟 4 對步驟 3 生成的各個通道執行直方圖拉伸處理。通常,線性直方圖拉伸可以滿足這種彩色影像的調整,需要根據影像目視效果定義閾值。閾值的選擇應該避免在平衡其他顏色造成的像素過飽和。或在 Photoshop 中調整影像色調、亮度及對比度等直至滿足要求。

通過 ERDAS 中 Model 實現其演算法(圖 4-10)。

4.3.3.3 融合影像後處理

後處理主要採用以下 5 種方法:

(1)直方圖調整。對反差較低、亮度偏暗的融合影像,調整輸入輸出范圍,改變反差系數進行線性拉伸,使其各色直方圖達到接近正態分布。輸出范圍一般都定為 0~255,而在輸入范圍的選擇中,對低亮度端的截去應慎重,可以消除部分雜訊。

(2)USM 銳化。通過變化閾值、半徑、銳化程度增強地物邊緣特徵。注意閾值和半徑的設定值不宜過大,銳化程度可根據不同地區影像特點適當選取。通過軟體的預覽功能可以判斷參數選擇得是否合適。城鄉結合部、居民點、道路和耕地邊界是需要重點突出的地物,必須保證清晰可辨,進一步改善總體效果。

(3)彩色平衡。經過融合運算後,影像或多或少會帶有一定程度的偏色,需要通過調整彩色平衡加以改正。

(4)色度飽和度調整。由於 SPOT 5 影像融合後存在大量的洋紅色,與實地顏色不一致的,可以通過改變色度、飽和度、明度等將其轉變為土黃色,使其更接近於真實顏色。

(5)反差增強。通過亮度和對比度調整,可以增強地物間的反差,使不同地類更易區分。

通過融合影像後處理,進一步改善影像的視覺效果,使整景影像色彩真實均勻、明暗程度適中、清晰,增強專題信息,特別是加強紋理信息。

圖 4-10 融合處理演算法

4.3.4 正射校正模型選擇與處理

4.3.4.1 正射糾正的基本模型

一般對推掃式遙感衛星影像的正射糾正有嚴密糾正模型和變換關系糾正模型兩大類。嚴密糾正模型根據衛星軌道參數、感測器攝影特徵以及成像特點,由感測器在獲取影像瞬間的位置、方位等因素,建立起像點與地面之間的共線關系,並由此共線方程解求像點或地面點的糾正。而變換關系糾正模型是一種傳統的幾何糾正方式,不考慮成像的特性,它通過地面控制點與影像同名點計算出不同變換式的變換系數,從而將變形的原始影像擬合到地面坐標中。

嚴密糾正模型有基於多項式的共線方程、基於衛星軌道參數的糾正方法、基於光束法的區域網平差等方法;變換關系糾正模型有多項式糾正、有理函數多項式、有理函數多項式區域網平差等方法。其中,區域網平差是用較少的控制點以多景影像組成區域網進行平差的糾正方法。

(1)基於多項式的共線方程糾正方法。改正原始影像的幾何變形,採用像素坐標變換,使影像坐標符合某種地圖投影和圖形表達方式和像素亮度值重采樣。在攝影瞬間,感測器、影像、地面三者之間,以共線方程反映了成像時地面點和像點之間一一對應的關系。

由於推掃式成像是當前大多數遙感衛星採用的主流成像方式,那麼整景影像為多中心投影,每條掃描線是中心投影。用共線方程表達為

推掃式成像的每一掃描線外方位元素均不同,且y值恆為0。正射糾正時必須求解每一行的外方位元素,利用共線方程得到與地面點相對應的像點坐標,加入DEM後對影像進行糾正。

一般可以認為,在一定時間內,遙感衛星在軌道運行時,空間姿態變化是穩定的,那麼6個外方位元素的變化是時間的函數。由於推掃式影像y坐標和時間之間有固定的對應關系,即每行掃描時間相同,所以可將第i行外方位元素表示為初始外方位元素(φi,wi,ki)和行數y的函數,而這個函數可以用二次多項式函數來表示,即

該方法需獲得初始外方位元素可從星歷文件中得到,如SPOTS影像星歷,在DIM,CAP格式文件中。

(2)多項式糾正方法。多項式糾正方法是一種傳統的變換關系糾正方法。多項式用二維的地面控制點計算出與像點的變換關系,設定任意像元在原始影像中坐標和對應地面點坐標分別為(x,y)和(X,Y),以x=Fx(x,y),y=Fy(x,y)數學表達式表達,如果該數學表達式採用多項式函數來表達,則像點坐標(x,y)與地面點坐標(X,Y)建立的多項式函數為

式中(:a0,a1,a2,a3,……,an)(,b0,b1,b2,b3,……,bn)——變換系數。

一般多項式階數是1階到5階的,式中表達的為3階。所需控制點數N與多項式階數n的關系為:N(=n+1)(n+2)/2,即1階需3個控制點,2階需6個控制點,3階需10個控制點。

多項式糾正考慮二維平面間的關系差,因此,對於地形起伏高差較大的區域,並不能改正由地形起伏引起的投影誤差,糾正後的精度就不高。另外考慮入射角的影響,多項式糾正對於地形起伏較大地區並不適宜。

(3)有理函數糾正方法。有理函數糾正方法是一種變換關系的幾何糾正模型,以有理函數系數(Rational Function Coefficient)將地面點P(La,Lb,Hc)與影像上的點(pIi,Sa)聯系起來。對於地面點P,其影像坐標(pIi,Sa)的計算始於經緯度的正則化,即

正則化的影像坐標(x,y)為

求得的影像坐標為

有理函數糾正不僅以較高的精度進行物方和像方的空間變換,相對於多項式糾正方法考慮了地面高程,相對於基於共線方程模型使復雜的實際感測器模型得以簡化,便於實現。

(4)區域網平差糾正方法。區域網平差,首先將三維空間模型經過相似變換縮小到影像空間,再將其以平行光投影至過原始影像中心的一個水平面上,最後將其變換至原始傾斜影像,從而進行以仿射變換建立誤差方程,包括每景影像的參數和地面影像坐標的改正,組成法方程,進行平差計算改正。基於模型的區域網平差,是通過影像之間的約束關系補償有理函數模型的系統誤差。區域網平差要合理布設控制點,在景間需有一定數量的連接點,所需控制點數量較少。

4.3.4.2 正射糾正

本次遙感影像正射糾正採用專業遙感影像處理軟體ERDAS提供的LPS正射模塊進行的,糾正過程如圖4-11所示。

圖 4-11 正射糾正流程

為了與以往的縣級土地利用資料庫相銜接,平面坐標系統仍然採用 1954 北京坐標系,高程系統採用 1985 國家高程基準,投影方式採用高斯-克呂格投影,分帶方式為 3°分帶。

本項目涉及 79 景連片且同源影像數據,因此採用整體區域糾正,以工作區為糾正單元,利用具有區域網糾正功能的 ERDAS 中 LPS 模塊進行區域網平差,根據影像分布情況建立一個區域網文件,快速生成無縫正射鑲嵌精確的正射影像,如圖 4-12 所示。因本工作區涉及 37°、38°、39°三個 3°分帶,考慮到全省數據鑲嵌等問題,整個工程採用 38°帶,其中央經線為 114°。

本次糾正中採用 SPOT 5 物理模型,控制點均勻分布於整景影像,控制點個數 25 個,相鄰景影像重疊區有 2 個以上共用控制點。

工作區控制點分布如圖 4-13 所示。

影像正射糾正以實測控制點和 1∶5 萬 DEM 為糾正基礎,以工作區為糾正單元,采樣間隔為 2.5 m。

對控制點和連接點超過限差的要進行檢查、剔除,發現誤差超限的點位,應先通過設置其為檢查點方式重新解算,如解算通過,則通過平差解算;如果糾正精度超限,查找超限原因,則應考慮在誤差較大的點位附近換點或增補點加以解決,並進行必要的返工,直至滿足要求為止。控制點採集如圖 4-14 所示。

對整景利用 DEM 數據在 LPS 中選取 SPOT 5 Orbital Pushbroom 感測器模型,投影選取 Gauss Kruger,橢球體採用 Krasovsky,進行正射糾正,糾正精度滿足 SPOT 5_2.5 m 數字正射影像圖糾正精度要求,糾正後的圖面點位中誤差見表 4-2。

圖 4-12 整體區域糾正控制點選取示意圖

圖 4-13 區域網平差糾正工程圖

圖 4-14 控制點採集

表 4-2 正射糾正控制點中誤差

續表

4.3.5 鑲嵌

以項目區為單位,對相鄰景正射影像的接邊精度進行檢查。經檢查接邊精度合格後,以項目區為單位,對正射影像進行鑲嵌。

由於項目區採用的是 ERDAS 提供的 LPS 正射模塊區域網平差糾正,相鄰兩幅影像,均採集了兩個以上的共用控制點,相應提高了影像鑲嵌精度。

在項目區相鄰景影像的重疊區域中,平原、丘陵與山區分別隨機選取了 30 對均勻分布的檢查點,檢查影像的接邊精度。根據檢查點的點位坐標,計算檢查點點位中誤差。見表 4-3。

表 4-3 影像鑲嵌誤差

本項目影像鑲嵌以工作區為單元,在景與景之間鑲嵌線盡量選取線狀地物或地塊邊界等明顯分界處,以便使鑲嵌影像中的拼接縫盡可能地消除,盡量避開雲、霧及其他質量相對較差的區域,使鑲嵌處無裂縫、模糊和重影現象,使鑲嵌處影像色彩過渡自然,使不同時相影像鑲嵌時保證同一地塊內紋理特徵一致,方便地類判讀和界線勾繪。影像鑲嵌圖如圖 4-15 所示。

⑦ 目標跟蹤系統中的濾波方法這本書好嗎


標跟蹤系統中的濾波方法》共分10章。第1章介紹了濾波方法在目標跟蹤系統中的地位和作用,以及濾波方法的研究進展和評價標准。第2章對卡爾曼濾波和與卡
爾曼濾波相關的非線性濾波演算法做了論述。第3章介紹粒子濾波,包括序貫重要性重采樣粒子濾波、輔助粒子濾波、正則化粒子濾波、擴展卡爾曼粒子濾波、高斯和
粒子濾波、邊緣粒子濾波等。第4章論述等式狀態約束條件下的濾波演算法,提出了一種線性等式狀態約束條件下的粒子濾波演算法和一種迭代收縮非線性狀態約束條件
下的濾波演算法。第5章討論自適應卡爾曼濾波,提出了一種雙重迭代變分貝葉斯自適應卡爾曼濾波演算法及其融合方法。第6章討論無序量測條件下的濾波方法,提出
了一種基於不敏變換的無序量測融合演算法。第7章討論網路丟包條件下的濾波方法,提出了一種非線性系統中具有丟包情況的濾波方法。第8章研究各類非線性濾波
RTs平滑演算法,並在此基礎上提出了一種RTs分段融合方法。第9章介紹了幾種非線性濾波演算法在目標跟蹤系統中的應用實例。第10章是相關的數學預備知
識,內容涉及向量和矩陣、隨機變數、隨機向量和隨機過程。

《目標跟蹤系統中的濾波方法》內容屬於信息融合研究領域。針對多條件下目標跟蹤系統中的濾波方法,本書結合近年來國內外研究熱點進行論述,內容較為新穎。
具體內容包括:卡爾曼濾波和非線性系統濾波、粒子濾波、等式狀態約束條件下的濾波、自適應卡爾曼濾波及其融合、無序量測條件下的濾波、網路丟包條件下的濾
波、RTS平滑及其分段融合以及非線性濾波演算法在目標跟蹤中的應用等。
《目標跟蹤系統中的濾波方法》可供電子信息、自動化、計算機應用、控制科學與工程、信號處理、導航與制導等相關專業高年級本科生和研究生,以及相關領域的工程技術人員和研究人員參考。

⑧ 軟體濾波的演算法

1、限幅濾波法(又稱程序判斷濾波法)
A、方法:根據經驗判斷,確定兩次采樣允許的最大偏差值(設為A),每次檢測到新值時判斷:如果本次值與上次值之差<=A,則本次值有效。如果本次值與上次值之差>A,則本次值無效,放棄本次值,用上次值代替本次值
B、優點:能有效克服因偶然因素引起的脈沖干擾。
C、缺點:無法抑制那種周期性的干擾,平滑度差。
2、中位值濾波法
A、方法:連續采樣N次(N取奇數),把N次采樣值按大小排列,取中間值為本次有效值。
B、優點:能有效克服因偶然因素引起的波動干擾,對溫度、液位的變化緩慢的被測參數有良好的濾波效果。
C、缺點:對流量、速度等快速變化的參數不宜。
3、算術平均濾波法
A、方法:連續取N個采樣值進行算術平均運算。N值較大時:信號平滑度較高,但靈敏度較低;N值較小時:信號平滑度較低,但靈敏度較高。N值的選取:一般流量,N=12;壓力:N=4
B、優點:適用於對一般具有隨機干擾的信號進行濾波,這樣信號的特點是有一個平均值,信號在某一數值范圍附近上下波動。
C、缺點:對於測量速度較慢或要求數據計算速度較快的實時控制不適用,比較浪費RAM。
4、遞推平均濾波法(又稱滑動平均濾波法)
A、方法:把連續取N個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數據放入隊尾,並扔掉原來隊首的一次數據.(先進先出原則),把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果。N值的選取:流量,N=12;壓力:N=4;液面,N=4~12;溫度,N=1~4
B、優點:對周期性干擾有良好的抑製作用,平滑度高,適用於高頻振盪的系統。
C、缺點:靈敏度低 ,對偶然出現的脈沖性干擾的抑製作用較差,不易消除由於脈沖干擾所引起的采樣值偏差,不適用於脈沖干擾比較嚴重的場合,比較浪費RAM
5、中位值平均濾波法(又稱防脈沖干擾平均濾波法)
A、方法:相當於「中位值濾波法」+「算術平均濾波法」。連續采樣N個數據,去掉一個最大值和一個最小值,然後計算N-2個數據的算術平均值。N值的選取:3~14
B、優點:融合了兩種濾波法的優點,對於偶然出現的脈沖性干擾,可消除由於脈沖干擾所引起的采樣值偏差。
C、缺點:測量速度較慢,和算術平均濾波法一樣,比較浪費RAM。
6、限幅平均濾波法
A、方法:相當於「限幅濾波法」+「遞推平均濾波法」,每次采樣到的新數據先進行限幅處理,再送入隊列進行遞推平均濾波處理。
C、缺點:比較浪費RAM。
7、一階滯後濾波法
A、方法:取a=0~1,本次濾波結果=(1-a)*本次采樣值+a*上次濾波結果。
B、優點:對周期性干擾具有良好的抑製作用,適用於波動頻率較高的場合。
C、缺點: 相位滯後,靈敏度低,滯後程度取決於a值大小,不能消除濾波頻率高於采樣頻率的1/2的干擾信號。
8、加權遞推平均濾波法
A、方法:是對遞推平均濾波法的改進,即不同時刻的數據加以不同的權。通常是,越接近現時刻的數據,權取得越大。給予新采樣值的權系數越大,則靈敏度越高,但信號平滑度越低。
B、優點:適用於有較大純滯後時間常數的對象和采樣周期較短的系統。
C、缺點:對於純滯後時間常數較小,采樣周期較長,變化緩慢的信號不能迅速反應系統當前所受干擾的嚴重程度,濾波效果差。
9、消抖濾波法
A、方法:設置一個濾波計數器將每次采樣值與當前有效值比較:如果采樣值=當前有效值,則計數器清零如果采樣值<>當前有效判斷計數器是否>=上限N(溢出),如果計數器溢出,則將本次值替換當前有效值,並清計數器 。
B、優點:對於變化緩慢的被測參數有較好的濾波效果,可避免在臨界值附近控制器的反復開/關跳動或顯示器上數值抖動。
C、缺點:對於快速變化的參數不宜,如果在計數器溢出的那一次采樣到的值恰好是干擾值,則會將干擾值當作有效值導入系統。
10、限幅消抖濾波法
A、方法:相當於「限幅濾波法」+「消抖濾波法」 先限幅,後消抖。
B、優點: 繼承了「限幅」和「消抖」的優點改進了「消抖濾波法」中的某些缺陷,避免將干擾值導入系統。
C、缺點:對於快速變化的參數不宜。
11、IIR 數字濾波器
A. 方法:確定信號帶寬, 濾之。 Y(n) = a1*Y(n-1) + a2*Y(n-2) + . + ak*Y(n-k) + b0*X(n) + b1*X(n-1) + b2*X(n-2) + . + bk*X(n-k)。
B. 優點:高通,低通,帶通,帶阻任意。設計簡單(用matlab)
C. 缺點:運算量大。

⑨ 常用的數字濾波的方法都有哪些,寫出其中三種數字濾波的演算法

經典濾波的概念,是根據傅里葉分析和變換提出的一個工程概念。根據高等數學理論,任何一個滿足一定條件的信號,都可以被看成是由無限個正弦波疊加而成。換句話說,就是工程信號是不同頻率的正弦波線性疊加而成的,組成信號的不同頻率的正弦波叫做信號的頻率成分或叫做諧波成分。實際上,任何一個電子系統都具有自己的頻帶寬度(對信號最高頻率的限制),頻率特性反映出了電子系統的這個基本特點。而濾波器,則是根據電路參數對電路頻帶寬度的影響而設計出來的工程應用電路 。
現代濾波
現代濾波思想是和經典濾波思想截然不同的。現代濾波是利用信號的隨機性的本質,將信號及其雜訊看成隨機信號,通過利用其統計特徵,估計出信號本身。一旦信號被估計出,得到的信號本身比原來的信噪比高出許多。典型的數字濾波器有Kalman濾波,Wenner濾波,自適應濾波,小波變換(wavelet)等手段[3] 。從本質上講,數字濾波實際上是一種演算法,這種演算法在數字設備上得以實現。這里的數字設備不僅包含計算機,還有嵌入式設備如:DSP,FPGA,ARM等。

閱讀全文

與濾波融合演算法相關的資料

熱點內容
單片機熱釋紅外報警器 瀏覽:659
單片機原理及介面技術b卷 瀏覽:354
php鏈接正則表達式 瀏覽:964
安卓版蘋果手機怎麼轉手 瀏覽:101
安卓怎麼修改app的名字 瀏覽:135
域名伺服器可將域名地址 瀏覽:721
廣州伺服器機櫃怎麼賣 瀏覽:236
轉讓騰訊雲三年伺服器 瀏覽:252
網易雲音樂加密怎麼處理 瀏覽:387
編譯小視頻軟體 瀏覽:595
盒馬app買東西怎麼送 瀏覽:119
編譯原理國產 瀏覽:691
在線用pdf轉word 瀏覽:424
咪咕app怎麼發表文章 瀏覽:209
phpsftp上傳 瀏覽:936
php可以幹嘛 瀏覽:879
梁箍筋加密區需要滿綁扎嗎 瀏覽:331
程序員半個月工資多少 瀏覽:821
雲伺服器租賃還是私有 瀏覽:752
php七牛視頻上傳 瀏覽:14