Skip to content

Latest commit

 

History

History
executable file
·
196 lines (111 loc) · 12.6 KB

人机.md

File metadata and controls

executable file
·
196 lines (111 loc) · 12.6 KB

基于场景态势感知的人机交互算法

学号:2020212384 冯世超 班级:2020219114

摘要

基于上下文信息的隐式交互在虚拟场景中被广泛使用和研究。在基于上下文的人机交互中,动作A的含义是明确定义的。例如,rightwave在上下文B中定义为翻页,在上下文C中表示音量增大。但是,在具有多个对象的虚拟场景中选择对象,上下文信息不再适合。针对这种情况,本文提出使用最小二乘拟合曲线来预测用户的轨迹,从而确定用户想要操作的物体。并根据离散度的变化拟合直线的起始位置。使用边界框大小控制 Z 变量在适当的位置移动。

关键词

ABSTRACT

Implicit interaction based on context information is widely used and studied in the virtual scene. In context based human computer interaction, the meaning of action A is well defined. For instance, the right wave is defined turning paper or PPT in context B, And it mean volume up in context C. However, Select object in a virtual scene with multiple objects, context information is not fit. In view of this situation, this paper proposes using the least squares fitting curve beam to predict the user's trajectory, so as to determine what object the user’s wants to operate .And fitting the starting position of the straight line according to the change of the discrete table. And using the bounding box size control the Z variable to move in an appropriate location.

KEYWORDS

Least-squares method; gesture recognition; human-computer interaction; visualization; implicit interaction; Context information

  1. 介绍

随着计算机科学技术的不断发展,智能人机交互逐渐成为计算模型发展的主导趋势。而这一趋势在 1990 年代 Weiser Mark [1] 提出“Ubicomp”的概念后更加明显。为了减轻人们的操作和记忆的负担,在交互过程中,需要扩展传统的交互方式。并将隐式人机交互融入显式人机交互中。

目前,隐式人机交互已成为交互领域的一个重要研究前沿。美国、德国、中国的大学和研究机构,奥地利等,逐渐对IHCI的理论和应用进行了深入的研究。德国卡尔斯鲁厄大学的施密特较早对内隐交互理论进行了研究[2]。他认为内隐交互的两个要素是感知和推理,他还提出情境信息对于交互非常重要。 Hamid Mcheick [3] 提出了一种具有交互能力的上下文感知模型。该模型适应动态环境,可以灵活地与用户交互。基于上下文的隐式交互也应用于其他方面。 Young-Min Jang [4] 提出了一种基于眼球运动模式和瞳孔大小变化的人类隐性意图识别的新方法。 Bojan Blažica [5] 引入了一种新的更个人化的摄影作品视角,旨在了解用户及其与照片的主观关系。它通过隐式人机交互来实现,即通过观察用户与照片的交互。

  1. 相关工作
  • 2.1 图像分割

在图像分割之前,应对图像进行过滤以去除噪声。目前常用的图像分割方法[6]可分为:阈值分割法[7]、边缘检测法[8]、区域分割法和结合分割定理的方法。此外,曲晶晶[9]提出了连续帧差和背景减法的分割方法。本文采用肤色模型[7](YCbCr)将人手与背景分离,图像平庸化。分割结果如图1所示:

Figure 1. Original image and segmented image

  • 2.2 特征提取

特征提取的方法多种多样,例如:首先,得到手势坐标的分割,以及距离坐标最远的点。第二,我以质心点为中心点,以距离同心圆半径最远点的质心,分为7层,如图2。 第三,这7层分为3类:指尖层,指跟层, 关节点层。最终得到指尖和层数和连接数。

Figure 2. Feature Extraction

  • 2.3 手势识别

手势识别方法包括:模板匹配法、统计识别法、模糊识别法和人工神经网络分类法、形状匹配法。常用的形状匹配方法[10]有不变矩法、几何参数法、特征模型表示法、边界方向直方图法、小波重要性系数法,以及我国学者研究小波轮廓表示法和很快。本文采用基于Hausdorff距离[11]模板匹配算法的手势识别方法。就是获取文件的特征,计算Hausdorff距离,距离越小,特征点的匹配越好。具体算法如下: 假设两个集合的A、B分别有N个和M个元素,则A和B之间的距离H(a,b)满足:

$$H(a,b)=max{h(A,B),h(B,A)}$$

Int  Temp = Cnt =0;
For i=0:N
   For j=0:M
      Temp=min||a[j]-b[i]||;
    Cnt=max{Temp,Cnt};
  h(A,B)=Cnt;

同样的方法,可以计算这样得到的 H(A,B)。

  1. 场景建模
  • 3.1. 图像显示简介

在虚拟环境中使用OpenGL[12]的图像显示原理如图3所示.

Figure 3. The principle of OpenGL image display

对于不同的Z平面(Z=C,C为常数),在一个条件下移动相同的距离,输出的距离不一样(越靠近视点,在屏幕上移动的距离越大) .因此,虚拟场景中不同坐标的物体需要不同的函数来移动它们。而且,普通相机获得的二维图像并不擅长控制三维手在三维空间中的运动。因此,许多研究人员使用动画作为避免此问题的方法。利用边界框大小与图像显示成正比的原理是控制Z轴坐标变化的关键。

Figure 4. Camera image acquisition principle

捕获的图像(确定采集的大小:400x300)映射到窗口显示。所以显示时a在平面S1中的长度是$\frac{w_i}{w_2}$倍在平面S2中显示的。

  • 3.2 确定映射关系

收集并记录边界框的大小,得到每个实验者在 3D 场景中操作时的平均大小。而MATLAB显示的Mapping如图5所示。

Figure 5. The Height and Width of Gesture Bounding Box

根据统计学概率公式:

$$L=\frac{1}{n}\sum_{i=0}^{n-1}l_i$$

$$W=\frac{1}{n}\sum_{i=0}^{n-1}w_i$$

计算L和W的初始值,$L_0=110,W_0=80$

计算真人手与虚拟人手的对应关系(边界框大小不变时)

$$\frac{\Delta L}{\Delta L'}=\frac{400-2*L_0}{L_0'}=0.18125$$

$$\frac{\Delta W}{\Delta W'}=\frac{400-2*W_0}{W_0'}=0.1833$$

在虚拟场景中,$L_0'=1600,W_0'=1200$,现实手水平方向移动一个单位,虚拟手应移动5.51个单位,并且在垂直方向移动一个单位意味着虚拟手应该移动 5.45 个单位。对于其他位置,虚拟手应移动$5.51\frac{L}{L_0}$个单位;虚拟手应该移动$5.45\frac{W}{W_0}$个单位。

对于 Z 坐标,虚拟场景中每个对象的位置在 [20 30] 中。边界框的长度变化为 80像素l 到 130像素。所以边界框的长度和Z坐标的等价关系是:

$$\frac{Z-20}{L-80}=\frac{30-20}{130-80}=0.2$$

即:$z=20+(l-80)*0.2$

  1. 基于场景感知的交互算法
  • 4.1 基于最小二乘法[13]拟合运动轨迹(折线段)算法

为了更好地拟合手势的运动轨迹,本文采用最小二乘法拟合非线性方程。如公式:

$$y_i=a*x_i+b*sin(x_i)+c \;\;(i=0,1,2\dots)$$

序偶$(x_i,y_i)$是一个观测坐标,a 为一阶系数,b 为正弦系数,c 为常数。 a, b 和 c 是要求解的参数,假设它们的近似值是$a_0,b_0,c_o$

令:$a=a_0+\delta_a,b=b_0+\delta_b,c=c_0+\delta_c$

使y为因变量,X为自变量,误差方程为

$$v_{yi}=[x_i,sin(x_i),1]\begin{bmatrix}\delta_a\\ \delta_b\\ \delta_c\\ \end{bmatrix}+a_0*x_i+b_0*sin(x_i)+c_0-y_i$$

误差方程矩阵可表示为

$$A\delta_X=l+V$$

其中

$$A=\begin{bmatrix} x_1&sin(x_1)&1 \\\ x_2&sin(x_2)&1 \\\ \dots&\dots&\dots\\\ x_n&sin(x_n)&1 \end{bmatrix}$$

$$\delta_X=\begin{bmatrix}\delta_a\\\delta_b\end{bmatrix}$$

$$l=\begin{bmatrix} a_0x_1+b_0sin(x_1)+c_0-y_1\\a_0x_2+b_0sin(x_2)+c_0-y_2\\\dots\\ a_0x_n+b_0sin(x_n)+c_0-y_n\end{bmatrix},V=\begin{bmatrix}v_{y1}\\ v_{y2}\\ \dots\\ v_{yn}\end{bmatrix}$$

根据最小二乘法则拟合为一条直线

$$\sum_{i-1}^n\left ||ax_i+bsin(x_i)+c_0-y_i \right ||^2=min$$

因变量残差为:

$$V=A\delta_X-l$$

因为$sin(x_i)$ 的周期为 2*$\pi$,$b sin(x_i)$ 在 [0,400] 的周期中振荡,所以曲线方程为$y_i=ax_i+bsin(0.01x_i)+c\;\;(i=1,2,...)$

最后,根据系数确定拟合的好坏。

  • 4.2. 态势感知与交互算法

计算边界框的大小,确定对应关系。根据两帧图像的3D人手的移动方向和距离,确定人手质心的移动。利用多帧图像的特征数据合成非线性曲线来预测人手运动的方向。然后确定方向上的物体并得到到人手的距离。因此,执行相应的操作;具体算法如下:

第一步:用普通相机拍摄一张RGB图像,图像的高度为400,宽度为300,然后进行图像分割,图像平化。

第二步:根据质心坐标的公式$r_c=\frac{\sum_im_ir_i}{\sum_im_i}$

求出平化后坐标的质心;根据下面公式计算出边界框的大小

$$X_l=min_{f(x_i,y_i)!=0}{x_i},X_r=max_{f(x_i,y_i)!=0}{x_i}\\Y_l=min_{f(x_i,y_i)!=0}{y_i},X_r=max_{f(x_i,y_i)!=0}{y_i}$$

$X_l$是边界框的左边缘,$X_r$是右边缘;$Y_L$是边界框的上边界,$Y_r$是下边界。$f(x_i,y_i)!=0$表示坐标轴的像素为肤色

第三步:计算两个不同坐标质心之间的向量$(\delta x,\delta y)$,根据边界框的大小和坐标确定3D虚拟场景中人手运动的方向和距离。

第四步:使用属于OpenGL的glTranslatef(Dx,Dy,Dz)改变虚拟环境中三维人手的运动。如果一个方向(假设为X轴方向)的移动量远大于另一方向(Y轴)的移动量,则只能考虑移动量较大的方向。

第五步:判断帧数是否大于阈值(设置为10)。如果小于,则返回第一步;否则,使用最小二乘法来模拟曲线。 第六步:判断拟合是否良好。如果好,转到第七步;如果不是,则根据离散表的变化动态调整当前帧的编号,返回第四步。 第七步:确定预测方向的物体个数;如果只有一个:将物体移到人手上。如果不是,则根据离散表的变化动态调整当前帧的编号,返回第四步。最后通过识别一系列动作对对象进行相应的操作,例如:旋转、缩放、平移等。算法流程图如图6所示。

Figure 6. Algorithm flow chart

结论

本文根据人手的运动特点和现实场景中人的行为习惯,采用最小二乘法拟合一条曲线来预测手部运动的方向。这种方法取得了很好的效果。并且可以大大减少选择的时间。其次,利用包围盒的大小将Z轴变量的变化控制在合适的范围内,实现虚拟人手在三维空间中的真实手动控制。符合人在三维环境中的操作习惯。也取得了良好的交互效果。最后,它有利于人机交互。并且有一定的效果。但要实现更智能的人机交互,还有很多问题需要解决。例如:人附近活动物体的速度,是否存在遮挡问题,以及计算机自动判断人是否有操作目的等。

引用

  1. Lee, S.hyun。 & Kim Mi Na, (2008) ,ECE 上的 ABC 交易,卷10,第 5 期,第 120-122 页。
  2. Weiser Mark。二十一世纪的计算机[J]. 科学美国人, 1991, 265(3) : 94-104
  3. Schmidt A. 通过上下文的隐式人机交互[J].Personal Technologies, 200, 4 (2/3) ):191-199。
  4. Hamid Mcheick。为普适计算建模上下文感知特征 [J]. Procedia 计算机科学,2014.37。 5.Young-Min Jang、Rammohan Mallipeddi、Sangil Lee、Ho-Wan Kwak、Minho Lee。基于眼球运动模式和瞳孔大小变化的人体意图识别[J].神经计算,2013 年。
  5. Feng ZQ,Yang B,Zheng YW,Xu T,Tang HK。基于用户行为分析的手部跟踪。阮建学宝/软件学报, 2013,24(9):2101-2116. http://www.jos.org.cn/1000-9825/4368.html
  6. S. M. Lock, D. P. M. Wills。 VoxColliDe:虚拟环境的体素碰撞检测[J].虚拟现实,2000,51:。
  7. 唐浩奎。基于双模型的皮肤分割研究[D].山东大学, 2009.
  8. 陆凯、李晓健、周金星。基于肤色和边缘轮廓检查的手势识别[J].华北理工大学学报, 2006, 03:12-15. 10.曲晶晶,辛云红。连续帧差分与背景差分法相结合的运动目标检测[J].光子学报,2014,07:219-226。 11.陶桑标,焦国泰。静态手势轮廓特征提取算法研究
  9. 朱继宇, 王希英, 王维新, et al.基于结构分析的手势识别[J].计算机学报,2006,12:2130-2137。