双目立体视觉系统及深度测量方法技术方案

技术编号:14876650 阅读:99 留言:0更新日期:2017-03-24 00:04
本发明专利技术属于3D传感测量技术领域,提供了一种双目立体视觉系统及深度测量方法。本发明专利技术的用于双目立体视觉系统的深度测量方法包括:产生同步触发信号,发送给左图像采集单元和右图像采集单元;采用FPGA的流水和并行设计,对左图像采集单元和右图像采集单元输出的像素点进行畸变与立体矫正处理、立体匹配后得到左图与右图匹配对应的像素点的视差,最后根据视差得到像素点对应的真实物理深度。本发明专利技术提供的双目立体视觉系统及深度测量方法,选用了FPGA平台实现,集成度高、处理速度快,满足了实时性的要求,将双目立体视觉技术带到可商用的级别。

【技术实现步骤摘要】

本专利技术涉及3D传感测量
,具体涉及一种双目立体视觉系统及深度测量方法
技术介绍
双目立体视觉是计算机视觉的一个重要分支,即由不同位置的两台或者一台摄像机(CCD/CMOS)经过移动或旋转拍摄同一幅场景,通过计算空间点在两幅图像中的视差,获得该点的三维坐标值。测量方式目前主要分为主动3D测量和被动3D测量。目前主动3D测量主要原理为通过光学系统打出有结构编码的光,通过成像通过解码获取三维结构,另外一种TOF主要通过测量发送的光束与返回光束之间的相位差进行距离测量。主动式的3D测量主要应用场景为室内的体感交互或是室内机器人。在室外因为阳光导致环境光中含有大量红外光,导致无法产生有效的测量。因此被动式的双目立体系统是比较合适的选择,并且也可以扩展到室内使用。关于双目立体视觉的研究已经很多年了,学术界提出了很多种算法,也取得了不错的结果,但目前存在的最大的问题是:还没有很好的平台能承载算法的实时性运算需求,通常能取得比较好效果的算法运算量更加大。目前的双目立体视觉系统的常见方案分为两种:其一为双目+高性能PC方式;其二为双目+高性能GPU方式。采用上述方案的主要原因在于被动式双目立体视觉涉及到的算法复杂度很高,因此需要很强劲的运算单元。选用以上的运算系统有以下几个缺点:成本高,难以小型化,运算单元的动态负载使得实时性有限,很难保证一致的实时性。
技术实现思路
针对现有技术中的缺陷,本专利技术提供的双目立体视觉系统及深度测量方法,选用了FPGA平台实现,集成度高、处理速度快,满足了实时性的要求,将双目立体视觉技术带到可商用的级别。第一方面,本专利技术提供的一种用于双目立体视觉系统的深度测量方法,包括:产生同步触发信号,并将所述同步触发信号发送给左图像采集单元和右图像采集单元;获取所述左图像采集单元和所述右图像采集单元输出的像素点,分别顺序输入第一双端口RAM和第二双端口RAM;读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,同时,读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM;读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差;根据所述视差得到像素点对应的真实物理深度。本专利技术提供的用于双目立体视觉系统的深度测量方法,选用了FPGA平台实现,将图像采集预处理、矫正以及处理核输出均集成进去,使用FPGA的并发性以及流水线设计,提高了整个处理流程的速率,满足了实时性的要求,目前已达到的帧率为720p@30fps,480p@120fps,并在提升FPGA资源的情况下能达到更高的性能参数。相比采用专用的GPU芯片的实现方式,本实施例的方案在性能和成本上均达到消费级可用的级别。优选地,所述读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,包括:根据预先标定的内参数和畸变参数计算第一校正坐标在左图中对应的第一原图坐标;从所述第一双端口RAM中读取与所述第一原图坐标相邻的像素点的像素值;根据读取的像素值和所述第一原图坐标的小数点分量进行双线性插值,得到所述第一校正坐标的像素值,并输入第三双端口RAM;所述读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM,包括:根据预先标定的内参数和畸变参数计算第二校正坐标在右图中对应的第二原图坐标;从所述第二双端口RAM中读取与所述第二原图坐标相邻的像素点的像素值;根据读取的像素值和所述第二原图坐标的小数点分量进行双线性插值,得到所述第二校正坐标的像素值,并输入第四双端口RAM。优选地,所述根据读取的像素值和所述第一原图坐标的小数点分量进行双线性插值,得到所述第一校正坐标的像素值,包括:根据读取的像素值和所述第一原图坐标的小数点分量,采用定点计算完成双线性差值,得到所述第一校正坐标的像素值;所述根据读取的像素值和所述第二原图坐标的小数点分量进行双线性插值,得到所述第二校正坐标的像素值,包括:根据读取的像素值和所述第二原图坐标的小数点分量,采用定点计算完成双线性差值,得到所述第二校正坐标的像素值。优选地,所述读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差,包括:读取所述第三双端口RAM中的像素点,使用设定的卷积核对左图图像进行卷积运算,得到左图中像素点的梯度信息,同时,读取所述第四双端口RAM中的像素点,使用设定的卷积核对右图图像进行卷积运算,得到右图中像素点的梯度信息;根据左图像素点的梯度信息和右图像素点的梯度信息,在右图中找到与左图像素点匹配的像素点作为第一匹配代价结果,根据左图像素点和右图的第一匹配代价结果得到左图视差;同时,根据左图像素点的梯度信息和右图图像素点的梯度信息,在左图中找到与右图像素点匹配的像素点作为第二匹配代价结果,根据右图像素和左图的第二匹配代价结果得到右图视差;选择所述左图视差和所述右图视差中的一个作为视差输出。优选地,所述卷积核为sobel梯度算子。优选地,所述根据左图像素点的梯度信息和右图像素点的梯度信息,在右图中找到与左图像素点匹配的像素点作为第一匹配代价结果,包括:计算左图像素点的度信息与右图中聚合窗内所有像素点的梯度信息的SAD值,选取SAD值最小的像素点作为第一匹配代价结果;所述根据左图像素点的梯度信息和右图图像素点的梯度信息,在左图中找到与右图像素点匹配的像素点作为第二匹配代价结果,包括:计算右图像素点的梯度信息与左图中聚合窗内所有像素点的梯度信息的SAD值,选取SAD值最小的像素点作为第二匹配代价结果。优选地,所述根据所述视差得到像素点对应的真实物理深度,包括:根据标定参数中的焦距和基线以及所述视差,使用FPGA中的DSP资源进行浮点运算,得到像素点对应的真实物理深度。第二方面,本专利技术提供的一种双目立体视觉系统,包括:左图像采集单元、右图像采集单元、处理单元、数据输出接口;所述左图像采集单元、所述右图像采集单元、所述数据输出接口分别与所述处理单元连接;所述左图采集单元包括第一镜头和第一图像传感器;所述右图采集单元包括第二镜头和第二图像传感器;所述处理单元包括:双目同步模块、数据采集模块、畸变与立体矫正模块、立体匹配模块、深度计算模块和输出接口模块;所述双目同步模块用于产生同步触发信号,并将所述同步触发信号发送给左图像采集单元和右图像采集单元;所述数据采集模块用于获取所述左图像采集单元和所述右图像采集单元输出的像素点,分别顺序输入第一双端口RAM和第二双端口RAM;所述畸变与立体矫正模块用于读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,同时,读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM;所述立体匹配模块用于读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差;所述深度计算模块用于根据所述视差得到像素点对应的真实物理深度;所述输出接口模块用于选择输本文档来自技高网...
双目立体视觉系统及深度测量方法

【技术保护点】
一种用于双目立体视觉系统的深度测量方法,其特征在于,包括:产生同步触发信号,并将所述同步触发信号发送给左图像采集单元和右图像采集单元;获取所述左图像采集单元和所述右图像采集单元输出的像素点,分别顺序输入第一双端口RAM和第二双端口RAM;读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,同时,读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM;读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差;根据所述视差得到像素点对应的真实物理深度。

【技术特征摘要】
1.一种用于双目立体视觉系统的深度测量方法,其特征在于,包括:产生同步触发信号,并将所述同步触发信号发送给左图像采集单元和右图像采集单元;获取所述左图像采集单元和所述右图像采集单元输出的像素点,分别顺序输入第一双端口RAM和第二双端口RAM;读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,同时,读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM;读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差;根据所述视差得到像素点对应的真实物理深度。2.根据权利要求1所述的方法,其特征在于,所述读取所述第一双端口RAM中的像素点进行畸变与立体矫正处理,得到第一校正坐标的像素值输入第三双端口RAM,包括:根据预先标定的内参数和畸变参数计算第一校正坐标在左图中对应的第一原图坐标;从所述第一双端口RAM中读取与所述第一原图坐标相邻的像素点的像素值;根据读取的像素值和所述第一原图坐标的小数点分量进行双线性插值,得到所述第一校正坐标的像素值,并输入第三双端口RAM;所述读取所述第二双端口RAM中的像素点进行畸变与立体矫正处理,得到第二校正坐标的像素值输入第四双端口RAM,包括:根据预先标定的内参数和畸变参数计算第二校正坐标在右图中对应的第二原图坐标;从所述第二双端口RAM中读取与所述第二原图坐标相邻的像素点的像素值;根据读取的像素值和所述第二原图坐标的小数点分量进行双线性插值,得到所述第二校正坐标的像素值,并输入第四双端口RAM。3.根据权利要求2所述的方法,其特征在于,所述根据读取的像素值和所述第一原图坐标的小数点分量进行双线性插值,得到所述第一校正坐标的像素值,包括:根据读取的像素值和所述第一原图坐标的小数点分量,采用定点计算完成双线性差值,得到所述第一校正坐标的像素值;所述根据读取的像素值和所述第二原图坐标的小数点分量进行双线性插值,得到所述第二校正坐标的像素值,包括:根据读取的像素值和所述第二原图坐标的小数点分量,采用定点计算完成双线性差值,得到所述第二校正坐标的像素值。4.根据权利要求1所述的方法,其特征在于,所述读取所述第三双端口RAM和所述第四双端口RAM中的像素点进行立体匹配,得到左图与右图匹配对应的像素点的视差,包括:读取所述第三双端口RAM中的像素点,使用设定的卷积核对左图图像进行卷积运算,得到左图中像素点的梯度信息,同时,读取所述第四双端口RAM中的像素点,使用设定的卷积核对右图图像进行卷积运算,得到右图中像素点的梯度信息;根据左图像素点的梯度信息和右图像素点的梯度信息,在右图中找到与左图像素点匹配的像素点作为第一匹配代价结果,根据左图像素点和右图的第一匹配代价结果得到左图视差;同时,根据左图...

【专利技术属性】
技术研发人员:窦仁银叶平李嘉俊
申请(专利权)人:人加智能机器人技术北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1