一种基于单目摄像头的目标定位方法与流程

文档序号:18787672发布日期:2019-09-29 18:09阅读:4520来源:国知局
一种基于单目摄像头的目标定位方法与流程

本发明属于计算机视觉技术领域,具体涉及一种单目摄像头的目标定位方法。



背景技术:

计算机视觉,是利用图像传感器和计算机模拟人的视觉系统,广泛应用于机器人领域和无人驾驶领域,如何准确测量定位物体在空间中的位置一直是计算机视觉研究的重点问题。

目前,由于成本问题,很多小型的工业机器人和服务型机器人使用单目视觉(摄像机),其测距方式大多采用基于单目视觉系统的散焦测距方法,该方法通过镜头不同参数下所拍摄的两幅图像就可以计算出物体到摄像头的距离信息,但是该方法操作繁琐,在实际应用上,实施性差。



技术实现要素:

为解决现有技术存在的技术问题,本发明提供了一种基于单目视觉的目标距离测量的方法,实现对目标物体距离的实时测量,简化测量步骤,节约开发成本。

为实现上述目的,本发明所采用的技术方案为:一种基于单目摄像头的目标定位方法,其特征在于,具体步骤如下:

一、搭建开发平台;

二、选定目标物体,目标物体可为单一颜色的立方体或者有发特定颜色(白色光除外)光的规则物体,或者二维码等,以目标物体的几何中心为原点,建立坐标系,选择物体上除原点外的另外四个点并得到坐标,用于后续计算;

三、摄像机标定,获取摄像机的内部参数,包含焦距fx,fy,光心cx,cy,用于后续计算,标定可以利用标准的黑白棋格图片;

四、将摄像头与主控制器设备连接,主控制器设备的操作系统可以选择linux或者windows,编写驱动程序,实时获取图像数据,以矩阵形式存储;

五、主控制器设备对获取到的图像进行处理,首先将图像灰度化,同时将图像的颜色通道分离为r、g、b三色通道,减少处理数据量,排出干扰。根据形状轮廓、颜色特征识别出目标物体,在图像中锁定目标物体,同时获取步骤二中四个点对应在图像上的像素坐标;

六、运用滤波算法对对应点的像素坐标进行滤波,防止像素点的跳变,影响位置信息的计算;

七、对步骤五获取到的像素坐标、步骤二的点坐标和步骤三得到的参数进行计算,得到旋转矩阵r和平移矩阵,根据平移矩阵和旋转矩阵计算出目标物体相对于摄像机的位置,计算算法推到如下:

a、世界坐标系与相机坐标系的转换,涉及旋转矩阵r和平移矩阵t,以下为绕z轴的旋转变换,具体公式如下:

同样的原理可以获得绕x轴和绕y轴的旋转矩阵,最终获得叠加后的旋转矩阵,目标物体从世界坐标系与相机坐标系的转换可以表示为:

r=rzrxry

b、相机坐标系到图像物理坐标系的转换,从相机坐标系到图像坐标系,属于透视投影关系,从3d转换到2d,满足三角形相似定理,具体表示如下:

即,

最终可以推算出:

其中,为图像坐标系中的坐标,为为相机坐标系中的坐标,为世界坐标系中的坐标。

八、将上述步骤用编程语言实现,使得代码在主控制器中编译运行,将目标的空间位置通过串口传输到其他控制器,使得位置信息能够得到真正应用;

九、将以上实现步骤结合,外加硬件装置例如mini-pc或者嵌入式处理器结合,并用串口将数据发送出来,整体可以制成一个测距装置,用于工业或者教学使用。

本发明与现有技术相比,具体有益效果体现在:本发明使用单目摄像机,在一定程度上降低了目标物体位置计算的成本,同时在操作上也有一定的便捷性,相对于其他单目摄像机目标物体位置计算,加入pnp计算,使得得到的位置信息更精确,用到滤波算法,防止距离的跳变。

附图说明

图1为世界坐标系、相机坐标系、图像物理坐标系和像素坐标系的转换图。

图2为图1中坐标系之间的透视投影关系图。

图3为本发明的定位流程图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

视觉可以帮助人类粗略的地感知外界环境中的事物与自身之间的距离,从而进行适当的避让,但对于工业机器人、服务型机器人或无人驾驶汽车而言,因其自身软硬件的条件约束,是很难向人类一样高效地利用视觉(摄像机)进行距离和位置的感知。单目视觉(摄像机)测量是其他视觉测量方法的基础,比如,可以通过使用单目摄像机对物体进行多角度的拍摄来达到单目视觉测量的效果。单目视觉测量就是使用一台摄像机设备对被测物体进行拍摄,然后对获取到的图形进行测量,其优点在于运算速度快、设备简单、成本低、灵活性高,且能够有效避免多目视觉立体匹配难的情况,在实时性要求比较高的场景中,单目视觉是首选的方案。

图像处理中涉及到世界坐标系、相机坐标系、图像物理坐标系和像素坐标系,下面对它们的具体关系进行说明:

如图1和图2所示,1):世界坐标系:根据情况而定,可以表示任何物体,此时是由于相机而引入,单位为m。

2):相机坐标系(oc-xcyczc):以摄像机光心为原点(在针孔模型中也就是针孔为光心),z轴与光轴重合,z轴指向相机的前方(也就是与成像平面垂直),x轴与y轴的正方向与物体坐标系平行,f为摄像机的焦距,单位为m。

3):图像物理坐标系(o-xy)(也叫平面坐标系):单位为mm,用物理单位表示像素的位置,坐标原点为摄像机光轴与图像物理坐标系的焦点位置。单位为mm的原因是由于相机内部的ccd传感器是很小的,比如8mmx6mm。但是,最后图像照片的像素单位为640x480。

4):像素坐标系(uv):以像素为单位,坐标原点布置在左上角,这也是一些opencv,opengl等库的坐标原点选在左上角的原因。当然明显看出ccd传感器以mm单位到像素中间有转换的。举个例子,ccd传感上面的8mmx6mm,转换到像素大小是640x480.假如dx表示像素坐标系中每个像素的物理大小就是1/80.也就是说毫米与像素点的之间关系是piexl/mm.

如图3所示,一种基于单目摄像头的目标定位方法,其特征在于,具体步骤如下:

一、搭建开发平台;

二、选定目标物体,目标物体可为单一颜色的立方体或者有发特定颜色(白色光除外)光的规则物体,或者二维码等,以目标物体的几何中心为原点,建立坐标系,选择物体上除原点外的另外四个点并得到坐标,用于后续计算;

三、摄像机标定,获取摄像机的内部参数,包含焦距fx,fy,光心cx,cy,用于后续计算,标定可以利用标准的黑白棋格图片;

四、将摄像头与主控制器设备连接,主控制器设备的操作系统可以选择linux或者windows,编写驱动程序,实时获取图像数据,以矩阵形式存储;

五、主控制器设备对获取到的图像进行处理,首先将图像灰度化,同时将图像的颜色通道分离为r、g、b三色通道,减少处理数据量,排出干扰。根据形状轮廓、颜色特征识别出目标物体,在图像中锁定目标物体,同时获取步骤二中四个点对应在图像上的像素坐标;

六、运用滤波算法对对应点的像素坐标进行滤波,防止像素点的跳变,影响位置信息的计算;

七、对步骤五获取到的像素坐标、步骤二的点坐标和步骤三得到的参数进行计算,得到旋转矩阵r和平移矩阵,根据平移矩阵和旋转矩阵计算出目标物体相对于摄像机的位置,计算算法推导如下:

a、世界坐标系与相机坐标系的转换,涉及旋转矩阵r和平移矩阵t,以下为绕z轴的旋转变换,具体公式如下:

同样的原理可以获得绕x轴和绕y轴的旋转矩阵,最终获得叠加后的旋转矩阵,目标物体从世界坐标系与相机坐标系的转换可以表示为:

r=rzrxry

b、相机坐标系到图像物理坐标系的转换,从相机坐标系到图像坐标系,属于透视投影关系,从3d转换到2d,满足三角形相似定理,具体表示如下:

即,

最终可以推算出:

八、将上述步骤用编程语言实现,使得代码在主控制器中编译运行,将目标的空间位置通过串口传输到其他控制器,使得位置信息能够得到真正应用;

九、将以上实现步骤结合,外加硬件装置例如mini-pc或者嵌入式处理器结合,并用串口将数据发送出来,整体可以制成一个测距装置,用于工业或者教学使用。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包在本发明范围内。

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