一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

鱼类检测视觉系统中的图像处理方法及其系统与流程

2022-03-02 04:10:58 来源:中国专利 TAG:


1.本发明涉及鱼类检测的技术领域,具体涉及到鱼类检测视觉系统中的图像处理方法及其系统的技术。


背景技术:

2.鱼作为人类动物蛋白的主要来源,约占全球人口动物蛋白摄入量的1/6。近年来,渔业养殖业已经成为食品生产中增长最快的产业之一。准确估价鱼类数量是渔业的重要课题,是实现科学投饵、养殖密度控制规范化、科学管理的基础保障,因此现代化渔业养殖对自动化鱼类计数器的需求量也日益增加。目前,国内的鱼类养殖业主要采用人工抽样称重的方式进行估算计数,养殖场工作人员抽取鱼类进行称重,然后估算鱼类的总数来进行计数。
3.国内养殖场采用的人工抽样称重方式进行估算计数,这无疑是侵入性的,不仅耗时、费力,而且会对鱼类造成伤害,影响鱼类的健康情况,降低鱼类生存率,并且存在较大误差,难以保证效率和准确性。


技术实现要素:

4.为了克服现有技术的不足,本发明的目的在于提供一种鱼类检测视觉系统中的图像处理方法,对检测区的鱼类进行实时检测和追踪。
5.进一步的目的是提供一种鱼类检测视觉系统,实时观察到鱼类数量以及质量。
6.为达上述目的,本发明采用以下技术方案:一种鱼类检测视觉系统中的图像处理方法,所述鱼类检测视觉系统中的图像处理方法是:利用相机拍摄进入检测区鱼的图像,通过图像处理器对图像进行处理;
7.通过拍摄鱼未进入检测区时检测区的图像,创建背景估计数据集,确定背景;
8.当鱼进入后,对有鱼的图像进行估计背景并获取前景,再过滤掉杂点,筛选出鱼,进而追踪到移动目标鱼;
9.对有鱼的图像格式转换,rgb转换成灰度图像,通过背景估计数据集,获取有鱼图像的“前景”,利用输入图像与背景图像对应像素点的灰度差值来检测所述移动目标;
10.1)通过开运算,去除干扰点;
11.开运算算法:集合a被集合b开运算,记为aοb,其中a为输入图像,b为结构元素,为腐蚀算法和膨胀算法的结合,集合a先被集合b腐蚀,记为(aθb),然后再被集合b膨胀,记为
12.腐蚀算法:集合a被集合b腐蚀,记为aθb,其中a为输入图像,b为结构元素;把结构元素b平移x后得到bx,为包含于运算符,若bx包含于a,则记下这个x点,所有满足上述条件的x点组成的集合称作a被b腐蚀的结果;
13.膨胀算法:集合a被集合b膨胀,记为其中a
为输入图像,b为结构元素;把结构元素b翻转过来成为-b,-b平移x后得到-bx,ι为交集运算符,φ为空集符号,若-bx和a交集不是空集,则记下这个x点,所有满足上述条件的x点组成的集合称作a被b膨胀的结果;
14.2)通过联通算法,将提取出的前景分成各个区域;
15.联通算法:对图像中所有的像素进行分析,像素与像素之间是有相连的,则认为两个像素属于一个区域,反之,两个像素没有接触,则认为两个像素属于不同的两个区域,进而提取出图像中的各个区域,这时候就把鱼和气泡、水花的区域区分出来;
16.3)面积筛选,通过扫描各区域的面积,通过设置的面积范围筛选到鱼,由于鱼的区域面积相对于前景较大,设置面积范围9000-99999,单位为平方像素,能够准确筛选到鱼;
17.4)框选鱼,前面已经筛选到鱼的区域,对鱼的区域再外接矩形,如此图像上就可以实时显示是否追踪到鱼;并且通过外接矩形,使用双向相机拍摄的俯视图和正视图结合,获取到鱼的长宽高,对检测区的每条鱼建立专属的长宽高集合。
18.如果当前图像的像素点和背景图像的像素点灰度值差别很大,就认为此像素点为前景像素点;相反,如果当前图像的像素点和背景图像的像素点灰度值差别较小,在一定的阈值范围内,就认为此像素点为背景像素点;灰度差的前景/背景决策阈值是固定的,然后将前景像素点集合组成一幅图像,获取到有鱼图像的“前景”,所述“前景”包括鱼、气泡、水花。
19.对鱼数量进行计算:
20.①
设置初始值,e=0,f=0,g=0,num=0,e为左边进入鱼的数目,f为右边出去鱼的数目,g为右边进入鱼的数目,num为检测区内鱼的数目;当检测从左边进入检测区,然后从右边离开检测区的鱼数目时,要防止右边进入和左边离开的鱼影响检测结果;
21.②
若num增加,则表明有鱼进入;对进入鱼的坐标进行分析,因为使用进行图像处理的图像分辨率为1280x960,列坐标为0-1280,如果列坐标column《220,则认为鱼从左边进,e 1,如果column》900,则认为鱼从右边进,g 1;
22.③
若num减少,则表明有鱼离开;对离开鱼的离开前所在坐标进行分析,如果鱼的列坐标column》900,则认为鱼从右边离开,f 1,如果column《220,则认为鱼从左边离开,e-1;
23.④
鱼从右边离开,即f》0时,还需判断是否存在右边进的鱼,若g》0,则f-1,g-1,进行抵消,直到f》0和g》0不同时成立;
24.⑤
若e》0,并且f》0,则认为存在鱼通过了检测区,进行循环,通过检测区鱼数目 1,e-1,f-1,直到e》0和f》0不同时成立,则跳出循环。
25.对鱼质量进行计算:
26.①
若判断鱼通过检测区,则取鱼消失前的图像,确定离开的是“哪条鱼”,为保证提取到完整鱼的长宽高,取离开鱼长宽高集合的最大值为鱼的估算长宽高;
27.②
通过鱼的估算长宽高,计算鱼的体积,再通过质量公式w=ρv计算出鱼的重量,其中,w为鱼的质量,ρ为鱼的密度,v为鱼的体积。
28.一种鱼类检测视觉系统,包括:相机、图像处理器与上位机;
29.相机,用于拍摄鱼类检测区图片;
30.图像处理器将拍摄到的图片进行图像处理,实时追踪检测鱼类,对多相机拍摄的
图片进行结合处理,将鱼数量以及鱼质量的数据发送给上位机;
31.在上位机的显示器上实时显示通过检测区的鱼数量以及鱼质量,并且用户进行追溯,查询检测结果,调阅图片来判断有无误判。
32.本发明具有以下有益效果:
33.通过本发明的技术方案,可以实时检测养殖场捕获的海洋鱼类的数量和质量,并且将检测数据在系统显示界面上显示出来,让用户可以追踪查询到海洋鱼类的数量和质量。
34.本发明可以减少人工参与,通过机器代替人工进行数鱼和称鱼的工作,不仅省时、省力,而且鱼类是正常的在水管中游动,系统几乎不会对鱼类的健康情况造成影响;
35.本发明使用图像处理技术,避免了人工重复工作的误判,可以自动、准确、实时的进行检测;
36.本发明使用简便,用户在上位机上就可以对系统参数进行设置,并且可以实时查阅数据,获取检测到的鱼数量以及鱼质量情况。
附图说明
37.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
38.图1是本发明鱼类检测视觉系统的结构图;
39.图2是本发明的检测流程图;
40.图3是本发明的模拟环境的单模拟物体检测图片;
41.图4是本发明的模拟环境的多模拟物体检测图片。
具体实施方式
42.下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
43.其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
44.本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
45.下面结合附图说明。
46.本发明的应用场景如海洋鱼类养殖场,养殖场在收获的时候,会通过机器进行赶鱼,然后用大水泵吸鱼,使鱼通过一段水管后到达收获区。本发明就是安装在水管的出口
处,进行海洋鱼类的实时检测。视觉检测系统的整体工位系统由相机、镜头、光源、工控机、显示器、电控柜等构成等构成,视觉检测系统示意图如图1所示,在线检测头包括相机、镜头,安装于检测区两侧,电控柜与系统plc进行io通信。
47.当鱼类进入检测区域时,视觉检测系统将自动展开工作,控制相机拍摄检测区域图片,然后通过图像处理计数,系统将对检测区的鱼类进行实时检测和追踪,进而检测到通过水管的鱼数量以及鱼质量,最后视觉系统将检测到的数据实时显示在系统上位机界面上,用户可以实时观察到鱼类数量以及质量。海洋鱼类检测视觉系统流程图如图2所示,鱼类进入检测区,然后视觉工控机触发视觉相机拍照,图像处理,对鱼类进行实时检测与追踪,检测通过检测区的鱼数量以及质量,数据在系统上位机界面上实时显示。
48.图像处理主要分为四个部分,分别如下所示:
49.1.背景提取
50.①
拍摄鱼未进入检测区时的检测区图像;
51.②
将图像格式进行转换,rgb转换成灰度图像;
52.③
创建背景估计数据集,确定“背景”;
53.扫描灰度图像的各像素点的灰度值,建立一个数据集,该数据集的各像素点的灰度值就是“背景”的灰度值。
54.2.物体识别
55.①
拍摄鱼进入检测区的图像,本次检测对检测区的图像拍摄是定时拍摄的:
56.②
图像格式转换,rgb转换成灰度图像;
57.③
通过背景估计数据集,获取有鱼图像的“前景”;
58.利用输入图像与背景图像对应像素点的灰度差值来检测“移动目标”。如果当前图像的像素点和背景图像的像素点灰度值差别很大,就认为此像素点为前景像素点;相反,如果当前图像的像素点和背景图像的像素点灰度值差别较小,在一定的阈值范围内,我们就认为此像素点为背景像素点;本设计灰度差的前景/背景决策阈值是固定的,固定阈值为7,然后将前景像素点集合组成一幅图像,获取到有鱼图像的“前景”,这时候“前景”由鱼,气泡等构成;
59.④
通过开运算,去除干扰点;
60.开运算算法:集合a被集合b开运算,记为aοb,其中a为输入图像,b为结构元素,为腐蚀算法和膨胀算法的结合,集合a先被集合b腐蚀,记为(aθb),然后在被集合b膨胀,记为
61.腐蚀算法:集合a被集合b腐蚀,记为aθb,其中a为输入图像,b为结构元素,本设计中使用的是半径为1.5的圆作为结构元素;把结构元素b平移x后得到bx,为包含于运算符,若bx包含于a,则记下这个x点,所有满足上述条件的x点组成的集合称作a被b腐蚀的结果。
62.膨胀算法:集合a被集合b膨胀,记为其中a为输入图像,b为结构元素,本设计中使用的是半径为1.5的圆作为结构元素;把结构元素b翻转过来成为-b,-b平移x后得到-bx,ι为交集运算符,φ为空集符号,若-bx和a交集不是空集,则记下这个x点。所有满足上述条件的x点组成的集合称作a被b膨胀的结果。
63.⑤
通过联通算法,将提取出的前景分成各个区域;
64.联通算法:对图像中所有的像素进行分析,像素与像素之间是有相连的,则认为两个像素属于一个区域,反之,两个像素没有接触,则认为两个像素属于不同的两个区域,进而提取出图像中的各个区域,这时候就把鱼和气泡、水花的区域区分出来。
65.⑥
面积筛选,通过扫描各区域的面积,通过设置的面积范围筛选到鱼,由于鱼的区域面积相对于前景的气泡、水花等较大,设置面积范围9000-99999,单位为平方像素,能够准确筛选到鱼;
66.⑦
框选鱼,前面已经筛选到鱼的区域,对鱼的区域再外接矩形,如此图像上就可以实时显示是否追踪到鱼;并且通过外接矩形,使用双向相机拍摄的俯视图和正视图结合,可以获取到鱼的长宽高,对检测区的每条鱼建立专属的长宽高集合;
67.3.数据处理-鱼数量计算
68.①
在数据处理前,先设置几个初始值,e=0,f=0,g=0,num=0,e为左边进入鱼的数目,f为右边出去鱼的数目,g为右边进入鱼的数目,num为检测区内鱼的数目;本次检测主要是检测从左边进入检测区,然后从右边离开检测区的鱼数目,要防止右边进入和左边离开的鱼影响检测结果;
69.②
由于在检测区的鱼都可以检测出来,那么就可以对检测区鱼数目进行统计,若num增加,则表明有鱼进入;对进入鱼的坐标进行分析,因为使用进行图像处理的图像分辨率为1280x960,列坐标为0-1280,如果列坐标column《220,则认为鱼从左边进,e 1,如果column》900,则认为鱼从右边进,g 1;例如:一条鱼进行,此时num=1,而前一张图像是没有鱼的,num=0,那么num就增加,然后判断鱼的坐标,若列坐标column《220,则判断鱼从左边进入,e 1,则e=1;若列坐标column》900,则判断鱼从右边进入,g 1,则g=1;
70.③
若num减少,则表明有鱼离开;对离开鱼的离开前所在坐标进行分析,如果鱼的列坐标column》900,则认为鱼从右边离开,f 1,如果column《220,则认为鱼从左边离开,e-1;例如:一条鱼离开了,若离开前检测区有一条鱼,num=1,鱼离开后num=0,那么num就减少了,然后对鱼离开前所在的坐标进分析,若鱼的列坐标column》900,则认为鱼是从右边离开的,f 1,则f=1;上一步判断了该鱼是从左边进的,此时e=1,若鱼的列坐标column《220,则认为鱼是从左边离开的,e-1,则e=0;
71.④
鱼从右边离开,即f》0时,还需判断是否存在右边进的鱼,若g》0,则f-1,g-1,进行抵消,直到f》0和g》0不同时成立;例如:当一条鱼从右边离开时,f=1,判断鱼是不是右边进来的,即g是否大于0,若这条鱼是从右边进来的,此时g=1,则f-1,g-1,此时f=0,g=0;若鱼不是右边进来的,此时g=0,则不进行处理;
72.⑤
若e》0,并且f》0,则认为存在鱼通过了检测区,进行循环,通过检测区鱼数目 1,e-1,f-1,直到e》0和f》0不同时成立,则跳出循环。例如:一条鱼从左边进入,右边离开,此时e=1,f=1,则判断一条鱼通过了检测区,通过检测区鱼数目 1,e-1,f-1,此时通过检测区鱼数目为1,e=0,f=0;
73.4.数据处理-鱼质量计算
74.①
若判断鱼通过检测区,则取鱼消失前的图像,确定离开的是“哪条鱼”,为保证提取到完整鱼的长宽高,取离开鱼长宽高集合的最大值为鱼的估算长宽高;例如:一条鱼离开了,提取该鱼的长宽高集合的最大值为鱼的估算长宽高{30,18,5},单位为cm;
75.②
通过鱼的估算长宽高,计算鱼的体积,再通过质量的公式w=ρv计算出鱼的重量,其中,w为鱼的质量,ρ为鱼的密度,v为鱼的体积;例如:本检测使用的金鲳鱼估算密度为:0.185g/cm3,离开的鱼通过估算长宽高计算到体积为2700cm3,则计算出离开的鱼质量为499.5g。
76.实时追踪算法为基于背景提取的目标跟踪算法,本项目针对的图像拍摄是固定相机进行拍摄的,对于这种情况相机是固定不动的,拍摄的图像中含有的对象可以大体分为“背景”和“移动目标”。首先通过拍摄鱼未进入检测区时检测区的图像,创建背景估计数据集,确定“背景”,然后当鱼进入后,对有鱼的图像进行估计背景并获取前景,再过滤掉杂点,筛选出鱼,进而追踪到“移动目标”。
77.模拟环境的模拟物体检测图片如图3所示,模拟物进入检测区域,视觉系统对相机拍摄的图片进行图像处理,从图片中我们可以看到,模拟物被框选出来,证明视觉系统可以很好的检测追踪到模拟物体,后续再结合另外的相机拍摄的图片,通过图像处理,我们就可以获取到模拟物的质量情况,当有模拟物离开了检测区,系统将进行实时计数,这样我们就可以获取到通过检测区的物体数量情况。
78.本发明的技术关键点在于:在鱼类通过的水管上安装视觉检测系统,用于拍摄检测区图片;将拍摄到的图片进行图像处理,实时追踪检测鱼类,对多相机拍摄的图片进行结合处理,将鱼数量以及鱼质量数据发送给上位机;上位机在显示器上实时显示通过检测区的鱼数量以及鱼质量,并且用户可以进行追溯,查询检测结果,调阅图片来判断有无误判。
79.本发明可以减少人工参与,通过机器代替人工进行数鱼和称鱼的工作,不仅省时、省力,而且鱼类是正常的在水管中游动,系统几乎不会对鱼类的健康情况造成影响;
80.本发明使用图像处理技术,避免了人工重复工作的误判,可以自动、准确、实时的进行检测,以模拟环境上的模拟物检测图片为参考,参见图4,就算是多物体进入检查区,视觉系统也可以进行检测追踪;
81.本发明使用简便,用户在上位机上就可以对系统参数进行设置,并且可以实时查阅数据,获取检测到的鱼数量以及鱼质量情况。
82.需要声明的是,上述具体实施方式仅为本发明的较佳实施例及所运用技术原理,在本发明所公开的技术范围内,任何熟悉本技术领域的技术人员所容易想到的变化或替换,都应涵盖在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献