单目测距算法

单⽬测距算法
单⽬测距算法
相似三⾓形
⽤相似三⾓形计算物体或者⽬标到相机的距离,将使⽤相似三⾓形来计算相机到⼀个已知的物体或者⽬标的距离。
假设有⼀个宽度为 W 的⽬标或者物体。然后将这个⽬标放在距离的相机为 D 的位置。⽤相机对物体进⾏拍照并且测量物体的像素宽度 P。
这样就得出了相机焦距的公式:
红薯清洗机F = (P x D) / W
举个例⼦,假设在离相机距离 D = 24 英⼨的地⽅放⼀张标准的 8.5 x 11 英⼨的 A4 纸(横着放;W = 11)并且拍下⼀张照⽚。测量出照⽚中 A4 纸的像素宽度为 P = 249 像素。因此的焦距 F 是:
F = (248px x 24in) / 11in = 543.45。
当继续将的相机移动靠近或者离远物体或者⽬标时,可以⽤相似三⾓形来计算出物体离相机的距离:
D’ = (W x F) / P。
例如,假设将相机移到距离⽬标 3 英尺(或者说 36 英⼨)的地⽅并且拍下上述的 A4 纸。通过⾃动的图形处理可以获得图⽚中 A4 纸的像素距离为 170 像素。将这个代⼊公式得:
D’ = (11in x 543.45) / 170 = 35 英⼨或者约 36 英⼨,合 3 英尺。
从以上可以看到,要想得到距离,就要知道摄像头的焦距和⽬标物体的尺⼨⼤⼩,这两个已知条件根据公式: 
D’ = (W x F) / P 
得出⽬标到摄像机的距离D,其中P是指像素距离,W是A4纸的宽度,F是摄像机焦距。
电麻机相机标定
相机内参加上相机外参⼀共有⾄少8个参数,⽽我们要想消除相机的畸变,就要靠相机标定来求解这8个未知参数。
说完相机模型,⼜要说⼀下相机标定了,相机标定是为了求解上⾯这8个参数的,那求解出这8个参数可以⼲什么呢?可以进⾏软件消除畸变,也就是在得知上⾯8个参数后,利⽤上⾯罗列的数学计算式,将每个偏移的像素点归位。
标定需要⽤到⼀个叫标定板的东西,有很多种类,但常⽤的⼤概就是棋盘图了,棋盘要求精度需要很⾼,格⼦是正⽅形,买⼀张标定板很贵的,可以⽤word画⼀张,只要做⼀个5列7⾏的表格,拉⼤到全页,再设置每个格⼦的宽⾼来将它设为正⽅形再涂⾊就可以了。这张图⾥有符号,但打印出来就没有了,建议⼤家⾃⼰画⼀张就OK了。
单⽬与双⽬
在研究基于视觉的测距系统时,主要是研究单⽬视觉、双⽬和多⽬视觉系统。双⽬和多⽬系统中摄像机之间的协同性问题不好控制,单⽬视觉系统可以克服上述摄像机间的协同性问题。从⽣产成本上来看,单⽬视觉⽐双⽬和多⽬系统更加节省成本。单⽬视觉测距具有结构简单,运算速度快,成本低等优点。
测距实现
⾸先根据摄像机标定原理,获得摄像机的内参矩阵;
然后,采集含有⽬标的单帧图像,并识别出图像中⽬标所在区域,计算出该区域像素坐标纵坐标最⼤值,及其对应的横坐标的平均值,将得到的坐标作为观测点
脉动测速最后,基于图像像素点获得观测点在世界坐标系下的三维信息,根据观测点在体坐标系下的三维信息计算观测点的距离。
包括以下步骤:
步骤⼀、对单⽬摄像机进⾏标定,获取摄像机的内参矩阵[fx,0,u0;0,fy,v0;0,0,1];
步骤⼆、通过已标定的单⽬摄像机拍摄含有⽬标的单帧图像,并对获得的图像进⾏处理,提取⽬标区域,计算出该区域像素坐标纵坐标最⼤值,及其对应的横坐标的平均值,将组合得到的坐标作为观测点P;
步骤三、根据摄像机标定原理,由观测点的像素坐标Pp(u,v)可以获得观测点在体坐标系下的三维坐标值Pb(xb,yb,zb),进⽽可以计算出观测点的距离,具体⽅法如下所⽰:
1)由步骤⼀可以获得摄像机的内参矩阵,由步骤⼆可以获得观测点的像素点,则其中λ表⽰观测点处光线与摄像机光轴夹⾓,y表⽰观测点在图像坐标系下的纵坐标,y0表⽰摄像机光⼼在图像坐标系的纵坐标,f表⽰摄像机焦距。
进⼀步化简为到像素坐标系,其关系如下:
其中v表⽰观测点在像素坐标系下的纵坐标,v0表⽰摄像机光⼼在像素坐标系的纵坐标,dy表⽰在y⽅向上每个像素的物理尺⼨,fy表⽰y轴上的归⼀化焦距;
2)在三⾓⼏何关系中,O1P2距离表⽰如下:
O1O2为摄像机距离测距平⾯的⾼度,P1在摄像机光轴的投影点为P2,O1P2表⽰深度信息即表⽰观测点在摄像机坐标系中点Pc(xc,yc,zc)中zc的值。
3)将像素坐标转换到摄像机坐标下,像素坐标系与摄像机坐标系转换关系。大蒜破瓣机
将观测点的像素坐标和上⼀步中获得的观测点在摄像机坐标系下的深度信息zc结合,即可求得观测点在摄像机坐标系中的坐标
Pc(xc,yc,zc);
计算摄像机坐标系到体坐标系的转换公式,其中Rcb为摄像机坐标系到体坐标系的旋转矩阵,Tcb为摄像机坐标系到体坐标系的平移矩阵。
4)计算观测点的距离D。
附图说明
基于单⽬视觉的⽬标测距⽅法的测距模型
具体实施⽅式
坐式安全带上图中,xOy是图像坐标系,Zc表⽰相机坐标系的Z轴及光轴,XbO2Yb表⽰体坐标系下Z=0平⾯(即测距平⾯),O1表⽰相机镜头,a,b两条虚线表⽰视觉场范围,θ表⽰相机俯仰⾓,H表⽰相机到测距平⾯的⾼度,P1点为观测点,观测点P1点在图像平⾯成像点为P,在光轴上的投影点为P2,在X轴上的投影点为P3,P3点在图像平⾯成像点为P0。
技术总结
基于单⽬视觉的⽬标测距⽅法
祛痘除皱美白面膜素⾸先根据摄像机标定原理,获得摄像机的内参矩阵;
然后,采集含有⽬标的单帧图像,并识别出图像中⽬标所在区域,计算出该区域像素坐标纵坐标最⼤值,及其对应的横坐标的平均值,将组合得到的坐标作为观测点;
最后,基于图像像素点获得观测点在体坐标系下的三维信息,根据观测点在体坐标系下的三维信息计算观测点的距离。

本文发布于:2024-09-22 04:13:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/294065.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:摄像机   坐标系   观测点   像素
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议