APP下载

示证屏中红外多重触控快速标定算法∗

2019-06-01李铁柱朱文华

计算机与数字工程 2019年5期
关键词:控制点标定介质

李铁柱 朱文华 蔡 宝

(上海第二工业大学工程训练中心 上海 201209)

1 引言

视听资料证据是指以图像和声音形式证明案件真实情况的证据。包括与案件事实、犯罪嫌疑人以及犯罪嫌疑人实施反侦查行为有关的录音、录像、照片、胶片、声卡、电子计算机内存信息资料等。融入激光多重触控技术,通过简单高效的人机互动方式,可加直观有效地展示视听证据资料,提供灵活的数字媒体信息服务。它是一种新的多点输入及多点响应技术,参考文献[1~5]概述了触控技术的原理、系统组成、设计要求等。文献[6]针对环境红外噪声干扰的问题,提出了一种基于同步脉冲光源的相邻帧差算法,同时还构建了嵌入同步脉冲光源的多点触摸硬件平台,实现了SPLA算法,并进行了大量的触摸实验。

通过多重触控技术的引入,有效解决我们现在所用的示证软件操作复杂,不能多人同时操作等问题。然而触控识别算法的开发设计比硬件技术更为复杂,不仅在软件功能上进行不断的创新,同时也要根据不同的应用场景进行提高。本文设计并实现了基于FTIR原理的红外激光检测多点触控系统,包括系统组成、调整投影机画面、摄像头设置,到不同场景下掩模图像生成,重点论述了在不同掩模情况下,采用的摄像头标定及估算算法。

2 软件系统组成

2.1 FTIR原理

光由介质i进入介质r常会发生偏折现象,而其偏折的量与光在介质中的传播速度有关,而于不同介质中之传播速度比则为光于此介质中之相对折射率,即

以两平行光波Ⅰ、Ⅱ由介质i斜射入介质r,当光波Ⅰ接触到介面A点时,光波Ⅱ的波才到达B点。因光波介质i进入介质r,速度也由νi变为νr,而致光波发生偏折。当光波Ⅱ的波前到达介面D点时,光波Ⅰ的波前已达介质r的C点,如图1所示。

图1 光波折射原理图

所以由

其中Δt为光波传播从A到C或B到D所须之时间,所以nisinθi=nrsinθr,其中ni、nr分别为介质i及介质r的绝对折射率,θi为入射线与法线间之夹角(入射角),为折射线与法线间之夹角(折射角)。

受抑全内反射Frustrated Total Internal Reflection(FTIR),简称全反射。当入射角比临界角大时(光线远离法线),光线会停止进入另一界面,反之会全部向内面反射。这只会发生在当光线从较高折射率的介质进入到较低折射率的介质以及入射角大于临界角时。因为没有折射而都是反射,因此也被称为全内反射[1]。当用户在树脂玻璃表面触摸时,光线就会被用户的接触部位反射或折射,在触摸的地方就会将原本反射在内部的红外线折射到我们在外面架设的红外摄像头,通过对应的算法就可以侦测到相对应的触点。基于FTIR触摸技术搭建的设备体积相对较大,但系统可拓展性好、较之其他系统成本较低以及容易搭建,如图2所示。

2.2 标定架构

标定总体分成5个模块:视频采集模块、显示模块、掩模模块、图像检测模块、标定模块。如图3所示。

图2 FITR系统原理图

图3 标定架构图

视频采集模块采集显示模块投影在示证屏上的视频帧图像,其中显示模块投影的图像为标定模块设定的具有一定特征的图形,然后将帧图像传送给图像检测模块,图像检测模块同时加载掩模模块传送的掩模图像,并将帧图像与掩模图像融合,对融合图像检测识别出图形的特征表示,并将特征表示传给标定模块,标定模块根据这些特征表示进行标定及估算,保存数据结果,然后通知显示模块显示下一个具有一定特征的图形。以此类推,所有的示证屏都被具有一定特征的图形扫过之后,标定模块计算出整个显示的标定数据。

3 标定算法

标定采用图像检测识别与显示相结合的方式来实现[7~8],算法分为三步:

第一步:有效标定点识别,显示模块在示证屏投影出白色的圆点,检测模块根据帧图像识别出特征点,并根据识别出的点进行判断标定点是否在掩模范围内;

第二步:精确有效标定点坐标,显示模块显示白色的格子,检测模块检测格子的角点来进一步确定标定点的坐标;

最后一步:NURBS插补,根据前两步得到的标定点估算其他在掩模互动区域的标定点,用所有的标定点实现标定。这里先进行如下定义。

显示宽度:displayerW

显示高度:displayerH

行向格子数量:Grid_X

列向格子数量:Grid_Y

格子宽度:dtx=displayerW/Grid_X

格子高度:dty=displayerH/Grid_Y

标定点列数:Point_X=Grid_X+1

标定点行数:Point_Y=Grid_Y+1

标定点总数:Point_Sum=Point_X*Point_Y

3.1 有效标定点识别

标定点id号在[0,Point_Sum-1]范围内,则:

第i个标定点的行列号为

xid=id%Point_X;

yid=id/Point_X;

此标定点投影坐标为(dtx*xid,dty*yid)。

投影半径为(dtx+dty)/10。

显示模块显示id号标定点,检测模块采用自适应灰度阈值法得到标定点在帧图像的轮廓[9],并计算轮廓的中心矩,最终求得的标定点坐标作为此标定点的初始坐标并保存,然后通知显示模块显示id+1号标定点。将所有识别出的标定点按每行、每列拟合,此时的拟合采用非线性曲线拟合(每行、每列至少四个识别出来的标定点),并将这些标定点坐标保存数组中,此时数组存入的标定点包括三种情况:

1)识别出来的标定点;

2)没有识别出来但拟合出来的标定点;

3)其他的标定点。在识别过程中实时判断是否需要重新标定。

判断准则:计算识别出来的点与其相邻识别出来的标定点的距离,最大距离大于三倍的最小距离或者最小距离小于某个设定值,都认为识别错误,程序会重新自动标定。

3.2 精确有效标定点坐标

标定点id号i在[0,Point_Sum-1]范围内,则

第i个标定点的行列号为

xid=AutoCalibId%Point_X;

yid=AutoCalibId/Point_X;

此标定格子投影坐标根据分布在显示区域的不同分别为

显示区域左上部分时,坐标为(dtx*x+dtx/2,dty*y+dty/2);

显示区域右上部分时,坐标为(dtx*x-dtx/2,dty*y+dty/2);

显示区域左下部分时,坐标为(dtx*x+dtx/2,dty*y-dty/2);

显示区域右下部分时,坐标为(dtx*x-dtx/2,dty*y-dty/2)。

计算标定点坐标流程图如图4所示。

图4 计算标定点坐标流程图

显示模块显示id号格子,检测模块首先自适用灰度阈值法和最小外接矩形法得到格子的初步矩形轮廓,对初步轮廓进行扩大1.2倍作为感兴趣区域,进行自适应灰度阈值法和拟合多边形顶点数组,并结合角点计算出精确的标定点坐标[10~14]。然后通知显示模块显示id+1号标定点。

3.3 NURBS插补

将上述步骤中的精确标定点坐标作为控制点,采用插补算法进行拟合,最终得到整个标定曲面的所有像素点的映射坐标,从而达到标定目的。统一的曲线和曲面在透视投影下也不是无变化的,对于交互的3D建模来说这是一个严重的缺陷。针对本文中的设计要求,我们采用了非统一有理B样条,即Non-Uniform Rational B-Splines(NURBS)进行曲面拟合[15~16]。NURBS既为标准解析形状,又为自由型曲线曲面的精确表示与设计提供了一个公共的数学形式,一个控制顶点的影响力的范围能够改变,为各种形状设计提供了充分的灵活性,对几何变换和投影变换具有不变性。本文中我们采用了三次NURBS曲线。一条NURBS曲线完全由控制点、权因子和节点矢量三类参数确定。NURBS曲线可以表示为一分段有理多项式函数:

其中di(i=0,1,…n)为控制点,每个控制点有一个权因子 ωi(i=0,1,…,n),U=[u0,u1,…,un+k+1]称为节点矢量,Ni,k为k次规范B样条基函数,本文采用三次NURBS曲线进行插补,即k=3。

在插补计算中,可以保证NURBS曲线通过已知的精确标定点。为方便使用,给出一组型值点即可,由插补程序根据已知标定点确定出控制点和相应的节点矢量,同时根据程序中默认的权因子构造通过这些标定点的NURBS曲线。由n+1个控制点和与其对应的具有n+5个元素的节点矢量,可以得到得到n-2个区间段的NURBS曲线。因此,要生成经过n+1个标定点的n段NURBS曲线,需要n+3个控制点和对应的具有n+7个元素的节点矢量。具体步骤如下:

1)计算节点矢量。

2)确定权因子矢量。

3)反求控制点。

4)插补参数预处理将已经求得的控制点、权因子及节点矢量输入,求得第i段NURBS曲线的各个系数。修改控制顶点的位置,曲线随之变形。插补时只需计算参数增加值,并将参数值计算出插补点坐标。

4 标定算法测试

根据环境光线影响及掩模为不同形状时,有如下几种测试结果。

测试1:环境光线比较亮,掩模为矩形,如图5(a)所示,所有的标定点都可以识别出来。

测试2:环境光线比较暗,掩模为矩形,如图5(b)所示,所有的标定点都可以识别出来。

图5 掩模为矩形的标定结果

测试3:环境光线比较亮,掩模为不规则形状,如图6所示,图中左上角、左下角和右上角的部分标定点无法识别出来,其他的标定点可以识别出来,无法识别的标定点通过估计的方法得到。

测试4:环境光线比较暗,掩模为不规则形状,如图6所示,图中左上角、左下角和右上角的部分标定点无法识别出来,其他的标定点可以识别出来,无法识别的标定点通过估计的方法得到。

测试5:环境光线比较亮,掩模为椭圆形,如图7所示,图中四个角及边界的部分标定点无法识别出来,其他的标定点可以识别出来,无法识别的标定点通过估计的方法得到。

图6 掩模为不规则形状的标定结果

测试6:环境光线比较暗,掩模为椭圆形,如图7所示,图中四个角及边界的部分标定点无法识别出来,其他的标定点可以识别出来,无法识别的标定点通过估计的方法得到。

图7 mask掩模为椭圆形的标定结果

从测试结果来看,摄像头靠近投影机安装比远离投影机安装自动标定的效果好,投影机投影到显示画面的方格子,由于显示镜面有一定的厚度,这样摄像头就会“看到”显示镜面背面显示的方格子,摄像头越是远离投影镜头,摄像头“看到”镜面背面的方格子就越明显,这样标定出来的结果误差就越大。

掩模为矩形时,所有的标定点都为有效标定点,掩模为其他形状,则有些标定点为无效的标定点,这些无效标定点通过靠近它的有效标定点进行估计,估计出来的标定点的误差比实际标定出来的标定点大。

环境光的影响,通过摄像头只要能够清晰地看到棋盘格就可以了,只要不出现过暗或者过亮情况应该都可以得到较好的标定结果。

综上所述,为了得到较好的标定结果,摄像头尽量靠近投影机安装,将环境光线调节到能够通过摄像头看到清晰明亮的棋盘格。

5 结语

本文提出的自动标定算法在摄像头安装位置不同、环境光线亮暗影响、掩模遮罩不同等情况下都进行大量的测试。在实际示证系统安装和使用中,由于现场条件的限制,摄像头远离投影机安装,环境光线比较暗,掩模为椭圆形的情况,本文的算法也能实现系统的有效标定,无法识别的标定点通过估计的方法得到,经过大量实验测试证明,本文的算法稳定可靠,满足系统的实际需求。

猜你喜欢

控制点标定介质
宫颈癌调强计划在水与介质中蒙特卡罗计算的剂量差异
信息交流介质的演化与选择偏好
顾及控制点空间分布的坐标转换模型研究
全站仪专项功能应用小技巧
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
顾及控制点均匀性的无人机实景三维建模精度分析
让复杂的事尽在掌控中
使用朗仁H6 Pro标定北汽绅宝转向角传感器
CT系统参数标定及成像—2