目前,基于视频的国家储备粮自动监管与稽核系统的技术是通过计算机系统对粮库场景图像的自动分析与识别,得到粮库的粮食总数量,以弥补现行人工监管方式的缺陷,杜绝虚库、虚报贴息等现象,以满足管理部门对储备粮自动监管与稽核的管理需求。图像识别的国家储备粮仓袋装粮食数量自动监管与稽核系统的技术是智能识别各种粮仓场景图像中粮袋的数量,杜绝人为的弄虚作假。边缘检测是袋装粮图像识别的首要问题,在分析了经典的以及在其基础上进行各种改进的Laplace算子缺陷的基础上,提出了1种改进的Laplace算子,该算子通过设置合理的模板参数克服了原有算子的不足,提高了图像边缘检测的。
储备粮库中的粮袋是从底层向顶层逐层地累加立体式堆放,形成一个大立方体式结构,如图1(a)所示。在摄像器材所捕捉到的图像中,这个大立方体有三个面:顶面和两个侧面。由于光照和堆放方式的影响,在视频图像中,粮袋表面不同地方的灰度值会有很大差别,粮袋的中心区域会比较亮,而周边区域会比较灰暗,因此在视觉上,人们看到的粮袋边界呈现出一个近似的椭圆形。而每一个粮袋在视频图像中均能看见三个不同的面,所以会形成三类不同的椭圆。如果能地识别大立方体三个面上有多少个椭圆,那么就能识别出粮袋的数量,而每袋粮食的重量是固定且已知的,由此可以得到整个立方体粮堆的数量,因此,袋装粮数量识别就是对图像中椭圆数量的识别。
椭圆边界处理与描述主要包括边界定位和描述两个方面,本文采用一种改进的Laplace算子和边界方向链码来对袋装粮图像进行边缘检测和描述。Laplace算子是n维欧几里德空间中的一个二阶微分算子,定义为梯度()的散度()。因此如果f是二阶可微的实函数,拉普拉斯算子可以用一定的方法推广到非欧几里德空间,这时它就有可能是椭圆型算子,双曲型算子,或超双曲型算子。在闵可夫斯基空间中,拉普拉斯算子变为达朗贝尔算子: 达朗贝尔算子通常用来表达克莱因-高登方程以及四维波动方程。第四个项前面的符号是负号,而在欧几里德空间中则是正号。因子c是需要的,这是因为时间和空间通常用不同的单位来衡量;如果x方向用寸来衡量,y方向用厘米来衡量,也需要一个类似的因子。
1 粮袋边缘提取
边缘是指图像中周围像素灰度差有强烈反差的那些像素的集合,它广泛存在于目标与目标之间、目标与背景之间。图像边缘是图像重要的特征之一,是图像分割、纹理特征和形状特征等图像分析的重要依据。具体到袋装粮图像,边缘描述了粮袋的形状信息,而形状信息正是识别和分析粮袋椭圆边缘的依据,所以对袋装粮图像进行处理的首要工作就是粮袋边缘检测。
在数字图像中,边缘点和噪声点均属于图像中灰度突变点,因此在边缘检测中,边缘定位能力和噪声抑制能力是相互矛盾的,有的算法边缘定位能力比较好,有的算法抗噪声能力比较强,每种算法都有各自的优缺点。针对袋装粮图像的特点,对现有的Laplace边缘检测算子的模板进行了适当的改进,通过设置更加合理的Laplace模板权值参数,提高了袋装粮图像边缘检测的,所检测到的边缘信息更加丰富和清晰,检测效果如图1(b)所示。
在对袋装粮图像边缘检测过程中,所选择的边缘检测算法既要定位边缘,又要使所检测的边缘尽量是封闭的曲线,以便于边界描述和特征的提取。实验结果显示,尽管改进的Laplace算子具有较好的检测效果,但是所得到的边缘依然不是完全闭合的,且存在大量虚假边缘,这使得边界描述将无法进行。其原因:(1)该幅图像的对比度较低;(2)该幅图像比较复杂,目标体较多。因此,单纯的依靠边缘检测算子是很难得到闭合的边缘曲线。
自1964年Matheron提出了数学形态学以来,在经过以Meyer、Serra、Sternberg为代表的众多学者的努力下,形态学方法已经成为非线性图像处理中的一种重要手段,数学形态学通过选取合适的结构元素(探针)实现目标特征提取,其基本运算有:膨胀、腐蚀、开启和闭合。其中开启和闭合运算是由基本运算(膨胀和腐蚀)组合而成的复合运算。闭合运算可以去除区域中的小孔,填平狭窄的断裂、细长的沟壑以及轮廓的缺口等,这正好适用于去除粮袋边缘的缺口,使得检测到的边缘是闭合边界。由于数学形态学是基于二值图像进行操作的,所以在图像预处理中需要加入二值化操作步骤。针对粮袋形状的特点,本文选取椭圆形的结构元素对图1(a)二值化后的结果进行数学形态学的闭合运算,再进行边缘检测,得到终粮袋边缘轮廓,如图2所示。
2 粮袋边界描述
对所需要识别的物体进行描述时,希望能使用一些比单个参数提供更丰富的细节信息,而又比用图像本身更紧凑的方法来描述物体。图像表示可以基于其内部特征,也可以基于其外部特征,由此可将图像的描述分成边界描述(如链码、边界分段等)和区域描述(如四叉树、骨架等)两大类。通常,边界描述较为关心的是图像中区域的形状特征,而区域描述则倾向于反映区域的灰度、颜色、纹理等特征。在袋装粮自动识别中,关注的是粮袋的形状,因此,本文选择边界描述法来描述粮袋边缘。
在对粮袋进行识别的过程中,要求严格按照粮袋实际形状进行各项特征参数的统计计数,因此,准确地描述边缘轮廓很重要。国内外学者已经对二维轮廓曲线的描述问题从不同角度展开了研究,并提出了下面多种边界曲线描述方法。
(1)多边形近似逼近轮廓法提出用轮廓线的近似多边形来表示边界,常用的多边形表达方法有:基于收缩的周长多边形法、基于聚合的均方误差线段逼近法、基于分裂的均方误差线段逼近法。在数字图像中,边界曲线是由一个个像素点组成的,如果每相邻的2个像素点组成一条直线,则就可以用若干条直线来表达边界,但这种方法计算量大,实时性较差。如果按照一定的算法来离散化边界像素点,虽然可以减少计算量,但是边界描述的大大降低,因此,此种方法不适用于粮袋边缘的描述。
(2)基于B样条的边界曲线表示法。中提出了一种基于B样条的边界曲线表示法,这种方法的优点是在一定程度上考虑到了轮廓线的几何特征,但是对轮廓曲线进行采样、拟合是一个相当繁琐的过程,不适于粮袋的边界描述。
(3)边界链码法。1977年,Freeman首先提出了4向链码和8向链码,因此链码又称为Freeman码。链码法是用边界曲线起始点的坐标和边界点方向代码来描述边界曲线的方法,常被用来在图像处理、计算机图形学、模式识别等领域中表示曲线和边界区域[8].该方法主要是利用一系列具有特定长度和方向相连的直线段来表示目标的边界。由于每个线段的长度固定而且方向数目有限,因此,只有边界的起点需要采用坐标表示,其余点都可只用连续方向来代表偏移量,而且对于每一个点只需要一个方向数就可以代替两个坐标值。由此可见,表示一个方向数比表示一个坐标值所需的比特数要少。因此,采用链码表示可大大减少边界表示所需要的数据量。此外,链码具有简单、节省存储空间、便于计算以及平移不变性等特点,使得对于封闭区域特征参数的统计变得简单易行。
袋装粮图像中存在多个椭圆,需要对每一个椭圆进行描述和识别,因此需要采用一种计算简单、存储量小、实时性高的算法,而且粮袋边界是一条封闭的曲线。因此,本文采用边界链码法来对粮袋边缘进行描述。
数字图像是按照固定间距的网格进行采样的,因此简单的链码是跟踪边界并赋给每两个相邻像素的连线一个方向值。数字图像处理的基本原理和具体的使用技术,做到既懂理论,又会创作面向具体应用的各种图像。字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。如图3所示。在数字图像中,任意一个像素点周围均有8个邻接点,而8方向链码正好与像素点的实际情况相符,因此能够准确地描述中心像素点与其邻接点的信息。在8方向链码中,链码沿着数字曲线或者边界像素以八邻接的方式移动和编码,相邻两个像素的偏移量用数字0~7表示,码值加1,其所指的方向则按逆时针旋转45°。
一条边界曲线可以由曲线的起始点和该曲线的链码确定。假设曲线S如图4所示,其链码由数组Lianma表示。
采用8方向链码描述曲线S得到的数组Lianma[]={0,6,0,7,0,6,5,4,4,3,2,2,2}.从图中可以看出,只要知道边界任意一点的坐标和其他点的链码值,就能准确地描述出区域的边界。为了得到一个完整的边界链码,便于后续处理,可将曲线起始点坐标、曲线链码和链码长度一起存放在一个链码表中,链码表格式如图5所示。
针对已经进行边缘提取并进行二值化后的袋装粮图像,用行扫描法得到粮袋边缘的左上角的边界点作为跟踪的起始点,采用8方向链码搜索边缘,边界链码跟踪袋装粮图像边界轮廓算法步骤如图6所示。
对图像边缘进行边界跟踪的目的是为了提取图像中目标体的特征点,以便识别对象体。在对袋装粮图像中粮袋椭圆边缘曲线进行提取之后,根据数学知识可做如下判断:(1)设置椭圆方差阈值,判断边界曲线是否是接近椭圆形状;(2)如果边界曲线是一个近似的椭圆,则可以用一系列椭圆的数学特征的线性组合作为对袋装粮图像识别的隶属度函数。若对论域(研究的范围)U中的任一元素x,都有一个数A(x)∈0,1与之对应,则称A为U上的模糊集,A(x )称为x对A的隶属度。当x在U中变动时,A( x)就是一个函数,称为A的隶属函数。隶属度A(x)越接近于1,表示x属于A的程度越高,A(x)越接近于0表示x属于A的程度越低。用取值于区间0,1的隶属函数A(x)表征x 属于A的程度高低。隶属度属于模糊评价函数里的概念:模糊综合评价是对受多种因素影响的事物做出全面评价的一种十分有效的多因素决策方法,其特点是评价结果不是地肯定或否定,而是以一个模糊集合来表示。 隶属度函数是模糊控制的应用基础,正确构造隶属度函数是能否用好模糊控制的关键之一。隶属度函数的确定过程,本质上说应该是客观的,但每个人对于同一个模糊概念的认识理解又有差异,因此,隶属度函数的确定又带有主观性。 椭圆的数学特性有周长、形心、面积、离心率等,而这些参数很容易通过边界链码计算得到[10],可以采用特征量的线性组合作为隶属度函数对袋装粮图像的椭圆边界进行识别,以区分不同面上的粮袋,从而达到智能识别的目的。
针对所提取出来的边缘不是完全闭合的问题,采用数学形态学的闭合运算对二值图像进行预处理后再进行边缘检测,终得到了完全闭合的边界。链码法与其他方法相比,算法简单、可大幅度减少数据、可以提高图像处理速度和匹配效率,以及具有平移不变性等特点,边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显着变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。粮袋边缘的检测和描述是粮食数量智能识别的前提,试验证明,本文采用改进的Laplace算子对袋装粮图像进行边缘检测,所提取的边界更为平滑、连续、清晰。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。