基于滑动导轨的双目视觉系统设计

作者: 卫晨 李艾华 崔智高

基于滑动导轨的双目视觉系统设计0

摘要:当前,计算机视觉技术的蓬勃发展使双目视觉系统成为智能监控领域的研究热点。文章通过对六类双目视觉系统的分析,决定使用双目PTZ视觉系统进行本文的研究。然而,双目视觉系统受相机之间距离(基线长度)影响较大,如基线长度小时,有利于双目相机的协同跟踪,而基线长度大时,有利于提高立体视觉的获取精度。为了方便根据不同的场景应用或实现功能选择合适的基线长度,文章设计了一种基于滑动导轨的可变基线双目视觉系统。通过调试与验证,文章所设计的变基线双目视觉系统可实现两相机距离的自动调节与控制,控制精度与反应延时均满足要求,为双目视觉系统的研究提供了实验验证平台。

关键词:双目视觉;滑动导轨;串口通信;PTZ相机

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2022)05-0088-03

1 前言

1.1  研究背景与意义

随着技术的发展,人们对于自身安全的要求随着安全意识的提升而不断提高,因此智能监控系统在日常生活中使用的场景也更加宽广,其中视觉技术当然是必不可少的。在双目视觉技术中,PTZ摄像机的视角和焦距都可以实时改变,灵活性更强,应用范围也更加广阔,因此在视频监控领域相关的研究非常活跃。运用两个PTZ相机组成的双目主动视觉系统既可以单独工作,监控不同的区域,实现大场景动态监控,也可以双目协同工作,通过调整各自PTZ参数,以不同视角,不同分辨率同时获取全景图像和空间物体的深度等更多详细信息[1],优势十分明显。

然而在实际场景应用中,双目PTZ视觉系统两个摄像机之间的距离(即基线距离)和摄像机的视野对系统影响很大。目前对于双目视觉的研究还主要是使用定基线双目相机,局限较大,为适应不同监控场景和不同监控功能的需求,本文设计了一种可变基线的双目PTZ视觉系统。

1.2  研究现状分析

1.2.1立体视觉技术

立体视觉技术是通过在不同位置的两个摄像机拍摄同一个目标,利用两个摄像机所拍图像的视差,用三角测量原理计算出该点空间坐标值的方法。

要实现立体视觉,主要经过图像获取,摄像机标定,立体匹配和三维重建几个步骤。

1)图像获取

立体视觉技术的图像获取是通过在不同的位置放置两台摄像机,通过两个摄像机对空间内同一点观测,得到一对图像。上海交大经过理论分析与实验,得出结论,在满足测量误差的情况下,两摄像机间的夹角在50[°]~80[°]之间最好。

2)摄像机标定

为了从摄像机的图像中获取三维的空间信息,需要对摄像机进行标定,得知摄像机的位置参数。目前常用的摄像机标定技术总体可分为传统标定方法和自标定法。传统的标定方法需要借助实现已知的标定物,于是有了不依赖定标物的自标定法。

3)立体匹配

立体匹配包括特征提取和特征匹配。特征提取应满足的要求是:要与所用传感器技术相适应,具有差异性和不变性。特征匹配一直是立体视觉中最困难的步骤。受到视角的影响,拍照环境的影响,干扰会比较大。目前常用的匹配方法有基于灰度的匹配和基于特征的匹配。

1.2.2双目视觉系统

如今市面上流行的摄像机主要有三种,分别是静止摄像机、全向摄像机和主动摄像机。将它们组合,可以构成五种不同的双目系统,下面对这五种系统优缺点进行分析。

1)双目静止视觉系统

双目静止系统是双目视觉中最常见的一种,按照两个摄像机视角与位置关系的不同,具体可分为三种情况。其一是两摄像机视场重合较小的系统,这种系统所能观测的视场范围最大,适用于大场景监控。其二是两摄像机重合视场较大,摄像机之间的基线距离也较大的系统,这种系统可以很好地避免视场内遮挡物产生盲区影响监控效果,适用于室内等遮挡物比较多的场景。其三是两摄像机视场重合大且基线距离较小的系统,这种系统是最典型的双目视觉系统,类似的产品有小觅智能发布的小觅双目摄像机。该系统可应用于目标跟踪,机器人视觉等。

2)双目全向视觉系统

使用全向摄像机可以拍摄全景图像,双目全向相机可以发挥双目视觉的优势,得到全景深度信息,可以应用于机器人视觉中障碍物的检测与标定,国外就有人将一系统应用于机器人足球比赛,帮助机器人识别球场障碍物做出相应的控制策略。但这一系统观测到的图像畸变严重,不利于人工观察,并且标定精度不高,受到相机标定精度的影响。

3)静止加全向视觉系统

双全向摄像机图像畸变严重,为解决这一问题,有人提出了一个静止摄像机加一个全向摄像机组成的双目视觉系统,提高了图像分辨率,并且解决了图像畸变。如果在系统中添加多个静止摄像机,与全向摄像机协同,则可以实现全场景监控,通过全向摄像机观察全局,发现异常,之后调用相应的静止摄像机详细观察。两个摄像机种类不同引起的标定复杂也是该系统的缺点之一。

4)静止加主动视觉系统

静止加主动摄像机构成的双目视觉系统以静止摄像机为基础,加之以主动摄像机视角灵活,分辨率可变的特点,实现了通过静止相机观察,利用主动相机灵活地获取目标高分辨率图像,更好地完成目标检测与跟踪的任务。由于静止摄像机视野有限,该系统适用于监控范围不大,由单个静止摄像机就能覆盖的场景。该系统结合了静止摄像机和主动摄像机的优点,易于实现。

5)双目主动视觉系统

主动摄像机从直接获取图像范围来说可能不如全向摄像机,但他视角可变,可以分多次拍摄;并且由于它分辨率可调,图像畸变程度低,可视化效果更好。

通过对五类双目视觉系统的分析,由于双目主动视觉系统灵活性好,可实现较多功能,且具备大部分双目视觉系统的优点,所以决定使用双目PTZ视觉系统进行本文的研究。

然而目前国内外对于双目视觉系统研究大都是在固定基线的双目相机上进行的,包括图像特征的提取[2],多目协调跟踪,对于多机器人多协作系统的研究提高了双目视觉系统的信息获取能力和获取精度[3]。在变基线的双目视觉系统研究领域,燕山大学的孔令富教授提出了一种基线可调的基于圆形轨道的双目检测系统,为摄像机避障问题提供了一种新的思路[4]。哈尔滨工程大学伏虎等人借鉴变色龙的双目特征提出了一种仿生双目视觉移动平台,将大场景下的目标搜索和小范围内目标精确定位结合在一起[5]。为双目视觉系统的变基线研究提供了新的思路。

2 系统总体方案设计

2.1系统需求分析

可变基线的双目视觉系统需要控制摄像机在空间内进行位置变换。为实现上述功能,可用步进电机来驱动滑动导轨,并将两个PTZ相机分别置于两个滑台上,从而通过控制步进电机的转动,改变滑台之间的距离,以及进一步改变双目摄像机的基线。步进电机驱动控制器接收到上位机软件发出的指令,发出脉冲控制步进电机的转动。电机的运行速度、运行方向、运行时间等参数可以通过上位机软件来控制。此外,还应实现利用事先设计好的程序,让步进电机自动运行,实现自动巡航功能。

在主动相机控制方面,可利用网络云台摄像机模拟PTZ摄像机,通过RJ45接口经网络交换机与PC机相连接,把两个摄像机的图像传到视频服务器。同时,需要解析网络云台摄像机SDK开发包,实现摄像机图像实时预览、调用预置点位和分步控制。

3 步进电机驱动模块设计

3.1  硬件设备选型

对于双目视觉系统而言,要求步进电机驱动系统具备良好的启动与停止性能和比较高的控制精度。步进电机被广泛地运用在雕刻机、数控机床、激光切割机等大型自动化设备中[6]。

具体实施过程中,本文选用了57步进电机,型号是J-5718HB3401。其尺寸为78mm[*]8mm[*]20mm,步距角为1.8[°],额定电流是4.4A,转动惯量为450,重量1.04kg,转矩为2.3N·m。选用了杰美康机电公司的2DM860H-RS485型驱动控制器。

滑动导轨是用于线性往复运动的机构,分为同步带轮导轨和滚珠丝杆导轨两种。它具有控制精度高,承受负荷能力强,性能可靠的优点,应用于各种自动化厂房。滑动导轨通常配合伺服电机或步进电机使用,通过配套的电机驱动程序可以实现自动化运行。

本文所用导轨长度1.2m,平台大小为60[*]78mm,四个孔的距离是40[*]60mm。负载最大可达20kg。滑台的定位精度极高,可以达到0.1mm~1mm,最大移动速度700mm/s。

3.2  硬件平台搭建

步进电机驱动模块安装:先将57步进电机通过联轴器接与滑动导轨一端,连接部分一定要拧紧,防止运行过程中脱落,接下来根据驱动器连接示意图,把步进电机的4根线分别与驱动器对应的A+、A-、B+、B-端口相连。驱动器的VCC、GND端与实验台上24V直流电源相连。驱动器与上位机需要通过一根USB转RS485的转接线相连,同时需要在PC上安装对应的驱动,之后打开设备管理器就可以看到电脑为驱动器分配的端口号。单个导轨连接图如图1所示。

3.3  步进电机驱动软件设计

本文开发环境采用微软的Visual Studio,它支持Basic、C++、C#、Java等多种高级编程语言,通过它可以创建自定义的Windows窗体应用程序、控制台应用程序等。

本系统上位机软件需要实现PC机与步进电机驱动器的串口通信,利用MSComm控件进行串口编程。

根据电机驱动模块需要的功能,新建一个基于C#语言的Windows窗体,在上面添加MSComm控件,添加相应的功能按钮,并为按钮添加相应的事件,实现通过点击按钮为电机设置运行参数,并控制电机运行的功能。由于VS中已经不再自带MSComm控件,需要自己手动添加。

根据通信协议说明书可知,传输数据格式为:“设备号+功能码+起始地址+寄存器个数+CRC校验”。

下面对软件界面上各按钮的功能进行说明。对步进电机的驱动部分主要包括基本参数设置,工程参数设置和手动操作按钮。当设备按要求连接好之后首先进行串口号,设备号设定。设备号默认为1,串口号由每次接入时计算机分配,通过设备管理器查看。设定好点击确认,如连接成功会显示“连接成功”字样,之后进入基本参数设置界面,如图2所示。

设置完毕后保存参数并下载,基本参数就设置完毕了。设置完基本参数后,即进入手动控制界面通过点击正转,反转,停止,单次运行按钮,来控制电机运行。

建立让电机自动运行的工程,在工程参数设置界面,如图3所示。工程参数包括工程步数,运行方向,运行速度,距离,反复次数等,其中工程循环次数设置为0表示无限循环。实现电机自动运行。

4 云台相机控制模块设计

PTZ相机是一种主动相机,其中字母PTZ是Pan、Tilt和Zoom的缩写,表示云台可以上下左右移动和镜头可变焦。因为其具有可变视角,可变焦距的特点,在智能监控领域有广泛运用。但是由于专业的PTZ相机价格比较贵,为达到检测系统功能目的,本文决定选用普通的网络云台相机做演示。另外,两台相机与一台相机的控制原理,步骤等都是一样的,本文先用一台相机做试验。如果研究成功再进行下一步的升级改造。

4.1  实物连接

本文选用了海康威视的迷你云台型网络摄像机DS-2CD2Q10FD-IW。相机的安装:先将摄像机底座用螺丝固定在滑动导轨的滑块上,用自带的适配器连接家用220V电源供电。摄像机与PC通过双绞线网线相连,由于电脑上只有一个RJ45插口,所以接两个相机的话需要通过一个集线器进行扩展。

上一篇 点击页面呼出菜单 下一篇