1、毕业设计题 目 无人驾驶系统中复杂动态 环境下显著性目标的识别 学 院 机械工程学院 专 业 机械工程及其自动化 班 级 学 生 学 号 指导教师 二一一年五月三十日济南大学毕业设计1 前 言1.1 背景机动车辆作为社会发展与科技进步的产物,为人类的文明进步和社会经济的发展做出了不可磨灭的贡献。然而,汽车在给人类带来方便生活的同时,也给人们带来了大量的问题,例如交通安全、经常性的交通拥挤和环境污染问题等。交通事故给国家和人民的生命财产带来了巨大损失。根据统计资料表明,全世界道路交通事故的总数大约占安全事故的90%左右,所造成的伤亡人数占所有安全事故伤亡人数的80%以上。在人类的非正常死亡之中,
2、道路交通事故作为“第一杀手”实至名归。为了解决全球社会共同面临的交通问题,美国、欧洲、日本等发达国家已经逐步采用高新技术改造现有的道路交通系统和管理体系以替代传统的修建更多的道路、扩展路网规模,并投入了大量的人力和物力以开展智能交通系统的研究。交通标志识别系统作为无人驾驶系统的一个非常重要的子系统,也是难点之一,对其深入研究有助于提高机动车驾驶的安全性和舒适性,对智能交通系统和智能车的研究具有重要意义。另外,自然场景下的交通标志识别也是基于视觉的目标识别的一个特例,交通标志的识别技术可自然地推广到军用或民用的无人驾驶车的研究中,因而,对其深入研究也具有重要的价值。无人驾驶系统中复杂动态环境下显
3、著性目标的识别主要是研究交通标志识别,交通标志识别是通过安装在车辆上的摄像机或照相机录取或摄取户外自然场景图像,然后经过相应的的检测与分类算法对其进行分类理解和分析,它比一般的简单的目标识别更具挑战性,原因在于自然场景中存在各种各样的因素会影响到交通标志的检测效果和分类精度。1.2 国内外研究现状目前,国内虽然在智能交通系统和高级辅助驾驶系统方面作了初步的研究,也取得了一些成绩和进步。但是,由于我国在智能交通系统和智能汽车方面的研究起步比外国晚了几十年,研究的深度和广度远远不及国外发达国家的水平。1.2.1交通标志检测算法的研究现状交通标志由特定的颜色、形状以及内部图形组成,因而,大部分交通标
4、志检测算法一般都是基于颜色和形状的信息来检测交通标志。接下来对这两类检测算方法分别进行阐述。(1)基于颜色信息的检测算法:颜色作为交通标志的主要特征之一,有很多算法都是具有大小、视角不变性和可分离性的特点。通过对特征颜色进行分割,可以删除大片非显著区域,大大增强了系统的实时性。根据检测算法所采用的彩色空间,基于颜色的检测算法又可分为以下四类:RGB彩色空间的阈值分割算法、HIS彩色空间的阈值分割算法、 HSV彩色空间的阈值分割算法和CIE彩色空间的阈值分割算法20。(2)基于形状特征的检测算法:尽管颜色信息具有大小和视角不变性和较强的可分离性,但是由于多变的自然环境的和天气的变化莫测,导致交通
5、标志的颜色信息不稳定强度增加,给基于颜色的标志检测增加了很大的困难20。因此基于交通标志几何形状的特征一般不受光照影响特点,许多学者参与研究了基于几何形状的检测算法。1.2.2交通标志分类算法的研究现状交通标志的分类理解和识别是交通标志识别问题的最终目标。目前,世界上已有很多的交通标志分类算法,大致可分为统计分类方法、神经网络分类方法、句法存分类和集成分类方法等20。1.3课题学术和使用意义在学术方面,通过对这种显著性目标识别算法的研究,使用实时录像和识别作为智能车辆系统的信息获取手段,再结合交通和计算规则的决策和智能自动控制技术等多种先进技术的综合应用,对于无人驾驶系统的研究有着探索性的意义
6、。无人驾驶系统所涉及到的其他技术包括图像处理、数据融合等多方面,是一项综合性极高的工程。人类的视觉具有选择性注意的特性,我们能够从复杂、未知场景中不受复杂背景影响而快速准确地检测到我们所需要的显著目标。但在机器视觉技术和自动目标识别等领域,基于视觉注意显著图的生成方式到目前为止还没有形成统一模型。同时由于显著区域的检测在自适应压缩,图像检索和目标检测等领域中有着广泛的应用价值,因此,显著目标区域检测得到国内外众多学者的广泛和深切关注。目前打多数人所使用的显著目标提取算法都是从低级视觉出发的,这是因为高级视觉计算模型需要学习大规模的和图像数据库有关的理论和知识,计算量大而且不具有通用性。目前现有
7、的而且受大家欢迎的低级视觉模型主要依赖像素与像素之间的相互对比,因而缺乏利用显著目标的自身所具有的特征进行分析理解。因此,本论文依据显著目标是紧凑、显眼和完整的思路,提出一种基于局部复杂度和目标空间分布特性的自动视觉注意显著目标自动提取算法。首先根据局部区域与其多个尺度的邻域的对比,得到亮度显著图;然后利用颜色信息的显眼性的特征、空间分布的方式和区域一致性的特点得到颜色显著图;同时通过对方向的空间分布方法和局部的复杂度进行多个尺度分析得到方向显著图。最后通过所得显著值的空间分布和面积增强因子相结合的融合策略得到原始图像的显著图,并且根据显著区域确定感兴趣区域所在的位置,在此基础上完成目标的检测
8、,来克服传统方法的缺陷,以得到更加合理有效的显著图13。2 显著性目标识别系统2.1 显著性目标识别系统的开发环境由于显著性目标识别系统对图形操作的需要和系统运算及处理的实时性要求,我们选用Microsoft Visual 2010.NET的C+作为开发的语言环境。同时,强大的消息处理机制和灵活的内存操作使得系统响应实时性更好,有利于提高处理图像的质量和显示速度,为我们开发更加优质的目标识别系统打下了良好的基础。本目标识别系统采用面向对象的程序设计方法,面向对象的程序设计语言将现实世界中的客观事物描述成具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态属性)和行为(动态特征),形成类
9、15。类与外界进行交流是通过一个简单的外部接口实现的,对象与对象之间通过消息映射机制来进行通讯。这使程序模块与模块之间的关系更为简单,同时,也良好的保障了为程序模块的独立性、数据的安全性。类的继承性与多态性是面向对象设计方法的最大特点,这不仅大大提高了程序的可重用性,可以让程序员很方便地实现代码的重用,而且缩短了软件开发周期、减少了开发费用并使风格统一起来,显得更加美观。因此,面向对象的编程语言使程序能够比较直接反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C+面向对象设计有三个优点,如下所示,(1)封装性这里所说的封装,就是把数据和函数有机地联系在
10、一起形成一个具有同类特的特性的对象15。封装好的对象应具有明确的功能和方便的接口,以便其他类引用。另外,封装的对象也有priviate,即封装内部的数据应该受到类保护,防止被外界分子不合法的获取或更改。(2)继承性根据c+语言,类可以派生,从类派生出的类称为子类,而原来的类称为父类。在类的派生中,子类可以具备父类的全部数据、成员变量及成员函数,这个特征称为类的继承15。在子类中,不但可以继承父类的的变量和函数,它也可以增加属于自己新的数据或新的操作,用来完成新的功能。(3)多态性多态性是c+针对面向对象的特征进行程序设计的一种特征。C+允许建立程序具有相同成员函数名的对象15。这些函数在不同的
11、情况下适用的不同的功能。举个非常的简单例子,要在一些整数中找到其中的最大值,但是不明确整数的个数,只能知道范围是2个、3个或4个。2.2 显著性目标识别系统的组成显著性目标系统的工作原理流程图如图2.1所示,首先根据局部区域与其多个邻近尺度领域的对比得到亮度显著图;然后利用颜色信息的空间紧凑性、孤立性和同质性得到颜色显著图;同时通过局部复杂度进行多尺度和对方向的空间分布的分析得到方向显著图13。最后通过特征图融合策略得到原始图像的显著图,并根据显著图确定显著感兴区域,提取显著目标。输入图像局部与其多尺度邻域对比显著检测模型亮度显著图方向显著图颜色空间紧性、同质性、孤立显著检测模型方向空间分与局
12、部复杂度显著检测模型颜色显著图面积增强因子和空间分布因子的融合策略显著图显著性目标原始的图像图2.1显著目标提取流程图2.3显著性目标识别系统的开发平台我们以微软的Visual Studio 2010 C+.NET为开发语言,使用Cximage和DirectShow软件开发包作为图形引擎,构成软件的开发平台,如图2.2所示。CxImage是一个非常著名的可以用于MFC 的C+图像处理类库类,它可以打开,保存,显示,转换如BMP, JPEG, GIF, PNG, TIFF, MNG, ICO 等各种格式的图像文件。该开发包向外完全开放源代码,图像被封装为一个类,它的功能很强大,与Windows、
13、MFC等系统支持极好,支持图像的线性滤波、直方图操作、中值滤波、旋转缩放、阈值处理、区域选取、膨胀腐蚀、alpha混合等各种操作。另外,它还支持从文件、内存或者win32API定义的位图图像格式中读取图像,支持将图像显示在任意窗口。DirectShow是微软公司在ActiveMovie和Video for Windows的基础上与DirectX开发包一起推出与发布的新一代基于COM(Component Object Model)的流媒体处理的开发包。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地从支持WDM驱动
14、模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。这样使在多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便。它广泛地支持各种媒体格式,包括Asf、Mp3、Mpeg、Wave等,为多媒体流的捕捉和回放提供了强有力的支持。图2.2 显著性目标识别系统的开发平台3 开发平台的基本功能3.1 图像提取在Cximage 类库和DirectShow的基础上实现图像的提取。根据DirectShow提供的照相功能,利用Cximage类库提供的函数,编写程序代码,以实现图像的提取。程序代码如下:void CVidCapDlg:OnBnClickedTestGetimage() SY
15、STEMTIME SystemTime; GetLocalTime(&SystemTime); TRACE(L %d:%d:%dn, SystemTime.wHour, SystemTime.wMinute, SystemTime.wSecond); unsigned char* pData = sgGrabData(); if (pData != 0) DrawData(sgGetBitmap();extern unsigned int gWidth,gHeight;if(image) image-Destroy(); delete image; image=NULL;image = new
16、 CxImage;image-CreateFromArray(pData,gWidth,gHeight,24,3*gWidth,true);ReDraw(); 这是实现图像提取功能的程序模块。首先对要用到的类和变量进行声明,SystemTime被声明为以已经定义好的SYSTEMTIME结构体,它的的功能是引用系统的具体时间。GetLocalTime(&SystemTime)具体执行获取本地时间。TRACE通过检测可以监视以真实设置运行的应用程序的状态并且跟踪则可以帮助您在不干扰系统运行的情况下隔离并修复问题。pData被声明为一个字符指针,并被赋予一个初值,该初值是抓取的初始界面的数据。然后判
17、断pData是否为真,如果为真,则重新抓取图像。再外部声明gWidth,gHeigh两个全局变量,如果image中的原始图像没有被删除,则删除image的原始图像,并把新产生的图像赋予image图像指针,为使新产生的图像建立调色板,并且取得新建图像的基本数据。这样,图像提取功能的程序模块的编程就完成了。3.2 打开图像在Cximage 类库和DirectShow的基础上实现图像的提取。根据DirectShow提供的照相功能,利用Cximage类库提供的函数,编写程序代码,以实现图像的输入。程序代码如下:void CVidCapDlg:OnBnClickedTestOpen()CFileDial
18、og dlgFile(TRUE);CString fileName; int c_cMaxFiles = 100; int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1) + 1;dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);dlgFile.GetOFN().nMaxFile = c_cMaxFiles;dlgFile.m_ofn.lpstrTitle = _T(打开图像文件);dlgFile.m_ofn.lpstrFilter =_T(JPG 文件(*.jpg)0*.jpg
19、0BMP 文件 (*.bmp)0*.bmp00);if(dlgFile.DoModal()!=IDOK)fileName.ReleaseBuffer();return;int FileType=CxImage:GetTypeIdFromName(dlgFile.GetFileExt();if(image) image-Destroy(); delete image; image=NULL;image = new CxImage(fileName, FileType);if (!image-IsValid()CString s(image-GetLastError();AfxMessageBox
20、(s);delete image;image = NULL;ReDraw();fileName.ReleaseBuffer();这是实现图像打开功能的程序模块。首先声明了dlgFile是CFileDialog类,可以实现 CFileDialog的功能并令dlgFile的参数为真;fileName是字符类,说明文件的名字是字符类;声明了整型变量c_cMaxFiles,并赋予初值为100;也声明了整型变量c_cbBuffSize,并赋予初值为(c_cMaxFiles * (MAX_PATH + 1) + 1,其中MAX_PATH的值由库函数提供的,为260,MAX_PATH是指一个数组的最大容量。
21、然后获取要打开文件的名字和图像的最大尺寸,将执行打开图像功能的标记和图像文件的名字贮存起来。接着,判断DoModal()是否成功建立向导,如果成功建立向导,IDOK就返回结束或删除的地址。声明整型变量FileType,并将图像文件的格式赋给它。如果image中的原始图像没有被删除,则删除image的原始图像,并把新产生的图像赋予image图像指针,判断图像是否有效,如果图像无效,则将建立一个消息盒子,从而删除此图像,使图像指针image为空。最后重绘图像,并释放缓冲存储器的数据。3.3 保存图像在Cximage 类库和DirectShow的基础上实现图像的提取。根据DirectShow提供的照
22、相功能,利用Cximage类库提供的函数,编写程序代码,以实现图像的保存。程序代码如下:void CVidCapDlg:OnBnClickedTestSave()CFileDialog dlgFile(FALSE);CString fileName;const int c_cMaxFiles = 100;const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1) + 1;dlgFile.GetOFN().lpstrFile = fileName.GetBuffer(c_cbBuffSize);dlgFile.GetOFN().nMaxFile
23、= c_cMaxFiles;dlgFile.m_ofn.Flags |= OFN_EXPLORER | OFN_EXTENSIONDIFFERENT;dlgFile.m_ofn.lpstrTitle = _T(保存图像文件);dlgFile.m_ofn.lpstrFilter =_T(JPG 文件(*.jpg)0*.jpg0BMP 文件(*.bmp)0*.bmp00);if(dlgFile.DoModal()=IDOK)int FileType=CxImage:GetTypeIdFromName(dlgFile.GetFileExt();image-Save(fileName,FileType
24、);fileName.ReleaseBuffer();这是实现图像保存功能的程序模块。首先声明了dlgFile是CFileDialog类,可以实现 CFileDialog的功能,并令dlgFile的参数为假;fileName是字符类,说明文件的名字是字符类;声明了整型变量c_cMaxFiles,并赋予初值为100;也声明了整型变量c_cbBuffSize,并赋予初值为(c_cMaxFiles * (MAX_PATH + 1) + 1,其中MAX_PATH的值由库函数提供的,为260,MAX_PATH是指一个数组的最大容量。然后获取要打开文件的名字和图像的最大尺寸,将执行打开图像功能的标记和图像
25、文件的名字贮存起来。然后获取要保存文件的名字和图像的最大尺寸,将执行保存图像功能的标记和图像文件的名字贮存起来。接着,判断DoModal()是否成功建立向导,如果成功建立向导,就输入用户自定义的要保存的图像的名字。然后对该图像操作保存功能。最后重绘图像,并释放缓冲存储器的数据4 基于目标空间分布特性和局部复杂度的显著模型4.1 亮度显著图通过对大量显著目标的分析发现如果某个域能够引起人类的注意,那么其像素值与其周边的邻域存在很大的差异13。区域的显著度是指该区域与其多个尺度邻域对比的差异之和。因此像素点(x, y)的显著值定为,,其中, 表示点的像素值与其邻域内像素平均值的欧几里得距离,表示点
26、的像素值, 指像素点的邻域内像素的平均值,、为图像的宽和高。欧几里得距离也称欧式距离,它是一个普遍采用的距离定义,它是指m维空间中任意两点之间的真实距离。 显而易见,在二维和三维空间中的欧式距离其实就是两点之间的距离,二维的公式是,三维的公式是,欧氏距离可以看作信号与信号之间的相似程度,它们之间的距离越近,信号与信号就越相似,就越容易相互干扰,他们之间的误码率就越高。众所周知,人类通常倾向于注意图像的中央区域的目标13。我们构造一个权值矩阵来增强靠近图像中央区域目标的显著度,使得检测结果与人类的视觉注意机制相吻合。权值矩阵定义如下,其中,指图像中央的区域,指点到图像中央区域的距离,指图像边缘到
27、中央区域的距离。最终的亮度显著图为,根据上述亮度显著图形成的原理所编写的程序代码如下,void GetRectAverageValue(CxImage *img,int x1,int y1,int x2,int y2,int *numR,int *numG,int *numB)int x,y,b;BYTE *p,*t;t=img-GetBits(y1)+x1*3;b=img-GetEffWidth();*numR = *numG = *numB = 0;for(y=y1; y=y2; y+)p=t;for(x=x1; xGrayScale();/ReDraw();int w,h,wh,x,y;
28、w=image-GetWidth();h=image-GetHeight();if(wSetGrayPalette();for(y=0; yh; y+)for(x=0; xw; x+)int t,r,g,b,i; t = wh/2;r = g = b = 0;for(i=0; i3; i+)x1 = x-t/2; if(x1=w) x2=w-1;y1 = y-t/2; if(y1=h) y2=h-1;GetRectAverageValue(image,x1,y1,x2,y2,&numR,&numG,&numB);r+=numR; g+=numG; b+=numB;t /= 2;r /= 3;
29、g /= 3; b /= 3;RGBQUAD rgb = image-GetPixelColor(x,y,false);int R,G,B;double d;R = rgb.rgbRed;G = rgb.rgbGreen;B = rgb.rgbBlue;d = sqrt(R-r)*(R-r)+(G-g)*(G-g)+(B-b)*(B-b)/3.0); #define const PI=3.1415926;double Wcenter,r1,R1,x0,y0,m,n;x0=w/2;y0=h/2;r1=sqrt(x-x0)*(x-x0)+(y-y0)*(y-y0);m=cos(double)w/h
30、);if(yy0)n=cos(double)2*y/x);elsen=cos(double)2*(y-y0)/x);if(nm)R1=(double)sqrt(double)(x-x0)*(x-x0)+h*h/4);elseR1=(double)sqrt(double)(y-y0)*(y-y0)+w*w/4);if(xw/4&ySetPixelIndex(x,y,(BYTE)d);image-Destroy();image = Img;ReDraw();这个程序模块实现了亮度显著图功能。首先声明w、h、wh、x和y五个整型变量,把图像的宽度和高度分被赋值给w、h,比较宽度和高度的大小,把较小的
31、值赋值给wh;声明x1、x2、y2、numR、numG和numB六个整型变量,并声明一个新的CxImage类Img,并且将具有原始的图像高度和宽度的新图像赋给它,并使Img指向调色板。然后通过一个for循环的控制来实现像素点的邻域内像素的平均值。用d = sqrt(R-r)*(R-r)+(G-g)*(G-g)+(B-b)*(B-b)/3.0)求得该图像的初始显著值,由于图像的中央更容易引起人的眼的关注,需要对求得显著值进行修正。现在规定,分别取四分之一的宽度和高度的值作为中央区域,如果像素点位于中央区域内则取Wcenter=1,如果不位于中央区域,则取Wcenter=(3+cos(PI*r1/
32、R1)/4,r1指点到图像中央区域的距离,R1指图像边缘到中央区域的距离。最终求得修正后的亮度显著值。亮度显著图示意图如图4.1所示。(a) 输入图像(b) 对应的亮度显著图图4.1 亮度显著图示意图4.2 颜色显著图和亮度一样,颜色也是彩色图像的重要信息,如果要构造一个基于颜色特征的显著性检测模型,首先必须提取图像的颜色主分量,然后以颜色主分量为中心进行聚类,最后依据显著目标是显眼的、紧凑的和完整的特点来进行显著性检测。在CIE颜色空间,对分量和分量分别建立其对应的直方图,然后对其进行高斯函数平滑(见图4.2)。组合两个直方图的局部最大值,就会得到这幅图像的颜色主分量。以颜色主分量为中心,根
33、据距离最小的原则进行初始聚类,并且设定一个恰当的阈值,当其中某个颜色分量在图像中所占的比例小于时,将该主分量删除,并把原本属于它的像数点赋给与其距离最小的颜色主分量,这样就突出了主分量的作用。(a) a分量直方图(b) b分量直方图图4.2 颜色主分量直方图4.2.1 Lab颜色空间对于Lab颜色空间大家都不陌生,它是一种颜色模型,是在依照1931年国际照明委员会(CIE)制定的颜色度量国际标准为基础,与1976年经修订并被最终被命名为CIE Lab。CIELab是世界上目前为止色域最宽的色彩空间,它包括了人眼所能看到的所有的颜色(可见光谱),而且它的每组色值所对应的色彩都与设备无关,这种用数
34、学理论量化的色彩空间使不同设备的色彩能够相互比较、模拟和匹配。在Lab颜色空间中,Lab是指构成每种颜色的L(明度)、a颜色、b颜色三种参数。与在RGB颜色空间中,R通道、G通道、B通道每一个既包含有明度又包含有颜色不同,在Lab空间中,每一幅图像中的每一个像素有其对应的Lab值,每幅图像就有其对应的L通道、a通道和b通道,而且明度和颜色是分开的, L通道没有颜色,a通道和b通道只有颜色。通常 L的取值空间为0-100(纯黑-纯白)、a的取值空间为+127-128(洋红-绿)、b的取值空间为+127-128(黄-蓝)。当他们的值取正的时候为暖色,取负值得时候为冷色。国际照明委员会规定“a通道掌
35、管洋红-绿色轴线, a、b值为(127,0)-(-128,0), b通道掌管黄-蓝色轴线, a、b值为(0,127)-(0,-128);此外还有红-青色轴线, a、b值为(127,127)-(-128,-128);柠檬色-紫色轴线, a、b值为(-128,127)-(127,-128)”。由于Lab模式无法输出,当将Lab模式转换成RGB模式后,某些颜色的 L、a、b值会有所改变,这是因为 Lab模式包含有虚构(不存在)的颜色,这些颜色在转换成RGB模式后要向真实的颜色靠拢。L、a、b三个通道都是灰度通道,在这三个通道图像中只有L 值是变化的,而a、b值在三个通道中到处是零。既然是通道也就具有
36、通道的一切特性,如对通道进行调节,就可改变图像,对通道进行调节最常用的是曲线命令。4.2.2高斯函数高斯函数的形式为,的函数。其中a、b和c为实数常熟,切a0。的高斯函数是傅里叶变换的特征函数。意思也就是说,高斯函数的傅里叶变换不仅仅是另一个高斯函数,而且是进行傅里叶变换的标量倍高斯函数属于初等函数但他没有初等不定积分。但是仍然可以子啊整个实数轴上计算它的广义积分。4.2.3显著性度量下面从颜色信息的三个方面来进行显著性度量,分别是空间紧凑性、同质性和孤立性。(1)空间紧凑性空间紧凑性指颜色分量的空间分布,相对扩散程度是由类内方差决定的15。为了能够抑制方差较大的背景区域,而且倾向于检测中央的
37、区域的目标,本文采用类内方值差和类间方差相结合来检测空间的紧凑性,颜色分量的类内方差、类间方差和分别为,这里,表示颜色分量的几何中心,分别指颜色分量的像数点的横坐标和纵坐标的平均值。表示颜色分量的像数点的空间位置对于颜色分量的几何中心的偏离程度,表示颜色分量的像素点个数。由于方差越大,其空间分布越扩散,显著性越差。因此,将类内方差归一化使得最大的值为0,而最小的的值为1,同理,归一化使颜色分量的空间紧密性为为;(2)同质性同质性指局部区域颜色分量的相似度,反映区域的一致性,颜色分量同质性定义为15,其中,分别是指颜色分量的像数点的分量和分量的平均值,是用来表示颜色分量的质心15。表示颜色分量的
38、方差, 表示由颜色分量的像数点的分量和分量组成的颜色向量集;(3)孤立性孤立性是指局部区域相对于周围环境的孤立程度,区域与其周围环境的差异越大,越能引起人类的注意15。颜色分量的孤立性定义为其中,指颜色主分量的质心,表示颜色分量在整幅图像中占的比例。通过空间紧凑性、孤立性和同质性的综合实现颜色显著性检测,颜色分量的显著值为,颜色显著示意图如图4.3所示。(a)原图像(b)颜色显著图图4.3 颜色显著图示意图4.3 方向显著图首先通过低通滤波和在水平和垂直方向上采样得到原始图像的高斯金字塔(层数为L),再根据方向的空间分布和局部复杂度计算每层的显著图,把每层的显著图放大到输入的原始图像大小并且累
39、加得到最终的方向显著图13。利用方向的空间分布特征和局部区域的复杂度计算每层对比图的具体操作图如下:(1)首先建立基于局部方向的直方图,把输入图像分为的像素块,用字母表示第P个像素块,分别对其进行二维傅里叶变换且把零频移到图块的中心位置,将相位的分均匀的N等份,通过分别累加每段相位内的对应点的对数谱得到该像素块的方向直方图,即其中,指像素点(x,y)处傅里叶变换的幅值,表示第段相位;(2)然后利用方向的空间分布特征来度量其全局显著性,分布越广的方向其显著性就会越差13。方向的方差定义为,其中,和分别表示方向沿轴和轴方向的空间均值。归一化使拥有最大方差的方向的显著值为0,而方差最小的方向的显著值
40、为1,表示方向的显著度。像素块的全局显著度为;熵是用来统计局部邻域内的信号复杂度或不可预测性的,即不确定性。这里用局部方向熵的与全局的差异来度量其局部显著性,像素块的局部显著度为,其中,表示像素块的方向熵,表示像素块的方向熵的平均值。像素块的方向显著性为;最后,分别计算每层的方向对比图,表示第层的方向对比图,将其线性组合得到输入图像的方向显著图。4.4 融合显著图通过大量的观察和分析,目标之所以显著是由于其某一个或其中几个视觉特征与周围环境存在较大的差异,而不一定是其每个视觉特征与背景都存在很大的差异。因此,本文设计的融合策略如下:(1)面积增强因子。通常大目标比小的目标更容易吸引人的视觉注意
41、,但当其面积超过饱和度时,其显著性就会明显得下降。当设定的显著区域的面积小于图像面积的40时,其面积增加因子为显著区域的面积在图像中所占的比例,反之面积增加因子为0。显著区域的面积通过计算其显著点的个数来度量15。设置一个动态门限T,像素值大于T的点即判为显著点,即,其中,表示特征显著图的灰度级,表示灰度值在特征显著图中发生的概率;(2)空间分布因子。因为显著值分布越紧密的特征显著图在显著区域的检测中起的作用越大,所以空间分布因子定义为13,其中,和分别表示显著值在轴和轴方向的空间均值,表示特征显著图中像素点(x, y)的显著值。通过面积增强因子和空间分布因子相结合的特征图融合策略得到输入图像
42、的显著图,其中,SM表示输入图像的显著图,表示特征显著图, 指特征显著图的权值因子。采用自适应阀值对显著图进行分割,得到显著目标二值化图像,定义如下,其中,表示像素点的显著值,表示显著图像素平均值。融合显著图如图4.4所示图4.4 融合显著图5 结 论同Itti模型等其他算法相比较,本文算法能够在一直杂乱背景影响的基础上比较准确和全面地检查到显著区域。但是,当我们所提取的目标与其背景的颜色、亮度差异较小或者背景对目标存在干扰较大时,所提算法的效果明显下降。如果在有着复杂背景的图像时想要准确检测显著目标,需要加入进行辅助处理的更多的语义信息。同时显著目标数据库提供了为图像样本的显著目标制定的矩形框,对不同的矩形框取平均并以其为标准把矩形框内部区域判为目标(值为1),矩形框外判为背景(值为0)得到二值化的显著概率图,采用查准率、查全率和F-measure检测算法的有效性,定义如下:,这里,表示查准率,表示查全率,取0.3。根据这种检测模型来检测本文所采用的算法和Itti模型等其他算法的的查准率、查全率和的对比结果,本文提出算法在查准率、查全率和都好于其它种算法,正表明了本文算法思路的合理性。依据显著目标是显眼的、紧凑的和完整的思路,本文提出一种无监督的基于目标空间分布特性和局部
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100