CN103177261B - 一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 - Google Patents
一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 Download PDFInfo
- Publication number
- CN103177261B CN103177261B CN201310068920.2A CN201310068920A CN103177261B CN 103177261 B CN103177261 B CN 103177261B CN 201310068920 A CN201310068920 A CN 201310068920A CN 103177261 B CN103177261 B CN 103177261B
- Authority
- CN
- China
- Prior art keywords
- image
- character
- milk
- scale
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法。其特点是:包括通过无线网络连接通信的中央服务器和至少一个安装在挤奶台上的嵌入式采集终端,其中嵌入式采集终端包括CPU,该CPU分别与无线模块、RFID读取模块、视频采集模块、人机交互模块、存储模块和电源模块连接。本发明与现有的奶量计量装置及其方法相比,具有如有优点:系统采用工业级、多功能的嵌入式设备。运用数字图像处理技术成功解决了本系统实施中的关键技术问题,适合于养殖园区独特的养殖模式,降低了系统成本,有效的提高了工作效率。
Description
技术领域
本发明涉及一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法。
背景技术
推进信息化,用图像处理技术改造养殖业传统计量方式,提高养殖业综合竞争力,是当前畜牧业经济发展的重要战略决策,也是学术界和企业界研究的热点问题之一。
奶牛产奶量的自动计量是现代化奶牛养殖场中必不可少的环节,可以为奶牛场养殖管理提供重要依据。牛奶产量是反映奶牛健康问题最直接的指标,奶牛产量突然降低,其第一表象是奶牛的健康有问题或者奶牛正处于发情期,计算、分析奶牛泌乳变化曲线,有助于积极地发现和解决奶牛健康方面的潜在问题;监视牛奶产量也有助于实施和评估单个或者一组奶牛的饲料配额,对奶牛产奶量的优化和调整具有重要作用;而且,有利于奶牛产奶量的跟踪记录,有助于奶牛的分群管理,便于改进奶牛群繁殖能力,降低奶牛的自然淘汰率,更好、更全面地进行牛群管理。由此可见,奶量自动计量在奶牛场现代化生产管理中扮演了极为重要的角色,而计量瓶刻度和读数的识别又是计量系统的关键之所在。我国对机械化挤奶奶量自动计量的相关技术研发甚少,基本处于空白,奶牛挤奶自动计量完全依赖欧、美发达国家的产品,为国产化的大型成套机械化挤奶技术装备的研发造成了障碍。德国的机械化挤奶技术较为成熟先进,其挤奶过程中的奶量自动计量水平处于国际领先地位。
传统的奶量计量方法是由计量人员通过人工观察奶瓶,读出液面读数并加以记录。这种传统计量方法存在着很大的局限性和误差。首先由于人工操作速度慢,在实际工作中往往由于奶牛饲养场规模大,奶瓶数量多,容易出项遗漏的现象;其次,人工操作易出现人为因素造成的差错,如不能严格按读数规则进行操作,产生读数误差或数据计算错误等。为了提高奶量计量效率,减少人为差错,采用计算机技术和图像处理来提高奶量计量的自动化程度是一个十分有效的方法。
随着我国奶业的发展,奶量自动计量系统越来越受到奶牛养殖户的欢迎。就目前我国奶业的情况来看,一些大型的养殖基地多数已引进进口设备,实现自动挤奶和奶量自动计量,但是这些进口设备普遍存在价格昂贵,不便维护等缺点,严重影响其在国内市场的进一步推广。另一方面结合我国奶业实情,行业中养殖户最主要的存在形式是养殖小区模式,而大多数养殖小区业主受经济实力制约,无力承受如此巨大的资金投入,于是在挤奶厅建设过程中他们便仅仅只安装自动挤奶设备而未安装计量系统。同时在这些设备当中计量装置所占成本份额要远远大于挤奶设备,因此开发一种测量精度高、价格低、实用性强的产奶量自动计量系统便成为了当务之急。
发明内容
本发明的目的之一是提供一种基于图像识别技术的奶牛产奶量自动计量系统,能够对奶牛的产奶量进行准确、可靠地自动计量;
本发明的目的之二是提供一种上述自动计量系统采用的图像识别方法,能够实现准确地识别。
一种基于图像识别技术的奶牛产奶量自动计量系统,其特别之处在于:包括通过无线网络连接通信的中央服务器和至少一个安装在挤奶台上的嵌入式采集终端,其中嵌入式采集终端包括CPU,该CPU分别与无线模块、RFID读取模块、视频采集模块、人机交互模块、存储模块和电源模块连接。
其中中央服务器采用PC机,该PC机与无线路由器连接。
其中嵌入式采集终端的存储模块采用NAND存储器。
其中CPU采用ARM处理器。
其中视频采集模块采用USB摄像头。
一种基于图像识别技术的奶牛产奶量自动计量系统的图像识别方法,其特别之处在于,包括如下步骤:
(1)图像预处理:
①采集计量瓶图像:
采用摄像头现场实时采集计量瓶数据;
②图像格式转换及灰度化:
使用640×480图像分辨率采集计量瓶彩色图像,图像格式采用统一的BMP图片格式,对图像进行灰度化和尺寸比例调整使图像可以在嵌入式终端的显示屏中完全显示;
③图像尺度变换和倾斜调整:
针对灰度变换后的图像,使用Hough直线检测法检测计量瓶刻度边界直线,然后计算出该直线与水平线的角度,从而对图像进行倾斜校正;
④图像直方图变换:
使用直方图函数对图像进行线性拉伸变化,使得图像整体变白,然后再使用直方图均衡化对图像进行处理;
⑤图像滤波:
使用高通滤波将图像中的噪声去除掉;
⑥图像二值化:
将图像上的像素点的灰度值设置为0或255,即将整个图像呈现出明显的黑白效果;
(2)图像边缘检测:
采用Canny边缘检测算法检测图像边缘,即先将图像使用高斯函数进行平滑,再由一阶微分的极大值确定边缘点;
(3)图像刻度提取及数字识别:
使用Canny算子检测得到的直线就是牛奶刻度线的位置,然后在此位置上进行图像分割,具体采用基于垂直投影的字符分割方法;
(4)数据处理,计算结果:
通过前面的处理,即得到计量瓶读数的整数部分,然后采取像素的比率运算,再通过转换计算得到小数部分。
步骤(3)中基于垂直投影的字符分割方法是指:从左往右扫描投影图像,如果整个扫描过程中共出现两次突变,则可以判定读数为一位数即只需识别单个数字字符,而且该字符就是牛奶读数的整数部分;如果共出现四次突变,则可判定读数为两位数即需要识别出两个字符,并转换成十进制数,该十进制数才是待识别的牛奶读数的整数部分;同时,在扫描的过程中,记录每次突变的位置,作为分割的起始和终止位置,从而对字符进行分割,然后进行字符归一化得到预定大小的数字字符图像,再使用基于字符图像欧拉数、结构形状和垂直穿线组合特征的印刷体数字字符级联分类器,对分割图像进行多级分类就可识别出数字。
采取像素的比率运算,再通过转换计算是指:在确定的刻度区域内,从左往右扫描投影图,找到峰值对应的位置即为大的刻度的位置,一个大刻度区间对应28像素点,那么一个像素点等于1/28升,第二个峰值位置就是牛奶液面刻度线距离大的刻度的长度,用该长度乘上比率1/28即为牛奶读数的小数部分,最后将这两个数值相加即得牛奶的最终重量。
本发明与现有的奶量计量装置及其方法相比,具有如有优点:1、系统采用工业级、多功能的嵌入式设备。运用数字图像处理技术成功解决了本系统实施中的关键技术问题,适合于养殖园区独特的养殖模式,降低了系统成本,有效的提高了工作效率;2、实现了在现场对奶牛产奶量等实时数据的采集和录入,一定程度的提高了养殖园区养殖规范化、奶产量规范化和管理信息化的水平;3、为管理者决策提供了及时有效的信息技术支持,提高了对突发事件的反应能力。
附图说明
图1是本发明所采用的系统硬件架构图;
图2是本发明所采用的嵌入式设备系统结构图;
图3是本发明方法的流程图。
具体实施方式
如图1、2所示,本发明是一种基于图像识别技术的奶牛产奶量自动计量系统,包括通过无线网络连接通信的中央服务器和至少一个安装在挤奶台上的嵌入式采集终端,其中嵌入式采集终端包括CPU,该CPU分别与无线模块、RFID读取模块、视频采集模块、人机交互模块、存储模块和电源模块连接。
其中中央服务器采用PC机,该PC机与无线路由器连接。嵌入式采集终端的存储模块采用NAND存储器,CPU采用ARM处理器,视频采集模块采用USB摄像头。
一种基于图像识别技术的奶牛产奶量自动计量系统的图像识别方法,包括如下步骤:
(1)图像预处理:
①采集计量瓶图像:
在嵌入式开发板上部署系统,使用usb数字摄像头现场实时采集奶瓶数据,采集图像时先启动嵌入式终端,系统启动后自动进入采集模块。
②图像格式转换及灰度化:
采集的图像全部转换成统一的图片格式,并且使用分量法对图像进行灰度化。
③图像尺度变换和倾斜调整:
从灰度化的图像中可以使用Hough直线检测法检测到奶瓶刻度中间的直线,然后计算出该直线与水平线的角度,从而根据该角度对图像进行旋转操作,对图像进行校正。Hough变换的基本思想是点-线的对偶性。它巧妙地将图像平面转换成参数平面,对于直线的检测,将直线检测问题转换为对点的统计。在直角坐标平面0-xy里的一条直线,方程式表示为:y=kx+t,k和t分别表示直线的斜率和截距,对于一条确定的直线,有一组确定的(k,t)与之对应;同理,一个给定的(k,t)可以确定一条直线。现引入一个参数平面0-kt,可知参数平面里的一个点(k,t)与坐标平面0-xy里的一条直线y=kx+t一一对应。
④图像直方图变换:
使用直方图对图像进行线性拉伸变化使得图像整体变白,然后再使用直方图均衡化对图像进行处理,这样得到的图像灰度等级变换比较强,比较适合使用滤波算法去除图像中的噪声。
⑤图像滤波:
高通滤波是一种过滤方式,规则为高频信号能正常通过,而低于设定临界值的低频信号则被阻隔、减弱。由于图像中的大部分区域都属于低频部分,所以大部分噪声集中在这些低频部分,使用高通滤波可以将图像中的噪声明显的去除掉。
⑥图像二值化:
二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。
(2)图像边缘检测:
在本发明中,边缘检测使用Canny算子,Canny算子基本思想是首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像[12]。其步骤如下:
Step1用高斯滤波器平滑图像。
这里,利用一个省略系数的高斯函数H(x,y):
G(x,y)=f(x,y)*H(x,y)
其中f(x,y)是图像数据。
Step2用一阶偏导的有限差分来计算梯度的幅值和方向。
一阶差分卷积模板:
得到幅值:
得到方向:
Step3对梯度幅值进行非极大值抑制。
仅仅得到全局的梯度并不足以确定边缘。为确定边缘,必须保留局部梯度最大的点,而抑制非极大值,即将非局部极大值点置零以得到细化的边缘。
Step4用双阈值算法检测和连接边缘。
使用两个阈值T1和T2(T1<T2),从而可以得到两个阈值边缘图像N1[i,j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止。T2用来找到每条线段,T1用来在这些线段的两个方向上延伸寻找边缘的断裂处,并连接这些边缘。
基于Canny算子的边缘检测在MATLAB中的引用如下:
BW=edge(I,’canny’,thresh,sigma)
其中,I是待处理的图像;第二个参数’canny’表示采用canny算子;thresh是敏感度阈值参数,其默认值是空矩阵[];sigma指定生成平滑使用的高斯滤波器的标准差,默认时的标准差为1。BW为返回的二值图像。
(3)图像刻度提取及数字识别:
使用Canny算子检测得到的直线就是牛奶刻度线的位置,然后在此位置上进行图像分割。本发明使用基于垂直投影的字符分割方法:从左往右扫描投影图像,如果整个扫描过程中共出现两次突变,则可以判定读数为一位数即只需识别单个数字字符,而且该字符就是牛奶读数的整数部分;如果共出现四次突变,则可判定读数为两位数即需要识别出两个字符,并转换成十进制数,该十进制数才是待识别的牛奶读数的整数部分。同时,在扫描的过程中,我们会记录每次突变的位置,作为分割的起始和终止位置,从而对字符进行很好的分割。然后进行字符归一化得到预定大小的数字字符图像。然后使用基于字符图像欧拉数、结构形状和垂直穿线等组合特征的印刷体数字字符级联分类器,对分割图像进行多级分类就可识别数字。
(4)数据处理,计算结果:
通过前面的处理,我们可以得到计量瓶读数的整数部分。要确定牛奶的最终读数,还必须得到“小数部分”。前面考虑到牛奶液面有可能穿过刻度值即数字,就采取了直接识别该刻度值下面的刻度,因此可能会出现“小数部分”比较大甚至超过1。在这里,我们采取的是像素的比率运算,通过一定的转换计算得到我们需要的“小数部分”。计量瓶读数所在的刻度区域以及它的水平投影图中有两个波峰,其对应的就是大的刻度。每一个刻度值都会对应一个大的刻度,因此,可以利用前面识别的数字区域确定刻度区域。在确定的刻度区域内,从左往右扫描投影图,找到峰值对应的位置即为大的刻度的位置。根据前面通过测试确定的经验值,一个大刻度区间对应28像素点,那么一个像素点等于1/28升。第二个峰值位置就是牛奶液面刻度线距离大的刻度的长度,用该长度乘上比率1/28即为牛奶读数的“小数部分”,最后将这两个数值相加即得牛奶的最终重量。
本发明提出了一种新的牛奶产奶量计量方法,该方法使用图像分析检测技术来识别挤奶台计量瓶的液面高度和刻度,从而达到记录个体产奶量的目的。奶牛场机械挤奶台通常使用计量瓶计量奶牛个体的挤奶量,计量瓶带有以千克为单位的刻度线,一个挤奶过程结束后,可通过人工识读方式读出奶牛个体的挤奶量。为了实现自动识读奶牛产奶量,本发明采用数字摄像头采集挤奶台计量瓶容器刻度表和牛奶液面位置的数字图像,然后利用图像分析、图像处理、识别及数字匹配等方法自动识读出采集的数字图像中牛奶液面所处的刻度表的刻度值,从而得到奶牛产奶量。该刻度识读系统主要包括图像去噪、刻度线识别、图像分割和刻度识别四个部分。技术上主要采用图像噪声滤除、灰度图像直方图处理、图像特征提取、图像二值化、水平垂直投影和数字字符识别等。
研究内容主要包括以下几个方面:
(1)研究牛奶计量瓶读数自动判读技术。目前,国内外用于牛奶自动计量的都是一些自动计量设备,价格昂贵,还需要定期维护。这样都不利于自动计量的普遍推广。所以,需要研究牛奶计量瓶读数自动判读技术,从而更加促进养殖业的科学管理和信息化的进程。
(2)研究计量瓶图像液面刻度线识别的方法。计量瓶刻度线位置的准确与否直接影响后续的数字识别和识别结果,所以计量瓶液面刻度线识别是整个刻度识别的关键之所在。
(3)研究计量瓶图像分割的方法。计量瓶图像分割的好坏会直接影响后续的数字字符识别,所以计量瓶图像的分割方法值得研究。
(4)研究牛奶计量瓶读数的小数部分的读取方法。在这里,为了提高读取的精度,本发明应用了像素点的比率运算,直接将像素点个数和计量瓶刻度区间长度对应起来,实验了像素点到数值的转换,很好的解决了牛奶计量瓶读数的小数部分的提取的难题。
为实现上述目的,本发明的技术方案是:一种基于图像识别技术的奶牛产奶量自动计量系统,其包括中央服务器和嵌入式采集终端,其中中央服务器负责数据的集中保存和处理,由数据集中处理软件和无线单元组成;嵌入式采集终端包括奶瓶图像采集、图像处理、RFID牛只信息读取和无线数据四个模块。
所述中央服务器为PC机,PC机经过无线路由器和无线单元连接,所述嵌入式采集终端是ARM系列的开发板,其中嵌入式采集终端的处理单元的输出端与无线单元的输入端连接,输入端与USB摄像头连接,其中嵌入式采集终端的处理单元的输入输出端分别和人机交互单元的输出输入端相连接,其中嵌入式采集终端的工作过程同RFID天线和挤奶设备操作流程紧密结合,从而实现奶量的准确计量。
中央服务器安装linux操作系统,数据处理软件在QT平台下采用C语言结合OpenCV进行编程,使用Mysql数据库,嵌入式终端也基于linux内核,采用SQLite数据库,整个测量系统功能包括奶瓶图像采集、图像处理、RFID牛只信息读取和无线发送四部分。
所述采集终端的工作原理为:首先把各个嵌入式采集终端统一编址,每个嵌入式采集终端的地址唯一,然后把中央服务器同各个嵌入式终端地址相关联,建立一一映射关系,这样中央服务器便可以通过嵌入式终端地址来识别不同的嵌入式采集终端,在计量过程中,终端处理单元通过对USB摄像头的输出信号进行相应处理得到奶量,并将奶量信息显示到人机交换单元,并且嵌入式终端将此次采集结果存入嵌入式终端数据库,然后嵌入式采集终端再将奶量同RFID获取的牛只编号一起通过无线模块传送到中央服务器。
所述嵌入式采集终端处理单元是ARM系列的开发板,该处理单元对奶瓶图像处理程序步骤如下:
(1)图像预处理:
①采集计量瓶图像:
采用嵌入式摄像头现场实时采集计量瓶数据。
②图像格式转换及灰度化:
使用640×480图像分辨率采集计量瓶彩色图像,图像格式采用统一的BMP图片格式,对图像进行灰度化和尺寸比例调整。
③图像尺度变换和倾斜调整:
针对灰度变换后的图像,使用Hough直线检测法检测计量瓶刻度边界直线,然后计算出该直线与水平线的角度,从而对图像进行倾斜校正。Hough变换的基本思想是点-线的对偶性。它巧妙地将图像平面转换成参数平面,对于直线的检测,将直线检测问题转换为对点的统计。在直角坐标平面0-xy里的一条直线,方程式表示为:y=kx+t,k和t分别表示直线的斜率和截距,对于一条确定的直线,有一组确定的(k,t)与之对应;同理,一个给定的(k,t)可以确定一条直线。现引入一个参数平面0-kt,可知参数平面里的一个点(k,t)与坐标平面0-xy里的一条直线y=kx+t一一对应。
④图像直方图变换:
使用直方图函数对图像进行线性拉伸变化,使得图像整体变白,然后再使用直方图均衡化对图像进行处理,这样得到的图像灰度等级变换比较强,适合使用滤波算法去除图像中的噪声。
⑤图像滤波:
高通滤波是一种过滤方式,规则为高频信号能正常通过,而低于设定临界值的低频信号则被阻隔、减弱。由于图像中的大部分区域都属于低频部分,所以大部分噪声集中在这些低频部分,使用高通滤波可以将图像中的噪声明显的去除掉。
⑥图像二值化:
二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标轮廓。
(2)图像边缘检测:
本发明中,图像边缘检测使用Canny算子,Canny算子基本思想是首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像[12]。其步骤如下:
Step1用高斯滤波器平滑图像。
这里,利用一个省略系数的高斯函数H(x,y):
G(x,y)=f(x,y)*H(x,y)
其中f(x,y)是图像数据。
Step2用一阶偏导的有限差分来计算梯度的幅值和方向。
一阶差分卷积模板:
幅值计算:
方向计算:
Step3对梯度幅值进行非极大值抑制。
仅仅得到全局的梯度并不足以确定边缘。为确定边缘,必须保留局部梯度最大的点,而抑制非极大值,即将非局部极大值点置零以得到细化的边缘。
Step4用双阈值算法检测和连接边缘。
使用两个阈值T1和T2(T1<T2),从而可以得到两个阈值边缘图像N1[i,j]和N2[i,j]。由于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断点(不闭合)。双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止。T2用来找到每条线段,T1用来在这些线段的两个方向上延伸寻找边缘的断裂处,并连接这些边缘。
图像边缘检测必须满足两个条件:一是能有效地抑制噪声;二是必须尽量精确确定边缘的位置。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。本发明中,采用Canny边缘检测算法检测图像边缘。Canny算子的思想是先将图像使用高斯函数进行平滑,再由一阶微分的极大值确定边缘点,它是最优的阶梯型边缘(StepEdge)检测算子。Canny算子边缘检测方法不容易受到噪声的干扰,能够在噪声和边缘检测之间取得较好的平衡,能够检测到真正的弱边缘。
(3)图像刻度提取及数字识别:
使用Canny算子检测得到的直线就是牛奶刻度线的位置,然后在此位置上进行图像分割。本发明使用基于垂直投影的字符分割方法:从左往右扫描投影图像,如果整个扫描过程中共出现两次突变,则可以判定读数为一位数即只需识别单个数字字符,而且该字符就是牛奶读数的整数部分;如果共出现四次突变,则可判定读数为两位数即需要识别出两个字符,并转换成十进制数,该十进制数才是待识别的牛奶读数的整数部分。同时,在扫描的过程中,记录每次突变的位置,作为分割的起始和终止位置,从而对字符进行很好的分割。然后进行字符归一化得到预定大小的数字字符图像。然后使用基于字符图像欧拉数、结构形状和垂直穿线等组合特征的印刷体数字字符级联分类器,对分割图像进行多级分类就可识别数字。
(4)数据处理,计算结果:
通过前面的处理,我们可以得到计量瓶读数的整数部分。要确定牛奶的最终读数,还必须得到“小数部分”。前面考虑到牛奶液面有可能穿过刻度值即数字,就采取了直接识别该刻度值下面的刻度,因此可能会出现“小数部分”比较大甚至超过1。在这里,我们采取的是像素的比率运算,通过一定的转换计算得到我们需要的“小数部分”。计量瓶读数所在的刻度区域以及它的水平投影图中有两个波峰,其对应的就是大的刻度。每一个刻度值都会对应一个大的刻度,因此,可以利用前面识别的数字区域确定刻度区域。在确定的刻度区域内,从左往右扫描投影图,找到峰值对应的位置即为大的刻度的位置。根据前面通过测试确定的经验值,一个大刻度区间对应28像素点,那么一个像素点等于1/28升。第二个峰值位置就是牛奶液面刻度线距离大的刻度的长度,用该长度乘上比率1/28即为牛奶读数的“小数部分”,最后将这两个数值相加即得牛奶的最终重量。
如图1所示:一种基于图像识别技术的奶牛产奶量自动计量系统,包括嵌入式采集终端和中央服务器。如图2所示:嵌入式采集终端包括核心模块,视频采集模块,无线模块,人机交互模块,NANDFLASH,RFID读取模块和电源模块等七大部分组成;在整个计量系统中每个挤奶台都配有一个嵌入式采集终端,中央服务器与所有的采集终端的通信方式为主从式一对多通信,中央服务器通过无线模块同所有的嵌入式采集终端相互连接,其中嵌入式采集终端通过无线单元将测量的奶量数据传输到中央服务器。
如图3所示:一种基于图像识别技术的奶牛产奶量自动计量系统包括嵌入式采集终端和中央服务器两部分。嵌入式采集终端进行图像处理分析如下:图像比例变换、平移变换、旋转变换、彩色图像灰度化、噪声滤除、灰度图像直方图处理、数字字符特征提取、图像二值化、图像分割和数字刻度识别等内容,具体步骤如下:
(1)图像预处理
①几何变换:图像比例变换、图像平移变换等。在采集到的图像中,可能由于某些外界因素的干扰,使得所拍到的图片位置发生偏移。②灰度级变换:彩色图像灰度化、灰度增强等。处理图片时,彩色图像的干扰信息多于灰度图,此时就要使用彩色图像灰度化及灰度增强等方法,以便更好的得到所需信息。③直方图操作:直方图的均衡化和规范化等。灰度直方图可以统计灰度图中各个灰度级的像素的个数,因此,通过直方图的操作可以对灰度图进行调整和变换。④图像的局部预处理:图像的滤波去噪、图像边缘检测等。去除图像中的干扰噪声和对图像的边缘检测,有利于对目标信息的进一步提取。⑤图像形态学、分割以及二值化处理。其结果是得到基本完整的目标信息。
(2)图像边缘检测
在图像边缘检测中,抑制噪声和边缘精确定位是无法同时满足的,一些边缘检测算法通过平滑滤波去除噪声的同时,也增加了边缘定位的不确定性;而提高边缘检测算子对边缘敏感性的同时,也提高了对噪声的敏感性。Canny算子力图在抗噪声干扰和精确定位之间寻求最佳折衷方案,其基本思想是首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像。通过边缘检测得到的计量瓶牛奶液面所在直线和刻度线都已经很清晰了,接下来用图像分割方法把液面直线以及附近的刻度线部分分割出来,在对分割出来的图像做水平投影,得到水平投影曲线和直方图。通过观察液面刻度线区域的水平投影曲线,可以发现,此曲线的第一个极小值点对应计量瓶零刻度值区域;此外,液面是一条相对较长的直线,经过投影后形成的投影曲线将会形成最大的凸峰,离这个凸峰最近的两个凸峰就是所对应的两条刻度线区域,这样就可以计算出牛奶液面直线所处的刻度区间。
(3)图像刻度提取及数字识别
本发明提出了一种新的字符分割方法:模板匹配-垂直投影结合法。实验证明,这种方法很好地综合了模板匹配法和垂直投影法各自的优点。下面将详细介绍这种方法的步骤:
①统计字符图像中每列的白色像素的个数。
②根据白色像素的个数对字符图像的所有列进行分类。若该列的白色像素个数为零,则该列像素属于背景区域,在此暂且称为背景列;否则该列像素属于字符区域,在此暂且称为字符列。
③连续的背景列形成一个背景区域,连续的字符列形成一个字符区域。记下所有背景区域和字符区域的起始列和结束列。
④计算字符图像中所有的字符区域的宽度,将宽度与H/2相差不大的区域及与“1”字符宽度相关不大的区域标记,这些已标记的字符区域初步判断为分割正确的字符区域,而未被标记的字符区域则可判定为分割错误的字符区域(即用垂直投影法分割该字符区域时出现粘连或断裂等问题)。
⑤计算字符图像中所有的背景区域的宽度,在图像的左半部分中找出宽度与H/3最为接近的背景区域,该背景区域即为刻度值第二个字符与第三个字符之间的背景区域,是字符图像字符与字符之间宽度最大的背景区域,我们把它标记为B区域。
⑥判断B区域左边相邻的字符区域是否已被标记。如果已被标记,则该字符区域被确定为第二个字符的区域;否则证明该字符区域在垂直投影法下分割错误,此时以B区域的起始列作为第二个字符的结束列,以H/2为宽度定出字符图像第二个字符的区域。
⑦判断第二个字符的区域的起始列以左的字符区域中,离第二个字符的区域最近的字符区域是否已被标记。确定第一个字符的区域。
⑧用确定第一个字符的区域的方法对B区域右边的字符区域进行分割,确定字符图像右边字符的区域。
(4)数据处理,计算结果
通过前面的处理,我们可以得到计量瓶读数的整数部分。要确定牛奶的最终读数,还必须得到“小数部分”。前面考虑到牛奶液面有可能穿过刻度值即数字,就采取了直接识别该刻度值下面的刻度,因此可能会出现“小数部分”比较大甚至超过1。在这里,我们采取的是像素的比率运算,通过一定的转换计算得到我们需要的“小数部分”。计量瓶读数所在的刻度区域以及它的水平投影图中有两个波峰,其对应的就是大的刻度。每一个刻度值都会对应一个大的刻度,因此,可以利用前面识别的数字区域确定刻度区域。在确定的刻度区域内,从左往右扫描投影图,找到峰值对应的位置即为大的刻度的位置。根据前面通过测试确定的经验值,一个大刻度区间对应28像素点,那么一个像素点等于1/28升。第二个峰值位置就是牛奶液面刻度线距离大的刻度的长度,用该长度乘上比率1/28即为牛奶读数的“小数部分”,最后将这两个数值相加即得牛奶的最终重量。
Claims (2)
1.一种基于图像识别技术的奶牛产奶量自动计量系统的图像识别方法,其特征在于,包括如下步骤:
(1)图像预处理:
①采集计量瓶图像:
采用摄像头现场实时采集计量瓶数据;
②图像格式转换及灰度化:
使用640×480图像分辨率采集计量瓶彩色图像,图像格式采用统一的BMP图片格式,对图像进行灰度化和尺寸比例调整使图像在嵌入式终端的显示屏中完全显示;
③图像尺度变换和倾斜调整:
针对灰度变换后的图像,使用Hough直线检测法检测计量瓶刻度边界直线,然后计算出该直线与水平线的角度,从而对图像进行倾斜校正;
④图像直方图变换:
使用直方图函数对图像进行线性拉伸变化,使得图像整体变白,然后再使用直方图均衡化对图像进行处理;
⑤图像滤波:
使用高通滤波将图像中的噪声去除掉;
⑥图像二值化:
将图像上的像素点的灰度值设置为0或255,即将整个图像呈现出明显的黑白效果;
(2)图像边缘检测:
采用Canny边缘检测算法检测图像边缘,即先将图像使用高斯函数进行平滑,再由一阶微分的极大值确定边缘点;
(3)图像刻度提取及数字识别:
使用Canny算子检测得到的直线就是牛奶刻度线的位置,然后在此位置上进行图像分割,具体采用基于垂直投影的字符分割方法;
(4)数据处理,计算结果:
通过前面的处理,即得到计量瓶读数的整数部分,然后采取像素的比率运算,再通过转换计算得到小数部分。
2.如权利要求1所述的一种基于图像识别技术的奶牛产奶量自动计量系统的图像识别方法,其特征在于:
步骤(3)中基于垂直投影的字符分割方法是指:从左往右扫描投影图像,如果整个扫描过程中共出现两次突变,则判定读数为一位数即只需识别单个数字字符,而且该字符就是牛奶读数的整数部分;如果共出现四次突变,则判定读数为两位数即需要识别出两个字符,并转换成十进制数,该十进制数才是待识别的牛奶读数的整数部分;同时,在扫描的过程中,记录每次突变的位置,作为分割的起始和终止位置,从而对字符进行分割,然后进行字符归一化得到预定大小的数字字符图像,再使用基于字符图像欧拉数、结构形状和垂直穿线组合特征的印刷体数字字符级联分类器,对分割图像进行多级分类就识别出数字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068920.2A CN103177261B (zh) | 2013-03-06 | 2013-03-06 | 一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068920.2A CN103177261B (zh) | 2013-03-06 | 2013-03-06 | 一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177261A CN103177261A (zh) | 2013-06-26 |
CN103177261B true CN103177261B (zh) | 2016-02-10 |
Family
ID=48637102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310068920.2A Expired - Fee Related CN103177261B (zh) | 2013-03-06 | 2013-03-06 | 一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177261B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105261031B (zh) * | 2015-11-26 | 2019-01-15 | 四川汇源光通信有限公司 | 基于梯度计算的直线检测方法及装置 |
CN106296674B (zh) * | 2016-08-04 | 2019-02-22 | 电子科技大学 | 一种椭圆形无栅格油位计的自动读数方法 |
CN109933083B (zh) * | 2017-12-15 | 2022-04-05 | 翔升(上海)电子技术有限公司 | 基于无人机的放牧方法、装置和系统 |
CN108399366A (zh) * | 2018-01-30 | 2018-08-14 | 何德珍 | 一种基于逐像素分类的遥感图像场景分类提取方法 |
CN108363967A (zh) * | 2018-01-30 | 2018-08-03 | 何德珍 | 一种遥感图像场景的分类系统 |
CN108345889B (zh) * | 2018-02-27 | 2022-02-11 | 国网上海市电力公司 | 一种利用树莓派对通信机柜进行示数识别的应用方法 |
CN109258479A (zh) * | 2018-09-21 | 2019-01-25 | 贵州民族大学 | 基于图像识别的奶牛产奶量自动监测系统 |
US11721094B2 (en) * | 2018-11-07 | 2023-08-08 | Foss Analytical A/S | Milk analyser for classifying milk |
CN109660709B (zh) * | 2019-01-15 | 2021-04-06 | 江苏东方赛光电有限公司 | 一种内嵌液位实时检测功能的智能摄像机使用方法 |
CN110084780B (zh) * | 2019-03-22 | 2023-05-23 | 佛山市科煜智能设备有限公司 | 一种瓷砖识别分道方法 |
MX2021013961A (es) * | 2019-05-14 | 2022-04-01 | Delaval Holding Ab | Sistema y metodo para proporcionar una base de decision para controlar un brazo robotico, un programa de computadora y una portadora de datos no volatil. |
CN110688996A (zh) * | 2019-09-23 | 2020-01-14 | 天津大学 | 一种基于视觉传感的嵌入式自动读尺装置与方法 |
CN111080524A (zh) * | 2019-12-19 | 2020-04-28 | 吉林农业大学 | 基于深度学习的植物病虫害识别方法 |
CN116664872A (zh) * | 2023-07-26 | 2023-08-29 | 成都实时技术股份有限公司 | 一种基于边缘计算的嵌入式图像识别方法、介质及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101949746A (zh) * | 2010-08-30 | 2011-01-19 | 中国人民解放军后勤工程学院 | 一种视觉温度计的自动检定方法及温度计自动检定仪 |
CN102096993A (zh) * | 2010-12-17 | 2011-06-15 | 北方民族大学 | 一种奶量集中采集系统 |
CN202565911U (zh) * | 2011-12-12 | 2012-12-05 | 孟克其劳 | 一种奶牛产奶量自动计量装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2011218640B2 (en) * | 2010-12-09 | 2014-12-11 | Smart Farm Technologies Limited | Detection apparatus |
-
2013
- 2013-03-06 CN CN201310068920.2A patent/CN103177261B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101949746A (zh) * | 2010-08-30 | 2011-01-19 | 中国人民解放军后勤工程学院 | 一种视觉温度计的自动检定方法及温度计自动检定仪 |
CN102096993A (zh) * | 2010-12-17 | 2011-06-15 | 北方民族大学 | 一种奶量集中采集系统 |
CN202565911U (zh) * | 2011-12-12 | 2012-12-05 | 孟克其劳 | 一种奶牛产奶量自动计量装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103177261A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177261B (zh) | 一种基于图像识别技术的奶牛产奶量自动计量系统及其图像识别方法 | |
Apolo-Apolo et al. | Deep learning techniques for estimation of the yield and size of citrus fruits using a UAV | |
Aquino et al. | A new methodology for estimating the grapevine-berry number per cluster using image analysis | |
CN103207987B (zh) | 一种指针式仪表的示数识别方法 | |
CN108961330B (zh) | 基于图像的猪体长测算方法及系统 | |
CN111339912B (zh) | 一种基于遥感影像识别牛羊的方法和系统 | |
CN109141248A (zh) | 基于图像的猪体重测算方法及系统 | |
CN103886612B (zh) | 一种基于水库监控摄像头的水位自动提取方法及系统 | |
CN103512494B (zh) | 一种植物果实微尺寸变化视觉检测系统及方法 | |
CN106709450A (zh) | 一种指纹图像识别方法及系统 | |
CN106483130B (zh) | 一种水稻病害的检测方法及其自动检测装置 | |
CN105021529A (zh) | 融合光谱和图像信息的作物病虫害识别和区分方法 | |
CN106951905A (zh) | 一种基于tof相机的树上苹果识别与定位方法 | |
CN101984916A (zh) | 基于数字图像处理技术的血管管径测量方法 | |
CN104483243B (zh) | 大米粘连米检测分割方法、装置及系统 | |
CN102855485B (zh) | 一种小麦抽穗的自动检测方法 | |
CN103263278A (zh) | 一种从超声图像上自动测量胎儿颈背透明物厚度的图像处理方法 | |
CN104732520A (zh) | 一种胸部数字影像的心胸比测量算法及系统 | |
CN115541030B (zh) | 高炉炉顶料面温度分布的识别方法、装置及存储介质 | |
WO2020119167A1 (zh) | 数据处理方法、装置、系统和介质 | |
CN103514599B (zh) | 一种基于邻域总变分的影像最佳分割尺度选择方法 | |
CN116415843A (zh) | 用于弱网络环境的多模态遥感辅助矿山生态环境评价方法 | |
CN110059573A (zh) | 基于图像识别的野山参分级检定方法 | |
CN117392157A (zh) | 一种边缘感知的保护性耕作秸秆覆盖率检测方法 | |
CN105046229B (zh) | 一种农作物行的识别方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160210 Termination date: 20200306 |