一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf

上传人:1** 文档编号:4591982 上传时间:2018-10-21 格式:PDF 页数:12 大小:751.30KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410811866.0

申请日:

2014.12.23

公开号:

CN104537657A

公开日:

2015.04.22

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06T 7/00申请日:20141223|||公开

IPC分类号:

G06T7/00; G06T7/60

主分类号:

G06T7/00

申请人:

西安交通大学

发明人:

葛晨阳; 王菁; 张晨; 杨意; 伦建坤

地址:

710049陕西省西安市咸宁西路28号

优先权:

专利代理机构:

北京中济纬天专利代理有限公司11429

代理人:

张晓霞

PDF下载: PDF下载
内容摘要

本发明公开了一种搜索并行GPU加速的激光散斑图像深度感知方法。将输入激光散斑图像划分成图像并行块,按一个GPU线程块对应处理一个图像并行块,所有的图像并行块可按以下步骤同时进行匹配和深度计算,从而实现搜索并行GPU加速。具体过程:图像并行块对应的GPU线程块先进行自适应预处理,再在图像并行块中提取输入图像块在参考激光散斑图的搜索窗中以一定的搜索匹配方法寻找其最优匹配块,得到该输入图像块与最优匹配块之间的偏移量,即视差值,按一个线程对应一次输入图像块与匹配块的计算,最后根据深度计算公式得到该输入图像块中心像素对应的深度值。

权利要求书

1.  一种搜索并行GPU加速的激光散斑图像深度感知方法,优选的,包 括以下步骤:
1)将输入激光散斑图像划分成一定数量和大小的图像并行块,按一个 GPU线程块对应一个图像并行块的方式进行划分和处理;
2)GPU线程块对其对应的图像并行块进行自适应预处理;
3)通过GPU线程块对图像并行块中提取的一定大小的输入图像块在参 考激光散斑图的搜索窗中通过搜索匹配方法寻找对应的最优匹配块,并计算 该输入图像块与最优匹配块之间的偏移量;
4)所述偏移量根据深度计算公式计算得到该输入图像块中心像素对应的 深度值,同一线程块完成该图像并行块中所有输入图像块的深度计算,其它 图像并行块通过各自对应的GPU线程块并行进行匹配和深度计算,进而获得 输入激光散斑图像的深度图。

2.
  如权利要求1所述的方法,自适应预处理包括输入视频格式转换,色 度空间转换,灰度图像自适应去噪,灰度图像自适应增强,灰度图像二值化。

3.
  如权利要求1所述的方法,步骤3)中的搜索匹配方法是全搜索匹配 方法。

4.
  如权利要求3所述的方法,全搜索匹配方法包括以下步骤:
(1)输入图像块的中心点o、大小为u×v,搜索窗是所述输入图像块在参 考激光散斑图中对应位置o为中心的区域,大小为U×V,在搜索窗中选取与 输入图像块相同大小的像素块作为匹配块,匹配块的中心像素点为(i,j),其 中i表示匹配块相对中心点o在X方向上的偏移量,j表示匹配块相对中心点 o在Y方向上的偏移量;
(2)根据公式 SAD ( i , j ) = 1 uv Σ k = 1 u Σ s = 1 v | f c ( k , s ) - f r ( k + i , s + j ) | ]]>计算中心像素点为 (i,j)的匹配块和输入图像块之间的相似度值SAD(i,j);
(3)重复步骤(2),直至匹配搜索窗U×V内所有匹配块都完成相似度值的 计算;
(4)比较步骤(3)中计算出的所有SAD(i,j)值,其中最小的SAD(ix min,jy min)值 对应的匹配块即为输入图像块对应的最优匹配块,ix min即为输入图像块中心点 o与最优匹配块中心点ok在X方向上的偏移量Δx,jy min即为输入图像块与最优 匹配块在Y方向上的偏移量Δy。

5.
  如权利要求1所述的方法,所述偏移量根据深度计算公式计算得到该 输入图像块中心像素对应的深度值是利用最优偏移量Δm结合参考激光散斑 图的已知距离参数d、激光散斑投射器与图像传感器之间的基线距离S、图像 传感器焦距f和图像传感器点距参数μ,根据深度计算公式计算得到输入图像 块中心点o的深度信息d′,深度计算的公式为
d = d - Δmμ d 2 fS + Δmμd = fSd fS + Δmμd ]]>
其中最优偏移量Δm等于参考散斑窗中心点x坐标值减去最优匹配块中心 点x′坐标值的差,或参考散斑窗中心点y坐标值减去最优匹配块中心点y′坐标 值的差,如最优偏移量Δm为正,表示比参考散斑图距离更近;最优偏移量Δm 为负,表示比参考散斑图距离更远。

说明书

一种搜索并行GPU加速的激光散斑图像深度感知方法
技术领域
本发明涉及图像处理、软件工程领域,具体涉及一种搜索并行GPU加速 的激光散斑图像深度感知方法。
背景技术
在消费电子领域,深度感知技术有助于提高电子产品的智能水平和交互 能力,帮助智能终端理解人类动作,成为“现实物理世界”与“虚拟网络世界” 交互手段之一,不仅可以在智能电视、智能手机、家电、平板PC等领域实现 创新应用,也可用于智能视频监控、面部识别系统、三维动画制作、动态场 景检测、3D地图实时生成等三维重建场合。在工业领域,高分辨率、高精度 的三维深度信息在汽车辅助安全驾驶、高速机床加工、工业建模、3D打印、 医疗成像、物联网3D视觉感知、机器人操控等领域有着广泛的应用需求。
基于结构光主动视觉模式的深度感知技术(激光投射器主动投射散斑图 形Pattern、图像传感器采集散斑图像)可以较为准确地获取图像的深度信息。 该模式相比双目立体摄像头,通过编码结构光主动对投射物或投射空间进行 特征标定,所获取的图像深度信息具有更稳定可靠、受环境光影响更小、匹 配过程不受物体纹理信息的影响等优势。如微软Kinect,其通过主动投射激 光散斑图像进行特征标定,由红外摄像头采集图像序列,再由深度感知专用 芯片计算获取深度信息。
GPU(Graphics Processing Unit)作为高性能图形计算单元,作为硬件加 速引擎,比CPU更适合处理算术计算密度高的并行计算问题,计算效率更高、 时延更短。结构光深度感知技术获取深度图的重要步骤是激光散斑图像块匹 配计算,该过程属于算术计算密度高的并行计算问题,适合采用GPU作为计 算加速单元。相比专用芯片方式,GPU可灵活编程实现,开发周期短、投入 成本低,而且便于移植到不同的硬件平台(如手持移动终端)和不同的操作 系统上实现。通过GPU加速实现深度感知、实时生成深度信息,而非采用专 用芯片将成为智能设备集成深度感知技术的发展方向。
发明内容
针对开发专用芯片获取图像深度信息的方式存在开发周期长、投入大、 应用缺乏灵活等问题,本发明提供了一种搜索并行GPU加速的激光散斑图像 深度感知方法。该方法先将输入激光散斑图像划分成一定数量和大小的图像 并行块,按一个GPU线程块(包含多个线程)对应一个图像并行块方式进行 并行处理;GPU线程块首先对图像并行块进行自适应预处理;再对图像并行 块中提取的输入图像块在参考激光散斑图的搜索窗中以一定的搜索匹配方法 寻找对应的最优匹配块,得到该输入图像块与最优匹配块之间的偏移量,即 视差值(Δx,Δy),其中一个线程对应一次输入图像块与匹配块的计算;所 得到的偏移量结合参考激光散斑图的已知距离d、基线距离S、图像传感器焦 距f和点距μ,根据深度计算公式计算得到该输入图像块中心像素对应的深度 值d′;并由同一线程块完成该图像并行块中所有输入图像块的深度计算。于 此同时,划分出的图像并行块通过各自对应的GPU线程块进行并行深度计 算,从而实现输入激光散斑图像深度感知计算的GPU加速。
根据本发明的一种搜索并行GPU加速的激光散斑图像深度感知方法,包 括以下步骤:
步骤1:将输入激光散斑图像划分成一定数量和大小的图像并行块,按一 个GPU线程块(由多个线程组成)对应一个图像并行块方式进行划分和处理;
步骤2:由GPU线程块对其对应的图像并行块进行自适应预处理;
步骤3:通过GPU线程块对图像并行块中提取的输入图像块在参考激光 散斑图的搜索窗中通过搜索匹配方法寻找对应的最优匹配块,并计算得到该 输入图像块与最优匹配块之间的偏移量;
步骤4:所得到的偏移量根据深度计算公式计算得到该输入图像块中心像 素对应的深度值d′;并由同一线程块完成该图像并行块中所有输入图像块的 深度计算,划分出的图像并行块通过各自对应的GPU线程块进行深度计算, 进而获得输入激光散斑图像的深度图。
本发明利用GPU的并行计算实现了激光散斑图像的深度信息的计算加 速,可使智能设备实时生成高分辨率、高精度的深度图序列,并可灵活编程 实现或移植到不同的硬件平台、操作系统上,大幅降低智能设备利用其已有 的处理器集成深度感知技术的门槛。采用本发明技术方案的有益效果还将通 过以下实施例的阐述而得到具体的体现。
附图说明
图1是搜索并行GPU加速的激光散斑图像深度感知方法整体流程图;
图2是激光散斑图像分块示意图;
图3是激光散斑图像全搜索块匹配方法示意图;
图4是搜索并行GPU加速方法原理图;
图5是全搜索块匹配方法进行搜索并行GPU加速的流程图;
图6是深度计算方法原理图。
具体实施方式
下面结合附图1至6对本发明进行进一步的详细说明。
图1示意性图示了本发明搜索并行GPU加速的激光散斑图像深度感知方 法的整体流程。为了清楚说明,下文中将结合图2、图3、图4、图5来描述 该方法。
步骤1:将输入激光散斑图像划分成一定数量和大小的图像并行块,按一 个GPU线程块(由多个线程组成)对应一个图像并行块的方式进行划分和处 理。其中输入激光散斑图像由激光散斑投射采集模块获得,该模块由激光散 斑投射器和图像传感器构成,通过激光散斑投射器主动投射固定模式的散斑 图形Pattern,由图像传感器实时采集散斑图像序列。
一个线程块负责一个图像并行块的匹配工作,图像并行块之间无数据传 输。根据GPU的计算能力,将线程块数目Block_Num设为M×N,则GPU 调用一次内核函数处理M×N个图像并行块。假如输入激光散斑图像大小为 W×H,如图2所示,根据Block_Num为M×N,即划分出图像并行块数目为 M×N,则划分出的图像并行块大小为w×h。其中,w=W/M,h=H/N。
步骤2:GPU线程块对其对应的图像并行块进行自适应预处理。
自适应预处理包括输入视频格式转换(如Bayer、ITU601、ITU656、MIPI 接口格式转换)、色度空间转换(如RGB转YUV)、灰度图像自适应去噪和 增强、灰度图像二值化(0、1表示,1对应散斑点)等。通过对输入激光散 斑图像的预处理,使散斑图像更清晰,减少噪声干扰,并实现输入散斑图像 序列的一致性增强,消除光照影响。
步骤3:通过线程块对图像并行块中提取的一定大小的输入图像块在参考 激光散斑图的搜索窗中以一定的搜索匹配方法寻找对应的最优匹配块,得到 该输入图像块与最优匹配块之间的偏移量,即视差值(Δx,Δy),其中一个 线程对应一次输入图像块与匹配块的计算。
输入图像块是图像并行块中提取的一定大小的激光散斑图像块,其大小 可根据匹配方法所需进行调节,作为预处理、块匹配计算和深度计算的基本 单元,一般由一个线程负责。
参考激光散斑图是由激光投射器投射固定图形的激光束(红外、可见光、 紫外线、不可见光)在激光投射器的中心轴(Z轴)相垂直的、且已知垂直 距离为d的平面(该平面可由投影布、平板等构成,用于呈现清晰稳定的散 斑点图,该平面可称之为参考基准平面)上,经激光干涉形成非规则的激光 散斑图形。该图形经自适应预处理后,作为输入激光散斑图像深度感知计算 的匹配基准图形。参考激光散斑图可由一幅或多幅不同距离的激光散斑图构 成。
匹配块是在参考激光散斑图的匹配搜索窗内与输入图像块相同大小的图 像块,其中匹配搜索窗的中心点与输入图像块中心点位置对应。
假定每个线程块中线程数目为Thread_Num,按一个线程负责处理输入图 像块预处理、一次输入图像块与匹配块的匹配计算、输入像素点的深度计算, 则每个线程块中的线程数目Thread_Num等于搜索匹配窗中匹配块的个数(即 搜索长度k)。同一图像并行块中的输入图像块之间有数据交换,即同一线 程块内的线程可以通过共享存储器通信,比如将中间变量最小绝对误差值 SAD存储在共享存储器,加快读取速度。
下面以全搜索块匹配方法进行搜索并行GPU加速为例进行说明:
图3是激光散斑图像全搜索块匹配方法示意图,其中输入图像块为图像 并行块中的灰色表示区域,以全搜索策略和相似度值测量指标在参考激光散 斑图中对应位置为中心的匹配搜索窗内寻找最优匹配块,如图3最优匹配块 为参考激光散斑图的匹配搜索窗中斜线表示区域,其中心点ok与匹配搜索窗 blockU×V中心点o(该中心点o与输入图像块中心点o位置对应)的最优偏移 量为(Δx,Δy),分别表示X、Y方向位移,有正负,正负对应上下、左右 坐标关系,在空间上则对应与参考散斑图平面的前后关系。考虑匹配精度、 计算量、内存占用量等因素,作为示例,选用最小绝对误差准则SAD作为相 似度度量的匹配准则,但不限于SAD相似度测量指标,也可采用其它相似度 测量指标。全搜索块匹配方法具体步骤如下:
(1)输入图像块的中心点o、大小为u×v,匹配搜索窗是该图像块在参考散 斑图中对应位置o为中心的区域,大小为U×V,在匹配搜索窗中选取与输入 图像块相同大小的像素块作为匹配块,匹配块的中心像素点为(i,j),其中i表 示匹配块相对中心点o在X方向上的偏移量,j表示匹配块相对中心点o在Y 方向上的偏移量;
(2)根据公式 SAD ( i , j ) = 1 uv Σ k = 1 u Σ s = 1 v | f c ( k , s ) - f r ( k + i , s + j ) ]]>|计算中心像素点为 (i,j)的匹配块和输入图像块之间的相似度值SAD(i,j)。其中fc(i,j)表示输入图 像中(i,j)点对应的像素值;fr(i,j)表示参考图中(i,j)点对应的像素值;
(3)重复步骤(2),直至匹配搜索窗U×V内所有匹配块都完成相似度值的计 算;
(4)比较步骤(3)中计算出的所有SAD(i,j)值,其中最小的SAD(ix min,jy min)值对 应的匹配块即为输入图像块对应的最优匹配块,ix min即为输入图像块中心点o 与最优匹配块中心点ok在X方向上的视差值Δx(偏移量),jy min即为输入图像块 与最优匹配块在Y方向上的视差值Δy(偏移量);
(5)重复以上步骤,直至计算出图像并行块上所有像素点的视差值。
图4为搜索并行GPU加速方法原理图。输入激光散斑图像被划分成图像 并行块,如图像并行块0(对应线程块0)、图像并行块1(对应线程块1)。 图像并行块的匹配计算由对应的线程块进行,各个线程块并行进行计算,此 为一级并行过程。
图像并行块0由一定大小的输入图像块0、输入图像块1等构成,线程块 0依次串行处理输入图像块0、输入图像块1等。当处理到某一输入图像块时, 匹配过程中,一个匹配块,采用一个线程进行相似度计算,即求匹配块和输 入图像块之间的相似度值SAD(i,j),如匹配块0(对应线程0),匹配块1(对 应线程1)等。输入图像块与各个匹配块之间的相似度计算过程由各个匹配 块对应的线程进行,各个线程并行进行计算,此为二级并行。即搜索并行GPU 加速方法采用了两级的并行过程对匹配计算过程进行加速。
图5为全搜索块匹配方法进行搜索并行GPU加速的流程图,GPU内核函 数执行的步骤为:
步骤3.1:主机端(一般指CPU)调用GPU内核函数的相关参数,如图 像并行块大小、输入图像块大小、匹配块大小、线程块数目Block_Num、线 程数目Thread_Num、调用次数i。
步骤3.2:设备端(指GPU)启动内核开始,为中间变量分配共享存储器, 调入图像并行块大小、输入图像块大小等变量;
步骤3.3:在图像并行块中提取输入图像块,获取输入图像块对应的搜索 窗位置;图像并行块中输入图像块像素点对应的GPU线程块计算坐标,由(式 1)、(式2)表示:
OrgX=(bid.x)w+iMw   (式1)
Org_Y=(bid.y)h+iNh   (式2)
式中,(Org_X,Org_Y)表示输入图像块像素点坐标;bid.x表示线程块X轴 方向编号;bid.y表示线程块Y轴方向编号;i表示主机端调用内核函数的次数。
步骤3.4:在匹配搜索窗中提取匹配块,匹配搜索窗中匹配块像素点对应 的GPU线程计算坐标,由(式3)、(式4)表示:
Ref _ X = ( bid . x ) w + iMw + tid . x - U 2 ]]>   (式3)
Ref _ Y = ( bid . y ) h + iNh + tid . y - V 2 ]]>   (式4)
式中,(Ref_X,Ref_Y)表示匹配块像素点坐标;tid.x表示X轴方向线程 编号;tid.y表示线程Y轴方向编号;U×V表示匹配搜索窗的大小。
步骤3.5:输入图像块与匹配块之间通过求取SAD(i,j)进行相似度计算。 将计算结果存储到数组SAD的对应位置中;
步骤3.6:通过_syncthreads()函数使同一线程块内所有线程同步(确保在求 取该输入图像块与最优匹配块之间的偏移量(Δx,Δy)时,该线程块中的所有 线程都已运算完毕),扫描步骤3.4中计算出的所有SAD(i,j)值,其中最小的 SAD(ix min,jy min)值对应的匹配块即为输入图像块对应的最优匹配块,ix min即为X 轴方向最优偏移量Δx,jy min即为Y轴方向最优偏移量Δy。至此,该输入图像 块匹配计算完毕。
步骤3.7:完成该图像并行块中其它输入图像块的匹配计算,得到各像素 对应的最优偏移量(Δx,Δy)。
步骤4:最优偏移量(Δx,Δy)结合参考激光散斑图的已知距离d、基线距 离S、图像传感器焦距f和点距μ,根据深度计算公式计算得到该输入图像块 中心像素对应的深度值d′;由同一线程块完成该图像并行块中所有输入图像 块的深度计算。
利用X或Y方向的最优偏移量Δm(Δx或Δy)结合参考激光散斑图的已 知距离参数d、激光散斑投射器与图像传感器之间的基线距离S、图像传感器 焦距f和图像传感器点距参数μ,根据深度计算公式计算得到输入图像块中心 点o的深度信息d′,如图6所示。
在本实施例中,根据以下深度计算公式计算d′:
d = d - Δ mμd 2 fS + Δmμd = fSd fS + Δmμd ]]>
其中最优偏移量Δm等于参考散斑窗中心点x坐标值减去最优匹配块中心 点x′坐标值的差(有正负),或参考散斑窗中心点y坐标值减去最优匹配块中 心点y′坐标值的差(有正负)。如最优偏移量Δm为正,表示比参考散斑图距 离更近;最优偏移量Δm为负,表示比参考散斑图距离更远。
进一步地,将输入图像块中心点o移到同一行的下一个像素点上,重复 步骤3~4,得到下一个像素点对应的深度值,如此逐点、逐行计算得到输入 散斑图像对应的深度图。同理也可以用于计算输入散斑图像序列的深度信息。 由于按图像块进行深度计算,加上图像块较小,对处于图像边缘的像素点, 其深度信息可忽略不计,不影响整幅图像的深度计算。
优选地,如果只关注图像块X方向的偏移量Δx,匹配搜索窗的选取可以 重点扩展图像块的左右X方向,即M取较大值、N取较小值,这样可以减少 匹配块数量,从而降低计算量和复杂度,提高运行速度。同理图像块的Y方 向亦然。
步骤5:其它图像并行块通过各自对应的GPU线程块可并行进行匹配和 深度计算,实现输入激光散斑图像深度感知计算的GPU加速。
虽然上述的实施例在特定的系统中完成,然其并非限定本发明,本发明 可类似的应用到相似的图案投射和图像传感器系统中,用于匹配的输入图像 块并非限定为1个,可以是多个;同样,用于作为匹配标准的参考散斑图并 非限定为1幅,可以是多幅参考散斑图。因而在不脱离本发明的精神和范围 内的修改和完善,均应包含在上述的权利要求范围内。

一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf_第1页
第1页 / 共12页
一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf_第2页
第2页 / 共12页
一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf》由会员分享,可在线阅读,更多相关《一种搜索并行GPU加速的激光散斑图像深度感知方法.pdf(12页珍藏版)》请在专利查询网上搜索。

本发明公开了一种搜索并行GPU加速的激光散斑图像深度感知方法。将输入激光散斑图像划分成图像并行块,按一个GPU线程块对应处理一个图像并行块,所有的图像并行块可按以下步骤同时进行匹配和深度计算,从而实现搜索并行GPU加速。具体过程:图像并行块对应的GPU线程块先进行自适应预处理,再在图像并行块中提取输入图像块在参考激光散斑图的搜索窗中以一定的搜索匹配方法寻找其最优匹配块,得到该输入图像块与最优匹配块。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1