著录项信息
专利名称 | 一种啤酒瓶瓶底中心区域污物的检测方法 |
申请号 | CN201010242053.6 | 申请日期 | 2010-07-30 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-01-05 | 公开/公告号 | CN101936915A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G01N21/88 | IPC分类号 | G;0;1;N;2;1;/;8;8查看分类表>
|
申请人 | 哈尔滨工业大学(威海) | 申请人地址 | 山东省威海市文化西路2号哈尔滨工业大学(威海)
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 哈尔滨工业大学(威海) | 当前权利人 | 哈尔滨工业大学(威海) |
发明人 | 李方;王好贤;张勇;毛兴鹏 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明涉及一种啤酒瓶瓶底中心区域的污物检测方法,其包括如下步骤:对获取的瓶底图片的中心圆区域进行定位,用模板处理定位后的区域,然后求模板处理后的连通域,计算每个连通域的面积,判断面积的大小并和阈值相比较来确定是干扰还是可能存在污物,对去除干扰后的图像求能用最小的矩形框住相同标号的连通区域的矩形的长和宽,并比较长和宽的比值,如果比值大于一定值或小于一定值则为线性污物,否则计算矩形的面积,如果大于某个阈值则为污物,否则为干扰,本发明提供的检测方法具有速度快精度高的特点,适用于国内现有的啤酒瓶检测装置中。
1.一种啤酒瓶瓶底中心区域污物的检测方法,其特征在于如下步骤:
第一步,瓶底照片的获取,在啤酒瓶瓶底外正对瓶底加上白光光源,将摄像机从啤酒瓶瓶口伸进啤酒瓶内部进行拍摄瓶底照片,拍摄时摄像机和瓶底要垂直以获得对称的瓶底照片;
第二步:对拍摄的瓶底照片进行中心区域的定位,把整幅图像的中心点作为初始圆心,以此初始圆心为基准,以0点方向为基准,每隔5度取一个方向,在每个方向上搜索瓶底防滑区,找到一个防滑区的点,由于瓶底防滑区的灰度值与非防滑区的灰度差相差比较大,沿着半径方向搜索两个相距d=3个像素的像素点f1和f2,以f1和f2为中心分别取上、下、左、右、中5个像素点的灰度值的平均值作为f1和f2的灰度值,然后判断f1和f2的灰度值的比值 r>1.05认为找到了防滑区,否则就继续搜索,搜索一圈能够在72个方向上找到72个防滑区的点,在搜索到的72个防滑区的点中任取一点,并找到与此点相隔
120度的其它两个点,并确定此三点定位的圆心,继续取下一个点并找到与其相隔120度的两点,定位出圆心,直到72个点全部取完,定位出24个圆心,取定位出的24个圆心坐标的平均值即是瓶底中心区域圆心的坐标,以定位出的圆心坐标为基准,再从0点方向为基准,每间隔36度取一个方向,在每个方向上找到防滑区的一个点,得到每个方向上防滑区的点到圆心坐标的距离,搜索一圈得到10个距离,此10个距离的平均值就是定位的瓶底中心圆的半径,定位出的圆心和半径确定出的圆就是要处理的瓶底中心区域f;
第三步:对第二步定位出的瓶底中心区域f的每个像素点f(i,j)使用公式(1-1)、(1-2)、(1-3)、(1-4)得到C1、C2、C3和C4的值,判断C1×C2和C3×C4的大小,C1×C2>
169或C3×C4>169则g(i,j)等于1,否则为0,g(i,j)是对每个像素点f(i,j)利用本步求解判断输出的结果,公式如下:
第四步:对第三步获得的g(i,j)得到其连通区域,采用8连通域搜索,8连通就是与一个像素点周围离得最近的八个像素,g(i,j)=1代表此处可能存在污物,找到一个为g(i,j)=1的像素点,然后判断以此像素点为中心的8连通域中是否有为1的像素点,如果有,以新的像素点为中心继续判断8连通域,对判断过的像素点进行标记以防止二次判断,如果找不到新的为1的像素点,一个连通区域就找到并对此连通区域中每个像素点都编一个区域号码作为此连通区域的标记,继续搜索g(i,j)中其他未判断的区域,找出其他连通区域并对其进行分别编号标记;
第五步:计算每个不同编号连通区域的像素个数,搜索整幅图像,遇到编号一样的像素点,则计数器就加一,直到所有像素点和所有编号扫描完毕,记录的每个编号的计数器的值就代表连通域的面积,判断连通域的面积,面积小于150的连通域为干扰,面积大于150的连通域进入第六步处理;
第六步:对第五步中面积大于150的连通域,对每个连通域内的像素点f(i,j),计算i和j的最大值和最小值,i的最大值减去i的最小值表示连通域水平方向的长度,j的最大值减去j的最小值表示连通域垂直方向的长度,判断连通域水平方向和垂直方向的长度,如果水平方向或垂直方向上的长度大于30,则此处存在线性污物,否则判断连通域水平方向和垂直方向长度之乘积,乘积大于200则为面状污物,否则为干扰,此外还可以判断水平方向与垂直方向长度的比值来判定线性污物,如果水平方向长度比上垂直方向长度大于15则为水平方向线性污物,如果垂直方向长度比上水平方向长度大于15则为垂直方向的线性污物。
一种啤酒瓶瓶底中心区域污物的检测方法\n技术领域:\n[0001] 本发明涉及图像处理技术领域,具体的说是一种啤酒瓶瓶底中心区域的污物检测方法,本方法也适合塑料瓶和玻璃瓶等透明物体污物的检测。\n背景技术:\n[0002] 目前很多啤酒生产厂家为了节省成本,都采用啤酒瓶回收的策略。但是回收的啤酒瓶可能因被污染或者破损而存在很多缺陷。于是在装瓶前必须对啤酒瓶进行检测,以剔除次品啤酒瓶。另外随着市场竞争的日益加剧以及消费者维权意识的逐渐增强,使得啤酒瓶生产企业越来越重视产品的质量。\n[0003] 当前国内对于啤酒瓶的检测以人工灯光目视检测为主。但是这种方法检测效率非常低下,再加上视觉疲劳的原因,使得人工灯光检测有不仅效率低而且可靠性不高的缺点。\n由于人工检测需要耗费大量的人力且效率较低,最近几年随着计算机和数字图像处理等技术的发展,以计算机视觉系统为主的检测方法逐渐应用到检测生产线上来。采用数字图像处理和机器人视觉技术进行回收啤酒瓶质量的检测是机器人视觉在工业领域应用的一个非常成功的范例,不仅克服了人工检测耗费人力资源且效率和质量不高的缺点,还极大的提高了生产线的自动化程度。但是目前国内各个啤酒瓶厂家采用的检测机器大部分都是进口的,价格昂贵,一般中、小企业无能力购买,另外由于瓶子大小、颜色和国情等等因素使得国外的检测设备并不完全适用于国内的状况。在国内的啤酒生产线上,回收的啤酒瓶在经过清洗之后还面临如下问题:(1)瓶口破损,这会导致啤酒瓶封装失败或者封装存在安全隐患,导致次品出现,严重影响了啤酒的质量。(2)瓶身瓶底破损,这会导致啤酒瓶在加压后存在爆炸的隐患。(3)瓶身、瓶底内壁存在异物。(4)瓶内存在残留液。这些都严重影响了生产的啤酒的质量。\n[0004] 当前国内对于以机器人视觉自动检测的开发还不太成熟,虽然已经有人开发出能够在自动化生产线上应用的机器,但是与国外比起来存在速度慢精度不高的缺点。例如瓶底中心区域污物的检测,有人利用啤酒瓶瓶底中心圆对称的特性来检测瓶底中心区域的污物,将瓶底中心圆的水平方向和垂直方向的直径分别作等间距的分割成4份,中心圆就被分成16快,将对称的两个子块灰度值作差并判断差值,大于某一阈值认为污物存在,否则污物不存在。但是这种方法对于明显的缺陷可以完全的检测出来,但是对于因啤酒瓶本身不均匀而造成的干扰或者一些细小的污物和裂纹干扰就显得无能为力,例如因啤酒瓶瓶底玻璃厚度不均匀造成的对称的两个子块灰度值不太一致,此时上述算法就会将此瓶检测为不合格,造成误检;再比如对细小污物比如头发丝或者啤酒瓶本身裂纹等线状污物,由这些现状污物造成的灰度级的变化很小,上述方法对其也是无能为力。所以如何开发出适用于国内现状的自动化且效率和精度都很高的检测啤酒瓶缺陷的方法还是一个有待于解决的问题。\n发明内容:\n[0005] 本发明的目的是提供一种速度快和精度高的啤酒瓶瓶底中心区域污物的检测方法。\n[0006] 为了实现上述目的,本发明采用的技术方案是:\n[0007] 1、一种啤酒瓶瓶底中心区域污物的检测方法,其特征在于如下步骤:\n[0008] 第一步,瓶底照片的获取,在啤酒瓶瓶底外正对瓶底加上白光光源,将摄像机从啤酒瓶瓶口伸进啤酒瓶内部进行拍摄瓶底照片,拍摄时摄像机和瓶底要垂直以获得对称的瓶底照片;\n[0009] 第二步:对拍摄的瓶底照片进行中心区域的定位,把整幅图像的中心点作为初始圆心,以此初始圆心为基准,以0点方向为基准,每隔5度取一个方向,在每个方向上搜索瓶底防滑区,找到一个防滑区的点,由于瓶底防滑区的灰度值与非防滑区的灰度差相差比较大,沿着半径方向搜索两个相聚d=3的像素点f1和f2,以f1和f2为中心分别取上、下、左、右、中5个点的灰度值的平均值作为f1和f2的灰度值,然后判断f1和f2的灰度值的比值 r>1.05认为找到了防滑区,否则就继续搜索,搜索一圈能够在72个方向上找到72个防滑区的点,在搜索到的72个防滑区的点中任取一点,并找到与此点相隔120度的其它两个点,并确定此三点定位的圆心,继续取下一个点并找到与其相隔120度的两点,定位出圆心,直到72个点全部取完,定位出24个圆心,取定位出的24个圆心坐标的平均值即是瓶底中心区域圆心的坐标,以定位出的圆心坐标为基准,再从0点方向为基准,每间隔36度取一个方向,在每个方向上找到防滑区的一个点,得到每个方向上防滑区的点到圆心坐标的距离,搜索一圈得到10个距离,此10个距离的平均值就是定位的瓶底中心圆的半径,定位出的圆心和半径确定出的圆就是要处理的瓶底中心区域f;\n[0010] 第三步:对第二步定位出的瓶底中心区域f的每个像素点f(i,j)使用公式(1-1)、(1-2)、(1-3)、(1-4)得到C1、C2、C3和C4的值,判断C1×C2和C3×C4的大小,C1×C2>169或C3×C4>169则g(i,j)等于1,否则为0,g(i,j)是对每个像素点f(i,j)利用本步求解判断输出的结果,公式如下:\n[0011] \n[0012] \n[0013] \n[0014] \n[0015] 第四步:对第三步获得的g(i,j)得到其连通区域,采用8连通域搜索,8连通就是与一个像素点周围离得最近的八个像素,g(i,j)=1代表此处可能存在污物,找到一个为g(i,j)=1的像素点,然后判断以此像素点为中心的8连通域中是否有为1的像素点,如果有,以新的像素点为中心继续判断8连通域,对判断过的像素点进行标记以防止二次判断,如果找不到新的为1的像素点,一个连通区域就找到并对此连通区域中每个像素点都编一个区域号码作为此连通区域的标记,继续搜索g(i,j)中其他未判断的区域,找出其他连通区域并对其进行分别编号标记;\n[0016] 第五步:计算每个不同编号连通区域的像素个数,搜索整幅图像,遇到编号一样的像素点,则计数器就加一,直到所有像素点和所有编号扫描完毕,记录的每个编号的计数器的值就代表连通域的面积,判断连通域的面积,面积小于150的连通域为干扰,面积大于\n150的连通域进入第六步处理;\n[0017] 第六步:对第五步中面积大于150的连通域,对每个连通域内的像素点f(i,j),计算i和j的最大值和最小值,i的最大值减去i的最小值表示连通域水平方向的长度,j的最大值减去j的最小值表示连通域垂直方向的长度,判断连通域水平方向和垂直方向的长度,如果水平方向或垂直方向上的长度大于30,则此处存在线性污物,否则判断连通域水平方向和垂直方向长度之乘积,乘积大于200则为面状污物,否则为干扰,此外还可以判断水平方向与垂直方向长度的比值来判定线性污物,如果水平方向长度比上垂直方向长度大于\n15则为水平方向线性污物,如果垂直方向长度比上水平方向长度大于15则为垂直方向的线性污物。\n[0018] 本发明与现有技术性相比,对瓶底图片中因存在噪点和因瓶底厚度不均匀造成的瓶底图片灰度值分布不均匀等干扰因素具有很好的健壮性。\n[0019] 本发明可实现对线状污物和面状污物的检测,在实验室环境下对线状污物的检测率能够达到98.76%,对面状污物的检测在实验室环境下对5000幅图片做了测试为无漏检,检测效率较高。\n[0020] 本发明算法平均运行时间为54.67ms,与现有技术相比,运行时间短,每小时检测的啤酒瓶的数量大大提升,效率较高。\n[0021] 本发明提供的检测方法能够很容易的应用于啤酒瓶检测装置中,并具有速度快、精度高的特点。\n具体实施方式:\n[0022] 本发明所述的啤酒瓶瓶底中心区域污物的检测方法,首先是瓶底图片的获取,在实验室环境下模拟自动化检测装置来获取啤酒瓶瓶底照片,在啤酒瓶瓶底外正对瓶底加上照射光源,将摄像机从啤酒瓶瓶口伸进啤酒瓶内部进行拍摄瓶底照片,拍摄时摄像机和瓶底要垂直以获得对称的瓶底照片。获取到的瓶底照片是一个数字图像。读取到内存中就是一个二维的矩阵或者看成是一个二维数组。在矩阵中,就含有瓶底的各种信息。\n[0023] 应用本方法第二步需要对获取到的瓶底图片进行定位,找到我们所关心的区域。\n具体定位方法如下:首先把整幅图像的中心点作为圆心,以此圆心为基准,从0点方向为基准,每隔5度取一个方向,在每个方向上搜索瓶底防滑区,由于瓶底防滑区的灰度值与非防滑区的灰度差相差比较大,沿着半径方向搜索两个相聚d=3的像素点f1和f2,以f1和f2为中心分别取上、下、左、右、中5个点的灰度值的平均值作为f1和f2的灰度值,然后判断f1和f2的灰度值的比值 r>1.05认为找到了防滑区,否则就继续搜索。搜索一圈找到72个点,在搜索到的72个点中任取一点,并找到与此点相差120度的其它两个点,并确定此三点定位的圆心,继续取下一个点并找到与其相隔120度的两点,定位出圆心,直到72个点全部取完,定位出24个圆心,取此24个圆心坐标的平均值即是瓶底中心区域圆心的位置,然后以定位出的圆心位置为基准,从0点方向为基准,每间隔36度取一个方向,并在每个方向上找出防滑区的一个点,求出防滑区的点到圆心位置的半径,求出10个半径的平均值就是要定位的中心圆的半径,定位出的圆心和半径确定出的圆就是要处理的瓶底中心区域f。\n[0024] 定位出要处理的区域之后,第三步需要对要处理的区域f进行预处理以去除干扰和找到污物所在位置。此方法预处理采用卷积方法,所用的卷积模板如下所示:\n[0025] \n[0026] \n[0027] \n[0028] \n[0029] 对于要处理的瓶底区域,每一个像素点f(i,j)分别应用C1、C2、C3、C4进行处理,对每个像素点处理完毕判断S1=C1*C2和S2=C3*C4,S1>169或S2>169那么g(i,j)=1,否则g(i,j)=0。g(i,j)是经过模板卷积之后的结果。g(i,j)等于1代表此处可能存在污物。模板C1是像素点f(i,j)左边第5个和左边第2个像素点的灰度值的平均值与以f(i,j)为中心的5个像素点的灰度值的平均值之差。模板C2是像素点f(i,j)右边第5个和右边第2个像素点的灰度值的平均值与以f(i,j)为中心的5个像素点的灰度值的平均值之差。用C1与C2之积来判断污物的存在与否。模板C3是像素点f(i,j)上方第5个和上方第2个像素点的灰度值的平均值与以f(i,j)为中心的5个像素点的灰度值的平均值之差。模板C4是像素点f(i,j)下方第5个和下方第2个像素点的灰度值的平均值与以f(i,j)为中心的5个像素点的灰度值的平均值之差。用C3与C4之积来判断污物的存在与否。\n[0030] 第三步卷积之后g(i,j)是一个二值化的图像,只包含1和0。g(i,j)为1的位置代表污物可能存在,也有可能是干扰。再通过下面几步的操作排除干扰即可。第三步对g(i,j)求8连通域,连通分8连通和4连通,g(i,j)=1代表此处可能存在污物,找到一个为g(i,j)=1的像素点,然后判断以此像素点为中心的8连通域中是否有为1的像素点,如果有,以新的像素点为中心继续判断8连通域,对判断过的像素点进行标记以防止二次判断,如果找不到新的为1的像素点,一个连通区域就找到并对此连通区域中每个像素点都编一个区域号码作为此连通区域的标记,继续搜索g(i,j)中其他未判断的区域,找出其他连通区域并对其进行分别编号标记。\n[0031] 统计每个连通域内像素点的个数,就代表此连通域的面积Si,判断连通域的面积Si,对Si>150的连通域,认为是可能存在污物,否则是干扰。由干扰而产生的连通域面积一般比较小,只要判断连通域的面积就可以去除大部分因瓶底本身不均衡或者在图片获取的过程等产生的干扰。\n[0032] 对面积大于150的连通域,对每个连通域内的像素点f(i,j),计算i和j的最大值和最小值,i的最大值减去i的最小值表示连通域水平方向的长度,j的最大值减去j的最小值表示连通域垂直方向的长度,判断连通域水平方向和垂直方向的长度,如果水平方向或垂直方向上的长度大于30,则此处存在线性污物,否则判断连通域水平方向和垂直方
法律信息
- 2014-10-01
未缴年费专利权终止
IPC(主分类): G01N 21/88
专利号: ZL 201010242053.6
申请日: 2010.07.30
授权公告日: 2012.10.24
- 2012-10-24
- 2012-01-04
实质审查的生效
IPC(主分类): G01N 21/88
专利申请号: 201010242053.6
申请日: 2010.07.30
- 2011-01-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
1993-11-24
| | |
2
| |
1998-11-25
|
1996-02-01
| | |
3
| | 暂无 |
1972-10-31
| | |
4
| |
2008-01-16
|
2007-05-15
| | |
5
| | 暂无 |
2006-11-10
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |