马冬宝,吴晟平,崔健,张赛昆,汤晓华
(1.北京电子科技职业学院,北京 102600;2.武汉理工大学,湖北 武汉 430070;3.深圳市物新智能科技有限公司,广东 深圳 518107)
随着机器视觉技术的迅速发展,越来越多的领域开始使用这种技术来完成复杂的任务。机器视觉系统的核心是图像采集、图像处理、特征提取、模式识别等模块。相机镜头和光源的实际调试和操作需要投入大量时间和成本,而且还存在风险和安全隐患,不利于学生的实验教学和机器视觉相关知识的学习和掌握。
为了解决这个问题,虚拟仿真技术已成为一种重要的研究方向。虚拟仿真即对现实场景的虚拟仿真,是虚拟现实(Virtual Reality)的一种。在机器视觉领域中,虚拟仿真技术也具有广泛的应用前景。相机镜头和光源是机器视觉系统中非常重要的组成部分,但是调试和操作这些组件需要投入大量时间和成本。因此,利用虚拟仿真技术来模拟相机镜头和光源的选型和调试过程,可以有效地降低成本和风险,并且方便学生学习和掌握机器视觉相关知识。
本文的主要研究内容是基于Unity3D 的三维虚拟建模技术,完成一个机器视觉相机镜头光源实验平台的搭建。该平台可以提供完整的虚拟环境,实现相机镜头和光源的选型、参数调节和实时预览,方便学生进行虚拟实验,降低实验成本和风险,从而实现机器视觉相关知识的学习和掌握。本文的主要内容可以分为如下几部分:
(1)机器视觉平台场景虚拟仿真。该部分主要研究如何实现机器视觉场景的虚拟仿真,包括虚拟环境的构建、物体模型的导入和生成、相机镜头光源以及物件的放置和移动等。
(2)相机镜头选型虚拟仿真。该部分主要研究如何实现相机镜头的虚拟仿真,包括各种参数的调节和实时预览。
(3)光源选型虚拟仿真。该部分主要研究如何实现光源的虚拟仿真,包括光源的选择和参数调节。
本虚拟仿真平台主要运用了Visual Studio、Unity3D 以及Blender 等多种工具来完成。以下是该平台使用这些工具的详细介绍。
(1)Visual Studio。在该平台中主要用于编写控制界面,包括相机镜头和光源的参数调节和实时预览等功能。其集成式的开发环境可以提供代码编辑、调试、自动完成等多种功能,可以有效提高代码的编写效率和可维护性。
(2)Unity3D。Unity3D 引擎是该平台中的核心工具,主要用于实现虚拟场景的构建和交互。该引擎具有强大的场景编辑和渲染能力,可以快速创建各种虚拟环境,包括不同尺寸、材质和光照等。
(3)Blender。Blender 建模是该平台中用于创建模型的主要工具,它可以快速准确地创建各种三维模型和场景,包括人物、物品、建筑等。
本虚拟仿真平台采用了WPF 的Prism 框架、Unity3D技术以及Blender 建模技术来实现一个基于socket 通信的机器视觉教学平台。以下是相关技术的详细介绍。
(1)控制端。控制端部分使用WPF 的Prism 框架来构建界面,该框架的主要特点是模块化,可以将一个大型的应用程序分成多个小的模块进行开发和维护。
(2)虚拟端。虚拟端部分采用了Unity3D 技术来实现虚拟场景的创建和渲染。Unity3D 是一款跨平台的游戏引擎,可以用来构建高质量的3D 和2D 游戏以及交互式内容。
(3)指令交互。在指令交互方面,我们使用socket通信协议来实现控制端界面与虚拟端之间的数据传输和命令交互。
随着机器视觉技术的迅速发展,越来越多的应用场景需要依靠机器视觉来实现自动化和智能化。而在机器视觉应用开发中,机台测试是不可或缺的一环。然而,在实际机台测试中,由于机台资源的有限性和测试环境的不确定性,机台测试面临着巨大的挑战。因此,机器视觉平台场景虚拟仿真的实现就显得尤为必要。
该平台采用Unity3D 技术实现了机器视觉机台的虚拟仿真。通过构建一个真实的三维环境,模拟了一个简易的机器视觉机台,并实现了相机镜头和光源的实时生成和成像效果预览。生成的虚拟场景图如图1 所示。
图1 虚拟场景界面
该场景的主要内容有:
(1)底座;(2)龙门架水平方向杆;(3)龙门架竖直方向杆;(4)工作台。
对于场景控制部分,该平台是通过鼠标、键盘共同完成。关于鼠标键盘的具体控制介绍如下:
(1)鼠标部分:鼠标左键用于获取物体,可以通过点击场景内的物件获取对象从而进行控制。鼠标滚轮用于虚拟场景的视野控制。鼠标右键用于控制整体视野的旋转效果。
(2)键盘部分:WASD 键用于控制选中物件的上下左右移动。QE 键用于控制物件的上下移动。
在机器视觉的各项应用中,相机镜头参数的调整对于图像质量和目标检测效果有着重要的影响。不同的相机镜头具有不同的特性和参数。在不同的应用场景下,需要选择适合的相机镜头来满足特定的需求。
该平台采用Unity3D 技术来实现机器视觉相机的虚拟仿真。相机虚拟仿真是机器视觉应用的重要组成部分之一,通过建立真实的三维环境,模拟相机镜头的各种功能和成像效果,验证相机参数和算法的准确性和可靠性。
关于相机,实现了黑白相机和彩色相机的选型。在机器视觉的实验中,获取相机的成像需要考虑到实际场景的光照和颜色,这需要相机具备一定的色彩准确性和灰度准确性。在该虚拟仿真平台中,不同相机选型的拍摄效果如图2 所示,依次为黑白相机、彩色相机的成像效果。
图2 相机选型效果
关于镜头,实现了变焦镜头以及镜头对焦的过程效果。在相机成像过程中,焦距是影响图像成像效果的关键参数之一。在该虚拟仿真平台中,可实现任意焦距的相机效果仿真,以下是几个焦距的拍摄效果(12mm,25mm,35mm),如图3 所示。
图3 不同焦距的拍摄效果
关于相机成像,仿真了关于相机曝光以及增益的参数调整效果。在许多应用场景中,相机曝光和增益的调整对于图像处理和分析具有重要意义。关于相机参数调整后的成像效果如图4 所示,效果依次为原图、增加曝光后、增加增益值后。
图4 相机参数调整结果
在机器视觉中,光源效果是非常重要的一部分,因为它能够影响到图像质量和图像处理的结果。虚拟仿真可以提供一种可控的、多样的光照环境,以测试和验证不同的图像处理算法和方法。由此,我们选择虚拟仿真一些光源来进行效果展示,从而能够让学生更加真切的了解到不同光源的光源特点,以便日后在机器视觉案例应用中选择合适的光源。
该平台采用Unity3D 实现光源效果的仿真。通过光源组件、物理材质、阴影和后处理效果等一系列的方式来实现不同光源的效果虚拟仿真。
环形光源的特点在于其可以提供均匀的光照效果,减少反射光线对图像质量的影响。环形光源的打光方式示意图以及打光前后效果图如图5 所示。
图5 环形光源效果
背光源的主要作用在于提高目标物体的亮度和对比度,产生目标物体的轮廓线,有助于提高目标物体的识别效果。背光源的打光方式示意图以及打光前后效果图如图6 所示。
图6 背光源效果
同轴光源的光照阴影轮廓为方形,其光线集中,可以提供稳定的光照效果,从而减少图像处理时的干扰。同轴光源的打光方式示意图效果以及打光前后效果图如图7 所示。
图7 同轴光源效果
中孔背光源能够提供均匀的直射背光效果,使得目标物体的表面特征更加明显,从而提高目标检测的准确性。中孔背光源的打光方式示意图以及打光前后效果图如图8 所示。
图8 中孔背光源效果
条形光源具有明显的方向性,可以将光线聚焦成狭长的条形状,从而提高目标物体的轮廓清晰度和边缘检测的准确性。条形光源的打光方式示意图以及打光前后效果图如图9 所示。
图9 条形光源效果
条形组合光源的优势在于其通过组合不同的条形光源来实现不同的光照效果,具有很强的适应性和灵活性。条形组合光源的打光方式示意图以及打光前后效果图如图10 所示。
图10 条形组合光源效果
在本章中,我们将用一系列实验来验证本虚拟仿真平台的真实性、合理性以及可行性。我们将通过成像仿真来测试镜头焦距仿真的精度以及相机参数调整后效果的真实性,通过光学仿真实验来测试光源颜色强度参数效果调整后对成像影响的真实性,通过性能测试实验来测试平台的指令执行时间和成像时间。这些实验将有助于评估平台的性能和功能,并为使用者提供更好的用户体验。
在相机镜头选型虚拟仿真的实现过程中,本虚拟仿真平台实现了黑白相机以及彩色相机的选型,不同焦距镜头的选取,曝光增益相机参数的调整效果。其中,黑白相机和彩色相机的选取成像效果显而易见,不需要进行实验论证。所以本节将通过现实相机成像与成像距离的关系来测试镜头焦距仿真的精度,并测试不同相机参数对成像效果的影响。
测试镜头焦距仿真的精度。给定相机的传感器尺寸为32×18mm,相机成像输出分辨率为1366×768,镜头焦距为35mm。成像长边的距离计算公式如下所示:
其中Y 表示成像物体尺寸,Y’表示图像尺寸,L是物距,f 是镜头焦距。本实验采用100,101,102,103,104,105(mm)6 组工作距离来对相机成像的物体尺寸进行测试,实验结果如表 1 所示。
表1 不同工作距离下相机成像物体尺寸测试结果对比表(单位:mm)
验证得到镜头焦距仿真的成像实际尺寸误差在正负0.001mm。结果表明,本平台镜头焦距仿真的精度较高,可以满足实际应用需求。
测试不同相机参数对成像效果的影响。选用机械零件作为拍摄对象,相机采用黑白相机,焦距35mm,工作距离300mm,测试相机在曝光度分别为2000,3000,4000,5000,6000 的成像效果,增益值分别为1,2,3,4,5 的成像效果,测试效果图如图11 所示。
图11 曝光增益参数调整效果图
实验结果表明,在相同增益值下,曝光度越高,机械零件成像越清晰,细节展现更加丰富;在相同曝光度下,增益值越高,机械零件成像越亮,但同时也伴随着一定的图像噪点。因此,不同的相机参数组合对于不同的拍摄场景有着不同的适用性。总的来说,该实验结果表明,相机参数的调整可以对成像效果产生明显的影响,需要在实际应用中进行合理的搭配。
本实验旨在验证光源颜色和强度对相机成像的影响是否符合实际情况。我们选用了彩色相机、35mm 镜头、环形光源和七巧板作为场景,通过调整光源的颜色和强度来观察七巧板在相机下的成像效果。实验采用红、绿、蓝3 种颜色光源,光源强度设置为10,对七巧板进行打光,从而获得相应的成像效果如图12 所示。图中从左到右分别为无打光效果图、打红光效果图、打绿光效果图和打蓝光效果图。
图12 打光效果图
根据实验结果,我们可以发现不同颜色和强度的光源对相机成像效果有明显的影响。在本次实验中,红色光源下的成像效果偏暖,绿色光源下的成像效果偏绿,蓝色光源下的成像效果偏冷。在光源强度相同的情况下,强度越大,场景的细节越清晰,但是当光源强度过大时会造成过度曝光的问题。因此,在实际应用中,我们需要根据具体的应用场景,选择合适的光源颜色和强度来达到最佳的成像效果。
在本节中,我们要测试该虚拟仿真平台的性能指标,主要是指指令执行速度和成像速度。为此,我们设计了一些实验来测试不同操作下的指令执行时间。我们还测试了在不同光源条件下进行成像的时间,一共测试了6种不同的光源。通过这些实验,我们可以更好地了解该虚拟仿真平台在不同场景下的性能表现。测试结果如表2、表3 所示。
表2 指令执行时间表(单位:ms)
表3 不同打光方式下成像时间表(单位:ms)
本次实验通过测试指令执行时间和成像时间,对虚拟仿真平台的性能进行了评估。实验结果表明,在指令执行时间方面,各种指令的执行时间大致保持一致;在成像速度方面,不同光源下成像速度存在明显的差异。本次实验的结果表明,虚拟仿真平台具有较好的指令执行速度和成像速度,但不同光源的打光对成像速度有一定影响。这为平台的进一步优化提供了方向和依据。
本研究旨在研究和设计一种机器视觉相机镜头光源虚拟仿真教学实验平台,为学生提供更加便捷、实用的实验平台,并提高学生的实践能力和创新思维。在本研究中,我们采用了基于WPF 及unity3D 的虚拟仿真技术,构建了一套可视化的实验平台,让学生能够在虚拟环境中进行光学系统的配置和优化。本研究还探索了不同光源和镜头配置对系统性能的影响,并进行了相关实验和分析。结果表明,本研究设计的虚拟仿真教学实验平台可以有效地提高学生的实践能力和创新思维,为教育教学提供了新的思路和方法。