发明内容
本发明要解决的技术问题在于,针对现有技术的上述对待测物体进行逐行逐帧获取点云数据速度慢以及对摄像机使用效率较低的缺陷,提供了一种距离测量***和方法,能以较低的软硬件开销,实现快速获取连续运动的点云数据能快速获取点云数据,提高了摄像机的使用率。
本发明解决其技术问题所采用的技术方案是:提供了一种运动物体的距离测量***,包括:
提供光源的激光发射单元;
对待测物体的表面形成的激光局部扫描区域进行图像采集的图像传感单元;
位于所述激光发射单元的主光路上将激光转向待测物体的平面镜;
控制所述平面镜转向角度的角度控制单元;
控制单元,用于对所述激光发射单元进行控制以及接收所述图像传感单元输出的图像,对所述角度控制单元进行控制使之同步于所述图像传感单元的图像拍摄。
在本发明所述的***中,所述图像传感单元包括CMOS图像传感芯片以及将待测物体成像在所述CMOS图像传感芯片上的镜头,所述图像传感单元还包括滤波装置。
在本发明所述的***中,还包括位于所述激光器与所述平面镜之间的主光路上将所述激光发射单元产生的光束在一个方向上发散成扇形的透镜。
在本发明所述的***中,所述角度控制单元固定有一所述平面镜的转动轴,其与所述平面镜的法线垂直。
在本发明所述的***中,还包括与控制单元通信的计算机***,用于对激光成像数据进行拼合处理。
本发明还提供了一种运动物体的距离测量方法,包括以下步骤:
A、控制激光发射单元产生激光束,所产生的激光束通过透镜折射后发散成扇形再经平面镜反射后到待测物体表面形成激光线段;
B、控制角度控制单元使所述平面镜偏转一个预设角度,在待测物体表面形成激光局部扫描区域;
C、利用平面镜旋转角度反馈信号让所述激光局部扫描区域在所述图像传感单元上局部区域曝光形成小帧激光成像区域;
D.所述控制单元接收所述小帧激光成像区域的小帧数据,并根据所述小帧数据计算扫描线信息;
E.如一帧图像未处理完,则采集下一小帧数据返回步骤B,否则执行步骤F;
F.根据扫描线信息获取点云立体信息,并将所述点云立体在二维图像上显示。
在本发明所述的方法中,根据所述小帧数据计算扫描线信息包括以下步骤:
D1、提取所述激光局部扫描区域内的扫描线信息,对每一列扫描线计算亚像素坐标x=∑(Gray×X)/∑X,其中Gray为像素灰度值,X是像素的x坐标。
在本发明所述的方法中,所述根据扫描线信息进行点云立体信息二维显示包括以下步骤:
F1、按以下公式,根据激光线段的偏移距离ΔX计算出待测物体表面区域内的深度z,
其中,f是图像传感器镜头的焦距,L是待测物体离Z方向的区域的距离值,B是平面镜中心P与图像传感器镜头的光心C之间的距离;
F2、预先将距离远近分成多个区间,每个区间对应不同的颜色;根据距离所在区间,将对应的颜色投影到二维图象上。
在本发明所述的方法中,在将所需小帧数据采集完后,还包括以下步骤:将所需小帧数据进行拼合,形成完整的物体点云数据。
实施本发明的技术方案,通过将整幅大帧图像分成小帧图像,并对小帧图像进行采集,同时可并行采集下一小帧图像,实现了快速获取点云数据,降低了软硬件设备的成本,提高了图像传感单元的使用率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在本发明运动物体的距离测量***的结构示意图中,该***包括激光发射单元100、图像传感单元200、平面镜300、角度控制单元400、控制单元500、透镜600、计算机***700,其中,
激光发射单元100,用于为测量物体提供光源,其发射的激光波长应与图像传感单元200相适应。在激光发射单元100与平面镜300之间的主光路上设有透镜600,用于将激光发射单元100产生的光束在一个方向上发散成扇形的,透镜600可以为柱面镜、一字波浪镜,也可以是其他形式,在此不再赘述。
在激光发射单元100的主光路上设有平面镜300,用于将来自激光发射单元100的光束转向待测物体。而平面镜300的偏转角度由角度控制单元400控制,角度控制单元400一个转轴,上面固定有平面镜300,转轴与平面镜300法线垂直。角度控制器可以控制平面镜300绕转动轴旋转,转动角度可由控制单元500程序指定。设置平面镜300转动角度的最小范围为:使反射的光线扫过整个测量物体。
图像传感单元200,用于对待测物体的表面形成的激光局部扫描区域进行图像采集,应当说明的是,该图像传感单元200将首次采集到的激光成像信息保存并记录下来,以为后续采集到的小帧数据作为参考,图像传感单元200包括CMOS图像传感芯片和镜头,在另一实施例中,为了实现仅对特定波长的激光信号进行接收,可在镜头内加装滤波片。该滤波片可与镜头分离形成独立部件,也可直接在镜头上镀膜。
控制单元500,可以采用控制芯片或单片机、DSP、FPGA,本领域的技术人员应当了解,并不限于上述所列举的,用于负责控制激光发射单元100、角度控制单元400和图像传感单元200,可以接收图像传感单元200输出的图像,并具有和电脑通信的能力,可以将从图像传感单元200接收到的信息传递到电脑,也可以具有处理信息的能力。其最主要工作是对平面镜角度与图像传感单元200的图像拍摄进行同步控制。
计算机***700,与控制单元通信且用于对激光成像数据进行拼合处理。
优选地,图像传感单元200包括CMOS图像传感芯片以及将待测物体成像在该CMOS图像传感芯片上的镜头,图像传感单元200还包括滤波装置。
如图2所示,在本发明运动物体的距离测量方法的流程图中,该方法包括:
S100.控制激光发射单元产生激光束,所产生的激光束通过透镜折射后发散成扇形再经平面镜反射后到待测物体表面形成激光线段;
S200.控制角度控制单元使平面镜偏转一个预设角度,在待测物体表面形成激光局部扫描区域,应当说明的是,平面镜转动角度的最小范围为使经过该平面镜发射后的出射光线扫描整个待测物体;
S300.利用平面镜旋转角度反馈信号让所述激光局部扫描区域在该图像传感单元上局部区域曝光形成小帧激光成像区域;
S400.控制单元接收该小帧激光成像区域的小帧数据,并根据该小帧数据计算扫描线信息;
S400.如一帧图像未处理完,则采集下一小帧数据返回步骤S200,否则执行步骤S500;
S500.根据扫描线信息获取点云立体信息,并将所述点云立体在二维图像上显示。
优选地,根据小帧数据计算扫描线信息包括以下步骤:
提取该激光局部扫描区域内的扫描线信息,对每一列扫描线计算亚像素坐标x=∑(Gray×X)/∑X,其中,Gray为像素灰度值,X是像素的x坐标。
优选地,根据扫描线信息进行点云立体信息二维显示包括以下步骤:
F1、按以下公式,根据激光线段的偏移距离ΔX计算出待测物体表面区域内的深度z,
其中,f是图像传感单元镜头的焦距,L是待测物体离Z方向的区域的距离值,B是平面镜中心P与图像传感单元镜头的光心C之间的距离;
F2、预先将距离远近分成多个区间,每个区间对应不同的颜色;根据距离所在区间,将对应的颜色投影到二维图象上。
优选地,在将所需小帧数据采集完后,还包括以下步骤:将所需小帧数据进行拼合,形成完整的物体点云数据。
应当说明的是,在本实施例中,图像传感单元即为图像处理单元,角度控制单元控制平面镜的转动范围和角度,在平面镜的旋转到一定角度时,激光在图像传感单元中的成像区域是固定的,在确定出激光成像区域与平面镜旋转角度间的函数关系后,控制单元控制图像传感单元在局部区域曝光,实现了随着激光的偏移,图像传感单元曝光区域也发生偏移,并且曝光区域总是激光线段在图像传感单元内的成像区域。这样图像传感单元只需要将小区域范围内图像信号传输进行处理,同时可并行采集下一小帧数据。
如图3所示,在本发明运动物体的距离测量方法中步骤S100之前的流程图中,在步骤S100之前还包括:
S110.组装该***的各个部件,其中,包括组装控制单元、激光器、平面镜、透镜、角度控制单元以及图像传感单元;
S120.设置一个测量参考值,在本实施例中,该测量参考值的设置过程如下:
1).假设平面镜中心P与图像传感单元镜头光心C的连线为X轴,射线PC的方向为X正方向;平面镜绕角度控制单元的转动轴旋转的方向为Y轴;平面镜的初始角度与X轴成45度角;图像传感单元镜头的光轴为Z轴;图像传感单元的镜头指向的方向为Z正方向,调整图像传感单元的镜头,以使镜头的视角范围覆盖整个待测物体,在Z轴2米处设置一个平行于XY平面的屏,作为参考平面,屏的大小超过整个图像传感单元镜头视角和整个激光覆盖范围,激光器沿X正方向发射激光信号,该激光信号经过透镜折射后,在Y方向上发散,发散角度为60度,又经过与X轴成45度角的平面镜反射后,使出射光线绕Y轴偏转90度角,出射光线的方向沿Z正方向,并且仍然是在Y方向上发散的;
2).平面镜转动到某一角度时,激光照射在屏上形成一条平行于Y轴的线段,并在图像传感单元上成像,应当说明的是,角度控制单元使平面镜绕Y轴转动a度角,则出射光线绕Y轴转动2×a度角;
3).出射光线转动范围和图像传感单元镜头的视角范围的重叠部分为测量区域,将测量区域在X方向上等分为64份,每次控制平面镜转动某一角度,使激光依次照射其中一份区域中的固定位置,同时控制CMOS图像传感芯片,对测量区域进行曝光,拍摄激光在屏上照射形成的激光线段;
4).假设曝光窗口在X方向上的大小为Wmin,Wmin的计算公式如下:
其中,f是图像传感单元镜头的焦距,Lmin和Lmax分别是待测物体离Z方向的区域的最近值和最远值;并使在屏上产生的激光线段的位置刚好出现在曝光窗口X正方向的一端,平面镜每转动一次,曝光窗口就随之调整位置,在图像传感单元曝光时间内平面镜处于静止状态,应当说明的是,产生的激光线段与曝光窗口对齐的方法有:调整角度控制单元的安装角度、调整控制单元输出的角度范围以及调整图像传感单元的安装角度。
图4和图5分别为本发明运动物体的距离测量***的光路顶视图和光路斜视图,结合图4和图5,进一步说明本发明***的工作原理:
1).激光扫描线的生成:
a.空间设置有三个互相垂直的维度,假设平面镜中心P与图像传感器镜头光心C的连线为X轴,射线PC的方向为X正方向;平面镜绕角度控制单元的转动轴旋转的方向为Y轴;平面镜的初始角度与X轴成45度角;图像传感器镜头的光轴为Z轴;图像传感器的镜头指向的方向为Z正方向;
b.调整图像传感器的镜头,以使镜头的视角范围覆盖整个待测物体,在Z轴2米处设置一个平行于XY平面的屏,作为参考平面,屏的大小超过整个图像传感器镜头视角和整个激光覆盖范围,激光器沿X正方向发射激光信号,该激光信号经过透镜折射后,在Y方向上发散,发散角度为60度,又经过与X轴成45度角的平面镜反射后,使出射光线绕Y轴偏转90度角,出射光线的方向沿Z正方向,并且仍然是在Y方向上发散的;
c.角度控制器控制平面镜转动到某一角度时,激光照射在屏上形成一条平行于Y轴的线段,并在图像传感器上成像,应当说明的是,角度控制单元使平面镜绕Y轴转动a度角,则出射光线绕Y轴转动2×a度角;
d.出射光线转动范围和图像传感器镜头的视角范围的重叠部分为测量区域,将测量区域在X方向上等分为64份,每次控制平面镜转动某一角度,使激光依次照射其中一份区域中的固定位置,同时控制CMOS图像传感芯片,对测量区域进行曝光,拍摄激光在屏上照射形成的激光线段,此区域即为激光线描线;
2).扫描线数据的同步采集:
角度控制器控制着平面镜的转动范围和角度,在平面镜的旋转角度一定时,激光在图像传感器中的成像区域也是固定的,在确定出激光成像区域与平面镜旋转角度间的函数关系后,本发明利用反馈控制电路中平面镜旋转角度反馈信号,控制图像传感器在局部区域曝光。实现随着激光的偏移,图像传感器曝光区域也发生偏移,并且曝光区域总是激光线在图像传感器内的成像区域。这样图像传感器只需要将小区域范围内图像信号传输进行处理,同时可以并行采集下一小帧数据;
假设曝光窗口在X方向上的大小为Wmin,则Wmin的计算公式如下:
其中,f是图像传感器镜头的焦距,Lmin和Lmax分别是待测物体离Z方向的区域的最近值和最远值;并使在屏上产生的激光线段的位置刚好出现在曝光窗口X正方向的一端,平面镜每转动一次,曝光窗口就随之调整位置,在图像传感器曝光时间内平面镜处于静止状态,应当说明的是,产生的激光线段与曝光窗口对齐的方法有:调整角度控制单元的安装角度、调整控制单元输出的角度范围以及调整图像传感器的安装角度。
3).距离信息的生成:在***初次使用时采集激光照射在定距离的标准平面物体上的成像,并且采集激光成像信息,并保存记录下来。在随后的使用中对每一小帧采集具有变形的激光成像信息。然后利用常见的结构光距离测量公式,求出该小帧内物体的空间坐标,生成物体部分点云,随着小帧数据的不断采集,将所有小帧数据进行拼和形成完整的物体点云,并且不断地快速更新点云数据。
图6为本发明运动物体的距离测量***应用于人体运动的效果图,在本实施例中,将采集到的点云数据按照距离的远近分成512份,本领域的技术人员应当了解,可根据精度的需要来进行划分,每一份即每一个距离段采用颜色来表示,并且投影到二维图像上,在图6中,灰白代表距离最近,黑色代表距离最远。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。