[0004] 鉴于目前的三维模型兴趣点数据集不能反映出人类在观察模型时的真实情况。本发明提出一种基于眼动注视点移动轨迹的感兴趣点数据库建立方法。利用本方法建立的感兴趣点数据库能反映出人眼在观察模型时的真实情况,数据更加真实可靠。
[0005] 为实现上述目的,本发明通过以下技术方案予以实现,具体包括如下4个步骤:
[0006] 步骤(1)收集三维模型并制作成实验所需的视频素材。
[0007] 步骤(2)将视频放在眼动仪上让实验者观看,获得眼动注视点的数据,并通过相应软件合成附带眼动注视点的视频。
[0008] 步骤(3)将附带眼动注视点的视频通过动点提取和三维映射算法,生成附带眼动注视点的三维模型。
[0009] 步骤(4)对实验者的眼动注视点做分析,对所有实验者的眼动注视点进行整理,得到三维模型感兴趣点集合,舍弃一些不合适,异常的数据,并对感兴趣点进行合并,建立感兴趣点数据库。
[0010] 所述步骤(1)制作视频素材的方法如下:
[0011] 选择24个斯坦福三维模型库和SHREC2007模型数据库中模型,这些三维模型被广泛用于三维模型研究的标准库。利用MATLAB为每个三维模型保存两组数据,一组是三维模型围绕X轴依次间隔旋转60度:分别是旋转0度,60度,120度,180度,240度,300度,360度的三维模型;一组是三维模型围绕Y轴依次间隔旋转60度:分别是旋转0度,60度,120度,180度,240度,300度,360度的三维模型;选择Z轴方向作为视点,将12个角度上的模型投影在XOY平面,由此一个模型将得到12张二维的投影图片。
[0012] 三维模型旋转的公式以及投影于XOY平面的公式。
[0013] 围绕X轴旋转:
[0014] z′=zcosθ‑xsinθ
[0015] x′=xcosθ+zsinθ
[0016] y′=y
[0017] 围绕Y轴旋转:
[0018] z′=zcosθ‑ysinθ
[0019] x′=x
[0020] y′=ycosθ+zsinθ
[0021] 平行投影的公式:
[0022] x′=x
[0023] y′=y
[0024] z′=0
[0025] 利用视频编辑器Movie Maker,每隔1.5秒变换一张图片,将每个模型的12张二维图片合成一段短视频,并在每两个模型间插入十秒钟空白图片作为休息时间,将6个模型合成一个长视频。24个模型共制成4个长视频。
[0026] 所述步骤(2)中让实验者进行实验的前提条件如下:
[0027] a)图像的显示设备放置在左侧,实验者坐在图像的显示设备正前方,并且保持距离为70cm,同时实验者保持眼睛与屏幕高度一致,能够平视屏幕中心。
[0028] b)操作人员在右侧,用电脑控制视频播放在显示设备上,操作人员和实验者之间用隔光挡板隔离。
[0029] c)实验者的四周需要用隔光挡板隔离,实验室周围使用隔光窗帘,防止其他光源对实验者造成实验干扰。
[0030] d)保持实验室环境声音不超过30dB,创造较为理想的安静环境,防止其他声源对实验者造成实验干扰。
[0031] 所述步骤(2)中具体实验的如下:
[0032] 首先使用iViewX软件对测试者的眼睛位置进行调整。在Eye Image框出现实验者瞳孔影像后,操作者需要通过调整屏幕与实验者相对位置,使得屏幕上的瞳孔影像能够居中稳定呈现。其中,实验者头部轻微移动不会对投影造成影响,对于由于眨眼引起的影像丢失也能很快恢复。
[0033] 然后利用Experiment Center软件收集实验者观看视频时眼动注视点移动轨迹。需要校准实验者眼睛的视线,当校准完后,会出现校准反馈即X、Y方向上的偏差,当偏差X,Y都小于1.0的时候,则可进入实验,之后会出现模型视频播放;
[0034] 最后利用BeGaze分析软件将素材视频和眼动注视点追踪轨迹进行合成,得到附带实验者眼动注视点轨迹的模型视频。
[0035] 所述步骤(3)通过将眼动仪获取的附带实验者眼动注视点轨迹的模型视频按帧剪切,通过提取动点算法获得每张图片上的眼动注视点坐标,再通过三维映射算法将动点在图片上的二维坐标转成空间上的三维坐标。
[0036] 首先进行二维眼动注视点的坐标提取,利用FFmpeg Build软件将合成的视频按帧截成图片获得二维图片;获取图片中的眼动注视点颜色,眼动注视点移动轨迹通过眼动注视点在模型上移动的形式体现,通过上一个步骤中的软件设置,本实验眼动注视点呈橘色。我们在这称它为动点颜色,并且设置颜色容差值;接着又设置二维数组,并对其进行初始化设值为1,与二维图片相比较,如果与动点颜色比较,得到的RGB三个值都在容差范围内,满足条件;否则该点不是我们要找的眼动点。如果没有点满足条件,则感兴趣点标志置0,反之置1。将满足条件的点放入point数组中,分别需要记录满足条件的点最大最小的行和列,并取最大最小的行和列坐标的中值,即为所求感兴趣点坐标(row,rank),输出感兴趣点坐标点。
[0037] 再通过三维映射算法获得附带眼动注视点的三维模型。因为模型的二维图片是通过投影在三维的XOY平面上获得的,由投影的性质我们可以看出二维和三维的坐标点相互之间存在联系。首先使模型投影在XOY平面,因此x,y坐标值是确定的,而z坐标则是取模型表面离视点距离最近的顶点,该顶点在三维模型上的z坐标值就是眼动注视点在三维模型上的z坐标值,如果模型表面上不存在该顶点则选择距离在阈值范围内的模型顶点的坐标值作为眼动注视点的坐标值,如此确定三维坐标(x,y,z)。并且,因为准备图片素材的时候将模型绕坐标轴进行旋转,所以现在需要将它反向旋转相应的角度。最后获得利用眼动仪收集的感兴趣点的数据。
[0038] 步骤(4)对实验者的实验数据结果做相应的分析,以此把所有提取的眼动注视点进行整理,得到一个感兴趣点集合的数据库,舍弃一些不合适,异常的数据,并对感兴趣点适当地进行合并,整合方法如下:
[0039] 在构建评估感兴趣点算子的评价库的时候,选择两个标准,一个是感兴趣区域的半径,另一个是在该区域内动点数量。将感兴趣区域的半径设为σdM,其中dM代表模型直径,即模型M的所有顶点之间的最大欧几里得距离,σ代表常系数。将测量距离小于2σdM的所有感兴趣点划分在同一个区域,如果区域中不同的实验者的数据量少于n,则丢弃该区域的感兴趣点。从每个区域中以下述的标准选出一个点作为代表,把它作为一个标准的感兴趣点,标准为:这些被选定为标准的感兴趣点需要满足它与其所在的区域内所有其他的感兴趣点几何距离之和最小。注意,如果两个区域的感兴趣点出现重叠,这个情况也是合理的。如果两个区域之间的距离小于2σdM,那么两个区域中点数较少的代表将从评价标准的感兴趣点集合中丢弃,将区域中点数较多的代表作为标准的感兴趣点。我们用参数n和σ表示感兴趣点标准库,即GM(n,σ)表示为特定模型M的感兴趣点数据集。这两个参数对应的值决定了感兴趣点标准库。当n值取得相应较高时,随着σ的增加,将会有更多的动点落在这个兴趣区域内,因为不是所有的志愿者都选择某个模型的细节作为感兴趣点,而σ的增加接受更多的标记点的本地局部变化,所以认为σ的变化是合理的。但是,随着σ的进一步增加,它所定义的区域往往会包含不同的兴趣区域,因此在不同结构上标记的紧密感兴趣点开始合并。给出的感兴趣点评价标准库的平均数量会随着n和σ的变化而变化的。
[0040] 本发明有益效果如下:
[0041] 本发明提出的建立感兴趣点数据库的方法更加适用于对模型的重建,因为利用眼动仪可以将模型上人眼最关注区域的部分和不关注区域的部分进行划分。通过感兴趣点标准库对人类感兴趣的地方可以加强重建的精度,相反对于不感兴趣的区域相对减少重建精度,这样可以减少模型重建的工作量和存储量。