資源簡介
為了實現對合成孔徑雷達(SAR)圖像中艦船目標的實時檢測,本文以雙參數恒虛警(CFAR)算法為例,提出一種基于ARM+GPU架構的SAR圖像艦船目標檢測算法的實現方案。該方案在NVIDIA Jetson TK1開發板上的測試結果表明,與傳統基于CPU 的SAR圖像艦船檢測算法相比,該方案能夠達到數百倍的速度提升,有效解決了利用CPU平臺進行艦船目標檢測耗時長、效率低的問題。Jetson TK1作為嵌入式處理平臺,相對于工作站或服務器,在功耗和便攜性方面都具有明顯的優勢。

代碼片段和文件信息
function?sar_cfar_6(hobjecteventdatahandlesf)
%SAR圖像CFAR目標檢測算法,算法采用的是基于瑞利分布的雙參數CFAR算法
%???sar_cfar_4(hobjecteventdatahandlesf),hobjecteventdatahandles分別是
%???圖形界面程序傳遞下來的對象,事件,句柄;在這里,對象和事件均未使用,只使用了
%???句柄,f為輸入的SAR圖像,此時,SAR圖像已經由三維變成了一維
f=imread(‘G:\1.jpg‘);
figure;
imshow(f);
pf?=?0.05;??????????????????????????%人為設定的恒虛警率
%?densGate?=?0.01;??????????????%密度濾波閾值
%?rad?=?1;????????????????????????%形態學濾波結構元素半徑值
%--圖像前期處理
f?=?double(f);
f_size?=?size(f);
%--交互的確定目標尺寸
%?rect?=?getrect(handles.axes1);??
width?=?5;
height?=?10;
%?tic
%--進度條程序
%?hWaitbar?=?waitbar(0‘請等待‘);
%?h1=findobj(hWaitbar‘type‘‘patch‘);
%?set(h1‘FaceColor‘‘r‘‘EdgeColor‘‘y‘);
%?numWait?=?f_size(1)*f_size(2);
%?numWaitCount?=?0;
%--------------------------------------------------------------------------
%????????一、確定CFAR檢測器參數,包括窗口尺寸,保護區寬度,雜波區寬度
%--------------------------------------------------------------------------
%--確定CFAR檢測器的參數
%--1.取長寬中的最大值
global?tMaxLength;
tMaxLength?=?max(widthheight);
%--2.確定保護區的邊長
global?proLength;
proLength?=?tMaxLength*2?+?1;???????????????????????????%為方便計算,取為奇數
%--3.確定雜波區環形寬度
global?cLength;
cLength?=?1;????????????????????????????????????????????%厚度一般為1個像素點
%--4.計算用于雜波區域的像素數
numPix?=?2*cLength*(2*cLength+proLength+proLength);?
%--5.CFAR檢測器邊長的一半
global?cfarHalfLength;
cfarHalfLength?=?tMaxLength+cLength;
%--6.CFAR檢測器邊長
global?cfarLength;
cfarLength?=?proLength?+?2*cLength;
str?=?sprintf(‘CFAR檢測器保護區邊長:%f,雜波區環形寬度:%f,用于雜波的像素數:%f‘...
??????????????proLengthcLengthnumPix);???????????????%顯示
%?disp(str);??????????????????????????????????????????????%顯示
%--------------------------------------------------------------------------
%?????????二、對原圖像邊界擴充,以消除邊界的影響
%--------------------------------------------------------------------------
padLength?=?cfarHalfLength;???????????%確定圖像填充的邊界大小為CFAR滑窗的一半
global?g;
g?=?padarray(f[padLength?padLength]‘symmetric‘);??????%g為填充后的圖像
%?global?g_dis;???????????????????????????????????????????%畫圖
%?g_dis?=?g;??????????????????????????????????????????????%畫圖
%--------------------------------------------------------------------------
%?????????三、確定CFAR閾值
%--------------------------------------------------------------------------
th?=?(2*sqrt(-log(pf))-sqrt(pi))/(sqrt(4-pi));??%該閾值由認為確定的虛警概率求
????????????????????????????????????????????????%得
%--------------------------------------------------------------------------
%????????四、利用CFAR檢測器,求解局部閾值,執行單個像素點的判斷
%--------------------------------------------------------------------------
%--1.定義結果處理矩陣
global?resultArray
resultArray?=?zeros(size(g));
%--2.CFAR檢測
%這里將CFAR檢測器劃分為四個檢測區,如下圖所示
%
%??????????|—————————————|
%??????????|——————-1——————|
%??????????|???|????????????????|???|
%??????????|???|????????????????|???|
%??????????|?3?|????????????????|?4?|
%??????????|???|????????????????|???|
%??????????|???|????????????????|???|
%??????????|???|?????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8775??2013-05-06?16:29??cfar.m
-----------?---------??----------?-----??----
?????????????????8775????????????????????1
評論
共有 條評論