智能学科前沿讲座大报告(二)所选类别:小型实验所选题目:SARSARSARSAR图像变化检测班级:020851020851020851020851姓名:徐宏立学号:02085086020850860208508602085086目录1.1.1.1.摘要………………………………………………11112.2.2.2.引言………………………………………………11113.3.3.3.一种简单的算法…………………………………11113.13.13.13.1算法原理………………………………………11113.23.23.23.2算法流程………………………………………11113.33.33.33.3实验程序………………………………………11114.4.4.4.实验结果…………………………………………11115.5.5.5.个人总结…………………………………………11116.6.6.6.参考资料…………………………………………11111.1.1.1.摘要这是一种简单的SAR图像变化检测算法,它采用了先将两时的实验图像“融合”——即利用图像的灰度信息对图像进行一定的简单处理得到初步的像素矩阵,接着对该矩阵进行放大,拉大像素之间的差距。然后再将新得到的图像进行简单的处理便可得到变化检测图。2.2.2.2.引言随着合成孔径雷达(SyntheticApertureRadar,SAR)技术的发展,SAR系统可以全天候全天时地对目标地区获取图像信息。SAR图像变化检测就是针对同一目标地区不同时间的SAR图像进行分析比较,根据两幅图像之间的差异得到变化的信息[1]。该技术在植被覆盖变化、灾害统计、环境变化以及军事等领域具有很高的实用价值[2]。SAR图像变化检测难度较大,主要反映在两个方面:1)由于航迹不同,SAR图像对象的表示方法不同;2)存在大量的相干斑。[3]SAR图像变化检测的方法可以分为两大类:1)基于像素的变化检测方式,通常有图像插值法、图像比值法等;2)基于区域的变化检测方法,先将SAR图像进行分割得到区域图像,然后在区域的基础上进行分割。[3]现代一些的方法有背景建模、预测模型等等。[4]本文采用的是基于像素的变化检测,具体的方法是图像比值法。3.3.3.3.一种简单的算法下面对本文所用的算法进行简单的说明描述。3.13.13.13.1算法原理首先对两幅实验用SAR图像进行滤波处理,消除噪声,尽可能的减少噪点对变化检测结果的影响。然后利用图像比值法生成初步的新像素矩阵。假设P1(i,j)是第一幅实验用SAR图像对应像素点(i,j)的灰度,P2(i,j)是第二幅实验用图对应像素点(i,j)的灰度。对应两幅图像,变化的部分像素差异较大,所以比值P1(i,j)/P2(i,j)距离1就比较远;而对应不变的点,像素虽然不至于完全一致,但是比值会在1的附近。这个特性就为此方法的实现奠定了良好的基础。然后对上一步得到的像素矩阵进行处理,例如进行取反操作(这个要看实际需要),乘以某一恰当的系数将像素值的差距拉大。便可得到一幅SAR图像变化图像。最后将实验所得的结果跟参考进行比对,得到差异,并统计漏检和误检的像素点数量。3.23.23.23.2算法流程3.33.33.33.3实验程序clcclearallcloseall%简单的预处理I1=imread('a.bmp');I2=imread('b.bmp');I3=imread('c.bmp');I1=rgb2gray(I1);I2=rgb2gray(I2);I3=rgb2gray(I3);%中值滤波I1=medfilt2(I1,[3,3]);I2=medfilt2(I2,[3,3]);I3=medfilt2(I3,[3,3]);[N,L]=size(I1);I=(I1./I2).*256;%比值处理及拉大差距I=imcomplement(I);%取反操作IM=I;I11=fcm2(I);IM=I3;I22=fcm2(I3);k=0;[T,J]=cuowu(I11,I22,N,L);%统计误检及漏检点数k=T+J;disp(sprintf('结果漏检%d个像素点,误检%d个像素点',T,J));disp(sprintf('结果图像共有%d个像素,其中与参考误差像素个数为%d',N*L,k));k=k/(N*L)*100;disp(sprintf('此方法与参考图像的误差率%2.4f个百分点',k));I4=I11-I22;%误差图像figure(1)subplot(221)imshow(I1);title('beforechange');subplot(223)imshow(I2);title('afterchange');subplot(222)imshow(I3);title('reference');subplot(224)imshow(I);title('result');figure(2)subplot(121)imshow(I11);title('result_fcm2');subplot(122)imshow(I22);title('reference_fcm2');figure(3)imshow(I4);title('分类后结果与参考的误差');functionIMMM=fcm2(IM)%分类数为两类的模糊C均值聚类%IM是输入的源图像%IX2是分类结果[maxX,maxY]=size(IM);IM=double(IM);IMM=cat(2,IM,IM);%初始化聚类中心(2类)cc1=8;cc2=230;IMM=cat(3,IM,IM);ttFcm=0;while(ttFcm30)ttFcm=ttFcm+1;c1=repmat(cc1,maxX,maxY);c2=repmat(cc2,maxX,maxY);c=cat(3,c1,c2);ree=repmat(0.000001,maxX,maxY);ree1=cat(3,ree,ree);distance=IMM-c;distance=distance.*distance+ree1;daoshu=1./distance;daoshu2=daoshu(:,:,1)+daoshu(:,:,2);%计算隶属度udistance1=distance(:,:,1).*daoshu2;u1=1./distance1;distance2=distance(:,:,2).*daoshu2;u2=1./distance2;%计算聚类中心zccc1=sum(sum(u1.*u1.*IM))/sum(sum(u1.*u1));ccc2=sum(sum(u2.*u2.*IM))/sum(sum(u2.*u2));tmpMatrix=[abs(cc1-ccc1)/cc1,abs(cc2-ccc2)/cc2];pp=cat(3,u1,u2);fori=1:maxXforj=1:maxYifmax(pp(i,j,:))==u1(i,j)IX2(i,j)=1;elseifmax(pp(i,j,:))==u2(i,j)IX2(i,j)=2;endendend%判结束条件ifmax(tmpMatrix)0.0001break;elsecc1=ccc1;cc2=ccc2;endendfori=1:maxXforj=1:maxYifIX2(i,j)==2IMMM(i,j)=255;elseIMMM(i,j)=0;endendendend%统计错误点数function[T,J]=cuowu(I11,I22,N,L)T=0;J=0;fori=1:Nforj=1:Lif(I11(i,j)==0&&I22(i,j)==255)%漏检T=T+1;elseif(I11(i,j)==255&&I22(i,j)==0)%误检J=J+1;endendendend4.4.4.4.实验结果此次实验使用Ottawa的SAR图像进行测试,实验结果如FIG.1—FIG.3所示。FIG.1FIG.1FIG.1FIG.1初始实验结果FIG.2FIG.2FIG.2FIG.2结果与参考进行FCM2FCM2FCM2FCM2之后的图像FIG.3FIG.3FIG.3FIG.3误差图统计的误差结果如下:结果漏检984个像素点,误检1760个像素点结果图像共有101500个像素,其中与参考误差像素个数为2744此方法与参考图像的误差率2.7034个百分点此次实验结果的漏检比较少,误检比较多,总错误率并没有超过3%,还算可以接受。5.5.5.5.个人总结首先感谢公茂果老师的指导,他给了我一些资料,并对我的疑问进行很有耐心的解答。下面对此次实验进行一个不是很科学的总结。第一,这个算法并不是完善的。我的初衷是设计一个应用比较广泛的SAR图像变换检测的算法或者程序,但是对不同的SAR图像,这个算法的性能就并不是很一致,而且程序的具体语句(例如比值法的分子分母会颠倒)也是要变的。这个应该算正常吧。第二,此算法的结果并不令人满意。漏测点误测点都比较多,误差很大,这次实验的误差主要分布在变化区域的附近,个人感觉,在算法大框架不变的情况下,滤波和“融合”的方式对实验的结果会有很大的影响。这个还需要后续实验的认证,由于时间有限,此次就不深入研究了。第三,此算法还有拓展的空间。根据像素区分的思想可以利用别的数学方法产生新的像素矩阵,可以进一步减小误差;另外,利用更加有效的滤波方式可以更大限度的滤除噪点,减少不必要的干扰;在取得实验结果并和参考进行比对时可选取更加简单的方法,例如阈值法代替均值聚类,进行灰度的统一。第四,补充。实现SAR图像变化检测还有别的思路,比如对两幅实验图像进行滤波,分类,然后根据类别标号进行变化的判别。原理是变化的像素点会与原图对应像素点的分类不同(如果类别分的合适的话)。其实,我还用其他的图像进行了实验,效果也都不错,只不过选择了一套相对较好说明问题的图像展示了一下。最后,感谢智能所的所有老师,能来给我们办讲座,让我们开拓了视野,提高了动手的能力。再次特别感谢公茂果老师。6.6.6.6.参考资料[1]冷寒冰,汤心溢,彭鼎祥.基于积分时间调整的红外焦平面阵列非均匀校正算法研究.红外与毫米学报.[2]李金基,焦李成,张向荣,杨咚咚.基于两时相图像联合分类的SAR图像变化检测.红外与毫米学报.[3]王伟平,周海银,胡永刚,王炯琦.基于聚类分析的SAR图像变化检测.传感器与微系统.[4]RichardJ.Radke,SirnivasAndra,OmarAl-KofahiandBadrinathRoysam.ImageChangeDerectionAlgorithms:ASystematicSurvey.IEEETRANSACTIONSONIMAGEPROCESSING.