当前位置: 首页 > news >正文

平面设计免费网站普通网站成微网站开发

平面设计免费网站,普通网站成微网站开发,优化网站公司哪家口碑好,定制营销的成功案例写这篇文章的目的是为了总结我之前看的标定#xff0c;相机模型以及单目测距的内容#xff0c;如果有错误#xff0c;还请不吝赐教。 参考链接#xff1a; 相机模型、相机标定及基于yolov5的单目测距实现 深度学习目标检测目标追踪单目测距 单目测距代码部署#xff08;目…写这篇文章的目的是为了总结我之前看的标定相机模型以及单目测距的内容如果有错误还请不吝赐教。 参考链接 相机模型、相机标定及基于yolov5的单目测距实现 深度学习目标检测目标追踪单目测距 单目测距代码部署目标检测车辆/行人等测距 单镜头视觉系统检测车辆的测距方法 相机模型与视觉测距不完全指南 单目测距yolo目标检测标定测距代码 【markdown】 数学公式 老规矩先上参考链接感谢大佬们的无私奉献 代码链接 对代码的部分说明: 1.能跑通最新版本的yolov5就肯定能跑通我的这份代码就是参考最新代码修改的。 2.权重和数据我就直接放仓库里了clone下来直接跑在inference/output里看结果。 3.觉得有用欢迎fork and star 文章目录 1 前言2 相机模型及单目测距原理2.1 单目测距能精确测距么?2.2 测距非常重要的几个公式和原理2.2.1 相机成像模型2.2.1 坐标系转换 3 相机内参和外参的标定4 基于yolov5的单目测距实现及关键代码4.1 单目测距模型4.2 目标点的选取4.3 距离的求取 1 前言 在摄像头成像过程中物体反射的光线通过摄像头的凸透镜打在成像器件上形成一张图片。这是一个三维物体转换为二维图像的过程。在这个过程中丢失了物体的深度信息所以单目摄像头很难测距。但是我们可以通过一个强假设来简单计算物体的距离即假设物体是处于地面上。具体意思下面再详细说。 2 相机模型及单目测距原理 相机模型可以简单看成一个凸透镜成像的模型。下图中XcYcZc是相机坐标系其原点为光心O是相机凸透镜的中心点。x-o1-y坐标系是图像坐标系。 图片从b站up主uid:109364003的视频中截图的 图中有一个车辆且车辆在地面上其接地点Q必定在地面上。那么Q点的深度便可以求解出来。具体求解步骤懒得打公式了就截图了。在单目测距过程中实际物体上的Q点在成像的图片上对应Q’点Q’点距离o1点沿y轴的距离为o1p’。这个距离o1p’除以y轴像素焦距fy (单位为pixel) 再求arctan即可得到角度b’。然后按图中步骤很容易理解了。 在按图中步骤求解深度OD时如果相机高度H、相机光轴与水平线的夹角a没有准确测量的话会对测距精准度造成较大影响。所以用于自动驾驶时随着车身抖动测距精度会很低。如果路面不是水平的而是具有曲率的那该方法也将失效。 这部分我还是想加点内容进来。解答了我的疑惑。 2.1 单目测距能精确测距么? 那么有一个问题在已知所有相机参数K, R, T 的情况下能否通过图像坐标 p 反推出对应的世界坐标 P 呢 这里我们从几何关系上看只要世界中的点 P 在 o c P 1 → \overrightarrow{o_{c}P_{1}} oc​P1​ ​ 射线上那么最终都会通过相机投影到图像中 p 的点所以单摄像头无法精确测距。相机模型本质是一种从世界坐标系3D → \rightarrow →像素坐标系2D的投影变换在投影变换中丢失了深度信息。 大佬这段写的特别好 2.2 测距非常重要的几个公式和原理 原理部分 2.2.1 相机成像模型 想要得到距离信息需要获得三维真实世界里的点而由于处理的对像是摄像 头捕捉后的二维平面图像因此如何将二维图像上的某个点转换为三维世界里的 点是值得考虑的问题。进一步的把图像上的点转换到真实世界的点就需要进行 像素坐标系、图像坐标系、相机坐标系以及世界坐标系 之间的相互转换。四种 坐标系之间的相互关系如图所示。坐标系描述如下 (1)像素坐标系。数字图像一般是三维图像并且由众多像素点组合而成的像 素坐标系的原点为 O2以宽度方向为 u 轴以高度方向为 v 轴。 (2)图像坐标系。图像坐标原点为 O1并且像素坐标系和图像坐标系是平行的 以图像宽度方向为 x 轴以高度方向为 y 轴长度单位为 mm。 (3)相机坐标系。相机坐标系原点 OcXc轴、Yc 轴分别是与图像坐标系下的 x 轴、y 轴相互平行相机 Zc轴和摄像头光轴重合。 (4)世界坐标系。我们所处的环境即是在世界坐标系之下也就是图中 Xw-Yw-Zw 平面。Pw 通过真实世界上的一点至图像上的 P 点完成从世界坐标到 图像上坐标的转换。 我看了很多遍原理这部分是真正让我醍醐灌顶的。 2.2.1 坐标系转换 (1)像素坐标系转换到图像坐标系 像素坐标系是以像素来表示各个像素位置信息的但是它不能够表达出图像 中物体的物理大小因此需要进行坐标系之间的转换。略 (2)图像坐标系变换到相机坐标系 略 (3)相机坐标系变换到世界坐标系 相机坐标系变换到世界坐标系可以描述为一个旋转平移的过程分别将旋转 和平移的分量加起来就是整个坐标系转换的全过程了。对于旋转过程假设相机 坐标系的 Z 同理绕 X 轴旋转会得到如下关系 绕 Y 轴旋转会得到如下关系 对于平移分量来说可以表达为 这部分公式很赞 3 相机内参和外参的标定 这部分优秀文献特别多等我闲的时候再来加。 4 基于yolov5的单目测距实现及关键代码 estimate_distance.py为主程序。该程序中有一个DistanceEstimation类该类的主要成员函数有camera_parameters(), object_point_world_position(), distance(), Detect(). 在Detect函数中调用yolov5检测得到目标框后便可以提取目标框的底边的中点作为2中所述的测距所需的Q’点。然后按照2中所述原理便可以求得到Q点的Xw和Yw坐标。取Xw和Yw的坐标的平方和再开根号便得到了目标的直线距离。 4.1 单目测距模型 在完成了相机畸变矫正和相机内外参数的求取之后建立了如下的单目测距 模型再结合第四章目标检测获取的矩形框就可以进行距离的求取。 测距模型可以看作是一个凸透镜成像的过程。上图中Xc-Yc-Zc是相机坐标系 xO1y是图像坐标系O1O为焦距fx1O2y1是地面坐标系OO2为摄像头安装高度h。 图中有一辆车在地面上那么其接地点Q必定在地面上。在单目测距过程中实际 物体上的Q点在成像的图片上对应Q点Q点在y轴上的投影为P点。水平线 与Zc轴的夹角为αZc光轴与PP的夹角为β直线OP与地面x1轴的夹角为γ。 4.2 目标点的选取 根据目标检测框并且已知相机内外参数 将其联合起来就可以得到测距值。具体的本文首先要选取参考点(目标点)拟选取目标框底部中点位置作为参考点并根据大量目标框的获取结果。观察到目标矩形框比目标物实际尺寸略大因此采取偏移的方式对目标参考点进行矫正以保证 测距精确度。本文采取让参考点向上偏移d个像素点并且获取的是目标框的左上角和右下角坐标因此参考点坐标可以表示为 然而上述目标点适合前方物体在本车正前方的场景当面对上图场景时 目标物会出现在本车侧方位置。如果再把目标框下部中点作为测距目标点会出 现目标点严重偏离车辆正下方的问题存在目标点出现在汽车中心位置左侧或中 心右侧的现象这会造成测距精度不高的缺点。因此进一步的对其进行改进 当目标点(xpyp)与图像下部中点斜率k满足阈值δ时就会更新xp的值新的xp 可以表示为 其中λ为偏移权重系数当k值为负时λ为负当k值为正时λ也为正。 4.3 距离的求取 由上面求得的内参矩阵可得fxfy。由测距模型可以推得Zc 光轴与PP的夹角β 直线OP与地面x1轴的夹角γ可以看作是水平线与PP的夹角 Z c {Z_{c}} Zc​ 深度公式可以表示为 把图像坐标点(xp,yp)转换为相机坐标系上的点可以表示为 得到最后的距离公式为 核心代码: cam_H 1 # 相机离地的高度angle_a 0 # 相机光轴与水平线的夹角aangle_b math.atan((v1 - self.H / 2) / fy)angle_c angle_b angle_aprint(angle_b, angle_b)depth (cam_H / np.sin(angle_c)) * math.cos(angle_b)#目标深度print(depth, depth)k_inv np.linalg.inv(in_mat)#K^-1 内参矩阵的逆p_inv np.linalg.inv(out_mat)#R^-1 外参矩阵的逆print(out---:,p_inv)point_c np.array([x_d, y_d, 1]) ##图像坐标point_c np.transpose(point_c)#目标的世界坐标print(point_c, point_c)print(in----, k_inv)##相机坐标系和图像坐标系下物体坐标可按照下式转换。c_position np.matmul(k_inv, depth * point_c)#Zc*[u,v,1].T*ins^-1[Xc,Yc,Zc].T #坐标转换别人的实验结果和分析: 为了验证方法的合理性本文将实测距离与仿真结果进行对比验证。因为目 标物的距离不同会造成预测的精度也不同具体实验流程如下 (1) 用棋盘网格图对车载摄像头进行标定将棋盘格图放在摄像头前的不同距 离以及倾斜不同的角度将采集到的17张图像导入到软件中来求解相机内外参数 以及畸变系数。 (2)采集不同距离下的车、行人等图像并将出现在图像中的目标物利用卷尺 对其真实距离进行测量。 (3)利用矫正公式将采集到的图像进行矫正以获得良好的测试位置。 (4)将矫正后的图像数据集输入到目标检测模型和测距模型中进行仿真测距。 这部分 阿利同学 这位作者说自己的结果跟prescan仿真软件相比结果误差5%。作者认为是可以用的我并没有去验证这部分的精确性。但我认为作者原理部分写的很好。
http://www.zqtcl.cn/news/280505/

相关文章:

  • 网站备案管理做广告公司网站建设价格
  • 绵阳专业网站建设公司上海外贸公司排名榜
  • 如何做英文系统下载网站快速排名工具免费
  • 苏州建网站必去苏州聚尚网络网页视频提取在线工具
  • 网站建设服务市场分析百度集团
  • 网站怎么企业备案信息做网站业务员如何跟客户沟通
  • 如何网站推广知名的集团门户网站建设费用
  • 网站入口设计规范专门做喷涂设备的网站
  • 最简单网站开发软件有哪些企业管理培训课程培训机构
  • 桂城网站制作公司wordpress 导航网站
  • 一个公司做网站需要注意什么条件网站备案 登陆
  • 百度网站介绍显示图片装修公司一般多少钱一平方
  • 网站销售如何做业绩我找伟宏篷布我做的事ko家的网站
  • 建立网站有哪些步骤?jsp网站开发详细教程
  • 网站怎么做直播功能旅游做攻略用什么网站
  • 企业外贸营销型网站如何写好软文推广
  • 免费建站的网址个人网站建设程序设计
  • 淘宝网站建设违规吗上海大公司
  • 大淘客怎么自己做网站自己开网站能赚钱吗
  • 大型门户网站开发北京网站建设管庄
  • 大连建设工程网站网站建设组织管理怎么写
  • wordpress英文站注册域名需要注意什么
  • 营销型网站的建设重点是什么深圳logo设计公司排名
  • 做网站的用什么软件呢网站排名优化服务公司
  • 网站开发完整视频网站集约化建设较好的城市
  • 网站建设和平面设计应用网站如何做
  • 自己做网站需要多少费用asa8.4 做网站映射
  • 商业网站 模板黑龙江省建设厅安全员考试
  • 网站新备案不能访问室内装修网站模板
  • 工程师报考网站wordpress设置视频图片不显示图片