一种基于光度立体的去除图像反光装置及方法与流程

文档序号:11288332阅读:1824来源:国知局
一种基于光度立体的去除图像反光装置及方法与流程

本发明涉及机器视觉与视频图像处理技术领域,更具体地说,涉及一种基于光度立体的去除图像反光装置及方法。



背景技术:

机器视觉在工业产品的质量检测领域的应用日益普遍,然而很多产品表面易反光导致相机采图后图像的某些区域被高光所覆盖,表面信息如纹理、字符或标贴等也因此丢失,让图像检测算法的效果大打折扣。

目前工业上去除反光的方法主要分为两类:多图像输入和单图像输入。基于多图像高光区域的互补性来去除图像反光,如图像拼接法、平均图像法,上述方法或对高光区域的判定缺乏足够精度,或处理过于粗糙,效果图像不够精确。基于梯度域求解泊松方程再由梯度图像重构出图像的方法[rogerioferis,rameshraskar,kar-hantan,matthewturk.specularreflectionreductionwithmulti-flashimageing.]来去除图像反光,具有较高的精度和处理效果,但该方法运行时间长,不能满足工业实时性的要求,且对于高光区域交叠的输入图像缺乏足够的鲁棒性。

基于单图像滤波的方法去除图像反光,如快速双边滤波、带通滤波,由于过度依赖于图像本身符合某种假定如图案呈一定的规律性,算法的应用面较为狭窄。基于图层分解的方法[yuli,michaels.brown.singleimagelayerseparationusingrelativesmoothness]去除图像反光,假定光照图的梯度直方图呈现短尾分布,而反射图呈现长尾分布,但当两个图层灰度平滑度相差不大时,该方法将无能为力。总之,单图像输入本质上是求解欠定方程,因此鲁棒性都达不到要求,现有的单图像输入方法,实时性和准确度两者难以同时满足要求。

经检索,关于去除图像反光,也有很多公开专利存在。如专利申请号201210378478.9,申请日为2012年10月8日,发明创造名称为:消除视频图像来自光滑物体表面横向反光的系统及方法;该申请案的系统包括摄像机、偏光滤波器;摄像机用以获取视频图像;偏光滤波器设置于摄像机镜头前,用以消除视频图像中光滑物体表面产生的反射光线。所述偏光滤波器包括电场供应单元、起偏单元;所述电场供应单元用以供应起偏单元所需要的电场,所述起偏单元用以将椭圆偏振光转变为线偏振光。该申请案通过在摄像机镜头前设置偏光滤波器,可消除视频图像中光滑物体表面产生的反射光线。但该申请案仅可消除表面横向反光,同时由于偏振片的使用,物体本身的漫反射成分也被削弱,准确性不足。

又如专利申请号201610338320.7,申请日为2016年5月19日,发明创造名称为:一种去除反光的拍摄装置和方法;该申请案先通过识别照片中内容相同但光线强度深浅不同的相互错位的两个像围成的反光区域,再通过修图算法将所述照片被反光区域影响的错误图像进行修复,去除反光区域,但该申请案采用图像的深浅错位来修复反光区域,仅适用与去除目标与相机之间透明物体产生的反光,通用性不足。

还有专利号201510564190.4,申请日为2015年9月6日,发明创造名称为:人脸识别的眼镜消除方法;该申请案通过一个合理的阈值自动过滤镜片反光严重的图片,筛选出反光度较低、不影响瞳孔定位的图片进一步进行镜框消除。但该申请案首先对多张图像进行人脸检测,然后通过人为预设的坐标找到眼部区域,再用加权平均差值方法对眼睛区域进行插值修复,不仅流程复杂,算法耗时长,而且人工预设了反光区域,不适用于反光区域未定的场景,通用性很小。



技术实现要素:

1.发明要解决的技术问题

本发明要解决的问题是:机器视觉在工业产品质量检测的应用需求日益增加,而反光会让图像检测算法的效果大打折扣;现有通过各种复杂算法进行高准确率的去除反光的方法运算量较大,不满足工业生产的实时性要求;而现有能够快速去除反光的方法仅能应对特定的产品,对有其他复杂图案的产品去除反光效果较差,总结来说即现有方法难以做到高实时性和高正确率兼容的问题,提供了一种基于光度立体的去除图像反光装置及方法;本发明利用四个光源分别照射下拍摄四幅图像,经灰度预处理后运用光度立体求解得反照率图,用反照率代替对应像素的灰度值,从而去除图像的反光,不仅效率高,鲁棒性好,而且得到的图像与光源的位置完全去耦合,处理后图像的准确度很高。

2.技术方案

为达到上述目的,本发明提供的技术方案为:

本发明的一种基于光度立体的去除图像反光方法,利用四个光源先后照射下对同一目标拍摄四幅图像,经预处理后运用光度立体求解得反照率图,用反照率代替对应像素的灰度值,从而去除图像的反光。

更具体地,本发明以相机拍摄方向为光轴,在光轴的外围安装四个光强一致的光源,四个光源确定的平面垂直于光轴,同时,光源照射方向会聚为一点,且该点位于光轴上,通过光源标定确定每个光源的照射角度;在四个光源先后分别点亮的条件下对同一目标各拍摄一幅图片,运用高斯滤波对所得的四幅图像预处理去除白噪声,然后求取每个像素的灰度调整参数,根据参数对可能存在反光的点的灰度值进行调节;然后将处理后的四幅图像按光度立体算法组成超定方程求取反照率图,即可获得去除反光的图像。

更进一步地,光源照射角度标定的具体过程如下:

1)在被测物体的位置处放置一个白球,调节光源亮度使白球不过曝,拍摄一幅图像;

2)通过霍夫圆拟合的方法找到球心的位置o(xo,yo)和球半径ro;

3)根据球心和球半径分割出白球,在白球内找到灰度值最大的点l(xl,yl);

4)将照射方向与相机成像的水平线的夹角记为slant,照射方向与相机拍摄轴的方向记为tilt,则:

slant=arctan((yl-yo)/(xl-xo))

tilt=2*arcsin(sqrt((yl-yo)^2+(xl-xo)^2))

5)对每个光源都进行上述步骤,求取每个光源的tilt和slant。

更进一步地,光源照射角度标定的步骤3)中,在白球内找到灰度值最大的区域,继续用霍夫圆拟合找到其该区域的圆心,将此圆心当成灰度值最大的点。

更进一步地,求取每个点灰度调整参数的过程为:

1)对任意像素点(x,y),第k幅图像上的灰度值为ik(k=1,2,3,4),将每幅图像灰度值归一化:

2)将i1、i2、i3、i4进行排序,用最大数减去次最大和次最小数的均值,假设i1>i2>i3>i4,定义:

y1=i1-0.5*(i2+i3)

y2=0.5*(i2+i3)-i4

调整参数k1、k2定义为:

k1=sqrt(2*y1-y1*y1)

k2=sqrt(2*y2-y2*y2)。

更进一步地,根据调整参数对可能存在反光的点的灰度值进行调节的过程如下:

1)根据镜面反射具有方向性的特点,i1、i2、i3、i4中最大的数对应的灰度值最有可能发生了反光,最小的数对应的灰度值有可能被遮挡,其他两个参数对应的灰度值镜面反射成分低,被遮挡概率小,近似为漫反射,因此不需要调节,ik′为调整后灰度值,k=1,2,3,4,即:

i2’=i2

i3’=i3

2)对于i4,根据调整参数求取调整后的灰度为:

i4’=(1-k1)*i4+0.5*k1*(i2+i3)

3)对于i1,可能由于发生遮挡而形成了阴影,判断策略采取阈值判断,当其小于给定阈值th时,需对其进行调整,调整后灰度为:

i1’=(1-k2)*i1+0.5*k2*(i2+i3)。

更进一步地,将处理后的四幅图像按光度立体算法组成超定方程求取反照率图的具体过程为:

1)将每个光源照射角度转化为空间单位向量,转换公式如下:

x=cos(slant)*sin(tilt)

y=sin(slant)*sin(tilt)

z=cos(tilt)

2)将四个光源的照射向量组成4*3的方向矩阵m4*3,将灰度调整的四幅图像组成对应的灰度向量i4*1;

3)按光度立体算法将灰度向量与照射向量组成超定方程组:

i4*1=β*m4*3*n3*1

其中,β为反照率,n3*1为该点的表面单位法向量;

4)上式左右两边乘以m4*3的转置,即:

由于n3*1为归一化向量,所以β为:

求出每个点的β得到反照率图,即为去除反光的图像。

本发明的一种基于光度立体的去除图像反光装置,包括一个相机和四个光源,以相机拍摄方向为光轴,四个光源对称分布在光轴的外围,四个光源确定的平面垂直于光轴,同时,四个光源照射方向会聚为一点,且该点位于光轴上。

3.有益效果

采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:

本发明的一种基于光度立体的去除图像反光方法,直接对每个像素位置的灰度进行线性运算,求出表征各点反射特性的反照率参数,算法时间短的同时具有很强的鲁棒性。主要优势在于:1)首次提出利用光度立体算法求取反照率图来去除图像反光,用四个光源分别照射下拍摄的四幅图像,经过灰度值调整后进行光度立体运算,可以有效地排除由于遮挡造成的阴影和各种复杂图案的影响,使算法的鲁棒性进一步增强;2)通过四个光源先后照射下拍摄同一目标的四幅图像求取物体反照率图像的设计,实现了将图像与光源去耦合,图像反映的是物体表面每个点的反射特性,能够获得更加准确的去除反光的图像。

附图说明

图1为本发明中去除图像反光的流程框图;

图2为本发明中光源安装示意图;

图3中的(a)~(c)为本发明中光源照射方向标定示意图;

图4中的(a)~(d)为本发明中四个相机各自拍摄的图像;

图5为图4拍摄图像去除反光的效果图;

图6中的(a)~(d)为本发明中另一产品由四个相机各自拍摄的图像;

图7为图6拍摄图像去除反光的效果图。

示意图中的标号说明:

1、光源;2、相机。

具体实施方式

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

参看图1,本发明的一种基于光度立体的去除图像反光方法,利用四个光源先后照射下对同一目标拍摄四幅图像,经预处理后运用光度立体求解得反照率图,用反照率代替对应像素的灰度值,从而去除图像的反光,具体为:首先在合适的位置安装四个光强一致的光源,通过光源标定确定每个光源的照射角度;四光源分别点亮的条件下各拍摄一幅图片,运用高斯滤波对所得的四幅图像预处理去除白噪声,然后求取每个像素的灰度调整参数,根据参数对可能存在反光的点的灰度值进行调节;然后将处理后的四幅图像按光度立体算法组成超定方程求取反照率图,即可获得去除反光的图像。本发明能够快速、准确地去除图像反光,主要包括光源照射方向标定、四图像灰度值调整及光度立体求解反照率图三部分,下面将结合实施例对本发明进行具体介绍。

实施例1

参看图2,根据光度立体原理,要保证每个相机拍摄的图像灰度仅照射角度这一个变量不同,其余变量包括光源强度、光源距离等需保持一致,同时避免同一个点在多幅图像上出现反光。本实施例的去除图像反光装置的设计方案为:以相机2拍摄方向为光轴,四个光源1对称分布在光轴的外围,四个光源1确定的平面垂直于光轴,同时,光源1照射方向会聚为一点,且该点位于光轴上。

本实施例首先在合适的位置安装四个光强一致的光源1,通过光源标定确定每个光源1的照射角度;四个光源1先后点亮的条件下对同一目标各拍摄一幅图片,运用高斯滤波对所得的四幅图像预处理去除白噪声,然后求取每个像素的灰度调整参数,根据参数对可能存在反光的点的灰度值进行调节;然后将处理后的四幅图像按光度立体算法组成超定方程求取反照率图,即获得去除反光的图像。具体如下:

1、光源照射方向标定:

光度学和成像光学表明,图像灰度和光照方向与物体表面法向量的夹角有关,因此必须知道光源照射方向。首先需要在合适位置安装四个光源,四光源对称地位于拍摄轴的外围,调整到合适的照射角度(如图2),在实际检测中不再对其改变。调节四个光源的光照强度一致,在待检物体的位置放置一个白球,调节光源亮度使白球不过曝,每次点亮一个光源并拍摄一幅图像,每幅图像确定对应的光源照射方向。考虑光源、白球、相机这个系统,图像最亮的部分,白球反射光刚好入射到相机,根据入射反射的关系,最亮点到球心的连线与拍摄轴的夹角是光照方向的一半。首先用霍夫圆拟合找到白球的圆心o(xo,yo)和半径ro,分割出该白球区域(如图3中的(b)所示),然后在该区域内寻找最大的灰度值,若最大值有多个,即在白球内找到灰度值最大的区域,以该最大灰度值减去2作为阈值直接二值化分割出最亮区域,用霍夫圆拟合找到圆心,将此圆心作为最亮点l(xl,yl)。以相机拍摄的水平线做x轴,拍摄轴做z轴,求出光源照射方向单位向量的球坐标。光照方向与z轴的夹角tilt可以用最亮点l与球心的平面距离与球半径求得,光照方向与x轴的夹角slant用最亮点l与球心的相对位置求得(如图3中的(c)所示)。据此,光源方向标定的具体步骤为:

霍夫圆拟合找到白球的圆心o(xo,yo)和半径ro,寻找最大值后用霍夫圆拟合找到最亮

点l(xl,yl),求取照射角度tilt和slant:

slant=arctan((yl-yo)/(xl-xo))

tilt=2*arcsin(sqrt((yl-yo)^2+(xl-xo)^2))

对每个光源都进行上述步骤,求取每个光源的tilt和slant。

2、四图像灰度值调整:

对于存在反光的像素位置,一般会出现在某幅图像上过亮而其他图像较暗的情况,光源对称分布可以避免同一个点在多幅图像上出现反光。对于最亮的像素值,用次最亮和次最暗的两个像素对其进行调整;对于被遮挡而形成阴影的点,也只会在某一幅图像上出现,对应的灰度值会接近于0,本实施例设置一个阈值参数,该阈值设置为检测区域无遮挡下的最低灰度值,低于所述阈值认为是被遮挡,被遮挡像素值用次最亮和次最暗的两个像素进行调整。最亮点或阴影点与中间两个值的差距越大,说明非漫反射的成分越多,异常像素本身的可靠度降低,采用调整参数来表征这种差距,调整参数越大像素本身权重越低。调整参数的计算是首先计算最亮点的相对漂移量,再把相对漂移量映射到一个上凸曲线上;对于疑似阴影点的调节参数求取方法亦是如此,只是需要先判断是否为阴影点,具体步骤为:

1)对任意像素点(x,y),第k幅图像上的灰度值为ik(k=1,2,3,4),将每幅图像的对应像素点(x,y)的灰度值归一化:

2)将i1、i2、i3、i4进行排序,用最大的数减去次最大和次最小数的均值,假设i1>i2>i3>i4,定义:

y1=i1-0.5*(i2+i3)

y2=0.5*(i2+i3)-i4

调整参数k1、k2定义为:

k1=sqrt(2*y1-y1*y1)

k2=sqrt(2*y2-y2*y2)

3)灰度值调节:

a、根据镜面反射具有方向性的特点,i1、i2、i3、i4中最大的数对应的灰度值最有可能发生了反光,最小的数对应的灰度值有可能发生被遮挡,其他两个参数对应的灰度值镜面反射成分低,被遮挡概率小,近似为漫反射,因此不需要调节,ik′为调整后灰度值(k=1,2,3,4),即:

i2’=i2

i3’=i3

b、对于i4,根据调整参数求取调整后的灰度为:

i4’(1-k1)*i4+0.5*k1*(i2+i3)

c、对于i1,可能由于发生遮挡而形成了阴影,这里判断策略采取阈值判断,当其小于给定阈值th(如th=3)时,需对其进行调整,调整后灰度为:

i1’=(1-k2)*i1+0.5*k2*(i2+i3)

3、光度立体求解反照率图:

1)将每个光源照射角度转化为空间单位向量,转换公式如下:

x=cos(slant)*sin(tilt)

y=sin(slant)*sin(tilt)

z=cos(tilt)

2)逐像素求解去除反光图像的反照率图,首先将四个光源方向的空间单位向量矩阵化,组成4*3的方向矩阵m4*3,将灰度调整的四幅图像组成对应的灰度向量i4*1。按光度立体算法将灰度向量与照射向量组成超定方程组:

i4*1=β*m4*3*n3*1

其中,β为反照率,n3*1为该点的表面单位法向量。两边乘以m4*3的转置,即:

由于n3*1为归一化向量,所以β为:

计算每个点的反照率得到反照率图,由此得到去除反光的图像。

其中图4、图6中的(a)、(b)、(c)、(d)分别为四个相机各自拍摄的图像,图5和图7为对应的去除反光的效果图,待处理图像来源于大米喷码检测。可以看出,本实施例去除反光的效果比较明显,对于复杂的反光有较强的鲁棒性,去除反光的图像与光照达到了去耦合效果,效果图与实际物体很吻合。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1