0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Laplace算子和边界方向链码实现袋装粮的精确识别

电子设计 来源:微型机与应用 作者:方兴林 2021-03-28 10:46 次阅读

目前,基于视频的国家储备粮自动监管与稽核系统的技术核心是通过计算机系统对粮库场景图像的自动分析与识别,精确得到粮库的粮食总数量,以弥补现行人工监管方式的缺陷,杜绝虚库、虚报贴息等现象,以满足管理部门对储备粮自动监管与稽核的管理需求。

储备粮库中的粮袋是从底层向顶层逐层地累加立体式堆放,形成一个大立方体式结构,如图1(a)所示。在摄像器材所捕捉到的图像中,这个大立方体有三个面:顶面和两个侧面。由于光照和堆放方式的影响,在视频图像中,粮袋表面不同地方的灰度值会有很大差别,粮袋的中心区域会比较亮,而周边区域会比较灰暗,因此在视觉上,人们看到的粮袋边界呈现出一个近似的椭圆形。而每一个粮袋在视频图像中均能看见三个不同的面,所以会形成三类不同的椭圆。如果能精确地识别大立方体三个面上有多少个椭圆,那么就能识别出粮袋的数量,而每袋粮食的重量是固定且已知的,由此可以得到整个立方体粮堆的数量,因此,袋装粮数量识别就是对图像中椭圆数量的识别。所以对袋装粮的储备粮仓的粮食数量识别的关键就是找到一种快速、准确、有效的椭圆形状的提取与描述方法,以确保能够对每一袋粮食进行精确的识别。

椭圆边界处理与描述主要包括边界定位和描述两个方面,本文采用一种改进的Laplace算子和边界方向链码来对袋装粮图像进行边缘检测和描述,针对所检测出的椭圆边界有少量不完全闭合的问题,采取数学形态学的闭合操作来修补连接边界的缺口。试验证明,改进的Laplace算子和边界方向链码对袋装粮边界分割和描述具有较高鲁棒性,能取得较好的效果。

1 粮袋边缘提取

边缘是指图像中周围像素灰度差有强烈反差的那些像素的集合,它广泛存在于目标与目标之间、目标与背景之间。图像边缘是图像最重要的特征之一,是图像分割、纹理特征和形状特征等图像分析的重要依据。具体到袋装粮图像,边缘描述了粮袋的形状信息,而形状信息正是识别和分析粮袋椭圆边缘的依据,所以对袋装粮图像进行处理的首要工作就是粮袋边缘检测。

在数字图像中,边缘点和噪声点均属于图像中灰度突变点,因此在边缘检测中,边缘定位能力和噪声抑制能力是相互矛盾的,有的算法边缘定位能力比较好,有的算法抗噪声能力比较强,每种算法都有各自的优缺点。参考文献针对袋装粮图像的特点,对现有的Laplace边缘检测算子的模板进行了适当的改进,通过设置更加合理的Laplace模板权值参数,提高了袋装粮图像边缘检测的精度,所检测到的边缘信息更加丰富和清晰,检测效果如图1(b)所示。

基于Laplace算子和边界方向链码实现袋装粮的精确识别

在对袋装粮图像边缘检测过程中,所选择的边缘检测算法既要精确定位边缘,又要使所检测的边缘尽量是封闭的曲线,以便于边界描述和特征的提取。实验结果显示,尽管改进的Laplace算子具有较好的检测效果,但是所得到的边缘依然不是完全闭合的,且存在大量虚假边缘,这使得边界描述将无法进行。其原因:(1)该幅图像的对比度较低;(2)该幅图像比较复杂,目标体较多。因此,单纯的依靠边缘检测算子是很难得到闭合的边缘曲线。

自1964年Matheron提出了数学形态学以来,在经过以Meyer、Serra、Sternberg为代表的众多学者的努力下,形态学方法已经成为非线性图像处理中的一种重要手段。数学形态学通过选取合适的结构元素(探针)实现目标特征提取,其基本运算有:膨胀、腐蚀、开启和闭合。其中开启和闭合运算是由基本运算(膨胀和腐蚀)组合而成的复合运算。闭合运算可以去除区域中的小孔,填平狭窄的断裂、细长的沟壑以及轮廓的缺口等,这正好适用于去除粮袋边缘的缺口,使得检测到的边缘是闭合边界。由于数学形态学是基于二值图像进行操作的,所以在图像预处理中需要加入二值化操作步骤。针对粮袋形状的特点,本文选取椭圆形的结构元素对图1(a)二值化后的结果进行数学形态学的闭合运算,再进行边缘检测,得到最终粮袋边缘轮廓,如图2所示。

o4YBAGBf72WASGcfAAAfIT_jTZA048.png

2 粮袋边界描述

对所需要识别的物体进行描述时,希望能使用一些比单个参数提供更丰富的细节信息,而又比用图像本身更紧凑的方法来描述物体。图像表示可以基于其内部特征,也可以基于其外部特征,由此可将图像的描述分成边界描述(如链码、边界分段等)和区域描述(如四叉树、骨架等)两大类。通常,边界描述较为关心的是图像中区域的形状特征,而区域描述则倾向于反映区域的灰度、颜色、纹理等特征。在袋装粮自动识别中,关注的是粮袋的形状,因此,本文选择边界描述法来描述粮袋边缘。

在对粮袋进行识别的过程中,要求严格按照粮袋实际形状进行各项特征参数的统计计数,因此,准确地描述边缘轮廓很重要。国内外学者已经对二维轮廓曲线的描述问题从不同角度展开了研究,并提出了下面多种边界曲线描述方法。

(1)多边形近似逼近轮廓法。参考文献中提出用轮廓线的近似多边形来表示边界,常用的多边形表达方法有:基于收缩的最小周长多边形法、基于聚合的最小均方误差线段逼近法、基于分裂的最小均方误差线段逼近法。在数字图像中,边界曲线是由一个个像素点组成的,如果每相邻的2个像素点组成一条直线,则就可以用若干条直线来精确表达边界,但这种方法计算量大,实时性较差。如果按照一定的算法来离散化边界像素点,虽然可以减少计算量,但是边界描述的精度大大降低,因此,此种方法不适用于粮袋边缘的描述。

(2)基于B样条的边界曲线表示法。参考文献中提出了一种基于B样条的边界曲线表示法,这种方法的优点是在一定程度上考虑到了轮廓线的几何特征,但是对轮廓曲线进行采样、拟合是一个相当繁琐的过程,不适于粮袋的边界描述。

(3)边界链码法。1977年,Freeman首先提出了4向链码和8向链码,因此链码又称为Freeman码。链码法是用边界曲线起始点的坐标和边界点方向代码来描述边界曲线的方法,常被用来在图像处理、计算机图形学、模式识别等领域中表示曲线和边界区域。该方法主要是利用一系列具有特定长度和方向相连的直线段来表示目标的边界。由于每个线段的长度固定而且方向数目有限,因此,只有边界的起点需要采用绝对坐标表示,其余点都可只用连续方向来代表偏移量,而且对于每一个点只需要一个方向数就可以代替两个坐标值。由此可见,表示一个方向数比表示一个坐标值所需的比特数要少。因此,采用链码表示可大大减少边界表示所需要的数据量。此外,链码具有简单、节省存储空间、便于计算以及平移不变性等特点,使得对于封闭区域特征参数的统计变得简单易行。

袋装粮图像中存在多个椭圆,需要对每一个椭圆进行描述和识别,因此需要采用一种计算简单、存储量小、实时性高的算法,而且粮袋边界是一条封闭的曲线。因此,本文采用边界链码法来对粮袋边缘进行描述。

数字图像是按照固定间距的网格进行采样的,因此最简单的链码是跟踪边界并赋给每两个相邻像素的连线一个方向值。常用的有4方向和8方向链码,如图3所示。在数字图像中,任意一个像素点周围均有8个邻接点,而8方向链码正好与像素点的实际情况相符,因此能够准确地描述中心像素点与其邻接点的信息。在8方向链码中,链码沿着数字曲线或者边界像素以八邻接的方式移动和编码,相邻两个像素的偏移量用数字0“7表示,码值加1,其所指的方向则按逆时针旋转45°。

pIYBAGBf71-AELmaAAAcOIeYjeY495.png

一条边界曲线可以由曲线的起始点和该曲线的链码唯一确定。假设曲线S如图4所示,其链码由数组Lianma[]表示。

o4YBAGBf71qAMkIQAAAjdrx54Kc386.png

采用8方向链码描述曲线S得到的数组Lianma[]={0,6,0,7,0,6,5,4,4,3,2,2,2}。从图中可以看出,只要知道边界任意一点的坐标和其他点的链码值,就能准确地描述出区域的边界。为了得到一个完整的边界链码,便于后续处理(如链码的存储、特征的提取、重构等),可将曲线起始点坐标、曲线链码和链码长度一起存放在一个链码表中[10],链码表格式如图5所示。

o4YBAGBf70WASNMUAAAca4f-y3M086.png

针对已经进行边缘提取并进行二值化后的袋装粮图像,用行扫描法得到粮袋边缘的最左上角的边界点作为跟踪的起始点,采用8方向链码搜索边缘,边界链码跟踪袋装粮图像边界轮廓算法步骤如图6所示。

pIYBAGBf7zuADG59AAB-jNSlwkY193.png

对图像边缘进行边界跟踪的目的是为了提取图像中目标体的特征点(如边界曲线的端点、交叉点、拐角点、闭合曲线的形心等),以便识别对象体。在对袋装粮图像中粮袋椭圆边缘曲线进行提取之后,根据数学知识可做如下判断:(1)设置椭圆方差阈值,判断边界曲线是否是接近椭圆形状;(2)如果边界曲线是一个近似的椭圆,则可以用一系列椭圆的数学特征的线性组合作为对袋装粮图像识别的隶属度函数。椭圆的数学特性有周长、形心、面积、离心率等,而这些参数很容易通过边界链码计算得到,可以采用特征量的线性组合作为隶属度函数对袋装粮图像的椭圆边界进行识别,以区分不同面上的粮袋,从而达到智能识别的目的。

针对所提取出来的边缘不是完全闭合的问题,采用数学形态学的闭合运算对二值图像进行预处理后再进行边缘检测,最终得到了完全闭合的边界。链码法与其他方法相比,算法简单、可大幅度减少数据、可以提高图像处理速度和匹配效率,以及具有平移不变性等特点,使得对于封闭曲线区域特征参数的统计变得简单易行。粮袋边缘精确的检测和描述是粮食数量智能识别的前提,试验证明,本文采用改进的Laplace算子对袋装粮图像进行边缘检测,所提取的边界更为平滑、连续、清晰。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7488

    浏览量

    87849
收藏 人收藏

    评论

    相关推荐

    颜色识别边界问题

    颜色识别出现这种样的左右边框可能是什么原因?我感觉代码好像没有问题上下边界能画出来左右边界就画不出来
    发表于 03-08 17:29

    Daugman算法虹膜内外边界的定位

    法进行虹膜内外边界的定位,该算法是基于Daugman算法。最后在matlab中实现定位过程。关键词:虹膜定位,生物特征识别,微积分算子,Daugman算法
    发表于 07-12 18:55

    码表和线段表在印刷电路板孔位检测中的应用

    时,即视为边界点,从A 开始,顺时针进行搜 索孔位的边界,定义初时值为值等于4 的方向进行搜索下一个点,若下一个点灰度值等 于G1,即为
    发表于 09-10 16:28

    labview调用halcon实时采集图像,识别二维

    `主要实现功能是labview调用halcon,来进行二维识别,做到基本无参数设置,提高识别的稳定性,labview里面用到面向对象来进行halcon
    发表于 08-02 16:21

    基于GFO算子的图像增强算法如何去实现

    基于GFO算子(广义模糊算子)的图像增强算法如何去实现?怎样对图像增强算法进行分析?
    发表于 06-04 06:24

    基于ROS系统实现导航机器人的精确方向和距离控制

    本实验箱以大载重的全向麦轮车为载体,基于ROS系统作为开发平台,使用双驱和四驱两种不同的结构作为机器人本体,最终通过地面二维实现导航机器人的精确方向和距离控制...
    发表于 09-03 07:29

    图象边界码表示研究

    图象边界表示在模式识别、图象处理以及计算机视觉等领域扮演着十分重要的角色。本文研究了图象边界码表示,提出一种改进的码表示方法。该方法通
    发表于 08-11 10:02 30次下载

    LOG算子在FPGA中的实现

    介绍了一种高斯拉普拉斯LOG算子在FPGA中的实现方案!并通过对一幅BMP图像的处理!论证了在FPGA中实现的LOG算子的图像增强效果
    发表于 05-16 17:12 50次下载
    LOG<b class='flag-5'>算子</b>在FPGA中的<b class='flag-5'>实现</b>

    一种新压缩顶点

    是一种以较少的数据存储表示线条、曲线和区域边界的编码技术。为进一步提高的压缩效率,提出了一种新的压缩顶点
    发表于 12-01 10:26 0次下载
    一种新压缩顶点<b class='flag-5'>链</b><b class='flag-5'>码</b>

    基于条件随机场的顿号边界识别

    标点符号的边界识别是自然语言处理的重要研究内容,它是分词、语块识别等应用的基础。为了实现中文中用于表示并列成分分割的顿号的边界
    发表于 01-02 11:29 0次下载

    具P Laplace算子的分数阶微分方程边值问题解的存在性论文说明

    分数阶微积分理论是整数阶微积分理论的推广,发展至今已有300多年的历史。特别是近几十年来,分数阶微分方程在物理、化学、生物、金融数学等不同的学科领域已得到广泛的应用。具p-Laplace算子
    发表于 12-05 15:53 3次下载
    具P <b class='flag-5'>Laplace</b><b class='flag-5'>算子</b>的分数阶微分方程边值问题解的存在性论文说明

    Laplacian算子的FPGA实现方法

    拉普拉斯算子是一种重要的图像增强算子,它是一种各向同性滤波器,即滤波器的响应与滤波器作用图像的突变方向无关,而且实现简单,被广泛用于图像锐化和高频增强等算法中。在此,提出一种使用Qua
    的头像 发表于 06-16 17:47 3263次阅读
    Laplacian<b class='flag-5'>算子</b>的FPGA<b class='flag-5'>实现</b>方法

    基于Laplace-Beltrami算子的特征点检测算法

    针对三维模型的特征点检测问题,提出一种基于 Laplace- Beltrami算子的特征点检测算法。对于给定的三维网格模型,首先构造离散 Laplace- Beltrami算子矩阵,求
    发表于 04-21 13:50 11次下载
    基于<b class='flag-5'>Laplace</b>-Beltrami<b class='flag-5'>算子</b>的特征点检测算法

    具ρLaplace算子的分数阶微分方程边值问题解的存在性

    具ρLaplace算子的分数阶微分方程边值问题解的存在性(深圳核达中远通电源技术有限公司待遇怎么样?)-第一章介绍有关分数阶微积分理论的研究背景、发展历史及研究现状,具p-Laplace算子
    发表于 09-17 13:38 5次下载
    具ρ<b class='flag-5'>Laplace</b><b class='flag-5'>算子</b>的分数阶微分方程边值问题解的存在性

    OpenCV边缘检测算子Laplace、LoG详解

    一阶导数算子(例如 Sobel 算子)通过对图像求导来确定图像的边缘,数值绝对值较高的点对应了图像的边缘。如果继续求二阶导,原先数值绝对值较高的点对应了过零点。因此,也可以通过找到二阶导数的过零点来检测边缘。在某些情况下,找二阶导数的过零点可能更容易。
    的头像 发表于 12-21 16:34 2219次阅读
    OpenCV边缘检测<b class='flag-5'>算子</b><b class='flag-5'>Laplace</b>、LoG详解