基于机器视觉感知的交互式虚拟装配研究

2022-09-22 14:39曾泽钦邹湘军李承恩
机械设计与制造 2022年9期
关键词:双目虚拟环境手部

曾泽钦,陈 燕,邹湘军,李承恩

(华南农业大学工程学院/南方农业机械与装备关键技术教育部重点实验室,广东 广州 510642)

1 引言

虚拟现实技术在工业、农业、军事、医学和教育等各个应用领域已取得许多研究成果[1-5]。虚拟仿真技术有安全可靠、重复性高的特点,而机械装配是机械制造过程中的重要环节,虚拟装配可以提高产品的装配效率,降低产品的开发成本[6-8]。

文献[9]对虚拟环境下线缆的装配仿真技术进行了研究。文献[10-11]也以农机关键零部件进行虚拟装配研究。但是上述研究使用键盘与鼠标进行虚拟装配,缺少沉浸性以及交互性。

文献[12-16]在虚拟现实以及机器视觉领域均开展了大量研究。结合仿真,有学者利用多目视觉在动态曲面变形跟踪与三维重构取得成果[17-19]。此外,许多研究者利用虚拟现实与机器视觉等技术结合实现虚拟装配的应用[20-24]。分别使用Leap Motion 传感器[20-21]、文献[22-23]以及结合视觉算法[24]将人的行为传入虚拟环境中模拟出人的行为。使用传感器将人的行为传入虚拟平台,具有交互性好、沉浸性高以及对实际工作指导作用明显的优点。且使用相机的成本远低于数据手套、Kinect等设备。

基于以上认识,以变速箱装配为例,采用Unity3D构建虚拟装配平台,结合双目立体视觉系统实现交互式虚拟装配,为后续开发的农机产品虚拟装配平台和实现产品的虚拟制造提供技术支持。

2 交互式虚拟装配架构与原理

2.1 系统结构及原理

所构建的基于视觉感知的交互式虚拟装配系统,以二级变速箱为例,应用Unity3D以C#编程语言建立虚拟装配平台,基于OpenCV视觉库构建双目立体视觉系统获取现实中手的命令信息与位置信息。完整的系统结构,如图1所示。它分别由虚拟装配平台和双目立体视觉系统组成。交互式虚拟装配前,需对相机进行立体标定以及获取手部命令样本训练SVM(支持向量机)分类器。装配期间,双目立体视觉系统获取在试验平台范围内的手部图像,利用颜色空间分割出左、右图像中的手部,利用已训练好的SVM分类器进行分类识别,获得手部命令信息。

图1 视觉感知交互式虚拟装配系统结构Fig.1 System Structure of Visual Perception Interactive Virtual Assembly

同时,根据三角测量原理通过视差得出手相对于左相机成像光点的空间位置信息。虚拟装配平台根据双目立体视觉系统得到的检测结果在虚拟环境中控制虚拟手对虚拟变速箱零件进行操作,实现交互式虚拟装配。

2.2 系统设备

所使用硬件设备主要包括:(1)2台工业相机构成的双目立体视觉,分辨率1280×960像素,帧率15fps,镜头焦距为8mm;(2)高精度棋盘标定板,角点数量为8×11个,角点距离(30±0.01)mm;(3)笔记本电脑作为图像处理及虚拟仿真平台,主要配置:i5-4210处理器、8G内存、NVIDIA940M显卡。系统设备,如图2所示。

图2 系统硬件设备Fig.2 System Hardware Equipment

3 虚拟装配平台构建

对于虚拟仿真场景,三维模型是其重要基础。虚拟装配平台所需仿真模型主要为变速箱模型以及虚拟手模型。

3.1 仿真模型构建

为减少数据量简化虚拟手模型,在Unity3D中使用多个立方体组合构成虚拟手,指节之间使用空气铰链连接,在每个关节点设置虚拟马达以实现手指弯曲动作,如图3(a)所示。

利用SolidWorks构建变速箱模型,将模型转换为FBX 格式导入Unity3D的虚拟环境中,通过改变材料与颜色使得其具有高真实性、高零件辨识度,如图3(b)所示。记录装配状态下变速箱的装配状态,包括零件位置信息,安装位置信息,干涉情况。零件位置信息即每个零件处于装配状态下的空间坐标。安装位置信息为零件与零件直接的配合关系,如轴孔相对位置,如图3(c)中绿色立方体表示变速箱下端盖所对应的安装位置。干涉情况即装配状态下零件之间的干涉情况,如装配状态下销孔配合处存在干涉。记录下变速箱装配状态后,将变速箱有序拆分并放置在显眼的地方,同时记录拆分状态下的装配状态,如图3(d)所示。

图3 虚拟三维模型Fig.3 Virtual 3D Model

3.2 装配行为控制模型构建

虚拟对象的行为表达由行为模型与认知模型构成[25]。行为模型是虚拟对象对外部变化的直接反应,所模拟的行为应符合现实世界中的基本运动和行为规律;认知模型是虚拟角色对获取的信息进行分析、决策执行过程的一种描述。

假设行为的表达规则是规则R的集合[26],定义为:

对任意行为有如下规则描述:根据第j个规则,对条件Fj推理并决策,决策结果传输到执行节点输出行为Aj,与其他行为产生的可视化现象为Pj,定义为:

根据虚拟装配作业状况,行为表达规则描述列举如下:

R1:IF 现实手处于展开状态THEN 虚拟平台中的虚拟手处于展开状态SHOW AS 虚拟手不会抓取零件OR 将前一刻抓取的零件放下。

根据行为表达规则,虚拟环境中虚拟手部与变速箱零件间的交互规则,如图4所示。虚拟装配平台获取双目立体视觉系统得出的手部位置信息与手部命令识别信息,根据手部位置信息在虚拟环境下对应位置生成虚拟手。根据手部命令信息控制虚拟手射出射线,若是展开命令,不发射或停止射线,若是握拳命令,生成射线。当射线与对应零件相交,可根据手部位置信息改变对应零件位置,从而实现抓取与移动零件的功能。抓取零件后,若手部命令为展开,虚拟手停止生成射线,与零件断开联系,并判断零件是否到达安装位置,若达到安装位置,零件移动至安装位置,之后当零件与安装位置重合,判断该零件是否正确安装,并给出警告。

图4 虚拟装配的交互规则Fig.4 Interaction Rules of Virtual Assembly

3.3 视角漫游模式

视角变化是影响虚拟沉浸性的重要部分。虚拟交互装配期间的视角采用俯视视角,并跟随虚拟手运动。此时视角控制的定义为:

式中:φx0,φy0,φz0—观察视角下Camera 对象旋转的角度,°;T0—Camera对象的平移矩阵,mm;(x0,y0,z0)—实际环境下手部相对于左相机成像光点的空间坐标,mm;C0—常数,表示在虚拟环境下虚拟摄像机对象相对于坐标原点的高度信息,mm。

4 双目立体视觉系统构建

4.1 相机标定

相机因为制造的原因,获得的图像存在畸变,需要通过标定,从数学上解决畸变的问题。双目立体视觉系统由2个USB接口工业相机组成。根据张正友标定法,采用黑白棋盘标定板对双目立体视觉系统进行标定,求解相机的内部参数(焦距、镜头径向失真系数等)和外部参数(摄像机位置与方向、扫射角和倾斜角)。

4.2 基于SVM分类器的手部命令识别

运用提前训练好的分类器进行识别能够有效的提高试验期间的识别效率。SVM分类器需要在试验前进行训练,通过试验平台获取手部展开的图像与手部握拳的图像并打上标签,如图5所示。手部展开的图像标签为1,握拳的图像标签为0。线性SVM分类器的优化目标是逻辑回归优化目标的线性近似,定义为:

图5 采集的样本Fig.5 Collected Sample

其中,

式中:C—常数项;m—样本数;n—特征数;θT—特征组成的向量;(x(i),y(i))—第i个样本;hθ(x)—SVM的假设模型。

4.3 基于HSV颜色空间的手部图像分割

在试验环境下双目相机获取的手部左图像,如图6(a)所示。将原图的颜色空间RGB转换为HSV(Hue,Saturation,Value),如图6(b)所示。再对其进行自适应阈值分割将手部与背景分离,如图6(c)所示。为了获得更好的分割效果,对阈值分割出的图像进行形态学闭运算,如图6(d)所示。之后利用轮廓外接矩形与凸包检测将手部框选,如图6(e)所示。最后在原图中将框选部分截取并利用已训练好的SVM分类器进行分类识别,如图6(f)所示。

图6 手部图像分割Fig.6 Segmentation of Hand Image

4.4 手部空间位置信息计算

通过对左、右图像中的手部图像分割识别后,可以得到框选出来的手部在左、右图像中的像素点坐标。如图7所示,根据三角测量原理可以通过视差计算出点的深度方向上的空间距离,计算公式如下:

图7 视差求取深度信息示意图Fig.7 Schematic Diagram of Obtaining Depth Information by Parallax

式中:D—左右摄像机光轴的距离,m;Z—目标在视觉系统下的深度信息,m;f—焦距,m;xl—左图像中对应点的横坐标,m;xr—右图像中对应点的横坐标,m。

5 系统试验与结果分析

5.1 试验设计与方法

为验证和考察所构建系统的稳定性和基于视觉感知的交互式虚拟装配性能,首先对所构建的双目立体视觉系统进行测试,然后进行虚拟装配试验。试验设计如下:

5.1.1 手部位置信息准确性试验

人手悬空会出现抖动现象,为验证双目立体视觉系统获取手部位置信息的准确性,试验设计了真手与假手2种对象,以双目立体视觉系统获取约300对测试图像,根据三角测量原理获取手部位置坐标,重复3次。根据获取的数据,采用下式求解出阈值用于补偿因抖动现象所造成的真手与假手位置信息的误差,提高双目立体视觉系统输出位置信息的准确性。

式中:e—阈值,mm;(xi,yi,zi)—第i个关键点的空间坐标,mm。

5.1.2 分类器性能测试与交互性试验

为了测试SVM分类器性能,同时验证双目立体视觉系统实时性。通过控制虚拟手抓取零件,分析其抓取情况,计算出分类器的成功率、精确率、召回率。之后对双目视觉算法运算耗时状况进行统计并分析。

式中:ωs—成功率;ωp—精确率;ωr—召回率;F1—ωp和ωr的调和平均数;ntest—测试样本数;Pt—正例正确分类为正例;Nt—负例正确分类为负例;Pf—负例错误分类为正例;Nf—正例错误分类为负例;

5.1.3 交互式虚拟装配试验

实践民俗学研究一定要注意个体叙事是流动的、变化的文本。其实集体叙事也是靠个体讲述的,不同的个体在不同的实践目的下,即便是讲述同一个集体叙事,也会呈现出千差万别的形式,其根本原因就在于集体叙事实际上是不同交流实践的不同结果。总之,个体叙事概念的提出,实际上可以反思原来的民间文学文本分析的各种研究范式,它为我们呈现出阐释民间文学的另一种视角,即实践的视角,也就是我们所说的实践民俗学的视角。

应用基于视觉感知的交互式虚拟装配系统进行变速箱装配试验,试验20次。每次试验后统计试验的路径长度、安装耗时、安装结果。其中路径长度与所获取手部位置坐标之间的关系为:

式中:L—路径长度,m;K—所获取手部位置数。

5.2 结果与分析

5.2.1 手部位置信息的稳定性

通过试验得到的手部在静止状况下各个方向上的测量平均偏差,如表1所示。根据表1数据由式(7)可以计算得到阈值下限为9.4006mm,取阈值为10mm 补偿因抖动现象造成的位置信息误差。

表1 静止状况下的测量平均偏差Tab.1 Average Measurement Deviation of Static Conditions

5.2.2 分类器测试结果与算法耗时

使用160张测试样本对所构建的SVM 分类器进行测试,计算得出成功率为92.45%,精确率为98.65%,召回率为86.90%,F1值为92.41%。表明SVM分类器工作效果良好。

进行识别定位前,需要先载入训练好的SVM分类器,耗时约1s。每帧手部识别与定位消耗时间集中于(65~80)ms的范围带,如图8所示。表明双目立体视觉系统的算法运行不会影响到软件的运行流畅性,具有实时性。

图8 视觉检测算法耗时分布图Fig.8 Time-Consuming Distribution of Visual Detaction Algorithm

5.2.3 零件装配试验状况分析

虚拟环境下的装配过程,如图9所示。其符合一般装配操作流程:操作者先定位所需装配零件的位置,如图9(a)所示。然后抓取零件并移动至于高处,防止横移时与其他零件碰撞,如图9(b)所示。之后移动至安装位置,如图9(c)所示。最后,在靠近安装位置后放开零件,完成安装,如图9(d)所示。

图9 虚拟环境下的装配过程Fig.9 Assembly Process in Virtual Environment

20次零件装配试验的结果,如表2所示。在20次试验中,零件安装成功18次,失败了2次,安装成功率为90%。其中,第一次失败是操作者对变速箱不熟悉,将轴安装到另一个轴孔内;第二次失败是因为系统采用俯视视角,容易造成操作者对深度距离把握不足,之后的操作者留意提示后有所改善。

表2 零件装配试验状况统计Tab.2 Statistics of Parts Assembly Test

6 结论

(1)通过构建仿真模型,首先根据行为推理规则建立了虚拟装配平台;同时构建双目立体视觉系统,基于颜色空间分割手部图像,通过SVM分类器并根据三角测量原理得出识别结果与位置信息。最后将双目立体视觉系统得到的结果传入虚拟装配平台,通过设定好的阈值控制虚拟手抓取零件,实现了基于视觉感知的交互式虚拟装配。

(2)经视觉系统验证试验,所构建双目立体视觉系统识别与定位的能力良好,具有实时性。多组零件装配试验表明,交互式虚拟装配的沉浸度高、交互效果好。

(3)以二级变速箱为例,对融合机器视觉感知的交互式虚拟装配技术进行研究,并对所构建系统进行了验证。后续将该系统运用到典型农机关键零部件装配中,如图10所示。为开发的农机产品虚拟装配平台和实现产品的虚拟制造提供技术支持。

图10 典型农机零部件模型Fig.10 Typical Agricultural Parts Model

猜你喜欢
双目虚拟环境手部
手部皮肤软组织缺损修复的皮瓣选择
尺动脉腕上皮支逆行岛状皮瓣修复手部皮肤软组织缺损
封闭负压吸引技术联合游离股前外侧穿支皮瓣修复手部大面积软组织缺损
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
前庭刺激对虚拟环境三维空间定向的影响及与空间能力的相关关系
如何通过虚拟环境有效管理Python第三方库
基于双目测距的卡尔曼滤波船舶轨迹跟踪
动画广告设计中虚拟环境的构建方法与运用
基于双目视觉图像的长度测量方法