发明内容
本发明要解决的技术问题在于,针对现有基于散斑的方法投影出来的散斑结构光固定不变从而对图像传感器的设备要求较高且设备的灵活性较差的缺陷,提供一种可以根据需要控制镜面反射装置,从而生成适于测量对象的结构光图案,并同步控制图像传感器对所需的区域进行扫描的物体表面重建的系统和方法。
本发明解决其技术问题所采用的技术方案是:构造一种物体表面重建的系统,包括:照明组件,包括光源和镜面反射装置,所述镜面反射装置用于通过调整镜面姿态,将所述光源发出的光线反射到目标区域形成预设的结构光图案;图像传感器,用于逐步曝光以拍摄所述目标区域内至少部分区域的结构光图案的投影图像;控制器,用于控制所述图像传感器的曝光区域与所述镜面反射装置反射的结构光的投影区域同步;以及数据处理单元,与所述图像传感器连接,实时接收所述结构光图案的投影图像,并获取所述投影图像和预先拍摄的基准图像中的结构光图案位移值,计算出所述目标区域内物体的三维点云数据。
在本发明所述的物体表面重建的系统中,所述光源采用点光源时,所述镜面反射装置采用二维振镜,生成的结构光图案为线阵状图案或点阵状图案;所述光源采用线光源时,所述镜面反射装置采用一维振镜,生成的结构光图案为线阵状图案。
在本发明所述的物体表面重建的系统中,所述一维振镜或二维振镜采用MEMS振镜。
在本发明所述的物体表面重建的系统中,所述镜面反射装置采用一维振镜生成线阵状的结构光图案时,所述数据处理单元通过以下公式计算结构光图案位移值为△X n 的目标点的距离z;
其中,B为图像传感器与振镜装置的中心的距离,f为所述图像传感器的设备镜头焦距,L为选取的基准图像所在的标准平面的距离。
本发明还相应提供了一种物体表面重建的方法,包括以下步骤:
S1、通过控制镜面反射装置,将光源发出的光线反射到目标区域并形成预设的结构光图案;
S2、利用图像传感器逐步曝光以拍摄所述目标区域内至少部分区域的结构光图案的投影图像,且控制所述图像传感器的曝光区域与所述镜面反射装置反射的结构光的投影区域同步;
S3、实时接收所述结构光图案的投影图像,并获取所述投影图像和预先拍摄的基准图像中的位移值,计算出所述目标区域内物体的三维点云数据。
在本发明所述的物体表面重建的方法中,所述步骤S1中所述光源采用点光源时,所述镜面反射装置采用二维振镜,生成的结构光图案为线阵状图案或点阵状图案;所述光源采用线光源时,所述镜面反射装置采用一维振镜,生成的结构光图案为线阵状图案。
在本发明所述的物体表面重建的方法中,所述步骤S1中所采用的一维振镜或二维振镜为MEMS振镜。
在本发明所述的物体表面重建的方法中,所述步骤S1中所采用的镜面反射装置为一维振镜生成线阵状的结构光图案时,所述步骤S3中通过以下公式计算结构光图案位移值为△X n 的目标点的距离z;
其中,B为图像传感器与振镜装置的中心的距离,f为所述图像传感器的设备镜头焦距,L为选取的基准图像所在的标准平面的距离。
实施本发明的物体表面重建的系统和方法,具有以下有益效果:本发明可以根据需要通过控制镜面反射装置投射出预设的结构光图案,并控制图像传感器同步曝光获取目标区域内至少部分区域的投影图像,与基准图像进行比较利用三角测量原理计算出目标区域内物体的三维深度数据,该三维深度数据可以实时更新,从而获取运动物体的实时运动数据。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
请参阅图1,为根据本发明优选实施例的物体表面重建的系统的光路图。如图1所示,该实施例提供的物体表面重建的系统主要包括照明组件10、图像传感器20、数据处理单元30和控制器(图中未示出)。
照明组件10包括光源11和镜面反射装置12。本方案的光源优选采用半导体激光二级管。
镜面反射装置12可以由控制器控制其镜面姿态,将所述光源11发出的光线反射到目标区域形成预设的结构光图案。优选地,镜面反射装置可以采用一维振镜或二维振镜,对应生成的结构光图案分别为线阵状图案或点阵状图案。光源采用点光源时,镜面反射装置可以采用二维振镜,生成的结构光图案为线阵状图案或点阵状图案。光源采用线光源时,镜面反射装置可以采用一维振镜,生成的图案为线阵状图案。此外,当光源采用点光源时,还可以先通过光学元件将点光源转换为线形光,再通过一维振镜生成线阵状图案。一维振镜或二维振镜也可以采用MEMS(Micro-Electro-Mechanical Systems,微机电系统)振镜,转轴式振镜等能够实现控制镜面运动的装置。 MEMS是一种全新的必须同时考虑多种物理场混合作用的研发领域,相对于传统的机械,它们的尺寸更小,最大的不超过一个厘米,甚至仅仅为几个微米,其厚度就更加微小。采用以硅为主的材料,电气性能优良,硅材料的强度、硬度和杨氏模量与铁相当,密度与铝类似,热传导率接近钼和钨。采用与集成电路类似的生成技术,可大量利用IC生产中的成熟技术、工艺 ,进行大批量、低成本生产,使性价比相对于传统“机械”制造技术大幅度提高。一维振镜或二维振镜构成的镜面反射装置中的镜面121的姿态可以通过控制器进行控制,通过调整镜面121的姿态,将光源11照射到镜面121上的光线反射到目标区域,并且在目标区域投影形成已设计结构光的图案.例如二维振镜投射出点阵状图案,一维振镜为线阵状图案。
图像传感器20用于逐步曝光以拍摄目标区域内至少部分区域的结构光图案的投影图像。由于本发明的系统在首次使用前需要采集一次结构光的基准图像。在本系统中图像传感器20、镜面反射装置12和光源11的相对位置姿态需要与在拍摄基准图像时保持不变,这里包括偏移与旋转。如果相对位置出现了变化,就需要重新采集基准图像。本发明的独特之处在于由控制器控制图像传感器20的曝光区域与镜面反射装置12反射的结构光的投影区域同步。也就是说,当线形的结构光逐步投影在目标区域上时,图像传感器12也同时曝光该线形光投影的区域,因此图像传感器12能够仅在目标区域内至少部分区域,例如预先估计的目标物体所在的特定区域采集投影图像,而不需要采集所有目标区域内的图像。并且可以选择配置相对较低的图像传感器来采集线形光的图案。
数据处理单元30与图像传感器20连接,实时接收图像传感器20拍摄的结构光图案的投影图像,且数据处理单元30内存储有预先拍摄的基准图像,利用图像算法获取所述投影图像和基准图像中的结构光图案的位移值,计算出所述目标区域内物体的三维点云数据。因此,数据处理单元30可以进一步包括存储器31和处理器32,且数据处理单元30还具有输入/输出装置33。其中存储器31可用于存储在没有目标物体时拍摄的基准图像信息。处理器32则可以通过输入/输出装置33接收图像传感器拍摄的投影图像,并从存储器31中获取上述基准图像信息,进行上述计算和处理,获取三维点云数据,实现物体表面点云数据重建。
下面对本发明的物体表面重建的系统中各个部件的位置结构进行说明。建立如图1所示的三维坐标系,在此坐标系内对各装置进行安装。图1中坐标系满足右手定则。
a. 坐标系的X轴方向是如图所示初始状态的振镜镜面中心P和图像传感器的镜头光心C的连线,正方向为CP,即如图1中向上为X轴正方向,其中B为PC的距离。
b. Z轴方向是穿过镜面中心P,并垂直于镜面,正方向为由镜面中心P指向目标区域,如图1中向右为Z轴正方向。
c. Y轴方向是按照右手定则进行确定,在图1中为垂直纸面向里。
d. 光源11发射出准直激光,激光轴线在平面XPZ上,并且穿过反射面的中心。激光轴线和Z轴的夹角与目标区域有关,本系统设置为45度。
e. 将图像传感器20的光心轴线设置为与Z轴平行,并且保证图像传感器的视场与投影目标区域存在交集,出射光线转动范围和图像传感器镜头的视角范围的重叠部分为测量区域。且图像传感器的设备镜头焦距为f。
f. 如果该系统的镜面反射装置采用一维振镜,镜面121可以绕XP轴或者绕YP轴旋转或者振动;如果采用二维振镜,则镜面可以绕两轴同时旋转或者同时振动。为了获取上述振动特性,可以采用现有的MEMS一维或者二维振镜来实现,其出射光线转动范围覆盖整个被测物体。
g. 图像传感器20的数据通过现有常见的数据传输方式,传输到数据处理单元30.
下面对本发明的物体表面重建的系统的实现流程和原理进行说明。
1)按照上述位置结构对各部件进行组装。同时可以进行一定程度的集成封装,例如将光源11和镜面反射装置12集成在一起构成照明组件10。
2)投影图案的设计:由于本发明采用的振镜系统能够利用振镜高速的姿态变换特性,在目标区域内投射出点阵状,线阵状等等图像。这里主要采用一维振镜照射出线阵状或者采用二维振镜投射出点阵。
3)采集图像信息步骤:
a.拍摄基准图像。例如,在距离系统L=2000mm处,设置与Z轴垂直的3*3m标准平面T,选取该平面T上拍摄的图像为基准图像。虽然该实施例中给出了具体的基准图像的距离,但是本发明并不限于此,本领域基础技术人员可以根据实际情况选取合适的平面拍摄基准图像。利用图像传感器20采集照明组件10投影出来的线阵状或点状图案在标准平面的成像作为基准图像,并保存在数据处理单元30的存储器31中。
b.拍摄目标的投影图像。在物体进入目标区域后,投影图案照射到物体表面上,此时利用图像传感器20采集目标区域的投影图案,例如线阵状图案,发送到数据处理单元30;
4)表面点云数据重建步骤:
请参阅图2和图3,分别为根据本发明优选实施例的物体表面重建的系统拍摄的基准图像和投影图像的示意图。如图2所示,该结构光图案为线阵状,线的高度为H,宽度为W。则相应可以计算出线阵中n条线之间的线距为Wn。图3中可以看到当目标物体进入画面时,线阵中目标物体所在区域中的线条将发生偏移,偏移量为S。所有的投射图案随着距离L的增大,图案会出现朝固定方向发生偏移,且偏移量S逐渐变小。而偏移S的最大值必须小于周期图案的最小周期Wn。偏移量S可以通过数据处理单元针对投影图像与基准图像进行分析来计算获得。
a.设采集到的投影图像与基准图像均为m*n个像素的图像。下面以投射的结构光图案为线阵光为例,对获取的投影图像进行分析,采用点阵状的结构光图案的分析方法与之相同。
首先,利用图像算法分别计算出投影图像和基准图像中线阵中每条线的坐标数组Pn(i,j)和Qn(i,j),其中n代表线阵中线的编号,(i,j)是线上每一点的坐标。在此,由于图像中结构光线条的像素灰度值大于周围像素灰度值,所以能够在背景中分辨出结构光线条。本发明可以采用阈值分割的办法将结构光线条分割出来。由于阈值设定的原因,结构光线条宽度可能会由一个或者一个以上的像素组成,所以可以采用线宽的重心或者线宽内最亮像素坐标来代表结构光线条的坐标。其中,在第一种方法中,在结构光线条宽度方向,计算最大灰度值像素的重心坐标,作为线条坐标。第二种方法中,在结构光线条宽度方向,直接计算线宽的中心坐标,作为线条的坐标。在投影图像和基准图像对齐后分别逐列的计算出结构光线条的坐标。如果为点阵状图案,则对于点阵中每点的轮廓超过一个像素的情况,计算按灰度阈值做权重的重心坐标,作为点的坐标。
b.利用线条像素数组计算线条的位移量△Xn(i,j)= Pn(i,j)- Qn(i,j)。可以将两个结构光线条对齐逐列的计算坐标的位移值。图3中目标物体区域中线条的偏移量S与△Xn(i,j)相对应。
c.利用结构光测量的基本原理,数据处理单元通过以下公式计算结构光图案位移值为△X n 的目标点的距离z;
其中,B为图像传感器与振镜装置的中心的距离,f为所述图像传感器的设备镜头焦距,L为选取的基准图像所在的标准平面的距离。投影图案中不同点的距离z即为计算出来的物体三维点云数据。
由于上述公式中B、f和L可以针对不同大小的目标物体和距离预先设置好,因此上述公式中的X’为设置好的特定值。当需要针对不同目标物体设计结构光图案时,只需要调整一维或二维振镜的镜面状态,就可以获得不同的结构光,例如线阵光或点阵光,还可以对线阵光的线距进行调整,从而便于在采集的投影图像中识别出目标物体所在的区域。
本发明还相应地提供了一种物体表面重建的方法。请参阅图4,为根据本发明优选实施例中物体表面重建的方法流程图。如图4所示,该方法S400开始于步骤S402:
随后,在下一步骤S404中,通过控制镜面反射装置,将光源发出的光线反射到目标区域并形成预设的结构光图案。该步骤主要采用照明组件来实现,如图1所示,照明组件10包括光源11和镜面反射装置12。本方案的光源优选采用半导体激光二级管。
镜面反射装置12可以由控制器控制其镜面姿态,将所述光源11发出的光线反射到目标区域形成预设的结构光图案。优选地,镜面反射装置可以采用一维振镜或二维振镜,对应生成的结构光图案分别为线阵状图案或点阵状图案。光源采用点光源时,镜面反射装置可以采用二维振镜,生成的结构光图案为线阵状图案或点阵状图案。光源采用线光源时,镜面反射装置可以采用一维振镜,生成的图案为线阵状图案。此外,当光源采用点光源时,还可以先通过光学元件将点光源转换为线光,再通过一维振镜生成线阵状图案。一维振镜或二维振镜也可以采用MEMS(Micro-Electro-Mechanical Systems,微机电系统)振镜,转轴式振镜等能够实现控制镜面运动的装置。一维振镜或二维振镜构成的镜面反射装置中的镜面121的姿态可以通过控制器进行控制,通过调整镜面121的姿态,将光源11照射到镜面121上的光线反射到目标区域,并且在目标区域投影形成已设计结构光的图案。例如二维振镜投射出点阵状图案,一维振镜为线阵状图案。
建立如图1所示的三维坐标系,在此坐标系内对各装置进行安装。图1中坐标系满足右手定则。坐标系的X轴方向是如图所示初始状态的振镜镜面中心P和图像传感器的镜头光心C的连线,正方向为CP,即如图1中向上为X轴正方向,其中B为PC的距离。Z轴方向是穿过镜面中心P,并垂直于镜面,正方向为由镜面中心P指向目标区域,如图1中向右为Z轴正方向。Y轴方向是按照右手定则进行确定,在图1中为垂直纸面向里。光源11发射出准直激光,激光轴线在平面XPZ上,并且穿过反射面的中心。激光轴线和Z轴的夹角与目标区域有关,本方法中设置为45度。如果该方法的镜面反射装置采用一维振镜,镜面121可以绕XP轴或者绕YP轴旋转或者振动;如果采用二维振镜,则镜面可以绕两轴同时旋转或者同时振动。为了获取上述振动特性,可以采用现有的MEMS一维或者二维振镜来实现,其出射光线转动范围覆盖整个被测物体。
随后,在下一步骤S406中,利用图像传感器逐步曝光以拍摄所述目标区域内至少部分区域的结构光图案的投影图像,且控制所述图像传感器的曝光区域与所述镜面反射装置反射的结构光的投影区域同步。本发明的独特之处在于由控制器控制图像传感器20的曝光区域与镜面反射装置12反射的结构光的投影区域同步。也就是说,当线形的结构光逐步投影在目标区域上时,图像传感器12也同时曝光该线形光投射的区域,因此图像传感器12能够仅在目标区域内至少部分区域,例如预先估计的目标物体所在的特定区域采集投影图像,而不需要采集所有目标区域内的图像。并且可以选择配置相对较低的图像传感器来采集线形光的图案。
如图1所示,由于本发明的方法在首次使用前需要采集一次结构光的基准图像,因此在该步骤中图像传感器20、镜面反射装置12和光源11的相对位置姿态需要与在拍摄基准图像时保持不变,这里包括偏移与旋转。如果相对位置出现了变化,就需要重新采集基准图像。将图像传感器20的光心轴线设置为与Z轴平行,并且保证图像传感器的视场与投影目标区域存在交集,出射光线转动范围和图像传感器镜头的视角范围的重叠部分为测量区域。且图像传感器的设备镜头焦距为f。图像传感器20的数据通过现有常见的数据传输方式,传输到数据处理单元30。
随后,在下一步骤S408中,实时接收图像传感器20拍摄的结构光图案的投影图像,并利用图像算法获取所述投影图像和预先拍摄的基准图像中的位移值,计算出所述目标区域内物体的三维点云数据。可以采用如图1所示的数据处理单元来实现该步骤。数据处理单元30与图像传感器20连接,接收图像传感器20拍摄的结构光图案的投影图像,且数据处理单元30内存储有预先拍摄的基准图像,利用图像算法获取所述投影图像和基准图像中的结构光图案的位移值,计算出所述目标区域内物体的三维点云数据。因此,数据处理单元30可以进一步包括存储器31和处理器32,且数据处理单元30还具有输入/输出装置33。其中存储器31可用于存储在没有目标物体时拍摄的基准图像信息。处理器32则可以通过输入/输出装置33接收图像传感器拍摄的投影图像,并从存储器31中获取上述基准图像信息,进行上述计算和处理,获取三维点云数据,实现物体表面点云数据重建。
最后,方法S400结束于步骤S410。
下面对本发明的物体表面重建的方法的具体操作过程进行说明。
1)按照上述位置结构对各部件进行组装。同时可以进行一定程度的集成封装,例如将光源11和镜面反射装置12集成在一起构成照明组件10。
2)投影图案的设计:由于本发明方法采用的振镜系统能够利用振镜高速的姿态变换特性,在目标区域内投射出点阵状,线阵状等等图像。这里主要采用一维振镜照射出线阵或者采用二维振镜投射出点阵。
3)采集图像信息步骤:
a.拍摄基准图像。例如,在距离系统L=2000mm处,设置与Z轴垂直的3*3m标准平面T,选取该平面T上拍摄的图像为基准图像。虽然该实施例中给出了具体的基准图像的距离,但是本发明并不限于此,本领域基础技术人员可以根据实际情况选取合适的平面拍摄基准图像。利用图像传感器20采集照明组件10投影出来的线阵状或点阵状图案在标准平面的成像作为基准图像,并保存在数据处理单元30的存储器31中。
b.拍摄目标的投影图像。在物体进入目标区域后,投影图案照射到物体表面上,此时利用图像传感器20采集目标区域的投影图案,例如线阵状图案,发送到数据处理单元30;
4)表面点云数据重建步骤:
请参阅图2和图3,分别为根据本发明优选实施例的物体表面重建的系统拍摄的基准图像和投影图像的示意图。如图2所示,该结构光图案为线阵,线的高度为H,宽度为W。则相应可以计算出线阵中n条线之间的线距为Wn。图3中可以看到当目标物体进入画面时,线阵中目标物体所在区域中的线条将发生偏移,偏移量为S。所有的投射图案随着距离L的增大,图案会出现朝固定方向发生偏移,且偏移量S逐渐变小。而偏移S的最大值必须小于周期图案的最小周期Wn。偏移量S可以通过数据处理单元针对投影图像与基准图像进行分析来计算获得。
a.设采集到的投影图像与基准图像均为m*n个像素的图像。下面以投射的结构光图案为线阵光为例,对获取的投影图像进行分析,采用点阵状的结构光图案的分析方法与之相同。
首先,利用图像算法分别计算出投影图像和基准图像中线阵中每条线的坐标数组Pn(i,j)和Qn(i,j),其中n代表线阵中线的编号,(i,j)是线上每一点的坐标。在此,由于图像中结构光线条的像素灰度值大于周围像素灰度值,所以能够在背景中分辨出结构光线条。本发明可以采用阈值分割的办法将结构光线条分割出来。由于阈值设定的原因,结构光线条宽度可能会由一个或者一个以上的像素组成,所以可以采用线宽的重心或者线宽内最亮像素坐标来代表结构光线条的坐标。其中,在第一种方法中,在结构光线条宽度方向,计算最大灰度值像素的重心坐标,作为线条坐标。第二种方法中,在结构光线条宽度方向,直接计算线宽的中心坐标,作为线条的坐标。在投影图像和基准图像对齐后分别逐列的计算出结构光线条的坐标。如果为点阵状图案,则对于点阵中每点的轮廓超过一个像素的情况,计算按灰度阈值做权重的重心坐标,作为点的坐标。
b.利用线条像素数组计算线条的位移量△Xn(i,j)= Pn(i,j)- Qn(i,j)。可以将两个结构光线条对齐逐列的计算坐标的位移值。图3中目标物体区域中线条的偏移量S与△Xn(i,j)相对应。
c.利用结构光测量的基本原理,数据处理单元通过以下公式计算结构光图案位移值为△X n 的目标点的距离z;
其中,B为图像传感器与振镜装置的中心的距离,f为所述图像传感器的设备镜头焦距,L为选取的基准图像所在的标准平面的距离。投影图案中不同点的距离z即为计算出来的物体三维点云数据。
由于上述公式中B、f和L可以针对不同大小的目标物体和距离预先设置好,因此上述公式中的X’为设置好的特定值。当需要针对不同目标物体设计结构光图案时,只需要调整一维或二维振镜的镜面状态,就可以获得不同的结构光,例如线阵光或点阵光,还可以对线阵光的线距进行调整,从而便于在采集的投影图像中识别出目标物体所在的区域。
综上所述,本发明的物体表面重建的系统和方法,首先将光源照射出的点光或者线光,照射到镜面反射装置上。通过控制镜面反射装置旋转和偏移将光线反射到目标区域上,形成结构光图案。利用图像传感器获取无物体时目标区域内标准平面上结构光的图案作为基准图案。在物体进入目标区域后,再利用图像传感器控制图像传感器的曝光区域与所述镜面反射装置反射的结构光的投影区域同步,来获取目标区域内至少部分区域的结构光投影图案。将数据存储到数据处理单元,计算两种图案的位移信息,然后利用三角测量原理计算出物体的三维深度数据。这种三维深度数据可以实时更新,从而获取运动物体的实时运动数据。且采用本发明的振镜方式,就可以对同一套设备,根据不同的方法调整投射出结构光的图案。该方法和系统可以应用到物体的实时重建中,能够在人机交互的领域使用,如虚拟鼠标,健身的人机交互,博弈的人机界面,移动装置前方物体的检测,人体运动分析,距离估计和报警,入侵报警等等方面。
本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。