一种基于立体视觉的目标检测方法及系统与流程

文档序号:20267208发布日期:2020-04-03 18:32阅读:233来源:国知局
一种基于立体视觉的目标检测方法及系统与流程

本发明涉及一种基于立体视觉的目标检测方法及系统,属于图像处理技术领域。



背景技术:

常用的深度学习图像目标检测方法包括faster-rcnn、yolo、ssd等,这些算法对近处较大的目标,有很好的检测效果,但是都存在对远处较小目标的检测不理想的情况,这就会影响到目标检测算法在实际中的应用。



技术实现要素:

本发明所要解决的技术问题是克服现有技术对远处较小目标检测效果不理想的问题,提供一种基于立体视觉的目标检测方法及系统。

为解决上述技术问题,本发明提供一种基于立体视觉的目标检测方法,对立体视觉的一侧视图使用深度学习算法进行目标检测,获取该侧视图的目标区域和类别;

采用基于立体视觉的视差图处理算法获取候选目标区域,对候选目标区域使用深度学习分类模型进行分类,得到立体视觉目标区域和类别;

将所述该侧视图的目标区域和类别与所述立体视觉目标区域和类别进行合并,得到最终目标区域。

进一步的,为了对图像中的较大目标进行检测;

采用深度学习yolov3目标检测算法,对立体视觉的一侧视图进行目标检测,以获得目标区域和类别及类别置信度。

进一步的,为了在局部最优的视差求取方法的基础上,添加正则化约束并通过动态规划思想来提高计算结果平滑性,以达到求解最优视差图的目的;

对立体视觉的该侧视图和位于该侧视图对面的侧视图进行双目标定,利用半全局立体匹配算法对标定后的两侧视图进行立体匹配,得到立体视觉视差图;

获取立体视觉视差图中每个像素点的隶属度数据,对隶属度数据进行二值化处理,以消除孤立的像素,得到消除孤立像素后的隶属度数据二值化图像,对得到的消除孤立像素后的隶属度数据二值化图像通过种子填充算法进行处理,以获取该二值化图像的联通区域,获取每一个联通区域的外接矩形,形成候选目标区域。

进一步的,为了判定候选目标区域的类别及类别置信度;

利用深度学习resnet34模型对候选目标区域进行分类得到立体视觉目标区域和类别及类别置信度。

进一步的,对立体视觉一侧视图的目标检测结果和立体视觉目标检测结果进行融合;

对该侧视图的目标区域和立体视觉目标区域,计算它们之间的交并比;

通过交并比和预先设定的阈值进行比较,若交并比大于阈值则以两个区域的类别置信度较大的区域为最终目标区域,若交并比小于等于阈值的两个区域,则这两个区域都为最终目标区域。

一种基于立体视觉的目标检测系统,包括单侧视图目标区域和类别获取模块、立体视觉目标区域和类别获取模块以及最终目标区域获取模块;

所述单侧视图目标区域和类别获取模块用于对立体视觉的一侧视图使用深度学习算法进行目标检测,获取该侧视图的目标区域和类别及类别置信度;

所述立体视觉目标区域用于采用基于立体视觉的视差图处理算法获取候选目标区域,对候选目标区域使用深度学习分类模型进行分类,得到立体视觉目标区域和类别及类别置信度;

所述最终目标区域获取模块用于将所述该侧视图的目标区域和类别与所述立体视觉目标区域和类别进行合并,得到最终目标区域。

进一步的,所述单侧视图目标区域和类别获取模块包括目标检测模块,用于采用深度学习yolov3目标检测算法进行目标检测,以得到目标区域和类别及类别置信度。

进一步的,所述立体视觉目标区域和类别获取模块包括立体视觉视差图获取模块、候选目标区域获取模块和深度学习resnet34模型处理模块;

所述立体视觉视差图获取模块用于对立体视觉的该侧视图和位于该侧视图对面的侧视图进行双目标定,利用半全局立体匹配算法对标定后的两侧视图进行立体匹配,得到立体视觉视差图;

所述候选目标区域获取模块用于获取立体视觉视差图中每个像素点的隶属度数据,再利用种子填充算法对隶属度数据进行处理获取候选目标区域;

所述深度学习resnet34模型处理模块用于利用深度学习resnet34模型对候选目标区域进行分类得到立体视觉目标区域类别及类别置信度。

进一步的,所述候选目标区域获取模块包括二值化处理模块、形态学开运算处理模块和种子填充算法处理模块;

所述二值化处理模块用于对所述隶属度数据进行二值化处理,得到二值化图像;

所述形态学开运算处理模块用于对二值化图像进行形态学开运算处理,得到消除孤立像素后的隶属度数据二值化图像。

所述种子填充算法处理模块用于对得到的消除孤立像素后的隶属度数据二值化图像通过种子填充算法进行处理,以获取该二值化图像的联通区域,获取每一个联通区域的外接矩形,形成候选目标区域。

进一步的,所述最终目标区域获取模块包括交并比处理模块和最终目标区域判断模块;

所述交并比处理模块用于对该侧视图的目标区域和立体视觉目标区域,计算它们之间的交并比;

所述最终目标区域判断模块用于通过交并比和预先设定的阈值进行比较,若交并比大于阈值则以两个区域的类别置信度较大的区域为最终目标区域,若交并比小于等于阈值的两个区域,则这两个区域都为最终目标区域。

本发明所达到的有益效果:

能够在图像中检测不同远近大小的目标。

附图说明

图1是本发明的数据处理流程图;

图2是yolov3的网络结构;

图3是yolov3检测结果;

图4是立体视觉的左图数据。

图5是立体视觉的右图数据。

图6是立体视觉的视差图;

图7是resnet34的网络结构;

图8是远处较小目标检测结果图;

图9是iou的计算公式示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

在图1中,首先用深度学习yolov3(youonlylookonceversion3,yolov3)目标检测算法,对左图的数据进行处理。图2是yolov3的网络结构。经过yolov3目标检测算法处理之后,能够获得左图的目标区域和类别。图3是利用yolov3,对左图处理之后的结果,其明确标出了目标所在的位置及其类别。

在图1中,对于立体视觉的左图和右图,首先需要进行双目标定,以进行立体匹配。本发明采用半全局立体匹配算法,该算法在局部最优的视差求取方法的基础上,添加正则化约束并通过动态规划思想来提高计算结果平滑性,以达到求解最优视差图的目的。图4是立体视觉的左图,图5是立体视觉的右图,对这两幅图利用半全局立体匹配算法进行立体匹配之后,就得到了如图6所示的立体视觉视差图。

在得到视差图之后,就需要确定视差图上的像素点是否属于一个物体。本发明采用计算隶属度的方式来确定一个像素点是否属于一个物体。对视差图中每一个像素点计算隶属度,当隶属度为正值时表示为物体,当隶属度为负值时表示是背景。隶属度计算的公式如下:

其中:d表示某一像素点的视差值,du表示该像素点所在水平坐标u下的视差值,δdu是一个人为设定的视差阈值参数,本实施例中使用的值是2。

对计算得到的隶属度数据,为了方便进一步的处理,首先对隶属度数据进行二值化处理,正值的像素点置为1,负值则置为0,得到二值化图像,对该图像进行形态学开运算,以消除过小的区域。通过种子填充算法,获取该二值化图像的联通区域,获取每一个联通区域的外接矩形,从而形成了候选目标区域。

对每一个候选目标区域,扣取目标区域的图片,然后利用resnet34进行分类,从而得到每一个候选目标区域的类别,也就是立体视觉目标区域和类别。resnet34(residualneuralnetwork34,残差神经网络34)的网络结构如图7所示。

对每一左图目标区域和立体视觉目标区域,计算它们之间的iou(intersectionoverunion,交并比),iou的计算公式,示意图如图9所示:

图9中intersection表示两个区域的交集,union表示两个区域的并集;

在iou的计算中,若两个区域没有交集,则可将iou置为0。

对于iou大于阈值0.6的两个区域,则可以认为是同一个物体,此时以两个区域的类别置信度较大的区域为最终目标区域;对于小于阈值0.6的两个区域,则认为是两个不同的物体,这两个区域都为最终目标区域。

图8是利用本发明的方法,对远处较小目标的检测结果图。可以看到,对于远处蹲姿的人,可以正确的框取出其位置并正确的判为人,说明本算法对于远处较小目标的检测是有效的。

一种基于立体视觉的目标检测系统,包括单侧视图目标区域和类别获取模块、立体视觉目标区域和类别获取模块以及最终目标区域获取模块;

所述单侧视图目标区域和类别获取模块用于对立体视觉的一侧视图使用深度学习算法进行目标检测,获取该侧视图的目标区域和类别及类别置信度;

所述立体视觉目标区域用于采用基于立体视觉的视差图处理算法获取候选目标区域,对候选目标区域使用深度学习分类模型进行分类,得到立体视觉目标区域和类别及类别置信度;

所述最终目标区域获取模块用于将所述该侧视图的目标区域和类别与所述立体视觉目标区域和类别进行合并,得到最终目标区域。

本实施例中,所述单侧视图目标区域和类别获取模块包括目标检测模块,用于采用深度学习yolov3目标检测算法进行目标检测,以得到目标区域和类别及类别置信度。

本实施例中,所述立体视觉目标区域和类别获取模块包括立体视觉视差图获取模块、候选目标区域获取模块和深度学习resnet34模型处理模块;

所述立体视觉视差图获取模块用于对立体视觉的该侧视图和位于该侧视图对面的侧视图进行双目标定,利用半全局立体匹配算法对标定后的两侧视图进行立体匹配,得到立体视觉视差图;

所述候选目标区域获取模块用于获取立体视觉视差图中每个像素点的隶属度数据,再利用种子填充算法对隶属度数据进行处理获取候选目标区域;

所述深度学习resnet34模型处理模块用于利用深度学习resnet34模型对候选目标区域进行分类得到立体视觉目标区域类别及类别置信度。

本实施例中,所述候选目标区域获取模块包括二值化处理模块、形态学开运算处理模块和种子填充算法处理模块;

所述二值化处理模块用于对所述隶属度数据进行二值化处理,得到二值化图像;

所述形态学开运算处理模块用于对二值化图像进行形态学开运算处理,得到消除孤立像素后的隶属度数据二值化图像。

所述种子填充算法处理模块用于对得到的消除孤立像素后的隶属度数据二值化图像通过种子填充算法进行处理,以获取该二值化图像的联通区域,对每一个联通区域获得其外接矩形,形成候选目标区域。

本实施例中,所述最终目标区域获取模块包括交并比处理模块和最终目标区域判断模块;

所述交并比处理模块用于对该侧视图的目标区域和立体视觉目标区域,计算它们之间的交并比;

所述最终目标区域判断模块用于通过交并比和预先设定的阈值进行比较,若交并比大于阈值则以两个区域的类别置信度较大的区域为最终目标区域,若交并比小于等于阈值的两个区域,则这两个区域都为最终目标区域。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1