王志中
摘 要:为实现视觉测量系统的快速标定,提出基于栅格识别的摄像机标定方法。通过研究系统标定原理,给出易于制作、可夜间工作的二维平面网格靶标设计方案。根据针孔摄像机模型,建立靶标上栅格点的世界坐标和图像坐标的对应关系,实现标定过程。其中,栅格点的图像坐标通过以下步骤获得:(1)由形态学预处理、otsu二值化获得高对比度、低噪声的二值图像;(2)改进传统击中-击不中算法(HMT),将算法中完全匹配准则弱化为自定义阈值的模糊匹配。通过改进HMT算法检测出二值图像中的目标点集,再利用栅格的几何特性剔除点集中干扰点;(3)对目标点集利用最小二乘拟合、双线性插值等算法校正系统畸变,获得精确图像坐标。实验结果表明,该方法快速可行、操作简单、精度高,适用于图像测量系统、测距系统等工程应用。
关键词:摄像机标定;二维平面网格靶标;栅格识别;击中-击不中;畸变校正
引言
在视觉测量技术中,摄像机标定是测量的前提和基础,标定精度对测量结果有着重要影响[1]。摄像机标定是指建立摄像机图像像素与场景点位置之间的关系,其途经是根据摄像机模型,由已知特征点的图像坐标和世界坐标求解摄像机的模型参数[2]。
文章提出基于栅格识别的测量系统快速标定方法,利用制作精良、可夜间工作的二维平面网格靶标实现单平面传统标定。栅格识别主要利用图像处理相关知识,改进传统形态学击中-击不中(HMT)算法,准确检测出网格节点,引入最小二乘拟合,双线性插值算法校正系统畸变,快速实现摄像机垂直像素当量和水平当量的标定。
1 标定原理与靶标设计
在传统标定方法中,为求解摄像机的全部参数,采用三维标定块或者多次标定法。然而在特定应用中,并不需要知道摄像机的全部参数。例如,在大部分二维测量系统中,摄像机外部参数可以被忽略,或目标物体的放置位置与摄像机位姿固定,部分外部参数已知,利用单幅图像便可标定摄像机内部参数。再比如,对具体的尺寸测量系统而言,检测目标是物体待测尺寸,不用测出物体表面各点的空间几何位置对应关系。因此文章提出基于二维平面网格的摄像机快速标定方法,利用平面靶标实现一次标定的方法操作简单、快速,更适用于系统测量工程应用。
1.1 单平面标定原理
假设不考虑镜头畸变,保持标定平面与摄像机光轴垂直,建立摄像机透视模型如图1所示,靶标平面坐标系为XW-YW,视为在世界坐标系中ZW=0,实际图像像素坐标系为XS-YS。在图1中,世界坐标系中的点M1(Xw1,Yw1,0),M2(Xw2,Yw2,0),与图像平面中m1(u1,v1),m2(u2,v2)分别对应,则存在下式:
L1=(mm/pixel) (1)
L2=(mm/pixel) (2)
上式中,L1和L2称为系统的像素当量,指每个像素代表的实际长度值。在测量系统中,当被测物体和靶标处于同一位置时,根据标定的水平、垂直像素当量L1、L2,以及待测物特征点的像素坐标,便可确定物体的大小、形变等特征。
1.2 2D平面网格靶标设计
文章设计了二维平面网格靶标系统,相对与三维靶标更易于操作,尺寸可以制作的非常精确,且在背光照明系统中应用方便。系统主要由平面网格靶标,摄像设备、望远装置、计算机构成。望远装置安装在摄像设备的前端,摄像设备通过接口与计算机连接。靶标前方贴有精确刻度的栅格漫反射防水膜,灯箱底色为黑色且不透光,网格线为红色且透光;灯箱体外设有光线传感器,箱内有光线控制器和散射光源,其中散射光源由光线控制器控制其开关。系统组成如图2所示。
2 基于改进HMT算法的系统标定
(1)制作二维平面靶标,获得栅格点的世界坐标;(2)获取原始栅格图像;(3)利用图像处理相关知识识别栅格,得到栅格的像素坐标;(4)根据式(1)、式(2)计算系统水平和垂直像素当量,实现系统标定。
2.1 图像预处理
图像预处理主要用于滤除待标定图像的干扰噪声以及对光照不均的修正。其中典型算法有中值滤波、高斯滤波、top-hat算法、同态滤波算法等。由于后续点集提取算法均针对二值图像,常用的二值算法有otsu二值化。这些算法在大量文献中都有详细介绍,在此不赘述。如图4,是采用otsu二值化后的网格图像。
图4 二维平面靶标 图5 otsu二值化后的图像
2.2 栅格识别
在数字图像处理技术中,击中-击不中变换(HMT)经常用于检测具有特定结构形状的像素,然而针对实际网格图像,不能找到一个唯一确定的结构元素对来准确识别出网格全部交叉点。因此文章改进了传统HMT算法,引入自定义阈值,能准确识别出所有栅格点。
定义结构元素对B,相似性阈值T,根据改进HMT算法,扫描二值化的预处理图像,计算以该点为中心的局部方块与结构元素的相似性,只有当该点的相似值大于阈值T才认为该点为十字交叉点。最后根据栅格的几何约束特性去掉点集中的干扰数据最终准确识别出栅格点。
2.2.1 改进HMT算法
传统HMT算法定义为设定两个非空不相交结构元BFG、BBG,结构元素对B={BFG,BBG},对目标集合X作击中-击不中变换(HMT)的结果是x的点集,当且仅当B的原点与X一致,并且BFG可填入X,BBG可填入X的补集XC:
(3)
ε(*)为腐蚀运算,定义为:
(4)
其中Bx表示结构B平移x个像素。
利用HMT算法可以提取与给定领域结构完全匹配的所有像素。但实际图像由于光照不均、噪声影响等因素影响,二值化后的局部网格图像形状、大小不完全一致,不一定呈现完整的十字结构,一般包含如下几种图像:
图6 二值化后的局部网格图像
(图中每个小方块代表一个或几个像素点,“●”表示坐标原点)
针对以上情况,通过标准HMT变换,无法定义一个唯一结构元素对,使得所有网格被完全检测。因此,需对传统HMT算法进行改进,将算法中完全匹配条件弱化为相似匹配:即选择结构元素对B,通过扫描图像X计算以该点为中心的局部像素集与结构元素的相似度S,设定相似性阈值T,当该点相似度S大于T,则认为该点是目标点,反之则不是。
(5)
其中,“∽”--计算结构元素与局部目标图像的相似度符号;T1,T2--自定义阈值。
相似度S按下式计算:
(6)
“☉”为同或运算符,即运算符左右两边相同则结果为1,不同为0;NB为结构元素B的像素数目。
2.2.2 过滤干扰点
改进HMT算法输出为点集{(x0,y0),(x1,y1),...,(xn,yn)},其中包含了毛刺、干扰等数据点,因此首先根据点集的数据曲线来剔除毛刺,进一步可利用网格间的长宽约束特性来滤除干扰。利用约束去干扰的具体算法如下:
横向坐标点集{x0,x1,...,xn}存在:
则取集合 中的点 为目标点。最终获得
横坐标点集 ,而纵坐标则可通过横坐标来确定。其中△是根据网格制作精度和摄像机放大倍数等情况自定义的。
2.3 畸变校正
建立畸变前后的一个映射表是最直接最简单的畸变校正方法,在文献[4]中有详细介绍,其过程如下:
(1)在实际成像过程中,由于镜头畸变,通过交叉点提取算法得到的点集(xi', yi') (i = 0, 1, ..., m),是畸变后的交叉点位置。
(2)径向畸变被认为是摄像机畸变的主要因素,则图像中心的畸变最小或是零畸变,选取图像最中心的几个交叉特征点,利用最小二乘原理使残方差最小,进行直线拟合。由此获得的特征点是没有畸变的理想交叉点坐标(xi,yi) (i=0,1,...,m)。
(3)建立校正点的坐标映射表(xi', yi') → (xi,yi)。对图像中任一点(非校正点)的畸变映射采用对其邻近校正点的映射关系做双线性插值得到,以完成整幅图像的映射表建立。
3 实验与分析
由于实验条件有限,二维平面网格靶标采用打印的网格纸代替,靶标中每一小方格的大小为8mm×8mm。采用Matlab7.9仿真标定过程。原始的二维网格图像如图5所示,图6是对输入图像进行otsu二值化→改进HMT算法→过滤干扰点后得到的目标节点。从图5可以看出,本次实验拍摄的图像径向畸变不明显,甚至可以忽略。只需对其做扭转校正,结果如图8所示。最后随机选出12个节点计算像素当量,标定结果见表1。
使靶标与摄像机保持3-5m的距离,令图像中第一个网格交点的世界坐标为(0,0),其图像坐标为(),根据标定结果取L1=0.1766,L2=0.1741,随机选取6个栅格交叉点,反推这些点的世界坐标位置,根据表2所示:
表1 标定结果
4 结束语
文章提出了一种利用二维平面网格靶标实现摄像机部分参数的快速标定方法。该方法只需校正畸变和标定像素比例,避免了计算摄像机全部参数,更适用于图像测量系统、距离测量等工程应用。文章详细描述了系统的标定原理、给出了易于制作的、可以全天候工作的二维平面靶标设计方案。同时,结合数字图像处理的相关知识,改进了形态学击中-击不中算法,将完全匹配条件弱化为模糊匹配,检测出目标节点。最后利用最小二乘拟合、双线性插值校正系统径向畸变。实验结果表明,通过改进HMT算法标记的节点与目标节点完全吻合,系统操作简单快,标定结果精度高,且还可以通过制作更精良的靶标,来进一步提高系统精度。
参考文献
[1]朱枫,周静,郝颖明.基于几何方法的摄像机内外参数求解[J].计算机工程与应用,2005.
[2]张广军.机器视觉[M].北京:科学出版社,2005.
[3]徐经纬,郝泳涛.基于平面方格点的摄像机标定改进算法[J].计算机工程,2010.
[4]张广军.视觉测量[M].北京:科学出版社,2008.
(图中每个小方块代表一个或几个像素点,“●”表示坐标原点)
针对以上情况,通过标准HMT变换,无法定义一个唯一结构元素对,使得所有网格被完全检测。因此,需对传统HMT算法进行改进,将算法中完全匹配条件弱化为相似匹配:即选择结构元素对B,通过扫描图像X计算以该点为中心的局部像素集与结构元素的相似度S,设定相似性阈值T,当该点相似度S大于T,则认为该点是目标点,反之则不是。
(5)
其中,“∽”--计算结构元素与局部目标图像的相似度符号;T1,T2--自定义阈值。
相似度S按下式计算:
(6)
“☉”为同或运算符,即运算符左右两边相同则结果为1,不同为0;NB为结构元素B的像素数目。
2.2.2 过滤干扰点
改进HMT算法输出为点集{(x0,y0),(x1,y1),...,(xn,yn)},其中包含了毛刺、干扰等数据点,因此首先根据点集的数据曲线来剔除毛刺,进一步可利用网格间的长宽约束特性来滤除干扰。利用约束去干扰的具体算法如下:
横向坐标点集{x0,x1,...,xn}存在:
则取集合 中的点 为目标点。最终获得
横坐标点集 ,而纵坐标则可通过横坐标来确定。其中△是根据网格制作精度和摄像机放大倍数等情况自定义的。
2.3 畸变校正
建立畸变前后的一个映射表是最直接最简单的畸变校正方法,在文献[4]中有详细介绍,其过程如下:
(1)在实际成像过程中,由于镜头畸变,通过交叉点提取算法得到的点集(xi', yi') (i = 0, 1, ..., m),是畸变后的交叉点位置。
(2)径向畸变被认为是摄像机畸变的主要因素,则图像中心的畸变最小或是零畸变,选取图像最中心的几个交叉特征点,利用最小二乘原理使残方差最小,进行直线拟合。由此获得的特征点是没有畸变的理想交叉点坐标(xi,yi) (i=0,1,...,m)。
(3)建立校正点的坐标映射表(xi', yi') → (xi,yi)。对图像中任一点(非校正点)的畸变映射采用对其邻近校正点的映射关系做双线性插值得到,以完成整幅图像的映射表建立。
3 实验与分析
由于实验条件有限,二维平面网格靶标采用打印的网格纸代替,靶标中每一小方格的大小为8mm×8mm。采用Matlab7.9仿真标定过程。原始的二维网格图像如图5所示,图6是对输入图像进行otsu二值化→改进HMT算法→过滤干扰点后得到的目标节点。从图5可以看出,本次实验拍摄的图像径向畸变不明显,甚至可以忽略。只需对其做扭转校正,结果如图8所示。最后随机选出12个节点计算像素当量,标定结果见表1。
使靶标与摄像机保持3-5m的距离,令图像中第一个网格交点的世界坐标为(0,0),其图像坐标为(),根据标定结果取L1=0.1766,L2=0.1741,随机选取6个栅格交叉点,反推这些点的世界坐标位置,根据表2所示:
表1 标定结果
4 结束语
文章提出了一种利用二维平面网格靶标实现摄像机部分参数的快速标定方法。该方法只需校正畸变和标定像素比例,避免了计算摄像机全部参数,更适用于图像测量系统、距离测量等工程应用。文章详细描述了系统的标定原理、给出了易于制作的、可以全天候工作的二维平面靶标设计方案。同时,结合数字图像处理的相关知识,改进了形态学击中-击不中算法,将完全匹配条件弱化为模糊匹配,检测出目标节点。最后利用最小二乘拟合、双线性插值校正系统径向畸变。实验结果表明,通过改进HMT算法标记的节点与目标节点完全吻合,系统操作简单快,标定结果精度高,且还可以通过制作更精良的靶标,来进一步提高系统精度。
参考文献
[1]朱枫,周静,郝颖明.基于几何方法的摄像机内外参数求解[J].计算机工程与应用,2005.
[2]张广军.机器视觉[M].北京:科学出版社,2005.
[3]徐经纬,郝泳涛.基于平面方格点的摄像机标定改进算法[J].计算机工程,2010.
[4]张广军.视觉测量[M].北京:科学出版社,2008.
(图中每个小方块代表一个或几个像素点,“●”表示坐标原点)
针对以上情况,通过标准HMT变换,无法定义一个唯一结构元素对,使得所有网格被完全检测。因此,需对传统HMT算法进行改进,将算法中完全匹配条件弱化为相似匹配:即选择结构元素对B,通过扫描图像X计算以该点为中心的局部像素集与结构元素的相似度S,设定相似性阈值T,当该点相似度S大于T,则认为该点是目标点,反之则不是。
(5)
其中,“∽”--计算结构元素与局部目标图像的相似度符号;T1,T2--自定义阈值。
相似度S按下式计算:
(6)
“☉”为同或运算符,即运算符左右两边相同则结果为1,不同为0;NB为结构元素B的像素数目。
2.2.2 过滤干扰点
改进HMT算法输出为点集{(x0,y0),(x1,y1),...,(xn,yn)},其中包含了毛刺、干扰等数据点,因此首先根据点集的数据曲线来剔除毛刺,进一步可利用网格间的长宽约束特性来滤除干扰。利用约束去干扰的具体算法如下:
横向坐标点集{x0,x1,...,xn}存在:
则取集合 中的点 为目标点。最终获得
横坐标点集 ,而纵坐标则可通过横坐标来确定。其中△是根据网格制作精度和摄像机放大倍数等情况自定义的。
2.3 畸变校正
建立畸变前后的一个映射表是最直接最简单的畸变校正方法,在文献[4]中有详细介绍,其过程如下:
(1)在实际成像过程中,由于镜头畸变,通过交叉点提取算法得到的点集(xi', yi') (i = 0, 1, ..., m),是畸变后的交叉点位置。
(2)径向畸变被认为是摄像机畸变的主要因素,则图像中心的畸变最小或是零畸变,选取图像最中心的几个交叉特征点,利用最小二乘原理使残方差最小,进行直线拟合。由此获得的特征点是没有畸变的理想交叉点坐标(xi,yi) (i=0,1,...,m)。
(3)建立校正点的坐标映射表(xi', yi') → (xi,yi)。对图像中任一点(非校正点)的畸变映射采用对其邻近校正点的映射关系做双线性插值得到,以完成整幅图像的映射表建立。
3 实验与分析
由于实验条件有限,二维平面网格靶标采用打印的网格纸代替,靶标中每一小方格的大小为8mm×8mm。采用Matlab7.9仿真标定过程。原始的二维网格图像如图5所示,图6是对输入图像进行otsu二值化→改进HMT算法→过滤干扰点后得到的目标节点。从图5可以看出,本次实验拍摄的图像径向畸变不明显,甚至可以忽略。只需对其做扭转校正,结果如图8所示。最后随机选出12个节点计算像素当量,标定结果见表1。
使靶标与摄像机保持3-5m的距离,令图像中第一个网格交点的世界坐标为(0,0),其图像坐标为(),根据标定结果取L1=0.1766,L2=0.1741,随机选取6个栅格交叉点,反推这些点的世界坐标位置,根据表2所示:
表1 标定结果
4 结束语
文章提出了一种利用二维平面网格靶标实现摄像机部分参数的快速标定方法。该方法只需校正畸变和标定像素比例,避免了计算摄像机全部参数,更适用于图像测量系统、距离测量等工程应用。文章详细描述了系统的标定原理、给出了易于制作的、可以全天候工作的二维平面靶标设计方案。同时,结合数字图像处理的相关知识,改进了形态学击中-击不中算法,将完全匹配条件弱化为模糊匹配,检测出目标节点。最后利用最小二乘拟合、双线性插值校正系统径向畸变。实验结果表明,通过改进HMT算法标记的节点与目标节点完全吻合,系统操作简单快,标定结果精度高,且还可以通过制作更精良的靶标,来进一步提高系统精度。
参考文献
[1]朱枫,周静,郝颖明.基于几何方法的摄像机内外参数求解[J].计算机工程与应用,2005.
[2]张广军.机器视觉[M].北京:科学出版社,2005.
[3]徐经纬,郝泳涛.基于平面方格点的摄像机标定改进算法[J].计算机工程,2010.
[4]张广军.视觉测量[M].北京:科学出版社,2008.