具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的一实施方式涉及一种单目结构光散斑图像深度恢复方法,如图1所示,本实施例提供的单目结构光散斑图像深度恢复方法,包括如下步骤。
步骤101:获取单目结构光相机的参考散斑图和物体散斑图。
具体地,通过单目结构光相机拍摄目标物体的散斑图,作为物体散斑图;参考散斑图为已知距离的平面散斑图。
步骤102:采用局部阈值法分别对参考散斑图和物体散斑图进行二值化处理,得到对应的参考散斑特征图和物体散斑特征图;其中,采用如下公式计算局部阈值T(x,y):
其中,(x,y)为散斑图中的像素点,μ(x,y)为以像素点(x,y)为中心的窗口内像素点的灰度平均值,σ(x,y)为以像素点(x,y)为中心的窗口内像素点的灰度标准差,k为常数,R为散斑图中灰度图信息的最大值。
具体地,局部阈值法是根据每个像素的局部信息单独计算阈值。以每个像素点(x,y)为中心,分别计算w*w窗口(w为大于0的整数)内像素点的的灰度平均值μ(x,y)和灰度标准差σ(x,y)。由于散斑图的特性,散斑区域会比非散斑区域亮。因此对Sauvola算法进行了改进处理,得到公式(1),从而得到每个像素点(x,y)的局部阈值T(x,y)。然后采用公式(2),将局部阈值T(x,y)分别与对应的散斑图中相应像素点的灰度值进行比较,获得二值化处理后的散斑特征b(x,y):
步骤103:基于参考散斑特征图和物体散斑特征图之间的视差值,恢复深度信息。
具体地,通过分析物体散斑图与参考散斑图之间发生的形变,可以得到图案上各像素的视差,再根据相机的内外参数恢复出深度信息。
与相关技术相比,本实施例通过在获取单目结构光相机的参考散斑图和物体散斑图后;采用局部阈值法分别对参考散斑图和物体散斑图进行二值化处理,得到对应的参考散斑特征图和物体散斑特征图;其中,采用如下公式计算局部阈值T(x,y):
其中,(x,y)为散斑图中的像素点,μ(x,y)为以像素点(x,y)为中心的窗口内像素点的灰度平均值,σ(x,y)为以像素点(x,y)为中心的窗口内像素点的灰度标准差,k为常数,R为散斑图中灰度图信息的最大值;基于参考散斑特征图和物体散斑特征图之间的视差值,恢复深度信息。本方案中通过对散斑图采用局部阈值法的二值化处理,实现高质量的散斑特征提取,以增强散斑图之间匹配的准确性和提升匹配算法的鲁棒性,从而生成高质量的深度图像。
本发明的另一实施方式涉及一种单目结构光散斑图像深度恢复方法,如图2所示,该单目结构光散斑图像深度恢复方法是对图1所示方法步骤的改进,改进之处在于,增加对物体散斑图进行前后景分割的处理过程。如图2所示,在步骤101之后,包括如下步骤。
步骤104:对物体散斑图进行前后景分割,得到前景区域和后景区域。
具体地,由于单目结构光是激光发射且是点光源,所以获得的物体散斑图中物体的灰度值是物体到光源距离的二次方衰减。在单目结构光的工作距离之外,灰度值会骤减。根据此特性,可以将物体散斑图进行前后景分割,得到前景区域和后景区域。
在一个例子中,可通过如下步骤对物体散斑图进行前后景分割,得到前景区域和后景区域。
步骤1:判断物体散斑图中,以各像素点(x,y)为中心的窗口内像素点的灰度平均值μ(x,y)是否大于预设的第一灰度阈值。如果是,则进入步骤2;如果否,则进入步骤3。
具体地,采用公式(3),以物体散斑图像的任一像素点(x,y)的像素位置为中心,计算w*w窗口(w为大于0的整数)的中心像素点的灰度平均值μ(x,y)。
其中,N为窗口内像素点的个数,Ii为窗口内第i个像素点的灰度值。
然后,将物体散斑图像上每个像素点(x,y)对应的灰度平均值μ(x,y)与预设的第一灰度阈值进行比较,该第一灰度阈值为评价像素点(x,y)是否属于前景区域的临界值。
步骤2:将像素点(x,y)归属于前景区域。
具体地,当像素点(x,y)对应的灰度平均值μ(x,y)大于第一灰度阈值时,确定该像素点(x,y)归属于前景区域。
步骤3:将像素点(x,y)归属于后景区域。
具体地,当像素点(x,y)对应的灰度平均值μ(x,y)不大于第一灰度阈值时,确定该像素点(x,y)归属于后景区域。
在此基础上,步骤102可包括如下子步骤。
子步骤1021:采用局部阈值法分别对参考散斑图,和物体散斑图中的前景区域进行二值化处理,得到对应的参考散斑特征图和物体散斑特征图。
与相关技术相比,本实施例通过对物体散斑图进行前后景分割,得到前景区域和后景区域;采用局部阈值法分别对参考散斑图,和物体散斑图中的前景区域进行二值化处理,可以提取出散斑图像中具有较高质量的前景区域的散斑特征图,以增强散斑图之间匹配的准确性和提升匹配算法的鲁棒性,从而生成高质量的深度图像。
本发明的另一实施方式涉及一种单目结构光散斑图像深度恢复方法,如图3所示,该单目结构光散斑图像深度恢复方法是对图1所示方法步骤的改进,改进之处在于,增加对物体散斑图进行阴影检测的处理过程。如图3所示,在步骤101之后,包括如下步骤。
步骤105:对物体散斑图进行阴影检测,得到阴影区域和非阴影区域。
具体地,由于相机成像的原理,物体散斑图上会有阴影区域,即这些阴影区域内没有散斑信息。因此,可以对物体散斑图进行阴影检测,得到阴影区域和非阴影区域。
在一个例子中,可通过如下步骤对物体散斑图进行阴影检测,得到阴影区域和非阴影区域。
步骤1:判断物体散斑图中,以各像素点(x,y)为中心的窗口内像素点的灰度标准差σ(x,y)是否大于预设的第二灰度阈值。如果是,则进入步骤2;如果否,则进入步骤3。
具体地,采用公式(4),以物体散斑图像的任一像素点(x,y)的像素位置为中心,计算w*w窗口(w为大于0的整数)的中心像素点的灰度标准差σ(x,y)。
其中,N为窗口内像素点的个数,Ii为窗口内第i个像素点的灰度值,μ(x,y)为像素点(x,y)对应的灰度平均值,可通过公式(3)获得。
然后,将物体散斑图像上每个像素点(x,y)对应的灰度标准差σ(x,y)与预设的第二灰度阈值进行比较,该第二灰度阈值为评价像素点(x,y)是否属于阴影区域的临界值。
步骤2:将像素点(x,y)归属于非阴影区域。
具体地,当像素点(x,y)对应的灰度标准差σ(x,y)大于第二灰度阈值时,确定该像素点(x,y)归属于非阴影区域。
步骤3:将像素点(x,y)归属于阴影区域。
具体地,当像素点(x,y)对应的灰度标准差σ(x,y)不大于第二灰度阈值时,确定该像素点(x,y)归属于阴影区域。
在此基础上,步骤102可包括如下子步骤。
子步骤1022:采用局部阈值法分别对参考散斑图,和物体散斑图中的非阴影区域进行二值化处理,得到对应的参考散斑特征图和物体散斑特征图。
与相关技术相比,本实施例通过对物体散斑图进行阴影检测,得到阴影区域和非阴影区域;采用局部阈值法分别对参考散斑图,和物体散斑图中的非阴影区域进行二值化处理,可以提取出散斑图像中具有较高质量的非阴影区域的散斑特征图,以增强散斑图之间匹配的准确性和提升匹配算法的鲁棒性,从而生成高质量的深度图像。
本发明的另一实施方式涉及一种单目结构光散斑图像深度恢复方法,如图4所示,该单目结构光散斑图像深度恢复方法是对图1所示方法步骤的改进,改进之处在于,增加对物体散斑图进行高斯滤波的处理过程。如图4所示,在步骤101之后,包括如下步骤。
步骤106:对物体散斑图进行高斯滤波,得到高斯滤波后的物体散斑图。
具体地,受相机的自身原因以及环境因素的干扰,相机拍摄的物体散斑图中通常会存在大量的噪声点或者空洞的缺陷,通过采用高斯滤波对物体散斑图进行处理,可以得到较高质量的散斑图。
在一个例子中,可通过如下步骤对物体散斑图进行高斯滤波,得到高斯滤波后的物体散斑图。
步骤1:采用如下公式(5)计算物体散斑图中,以各像素点为中心的窗口内中心像素点的高斯平滑算子G(x,y);
其中,σ为常数,(x0,y0)为窗口内的中心像素点,(x,y)为窗口内的像素点。
具体地,根据滤波窗口大小k(k为大于0的整数),针对物体散斑图中任一像素点创建一个k*k大小的矩阵G,以G的中心点P(x0,y0)为核心,计算高斯平滑算子。
步骤2:采用如下计算公式(6)将物体散斑图中,各像素点与该像素点的高斯平滑算子G(x,y)进行离散化窗口卷积,得到滤波后的物体散斑图。
其中,I(x,y)为离散化窗口卷积前的像素点的灰度值,IG(x,y)为离散化窗口卷积后的像素点的灰度值,k为窗口大小。
具体地,针对物体散斑图,进行逐像素点遍历散斑图像,将每个像素点的灰度值与相应的矩阵G进行离散化窗口卷积,得到滤波后的散斑图像。
在此基础上,步骤102可包括如下子步骤。
子步骤1023:采用局部阈值法分别对参考散斑图,和滤波后的物体散斑图进行二值化处理,得到对应的参考散斑特征图和物体散斑特征图。
与相关技术相比,本实施例通过对物体散斑图进行滤波处理,得到滤波后的物体散斑图;采用局部阈值法分别对参考散斑图,和滤波后的物体散斑图进行二值化处理,可以提取出散斑图像中具有较高质量的散斑特征图,以增强散斑图之间匹配的准确性和提升匹配算法的鲁棒性,从而生成高质量的深度图像。
此外,为了提高提取的散斑特征质量,进而提高深度信息的恢复效果,在执行上述方法的过程中,还包括:
对物体散斑特征图进行腐蚀操作,得到去除离散噪声后的物体散斑特征图。相应地,步骤103可包括:基于参考散斑特征图和去除离散噪声后的物体散斑特征图之间的视差值,恢复深度信息,从而提高深度信息的恢复效果。
另外,为了提高提取的散斑特征质量,上述各实施例中的方法步骤在不冲突的前提下可以任意组合。例如,可以对原始的物体散斑图同时进行前后景分割和阴影检测,并针对非阴影区域的前景区域,采用步骤102进行处理,得到高质量的物体散斑特征图。又例如,在此基础上,还可以在进行前后景分割和阴影检测之前,对原始的物体散斑图进行高斯滤波处理,得到较为平滑的物体散斑图。又例如,在此基础上,还可以在进行前后景分割和阴影检测之后,对得到的物体散斑特征图再次进行腐蚀操作,得到去除离散噪声后的所述物体散斑特征图。
本发明的另一实施方式涉及一种电子设备,如图5所示,包括至少一个处理器202;以及,与至少一个处理器202通信连接的存储器201;其中,存储器201存储有可被至少一个处理器202执行的指令,指令被至少一个处理器202执行,以使至少一个处理器202能够执行上述任一方法实施例。
其中,存储器201和处理器202采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器202和存储器201的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器202处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器202。
处理器202负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器201可以被用于存储处理器202在执行操作时所使用的数据。
本发明的另一实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。