一种基于机器视觉的实时定位装置和系统转让专利

申请号 : CN201910420567.7

文献号 : CN110189267B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 仇永生吴加佳王勇梁志伟

申请人 : 仇永生

摘要 :

本发明公开了一种基于机器视觉系统的实时定位装置和系统,所述装置包括:FPGA硬件逻辑模块和高速DSP浮点计算模块。所述系统包括立体视觉相机、VR头盔单元、立体视觉处理板和计算机。本发明通过图像识别MARK点位置,并对MARK点进行同步控制设计,提高了系统的实时响应和可靠性。

权利要求 :

1.一种基于机器视觉系统的实时定位装置,其特征在于,包括:FPGA硬件逻辑模块和高速DSP浮点计算模块;

所述FPGA硬件逻辑模块包括视频采集预处理模块、第一组管理器、MARKi同步控制模块;立体视觉相机采集到的视频数据输入视频采集预处理模块;视频采集预处理模块的输出数据发送到第一组管理器;第一组管理器由MARKi同步控制模块控制;MARKi同步控制模块通过实时控制总线通信协议连接到系统的实时控制总线;

所述高速DSP浮点计算模块包括依次连接的系统标校模块、标校参数模块、第二组管理器、VIO信息融合模块;

所述第一组管理器包括取同步帧MARKi图像模块、MARKi特征提取模块、MARKi图像匹配模块、MARKi图像坐标解算模块;

第二组管理器模块包括MARKi空间坐标解算模块、HTi空间坐标及姿态解算模块、IMUi姿态信息模块;MARKi特征点构成HTi空间;

第一组管理器中的MARKi图像坐标解算模块的数据发送到第二组管理器中的MARKi空间坐标解算模块;第二组管理器中的MARKi空间坐标解算模块将处理后的数据发送到HTi空间坐标及姿态解算模块;IMUi姿态信息模块获取来自系统实时控制总线的IMUi姿态信息;

VIO信息融合模块同时获取HTi空间坐标及姿态解算模块和IMUi姿态信息模块的输出数据;

VIO信息融合模块输出上报信息。

2.一种基于机器视觉系统的实时定位系统,其特征在于,包括:立体视觉相机、VR头盔单元、立体视觉处理板和计算机,所述立体视觉处理板包括如权利要求1中所述的一种基于机器视觉系统的实时定位装置。

3.如权利要求2所述的系统,其特征在于:所述系统将每个VR头盔单元上设置的IMU模块、MARK同步器采集的数据通过系统的实时控制总线发送到立体视觉处理板;立体视觉处理板通过立体视觉相机获取视频采集信息融合IMU模块获取的IMU信息得到位姿信息。

4.如权利要求2所述的系统,其特征在于:所述系统将立体视觉相机获取的数字图像通过快速中值滤波算法进行滤波处理。

5.如权利要求2所述的系统,其特征在于:所述系统取同步帧MARKi图像进行特征提取,采用SURF算法对特征区域图像积分,再进行卷积运算,得到MARK点的harr特征,计算harr特征的多维向量及主特征向量,组成该MARK点的特征描述符。

6.如权利要求2所述的系统,其特征在于:所述系统采用欧氏距离作为相似度量,取图像中的一个特征点,根据阈值找出与基准欧氏距离中最近邻的N个特征点,其中N为自然数,进行判比,如果有60%个以上的特征点小于阈值,认为特征点匹配;根据匹配点的图像坐标与空间坐标之间的关系解析出MARK点的三维空间位置。

7.如权利要求2所述的系统,其特征在于:所述立体视觉相机为双目摄像机组件。

8.如权利要求2所述的系统,其特征在于:立体视觉处理板通过USB接口将位姿信息发送给计算机。

说明书 :

一种基于机器视觉的实时定位装置和系统

技术领域

[0001] 本发明属于机器视觉领域,具体涉及一种基于机器视觉的实时定位装置和系统。

背景技术

[0002] 机器视觉旨在利用计算机来识别和理解图像/视频中的内容。定位定姿技术,是通过惯性、光学等物理手段将动作的位置和姿态进行数字化的一项技术,属于机器视觉的一个分支。目前主流的动作捕捉技术包括光学动作捕捉技术和惯性动作捕捉技术。国际上主流光学动作捕捉技术研究主要包括英国Oxford  Metrics Limited公司、美国MotionAnalysis公司和美国Natural Point公司,其分别研发了Vicon系统、Raptor系统和OptiTrack系统,这些系统的跟踪频率都大于60Hz,跟踪精度都可到达毫米级别。惯性动捕技术研究主要包括荷兰Xsens公司和北京诺亦腾科技有限公司,其分别研发了Xsens MVN系统和Legacy系统,这些系统能够实现10ms延时、60Hz帧率的多人动作捕捉。
[0003] 目前动作捕捉技术还在不断发展完善中,人们对定位定姿的易用性、计算精度、实时性、经济性等需求也在不断增加,光学视觉定位技术和惯性定位定姿技术都各有优缺点,很难满足全部需求。光学视觉定位技术虽然位置精度高,但是其易用性较差、使用成本高、不能直接测量姿态。惯性定位技术没有使用空间限制、可以直接测量加速度和角速度,但是其位置精度低、容易受到外界磁场干扰。融合多种技术手段、尤其是惯性和视觉为主的测量手段,将是未来定位定姿技术的主要发展方向。
[0004] 然而,现有技术中存在诸多尚未克服的难点。例如,视觉传感器对于无纹理的区域是没有办法工作的。惯性测量单元(IMU)通过内置的陀螺仪和加速度计可以测量角速度和加速度,进而推算相机的姿态,不过推算的姿态存在累计误差。如何将视觉传感器和IMU二者的测量信息进行融合来实现实时定位是业界亟需解决的技术问题。

发明内容

[0005] 本发明的系统基于VIO(Visual Inertial Odometry,视觉惯性里程计)技术,在VIO技术基础上增加了MARK点,以及MARK同步控制的设计,提高了系统的实时响应和可靠性。本申请提供的技术方案如下:
[0006] 一种基于机器视觉系统的实时定位装置,包括:FPGA硬件逻辑模块和高速DSP浮点计算模块;
[0007] 所述FPGA硬件逻辑模块包括视频采集预处理模块、第一组管理器、MARKi同步控制模块;立体视觉相机采集到的视频数据输入视频采集预处理模块;视频采集预处理模块的输出数据发送到第一组管理器;第一组管理器由MARKi同步控制模块控制;MARKi同步控制模块通过实时控制总线通信协议连接到系统的实时控制总线;
[0008] 所述高速DSP浮点计算模块包括依次连接的系统标校模块、标校参数模块、第二组管理器、VIO信息融合模块;
[0009] 所述第一组管理器包括取同步帧MARKi图像模块、MARKi特征提取(SURF算法)模块、MARKi图像匹配模块、MARKi图像坐标解算模块;
[0010] 第二组管理器模块包括MARKi空间坐标解算模块、HTi空间坐标及姿态解算模块、IMUi姿态信息模块;
[0011] 第一组管理器中的MARKi图像坐标解算模块的数据发送到第二组管理器中的MARKi空间坐标解算模块;第二组管理器中的MARKi空间坐标解算模块将处理后的数据发送到HTi空间坐标及姿态解算模块;IMUi姿态信息模块获取来自系统实时控制总线的IMUi姿态信息;VIO信息融合模块同时获取HTi空间坐标及姿态解算模块和IMUi姿态信息模块的输出数据;VIO信息融合模块输出上报信息。
[0012] 一种基于机器视觉系统的实时定位系统,包括:立体视觉相机、VR头盔单元、立体视觉处理板和计算机,所述立体视觉处理板包括如权利要求1中所述的一种基于机器视觉系统的实时定位装置。
[0013] 根据本申请的一个方面,所述系统将每个VR头盔单元上设置的IMU模块、MARK同步器采集的数据通过系统的实时控制总线发送到立体视觉处理板;立体视觉处理板通过立体视觉相机获取视频采集信息融合IMU模块获取的IMU信息得到位姿信息。
[0014] 根据本申请的一个方面,所述系统将立体视觉相机获取的数字图像通过快速中值滤波算法进行滤波处理。
[0015] 根据本申请的一个方面,所述系统取同步帧MARKi图像进行特征提取,采用SURF(Speeded Up Robust Feature,加速的具有鲁棒性的特征)算法对特征区域图像积分,再进行卷积运算,得到MARK点的harr特征,计算harr特征的多维向量及主特征向量,组成该MARK点的特征描述符。
[0016] 根据本申请的一个方面,所述系统采用欧氏距离作为相似度量,取图像中的一个特征点,根据阈值找出与基准欧氏距离中最近邻的N个特征点,其中N为自然数,进行判比,如果有60%个以上的特征点小于阈值,认为特征点匹配;根据匹配点的图像坐标与空间坐标之间的关系解析出MARK点的三维空间位置。
[0017] 根据本申请的一个方面,所述立体视觉相机为双目摄像机组件。
[0018] 根据本申请的一个方面,立体视觉处理板通过USB接口将位姿信息发送给计算机。
[0019] 相对于现有技术,本发明具有以下特点:
[0020] 1)基于FPGA和DSP改进了快速SURF算法
[0021] 特征提取算法采用鲁棒性特征的SURF算法,并对harr特征算子进行改进,使之可在FPGA硬件逻辑中对特征区域图像快速积分,而涉及浮点的卷积运算则在DSP中完成,利用了FPGA和DSP的优势互补,具有特征识别稳定,匹配快速的特点,极大提高了系统的稳定性和处理速度。
[0022] 2)基于FPGA和同步技术实现快速特征匹配
[0023] 图像特征识别、匹配是立体测量中的技术难点,也是影响系统延迟的主要部分。采用FPGA硬件逻辑实现这些算法,使系统的反应时间大大提高,视频帧速率为24ms/帧,同时采用同步技术,减少了特征点ID区分给FPGA带来的资源压力,使之可以处理多个目标立体姿态解算的同时,处理时间小于100ms,满足实时性要求。
[0024] 根据本发明,在不小于1米范围内其中姿态角精度小于0.01度,位移精度小于1mm。并且目标数量不少于5个,相应时间小于100ms。能够为虚拟仿真场景提供高精度的实时数据。

附图说明

[0025] 图1是系统总体方案示意图;
[0026] 图2是MARK点同步控制流程的示意图;
[0027] 图3是立体视觉处理板的组成框图;
[0028] 图4是双目立体视觉技术的示意图;
[0029] 图5是特征描述符的示意图;
[0030] 图6是系统数据的软件处理模块结构图。

具体实施方式

[0031] 下面结合实施例对本发明的技术内容做进一步说明;下述实施例是说明性的,不是限定性的,不能以下述实施例来限定本发明的保护范围。
[0032] 1.系统总体方案
[0033] 如图1所示,系统组成包括立体视觉相机、VR头盔单元、立体视觉处理板和计算机。其中VR头盔单元包括IMU模块、MARK同步器。计算机包括处理器和存储器。优选地,立体视觉相机为双目摄像机组件。
[0034] 在立体视觉相机的视觉范围内设置N个VR头盔,其中N为自然数。每个VR头盔单元上的IMU模块、MARK同步器采集的数据通过系统的实时控制总线发送到立体视觉处理板。立体视觉处理板通过立体视觉相机获取视频采集信息。立体视觉处理板通过USB接口将位姿信息发送给计算机。
[0035] 在每个VR头盔上放置具有可识别特征的MARK点,即MARK1、MARK2···MARKi。可以准确稳定的捕捉图像,减少图像处理压力,提供系统的可靠性。
[0036] 由于加速度计的累积误差较大,而IMU姿态精度可以满足应用。因此系统使用IMU的姿态角信息来辅助立体视觉的姿态测量。采用立体视觉技术对VR头盔姿态进行高精度定位定姿,并采用微型惯性传感器IMU进行姿态辅助融合处理。
[0037] 现有的DSP图像处理技术,在处理多个目标的多个特征点时,对多个特征点进行识别、特征提取、立体匹配等,资源消耗非常大,无法做到实时计算,更无法在24ms(视频帧间隔时间)内完成图像处理,因此导致视频响应卡滞。本申请采用FPGA硬件逻辑来完成这些工作。
[0038] 具体而言,系统采用MARK点同步控制技术。由FPGA生成同步信号,发送给MARK点的同步控制器。FPGA对该VR头盔MARK点进行识别处理,根据以往成果计算,可在5ms内完成。并且此时每个VR头盔ID是已知的,避免了对多个VR头盔同时处理的识别误判和资源消耗。MARK点同步控制流程如图2所示。
[0039] 2.硬件平台
[0040] 如图1-3所示,本发明的硬件平台包括双目摄像机组件、VR头盔、立体视觉处理板、计算机。如图3所示,立体视觉处理板为基于FPGA+DSP平台构成的立体视觉处理板。立体视觉处理板包括以下几个主要部分:视频采集电路、FPGA逻辑处理模块、DSP浮点运算模块、USB接口。FPGA逻辑处理模块、DSP浮点运算模块同时连接到系统的实时控制总线。该立体视觉处理板已具备主要立体测量功能,只需要针对光斑点的不同特征修改视觉定位解算软件。
[0041] FPGA作为具有可编程逻辑的大容量、灵活硬件的逻辑电路,集成了很多硬件资源,比如内嵌DSP块、内嵌RAM块、高速外部存储器接口(DDR)等,逻辑处理平台,FPGA非常适合于高性能的视频和图像的实时处理,可以实现图像的并行处理能力,主要完成滤波、立体匹配、特征点标记和跟踪算法。
[0042] DSP采用高性能32位浮点DSP芯片。DSP采用哈佛总线结构,具有密码保护机制,可在一个周期内进行双16×16乘加和32×32乘加操作,从而兼顾控制和快速运算的双重功能。计算速度是通用计算机和单片机无法比拟的。主要完成立体定位解算、姿态矩阵模型解算。
[0043] 立体视觉处理板采用USB接口输出姿态信息。
[0044] 3.系统数据的软件处理过程
[0045] 本发明的系统数据的软件处理过程基于双目立体视觉技术。双目立体视觉(Binocular Stereo Vision)由左右两部摄像机组成。如图4所示,图中分别以下标l和r标注左、右摄像机的相应参数。世界空间中一点A(X,Y,Z)在左右摄像机的成像面Cl和Cr上的像点分别为al(ul,vl)和ar(ur,vr)。这两个像点是世界空间中同一个对象点A的像,称为“共轭点”。知道了这两个共轭像点,分别作它们与各自相机的光心Ol和Or的连线,即投影线alOl和arOr,它们的交点即为世界空间中的对象点A(X,Y,Z)。
[0046] 本发明的系统软件处理过程包括图像采集预处理、特征提取、图像匹配。对应的软件处理模块包括FPGA硬件逻辑模块和高速DSP浮点计算模块。FPGA硬件逻辑模块包括视频采集预处理模块、第一组管理器、MARKi同步控制模块。高速DSP浮点计算模块包括系统标校模块、标校参数模块、第二组管理器、VIO信息融合模块。
[0047] 图像采集预处理:
[0048] 数字图像的获取是立体视觉的信息来源。当空间三维场景经过透视投影(Perspective Projection)变换为二维图像时,同一景物在不同视点的摄像机图像平面上的成像会发生不同程度的扭曲和变形,而且场景中的光照条件、被测对象的几何形状和表面特性、噪声干扰和畸变、摄像机特性等诸多因素的影响都被集中体现在单一的图像灰度值中,需要对图像进一步滤波处理,如图像不清晰或发生畸变,不利于图像特征提取。
[0049] 本发明将立体视觉相机获取的数字图像通过快速中值滤波算法进行滤波处理。即保留图像的边沿特征又可以有效去除噪声,同时该算法采用FPGA设计,可保证处理的实时性。
[0050] 特征提取:
[0051] 将滤波后的数字图像取同步帧MARKi图像进行特征提取。特征提取算法采用SURF(Speeded Up Robust Feature,加速的具有鲁棒性的特征)算法。该算法对特征区域图像积分,再进行卷积运算,得到MARK点的harr特征,计算harr特征的多维向量及主特征向量,组成该特征点的特征描述符。特征描述符的示意图如图5所示。图5中左图正中心代表一个特征点。在特征点附近的64个小正方形代表的是其局部区域内的像素点。在图像局部梯度方向,分配给特征点一个或多个方向。箭头长度代表该像素点的梯度模值,箭头方向代表该像素点的梯度方向。将64个小正方形所在的区域四等分,如图5左图所示,然后计算每个模块的八个方向的梯度方向直方图,如图5右图所示,得到每个梯度方向的累加值,形成一个特征点。因此,每个特征点包含坐标信息。在后续的图像匹配中实际就是MARK点周围梯度向量的描述符的子匹配。由于特征提取算法所采用的SURF算法可以利用FPGA实现。因此能够在保证实时性的基础上,确保得到MARK点的特征的鲁棒性,为后续图像匹配打下基础。
[0052] 图像匹配:
[0053] 如图4所示,在立体视觉中,图像匹配是指将三维空间中一点A(X,Y,Z)在左右摄像机的成像面Cl和Cr上的像点al(ul,vl)和ar(ur,vr)对应起来。即可以从二维图像中获得深度信息。图像匹配是立体视觉中最重要也是最困难的问题。
[0054] 在对特征点检测和描述之后,对两幅图像间的特征点进行匹配即找出双目摄像机左右两个摄像头C1和C2拍摄的图像之间特征点的关系。本申请在对MARKi图像中的特征点进行匹配时,采用欧氏距离作为相似度量,取图像中的一个特征点,根据阈值找出与基准欧氏距离中最近邻的N个特征点(其中N为自然数),进行判比,如果有60%个以上的特征点小于阈值,认为特征点匹配。软件可以调整阈值,阈值设定降低到一定值时,匹配点数目减少,在可以进行群体判决时,匹配更加稳定可靠。
[0055] 最后,根据匹配点的图像坐标与空间坐标之间的关系解析出MARK点的三维空间位置。
[0056] 具体地,如图6所示,本发明的系统数据的软件处理模块包括FPGA硬件逻辑模块和高速DSP浮点计算模块。FPGA硬件逻辑模块包括视频采集预处理模块、第一组管理器、MARKi同步控制模块。双目摄像机采集到的视频数据输入视频采集预处理模块。视频采集预处理模块的输出数据发送到第一组管理器。第一组管理器由MARKi同步控制模块控制。MARKi同步控制模块通过实时控制总线通信协议连接到系统的实时控制总线。第一组管理器包括取同步帧MARKi图像模块、MARKi特征提取(SURF算法)模块、MARKi图像匹配模块、MARKi图像坐标解算模块。
[0057] 高速DSP浮点计算模块包括系统标校模块、标校参数模块、第二组管理器、VIO信息融合模块。其中,系统标校模块、标校参数模块、第二组管理器、VIO信息融合模块依次连接。第二组管理器模块包括MARKi空间坐标解算模块、HTi空间坐标及姿态解算模块、IMUi姿态信息模块。
[0058] 第一组管理器中的MARKi图像坐标解算模块的数据发送到第二组管理器中的MARKi空间坐标解算模块。第二组管理器中的MARKi空间坐标解算模块将处理后的数据发送到HTi空间坐标及姿态解算模块。MARKi特征点构成HTi空间。IMUi姿态信息模块获取来自系统实时控制总线的IMUi姿态信息。VIO信息融合模块同时获取HTi空间坐标及姿态解算模块和IMUi姿态信息模块的输出数据。VIO信息融合模块输出上报信息。
[0059] 所述实施方式适于各种修改和替代形式,且其具体实施例已在图式中以实施例的方式示出并在本文中详细描述。然而应理解,所述实施方式不限于所揭露的特定形式或方法,相反,本发明将涵盖所有修改、等效物和替代物。