基于光照模型的球形物体表面光泽度评估方法
(一)技术领域
本发明涉及一种使用计算机视觉系统进行球形物体表面光泽度评估的方法。
(二)背景技术
表面光泽度评估是判断一些具有光滑表面物体质量的自动化方法。例如,光泽度是珍珠等产品质量的一个重要衡量标准,我们可以采用本发明所述的方法来对珍珠进行等级分类。
一般的,光泽度计算机评估的基本步骤:
(1)用数学方法建立所构造三维场景的几何描述,并将它们输入系统模型。
(2)将三维几何描述转换为二维透视位图。
(3)确定场景中的可见物体表面的形状及方位。
(4)计算场景中物体表面的颜色及分布。
(5)进行物体表面光泽度评估
下面讨论不包含透射光的简单光照明模型:
假设物体不透明,那么物体表面呈现的颜色仅由其反射光决定。反射光是由环境反射、漫反射、镜面反射组成。
环境光:环境光假设入射光均匀的从周围环境入射至景物表面并等量地向各个方向反射出去,这种光产生的效应简化为它在各个方向都有均匀的光强度Ie。环境反射光亮度可表示为:
Ie=Ipaka
Ie为物体的环境光反射亮度,Ipa为环境光亮度,ka为物体表面的环境光反射系数(0≤ka≤1)。
漫反射光:漫反射分量表示特定点光源在景物表面某一点的反射光中那些向空间各方向均匀反射出去的光,表面对入射光在各个方向上都有强度相同的反射,因而无论从哪个角度观察,这一点的光亮度都是相同的。对于一个漫反射体,表面的反射光亮度和光源入射角(入射光线和表面法向量的夹角)的余弦成正比:
Id=Ipdkdcos i
Id为物体表面漫反射光的光亮度,Ipd为光源垂直入射时反射光的光亮度,i为光源入射角,kd为漫射系数,决定于表面材料及入射光的波长(0≤kd≤1)。
镜面反射光:镜面反射光为朝一定方向的反射光。根据光的反射定律,反射光和入射光对称地分布于表面法向的两侧。对纯镜面,入射至表面面元上的光严格地遵循光的反射定律单向反射出去,反射角与入射角相等。
常采用余弦函数的幂次来模拟一般光滑表面的镜面反射光的空间分布
Is=Ipskscosmθ
Is为观察者接受到的镜面反射光亮度,Ips为入射光的光亮度,θ为镜面反射方向和视线方向的夹角,介于0到90度之间,m为镜面反射光的会聚指数(与物体表面光滑度有关),ks为镜面反射系数(与材料性质和入射光波长有关)。
表面会聚指数m为光泽度主要横量指标;现有技术中采用简单模型,对球形物体的光泽度评估计存在以下缺点:计算复杂、评估准确性差、主要依靠人工判断等。
(三)发明内容
为了克服已有的球形物体表面光泽度评估方法的计算复杂、评估准确性差、主要依靠人工判断等不足,本发明提供一种采用综合光照模型、计算简单、评估准确性较好的基于光照模型的球形物体表面光泽度评估方法。
本发明解决其技术问题所采用的技术方案是:
一种基于光照模型的球形物体表面光泽度评估方法,该方法包括以下步骤:
(1)、将待测球形物体放在黑箱中;
(2)、通过摄像机拍摄得到物体图像,从图像中的物体表面上选取至少两个测量点,每个测量点确定其光线的入射方位;
(3)、构造三维场景:光源和摄像机放置于坐标系统中的相对固定位置上,设球形物体半径是R,光源的坐标是(X1,Y1,Z1),摄像机坐标是(X2,Y2,Z2),入射点坐标是(X0,Y0,Z0),建立每个测量点的法线方程、测量点入射光的直线方程、以及摄像机所在位置与测量点之间的直线方程数学关系描述;
(4)、根据(3)的数学关系进一步计算出测量点的法线方程与测量点入射光的直线方程之间的夹角,即入射角i,计算出测量点的法线方程与摄像机和测量点之间直线方程的夹角φ,然后得出i与φ的差值即为镜面反射方向和视线方向的夹角θ;
(5)、摄像机拍摄对应测量点的两组照片,测出照片上的测量光强,并根据现场光强与测量光强之间的关系函数,将测量的测量光强转换成现场光强;
(6)、根据两次测量获得的镜面反射方向和视线方向的夹角θ1、θ2,以及两次测量的现场光强I1、I2,依照下式(4)计算光线会聚指数m,
根据会聚指数m评价待测球形物体的光泽度。
作为优选的一种方案:在所述(4)中,计算入射角i,由下式确定:
L0的L2夹角φ由下式确定:
对式(5),(6)进行反余弦变换,其差值为镜面反射方向和视线方向的夹角θ。
作为优选的另一种方案:在所述的第(2)至(6)中,采用三个以上的测量点,并采用最小二乘法求多次测量的均值;在所述的(6)中,令y=ln(I1/I2)、x=ln(cosθ1/cosθ2)、a=m;多次测量y,x的值,记为(xi,yi),具体的步骤为:
(6.1)、绘出数据(xi,yi)的散点图;
(6.2)、利用线性函数,将散点拟合起来;
(6.3)、如果有n个测量样本,利用公式(7):
即得出待测球形物体表面的会聚指数a,指数a用于评价待测物体的表面光泽度。
作为优选的再一种方案:所述的评估方法采用简单镜面反射光照模型,计算测量光强的算式为(8):
I=Ipkscosmθ (8);
或者是,所述的评估方法采用Phong光照明模型,计算测量光强的算式为(9)、(10):
单个光源时I=Ipaka+Ip(kdcosi+kscosmθ) (9)
多个光源时I=Ipaka+∑(Ipdkdcosi+Ipskscosmθ) (10)
再或者是,所述的评估方法采用基于RGB三基色彩色系统的光照模型,计算测量光强的算式为(11):
本发明的技术构思为:综合光照模型(Phong光照明模型)
I=Ipaka+Ip(kdcosi+kscosmθ) (单个光源时)
I=Ipaka+∑(Ipdkdcosi+Ipskscosmθ) (多个光源时)
基于RGB三基色颜色系统的模型:
使用综合光照模型,假设把球形物放在一个黑箱中,环境反射光强度就可以忽略(图1)。理想的情况假设球形物的表面光滑,那么漫反射光强将远小于镜面发射光。设计的测试装置如图6示意图所示。用摄像机拍下黑箱中的球形物体图像,如图2。假设入射光强I0,镜面反射光强为I(由图3得出),其算式为(12):
I=I0kscosmθ (12)
由光照模型,相机的位置固定后,可以测出物体上某点的θ1,得到反射光强I1;在不同的位置改变θ为θ2,得到反射光强I2,于是:
I1=I0kscosmθ1 (13)
I2=I0kscosmθ2 (14)
两式相除,得到
I1/I2=(cosθ1/cosθ2)m (15)
两边取对数,可以算出m的值:
通过m的值的大小可以来推断物体的表面光泽度,m越大表面越光泽,通常被评估的样品也越好;m越小,则物体表面比较粗糙。
对公式(15):
I1/I2=(cosθ1/cosθ2)m
通过上面的推导可以得出一组I1/I2和cosθ1/cosθ2,只有一个位置数m,可以通过求对数获取,但是由于相机的功能误差和操作过程中的功能误差,以及物体表面的不均匀性,需要取多个点进行测量,最后求出均值。
本发明的有益效果主要表现在:自动化计算机实现评估,测量方便,可靠性好。
(四)附图说明
图1是系统的光照模型示意图。
图2是球体受到光照的反射示意图。
图3是漫反射模型作用于球面(近似球体)的示意图。
图4是镜面反射光模型的示意图。
图5是球体表面会聚指数的模拟图。
图6是测试装置及其在世界坐标系中的位置关系的示意图。
(五)具体实施方式
下面结合附图对本发明作进一步描述。
实施例1
参照图1~图6,一种基于光照模型的球形物体表面光泽度评估方法,该方法包括以下步骤:
(1)、将待测球形物体放在黑箱中;
(2)、通过摄像机拍摄得到物体图像,从图像中的物体表面上选取至少两个测量点,每个测量点确定其光线的入射方位;
(3)、构造三维场景:光源和摄像机放置于坐标系统中的相对固定位置上,设球形物体半径是R,光源的坐标是(X1,Y1,Z1),摄像机坐标是(X2,Y2,Z2),入射点坐标是(X0,Y0,Z0),法线过球心和入射点,法线的方程为(17):
入射光线所在的直线方程过入射点和光源,其算式为(18):
同理,摄像机所在位置与入射点所在直线方程,其算式为(19):
(4)、计算L0的L1夹角即入射角i,由下式确定:
L0的L2夹角φ由下式确定:
对式(5),(6)进行反余弦变换,其差值为镜面反射方向和视线方向的夹角θ;
(5)、摄像机拍摄对应测量点的至少两组照片,测出照片上的测量光强,并根据现场光强与测量光强之间的传递函数G,i=G(I),将测量的测量光强转换成实际光强。
(6)、根据两次测量获得的镜面反射方向和视线方向的夹角θ1、θ2,以及两次测量的现场光强I1、I2,依照下式(4)计算会聚指数m,
根据会聚指数m评价待测球形物体的光泽度。
图6是用于球形物体的表面色泽分析的系统示意图。整个装置是放在一个黑箱中进行实现,环境光反射可忽略不计。在图6中,设光源和摄像机都在XOZ平面上,球形物与水平面(桌面)的切点是坐标系原点,假设入射点在图6所示位置,X轴水平方向向右,Z轴沿竖直方向向上,如图6建立坐标系。
对式(5),(6)进行反余弦变换,其差值就是要求的θ。其中i是入射角,θ为镜面反射方向和视线方向的夹角,介于0到90度之间。
CCD摄像机拍摄了两组照片,照片上的光强可以测出,我们就把其叫做测量光强,把现实场景的实际光强叫做现场光强,测量光强和现场光强的函数关系是非线性的,并且是由相机的参数决定的。
由公式(3),
I1/I2=(cosθ1/cosθ2)m
式中的I1和I2是现场光强。
进一步关于由测量光强得出现场光强时,对CCD摄像机来说,假设现场光强是输入I,测量光强是输出i,那么CCD相机的输入输出的函数关系即传递函数设为G(通过标定获得该函数曲线),那么首先得测出这个传递函数,测量G时我们选用常用的描点做图法,i=G(I)。
在理想情况下,成倍提高光源的输入功率,那么其现场光强也成比例增加,使用多只相同光源,其瓦数成相应倍数增加;或者选用亮度可以精确调整的光源,使用CCD相机进行n次拍摄,针对每次的I1、I2...In,分别测量i1、i2...in。将测量结果汇总,可以大致得出传递函数曲线G。这即是现场光强的“定标”过程。
由该传递函数G可以将发明中的测量光强,转换到现场光强。两次测量的测量光强i1、i2分别转换成I1、I2后公式(4)中未知数就只有m了,两边取对数,即可解出会聚指数m。
实施例2
参照图1~图6,本实施例中,通过多次测量以提高可靠性。在所述的(2)中,采用三个以上的测量点;采用最小二乘法求多次测量的均值,在所述的(6)中,令y=ln(I1/I2)、x=ln(cosθ1/cosθ2)、a=m;多次测量y,x的值,记为(xi,yi),
具体的步骤为:
(6.1)、绘出数据(xi,yi)的散点图;
(6.2)、利用线性函数,将散点拟合起来;
(6.3)、如果有n个测量样本,利用公式(7)得到:
即得出待测球形物体表面的会聚指数a。
本实施例的其余步骤与实施例1相同。
对公式(3)
I1/I2=(cosθ1/cosθ2)m
通过上面的推导可以得出一组I1/I2和cosθ1/cosθ2,只有一个位置数m,可以通过求对数获取,但是由于相机的功能误差和操作过程中的功能误差,以及物体表面的不均匀性,需要取多个点进行测量,最后求出均值。下面介绍使用最小二乘法实现这步工作。
如果以不同精度多次观测一个或多个未知量,为了求个未知量的最可靠值,各观测量必须加改正数,使其观测数的平方乘以观测值权数的总和最小。
假定实验测得变量之间的n个数据((x1,y1),(x2,y2),...,(xn,yn),则在xOy平面上,可以得到n个点Pi(xi,yi)(i=1,2,...,n),这种图形称为“散点图”,从图中可以粗略看出这些点大致散落在某直线近旁,我们认为x与y之间近似为一线性函数,下面介绍求解步骤。
考虑函数y=ax+b,其中a和b是待定常数.如果P
i(i=1,2,...,n)在一直线上,可以认为变量之间的关系为y=ax+b.但一般说来,这些点不可能在同一直线上.记ε
i=y
i-(ax
i+b),它反映了用直线y=ax+b来描述x=x
i,y=y
i时,计算值y与实际值y
i产生的偏差.当然要求偏差越小越好,但由于ε
i可正可负,因此不能认为总偏差
时,函数y=ax+b就很好地反映了变量之间的关系,因为此时每个偏差的绝对值可能很大.为了改进这一缺陷,就考虑用
来代替
但是由于绝对值不易作解析运算,因此,进一步用
来度量总偏差.因偏差的平方和最小可以保证每个偏差都不会很大.于是问题归结为确定y=ax+b中的常数a和b,使
为最小.用这种方法确定系数a,b的方法称为最小二乘法。
由极值原理得
即
解此联立方程得,
在本发明中,公式3两边取对数,得
ln m=ln(I1/I2)=n ln(cosθ1/cosθ2)
令y=ln(I1/I2)
x=ln(cosθ1/cosθ2)
a=m
则对于y=ax,要精确求出a,需要多次测量y,x的值,记为(xi,yi),具体步骤如下:
(1)绘出数据(xi,yi)的散点图。
(2)利用线性函数,将散点拟合起来。
(3)如果有n个测量样本,可以求出所绘直线的斜率或者利用公式(7)得到
从而得出物体表面的会聚指数评估值a。通过a值的大小可以来推断物体的表面光泽度,a越大表面越光泽,通常被评估的样品质量也越好;a越小,则物体表面比较粗糙。