本发明涉及双目立体视觉,具体涉及一种双目视觉立体匹配中遮挡像素的检测方法和装置。
背景技术:
1、双目立体视觉(binocular stereo vision)是计算机视觉的一种重要形式,它通过模拟人的双眼来处理现实世界的信息,基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算两幅图像对应点间的位置偏差,来获取物体的三维几何信息。
2、在双目视觉技术中,一个关键问题是要寻找在左右图像中的对应点,即立体匹配,以得到两幅图像中的对应像素的水平位置差,也称为视差,从而获得视差场;根据视差可直接计算出各个像素的深度,从而获得深度场;通常视差与深度是一一对应的。一般来说,双目视觉的立体匹配包括匹配代价计算、代价聚合、视差计算等步骤。
3、由于拍摄角度的不同,在有些场景中,部分物体只能被双目相机的其中一个相机拍摄到,而在另外一个相机中则被遮挡,无法在该相机中成像,这就导致了遮挡像素的存在,也就是左右图像中,部分像素点无法在另一个图像中找到对应点。遮挡像素是立体匹配的视差/深度估计当中令人非常困扰的一个问题,这是因为被遮挡的物体只存在于左右图像当中的其中一幅图像中,而在另外一幅图像中它是不可见的。因此,难以通过匹配的方法来估计遮挡像素的视差/深度,只能通过周边像素的视差/深度来预测。因此,为了更好地估计到遮挡像素的视差/深度,就需要先检测出遮挡像素。
技术实现思路
1、本发明主要解决的技术问题是如何检测双目视觉的立体匹配过程中的遮挡像素。
2、根据第一方面,一种实施例中提供一种双目视觉立体匹配中遮挡像素的检测方法,包括:
3、获取双目相机拍摄的左图像和右图像;
4、以所述左图像或所述右图像为基准进行立体匹配,得到视差图;
5、将所述视差图输入预设的遮挡检测模型以得到所述视差图的遮挡范围,所述遮挡范围表示所述视差图中可能存在遮挡像素的范围;
6、计算所述视差图中各像素点的匹配置信度,所述匹配置信度用于表征匹配的准确度;
7、根据所述遮挡范围、所述视差图中各像素点的视差值和匹配置信度,确定所述视差图中的遮挡像素。
8、一些实施例中,所述根据所述遮挡范围、所述视差图中各像素点的视差值和匹配置信度,确定所述视差图中的遮挡像素,包括:
9、对于所述视差图中的每一行,查找该行中的高置信度像素点,所述高置信度像素点指匹配置信度大于或等于预设的第一置信度阈值的像素点;
10、对于所述视差图的每一行中的任意两个相邻的高置信度像素点,根据这两个高置信度像素点的视差值的差异,以及位于这两个高置信度像素点之间的像素点的匹配置信度,判断位于这两个高置信度像素点之间的像素点是否为候选遮挡像素;
11、对于每个所述候选遮挡像素,若其位于所述遮挡范围内,则将其确定为所述视差图中的遮挡像素。
12、一些实施例中,所述对于所述视差图的每一行中的任意两个相邻的高置信度像素点,根据这两个高置信度像素点的视差值的差异,以及位于这两个高置信度像素点之间的像素点的匹配置信度,判断位于这两个高置信度像素点之间的像素点是否为候选遮挡像素,包括:
13、若所述视差图是以所述左图像为基准进行立体匹配得到的,则对于所述视差图的每一行中的任意两个相邻的高置信度像素点,若位于右侧的高置信度像素点的视差值大于位于左侧的高置信度像素点的视差值,且位于右侧的高置信度像素点的视差值与位于左侧的高置信度像素点的视差值的差大于预设的第一差值阈值,且位于这两个高置信度像素点之间的像素点的匹配置信度小于或等于预设的第二置信度阈值,则将位于这两个高置信度像素点之间的像素点作为候选遮挡像素;
14、若所述视差图是以所述右图像为基准进行立体匹配得到的,则对于所述视差图的每一行中的任意两个相邻的高置信度像素点,若位于左侧的高置信度像素点的视差值大于位于右侧的高置信度像素点的视差值,且位于左侧的高置信度像素点的视差值与位于右侧的高置信度像素点的视差值的差大于预设的第二差值阈值,且位于这两个高置信度像素点之间的像素点的匹配置信度小于或等于预设的第三置信度阈值,则将位于这两个高置信度像素点之间的像素点作为候选遮挡像素;
15、其中,所述第二置信度阈值、所述第三置信度阈值小于或等于所述第一置信度阈值。
16、一些实施例中,所述遮挡检测模型通过采用双目视觉数据集进行统计回归得到;或者,所述遮挡检测模型根据所述双目相机的光学模型构建得到,其中,所述双目相机的光学模型至少根据所述双目相机的基线距离和内外参数确定。
17、一些实施例中,所述双目视觉数据集包括middlebury数据集和kitti数据集。
18、一些实施例中,所述计算所述视差图中各像素点的匹配置信度,包括:通过对所述视差图进行左右一致性检查,计算得到所述视差图中各像素点的匹配置信度。
19、根据第二方面,一种实施例中提供一种双目视觉立体匹配中遮挡像素的检测装置,包括:
20、左右图像获取模块,用于获取双目相机拍摄的左图像和右图像;
21、立体匹配模块,与所述左右图像获取模块连接,用于以所述左图像或所述右图像为基准进行立体匹配,得到视差图;
22、遮挡范围检测模块,与所述立体匹配模块连接,用于将所述视差图输入预设的遮挡检测模型以得到所述视差图的遮挡范围,所述遮挡范围表示所述视差图中可能存在遮挡像素的范围;
23、匹配置信度计算模块,与所述立体匹配模块连接,用于计算所述视差图中各像素点的匹配置信度,所述匹配置信度用于表征匹配的准确度;
24、遮挡像素确定模块,与所述立体匹配模块、所述遮挡范围检测模块和所述匹配置信度计算模块连接,用于根据所述遮挡范围、所述视差图中各像素点的视差值和匹配置信度,确定所述视差图中的遮挡像素。
25、一些实施例中,所述遮挡像素确定模块根据所述遮挡范围、所述视差图中各像素点的视差值和匹配置信度,确定所述视差图中的遮挡像素,包括:
26、对于所述视差图中的每一行,查找该行中的高置信度像素点,所述高置信度像素点指匹配置信度大于或等于预设的第一置信度阈值的像素点;
27、对于所述视差图的每一行中的任意两个相邻的高置信度像素点,根据这两个高置信度像素点的视差值的差异,以及位于这两个高置信度像素点之间的像素点的匹配置信度,判断位于这两个高置信度像素点之间的像素点是否为候选遮挡像素;
28、对于每个所述候选遮挡像素,若其位于所述遮挡范围内,则将其确定为所述视差图中的遮挡像素。
29、一些实施例中,所述遮挡像素确定模块对所述视差图的每一行中的任意两个相邻的高置信度像素点,根据这两个高置信度像素点的视差值的差异,以及位于这两个高置信度像素点之间的像素点的匹配置信度,判断位于这两个高置信度像素点之间的像素点是否为候选遮挡像素,包括:
30、若所述视差图是以所述左图像为基准进行立体匹配得到的,则对于所述视差图的每一行中的任意两个相邻的高置信度像素点,若位于右侧的高置信度像素点的视差值大于位于左侧的高置信度像素点的视差值,且位于右侧的高置信度像素点的视差值与位于左侧的高置信度像素点的视差值的差大于预设的第一差值阈值,且位于这两个高置信度像素点之间的像素点的匹配置信度小于或等于预设的第二置信度阈值,则将位于这两个高置信度像素点之间的像素点作为候选遮挡像素;
31、若所述视差图是以所述右图像为基准进行立体匹配得到的,则对于所述视差图的每一行中的任意两个相邻的高置信度像素点,若位于左侧的高置信度像素点的视差值大于位于右侧的高置信度像素点的视差值,且位于左侧的高置信度像素点的视差值与位于右侧的高置信度像素点的视差值的差大于预设的第二差值阈值,且位于这两个高置信度像素点之间的像素点的匹配置信度小于或等于预设的第三置信度阈值,则将位于这两个高置信度像素点之间的像素点作为候选遮挡像素;
32、其中,所述第二置信度阈值、所述第三置信度阈值小于或等于所述第一置信度阈值。
33、根据第三方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述任一实施例的检测方法。
34、依据上述实施例的双目视觉立体匹配中边缘像素的检测方法/装置,首先获取双目相机拍摄的左图像和右图像,以左图像或右图像为基准进行立体匹配得到视差图,计算视差图中各像素点的匹配置信度,并利用预设的遮挡检测模型得到视差图的遮挡范围,之后根据遮挡范围、视差图中各像素点的视差值和匹配置信度,确定视差图中的遮挡像素。本发明通过构建遮挡检测模型预测视差图中大致的遮挡范围,并且考虑到遮挡像素的匹配置信度较低、被遮挡的区域两边的视差值存在跳变,综合利用遮挡检测模型预测的遮挡范围、视差图中各像素点的视差值和匹配置信度来确定遮挡像素,能够准确、有效地检测出遮挡像素,方便后续对遮挡像素的视差/深度进行估计。