6ES5955-7NC126ES5955-7NC12
匹配區(qū)域太小會導(dǎo)致目標(biāo)動態(tài)特性變差,過大又會導(dǎo)致計算量大幅度增加,具體選擇需要權(quán)衡設(shè)備參數(shù)來決定。由于CCIR制式視頻信號是隔行掃描,系統(tǒng)出于實時性考慮,數(shù)據(jù)以場為單位處理,導(dǎo)致圖像比例為2:1狀態(tài)。為了保持水平、垂直方向的動態(tài)特性*,圖像匹配區(qū)域也按2:1比例選擇。
在滿足實時性要求的情況下,選擇相對較大的匹配范圍,可提高設(shè)備的動態(tài)特性,從表1實測數(shù)據(jù)可以看出,選擇匹配區(qū)域100×50點、模板32×16點時,動態(tài)范圍為69×35,時間消耗為13ms。光電探測設(shè)備系統(tǒng)目標(biāo)動態(tài)特性要求處理區(qū)域不小于40×20點。可見以上選擇可以很好地滿足動態(tài)特性和實時性要求。
表1 匹配區(qū)域與*優(yōu)化處理時間對比表
匹配區(qū)域 256×128 200×100 150×75 100×50 70×35
直接處理時間(ms) 320 177 88 30 13
優(yōu)化處理時間(ms) 90 72 55 13 5
*數(shù)據(jù)測試平臺為:PIII933CPU、256MB內(nèi)存、Win2000操作系統(tǒng)
**數(shù)據(jù)是在加入算法優(yōu)化、模板尺寸為32×16的情況下獲取的。
3 數(shù)學(xué)模型優(yōu)化方法
數(shù)學(xué)模型結(jié)合選擇的模板和搜索區(qū)域大小,可以知道模板*匹配點計算公式如下:
由公式(7)可以看出,程序需要進(jìn)行大量的循環(huán)計算,整體運算量仍然不小,需要進(jìn)一步優(yōu)化,減少處理時間。運用如下優(yōu)化算法進(jìn)一步減少實際運算量。
3.1 粗精匹配結(jié)合
觀察實際模板匹配運算結(jié)果可以發(fā)現(xiàn),匹配點附近的匹配誤差迅速下降,有顯區(qū)別于其它位置。針對這一特點,采用粗精匹配結(jié)合的算法迅速鎖定匹配點大致區(qū)域,可大大降低整體匹配次數(shù)。
具體實現(xiàn)方法:先跳動著隔幾個點進(jìn)行一次粗匹配,大致框定匹配區(qū)域,然后在附近區(qū)域逐一檢索獲得*匹配點。運算量可減少到三分之一以下,且目標(biāo)提取效果相當(dāng)好。
3.2 限制zui大匹配誤差
因為只需找到zui小匹配誤差的位置,不必完整計算每一位置的匹配誤差,而以已經(jīng)計算zui小匹配誤差作為zui大允許誤差。若計算誤差大于該zui大允許誤差,就肯定不是*匹配點,可以提前結(jié)束計算,進(jìn)入下一匹配位置的計算;如果匹配完成后仍小于zui大允許誤差,就用當(dāng)前誤差替換zui大允許誤差,并把該點作為潛在的匹配位置記錄下來。
匹配點和非匹配點的誤差常常相差2~3個數(shù)量級。經(jīng)過這種處理后,匹配點后剩余的計算量可以大大降低。
3.3 亂序匹配
目標(biāo)出現(xiàn)在匹配區(qū)域中的位置不確定。不固定順序算法可以更快地檢索到匹配區(qū)域,迅速降低zui大匹配誤差,減少剩余非匹配點的計算一,降低整體運算量。
針對光電探測設(shè)備的實際工作情況,在跟蹤狀態(tài)下,目標(biāo)位移角速度和角加速度有限,導(dǎo)致目標(biāo)常處于匹配區(qū)域中心附近。選擇由中心向周圍輻射匹配的方式效果。
4 程序樣本
以下程序樣本綜合使用了上面的優(yōu)化算法,成功應(yīng)用于紅外熱成像跟蹤技術(shù)的原理樣機(jī),達(dá)到了預(yù)期效果。
該函數(shù)用于圖像模板匹配運算,適用于256灰度值的黑白圖像數(shù)據(jù)。
Deal_With:TemplateMatch(unsigned char* lpSource,LONGlWidth,LONG lHeight,unsigned char* lpTemplate,LONG lTemplateWidth,LONG lTemplateHeight,)
{
unsigned char* Source; //指向待處理圖像的指針
unsigned char*Template; //指向模板圖像的指針
int i,j,m,n; //循環(huán)變量
unsigned char lMaxWidth,lMaxHeigth,//匹配位置
unsigned long D; //相似誤差
unsigned long MaxD; //zui大允許相似誤差
//粗相關(guān)
MaxD=0x10000000; //約定zui大匹配誤差
for(j=0;j<lHeight-lTemplateHeight +1 ;j+=2){
for(i=0;i<lWidth-lTemplateWidth+1;i+=2){
D=0;
Source=(unsigned char *)lpSource+lWidth*j+i;
Template=(unsigned char *)lpTemplate;
for(n=0;n<lTemplateHeight && D<MinD;n++){
for(m=0;m<lTemplateWidth && D<MinD;m++)
D+=(*Source++-*Template++)*(*Source++-*Template++);
Source+=lWidth-lTemplateWidth;
}
if(D<MaxD){
MaxD=D;
lMaxWidth=i;
lMaxHeight=j;
}
}
}
//精相關(guān)
lMaxWidthExact=lMaxWidth;
lMaxHeightExact=lMaxHeight;
for(j=lMaxHeight-2;j<=lMaxHeight+2;j++){
for(i=lMaxWidth-2;i<=lMaxWidth+2;i++){
D=0;
Source=(unsigned char *)lpSource+lWidth*j+i;
Template=(unsigned char *)lpTemplate;
for(n=0;n<lTemplateHeight && D<MinD;n++){
for(m=0;m<lTemplateWidth && D<MinD;m++)
D+=(*Source++-*Template++)*(*Source++-*Template++);
Source+=lWidth-lTemplateWidth;
}
if(D<MaxD){
MaxD=D;
lMaxWidthExact=i; //x方向*匹配點位置
lMaxHeightExact=j; //y方向*匹配點位置
}
Siemens 6AV3688-3CD13-0?AX0 PP17-I 6AV3 688-3CD13-0AX0
Junkers 8 748 300 281 0 Grundmodul 87483002810 Neu OVP
Landis & Staefa SQX31.00 Slenantrieb Neu OVP SQX 31
Wolf Heizkreispumpe TGB-40/60 Artnr. 8602521 Neu OVP
Centra MCR 52-12Z Honeywell MCR 52 - 12 Z
Centra MCR 32 Honeywell MCR32
Landis & Gyr RVP41.180 RVP 41.180
SIEMENS 6ES7158-3AD01-0?XA0 // 6ES7 158-3AD01-0XA0
Honeywell Centra ZG252 /// ZG 252 Heizungsregelun?g
Honeywell Centra ZG252 /// ZG 252 Heizungsregelun?g
Siemens S5 6ES5 921-3WB11 Simatic 6ES5921-3WB11
Heizungsregler Siemens RVP 300 RVP300
Heizungsregler Siemens RVP 340 RVP340
Heizungsregler Siemens RVP 300 RVP300
Siemens RVL 471 Heizungsregler RVL471
Vaillant 360 f CalorMATIC 360f für Osteuropa
Junkers Heizungsregler TA 21E/A TA 21 E/A
Honeywell Centra ZG252 E /// ZG 252E // ZG 252 E Heiz
Landis & Gyr RVP21.6 RVP 21.6
Siemens RVD115 Heizungsregler RVD 115
Centra MCR 52-10 Honeywell MCR 52 - 10
Centra MCR 32 Honeywell MCR32
Landis & Gyr RVP41.100 RVP 41.100
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500
Landis & Gyr RVP21.82 RVP 21.82
Hydrotherm 170562 Eurotron HRA 7655
Junkers Heizungsregler TA 21E TA 21 E
Siemens RVD230 Heizungsregler RVD 230
SIEMENS RVL480 Heizungsregler RVL 480
Siemens 6GK1503-2CA00 // 6GK1 503-2CA00
Centra VMM30 Honeywell VMM 30 Mischer Motor
SIEMENS 6ES7 151-3BA23-0AB0 simatic 6ES7151-3BA23-0?AB0
Siemens 6ES7 332-5HB01-0AB0 // 6ES7332-5HB01-0?AB0
Kieback & Peter DDC -Zentrale DDC10 KRD-DDC DDC 10
Junkers 87483004830 Leiterplatte 8 748 300 483 0
Vaillant 06-5129 W?rmetauscher 065129
Vaillant 06-1835 W?rmetauscher 061835
Centra VMM30 Honeywell VMM 30 Mischer Motor
Junkers Heizungsregler TA 213E TA 213 E 77190007
Siemens 6ES7 332-5HB01-0AB0 // 6ES7332-5HB01-0?AB0
Junkers 87483002810 Leiterplatte 8 748 300 281 0
Junkers 87483002830 Leiterplatte 8 748 300 283 0
Siemens 6GK1143-0AA01 CP 143 6GK1 143-0AA01
Vaillant 06-1835 W?rmetauscher 061835
Vaillant 06-1835 W?rmetauscher 061835
Honeywell Centra ZG252 E /// ZG 252E // ZG 252 E Heiz
Vaillant VRT-PF 300905 VRT - PF Funkregler VRT-PFS
Vaillant Raumtemperaturr?egler calorMATIC 340F // 340
Siemens 6FX1112-1AB01 // 6FX1 112-1AB01
Siemens 6ES7 322-1FH00-0AA0 simatic 6ES7322-1FH00-0?AA0
Vaillant VRT-PF 300905 VRT - PF Funkregler VRT-PFS
Heizungsregler Delt2 // Delta 2
Junkers 87172043263 Bosch 8 717 204 263 Pumpe Neu
Centra MCR 36 Honeywell MCR36
Landis & Staefa RVA53.140/100 RVA 53.140/100
Junkers W?rmeübertr?ger 18 kw für ZSN/ZWN 18-7 AE/AME.
Unical Regelung WNH2B
Siemens SIMATIC S5 6ES5530-3LA12 // 6ES5 530-3LA12
SIEMENS 6ES7 151-3BA23-0AB0 simatic 6ES7151-3BA23-0?AB0
Siemens Landis & Staefa RVA 53.140/380 RVA 53.140 /380
Junkers 8715406046 W?rmetauscher 8 715 406 046
Vaillant 06-5130 W?rmetauscher 065130
Siemens SQS35 Slantrieb SQS 35
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500
Junkers Heizungsregler TA 21E TA 21 E
Siemens S5 6ES5 454-4UA11 // 6ES5454-4UA11
Siemens SIMATIC S5 6ES5530-3LA12 // 6ES5 530-3LA12
Siemens 6GK5005-0GA00-1?AB2 // 6GK5 005-0GA00-1AB2
Landis & Gyr RVP 54.100/109 RVP 54.100 /109
Siemens SQS35.50 Slantrieb SQS 35.50
SIEMENS 6ES7 405-0RA01-0AA0 simatic 6ES7405-0RA01-0?AA0
Siemens SQS65 Slantrieb SQS 65
Landis & Gyr RVP 97 Heizungsregler RVP97
Junkers Witterungsgefüh?rte Heizungsregelun?g TA 120E 7 7
Siemens SQS65 Slantrieb SQS 65
Siemens 6DS1602-8BA // 6DS1 602-8BA
Siemens 6DS1602-8BA // 6DS1 602-8BA
Landis & Gyr RVP54.130 Heizungsregler RVP 54.130/100
Wolf Bedienmodul 2745261
Siemens 6ES5 437-8EA12 SIMATIC 6ES5437-8EA12
Siemens S5 6ES5 415-7AB21 Simatic 6ES5415-7AB21
Vaillant 06-1849 W?rmetauscher 061849
Junkers Bosch Gasarmatur 8 717 001 330-0 PG58 Neu OVP
SIEMENS S5 6ES5 523-3UA11 E-Stand 05 6ES5523-3UA11
Vaillant VRC -SET CF VRC VC
Vaillant 05-3563 Gasarmatur 053563
Siemens 6ES7 332-7ND00-0AB0 simatic 6es7332-7ND00-0?AB0
Siemens 6SE3290-0XX87-8?BF0 OPM2 6SE3 290-0XX87-8BF0
Landis & Gyr RVP31.7 RVP 31.7
SIEMENS 6ES7 441-2AA01-0AE0 simatic 6ES7441-2AA01-0?AE0
Landis & Gyr RVP 40.2 Heizungsregler RVP40.2
Landis & Gyr RVP21.1 RVP 21.1
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500/100
Landis & Gyr RVP21.1 RVP 21.1
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500
Junkers 87154062000 W?rmetauscher 8 715 406 200 0
Siemens RVD110 Heizungsregler RVD 110
Landis & Gyr RVP 40.2 Heizungsregler RVP40.2
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500
Rapido Reglung EB-WSP 4V EB WSP
Landis & Gyr RVP 97 Heizungsregler RVP97
Vaillant VRC-UBW Compaktregler VRC UBW 252988
Vaillant 161070 Pumpe 16-1070
Siemens 6DS1602-8BA E-Stand:05 6DS1 602-8BA
Centra VMM30 Honeywell VMM 30 Mischer Motor
Siemens 6GK1502-2CB10 // 6GK1 502-2CB10
Landis & Gyr RVP45.500 Heizungsregler RVP 45.500/109
Siemens Simatic Siwarex 7MH4405-1AA00 Wiegeprozessor
SIEMENS 6ES7 153-1AA03-0XB0 simatic 6ES7153-1AA03-0?XB0
Siemens VVG 41.25-10 Dreiwegeventil VVG41.25-10
Landis & Gyr RVP31.31 RVP 31.31
Siemens 6DS1605-8AA // 6DS1 605-8AA
Junkers 87172043340 Bosch 8 717 204 334 0 Gebl?se
Vaillant VRT370 calorMATIC 370 VRT 370
Siemens 6DS1605-8AA // 6DS1 605-8AA
Vaillant Ladepumpe 0020038578
Junkers Raumtemperaturr?egler TR 10 - 3F Herst-Nr.771900?
Vaillant VRT240f VRT240f VRT 240 f
SIEMENS SITOP PSU300M 6EP1436-3BA10