【技术实现步骤摘要】
基于GPU实时提取光条纹中心的方法及设备
[0001]本专利技术涉及图像处理
,尤其涉及基于GPU实时提取光条纹中心的方法及设备。
技术介绍
[0002]线结构光视觉传感器技术是三维重建领域的关键技术之一,现在广泛应用于非接触性的三维测量、工业检测、视觉引导焊接等领域。其中光条纹中心提取算法是决定线结构光三维重建精度以及光条纹轮廓定位准确性的重要因素,因此在线结构光视觉传感器应用场景中一个非常重要的任务就是准确获取线结构光条纹中心的位置信息。
[0003]目前常见的光条纹中心提取方法有灰度阈值法、灰度重心法、极值法、方向模板法、梯度阈值法等,这些方法实现简单,但精度不高,且容易收到噪声的干扰。
[0004]卡斯特恩.斯蒂格(Carsten.Steger)在20世纪末提出的基于Hessian矩阵的Steger算法是被广泛使用的光条纹中心提取算法,它首先得到图像中光条纹的法线方向,然后求法线方向上的极值点,从而得到光条纹中心的亚像素坐标。
[0005]Steger算法不但精度高而且鲁棒性好,唯一不足的就是其运算量较大,直接使用很难实现光条纹中心的快速提取,难以满足实时性要求较高的应用场景。
技术实现思路
[0006]本专利技术提供了基于GPU实时提取光条纹中心的方法,通过开放运算语言OpenCL(Open Computing language)利用图形处理单元GPU(Graphics Processing Unit)擅长并行数据处理的优势,完成基于Hessian矩阵的Steg ...
【技术保护点】
【技术特征摘要】
1.基于GPU实时提取光条纹中心的方法,其特征在于,包括以下步骤:S1、初始化OpenCL内核环境;S2、通过图像预处理得到图像中光条纹的感兴趣区域ROI,得到图像中光条纹的最大宽度;S3、检测光条纹中心,所述检测光条纹中心包括以下步骤:S301、编写内核程序,所述内核程序用于完成以下计算:S30101、完成卷积计算;S30102、构建Hessian矩阵H(x,y),计算H(x,y)的特征值和特征向量,其中绝对值最大的特征值对应的特征向量作为光条纹的法线方向向量(n
x
,n
y
),其中||(n
x
,n
y
)||2=1;S30103、计算得到光条纹中心的亚像素坐标;所述内核程序需要完成的三部分计算是在GPU上并行计算完成的;S302、创建cl_kernel结构的内核对象,将执行内核的设备信息编译到内核程序中;S303、执行内核程序;S304、将内核执行后的输出缓存对象映射到主机内存中,然后释放创建的缓存对象;S4、释放S1中初始化的OpenCL内核环境。2.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,步骤S1中初始化OpenCL内核环境,包括以下步骤:S101、利用clGetPlateformIDs和clGetPlateformInfo两个函数获取指定的计算平台;S102、根据S101中获取的平台信息,利用clGetDeviceIDs和clGetDeviceInfo两个函数获取GPU设备作为内核的运行设备;S103、根据S101中获取的平台信息和S102中获取的设备信息,利用clCreateContext函数创建上下文。3.根据权利要求1所述的基于GPU实时提取光条纹中心的方法,其特征在于,步骤S2中,图像中光条纹的感兴趣区域ROI可以通过对原图像进行自适应阈值的二值化处理,然后利用连通域分析法得到。4.根据权利要求3所述的基于GPU实时提取光条纹中心的方法,其特征在于,统计二值化图像中光条纹的最大宽度,在线结构光视觉传感器中光条纹在图像中沿着光条宽度的方向或光条的法线方向上,其灰度呈现出类似的高斯分布特点,高斯函数的标准差σ与光条纹宽度W应该满足公式1:将光条纹的最大宽度代入公式1,计算高斯函数的标准差σ,取标准差σ的3倍作为离散高斯卷积模板窗口的半径,卷积模板窗口大小记为M*M,M根据公式2计算,表示对其中的数据向下取整,然后根据公式5、6、7、8、9计算出高斯函数的一阶、二阶偏导作为卷积模板,记为D
x
,D
y
,D
xx
,D
yy
,D
xy
。一维高斯函数:二维高斯函数:
二维高斯函数的一阶偏导数:二维高斯函数的一阶偏导数:二维高斯函数的二阶偏导数:二维高斯函数的二阶偏导数:二维高斯函数的二阶偏导数:5.根据权利...
【专利技术属性】
技术研发人员:朱志磊,
申请(专利权)人:无锡砺成智能装备有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。