双目视觉三维测量的方法及传感器转让专利

申请号 : CN200910236991.2

文献号 : CN101699219B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晓鹏黄强田野李晨

申请人 : 北京理工大学

摘要 :

本发明公开了双目视觉三维测量的方法及传感器,属于计算机视觉技术领域。所述双目视觉三维测量的传感器包括:双目摄像机和控制电路板,所述双目摄像机包括左右两路摄像机;在所述控制电路板中,两路模数转换单元中分别与所述两路摄像机相连,现场可编程逻辑门阵列单元分别与所述两路模数转换单元及数字信号处理单元相连,所述数字信号处理单元与存储单元相连。固化在所述数字信号处理单元的三维测量算法可实现视觉目标的三维坐标计算。本发明能够提高双目视觉三维测量的速度以及避免采用PC机和工控机运行双目视觉三维测量算法带来的体积大、功耗大和价格贵的缺点。

权利要求 :

1.一种双目视觉三维测量的传感器,其特征在于,所述传感器包括:双目摄像机和控制电路板,所述双目摄像机包括左右两摄像机,在所述控制电路板中嵌入包括两路模数转换单元、现场可编程逻辑门阵列单元、数字信号处理单元和存储单元,所述两路模数转换单元中的任一路与左摄像机相连,另一路与右摄像机相连,所述现场可编程逻辑门阵列单元分别与所述两路模数转换单元和所述数字信号处理单元相连,所述数字信号处理单元与所述存储单元相连;

所述左右摄像机,用于对同一物体同时进行采集,得到各自采集的模拟图像信号;

所述两路模数转换单元,用于从所述左右摄像机获取所述模拟图像信号,并将所述模拟图像信号转换成两幅数字图像;

所述现场可编程逻辑门阵列单元,用于从所述两路模数转换单元获取所述两幅数字图像,并对所述两幅数字图像进行滤波,将滤波的两幅数字图像传输给所述数字信号处理单元;

所述存储单元包括非运行时程序和数据闪存空间FLASH、运行时程序和数据随机访问内存空间RAM;

所述FLASH,用于存储双目视觉三维测量算法和双目标定程序;

所述RAM,用于存储所述数字信号处理单元从所述FLASH复制出来的程序,及所述程序在运行时生成的数据;

所述数字信号处理单元,用于从所述FLASH中获取所述双目标定程序,并通过运行所述双目标定程序对所述双目摄像机进行标定,得到所述双目摄像机在世界坐标系下的左摄像机矩阵和所述右摄像机矩阵,从所述现场可编程门阵列单元获取已滤波的两幅数字图像,并从所述存储单元获取双目视觉三维测量算法,根据左摄像机矩阵和右摄像机矩阵,通过运行所述双目视觉三维测量算法对所述两幅图像中的目标进行三维测量。

2.如权利要求1所述的传感器,其特征在于,所述传感器还包括:数字输入/输出单元,与所述数字信号处理单元相连,用于输入外部的开关量。

3.如权利要求1所述的传感器,其特征在于,所述传感器还包括:网络通信单元,与所述数字信号处理单元相连,用于实现所述数字信号处理单元与外网通信。

4.如权利要求1所述的传感器,其特征在于,所述传感器还包括:显示单元,与所述数字信号处理单元相连,用于显示三维测量的结果。

5.如权利要求1所述的传感器,其特征在于,所述传感器还包括:串行通信单元,与所述数字信号处理单元相连,用于实现所述数字信号处理单元与上位机进行通信。

6.一种双目视觉三维测量的方法,其特征在于,所述方法包括:左摄像机和右摄像机分别在同一时刻进行图像采集,得到模拟图像信息;

两路模拟转换单元将所述模拟图像信号转换成数字图像;

现场可编程逻辑门阵列单元分别将所述数字图像分割成方块,对所述方块进行滤波,过滤掉方块中的部分噪音,再将所述滤波后的方块组成两幅滤波后的数字图像;

数字信号处理单元根据左摄像机矩阵和右摄像机矩阵,运行双目视觉三维测量算法对所述滤波后的数字图像中的目标进行三维测量。

7.如权利要求6所述方法,其特征在于,所述数字信号处理单元根据左摄像机矩阵和右摄像机矩阵,运行双目视觉三维测量算法对所述滤波后的数字图像中的目标进行三维测量之前,还包括:所述数字信号处理单元运行标定程序对所述左摄像机和所述右摄像机进行双目标定,得到所述左摄像机矩阵和所述右摄像机矩阵。

说明书 :

双目视觉三维测量的方法及传感器

技术领域

[0001] 本发明涉及计算机视觉技术领域,特别涉及双目视觉三维测量的方法及传感器。

背景技术

[0002] 计算机视觉领域的研究方向之一,就是从摄像机拍摄的二维的图像信息中获取感兴趣的目标或环境的三维信息。通过运行双目视觉三维测量算法对二维图像进行三维测量,可从二维图像中获取目标或环境的三维信息。利用双目视觉三维测量算法获取三维信息已广泛应用于安全监控、交通监控、虚拟现实、机器人自主导航等领域。其中,目前都是通过PC机或工控器来运行双目视觉三维测量算法,对摄像机拍摄的二维图像进行三维测量,获得目标或环境的三维信息。
[0003] 在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0004] PC机需要操作系统支持,因此,在运行双目视觉三维测量算法时,操作系统需要占用一定量的资源,使得三维测量的速度难于满足需求,另外,PC机或工控机又具有体积大、功耗大,价格相对较贵的缺点。

发明内容

[0005] 为了能够提高三维测量的速度以及避免采用PC机和工控机运行双目视觉三维测量算法带来的体积大、功耗大和价格贵的缺点,本发明实施例提供了一种双目视觉三维测量的方法及传感器。所述技术方案如下:
[0006] 一种双目视觉三维测量的传感器,所述传感器包括:
[0007] 双目摄像机和控制电路板,所述双目摄像机包括左右两摄像机,在所述控制电路板中嵌入包括两路模数转换单元、现场可编程逻辑门阵列单元、数字信号处理单元和存储单元,所述两路模数转换单元中的任一路与左摄像机相连,另一路与右摄像机相连,所述现场可编程逻辑门阵列单元分别与所述两路模数转换单元和所述数字信号处理单元相连,所述数字信号处理单元与所述存储单元相连;
[0008] 所述左右摄像机,用于对同一物体同时进行采集,得到各自采集的模拟图像信号;
[0009] 所述两路模数转换单元,用于从所述左右摄像机获取所述模拟图像信号,并将所述模拟图像信号转换成两幅数字图像;
[0010] 所述现场可编程逻辑门阵列单元,用于从所述两路模数转换单元获取所述两幅数字图像,并对所述两幅数字图像进行滤波,将滤波的两幅数字图像传输给所述数字信号处理单元;
[0011] 所述存储单元包括非运行时程序和数据闪存空间FLASH、运行时程序和数据随机访问内存间RAM;
[0012] 所述FLASH,用于存储双目视觉三维测量算法和双目标定程序;
[0013] 所述RAM,用于存储所述数字信号处理单元从所述FLASH复制出来的程序,及所述程序在运行时生成的数据;
[0014] 所述数字信号处理单元,用于从所述FLASH中获取所述双目标定程序,并通过运行所述双目标定程序对所述双目摄像机进行标定,得到所述双目摄像机在世界坐标系下的左摄像机矩阵和所述右摄像机矩阵,从所述现场可编程门阵列单元获取已滤波的两幅数字图像,并从所述存储单元获取双目视觉三维测量算法,根据左摄像机矩阵和右摄像机矩阵,通过运行所述双目视觉三维测量算法对所述两幅图像中的目标进行三维测量。
[0015] 所述传感器还包括:数字输入/输出单元,与所述数字信号处理单元相连,用于输入外部的开关量。
[0016] 所述传感器还包括:
[0017] 网络通信单元,与所述数字信号处理单元相连,用于实现所述数字信号处理单元与外网通信。
[0018] 所述传感器还包括:
[0019] 显示单元,与所述数字信号处理单元相连,用于显示三维测量的结果。
[0020] 所述传感器还包括:
[0021] 串行通信单元,与所述数字信号处理单元相连,用于实现所述数字信号处理单元与上位机进行通信。
[0022] 一种双目视觉三维测量的方法,所述方法包括:
[0023] 左摄像机和右摄像机分别在同一时刻进行图像采集,得到模拟图像信息;
[0024] 两路模拟转换单元将所述模拟图像信号转换成数字图像;
[0025] 现场可编程逻辑门阵列单元分别将所述数字图像分割成方块,对所述方块进行滤波,过滤掉方块中的部分噪音,再将所述滤波后的方块组成两幅滤波后的数字图像;
[0026] 数字信号处理单元根据左摄像机矩阵和右摄像机矩阵,运行双目视觉三维测量算法对所述滤波后的数字图像中的目标进行三维测量。
[0027] 所述数字信号处理单元根据左摄像机矩阵和右摄像机矩阵,运行双目视觉三维测量算法对所述滤波后的数字图像中的目标进行三维测量之前,还包括:
[0028] 所述数字信号处理单元运行标定程序对所述左摄像机和所述右摄像机进行双目标定,得到所述左摄像机矩阵和所述右摄像机矩阵。
[0029] 通过将两路模数转换单元、现场可编程逻辑门阵列单元、数字信号处理单元和存储单元都嵌入在控制电路板中,使得双目视觉传感器的体积变得很小,降低了功耗和价格;数字信号处理单元计算能力强大,不需要操作系统的支持,可直接运行双目视觉三维测量算法,提高了三维测量的速度。

附图说明

[0030] 图1是本发明实施例1提供的一种双目视觉传感器结构示意图;
[0031] 图2是本发明实施例1提供的一种两路模数转换单元与双目摄像机的连接示意图;
[0032] 图3是本发明实施例1提供的一种现场可编程逻辑门阵列单元示意图;
[0033] 图4是本发明实施例1提供的数字信号处理单元、网络通信单元和显示单元之间的连接示意图;
[0034] 图5是本发明实施例1提供的一种FLASH空间示意图;
[0035] 图6是本发明实施例1提供的一种RAM空间示意图;
[0036] 图7是本发明实施例1提供的一种串行通信单元示意图;
[0037] 图8是本发明实施例2提供的一种双目视觉三维测量的方法流程图;
[0038] 图9是本发明实施例2提供的方形物体A的示意图;
[0039] 图10是本发明实施例2提供的采集的左右两幅图像示意图;
[0040] 图11是本发明实施例3提供的一种标定的方法流程图;
[0041] 图12是本发明实施例3提供的一种标定板示意图。

具体实施方式

[0042] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0043] 实施例1
[0044] 如图1所示,本发明实施例提供了一种双目视觉传感器,包括双目摄像机1和控制电路板2两部分:
[0045] 双目摄像机1与控制电路板2相连,双目摄像机1对同一物体进行拍摄,得到两幅图像。控制电路板2从双目摄像机1获取图像,并对获取的图像进行三维测量,还能够根据获取的图像对双目摄像机1进行标定。
[0046] 其中,双目摄像机1包括左摄像机11和右摄像机12,且左摄像机11和右摄像机12同时对同一物体进行拍摄,其中,左摄像机11和右摄像机12各自拍摄到模拟图像信号。
[0047] 其中,在控制电路板2内嵌入模数转换单元21、模数转换单元22、现场可编程逻辑门阵列单元23、数字信号处理单元24和存储单元25。模数转换单元21与双目摄像机1包括的左摄像机11相连,模数转换单元22与双目摄像机1包括的右摄像机12相连,且模数转换单元21和22都与现场可编程逻辑门阵列单元23相连,现场可编程逻辑门阵列单元23与数字信号处理单元24相连,数字信号处理单元24再与存储单元25相连。
[0048] 模数转换单元21和模数转换单元22分别从左摄像机11和右摄像机12中获取模拟图像信号,将各自获取的模拟图像信号转换成两幅数字图像。
[0049] 现场可编程逻辑门阵列单元23从模数转换单元21和模数转换单元22中获取两幅数字图像,运行自身的图像预处理程序对两幅数字图像进行滤波,过滤掉两幅数字图像中的部分噪音,将过滤的两幅数字图像传输给数字信号处理单元24。
[0050] 数字信号处理单元24接收过滤的两幅数字图像,从存储单元25中获取双目视觉三维测量算法,根据左摄像机矩阵和右摄像矩阵,运行获取的双目视觉三维测量算法对两幅图像中的目标进行三维测量。
[0051] 存储单元25用于存储双目视觉三维测量算法、系统配置信息、由数字信号处理单元24运行程序时生成的数据。
[0052] 进一步地,控制电路板2还包括数字输入/输出单元26,其中,数字输入/输出单元26与数字信号处理单元24相连,用于输入外部的开关量。通过数字输入/输出单元可以与外部进行开关量的数据通信。
[0053] 进一步地,控制电路板2还包括网络通信单元27,其中,网络通信单元27与数字信号处理单元24相连,用于与外网通信,可以使双目传感器与外网进行数据交互。
[0054] 进一步地,控制电路板2还包括显示单元28,其中,显示单元28与数字信号处理单元24相连,用于显示采集的图像、工作状态、标定的结果和三维测量的结果。
[0055] 进一步地,控制电路板2还包括串行通信单元29,其中,串行通信单元29与数字信号处理单元相连,用于与上位机通信,使双目视觉传感器与上位机进行数据交互。
[0056] 进一步地,存储单元25,还用于存储标定程序;
[0057] 相应地,数字信号处理单元24,还用于从存储单元25获取标定程序,通过运行标定程序对双目摄像机1进行标定,得到左摄像机矩阵和右摄像机矩阵。
[0058] 如图2所示为双目摄像机1与模数转换单元21和模数转换单元22的连接关系图。模数转换单元21和模数转换单元22分别与双目摄像机1的左摄像机11和右摄像机12相连。
[0059] 模数转换单元21从左摄像机11获取PAL/NTSC(Phase Alternating Line/National Television System Committee,逐行倒像正交平衡调幅制/正交平衡调幅制)制式的模拟图像信号,并将该模拟图像信号转换成数字图像。模数转换单元21在视频控制时钟线F_VP0C[0:3]中的时钟信号的作用下,通过视频数据线F_VP0D[0:9]将数字图像传输给现场可编程逻辑门阵列单元23,其中,视频控制时钟线F_VP0C[0:3]的时钟信号由现场可编程逻辑门阵列单元23提供。
[0060] 模数转换单元22从右摄像机12获取PAL/NTSC制式的模拟图像信号,并将该模拟图像信号转换成数字图像。模数转换单元22在视频控制时钟线F_VP1C[0:3]中的时钟信号的作用下,通过视频数据线F_VP1D[0:9]将数字图像传输给现场可编程逻辑门阵列单元23,其中,视频控制时钟线F_VP1C[0:3]的时钟信号由现场可编程逻辑门阵列单元23提供。
[0061] 其中,模数转换单元包括模数转换芯片或图像解码芯片等,且模数转换单元21和22都需要电源供电和晶振提供时钟,电源可提供1.8v和3.3v两种电压。
[0062] 如图3所示为本实施例提供的控制电路板2中的现场可编程逻辑门阵列单元23示意图。现场可编程逻辑门阵列单元23包括在线下载jtag2接口、在线仿真jtag1接口、门阵列配置闪存E2PROM、高速信号处理单元配置闪存E2PROM、四路数字输出接口FPGA_OUT[1:4]和四路数字输入接口FPGA_IN[1:4]。
[0063] 其中,在线下载jtag2接口,用于下载图像预处理程序,并将程序烧写到门阵列配置闪存E2PROM,其中,该门阵列配置闪存E2PROM在断电的情况下能够保存图像预处理程序。
[0064] 在线仿真jtag1接口,用于对图像预处理程序进行在线调试。
[0065] 现场可编程门阵列配置闪存E2PROM,用于存储在线下载jiag2接口下载的图像预处理程序。
[0066] 高速信号处理单元配置闪存E2PROM,用于存储系统配置信息。
[0067] 现场可编程逻辑门阵列单元23通过视频控制时钟线F_VP0C[0:3]和视频数据线F_VP0D[0:9]从模数转换单元21中获取数字图像,通过视频控制时钟线F_VP1C[0:3]和视频数据线F_VP1D[0:9]从模数转换单元22中获取数字图像,从门阵列配置闪存E2PROM中读取图像预处理程序对获取的两幅数字图像进行滤波,过滤掉部分噪音,再通过视频控制线VP0C[0:4]和VP0C[0:4]和视频数据线VP0D[0:9]和VP0D[0:9]将滤波后的两幅数字图像传输给数字信号处理单元24。
[0068] 现场可编程逻辑门阵列单元23通过运行图像预处理程序对两幅数字图像进行滤波的具体过程为:由于对两幅数字图像进行处理的处理过程相同,为了便于说明,只针对其中的一幅数字图像的处理过程进行说明,其处理过程具体为:从将该数字图像分割成数个方块,通过FPGA(Field Programmable Gate Array,现场可编程门阵列)硬件编程产生对应数量的CPU(Central Processing Unit,中央处理小单元),并行地对每个方块进行滤波,过滤掉方块中的部分噪音,将过滤的方块组装成滤波后的图像,其中,另一幅数字图像也按上述同样的方法进行滤波,且现场可编程逻辑门阵列单元23是同时对两幅数字图像进行滤波。
[0069] 其中,现场可编程逻辑门阵列单元23过滤掉两幅数字图像中的部分噪音,可以分担高速数字信号处理单元24的部分工作,提高双目视觉三维测量传感器进行三维测量的速度。
[0070] 现场可编程门阵列单元23内的数据还可通过数据总线AED[0:31],地址总线AEA[3:22],字节选通总线ABE[0:3]被数字信号处理单元24访问。
[0071] 现场可编程门阵列单元23配置了四路数字输出接口FPGA_OUT[1:4]和四路数字输入接口FPGA_IN[1:4],用于实现现场可编程门阵列单元23与外部设备的开关量数据交互,然后经数据总线AED[0:31]、地址总线AEA[3:22]和字节选通总线ABE[0:3]被数字信号处理单元24访问。
[0072] 现场可编程门阵列单元23需要电源供电和晶振提供时钟。
[0073] 图4为本发明实施例提供的控制电路板2中的数字信号处理单元24、网络通信单元27、显示单元28的连接示意图。
[0074] 数字信号处理单元24包括三个视频口分别为0视频口、1视频口和2视频口,在线下载和仿真接口jtag,通用IO口GP0[4:15]。
[0075] 其中,在线下载和仿真接口jtag,用于下载标定程序和双目视觉三维测量算法,并对下载的程序进行在线调试。
[0076] 0视频口通过视频控制信号线VP0C[0:4]及视频数据线VP0D[0:9]与现场可编程门阵列单元23相连,用于传输一幅滤波后的数字图像。
[0077] 1视频口通过视频控制信号线VP1C[0:4]及视频数据线VP1D[0:9]与现场可编程门阵列单元23相连,用于传输另一幅滤波后的数字图像。
[0078] 2视频口通过视频控制信号线VP2C[0:4]及视频数据线VP2D[0:9]与显示单元28相连,用于将数字信号处理单元24产生的结果显示出来。
[0079] 通用IO口GP0[4:15],在FPGA中进行译码产生片选信号。图4中,在晶振提供时钟,电源提供工作所需的3.3V和1.4V电压作用下,数字信号处理单元24通过地址总线AEA[3:22]、数据总线AED[0:63]、字节使能总线ABE[0:7]以及通用IO口GP0[4:15]访问片外的外设资源,例如现场可编程逻辑门阵列单元24,存储单元28和串行通信单元29。其中,电源电压被看门狗监控,一旦电源出现异常或上电时,看门狗将出发复位引脚,使数字信号处理单元24进入复位状态,直到电源恢复正常。
[0080] 数字信号处理单元24通过网络数据控制线与网络通信单元27相连,从而能够实现与外部的网络通信。
[0081] 网络通信单元27包括网络物理接口芯片和RJ45接头,用于实现高速数字信号处理单元24与外部的网络通信,网络层通信协议是TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)。
[0082] 显示单元28包括视频编码芯片和VGA接口。视频编码芯片通过视频控制线VP2C[0:4]和视频数据线VP2D[0:9]与数字信号处理单元24的2视频口相连,用于把处理图像结果转换成模拟图像信号,并通过VGA接口显示。
[0083] 另外,数字信号处理单元还需要片外的存储单元25。存储单元25包括FLASH(非运行时程序和数据的闪存空间),RAM(运行时程序和数据的随机访问内存空间)。
[0084] 如图5所示的为本实施例提供的FLASH的结构示意图。图5中的闪存容量为32Mb容量,通过8位数据线AED[0:7]、地址总线AEA[3:22]、片选信号CE1与数字信号处理单元24相连。其中,FLASH,用于存储双目视觉三维测量算法和标定程序。
[0085] 如图6所示的为本实施例提供的RAM的结构示意图。图6中的RAM容量由两个16MB的RAM1和RAM2组成32MB,通过64位数据线AED[0:63],地址总线AEA[3:22],片选信号CE0,及字节使能信号ABE[0:7]与数字信号处理单元24相连。RAM类型为SDRAM,所需时钟由数字信号处理单元24提供。
[0086] 另外,数字信号处理单元24还与串行通信单元29相连。如图7为本实施例提供的串行通信单元29的结构示意图。串行通信单元29通过地址总线AEA[3:5]和地址总数AEA[0:7]与数字信号处理单元通信。串行通信单元29采用并转串接口芯片实现并串转换,转换后的TTL电平的串行信号通过两个485/322物理接口芯片转换成RS485/RS232格式电平,实现串行通信。现场可编程逻辑门阵列单元23的串口片选信号与串行通信单元29的串口片选相连,用于选通串行通信单元29.串行通信单元29的串口中断与现场可编程逻辑门阵列单元23的串口中断信号相连,将串行通信的中断信号传送给现场可编程门阵列单元23。
[0087] 在本发明实施例中,将模数转换单元21和22、现场可编程逻辑门阵列单元23、数字信号处理单元24和存储单元25都嵌入在控制电路板2中,使得双目视觉传感器的体积变得很小,降低了功耗和价格;数字信号处理单元24计算能力强大,不需要操作系统的支持,可直接运行双目视觉三维测量算法,提高了三维测量的速度;采用现场可编程逻辑门阵列单元23对图像进行并行滤波,进一步提高三维测量的速度。
[0088] 实施例2
[0089] 如图8所示,基于实施例1提供的双目视觉三维测量的传感器,本发明实施例提供了一种双目视觉三维测量的方法,包括:
[0090] 步骤101:双目摄像机1对同一物体进行左右采集得到两路模拟图像信号;
[0091] 具体地,双目摄像机1包括的左摄像机11和右摄像机12同时对同一物体进行采集,得到各自的模拟图像信号。
[0092] 例如,利用双目摄像机1包括的左摄像机11和右摄像机12同时对如图9所示的方形物体A进行采集,得到两路模拟图像信号S1和S2。
[0093] 步骤102:控制电路板2中的模数转换单元21和22分别从左摄像机11和右摄像机12中获取两路模拟图像信号,并分别将各自获取的模拟图像信号转换成两幅数字图像,传输给现场可编程逻辑门阵列单元23;
[0094] 其中,模数转换单元21在视频控制时钟线F_VP0C[0:3]中的时钟信号的作用下,通过视频数据线F_VP0D[0:9]将数字图像传输给现场可编程逻辑门阵列单元23,其中,视频控制时钟线F_VP0C[0:3]的时钟信号由现场可编程逻辑门阵列单元23提供;模数转换单元22在视频控制时钟线F_VP1C[0:3]中的时钟信号的作用下,通过视频数据线F_VP1D[0:9]将数字图像传输给现场可编程逻辑门阵列单元23,其中,视频控制时钟线F_VP1C[0:3]的时钟信号由现场可编程逻辑门阵列单元23提供。
[0095] 例如,控制电路板2中的模数转换单元21和22分别从左摄像机11和右摄像机12中获取模拟图像信号S1和S2,并分别将模拟图像信号S1和S2转换成数字图像D1和D2,同时将数字图像D1和D2传输出现场可编程逻辑门阵列单元23。
[0096] 步骤103:现场可编程逻辑门阵列单元23接收两幅数字图像,并对数字图像进行滤波,将滤波后的两幅数字图像传输给数字信号处理单元24;
[0097] 具体地,现场可编程逻辑门阵列单元23接收来自模数转换单元21和22传输的两幅数字图像,针对其中的一幅数字图像,将该数字图像分成一定数量的方块,现场可编程逻辑门阵列单元23通过硬件编程生成与方块数量相同的CPU,并行的对每个方块进行滤波,过滤掉方块中的部分噪音,再将滤波的方块重新组装成滤波后的数字图像。现场可编程逻辑门阵列单元23对另一幅数字图像也按同样的方法进行滤波,且同时对两幅数字图像进行滤波。
[0098] 例如,现场可编程逻辑门阵列单元23接收来自模数转换单元21和22传输的数字图像A1和A2,如图像10所示,分别将A1和A2分割成多个方块,对每一个方块进行滤波,过滤掉方块中的部分噪音,再将滤波的方块重新组成滤波后的数字图像A1和A2,并将滤波后的数字图像A1和A2传输给数字信号处理单元24。
[0099] 另外,此时,控制电路板2的数字信号处理单元24从存储单元25获取双目视觉三维测量算法,开始进行以下步骤对这两幅图像进行三维测量。
[0100] 步骤104:数字信号处理单元24接收两幅数字图像;
[0101] 例如,数字信号处理单元24接收来自现场可编程逻辑门阵列单元23的两幅数字图像A1和A2。
[0102] 步骤105:数字信号处理单元24分别从两幅数字图像中获取每幅数字图像中的目标包括的所有内角点;
[0103] 其中,内角点为数字图像中多条边的交点,具体地,扫描数字图像,确定目标中所有两条或两条以上的边的交点,将确定的交点作为内角点。其中,每个内角点都对应物体中的一个真实的交点。
[0104] 例如,假设目标为方形物体A,扫描如图10所示的两幅数字图像A1和A2,获取A1图像中的目标的所有内角点分别为B1、C1、D1的E1,获取A2图像中的目标的所有内角点分别为B2、C2、D2的E2。其中,内角点B1和B2对应真实的交点B,内角点C1和C2对应真实的交点C,内角点D1和D2对应真实的交点D,内角点E1和E2对应真实的交点E。
[0105] 步骤106:数字信号处理单元24采用现有的匹配算法,对左右两幅数字图像中的内角点进行匹配,得到内角点匹配对;
[0106] 其中,匹配算法根据内角点周围的梯度特征,对左右两幅图像中的内角点进行匹配,匹配对包括的两个内角点对应物体中的同一个交点。
[0107] 例如,采用匹配算法对如10图所示的两幅图像进行匹配,得到的内角点匹配对分别为,且分别对应方形物体A中的交点B、C、D和E。
[0108] 步骤107:根据匹配对包括每个内角点的图像坐标、左摄像机矩阵和右摄像机矩阵,获得该匹配对对应的真实的交点在世界坐标系中的世界坐标。
[0109] 具体地,将匹配对包括的两内角点的图像坐标m1和mr,以及左右摄像机矩阵P1和Pr带入到公式(1),计算出匹配对对应的真实的交点的世界坐标M。
[0110]
[0111] 其中,在步骤107中得到每个匹配对对应的真实的交点的世界坐标即为最终获取的三维信息。另外,摄像机在采集图像时,就为每个摄像机的图像建立一个图像坐标系,因此,图像中的每个像素点都有一个在图像坐标系中的图像坐标。
[0112] 例如,对于匹配对,根据内角点B1和B2的图像坐标,左摄像机矩阵和右摄像机矩阵,通过公式(1)获得对应的真实交点B的世界坐标。
[0113] 在本发明实施例中,数字信号处理单元24不需要操作系统的支持,可直接运行双目视觉三维测量算法,提高了三维测量的速度;采用现场可编程逻辑门阵列单元23对图像进行滤波,可以提高三维测量的速度。
[0114] 实施例3
[0115] 如图11所示,本发明实施例提供了一种标定的方法,其中,实施例2中的左摄像机矩阵和右摄像机矩阵是事先通过本实施例提供的标定方法对双目摄像机1进行标定得到的,该方法包括:
[0116] 步骤201:数字信号处理单元24根据标定板参数,确定标定板中的每个内角点在世界坐标系中的世界坐标;
[0117] 如图12所示的标定板由黑白方格组成,标定板参数包括X方向上的每个方格的位置,Y方向上的每个方格的位置和方格边长。每个方格的顶点为内角点。根据方格的边长,以及该方格在X方向上的位置和Y方向上的位置,确定该方格包括的四个内角点的世界坐标。
[0118] 步骤202:利用左摄像机11从不同角度采集多幅标定板图像,数字信号处理单元24扫描每幅图像并从每幅图像中读取所有内角点的图像坐标;
[0119] 其中,左摄像机有自身的一个坐标系,并将该坐标系建立在采集的图像中,使得采集的图像中都有一个图像坐标系,如此使得图像中的每个点都有图像坐标。至此,得到每个内角点的一个世界坐标和一个图像坐标。
[0120] 步骤203:数字信号处理单元24根据每个内角点的世界坐标和图像坐标,通过Levenberg-Marquardt迭代算法,获得左摄像机的内参数矩阵A1;
[0121] 其中,通过Levenberg-Marquardt迭代算法直接获得左摄像机的内参数,包括左摄像机在X方向的焦距fx1、左摄像机在Y方向上的焦距fy1、左摄像机的光心在图像坐标系中的坐标(cx1,cy1),再将这些内参数组成左摄像机的内参数矩阵A1,如公式(2)所示。
[0122]
[0123] 至此,完成了对左摄机的标定。
[0124] 步骤204:利用右摄像机从不同角度采集多幅标定板图像,数字信号处理单元24扫描每幅图像并从图像中读取图像中所有内角点的图像坐标;
[0125] 其中,右摄像机有自身的一个坐标系,并将该坐标系建立在采集的图像中,使得采集的图像中都有一个图像坐标系,如此使得图像中的每个点都有图像坐标。至此,得到每个内角点的一个世界坐标和一个图像坐标。
[0126] 步骤205:数字信号处理单元24根据从步骤204得到的每个内角点的世界坐标和图像坐标,通过Levenberg-Marquardt迭代算法,获得右摄像机的内参数矩阵Ar;
[0127] 其中,通过Levenberg-Marquardt迭代算法直接获得右摄像机的内参数,包括右摄像机在X方向的焦距fxr、右摄像机在Y方向上的焦距fyr,右摄像机的光心在其自身中的坐标系中的坐标(cxr,cyr),再将这些内参数组成右摄像机矩阵Ar,如公式(3)所示。
[0128]
[0129] 至此,完成了对右摄像机的标定。其中,在本实施例中还可以先对右摄像机进行标定,再对左摄像机进行标定。
[0130] 步骤206:同时利用左摄像机11和右摄像机12分别采集左右两幅标定板图像,数字信号处理单元24扫描左右两幅图像,获取左图像包括的所有内角点的图像坐标和右图像包括的所有内角点的图像坐标;
[0131] 步骤207:数字信号处理单元24根据标定板中的所有内角点的世界坐标和图像坐标,通过Levenberg-Marquardt迭代算法,获得左右两摄像机的外参数旋转矩阵R和平移矩阵t,如公式(4)所示;
[0132]
[0133] 步骤208:数字信号处理单元24根据左摄像机的内参数矩阵A1,右摄像机的内参数矩阵Ar,左右摄像机的外参数旋转矩阵R和平移矩阵t,建立左摄像机矩阵P1和右摄像机矩阵Pr。
[0134] 具体地,规定左摄像机的坐标系为世界坐标系,建立的左摄像机矩阵P1和右摄像机矩阵Pr,如公式(5)所示:
[0135]
[0136] 或,规定右摄像机的坐标系为世界坐标系,建立的左摄像机矩阵P1和右摄像机矩阵Pr,如公式(6)所示:
[0137]
[0138] 其中,
[0139] 以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
[0140] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。