专利:一种基于2D和3D融合的目标识别定位方法和系统 [发明]

摘要:

本发明提供一种基于2D和3D融合的目标识别定位方法和系统,其中,方法包括:通过获取双目结构光3D相机传输的目标的深度图,深度图包括所有目标所有像素点的深度信息,根据法向量估计法计算深度图的法向量,并根据得到的法向量计算邻域法向量夹角,对边缘区域的法向量夹角波动情况进行分析计算,得到符合预设波动阈值的夹角波动信息,将获取的夹角波动信息转化为二值图,并采用边缘检测算法对二值图进行边缘检测,得到目标轮廓,并根据目标轮廓得到目标的边界框,输出得到目标的位置坐标。本发明实现了对目标的精准识别和定位,鲁棒性高,且无需进行大量训练样本的计算,便于进行快速部署,提高了目标识别的效率。

步骤:

获取双目结构光3D相机传输的目标的深度图, 所述深度图包括目标所有像素点的深度信息;

根据法向量估计法计算所述深度图的法向量;

根据所述法向量计算邻域法向量夹角;

对边缘区域的所述法向量夹角的波动情况进行分析计算, 得到符合预设波动阈值的夹角波动信息;

将所述夹角波动信息转化为二值图, 并采用边缘检测算法对所述二值图进行边缘检测, 得到目标轮廓;

根据所述目标轮廓得到所述目标的边界框, 并输出目标的位置坐标。

背景技术

目前目标识别算法大概分为两类: 一类是传统2D图像算法通过灰度值计算出目标边缘, 再通过轮廓和各种约束条件定位到目标。要求前景目标与背景的灰阶梯度比较大才可行。 另一类是深度学习算法, 通过建立神经网络, 准备大量训练数据进行训练, 得到权重参数,再预测目标位置。要求大量训练样本, 算力要求较高, 通常要求配备高性能显卡。 训练周期长,运维时间长,不利于落地部署和后期运维。

但是, 不论是传统2D图像算法或是深度学习算法,都存在对应的不足之处。一是传统2D图像算法较为依赖图像灰度值, 在目标与背景灰度值接近时, 很难准确识别出目标轮廓, 从而无法准确定位到目标。二是深度学习算法, 依赖于大量有效的样本数据, 不利于快速部署, 维护周期较长, 落地比较困难, 出现问题也无法排查, 而是需要花费大量时间优化算法和重新训练。同时, 深度学习算法对算力要求较高, 增加了硬件成本和部署难度。

因此, 亟需一种高效且具有高鲁棒性,能够对目标进行精准识别和定位的方法。

发明内容

基于此, 有必要针对上述技术问题, 提供一种基于2D和3D融合的目标识别定位方法和系统。

一种基于2D和3D融合的目标识别定位方法, 包括以下步骤: 获取双目结构光3D相机传输的目标的深度图, 所述深度图包括目标所有像素点的深度信息; 根据法向量估计法计算所述深度图的法向量; 根据所述法向量计算邻域法向量夹角; 对边缘区域的所述法向量夹角的波动情况进行分析计算, 得到符合预设波动阈值的夹角波动信息; 将所述夹角波动信息转化为二值图,并采用边缘检测算法对所述二值图进行边缘检测, 得到目标轮廓; 根据所述目标轮廓得到所述目标的边界框,并输出目标的位置坐标。

获得深度图和点云图:

采用双目结构光3D相机, 先通过光栅投射模组按照时间序列依次投射在目标表面, 再通过双目对目标表面的光栅进行拍照, 基于事先编码规则进行解码和双目视差匹配,从而获得具有高精度3D点云的深度图,以便于获取高精度的目标识别结果。

计算点云图的法向量:

根据法向量估计法计算深度图的法向量。 具体地, 点云法向量是最基本的点云特征, 通过法向量估计法能够计算得到深度图的法向量。在计算时,可以利用深度梯度近似估计点云法向量。

所述根据法向量估计法计算所述深度图的法向量, 包括: 获取所述深度图中的每个像素点, 并搜索所述每个像素点的邻域点; 计算所述邻域点到像素点的投影总长度,公式为:

式中, xi表示邻域点, c为中心点, n为法向量; 在所述邻域点到当前像素点的投影总长度最小时,对应的像素点为所述深度图的法向量。

法向量定义:根据深度图获取每个像素点, 设定邻域长度, 邻域长度小于目标长度, 并根据像素点获取对应的邻域点。在获取邻域点后, 可以根据邻域内的点拟合得到超平面, 则超平面的法线方向即为对应像素点的法向量。或者,由于深度图具有结构化的点云, 可以采用深度梯度来近似估计点云法向量。法向量估计法是通过寻找一个向量n, 使得邻域点到该向量n的投影总长度最小,此时的向量n即为法向量。

根据法向量计算邻域法向量夹角:

具体地,获取法向量后, 根据当前点的法向量和邻域点的法向量, 计算得到法向量夹角,以便于根据法向量夹角的波动对目标的边缘区域进行检测, 提高目标识别和定位精度。

计算当前像素点与邻域点的法向量夹角,公式为:

式中,a为第一法向量, b为第二法向量,θ为第一法向量和第二法向量的夹角。

根据上式计算得到深度图中所有像素点与邻域点的法向量夹角, 根据所有的法向量夹角, 能够对目标的夹角波动情况对目标的边缘区域进行分析,以便于对目标边缘进行检测。

对边缘区域的所述法向量夹角的波动情况进行分析计算, 得到符合预设波动阈值的夹角波动信息, 包括: 获取预设波动阈值, 分析目标边缘区域的所述法向量夹角的波动情况; 在边缘区域的所述夹角波动大于所述预设波动阈值时, 获取对应的夹角波动信息。

具体地, 计算出深度图的所有法向量夹角后, 分析目标的边缘区域法向量夹角的波动情况, 计算出合适的波动阈值使得边缘区域的夹角波动大于预设波动阈值, 从而能够对目标的边缘区域进行识别, 提高目标识别定位的准确度。此外, 通过对边缘区域的法向量夹角的波动情况分析, 避免了对大量样本数据的训练处理, 有利于进行快速的部署, 无需进行算法优化和重新训练, 提高了目标识别效率, 且对算力要求不高,降低了硬件成本和部署难度。

根据目标情况设定对应的预设波动阈值, 分析目标边缘区域的方向量夹角的波动情况, 在边缘区域的夹角波动大于预设波动阈值时,获取对应的夹角波动信息,即可根据夹角波动信息对目标的边缘和背景进行区分, 在目标与背景的灰度值相近时, 提高目标的边缘识别精度,从而提升目标的识别和定位精度。

将所述夹角波动信息转化为二值图, 二值图如图2所示,并采用边缘检测算法对二值图进行边缘检测,得到目标轮廓。

公式为:

得到目标轮廓步骤:

采用边缘检测算法对所述二值图进行边缘检测, 得到目标轮廓, 包括: 采用canny边缘检测算法, 对所述二值图采用soble算子求解水平和竖直方向的一阶导数,公式为:

式中, Gx为水平方向的一阶导数, Gy为竖直方向的一阶导数; 根据所述一阶导数得到横向及纵向边缘检测的图像灰度值,并获取对应的目标轮廓。

具体地, 采用canny边缘检测算法时, 首先通过高斯滤波器去除二值图中的噪声;第二, 计算高斯滤波器的导数, 计算图像像素的梯度, 得到水平方向和竖直方向的幅度; 第三, 考虑垂直于给定边缘方向的任何曲线的一组邻域点, 抑制非最大边缘贡献像素点; 最后, 采用滞后阈值的方法保留高于梯度幅值的像素, 忽略低于低阈值的像素。根据保留的像素, 得到横向及纵向边缘检测的图像灰度值,并根据横向及纵向边缘检测的图像灰度值,获取对应的目标轮廓, 如图3所示,实现对目标轮廓的精准提取。

输出目标的位置坐标:

根据所述目标轮廓画出所述目标的边界框,如图4所示, 输出目标的位置坐标, 包括: 在所述目标轮廓中遍历得到目标最左上角点和最右下角点的像素坐标;根据所述最左上角点和最右下角点的像素坐标, 绘制得到目标的边界框; 根据所述边界框输出目标的位置坐标。

优点

相比于现有技术, 本发明的优点及有益效果在于: 通过获取双目结构光3D相机传输的目标的深度图, 深度图包括有目标所有像素点的深度信息, 根据法向量估计法计算深度图的法向量, 并根据得到的法向量计算邻域法向量夹角, 对边缘区域的法向量夹角波动情况进行分析计算, 得到符合预设波动阈值的夹角波动信息,以便于对背景和目标轮廓进行区分, 将获取的夹角波动信息转化为二值图, 并采用边缘检测算法对二值图进行边缘检测, 得到目标轮廓, 从而实现目标轮廓的精准识别, 并根据目标轮廓得到目标的边界框, 输出得到目标的位置坐标,实现了对目标的精准识别和定位, 鲁棒性高, 且无需进行大量训练样本的计算,便于进行快速部署,提高了目标识别的效率。

图2为一个实施例中目标的二值图;

图3为一个实施例中目标的目标轮廓示意图;

图4为一个实施例中目标的边界框示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值