网站免费建站的方法,wordpress代码块,交换友情链接的渠道,能免费创建网站吗编辑#xff1a;OAK中国 首发#xff1a;A. hyhCSDN 喜欢的话#xff0c;请多多#x1f44d;⭐️✍ 内容来自用户的分享#xff0c;如有疑问请与原作者交流#xff01; ▌前言 
Hello#xff0c;大家好#xff0c;这里是OAK中国#xff0c;我是助手君。 
近期在CSDN刷… 编辑OAK中国 首发A. hyhCSDN 喜欢的话请多多⭐️✍ 内容来自用户的分享如有疑问请与原作者交流 ▌前言 
Hello大家好这里是OAK中国我是助手君。 
近期在CSDN刷到一篇教程感觉不错的呦分享给大家 
更多资源和教程可在我的主页搜索哦。  
▌一、启动相机 
roslaunch depthai_examples stereo_inertial_node.launch enableRviz:false depth_aligned:false stereo_fps:4enableRviz:false这个参数可以打开或关闭 Rviz 可视化工具在这里是关闭 Rviz。 depth_aligned:false此参数控制是否输出深度映射图像这里是不输出。 stereo_fps:4设置实时立体摄像机帧率为 4 帧/秒。 
▌二、录制视频 
rosbag record /stereo_inertial_publisher/left/image_rect /stereo_inertial_publisher/right/image_rect -O stereo.bag这个命令使用了 rosbag record 指令来记录两个 topics /stereo_inertial_publisher/left/image_rect和/stereo_inertial_publisher/right/image_rect。 
这两个 topics 分别对应相机的左侧和右侧图像。 
-O stereo.bag 是一个可选参数在此处用于指定保存记录数据的文件名为“stereo.bag”。因此执行这个命令后ROS系统会在后台记录左摄像头和右摄像头的图像并将它们保存到名为“stereo.bag”的ROS bag文件中。 
CTRLC停止录制 
▌三、标定 
rosrun kalibr kalibr_calibrate_cameras --bag ../stereo.bag --topics /stereo_inertial_publisher/left/image_rect /stereo_inertial_publisher/right/image_rect --models pinhole-radtan pinhole-radtan --target ../OAK_D/april_6x6.yaml这是一个ROS命令行命令用于使用Kalibr包中的kalibr_calibrate_cameras节点对相机进行标定。下面是参数的简要解释 
rosrun一个ROS命令用于在终端中运行ROS节点或包。 kalibr_calibrate_cameras相机标定节点名。kalibr_calibrate_cameras相机标定节点名。–bag …/stereo.bag这是一个ROS bag文件的路径其中包含用于标定的图像和传感器数据。–topics /stereo_inertial_publisher/left/image_rect /stereo_inertial_publisher/right/image_rect用于标定的图像主题名称。–models pinhole-radtan pinhole-radtan指定相机模型类型。–target/home/gagaga/catkin_ws/src/OKA_D/april_6x6.yaml指定标定板的参数文件路径和名称。 
▌四、生成的结果 
图一述了两个相机之间共同观察一个场景的次数。这个概念也被称为“共视图”或“互测图”。在这个图中每个节点表示一个空间点每条边表示两个相机之间的观测次数权重则表示两个相机观察同一点的互测次数权重越高说明观测的次数越多表明对点的准确测量更可靠。  图二“camera system”通常是指通过相机的内参和外参描述整个相机系统的参数矩阵。它定义了相机系统从世界坐标系到图像平面中每一个像素的转换关系从而将双目视觉中的两个独立的视觉通道进行了合并。  图三 “cam0estimated poses”指代的是相机1左相机在世界坐标系下的相对位姿。  图四由于标定的误差和测量的噪声相机参数可能不是完全准确的需要进行误差分析。一个常用的评估标准是极线误差Polar Error。“cam0:polar error”描述了左相机与右相机之间重投影误差的分布情况。具体地说polar error是每个点的实际位置与其在另一个相机的影像平面上估计位置之间的距离并且以极线为单位描述即该误差是沿着极线方向的距离。在标定后相机参数被用于立体校正即将左右相机图像对齐以便于进行立体匹配。在立体匹配过程中对于每个左图像上的像素点需要在右相机上寻找其对应的点这可以通过以下方法之一实现极线搜索立体匹配深度估计等。无论使用哪种方法都需要估算出点在右相机上的位置。Polar Error反映了这个位置估计的准确性。 图五cam0azimuthal error”是指对于每个点的实际值和估计值之间的方位角误差其中方位角是指相对于相机水平轴ox 轴的角度。该指标反映了计算出的深度值与实际深度之间的误差并以弧度或角度形式成单个度量值。评估Polar Error和Azimuthal Error是双目相机标定后检查和优化立体视觉重建算法的重要过程。  图六“cam0: reprojection errors”是双目相机标定的一个指标用于评估每个图像特征点的重新投影误差大小。具体地说它是将标定后的相机内外参数应用于特征点的2D像素坐标计算其与实际特征点的图像位置之间的距离通常以像素为单位以此度量标定的准确度。 Reprojection Error为检测标定结果的精度提供了一个简单而有效的方法。通常如果平均重投影误差非常小一般小于1个像素那么标定结果被认为是非常优良的。反之如果平均重投影误差很大则需要对标定结果进行调整或重新标定。  
图七在标定中需要识别和清除这些异常值以提高标定结果的准确性。“location of removed outlier corners”是双目相机标定结果图中的一个指标用于表示在标定过程中检测到的异常点所在的图像位置。这通常是一个交互式图表显示所有检测到的异常点的位置以及根据算法获取的异常临界值。异常点可以通过各种合适的算法和技术进行检测和去除。在标定过程中可能会将其与其他异常值分离并记录其坐标信息。因此“location of removed outlier corners”显示了这些异常值的位置以便研究人员评估标定准确性并了解哪些数据点对标定的影响最大。  stereo-results-cam.txt 是双目相机标定的结果文件其中记录了标定结果中双目相机各自的内外参数和它们之间的相对变换关系等重要信息。这些参数可以被用于计算相机的外部位姿和三维点云坐标。由于标定的精度和准确性直接影响后续任务的质量因此该文件是双目相机标定的一个重要输出。 
D矩阵畸变参数k1、k2、p1、p2 distortion: [-0.01351866 0.00282827 -0.00084567 0.00188117] ± [0.00055869 0.00046119 0.00011658 0.00016122]这个参数描述了相机的畸变模型其中 [-0.01351866 0.00282827 -0.00084567 0.00188117] 是相机的畸变系数向量该向量表示相机畸变的类型和程度而 [0.00055869 0.00046119 0.00011658 0.00016122] 表示每个畸变系数的估计误差类似于标准差。 
projection: [570.19685483 572.9469566 633.05769608 348.96007466] ± [0.54881124 0.55288321 0.29987289 0.28100582]这个参数表示相机的内部参数包括焦距和光心的坐标等信息。具体描述了相机像素坐标系到相机坐标系的投影关系[570.19685483 572.9469566 633.05769608 348.96007466] 表示相机的 4 个主要内部参数也就是相对应的相机的焦距和光心坐标等特征而 [0.54881124 0.55288321 0.29987289 0.28100582] 表示每个主要内部参数的估计误差类似于标准差。 
reprojection error: [-0.000031, -0.000001] ± [1.270309, 1.373586]该参数表示重投影误差是反映相机标定质量的一个指标。[-0.000031, -0.000001] 是相机平均的重投影误差表示相机将 3D 点投影到图像空间中的重投影误差而 [1.270309, 1.373586] 则是对这个误差的估计误差类似于标准差。 ▌参考资料 
https://docs.oakchina.cn/en/latest/pages/HighLevel/ros/ros_oak_d_kalibr.html OAK中国 | OpenCV AI Kit在中国区的官方代理商和技术服务商 | 追踪AI技术和产品新动态 
戳「关注」获取最新资讯↗↗