ROS实验笔记之——基于ArUco Marker来估算camera的位姿

82 篇文章 118 订阅

最近在做课程的project的时候,实现了基于Marker的3D-2D的相机位姿估计算法。写下本博文作为学习记录用~先看看整体的实现效果

基于ArUco Marker来估算camera的位姿

 

目录

安装ArUco

ArUco Marker

tag_detector节点

实现的效果

参考资料


 

安装ArUco

ArUco Marker

基于二进制的Maeker的主要便利之处在于一个Marker可以提供足够多的(四个角)来获取相机的信息。同时,其内部的二进制编码非常robust,允许错误检测和校正。

The codification included into the marker is a slighly modified version of the Hamming Code. It has a total a 25 bits didived in 5 rows of 5 bits each. So, we have 5 words of 5 bits. Each word, contains only 2 bits of real information, the rest is for  and error detection/correction (error correction is yet to be done). As a conclusion, a marker contains 10 bits of real information wich allows 1024 different markers.

  一个ArUco marker是一个二进制平方标记,它由一个宽的黑边和一个内部的二进制矩阵组成,内部的矩阵决定了它们的id。黑色的边界有利于快速检测到图像,二进制编码可以验证id,并且允许错误检测和矫正技术的应用。marker的大小决定了内部矩阵的大小。例如,一个4x4的marker由16bits组成。

应当注意到,我们需要检测到一个Marker在空间中发生了旋转,但是,检测的过程需要确定它的初始角度,所以每个角落需要是明确的,不能有歧义,保证上述这点也是靠二进制编码完成的。

整个ArUco库主要包含了两部分:src包含了库的本身(一些源码),utils里面则是包含了一些应用的实例

其包含的类,主要有以下:

   - aruco::Marker: which represent a marker detected in the image
   - aruco::MarkerDetector: that is in charge of deteting the markers in a image Detection is done by simple calling the member funcion ArMarkerDetector::detect(). Additionally, the classes contain members to create the required matrices for rendering using OpenGL. See aruco_test_gl for details
   - aruco::BoardConfiguration: A board is an array of markers in a known order. BoardConfiguracion is the class that defines a board by indicating the id of its markers. In addition, it has informacion about the distance between the markers so that extrinsica camera computations can be done.
   - aruco::Board: This class defines a board detected in a image. The board has the extrinsic camera parameters as public atributes. In addition, it has a method that allows obtain the matrix for getting its position in OpenGL (see aruco_test_board_gl for details).
   - aruco::BoardDetector : This is the class in charge of detecting a board in a image. You must pass to it the set of markers detected by ArMarkerDetector and the BoardConfiguracion of the board you want to detect. This class will do the rest for you, even calculating the camera extrinsics

安装方法:

先进入到aruco-1.2.4目录,然后运行

mkdir build
cd build
cmake ..
make
make install (optional) 

重新试试make install,结果如下:

给个sudo看看

应该配置成功了

下载链接:https://download.csdn.net/download/gwplovekimi/16134241

 

tag_detector节点

接下来配置tag_detector。在没有写pose estimation算法的时候,运行下面命令会出现

roslaunch tag_detector bag_tag.launch

一个视频显示camera的移动(伴随着marker的移动).根据这些marker来实时估计出

接下来看看启动的launch文件

<launch>

	<node name="rosbag" pkg="rosbag" type="play" respawn="false" args="--delay=1 --queue=1000 $(find tag_detector)/bag/images.bag" />
    <!-- 从tag_detector/bag/images.bag中获取图像数据,并且显示出来-->

    <!-- 运行节点tag_detector,将image_raw数据转换为“/camera/image”topic;cam_cal_file应该就是相机矫正的文件;board_config_file应该就是记录了MarkerID对应坐标(ID和四个角点) -->
    <node pkg="tag_detector" type="tag_detector" name="tag_detector" output="screen">
        <remap from="~image_raw" to="/camera/image"/>
        <param name="cam_cal_file" type="string" value="$(find tag_detector)/config/camera.yml"/>
        <param name="board_config_file" type="string" value="$(find tag_detector)/config/a.yml"/>
    </node>

</launch>

接下来看看关键的tag_detector节点(直接给出代码及注释如下)

#include <iostream>

#include <ros/ros.h>
#include <ros/console.h>
#include <sensor_msgs/Image.h>
#include <sensor_msgs/image_encodings.h>
#include <cv_bridge/cv_bridge.h>
#include <nav_msgs/Odometry.h>
#include <aruco/aruco.h>
// 参考网址:https://docs.opencv.org/master/d5/dae/tutorial_aruco_detection.html
#include <aruco/cvdrawingutils.h>
#include <opencv2/opencv.hpp>
#include <Eigen/Eigen>
#include <Eigen/SVD>
#include<opencv2/core/eigen.hpp>
//EIgen SVD libnary, may help you solve SVD (计算奇异值分解的)
//JacobiSVD<MatrixXd> svd(A, ComputeThinU | ComputeThinV);

using namespace cv;
using namespace aruco;
using namespace Eigen;//for JacobiSVD

//global varialbles for aruco detector(一些全局变量的定义)
aruco::CameraParameters CamParam;//camera的参数(直接从文件中读取)
MarkerDetector MDetector;//检测出marker
vector<Marker> Markers;
float MarkerSize = 0.20 / 1.5 * 1.524;
float MarkerWithMargin = MarkerSize * 1.2;
BoardConfiguration TheBoardConfig;
BoardDetector TheBoardDetector;
Board TheBoardDetected;
ros::Publisher pub_odom_yourwork;
ros::Publisher pub_odom_ref;
cv::Mat K, D;//定义相机的内参矩阵于畸变参数

//计算误差
double error_x=0;
double error_y=0;
double error_z=0;
double error_roll=0;
double error_pitch=0;
double error_yaw=0;
double rmse_x, rmse_y, rmse_z, rmse_roll, rmse_pitch, rmse_yaw;
double rmse_position, rmse_orientation;
int frame=0;

// test function, can be used to verify your estimation
//用于计算重投影误差(用于验证)
void calculateReprojectionError(const vector<cv::Point3f> &pts_3, const vector<cv::Point2f> &pts_2, const cv::Mat R, const cv::Mat t)
{
    puts("calculateReprojectionError begins");
    vector<cv::Point2f> un_pts_2;
    cv::undistortPoints(pts_2, un_pts_2, K, D);
    for (unsigned int i = 0; i < pts_3.size(); i++)
    {
        cv::Mat p_mat(3, 1, CV_64FC1);
        p_mat.at<double>(0, 0) = pts_3[i].x;
        p_mat.at<double>(1, 0) = pts_3[i].y;
        p_mat.at<double>(2, 0) = pts_3[i].z;
        cv::Mat p = (R * p_mat + t);
        //输出得是:世界坐标得xyz;没有失真得xy;p为重投影得结果;而R和t是计算出来得
        printf("(%f, %f, %f) -> (%f, %f) and (%f, %f)\n",
               pts_3[i].x, pts_3[i].y, pts_3[i].z,
               un_pts_2[i].x, un_pts_2[i].y,
               p.at<double>(0) / p.at<double>(2), p.at<double>(1) / p.at<double>(2));
    }
    puts("calculateReprojectionError ends");
}

// the main function you need to work with
// pts_id: id of each point
// pts_3: 3D position (x, y, z) in world frame
// pts_2: 2D position (u, v) in image frame
void process(const vector<int> &pts_id, const vector<cv::Point3f> &pts_3, const vector<cv::Point2f> &pts_2, const ros::Time& frame_time)
{
    //version 1, as reference
    cv::Mat r, rvec, t;
    cv::solvePnP(pts_3, pts_2, K, D, rvec, t);//通过opencv算出pnp(直接调用函数)
    //pts_3---特征点的世界坐标
    //pts_2---特征点在图像中的像素坐标
    //K--相机的内参矩阵
    //D--相机的畸变参数
    //rvec---输出的旋转向量
    //t---输出的平移向量

    cv::Rodrigues(rvec, r);//将旋转向量(1*3)转换为相对应的旋转矩阵(3*3)
    Matrix3d R_ref;
    for(int i=0;i<3;i++)
        for(int j=0;j<3;j++)
        {
            R_ref(i,j) = r.at<double>(i, j);
        }
    Quaterniond Q_ref;//定义四元素
    Q_ref = R_ref;
    nav_msgs::Odometry odom_ref;
    odom_ref.header.stamp = frame_time;
    odom_ref.header.frame_id = "world";//rviz中选的frame ID应该为world
    odom_ref.pose.pose.position.x = t.at<double>(0, 0);
    odom_ref.pose.pose.position.y = t.at<double>(1, 0);
    odom_ref.pose.pose.position.z = t.at<double>(2, 0);
    odom_ref.pose.pose.orientation.w = Q_ref.w();
    odom_ref.pose.pose.orientation.x = Q_ref.x();
    odom_ref.pose.pose.orientation.y = Q_ref.y();
    odom_ref.pose.pose.orientation.z = Q_ref.z();
    pub_odom_ref.publish(odom_ref);

    // version 2, your work(相当于自己实现pnp算法)
    Matrix3d R;
    Vector3d T;
    R.setIdentity();//设置为单位矩阵
    T.setZero();//设置为全0
    vector<cv::Point2f> un_pts_2;
    uint num_points=pts_2.size();//定义观测到的特征点的数目(不带符号的int)
    cv::undistortPoints(pts_2, un_pts_2, K, D);//通过相机的参数矩阵及失真参数来对图像的点进行矫正;opencv中使用undistortPoints函数校正特征点(对于针孔相机)
    
    // Retrieve K from cv::Mat to eigen
    Matrix3d K_Matrix3d;
    for (uint i=0;i<3;i++){
        for (uint j=0;j<3;j++){
            K_Matrix3d(i,j)=K.at<double>(i,j);
        }
    }

    for(uint i=0; i < num_points;i++){
        Vector3d point;
        point<<un_pts_2[i].x, un_pts_2[i].y,1;
        Vector3d image_point = K_Matrix3d * point;
        un_pts_2[i].x = image_point(0);
        un_pts_2[i].y = image_point(1);
    }
    
    ROS_INFO("write your code here!");
    //...*******************
    //...
   
    MatrixXd obs_matrix (2*num_points,9);//创建观测矩阵。跟ppt27页的公式一个道理,当为一个观测点时,其观测矩阵为2*9
    //对观测矩阵进行初始化
    for (uint i=0;i<num_points;i++){
        VectorXd row1(9);//创建一个含有9个元素的向量
        //放入元素
        row1<<pts_3[i].x,pts_3[i].y,1,
        0,0,0,
        -pts_3[i].x*un_pts_2[i].x,-pts_3[i].y*un_pts_2[i].x,-un_pts_2[i].x;
        VectorXd row2(9);
        row2<<0,0,0,
        pts_3[i].x,pts_3[i].y,1,
        -pts_3[i].x*un_pts_2[i].y,-pts_3[i].y*un_pts_2[i].y,-un_pts_2[i].y;
        //将这两个向量放于观测矩阵中
        obs_matrix.row(2*i)  = row1;
        obs_matrix.row(2*i+1)= row2;
    }

    //然后,通过SVD解决Ax=0的问题。求出x即为所需要的H矩阵,再通过K(-1)H=(R T)来求解R与T。
    //对于Ax=0的问题,做法都是使用SVD分解,直接取V矩阵的最后一列作为方程的解。
    //eigen库如何通过svd方法取奇异矩阵的广义逆矩阵
    // JacobiSVD<MatrixXf> svd(obs_matrix, ComputeThinU | ComputeThinV);//关于其中得参数可参考:https://blog.csdn.net/xu_fengyu/article/details/103996945
    JacobiSVD<MatrixXd> svd(obs_matrix, ComputeThinU | ComputeFullV);// if only 4 points are provided, we need FullV
    //U = svd.matrixU();
    // V = svd.matrixV();
    // A = svd.singularValues(); (A为对角线元素,奇异值)
    MatrixXd V_matrix=svd.matrixV();//获取到得V矩阵
    //obs_matrix是一个(2*num_points)*9的矩阵,应该获得U为(2*num_points)*(2*num_points);V为9*9
    // VectorXd H_matrix_vector=V_matrix.col(-1);//报错
    VectorXd H_matrix_vector=V_matrix.col(8);

    //构建H矩阵,将上面获得的向量H_matrix_vector放到矩阵中。
    Matrix3d H;//Matrix3d表示元素类型为double大小为3*3的矩阵变量
    for (uint i=0;i<3;i++){
        for (uint j=0;j<3;j++){
            H(i,j)=H_matrix_vector(i*3+j);
        }
    }

    // Matrix3d K_H=K.inverse()*H;//K是opencv中得Mat格式而H是Matrix3d,两者数据不一致?
    //(‘class cv::Mat’ has no member named ‘inverse’)
    //故此需要数据格式转换。
    // Matrix3d K_Matrix3d;
    // for (int i=0;i<3;i++){
    //     for (int j=0;j<3;j++){
    //         K_Matrix3d(i,j)=K.at<double>(i,j);
    //     }
    // }
    Matrix3d K_H=K_Matrix3d.inverse()*H;
    Vector3d h1,h2,h3;//PPT 29 and 30
    h1=K_H.col(0);
    h2=K_H.col(1);
    h3=K_H.col(2);
    Matrix3d R__;
    R__.col(0)=h1;
    R__.col(1)=h2;
    R__.col(2)=h1.cross(h2);
    // JacobiSVD<MatrixXf> svd1(R__, ComputeThinU | ComputeThinV);//关于其中得参数可参考:https://blog.csdn.net/xu_fengyu/article/details/103996945
    JacobiSVD<MatrixXd> svd1(R__, ComputeFullU | ComputeFullV);
    MatrixXd R__V=svd1.matrixV();
    MatrixXd R__U = svd1.matrixU();
    R=R__U*(R__V.transpose());
    T=h3/h1.norm();
    if (T(2) < 0){
        T = -T;
        R.col(0) = R.col(0) * -1;
        R.col(1) = R.col(1) * -1;
    }
    cout<<"R: " << R <<endl;
    cout<<"R_ref: " << R_ref <<endl;
    cout<<"T: " << T <<endl;
    cout<<"T_ref: " << t <<endl;

    //测量重投影误差
    // cv::Mat cv_R_ref,cv_T_ref,cv_R,cv_T;
    // eigen2cv(R, cv_R);
    // eigen2cv(T, cv_T);
    // cv_T_ref=t;
    // // eigen2cv(t, cv_T_ref);
    // eigen2cv(R_ref, cv_R_ref);
    // ROS_INFO("重投影误差!");
    // calculateReprojectionError(pts_3, pts_2, cv_R, cv_T);
    // ROS_INFO("重投影误差_reference!");
    // calculateReprojectionError(pts_3, pts_2, cv_R_ref, cv_T_ref);


    //...********************
    Quaterniond Q_yourwork;
    Q_yourwork = R;
    nav_msgs::Odometry odom_yourwork;
    odom_yourwork.header.stamp = frame_time;
    odom_yourwork.header.frame_id = "world";
    odom_yourwork.pose.pose.position.x = T(0);
    odom_yourwork.pose.pose.position.y = T(1);
    odom_yourwork.pose.pose.position.z = T(2);
    odom_yourwork.pose.pose.orientation.w = Q_yourwork.w();
    odom_yourwork.pose.pose.orientation.x = Q_yourwork.x();
    odom_yourwork.pose.pose.orientation.y = Q_yourwork.y();
    odom_yourwork.pose.pose.orientation.z = Q_yourwork.z();
    pub_odom_yourwork.publish(odom_yourwork);
    frame++;

    
    //转换成欧拉角
    Eigen::Vector3d eulerAngle_ref=Q_ref.matrix().eulerAngles(2,1,0);
    Eigen::Vector3d eulerAngle_yourwork=Q_yourwork.matrix().eulerAngles(2,1,0);

    ///计算误差
    error_x=odom_yourwork.pose.pose.position.x-odom_ref.pose.pose.position.x;
    error_y=odom_yourwork.pose.pose.position.y-odom_ref.pose.pose.position.y;
    error_z=odom_yourwork.pose.pose.position.z-odom_ref.pose.pose.position.z;
    rmse_position=sqrt((pow(rmse_position,2)*(frame-1)+pow(error_x,2)+pow(error_y,2)+pow(error_z,2))/frame);
    
    error_roll=eulerAngle_ref(0)-eulerAngle_yourwork(0);
    error_pitch=eulerAngle_ref(1)-eulerAngle_yourwork(1);
    error_yaw=eulerAngle_ref(2)-eulerAngle_yourwork(2);
    rmse_orientation=sqrt((pow(rmse_orientation,2)*(frame-1)+pow(error_roll,2)+pow(error_pitch,2)+pow(error_yaw,2))/frame);

    ROS_INFO("RMSE_position, RMSE_orientation: \n %f, %f",
             rmse_position, rmse_orientation);
}

cv::Point3f getPositionFromIndex(int idx, int nth)
{
    int idx_x = idx % 6, idx_y = idx / 6;
    double p_x = idx_x * MarkerWithMargin - (3 + 2.5 * 0.2) * MarkerSize;
    double p_y = idx_y * MarkerWithMargin - (12 + 11.5 * 0.2) * MarkerSize;
    return cv::Point3f(p_x + (nth == 1 || nth == 2) * MarkerSize, p_y + (nth == 2 || nth == 3) * MarkerSize, 0.0);
}

void img_callback(const sensor_msgs::ImageConstPtr &img_msg)
{
    double t = clock();
    //在opencv中图像采用Mat矩阵的形式存储
    //而ROS的图像则有自己的图像消息格式。
    //cv_bridge正是将两者联系在一起
    cv_bridge::CvImagePtr bridge_ptr = cv_bridge::toCvCopy(img_msg, sensor_msgs::image_encodings::MONO8);//订阅的img_msg是ROS的消息
    MDetector.detect(bridge_ptr->image, Markers);//运用MarkerDetector类的函数来检测Marker
    float probDetect = TheBoardDetector.detect(Markers, TheBoardConfig, TheBoardDetected, CamParam, MarkerSize);
    ROS_DEBUG("p: %f, time cost: %f\n", probDetect, (clock() - t) / CLOCKS_PER_SEC);//将计算时间显示出来

    vector<int> pts_id;//存储ID
    vector<cv::Point3f> pts_3;//存储maker在世界坐标系下的位置
    vector<cv::Point2f> pts_2;//存储对应marker在图像坐标系下的位置
    for (unsigned int i = 0; i < Markers.size(); i++)  //unsigned无符号;Markers为检测出来的marker的数目
    {
        int idx = TheBoardConfig.getIndexOfMarkerId(Markers[i].id);//获取所检测的第i个marker的ID

        char str[100];
        sprintf(str, "%d", idx);//发送格式化输出到 str 所指向的字符串
        cv::putText(bridge_ptr->image, str, Markers[i].getCenter(), CV_FONT_HERSHEY_COMPLEX, 0.4, cv::Scalar(-1));
        for (unsigned int j = 0; j < 4; j++)
        {
            sprintf(str, "%d", j);
            cv::putText(bridge_ptr->image, str, Markers[i][j], CV_FONT_HERSHEY_COMPLEX, 0.4, cv::Scalar(-1));
        }

        for (unsigned int j = 0; j < 4; j++)
        {
            pts_id.push_back(Markers[i].id * 4 + j);
            pts_3.push_back(getPositionFromIndex(idx, j));//在世界坐标系下的位置
            pts_2.push_back(Markers[i][j]);//在图像坐标系上的位置
        }
    }

    //begin your function
    if (pts_id.size() > 5)
        process(pts_id, pts_3, pts_2, img_msg->header.stamp);//在process这个函数中,进行相机姿态的估计并将发布

    cv::imshow("in", bridge_ptr->image);//通过指针将视频显示出来
    cv::waitKey(10);
}

int main(int argc, char **argv)
{
    ros::init(argc, argv, "tag_detector");
    ros::NodeHandle n("~");

    ros::Subscriber sub_img = n.subscribe("image_raw", 100, img_callback);//订阅录取的视频,并且回调函数img_callback
    //发布两个位姿
    pub_odom_yourwork = n.advertise<nav_msgs::Odometry>("odom_yourwork",10);//自己算出来的
    pub_odom_ref = n.advertise<nav_msgs::Odometry>("odom_ref",10);//参考值
    //init aruco detector
    string cam_cal, board_config;
    n.getParam("cam_cal_file", cam_cal);
    n.getParam("board_config_file", board_config);
    CamParam.readFromXMLFile(cam_cal);//直接从文件中读取相机的基本参数
    TheBoardConfig.readFromFile(board_config);
    //直接从文件中读取,获取了所有Marker的ID及其对应的角点的位置;通过二进制代码来识别ID与4个角点;而角点的位置是记录下来的world frame的位置(xyz)

    //init intrinsic parameters
    cv::FileStorage param_reader(cam_cal, cv::FileStorage::READ);
    //直接从文件中读出相机的内存矩阵与畸变参数(后面要重点关注这是如何获取的,毕竟相机的参数model对最终的performance有很大的影响)
    param_reader["camera_matrix"] >> K;
    param_reader["distortion_coefficients"] >> D;

    //init window for visualization
    cv::namedWindow("in", 1);

    ros::spin();
}


//整理记录于:
// https://blog.csdn.net/gwplovekimi/article/details/115245558?spm=1001.2014.3001.5501

 

实现的效果

RMS error between the calculate pose and the reference ones:

0.170051, 0.634279(效果不是很好。。。)

如下图所示

记录了一些重投影误差

[ INFO] [1616909249.683655413]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.390707, -0.097000) and (-0.381250, -0.094642)
(-0.264160, 2.214880, 0.000000) -> (-0.317682, -0.171877) and (-0.305903, -0.172483)
(-0.264160, 2.418080, 0.000000) -> (-0.250558, -0.149865) and (-0.230880, -0.149314)
(-0.467360, 2.418080, 0.000000) -> (-0.321712, -0.070614) and (-0.307345, -0.065342)
(-0.711200, 2.702560, 0.000000) -> (-0.308248, 0.105714) and (-0.291129, 0.110205)
(-0.508000, 2.702560, 0.000000) -> (-0.220596, 0.002416) and (-0.202903, 0.002703)
(-0.508000, 2.905760, 0.000000) -> (-0.126221, 0.041796) and (-0.100884, 0.045188)
(-0.711200, 2.905760, 0.000000) -> (-0.213270, 0.155251) and (-0.189883, 0.164108)
(0.020320, 2.458720, 0.000000) -> (-0.130229, -0.254519) and (-0.118965, -0.250959)
(0.223520, 2.458720, 0.000000) -> (-0.071149, -0.320265) and (-0.057564, -0.319298)
(0.223520, 2.661920, 0.000000) -> (0.008216, -0.304744) and (0.029164, -0.305633)
(0.020320, 2.661920, 0.000000) -> (-0.049111, -0.237019) and (-0.031897, -0.232445)
(-0.223520, 2.702560, 0.000000) -> (-0.110095, -0.132391) and (-0.094497, -0.129387)
(-0.020320, 2.702560, 0.000000) -> (-0.043608, -0.213062) and (-0.026078, -0.212754)
(-0.020320, 2.905760, 0.000000) -> (0.052672, -0.190670) and (0.075127, -0.189995)
(-0.223520, 2.905760, 0.000000) -> (-0.014013, -0.105205) and (0.007394, -0.099490)
(-0.467360, 2.702560, 0.000000) -> (-0.202048, -0.020919) and (-0.186407, -0.017396)
(-0.264160, 2.702560, 0.000000) -> (-0.127236, -0.111680) and (-0.109026, -0.111683)
(-0.264160, 2.905760, 0.000000) -> (-0.030748, -0.081470) and (-0.007050, -0.080191)
(-0.467360, 2.905760, 0.000000) -> (-0.106851, 0.016659) and (-0.084331, 0.023071)
(-0.223520, 2.214880, 0.000000) -> (-0.300998, -0.189479) and (-0.291629, -0.187229)
(-0.020320, 2.214880, 0.000000) -> (-0.238427, -0.257355) and (-0.223869, -0.257231)
(-0.020320, 2.418080, 0.000000) -> (-0.168729, -0.239940) and (-0.148121, -0.240198)
(-0.223520, 2.418080, 0.000000) -> (-0.231275, -0.169486) and (-0.216443, -0.165168)
(0.264160, 2.458720, 0.000000) -> (-0.056282, -0.336444) and (-0.045909, -0.332269)
(0.467360, 2.458720, 0.000000) -> (-0.004387, -0.393002) and (0.009520, -0.393961)
(0.467360, 2.661920, 0.000000) -> (0.072908, -0.381955) and (0.095511, -0.385158)
(0.264160, 2.661920, 0.000000) -> (0.026096, -0.323397) and (0.040718, -0.319482)
(-0.223520, 2.458720, 0.000000) -> (-0.212076, -0.162698) and (-0.200302, -0.160432)
(-0.020320, 2.458720, 0.000000) -> (-0.147948, -0.236254) and (-0.131909, -0.236552)
(-0.020320, 2.661920, 0.000000) -> (-0.065381, -0.217341) and (-0.044811, -0.216966)
(-0.223520, 2.661920, 0.000000) -> (-0.131100, -0.139856) and (-0.113280, -0.134898)
(-0.467360, 2.458720, 0.000000) -> (-0.303730, -0.061611) and (-0.291413, -0.059026)
(-0.264160, 2.458720, 0.000000) -> (-0.229717, -0.143696) and (-0.214763, -0.144337)
(-0.264160, 2.661920, 0.000000) -> (-0.149419, -0.118232) and (-0.127809, -0.117484)
(-0.467360, 2.661920, 0.000000) -> (-0.222865, -0.030394) and (-0.205122, -0.024816)
(-0.711200, 2.214880, 0.000000) -> (-0.489725, 0.005360) and (-0.481453, 0.008877)
(-0.508000, 2.214880, 0.000000) -> (-0.409430, -0.078889) and (-0.397168, -0.078198)
(-0.508000, 2.418080, 0.000000) -> (-0.344001, -0.048669) and (-0.323554, -0.047542)
(-0.711200, 2.418080, 0.000000) -> (-0.426141, 0.040664) and (-0.409711, 0.047073)
calculateReprojectionError ends
[ INFO] [1616909249.684054838]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.390707, -0.097000) and (-0.392745, -0.096736)
(-0.264160, 2.214880, 0.000000) -> (-0.317682, -0.171877) and (-0.318025, -0.173685)
(-0.264160, 2.418080, 0.000000) -> (-0.250558, -0.149865) and (-0.245598, -0.150983)
(-0.467360, 2.418080, 0.000000) -> (-0.321712, -0.070614) and (-0.321631, -0.068041)
(-0.711200, 2.702560, 0.000000) -> (-0.308248, 0.105714) and (-0.309537, 0.104218)
(-0.508000, 2.702560, 0.000000) -> (-0.220596, 0.002416) and (-0.221778, -0.001329)
(-0.508000, 2.905760, 0.000000) -> (-0.126221, 0.041796) and (-0.123819, 0.040212)
(-0.711200, 2.905760, 0.000000) -> (-0.213270, 0.155251) and (-0.212754, 0.156797)
(0.020320, 2.458720, 0.000000) -> (-0.130229, -0.254519) and (-0.134362, -0.251802)
(0.223520, 2.458720, 0.000000) -> (-0.071149, -0.320265) and (-0.072826, -0.319781)
(0.223520, 2.661920, 0.000000) -> (0.008216, -0.304744) and (0.011487, -0.306459)
(0.020320, 2.661920, 0.000000) -> (-0.049111, -0.237019) and (-0.049959, -0.233688)
(-0.223520, 2.702560, 0.000000) -> (-0.110095, -0.132391) and (-0.113444, -0.131622)
(-0.020320, 2.702560, 0.000000) -> (-0.043608, -0.213062) and (-0.044783, -0.214201)
(-0.020320, 2.905760, 0.000000) -> (0.052672, -0.190670) and (0.053263, -0.191927)
(-0.223520, 2.905760, 0.000000) -> (-0.014013, -0.105205) and (-0.015073, -0.102345)
(-0.467360, 2.702560, 0.000000) -> (-0.202048, -0.020919) and (-0.205329, -0.021112)
(-0.264160, 2.702560, 0.000000) -> (-0.127236, -0.111680) and (-0.127996, -0.114121)
(-0.264160, 2.905760, 0.000000) -> (-0.030748, -0.081470) and (-0.029614, -0.083283)
(-0.467360, 2.905760, 0.000000) -> (-0.106851, 0.016659) and (-0.107234, 0.018470)
(-0.223520, 2.214880, 0.000000) -> (-0.300998, -0.189479) and (-0.303844, -0.188289)
(-0.020320, 2.214880, 0.000000) -> (-0.238427, -0.257355) and (-0.236411, -0.257735)
(-0.020320, 2.418080, 0.000000) -> (-0.168729, -0.239940) and (-0.163022, -0.241062)
(-0.223520, 2.418080, 0.000000) -> (-0.231275, -0.169486) and (-0.231214, -0.166673)
(0.264160, 2.458720, 0.000000) -> (-0.056282, -0.336444) and (-0.061127, -0.332706)
(0.467360, 2.458720, 0.000000) -> (-0.004387, -0.393002) and (-0.005404, -0.394263)
(0.467360, 2.661920, 0.000000) -> (0.072908, -0.381955) and (0.078452, -0.385766)
(0.264160, 2.661920, 0.000000) -> (0.026096, -0.323397) and (0.023134, -0.320252)
(-0.223520, 2.458720, 0.000000) -> (-0.212076, -0.162698) and (-0.215623, -0.162033)
(-0.020320, 2.458720, 0.000000) -> (-0.147948, -0.236254) and (-0.147315, -0.237494)
(-0.020320, 2.661920, 0.000000) -> (-0.065381, -0.217341) and (-0.062932, -0.218324)
(-0.223520, 2.661920, 0.000000) -> (-0.131100, -0.139856) and (-0.131582, -0.137021)
(-0.467360, 2.458720, 0.000000) -> (-0.303730, -0.061611) and (-0.306305, -0.061857)
(-0.264160, 2.458720, 0.000000) -> (-0.229717, -0.143696) and (-0.230041, -0.146106)
(-0.264160, 2.661920, 0.000000) -> (-0.149419, -0.118232) and (-0.146121, -0.119802)
(-0.467360, 2.661920, 0.000000) -> (-0.222865, -0.030394) and (-0.223321, -0.028372)
(-0.711200, 2.214880, 0.000000) -> (-0.489725, 0.005360) and (-0.491753, 0.005227)
(-0.508000, 2.214880, 0.000000) -> (-0.409430, -0.078889) and (-0.408500, -0.080511)
(-0.508000, 2.418080, 0.000000) -> (-0.344001, -0.048669) and (-0.337716, -0.050494)
(-0.711200, 2.418080, 0.000000) -> (-0.426141, 0.040664) and (-0.423024, 0.042565)
calculateReprojectionError ends
[ INFO] [1616909249.714129426]: write your code here!
R:  0.530264  0.803132  0.271659
-0.744565   0.28787   0.60229
 0.405516 -0.521641  0.750631
R_ref:  0.533192  0.798108   0.28059
-0.747592  0.289255  0.597861
 0.395996 -0.528541  0.750887
T: -2.19836
-1.15511
 3.10445
T_ref: [-2.222568887099583;
 -1.165335528142252;
 3.147711310875965]
[ INFO] [1616909249.714396034]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391455, -0.098888) and (-0.379267, -0.096351)
(-0.264160, 2.214880, 0.000000) -> (-0.318398, -0.172315) and (-0.303803, -0.174179)
(-0.264160, 2.418080, 0.000000) -> (-0.249330, -0.151211) and (-0.228344, -0.151118)
(-0.467360, 2.418080, 0.000000) -> (-0.323836, -0.071822) and (-0.304885, -0.067152)
(-0.711200, 2.702560, 0.000000) -> (-0.307475, 0.104313) and (-0.287972, 0.108377)
(-0.508000, 2.702560, 0.000000) -> (-0.220938, 0.001557) and (-0.199653, 0.000747)
(-0.508000, 2.905760, 0.000000) -> (-0.125547, 0.040898) and (-0.096930, 0.043110)
(-0.711200, 2.905760, 0.000000) -> (-0.214312, 0.154410) and (-0.185939, 0.162198)
(0.020320, 2.458720, 0.000000) -> (-0.129220, -0.255349) and (-0.116335, -0.252688)
(0.223520, 2.458720, 0.000000) -> (-0.074111, -0.321348) and (-0.054984, -0.320909)
(0.223520, 2.661920, 0.000000) -> (0.008392, -0.306273) and (0.032128, -0.307358)
(0.020320, 2.661920, 0.000000) -> (-0.049787, -0.238039) and (-0.028832, -0.234295)
(-0.223520, 2.702560, 0.000000) -> (-0.108871, -0.133974) and (-0.091251, -0.131356)
(-0.020320, 2.702560, 0.000000) -> (-0.044012, -0.214243) and (-0.022901, -0.214651)
(-0.020320, 2.905760, 0.000000) -> (0.052833, -0.191807) and (0.078823, -0.192035)
(-0.223520, 2.905760, 0.000000) -> (-0.013635, -0.105793) and (0.011232, -0.101603)
(-0.467360, 2.702560, 0.000000) -> (-0.201644, -0.021817) and (-0.183150, -0.019364)
(-0.264160, 2.702560, 0.000000) -> (-0.127626, -0.112790) and (-0.105773, -0.113660)
(-0.264160, 2.905760, 0.000000) -> (-0.029922, -0.082766) and (-0.003189, -0.082309)
(-0.467360, 2.905760, 0.000000) -> (-0.107064, 0.015125) and (-0.080386, 0.020976)
(0.264160, 2.458720, 0.000000) -> (-0.058661, -0.336979) and (-0.043342, -0.333854)
(0.467360, 2.458720, 0.000000) -> (-0.004693, -0.392580) and (0.012003, -0.395395)
(0.467360, 2.661920, 0.000000) -> (0.074946, -0.384545) and (0.098320, -0.386692)
(0.264160, 2.661920, 0.000000) -> (0.024344, -0.324889) and (0.043658, -0.321178)
(-0.223520, 2.458720, 0.000000) -> (-0.211229, -0.164772) and (-0.197665, -0.162251)
(-0.020320, 2.458720, 0.000000) -> (-0.147663, -0.237117) and (-0.129274, -0.238300)
(-0.020320, 2.661920, 0.000000) -> (-0.066601, -0.219125) and (-0.041730, -0.218837)
(-0.223520, 2.661920, 0.000000) -> (-0.130646, -0.140218) and (-0.110143, -0.136841)
(-0.467360, 2.458720, 0.000000) -> (-0.302106, -0.063174) and (-0.288849, -0.060857)
(-0.264160, 2.458720, 0.000000) -> (-0.230908, -0.144944) and (-0.212132, -0.146164)
(-0.264160, 2.661920, 0.000000) -> (-0.148202, -0.119337) and (-0.124667, -0.119434)
(-0.467360, 2.661920, 0.000000) -> (-0.223641, -0.030960) and (-0.201989, -0.026760)
(-0.711200, 2.214880, 0.000000) -> (-0.492384, 0.003764) and (-0.479709, 0.007238)
(-0.508000, 2.214880, 0.000000) -> (-0.409182, -0.078788) and (-0.395216, -0.079902)
(-0.508000, 2.418080, 0.000000) -> (-0.342275, -0.050450) and (-0.321117, -0.049344)
(-0.711200, 2.418080, 0.000000) -> (-0.424962, 0.037718) and (-0.407444, 0.045357)
calculateReprojectionError ends
[ INFO] [1616909249.714777925]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391455, -0.098888) and (-0.392888, -0.097811)
(-0.264160, 2.214880, 0.000000) -> (-0.318398, -0.172315) and (-0.318141, -0.174738)
(-0.264160, 2.418080, 0.000000) -> (-0.249330, -0.151211) and (-0.245618, -0.152070)
(-0.467360, 2.418080, 0.000000) -> (-0.323836, -0.071822) and (-0.321666, -0.069157)
(-0.711200, 2.702560, 0.000000) -> (-0.307475, 0.104313) and (-0.309419, 0.103000)
(-0.508000, 2.702560, 0.000000) -> (-0.220938, 0.001557) and (-0.221652, -0.002523)
(-0.508000, 2.905760, 0.000000) -> (-0.125547, 0.040898) and (-0.123567, 0.038948)
(-0.711200, 2.905760, 0.000000) -> (-0.214312, 0.154410) and (-0.212488, 0.155500)
(0.020320, 2.458720, 0.000000) -> (-0.129220, -0.255349) and (-0.134365, -0.252842)
(0.223520, 2.458720, 0.000000) -> (-0.074111, -0.321348) and (-0.072839, -0.320775)
(0.223520, 2.661920, 0.000000) -> (0.008392, -0.306273) and (0.011540, -0.307477)
(0.020320, 2.661920, 0.000000) -> (-0.049787, -0.238039) and (-0.049882, -0.234760)
(-0.223520, 2.702560, 0.000000) -> (-0.108871, -0.133974) and (-0.113328, -0.132762)
(-0.020320, 2.702560, 0.000000) -> (-0.044012, -0.214243) and (-0.044686, -0.215291)
(-0.020320, 2.905760, 0.000000) -> (0.052833, -0.191807) and (0.053438, -0.193060)
(-0.223520, 2.905760, 0.000000) -> (-0.013635, -0.105793) and (-0.014860, -0.103539)
(-0.467360, 2.702560, 0.000000) -> (-0.201644, -0.021817) and (-0.205203, -0.022300)
(-0.264160, 2.702560, 0.000000) -> (-0.127626, -0.112790) and (-0.127878, -0.115269)
(-0.264160, 2.905760, 0.000000) -> (-0.029922, -0.082766) and (-0.029395, -0.084487)
(-0.467360, 2.905760, 0.000000) -> (-0.107064, 0.015125) and (-0.106987, 0.017216)
(0.264160, 2.458720, 0.000000) -> (-0.058661, -0.336979) and (-0.061142, -0.333690)
(0.467360, 2.458720, 0.000000) -> (-0.004693, -0.392580) and (-0.005436, -0.395197)
(0.467360, 2.661920, 0.000000) -> (0.074946, -0.384545) and (0.078471, -0.386716)
(0.264160, 2.661920, 0.000000) -> (0.024344, -0.324889) and (0.023181, -0.321259)
(-0.223520, 2.458720, 0.000000) -> (-0.211229, -0.164772) and (-0.215623, -0.163121)
(-0.020320, 2.458720, 0.000000) -> (-0.147663, -0.237117) and (-0.147315, -0.238542)
(-0.020320, 2.661920, 0.000000) -> (-0.066601, -0.219125) and (-0.062851, -0.219406)
(-0.223520, 2.661920, 0.000000) -> (-0.130646, -0.140218) and (-0.131485, -0.138150)
(-0.467360, 2.458720, 0.000000) -> (-0.302106, -0.063174) and (-0.306317, -0.062981)
(-0.264160, 2.458720, 0.000000) -> (-0.230908, -0.144944) and (-0.230041, -0.147201)
(-0.264160, 2.661920, 0.000000) -> (-0.148202, -0.119337) and (-0.146022, -0.120940)
(-0.467360, 2.661920, 0.000000) -> (-0.223641, -0.030960) and (-0.223219, -0.029548)
(-0.711200, 2.214880, 0.000000) -> (-0.492384, 0.003764) and (-0.491949, 0.004138)
(-0.508000, 2.214880, 0.000000) -> (-0.409182, -0.078788) and (-0.408650, -0.081590)
(-0.508000, 2.418080, 0.000000) -> (-0.342275, -0.050450) and (-0.337755, -0.051614)
(-0.711200, 2.418080, 0.000000) -> (-0.424962, 0.037718) and (-0.423096, 0.041431)
calculateReprojectionError ends
[ INFO] [1616909249.746249146]: write your code here!
R:  0.531083  0.800057  0.279034
 -0.74861  0.288783  0.596815
 0.396906 -0.525846  0.752298
R_ref:  0.531599  0.799462  0.279754
-0.749869  0.290653  0.594321
 0.393826 -0.525719  0.754003
T: -2.22457
-1.17022
 3.13611
T_ref: [-2.230087683405501;
 -1.173648668830501;
 3.139689127365699]
[ INFO] [1616909249.746567318]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.393156, -0.100195) and (-0.392371, -0.101200)
(-0.264160, 2.214880, 0.000000) -> (-0.320177, -0.175403) and (-0.317603, -0.178323)
(-0.264160, 2.418080, 0.000000) -> (-0.251685, -0.153721) and (-0.244503, -0.155804)
(-0.467360, 2.418080, 0.000000) -> (-0.325300, -0.075133) and (-0.320518, -0.072692)
(-0.711200, 2.702560, 0.000000) -> (-0.308887, 0.101957) and (-0.307164, 0.099559)
(-0.508000, 2.702560, 0.000000) -> (-0.222856, -0.000953) and (-0.219485, -0.006264)
(-0.508000, 2.905760, 0.000000) -> (-0.127792, 0.038204) and (-0.120573, 0.034982)
(-0.711200, 2.905760, 0.000000) -> (-0.215284, 0.152373) and (-0.209301, 0.151842)
(-0.223520, 2.702560, 0.000000) -> (-0.111571, -0.136302) and (-0.111344, -0.136782)
(-0.020320, 2.702560, 0.000000) -> (-0.045653, -0.217409) and (-0.042860, -0.219437)
(-0.020320, 2.905760, 0.000000) -> (0.050591, -0.194390) and (0.055881, -0.197417)
(-0.223520, 2.905760, 0.000000) -> (-0.015660, -0.108830) and (-0.012178, -0.107780)
(-0.467360, 2.702560, 0.000000) -> (-0.203734, -0.024666) and (-0.203058, -0.026089)
(-0.264160, 2.702560, 0.000000) -> (-0.129265, -0.115217) and (-0.125864, -0.119257)
(-0.264160, 2.905760, 0.000000) -> (-0.032220, -0.085948) and (-0.026666, -0.088699)
(-0.467360, 2.905760, 0.000000) -> (-0.108527, 0.013357) and (-0.104035, 0.013200)
(-0.223520, 2.214880, 0.000000) -> (-0.302688, -0.192774) and (-0.303418, -0.192954)
(-0.020320, 2.214880, 0.000000) -> (-0.240423, -0.260843) and (-0.235989, -0.262506)
(-0.020320, 2.418080, 0.000000) -> (-0.170731, -0.244418) and (-0.162003, -0.246007)
(-0.223520, 2.418080, 0.000000) -> (-0.232682, -0.172874) and (-0.230128, -0.171521)
(0.264160, 2.458720, 0.000000) -> (-0.057532, -0.340863) and (-0.060143, -0.337744)
(0.467360, 2.458720, 0.000000) -> (-0.008477, -0.397612) and (-0.004558, -0.399300)
(0.467360, 2.661920, 0.000000) -> (0.073158, -0.386156) and (0.079780, -0.390967)
(0.264160, 2.661920, 0.000000) -> (0.020657, -0.328377) and (0.024663, -0.325474)
(-0.467360, 2.458720, 0.000000) -> (-0.303876, -0.065696) and (-0.305036, -0.066549)
(-0.264160, 2.458720, 0.000000) -> (-0.232686, -0.147969) and (-0.228805, -0.150968)
(-0.264160, 2.661920, 0.000000) -> (-0.150698, -0.121905) and (-0.144144, -0.124888)
(-0.467360, 2.661920, 0.000000) -> (-0.225779, -0.033342) and (-0.221226, -0.033297)
(-0.711200, 2.214880, 0.000000) -> (-0.491744, 0.001755) and (-0.491518, 0.001069)
(-0.508000, 2.214880, 0.000000) -> (-0.412600, -0.081177) and (-0.408143, -0.084932)
(-0.508000, 2.418080, 0.000000) -> (-0.344332, -0.053571) and (-0.336606, -0.055102)
(-0.711200, 2.418080, 0.000000) -> (-0.428125, 0.036965) and (-0.421966, 0.038227)
calculateReprojectionError ends
[ INFO] [1616909249.746921900]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.393156, -0.100195) and (-0.395161, -0.100171)
(-0.264160, 2.214880, 0.000000) -> (-0.320177, -0.175403) and (-0.320535, -0.177316)
(-0.264160, 2.418080, 0.000000) -> (-0.251685, -0.153721) and (-0.247872, -0.154578)
(-0.467360, 2.418080, 0.000000) -> (-0.325300, -0.075133) and (-0.323779, -0.071460)
(-0.711200, 2.702560, 0.000000) -> (-0.308887, 0.101957) and (-0.311067, 0.100892)
(-0.508000, 2.702560, 0.000000) -> (-0.222856, -0.000953) and (-0.223556, -0.004746)
(-0.508000, 2.905760, 0.000000) -> (-0.127792, 0.038204) and (-0.125420, 0.036722)
(-0.711200, 2.905760, 0.000000) -> (-0.215284, 0.152373) and (-0.214053, 0.153324)
(-0.223520, 2.702560, 0.000000) -> (-0.111571, -0.136302) and (-0.115470, -0.135223)
(-0.020320, 2.702560, 0.000000) -> (-0.045653, -0.217409) and (-0.046932, -0.217958)
(-0.020320, 2.905760, 0.000000) -> (0.050591, -0.194390) and (0.051217, -0.195654)
(-0.223520, 2.905760, 0.000000) -> (-0.015660, -0.108830) and (-0.016972, -0.105948)
(-0.467360, 2.702560, 0.000000) -> (-0.203734, -0.024666) and (-0.207149, -0.024552)
(-0.264160, 2.702560, 0.000000) -> (-0.129265, -0.115217) and (-0.129992, -0.117692)
(-0.264160, 2.905760, 0.000000) -> (-0.032220, -0.085948) and (-0.031478, -0.086865)
(-0.467360, 2.905760, 0.000000) -> (-0.108527, 0.013357) and (-0.108886, 0.014970)
(-0.223520, 2.214880, 0.000000) -> (-0.302688, -0.192774) and (-0.306370, -0.191959)
(-0.020320, 2.214880, 0.000000) -> (-0.240423, -0.260843) and (-0.238998, -0.261605)
(-0.020320, 2.418080, 0.000000) -> (-0.170731, -0.244418) and (-0.165404, -0.244881)
(-0.223520, 2.418080, 0.000000) -> (-0.232682, -0.172874) and (-0.233510, -0.170305)
(0.264160, 2.458720, 0.000000) -> (-0.057532, -0.340863) and (-0.063557, -0.336780)
(0.467360, 2.458720, 0.000000) -> (-0.008477, -0.397612) and (-0.007870, -0.398529)
(0.467360, 2.661920, 0.000000) -> (0.073158, -0.386156) and (0.076112, -0.389962)
(0.264160, 2.661920, 0.000000) -> (0.020657, -0.328377) and (0.020845, -0.324264)
(-0.467360, 2.458720, 0.000000) -> (-0.303876, -0.065696) and (-0.308401, -0.065276)
(-0.264160, 2.458720, 0.000000) -> (-0.232686, -0.147969) and (-0.232270, -0.149696)
(-0.264160, 2.661920, 0.000000) -> (-0.150698, -0.121905) and (-0.148151, -0.123374)
(-0.467360, 2.661920, 0.000000) -> (-0.225779, -0.033342) and (-0.225183, -0.031805)
(-0.711200, 2.214880, 0.000000) -> (-0.491744, 0.001755) and (-0.494013, 0.002017)
(-0.508000, 2.214880, 0.000000) -> (-0.412600, -0.081177) and (-0.410894, -0.083907)
(-0.508000, 2.418080, 0.000000) -> (-0.344332, -0.053571) and (-0.339834, -0.053880)
(-0.711200, 2.418080, 0.000000) -> (-0.428125, 0.036965) and (-0.424963, 0.039336)
calculateReprojectionError ends
[ INFO] [1616909249.785770499]: write your code here!
R:  0.528911   0.80391  0.271996
-0.749345  0.291913  0.594364
 0.398416 -0.518184  0.756802
R_ref:  0.532275  0.798271  0.281862
-0.751086  0.291687  0.592274
 0.390579 -0.526956  0.754828
T: -2.20516
-1.17085
 3.09173
T_ref: [-2.226396567875753;
 -1.182104993818462;
 3.141338753014283]
[ INFO] [1616909249.786041676]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.392636, -0.103955) and (-0.382170, -0.099035)
(-0.264160, 2.214880, 0.000000) -> (-0.320529, -0.177956) and (-0.306894, -0.177484)
(-0.264160, 2.418080, 0.000000) -> (-0.252498, -0.157412) and (-0.231301, -0.154046)
(-0.467360, 2.418080, 0.000000) -> (-0.324172, -0.076600) and (-0.307669, -0.069450)
(-0.711200, 2.702560, 0.000000) -> (-0.309055, 0.098532) and (-0.290281, 0.107245)
(-0.508000, 2.702560, 0.000000) -> (-0.222000, -0.004507) and (-0.202314, -0.000854)
(-0.508000, 2.905760, 0.000000) -> (-0.128290, 0.035551) and (-0.099646, 0.041952)
(-0.711200, 2.905760, 0.000000) -> (-0.215003, 0.148672) and (-0.188343, 0.161449)
(0.020320, 2.458720, 0.000000) -> (-0.132626, -0.261513) and (-0.119303, -0.256521)
(0.223520, 2.458720, 0.000000) -> (-0.073027, -0.326750) and (-0.057871, -0.325487)
(0.223520, 2.661920, 0.000000) -> (0.006288, -0.313515) and (0.029427, -0.311585)
(0.020320, 2.661920, 0.000000) -> (-0.051556, -0.243888) and (-0.031656, -0.237743)
(-0.223520, 2.702560, 0.000000) -> (-0.111658, -0.140140) and (-0.094094, -0.133839)
(-0.020320, 2.702560, 0.000000) -> (-0.044999, -0.220685) and (-0.025717, -0.217864)
(-0.020320, 2.905760, 0.000000) -> (0.049838, -0.197426) and (0.076092, -0.194810)
(-0.223520, 2.905760, 0.000000) -> (-0.015452, -0.111696) and (0.008412, -0.103629)
(-0.467360, 2.702560, 0.000000) -> (-0.203763, -0.028322) and (-0.185856, -0.021078)
(-0.264160, 2.702560, 0.000000) -> (-0.128779, -0.118659) and (-0.108607, -0.116005)
(-0.264160, 2.905760, 0.000000) -> (-0.032672, -0.088936) and (-0.006012, -0.084196)
(-0.467360, 2.905760, 0.000000) -> (-0.108311, 0.010205) and (-0.083138, 0.019712)
(-0.223520, 2.214880, 0.000000) -> (-0.303872, -0.195831) and (-0.292628, -0.192352)
(-0.020320, 2.214880, 0.000000) -> (-0.240622, -0.263758) and (-0.224874, -0.262961)
(-0.020320, 2.418080, 0.000000) -> (-0.169786, -0.247560) and (-0.148574, -0.245684)
(-0.223520, 2.418080, 0.000000) -> (-0.233491, -0.176714) and (-0.216875, -0.170026)
(0.264160, 2.458720, 0.000000) -> (-0.058009, -0.344792) and (-0.046205, -0.338584)
(0.467360, 2.458720, 0.000000) -> (-0.005626, -0.400667) and (0.009295, -0.400891)
(0.467360, 2.661920, 0.000000) -> (0.071700, -0.390538) and (0.095851, -0.391882)
(0.264160, 2.661920, 0.000000) -> (0.022744, -0.330808) and (0.040991, -0.325563)
(-0.223520, 2.458720, 0.000000) -> (-0.212406, -0.170562) and (-0.200617, -0.165234)
(-0.020320, 2.458720, 0.000000) -> (-0.150108, -0.243276) and (-0.132249, -0.241987)
(-0.020320, 2.661920, 0.000000) -> (-0.066640, -0.224747) and (-0.044570, -0.222133)
(-0.223520, 2.661920, 0.000000) -> (-0.133938, -0.146144) and (-0.112999, -0.139411)
(-0.467360, 2.458720, 0.000000) -> (-0.304953, -0.068432) and (-0.291615, -0.063075)
(-0.264160, 2.458720, 0.000000) -> (-0.231730, -0.150612) and (-0.215066, -0.149012)
(-0.264160, 2.661920, 0.000000) -> (-0.151849, -0.125211) and (-0.127513, -0.121867)
(-0.467360, 2.661920, 0.000000) -> (-0.224958, -0.037082) and (-0.204698, -0.028560)
(-0.711200, 2.214880, 0.000000) -> (-0.492150, -0.000810) and (-0.482189, 0.005200)
(-0.508000, 2.214880, 0.000000) -> (-0.411707, -0.083685) and (-0.398065, -0.082470)
(-0.508000, 2.418080, 0.000000) -> (-0.345770, -0.056799) and (-0.323850, -0.051527)
(-0.711200, 2.418080, 0.000000) -> (-0.426457, 0.033860) and (-0.409806, 0.043689)
calculateReprojectionError ends
[ INFO] [1616909249.786451446]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.392636, -0.103955) and (-0.394656, -0.103271)
(-0.264160, 2.214880, 0.000000) -> (-0.320529, -0.177956) and (-0.320108, -0.180462)
(-0.264160, 2.418080, 0.000000) -> (-0.252498, -0.157412) and (-0.247581, -0.157815)
(-0.467360, 2.418080, 0.000000) -> (-0.324172, -0.076600) and (-0.323451, -0.074651)
(-0.711200, 2.702560, 0.000000) -> (-0.309055, 0.098532) and (-0.310939, 0.097516)
(-0.508000, 2.702560, 0.000000) -> (-0.222000, -0.004507) and (-0.223478, -0.008067)
(-0.508000, 2.905760, 0.000000) -> (-0.128290, 0.035551) and (-0.125527, 0.033306)
(-0.711200, 2.905760, 0.000000) -> (-0.215003, 0.148672) and (-0.214183, 0.149839)
(0.020320, 2.458720, 0.000000) -> (-0.132626, -0.261513) and (-0.136410, -0.259053)
(0.223520, 2.458720, 0.000000) -> (-0.073027, -0.326750) and (-0.074856, -0.327372)
(0.223520, 2.661920, 0.000000) -> (0.006288, -0.313515) and (0.009590, -0.314110)
(0.020320, 2.661920, 0.000000) -> (-0.051556, -0.243888) and (-0.051900, -0.241000)
(-0.223520, 2.702560, 0.000000) -> (-0.111658, -0.140140) and (-0.115341, -0.138610)
(-0.020320, 2.702560, 0.000000) -> (-0.044999, -0.220685) and (-0.046708, -0.221464)
(-0.020320, 2.905760, 0.000000) -> (0.049838, -0.197426) and (0.051412, -0.199271)
(-0.223520, 2.905760, 0.000000) -> (-0.015452, -0.111696) and (-0.016933, -0.109435)
(-0.467360, 2.702560, 0.000000) -> (-0.203763, -0.028322) and (-0.207071, -0.027874)
(-0.264160, 2.702560, 0.000000) -> (-0.128779, -0.118659) and (-0.129878, -0.121062)
(-0.264160, 2.905760, 0.000000) -> (-0.032672, -0.088936) and (-0.031466, -0.090332)
(-0.467360, 2.905760, 0.000000) -> (-0.108311, 0.010205) and (-0.108978, 0.011554)
(-0.223520, 2.214880, 0.000000) -> (-0.303872, -0.195831) and (-0.305951, -0.195120)
(-0.020320, 2.214880, 0.000000) -> (-0.240622, -0.263758) and (-0.238594, -0.264865)
(-0.020320, 2.418080, 0.000000) -> (-0.169786, -0.247560) and (-0.165088, -0.248239)
(-0.223520, 2.418080, 0.000000) -> (-0.233491, -0.176714) and (-0.233219, -0.173558)
(0.264160, 2.458720, 0.000000) -> (-0.058009, -0.344792) and (-0.063147, -0.340368)
(0.467360, 2.458720, 0.000000) -> (-0.005626, -0.400667) and (-0.007350, -0.402297)
(0.467360, 2.661920, 0.000000) -> (0.071700, -0.390538) and (0.076673, -0.393868)
(0.264160, 2.661920, 0.000000) -> (0.022744, -0.330808) and (0.021253, -0.327976)
(-0.223520, 2.458720, 0.000000) -> (-0.212406, -0.170562) and (-0.217610, -0.168930)
(-0.020320, 2.458720, 0.000000) -> (-0.150108, -0.243276) and (-0.149359, -0.244681)
(-0.020320, 2.661920, 0.000000) -> (-0.066640, -0.224747) and (-0.064875, -0.225573)
(-0.223520, 2.661920, 0.000000) -> (-0.133938, -0.146144) and (-0.133491, -0.143991)
(-0.467360, 2.458720, 0.000000) -> (-0.304953, -0.068432) and (-0.308109, -0.068485)
(-0.264160, 2.458720, 0.000000) -> (-0.231730, -0.150612) and (-0.232006, -0.152952)
(-0.264160, 2.661920, 0.000000) -> (-0.151849, -0.125211) and (-0.148013, -0.126725)
(-0.467360, 2.661920, 0.000000) -> (-0.224958, -0.037082) and (-0.225069, -0.035108)
(-0.711200, 2.214880, 0.000000) -> (-0.492150, -0.000810) and (-0.493320, -0.001109)
(-0.508000, 2.214880, 0.000000) -> (-0.411707, -0.083685) and (-0.410365, -0.087005)
(-0.508000, 2.418080, 0.000000) -> (-0.345770, -0.056799) and (-0.339491, -0.057069)
(-0.711200, 2.418080, 0.000000) -> (-0.426457, 0.033860) and (-0.424496, 0.036109)
calculateReprojectionError ends
[ INFO] [1616909249.816103130]: write your code here!
R:  0.531735  0.798676  0.281734
-0.748756  0.287884  0.597066
 0.395756 -0.528431  0.751092
R_ref:  0.532114  0.798215  0.282327
-0.750668  0.290546  0.593364
 0.391603 -0.527671  0.753797
T: -2.21705
-1.17218
 3.14431
T_ref: [-2.224122514160627;
 -1.175901948096602;
 3.146221780349906]
[ INFO] [1616909249.816418481]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391377, -0.101558) and (-0.389387, -0.103199)
(-0.264160, 2.214880, 0.000000) -> (-0.317599, -0.176220) and (-0.314836, -0.180150)
(-0.264160, 2.418080, 0.000000) -> (-0.251497, -0.154463) and (-0.241915, -0.157928)
(-0.467360, 2.418080, 0.000000) -> (-0.322051, -0.075639) and (-0.317739, -0.075001)
(-0.711200, 2.702560, 0.000000) -> (-0.307528, 0.100686) and (-0.304412, 0.096433)
(-0.508000, 2.702560, 0.000000) -> (-0.220359, -0.002062) and (-0.216943, -0.009102)
(-0.508000, 2.905760, 0.000000) -> (-0.126116, 0.037307) and (-0.118208, 0.031757)
(-0.711200, 2.905760, 0.000000) -> (-0.213629, 0.150465) and (-0.206771, 0.148305)
(-0.223520, 2.702560, 0.000000) -> (-0.109341, -0.137686) and (-0.109006, -0.139333)
(-0.020320, 2.702560, 0.000000) -> (-0.044365, -0.218192) and (-0.040619, -0.221845)
(-0.020320, 2.905760, 0.000000) -> (0.052417, -0.196470) and (0.058039, -0.200182)
(-0.223520, 2.905760, 0.000000) -> (-0.013571, -0.110163) and (-0.009959, -0.110697)
(-0.467360, 2.702560, 0.000000) -> (-0.201845, -0.025540) and (-0.200551, -0.028879)
(-0.264160, 2.702560, 0.000000) -> (-0.127729, -0.116162) and (-0.123502, -0.121843)
(-0.264160, 2.905760, 0.000000) -> (-0.031350, -0.086924) and (-0.024431, -0.091652)
(-0.467360, 2.905760, 0.000000) -> (-0.106648, 0.011038) and (-0.101695, 0.010027)
(-0.223520, 2.214880, 0.000000) -> (-0.299659, -0.194593) and (-0.300689, -0.194752)
(-0.020320, 2.214880, 0.000000) -> (-0.238946, -0.262785) and (-0.233426, -0.264180)
(-0.020320, 2.418080, 0.000000) -> (-0.169034, -0.244920) and (-0.159588, -0.247967)
(-0.223520, 2.418080, 0.000000) -> (-0.231622, -0.174092) and (-0.227573, -0.173613)
(0.264160, 2.458720, 0.000000) -> (-0.058330, -0.341633) and (-0.057891, -0.339635)
(0.467360, 2.458720, 0.000000) -> (-0.005513, -0.398003) and (-0.002372, -0.401130)
(0.467360, 2.661920, 0.000000) -> (0.075196, -0.388429) and (0.081906, -0.393106)
(0.264160, 2.661920, 0.000000) -> (0.022033, -0.329872) and (0.026830, -0.327677)
(-0.223520, 2.458720, 0.000000) -> (-0.211504, -0.167801) and (-0.211878, -0.169075)
(-0.020320, 2.458720, 0.000000) -> (-0.147577, -0.241271) and (-0.143784, -0.244497)
(-0.020320, 2.661920, 0.000000) -> (-0.066741, -0.222767) and (-0.058881, -0.225855)
(-0.223520, 2.661920, 0.000000) -> (-0.131346, -0.144562) and (-0.127267, -0.144613)
(-0.467360, 2.458720, 0.000000) -> (-0.302931, -0.066969) and (-0.302297, -0.068923)
(-0.264160, 2.458720, 0.000000) -> (-0.230328, -0.148450) and (-0.226251, -0.153155)
(-0.264160, 2.661920, 0.000000) -> (-0.149071, -0.123500) and (-0.141753, -0.127405)
(-0.467360, 2.661920, 0.000000) -> (-0.223454, -0.034898) and (-0.218681, -0.036015)
(-0.711200, 2.214880, 0.000000) -> (-0.489978, 0.001325) and (-0.488200, -0.001205)
(-0.508000, 2.214880, 0.000000) -> (-0.409297, -0.083193) and (-0.405109, -0.086971)
(-0.508000, 2.418080, 0.000000) -> (-0.344156, -0.053033) and (-0.333783, -0.057454)
(-0.711200, 2.418080, 0.000000) -> (-0.424343, 0.034761) and (-0.418884, 0.035619)
calculateReprojectionError ends
[ INFO] [1616909249.816811210]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391377, -0.101558) and (-0.392795, -0.101169)
(-0.264160, 2.214880, 0.000000) -> (-0.317599, -0.176220) and (-0.318421, -0.178267)
(-0.264160, 2.418080, 0.000000) -> (-0.251497, -0.154463) and (-0.245943, -0.155671)
(-0.467360, 2.418080, 0.000000) -> (-0.322051, -0.075639) and (-0.321626, -0.072607)
(-0.711200, 2.702560, 0.000000) -> (-0.307528, 0.100686) and (-0.308909, 0.099324)
(-0.508000, 2.702560, 0.000000) -> (-0.220359, -0.002062) and (-0.221672, -0.006143)
(-0.508000, 2.905760, 0.000000) -> (-0.126116, 0.037307) and (-0.123773, 0.035144)
(-0.711200, 2.905760, 0.000000) -> (-0.213629, 0.150465) and (-0.212182, 0.151547)
(-0.223520, 2.702560, 0.000000) -> (-0.109341, -0.137686) and (-0.113827, -0.136525)
(-0.020320, 2.702560, 0.000000) -> (-0.044365, -0.218192) and (-0.045387, -0.219268)
(-0.020320, 2.905760, 0.000000) -> (0.052417, -0.196470) and (0.052639, -0.197132)
(-0.223520, 2.905760, 0.000000) -> (-0.013571, -0.110163) and (-0.015498, -0.107418)
(-0.467360, 2.702560, 0.000000) -> (-0.201845, -0.025540) and (-0.205309, -0.025926)
(-0.264160, 2.702560, 0.000000) -> (-0.127729, -0.116162) and (-0.128324, -0.119000)
(-0.264160, 2.905760, 0.000000) -> (-0.031350, -0.086924) and (-0.029987, -0.088341)
(-0.467360, 2.905760, 0.000000) -> (-0.106648, 0.011038) and (-0.107272, 0.013418)
(-0.223520, 2.214880, 0.000000) -> (-0.299659, -0.194593) and (-0.304297, -0.192908)
(-0.020320, 2.214880, 0.000000) -> (-0.238946, -0.262785) and (-0.237104, -0.262561)
(-0.020320, 2.418080, 0.000000) -> (-0.169034, -0.244920) and (-0.163661, -0.245976)
(-0.223520, 2.418080, 0.000000) -> (-0.231622, -0.174092) and (-0.231617, -0.171393)
(0.264160, 2.458720, 0.000000) -> (-0.058330, -0.341633) and (-0.061965, -0.337979)
(0.467360, 2.458720, 0.000000) -> (-0.005513, -0.398003) and (-0.006323, -0.399815)
(0.467360, 2.661920, 0.000000) -> (0.075196, -0.388429) and (0.077600, -0.391414)
(0.264160, 2.661920, 0.000000) -> (0.022033, -0.329872) and (0.022343, -0.325622)
(-0.223520, 2.458720, 0.000000) -> (-0.211504, -0.167801) and (-0.216019, -0.166776)
(-0.020320, 2.458720, 0.000000) -> (-0.147577, -0.241271) and (-0.147946, -0.242428)
(-0.020320, 2.661920, 0.000000) -> (-0.066741, -0.222767) and (-0.063537, -0.223367)
(-0.223520, 2.661920, 0.000000) -> (-0.131346, -0.144562) and (-0.131963, -0.141894)
(-0.467360, 2.458720, 0.000000) -> (-0.302931, -0.066969) and (-0.306293, -0.066454)
(-0.264160, 2.458720, 0.000000) -> (-0.230328, -0.148450) and (-0.230379, -0.150818)
(-0.264160, 2.661920, 0.000000) -> (-0.149071, -0.123500) and (-0.146446, -0.124650)
(-0.467360, 2.661920, 0.000000) -> (-0.223454, -0.034898) and (-0.223297, -0.033146)
(-0.711200, 2.214880, 0.000000) -> (-0.489978, 0.001325) and (-0.491241, 0.000881)
(-0.508000, 2.214880, 0.000000) -> (-0.409297, -0.083193) and (-0.408469, -0.084922)
(-0.508000, 2.418080, 0.000000) -> (-0.344156, -0.053033) and (-0.337627, -0.055046)
(-0.711200, 2.418080, 0.000000) -> (-0.424343, 0.034761) and (-0.422434, 0.038031)
calculateReprojectionError ends
[ INFO] [1616909249.845004760]: write your code here!
R:  0.530913  0.800224  0.278879
-0.748764  0.288861  0.596584
 0.396843 -0.525548  0.752539
R_ref:  0.532498  0.797528  0.283539
-0.749895   0.28915  0.595021
 0.392561 -0.529472  0.752034
T: -2.21035
-1.16387
 3.12659
T_ref: [-2.221085599109323;
 -1.170326164095419;
 3.150292835698724]
[ INFO] [1616909249.845207323]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.389426, -0.100871) and (-0.386068, -0.097991)
(-0.264160, 2.214880, 0.000000) -> (-0.318744, -0.174597) and (-0.311238, -0.175638)
(-0.264160, 2.418080, 0.000000) -> (-0.250371, -0.154011) and (-0.237353, -0.152827)
(-0.467360, 2.418080, 0.000000) -> (-0.321426, -0.074782) and (-0.313400, -0.069115)
(-0.711200, 2.702560, 0.000000) -> (-0.305370, 0.101853) and (-0.298648, 0.104852)
(-0.508000, 2.702560, 0.000000) -> (-0.220001, -0.001108) and (-0.210944, -0.001886)
(-0.508000, 2.905760, 0.000000) -> (-0.125564, 0.037705) and (-0.110736, 0.039960)
(-0.711200, 2.905760, 0.000000) -> (-0.212938, 0.151009) and (-0.199415, 0.157913)
(0.020320, 2.458720, 0.000000) -> (-0.129683, -0.258958) and (-0.125937, -0.254473)
(0.223520, 2.458720, 0.000000) -> (-0.071745, -0.323811) and (-0.064559, -0.322918)
(0.223520, 2.661920, 0.000000) -> (0.008082, -0.309573) and (0.021170, -0.309588)
(0.020320, 2.661920, 0.000000) -> (-0.049499, -0.241877) and (-0.040002, -0.236312)
(-0.223520, 2.702560, 0.000000) -> (-0.109191, -0.137030) and (-0.102851, -0.133439)
(-0.020320, 2.702560, 0.000000) -> (-0.042986, -0.217301) and (-0.034440, -0.216697)
(-0.020320, 2.905760, 0.000000) -> (0.052692, -0.194955) and (0.065426, -0.194355)
(-0.223520, 2.905760, 0.000000) -> (-0.014182, -0.109167) and (-0.002490, -0.104019)
(-0.467360, 2.702560, 0.000000) -> (-0.201771, -0.024988) and (-0.194520, -0.021875)
(-0.264160, 2.702560, 0.000000) -> (-0.126319, -0.115571) and (-0.117359, -0.115781)
(-0.264160, 2.905760, 0.000000) -> (-0.030665, -0.085596) and (-0.016952, -0.084782)
(-0.467360, 2.905760, 0.000000) -> (-0.106662, 0.012598) and (-0.094214, 0.017984)
(-0.223520, 2.458720, 0.000000) -> (-0.212136, -0.167006) and (-0.207075, -0.163991)
(-0.020320, 2.458720, 0.000000) -> (-0.147582, -0.240088) and (-0.138863, -0.240058)
(-0.020320, 2.661920, 0.000000) -> (-0.065770, -0.221297) and (-0.052924, -0.220832)
(-0.223520, 2.661920, 0.000000) -> (-0.131163, -0.144099) and (-0.121353, -0.138863)
(-0.467360, 2.458720, 0.000000) -> (-0.303590, -0.065817) and (-0.297737, -0.062890)
(-0.264160, 2.458720, 0.000000) -> (-0.228727, -0.147895) and (-0.221481, -0.147927)
(-0.264160, 2.661920, 0.000000) -> (-0.149903, -0.121938) and (-0.135855, -0.121491)
(-0.467360, 2.661920, 0.000000) -> (-0.222889, -0.034595) and (-0.212914, -0.029184)
(-0.711200, 2.214880, 0.000000) -> (-0.489167, 0.000998) and (-0.485343, 0.005023)
(-0.508000, 2.214880, 0.000000) -> (-0.409478, -0.080259) and (-0.401856, -0.081608)
(-0.508000, 2.418080, 0.000000) -> (-0.342990, -0.053355) and (-0.329499, -0.051393)
(-0.711200, 2.418080, 0.000000) -> (-0.424873, 0.037236) and (-0.414945, 0.042666)
calculateReprojectionError ends
[ INFO] [1616909249.845467383]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.389426, -0.100871) and (-0.392130, -0.100006)
(-0.264160, 2.214880, 0.000000) -> (-0.318744, -0.174597) and (-0.317694, -0.177066)
(-0.264160, 2.418080, 0.000000) -> (-0.250371, -0.154011) and (-0.245295, -0.154587)
(-0.467360, 2.418080, 0.000000) -> (-0.321426, -0.074782) and (-0.321055, -0.071548)
(-0.711200, 2.702560, 0.000000) -> (-0.305370, 0.101853) and (-0.308594, 0.100297)
(-0.508000, 2.702560, 0.000000) -> (-0.220001, -0.001108) and (-0.221210, -0.005220)
(-0.508000, 2.905760, 0.000000) -> (-0.125564, 0.037705) and (-0.123318, 0.035984)
(-0.711200, 2.905760, 0.000000) -> (-0.212938, 0.151009) and (-0.211898, 0.152486)
(0.020320, 2.458720, 0.000000) -> (-0.129683, -0.258958) and (-0.134324, -0.255663)
(0.223520, 2.458720, 0.000000) -> (-0.071745, -0.323811) and (-0.072906, -0.323829)
(0.223520, 2.661920, 0.000000) -> (0.008082, -0.309573) and (0.011427, -0.310751)
(0.020320, 2.661920, 0.000000) -> (-0.049499, -0.241877) and (-0.049923, -0.237794)
(-0.223520, 2.702560, 0.000000) -> (-0.109191, -0.137030) and (-0.113226, -0.135610)
(-0.020320, 2.702560, 0.000000) -> (-0.042986, -0.217301) and (-0.044723, -0.218327)
(-0.020320, 2.905760, 0.000000) -> (0.052692, -0.194955) and (0.053324, -0.196338)
(-0.223520, 2.905760, 0.000000) -> (-0.014182, -0.109167) and (-0.014884, -0.106630)
(-0.467360, 2.702560, 0.000000) -> (-0.201771, -0.024988) and (-0.204822, -0.025008)
(-0.264160, 2.702560, 0.000000) -> (-0.126319, -0.115571) and (-0.127738, -0.118086)
(-0.264160, 2.905760, 0.000000) -> (-0.030665, -0.085596) and (-0.029391, -0.087550)
(-0.467360, 2.905760, 0.000000) -> (-0.106662, 0.012598) and (-0.106789, 0.014245)
(-0.223520, 2.458720, 0.000000) -> (-0.212136, -0.167006) and (-0.215372, -0.165710)
(-0.020320, 2.458720, 0.000000) -> (-0.147582, -0.240088) and (-0.147247, -0.241320)
(-0.020320, 2.661920, 0.000000) -> (-0.065770, -0.221297) and (-0.062871, -0.222397)
(-0.223520, 2.661920, 0.000000) -> (-0.131163, -0.144099) and (-0.131358, -0.140953)
(-0.467360, 2.458720, 0.000000) -> (-0.303590, -0.065817) and (-0.305738, -0.065415)
(-0.264160, 2.458720, 0.000000) -> (-0.228727, -0.147895) and (-0.229744, -0.149758)
(-0.264160, 2.661920, 0.000000) -> (-0.149903, -0.121938) and (-0.145856, -0.123712)
(-0.467360, 2.661920, 0.000000) -> (-0.222889, -0.034595) and (-0.222803, -0.032207)
(-0.711200, 2.214880, 0.000000) -> (-0.489167, 0.000998) and (-0.490682, 0.002021)
(-0.508000, 2.214880, 0.000000) -> (-0.409478, -0.080259) and (-0.407819, -0.083764)
(-0.508000, 2.418080, 0.000000) -> (-0.342990, -0.053355) and (-0.337075, -0.053988)
(-0.711200, 2.418080, 0.000000) -> (-0.424873, 0.037236) and (-0.421996, 0.039092)
calculateReprojectionError ends
[ INFO] [1616909249.877841260]: write your code here!
R:  0.528928   0.80346  0.273292
 -0.74848  0.289852  0.596459
 0.400017 -0.520037  0.754684
R_ref:  0.532338  0.797379  0.284258
-0.751503  0.290562  0.592299
 0.389692 -0.528924   0.75391
T: -2.19454
-1.16505
 3.09465
T_ref: [-2.222670261569504;
 -1.177196533403445;
 3.148634571807198]
[ INFO] [1616909249.878099392]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391339, -0.102225) and (-0.377119, -0.098672)
(-0.264160, 2.214880, 0.000000) -> (-0.318614, -0.176669) and (-0.301932, -0.177093)
(-0.264160, 2.418080, 0.000000) -> (-0.250585, -0.154691) and (-0.226068, -0.153885)
(-0.467360, 2.418080, 0.000000) -> (-0.325034, -0.076784) and (-0.302333, -0.069300)
(-0.711200, 2.702560, 0.000000) -> (-0.306930, 0.099818) and (-0.284267, 0.107215)
(-0.508000, 2.702560, 0.000000) -> (-0.220886, -0.002147) and (-0.196392, -0.000998)
(-0.508000, 2.905760, 0.000000) -> (-0.127608, 0.036302) and (-0.093148, 0.041595)
(-0.711200, 2.905760, 0.000000) -> (-0.213484, 0.150098) and (-0.181713, 0.161276)
(0.020320, 2.458720, 0.000000) -> (-0.133687, -0.260966) and (-0.114197, -0.256337)
(0.223520, 2.458720, 0.000000) -> (-0.073010, -0.325360) and (-0.052919, -0.325222)
(0.223520, 2.661920, 0.000000) -> (0.008284, -0.311828) and (0.034688, -0.311592)
(0.020320, 2.661920, 0.000000) -> (-0.050669, -0.243075) and (-0.026214, -0.237827)
(-0.223520, 2.702560, 0.000000) -> (-0.108818, -0.138686) and (-0.088367, -0.134023)
(-0.020320, 2.702560, 0.000000) -> (-0.045096, -0.218697) and (-0.020161, -0.218015)
(-0.020320, 2.905760, 0.000000) -> (0.050919, -0.196847) and (0.082119, -0.195253)
(-0.223520, 2.905760, 0.000000) -> (-0.015163, -0.110645) and (0.014653, -0.104083)
(-0.467360, 2.702560, 0.000000) -> (-0.201672, -0.026288) and (-0.179957, -0.021236)
(-0.264160, 2.702560, 0.000000) -> (-0.128188, -0.117055) and (-0.102849, -0.116190)
(-0.264160, 2.905760, 0.000000) -> (-0.033022, -0.087425) and (0.000269, -0.084645)
(-0.467360, 2.905760, 0.000000) -> (-0.107118, 0.010871) and (-0.076673, 0.019330)
(0.264160, 2.458720, 0.000000) -> (-0.056527, -0.343302) and (-0.041285, -0.338300)
(0.467360, 2.458720, 0.000000) -> (-0.007278, -0.398090) and (0.014049, -0.400504)
(0.467360, 2.661920, 0.000000) -> (0.072370, -0.390509) and (0.100882, -0.391767)
(0.264160, 2.661920, 0.000000) -> (0.023926, -0.329825) and (0.046214, -0.325552)
(-0.223520, 2.458720, 0.000000) -> (-0.212173, -0.169449) and (-0.195345, -0.165115)
(-0.020320, 2.458720, 0.000000) -> (-0.147676, -0.241246) and (-0.127113, -0.241817)
(-0.020320, 2.661920, 0.000000) -> (-0.067263, -0.223426) and (-0.039093, -0.222228)
(-0.223520, 2.661920, 0.000000) -> (-0.133044, -0.145005) and (-0.107359, -0.139543)
(-0.467360, 2.458720, 0.000000) -> (-0.302247, -0.067489) and (-0.286212, -0.062968)
(-0.264160, 2.458720, 0.000000) -> (-0.231741, -0.148888) and (-0.209770, -0.148899)
(-0.264160, 2.661920, 0.000000) -> (-0.149611, -0.123664) and (-0.121842, -0.122001)
(-0.467360, 2.661920, 0.000000) -> (-0.224744, -0.035608) and (-0.198895, -0.028674)
(-0.711200, 2.214880, 0.000000) -> (-0.489644, 0.000492) and (-0.477074, 0.005580)
(-0.508000, 2.214880, 0.000000) -> (-0.409603, -0.083548) and (-0.393000, -0.082109)
(-0.508000, 2.418080, 0.000000) -> (-0.345172, -0.053128) and (-0.318497, -0.051373)
(-0.711200, 2.418080, 0.000000) -> (-0.425408, 0.034423) and (-0.404392, 0.043893)
calculateReprojectionError ends
[ INFO] [1616909249.878609099]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.391339, -0.102225) and (-0.392960, -0.101624)
(-0.264160, 2.214880, 0.000000) -> (-0.318614, -0.176669) and (-0.318641, -0.178808)
(-0.264160, 2.418080, 0.000000) -> (-0.250585, -0.154691) and (-0.246314, -0.156266)
(-0.467360, 2.418080, 0.000000) -> (-0.325034, -0.076784) and (-0.321973, -0.073109)
(-0.711200, 2.702560, 0.000000) -> (-0.306930, 0.099818) and (-0.309496, 0.098841)
(-0.508000, 2.702560, 0.000000) -> (-0.220886, -0.002147) and (-0.222278, -0.006687)
(-0.508000, 2.905760, 0.000000) -> (-0.127608, 0.036302) and (-0.124567, 0.034567)
(-0.711200, 2.905760, 0.000000) -> (-0.213484, 0.150098) and (-0.213012, 0.151042)
(0.020320, 2.458720, 0.000000) -> (-0.133687, -0.260966) and (-0.135405, -0.257563)
(0.223520, 2.458720, 0.000000) -> (-0.073010, -0.325360) and (-0.073970, -0.325931)
(0.223520, 2.661920, 0.000000) -> (0.008284, -0.311828) and (0.010328, -0.312794)
(0.020320, 2.661920, 0.000000) -> (-0.050669, -0.243075) and (-0.051066, -0.239629)
(-0.223520, 2.702560, 0.000000) -> (-0.108818, -0.138686) and (-0.114390, -0.137224)
(-0.020320, 2.702560, 0.000000) -> (-0.045096, -0.218697) and (-0.045886, -0.220109)
(-0.020320, 2.905760, 0.000000) -> (0.050919, -0.196847) and (0.052067, -0.198045)
(-0.223520, 2.905760, 0.000000) -> (-0.015163, -0.110645) and (-0.016179, -0.108171)
(-0.467360, 2.702560, 0.000000) -> (-0.201672, -0.026288) and (-0.205913, -0.026488)
(-0.264160, 2.702560, 0.000000) -> (-0.128188, -0.117055) and (-0.128897, -0.119672)
(-0.264160, 2.905760, 0.000000) -> (-0.033022, -0.087425) and (-0.030688, -0.089064)
(-0.467360, 2.905760, 0.000000) -> (-0.107118, 0.010871) and (-0.108054, 0.012821)
(0.264160, 2.458720, 0.000000) -> (-0.056527, -0.343302) and (-0.062281, -0.338939)
(0.467360, 2.458720, 0.000000) -> (-0.007278, -0.398090) and (-0.006573, -0.400933)
(0.467360, 2.661920, 0.000000) -> (0.072370, -0.390509) and (0.077326, -0.392638)
(0.264160, 2.661920, 0.000000) -> (0.023926, -0.329825) and (0.021974, -0.326673)
(-0.223520, 2.458720, 0.000000) -> (-0.212173, -0.169449) and (-0.216420, -0.167406)
(-0.020320, 2.458720, 0.000000) -> (-0.147676, -0.241246) and (-0.148326, -0.243183)
(-0.020320, 2.661920, 0.000000) -> (-0.067263, -0.223426) and (-0.064018, -0.224193)
(-0.223520, 2.661920, 0.000000) -> (-0.133044, -0.145005) and (-0.132500, -0.142581)
(-0.467360, 2.458720, 0.000000) -> (-0.302247, -0.067489) and (-0.306676, -0.066964)
(-0.264160, 2.458720, 0.000000) -> (-0.231741, -0.148888) and (-0.230780, -0.151425)
(-0.264160, 2.661920, 0.000000) -> (-0.149611, -0.123664) and (-0.146992, -0.125311)
(-0.467360, 2.661920, 0.000000) -> (-0.224744, -0.035608) and (-0.223864, -0.033699)
(-0.711200, 2.214880, 0.000000) -> (-0.489644, 0.000492) and (-0.491282, 0.000489)
(-0.508000, 2.214880, 0.000000) -> (-0.409603, -0.083548) and (-0.408618, -0.085362)
(-0.508000, 2.418080, 0.000000) -> (-0.345172, -0.053128) and (-0.337965, -0.055532)
(-0.711200, 2.418080, 0.000000) -> (-0.425408, 0.034423) and (-0.422695, 0.037597)
calculateReprojectionError ends
[ INFO] [1616909249.918006016]: write your code here!
R:  0.528728  0.802866  0.275415
-0.748623  0.288181  0.597089
 0.400013 -0.521879  0.753413
R_ref:  0.530842  0.799167  0.282026
-0.750704  0.289004   0.59407
 0.393255 -0.527076  0.753354
T: -2.21489
 -1.1629
 3.11375
T_ref: [-2.23131676003418;
 -1.171154690746015;
 3.145302926490519]
[ INFO] [1616909249.918268660]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.392373, -0.101146) and (-0.386100, -0.098669)
(-0.264160, 2.214880, 0.000000) -> (-0.321958, -0.174846) and (-0.311151, -0.176469)
(-0.264160, 2.418080, 0.000000) -> (-0.254275, -0.154809) and (-0.236617, -0.153650)
(-0.467360, 2.418080, 0.000000) -> (-0.325762, -0.075229) and (-0.312702, -0.069781)
(-0.711200, 2.702560, 0.000000) -> (-0.308892, 0.101684) and (-0.296810, 0.104557)
(-0.508000, 2.702560, 0.000000) -> (-0.223232, -0.001106) and (-0.209109, -0.002512)
(-0.508000, 2.905760, 0.000000) -> (-0.129579, 0.037461) and (-0.107991, 0.039301)
(-0.711200, 2.905760, 0.000000) -> (-0.215557, 0.150183) and (-0.196515, 0.157609)
(0.020320, 2.458720, 0.000000) -> (-0.133644, -0.259944) and (-0.125155, -0.255368)
(0.223520, 2.458720, 0.000000) -> (-0.074295, -0.324590) and (-0.063899, -0.323786)
(0.223520, 2.661920, 0.000000) -> (0.003466, -0.309506) and (0.022302, -0.310433)
(0.020320, 2.661920, 0.000000) -> (-0.052504, -0.242163) and (-0.038658, -0.237201)
(-0.223520, 2.702560, 0.000000) -> (-0.110844, -0.137562) and (-0.101169, -0.134291)
(-0.020320, 2.702560, 0.000000) -> (-0.047195, -0.217443) and (-0.032941, -0.217588)
(-0.020320, 2.905760, 0.000000) -> (0.048675, -0.195545) and (0.067520, -0.195259)
(-0.223520, 2.905760, 0.000000) -> (-0.016725, -0.109663) and (-0.000091, -0.104901)
(-0.467360, 2.702560, 0.000000) -> (-0.204505, -0.025722) and (-0.192697, -0.022549)
(-0.264160, 2.702560, 0.000000) -> (-0.130110, -0.115472) and (-0.115647, -0.116615)
(-0.264160, 2.905760, 0.000000) -> (-0.034133, -0.086892) and (-0.014497, -0.085648)
(-0.467360, 2.905760, 0.000000) -> (-0.109109, 0.011739) and (-0.091511, 0.017276)
(-0.223520, 2.458720, 0.000000) -> (-0.215176, -0.168236) and (-0.206210, -0.164834)
(-0.020320, 2.458720, 0.000000) -> (-0.148499, -0.240145) and (-0.138061, -0.240952)
(-0.020320, 2.661920, 0.000000) -> (-0.069370, -0.222408) and (-0.051543, -0.221722)
(-0.223520, 2.661920, 0.000000) -> (-0.134224, -0.144615) and (-0.119811, -0.139712)
(-0.467360, 2.458720, 0.000000) -> (-0.305103, -0.066270) and (-0.296885, -0.063556)
(-0.264160, 2.458720, 0.000000) -> (-0.233423, -0.148205) and (-0.220610, -0.148750)
(-0.264160, 2.661920, 0.000000) -> (-0.152851, -0.122584) and (-0.134287, -0.122322)
(-0.467360, 2.661920, 0.000000) -> (-0.226384, -0.035221) and (-0.211259, -0.029855)
(-0.711200, 2.214880, 0.000000) -> (-0.492222, 0.001573) and (-0.485651, 0.004668)
(-0.508000, 2.214880, 0.000000) -> (-0.412307, -0.081985) and (-0.401924, -0.082244)
(-0.508000, 2.418080, 0.000000) -> (-0.347490, -0.052633) and (-0.328819, -0.052014)
(-0.711200, 2.418080, 0.000000) -> (-0.427593, 0.035804) and (-0.414421, 0.042346)
calculateReprojectionError ends
[ INFO] [1616909249.918622084]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.392373, -0.101146) and (-0.395380, -0.100438)
(-0.264160, 2.214880, 0.000000) -> (-0.321958, -0.174846) and (-0.320961, -0.177554)
(-0.264160, 2.418080, 0.000000) -> (-0.254275, -0.154809) and (-0.248510, -0.155081)
(-0.467360, 2.418080, 0.000000) -> (-0.325762, -0.075229) and (-0.324221, -0.072004)
(-0.711200, 2.702560, 0.000000) -> (-0.308892, 0.101684) and (-0.311592, 0.099778)
(-0.508000, 2.702560, 0.000000) -> (-0.223232, -0.001106) and (-0.224307, -0.005750)
(-0.508000, 2.905760, 0.000000) -> (-0.129579, 0.037461) and (-0.126450, 0.035347)
(-0.711200, 2.905760, 0.000000) -> (-0.215557, 0.150183) and (-0.214881, 0.151809)
(0.020320, 2.458720, 0.000000) -> (-0.133644, -0.259944) and (-0.137616, -0.256185)
(0.223520, 2.458720, 0.000000) -> (-0.074295, -0.324590) and (-0.076259, -0.324359)
(0.223520, 2.661920, 0.000000) -> (0.003466, -0.309506) and (0.008008, -0.311253)
(0.020320, 2.661920, 0.000000) -> (-0.052504, -0.242163) and (-0.053256, -0.238309)
(-0.223520, 2.702560, 0.000000) -> (-0.110844, -0.137562) and (-0.116461, -0.136138)
(-0.020320, 2.702560, 0.000000) -> (-0.047195, -0.217443) and (-0.048052, -0.218844)
(-0.020320, 2.905760, 0.000000) -> (0.048675, -0.195545) and (0.049873, -0.196869)
(-0.223520, 2.905760, 0.000000) -> (-0.016725, -0.109663) and (-0.018208, -0.107206)
(-0.467360, 2.702560, 0.000000) -> (-0.204505, -0.025722) and (-0.207939, -0.025539)
(-0.264160, 2.702560, 0.000000) -> (-0.130110, -0.115472) and (-0.130954, -0.118616)
(-0.264160, 2.905760, 0.000000) -> (-0.034133, -0.086892) and (-0.032690, -0.088135)
(-0.467360, 2.905760, 0.000000) -> (-0.109109, 0.011739) and (-0.109950, 0.013617)
(-0.223520, 2.458720, 0.000000) -> (-0.215176, -0.168236) and (-0.218592, -0.166212)
(-0.020320, 2.458720, 0.000000) -> (-0.148499, -0.240145) and (-0.150526, -0.241840)
(-0.020320, 2.661920, 0.000000) -> (-0.069370, -0.222408) and (-0.066186, -0.222914)
(-0.223520, 2.661920, 0.000000) -> (-0.134224, -0.144615) and (-0.134584, -0.141475)
(-0.467360, 2.458720, 0.000000) -> (-0.305103, -0.066270) and (-0.308891, -0.065878)
(-0.264160, 2.458720, 0.000000) -> (-0.233423, -0.148205) and (-0.232953, -0.150255)
(-0.264160, 2.661920, 0.000000) -> (-0.152851, -0.122584) and (-0.149065, -0.124234)
(-0.467360, 2.661920, 0.000000) -> (-0.226384, -0.035221) and (-0.225921, -0.032724)
(-0.711200, 2.214880, 0.000000) -> (-0.492222, 0.001573) and (-0.493928, 0.001682)
(-0.508000, 2.214880, 0.000000) -> (-0.412307, -0.081985) and (-0.411067, -0.084183)
(-0.508000, 2.418080, 0.000000) -> (-0.347490, -0.052633) and (-0.340233, -0.054435)
(-0.711200, 2.418080, 0.000000) -> (-0.427593, 0.035804) and (-0.425114, 0.038703)
calculateReprojectionError ends
[ INFO] [1616909249.948489932]: write your code here!
R:  0.520224  0.817322  0.247693
  -0.7461  0.293816  0.597501
 0.415575 -0.495638  0.762654
R_ref:  0.533142  0.794487  0.290775
-0.755188  0.291973  0.586893
  0.38138 -0.532487   0.75565
T: -2.14756
-1.14526
 2.97371
T_ref: [-2.222250900408317;
 -1.181405664092457;
 3.169387225718727]
[ INFO] [1616909249.948743973]: 重投影误差!
calculateReprojectionError begins
(-0.711200, 2.702560, 0.000000) -> (-0.311096, 0.101395) and (-0.230592, 0.134027)
(-0.508000, 2.702560, 0.000000) -> (-0.225292, -0.000590) and (-0.142628, 0.019541)
(-0.508000, 2.905760, 0.000000) -> (-0.132049, 0.037424) and (-0.027900, 0.066177)
(-0.711200, 2.905760, 0.000000) -> (-0.217977, 0.150771) and (-0.115194, 0.193159)
(0.020320, 2.458720, 0.000000) -> (-0.133085, -0.259715) and (-0.072257, -0.248376)
(0.223520, 2.458720, 0.000000) -> (-0.076718, -0.324322) and (-0.011752, -0.319066)
(0.223520, 2.661920, 0.000000) -> (0.002693, -0.309967) and (0.082623, -0.303288)
(0.020320, 2.661920, 0.000000) -> (-0.054809, -0.242134) and (0.023246, -0.227514)
(-0.223520, 2.702560, 0.000000) -> (-0.113958, -0.137642) and (-0.035672, -0.119664)
(-0.020320, 2.702560, 0.000000) -> (-0.047604, -0.217739) and (0.031202, -0.206701)
(-0.020320, 2.905760, 0.000000) -> (0.047130, -0.195312) and (0.142164, -0.181204)
(-0.223520, 2.905760, 0.000000) -> (-0.018886, -0.110009) and (0.077119, -0.086587)
(-0.467360, 2.702560, 0.000000) -> (-0.205917, -0.026243) and (-0.126274, -0.001745)
(-0.264160, 2.702560, 0.000000) -> (-0.131478, -0.115832) and (-0.049935, -0.101100)
(-0.264160, 2.905760, 0.000000) -> (-0.037130, -0.086509) and (0.063184, -0.066317)
(-0.467360, 2.905760, 0.000000) -> (-0.111468, 0.012459) and (-0.011762, 0.042703)
(0.264160, 2.458720, 0.000000) -> (-0.063084, -0.341745) and (-0.000308, -0.332436)
(0.467360, 2.458720, 0.000000) -> (-0.008685, -0.397934) and (0.053935, -0.395810)
(0.467360, 2.661920, 0.000000) -> (0.069313, -0.386663) and (0.146715, -0.385078)
(0.264160, 2.661920, 0.000000) -> (0.017769, -0.329888) and (0.093817, -0.317572)
(-0.223520, 2.458720, 0.000000) -> (-0.215747, -0.168097) and (-0.152978, -0.154066)
(-0.020320, 2.458720, 0.000000) -> (-0.152398, -0.240819) and (-0.085060, -0.233417)
(-0.020320, 2.661920, 0.000000) -> (-0.071677, -0.222208) and (0.010640, -0.211427)
(-0.223520, 2.661920, 0.000000) -> (-0.137015, -0.144443) and (-0.056484, -0.125768)
(-0.467360, 2.458720, 0.000000) -> (-0.308123, -0.066332) and (-0.244180, -0.047511)
(-0.264160, 2.458720, 0.000000) -> (-0.233821, -0.147981) and (-0.167398, -0.137218)
(-0.264160, 2.661920, 0.000000) -> (-0.154510, -0.122761) and (-0.070789, -0.107512)
(-0.467360, 2.661920, 0.000000) -> (-0.227804, -0.035296) and (-0.147280, -0.009899)
calculateReprojectionError ends
[ INFO] [1616909249.949031884]: 重投影误差_reference!
calculateReprojectionError begins
(-0.711200, 2.702560, 0.000000) -> (-0.311096, 0.101395) and (-0.311345, 0.099213)
(-0.508000, 2.702560, 0.000000) -> (-0.225292, -0.000590) and (-0.225138, -0.005659)
(-0.508000, 2.905760, 0.000000) -> (-0.132049, 0.037424) and (-0.129169, 0.035448)
(-0.711200, 2.905760, 0.000000) -> (-0.217977, 0.150771) and (-0.216775, 0.151078)
(0.020320, 2.458720, 0.000000) -> (-0.133085, -0.259715) and (-0.138122, -0.256369)
(0.223520, 2.458720, 0.000000) -> (-0.076718, -0.324322) and (-0.076932, -0.325037)
(0.223520, 2.661920, 0.000000) -> (0.002693, -0.309967) and (0.006410, -0.311887)
(0.020320, 2.661920, 0.000000) -> (-0.054809, -0.242134) and (-0.054872, -0.238417)
(-0.223520, 2.702560, 0.000000) -> (-0.113958, -0.137642) and (-0.118094, -0.135880)
(-0.020320, 2.702560, 0.000000) -> (-0.047604, -0.217739) and (-0.049889, -0.218852)
(-0.020320, 2.905760, 0.000000) -> (0.047130, -0.195312) and (0.046770, -0.196770)
(-0.223520, 2.905760, 0.000000) -> (-0.018886, -0.110009) and (-0.021363, -0.106843)
(-0.467360, 2.702560, 0.000000) -> (-0.205917, -0.026243) and (-0.208930, -0.025377)
(-0.264160, 2.702560, 0.000000) -> (-0.131478, -0.115832) and (-0.132513, -0.118339)
(-0.264160, 2.905760, 0.000000) -> (-0.037130, -0.086509) and (-0.035822, -0.087758)
(-0.467360, 2.905760, 0.000000) -> (-0.111468, 0.012459) and (-0.112776, 0.013812)
(0.264160, 2.458720, 0.000000) -> (-0.063084, -0.341745) and (-0.065274, -0.338119)
(0.467360, 2.458720, 0.000000) -> (-0.008685, -0.397934) and (-0.009646, -0.400546)
(0.467360, 2.661920, 0.000000) -> (0.069313, -0.386663) and (0.073453, -0.392263)
(0.264160, 2.661920, 0.000000) -> (0.017769, -0.329888) and (0.018051, -0.325843)
(-0.223520, 2.458720, 0.000000) -> (-0.215747, -0.168097) and (-0.218603, -0.166052)
(-0.020320, 2.458720, 0.000000) -> (-0.152398, -0.240819) and (-0.150974, -0.241946)
(-0.020320, 2.661920, 0.000000) -> (-0.071677, -0.222208) and (-0.067782, -0.222940)
(-0.223520, 2.661920, 0.000000) -> (-0.137015, -0.144443) and (-0.135933, -0.141235)
(-0.467360, 2.458720, 0.000000) -> (-0.308123, -0.066332) and (-0.307984, -0.065748)
(-0.264160, 2.458720, 0.000000) -> (-0.233821, -0.147981) and (-0.232843, -0.150071)
(-0.264160, 2.661920, 0.000000) -> (-0.154510, -0.122761) and (-0.150330, -0.123974)
(-0.467360, 2.661920, 0.000000) -> (-0.227804, -0.035296) and (-0.226574, -0.032568)
calculateReprojectionError ends
[ INFO] [1616909249.979112909]: write your code here!
R:  0.521342  0.814815  0.253535
-0.747534  0.292776  0.596218
 0.411578 -0.500359  0.761738
R_ref:  0.529308  0.800313   0.28166
-0.751736  0.288474  0.593022
 0.393351 -0.525625  0.754316
T: -2.18203
-1.15145
 3.01026
T_ref: [-2.239361199691934;
 -1.169084299295188;
 3.141475530321042]
[ INFO] [1616909249.979334767]: 重投影误差!
calculateReprojectionError begins
(-0.711200, 2.702560, 0.000000) -> (-0.311679, 0.101929) and (-0.256884, 0.125574)
(-0.508000, 2.702560, 0.000000) -> (-0.226015, -0.000024) and (-0.168943, 0.013491)
(-0.508000, 2.905760, 0.000000) -> (-0.131984, 0.038182) and (-0.058798, 0.058667)
(-0.711200, 2.905760, 0.000000) -> (-0.218995, 0.151050) and (-0.146525, 0.182758)
(0.020320, 2.458720, 0.000000) -> (-0.135416, -0.259486) and (-0.093960, -0.249824)
(0.223520, 2.458720, 0.000000) -> (-0.080342, -0.323878) and (-0.033172, -0.319804)
(0.223520, 2.661920, 0.000000) -> (0.001268, -0.309691) and (0.058447, -0.304566)
(0.020320, 2.661920, 0.000000) -> (-0.054889, -0.241817) and (-0.001462, -0.229612)
(-0.223520, 2.702560, 0.000000) -> (-0.115081, -0.136872) and (-0.061606, -0.123314)
(-0.020320, 2.702560, 0.000000) -> (-0.048928, -0.217212) and (0.005735, -0.209142)
(-0.020320, 2.905760, 0.000000) -> (0.045490, -0.194568) and (0.113071, -0.184446)
(-0.223520, 2.905760, 0.000000) -> (-0.019620, -0.109792) and (0.047185, -0.091249)
(-0.467360, 2.702560, 0.000000) -> (-0.206598, -0.025047) and (-0.152559, -0.007391)
(-0.264160, 2.702560, 0.000000) -> (-0.133219, -0.114642) and (-0.075946, -0.105036)
(-0.264160, 2.905760, 0.000000) -> (-0.037129, -0.086351) and (0.033094, -0.071317)
(-0.467360, 2.905760, 0.000000) -> (-0.112592, 0.012834) and (-0.042544, 0.035674)
(0.264160, 2.458720, 0.000000) -> (-0.061371, -0.341491) and (-0.021661, -0.333057)
(0.467360, 2.458720, 0.000000) -> (-0.012325, -0.398248) and (0.032968, -0.395948)
(0.467360, 2.661920, 0.000000) -> (0.066357, -0.386141) and (0.123266, -0.385666)
(0.264160, 2.661920, 0.000000) -> (0.017500, -0.328439) and (0.069756, -0.318716)
(-0.223520, 2.458720, 0.000000) -> (-0.216845, -0.166538) and (-0.174855, -0.156693)
(-0.020320, 2.458720, 0.000000) -> (-0.154181, -0.239705) and (-0.106806, -0.235035)
(-0.020320, 2.661920, 0.000000) -> (-0.072296, -0.221430) and (-0.014164, -0.213720)
(-0.223520, 2.661920, 0.000000) -> (-0.137514, -0.144489) and (-0.081690, -0.129233)
(-0.467360, 2.458720, 0.000000) -> (-0.308701, -0.065159) and (-0.265978, -0.051789)
(-0.264160, 2.458720, 0.000000) -> (-0.235854, -0.147405) and (-0.189282, -0.140084)
(-0.264160, 2.661920, 0.000000) -> (-0.155073, -0.121811) and (-0.096059, -0.111256)
(-0.467360, 2.661920, 0.000000) -> (-0.228989, -0.034767) and (-0.172755, -0.015297)
(-0.711200, 2.214880, 0.000000) -> (-0.496304, 0.002461) and (-0.464851, 0.017812)
(-0.508000, 2.214880, 0.000000) -> (-0.415399, -0.080399) and (-0.379312, -0.072793)
(-0.508000, 2.418080, 0.000000) -> (-0.350493, -0.052346) and (-0.299499, -0.040057)
(-0.711200, 2.418080, 0.000000) -> (-0.431070, 0.036439) and (-0.386380, 0.058473)
calculateReprojectionError ends
[ INFO] [1616909249.979626980]: 重投影误差_reference!
calculateReprojectionError begins
(-0.711200, 2.702560, 0.000000) -> (-0.311679, 0.101929) and (-0.314262, 0.100729)
(-0.508000, 2.702560, 0.000000) -> (-0.226015, -0.000024) and (-0.227041, -0.004985)
(-0.508000, 2.905760, 0.000000) -> (-0.131984, 0.038182) and (-0.129202, 0.036085)
(-0.711200, 2.905760, 0.000000) -> (-0.218995, 0.151050) and (-0.217545, 0.152721)
(0.020320, 2.458720, 0.000000) -> (-0.135416, -0.259486) and (-0.140466, -0.255819)
(0.223520, 2.458720, 0.000000) -> (-0.080342, -0.323878) and (-0.079144, -0.324122)
(0.223520, 2.661920, 0.000000) -> (0.001268, -0.309691) and (0.005092, -0.311009)
(0.020320, 2.661920, 0.000000) -> (-0.054889, -0.241817) and (-0.056126, -0.237939)
(-0.223520, 2.702560, 0.000000) -> (-0.115081, -0.136872) and (-0.119275, -0.135600)
(-0.020320, 2.702560, 0.000000) -> (-0.048928, -0.217212) and (-0.050920, -0.218448)
(-0.020320, 2.905760, 0.000000) -> (0.045490, -0.194568) and (0.046945, -0.196478)
(-0.223520, 2.905760, 0.000000) -> (-0.019620, -0.109792) and (-0.021069, -0.106682)
(-0.467360, 2.702560, 0.000000) -> (-0.206598, -0.025047) and (-0.210685, -0.024809)
(-0.264160, 2.702560, 0.000000) -> (-0.133219, -0.114642) and (-0.133757, -0.118047)
(-0.264160, 2.905760, 0.000000) -> (-0.037129, -0.086351) and (-0.035535, -0.087582)
(-0.467360, 2.905760, 0.000000) -> (-0.112592, 0.012834) and (-0.112719, 0.014322)
(0.264160, 2.458720, 0.000000) -> (-0.061371, -0.341491) and (-0.067482, -0.337112)
(0.467360, 2.458720, 0.000000) -> (-0.012325, -0.398248) and (-0.011923, -0.398996)
(0.467360, 2.661920, 0.000000) -> (0.066357, -0.386141) and (0.071846, -0.390688)
(0.264160, 2.661920, 0.000000) -> (0.017500, -0.328439) and (0.016699, -0.324864)
(-0.223520, 2.458720, 0.000000) -> (-0.216845, -0.166538) and (-0.221400, -0.165671)
(-0.020320, 2.458720, 0.000000) -> (-0.154181, -0.239705) and (-0.153370, -0.241446)
(-0.020320, 2.661920, 0.000000) -> (-0.072296, -0.221430) and (-0.069046, -0.222517)
(-0.223520, 2.661920, 0.000000) -> (-0.137514, -0.144489) and (-0.137395, -0.140935)
(-0.467360, 2.458720, 0.000000) -> (-0.308701, -0.065159) and (-0.311656, -0.065139)
(-0.264160, 2.458720, 0.000000) -> (-0.235854, -0.147405) and (-0.235754, -0.149683)
(-0.264160, 2.661920, 0.000000) -> (-0.155073, -0.121811) and (-0.151865, -0.123663)
(-0.467360, 2.661920, 0.000000) -> (-0.228989, -0.034767) and (-0.228667, -0.031991)
(-0.711200, 2.214880, 0.000000) -> (-0.496304, 0.002461) and (-0.496727, 0.002643)
(-0.508000, 2.214880, 0.000000) -> (-0.415399, -0.080399) and (-0.413880, -0.083415)
(-0.508000, 2.418080, 0.000000) -> (-0.350493, -0.052346) and (-0.342998, -0.053661)
(-0.711200, 2.418080, 0.000000) -> (-0.431070, 0.036439) and (-0.427847, 0.039671)
calculateReprojectionError ends
[ INFO] [1616909250.018490773]: write your code here!
R:  0.517031  0.819004   0.24882
-0.748624  0.291725  0.595364
 0.415018 -0.494095  0.763957
R_ref:  0.528767  0.799558  0.284801
-0.753825  0.288185  0.590506
 0.390069 -0.526931   0.75511
T:  -2.1716
-1.13334
 2.97363
T_ref: [-2.237102389392243;
 -1.166843951973272;
 3.147619552075728]
[ INFO] [1616909250.018738960]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.396958, -0.098079) and (-0.355568, -0.081488)
(-0.264160, 2.214880, 0.000000) -> (-0.323919, -0.172764) and (-0.279255, -0.163566)
(-0.264160, 2.418080, 0.000000) -> (-0.256018, -0.152013) and (-0.196352, -0.137891)
(-0.467360, 2.418080, 0.000000) -> (-0.326922, -0.074462) and (-0.273088, -0.049248)
(-0.711200, 2.702560, 0.000000) -> (-0.310832, 0.104103) and (-0.242641, 0.139582)
(-0.508000, 2.702560, 0.000000) -> (-0.225194, 0.001538) and (-0.154708, 0.024771)
(-0.508000, 2.905760, 0.000000) -> (-0.131507, 0.039501) and (-0.041008, 0.071313)
(-0.711200, 2.905760, 0.000000) -> (-0.217674, 0.153380) and (-0.128329, 0.198558)
(0.020320, 2.458720, 0.000000) -> (-0.136043, -0.257986) and (-0.083402, -0.244047)
(0.223520, 2.458720, 0.000000) -> (-0.077262, -0.322169) and (-0.022862, -0.315090)
(0.223520, 2.661920, 0.000000) -> (0.001000, -0.309056) and (0.070863, -0.299304)
(0.020320, 2.661920, 0.000000) -> (-0.054981, -0.240214) and (0.011418, -0.223184)
(-0.223520, 2.702560, 0.000000) -> (-0.115200, -0.135286) and (-0.047723, -0.114916)
(-0.020320, 2.702560, 0.000000) -> (-0.048652, -0.215725) and (0.019206, -0.202302)
(-0.020320, 2.905760, 0.000000) -> (0.046163, -0.193725) and (0.129276, -0.176825)
(-0.223520, 2.905760, 0.000000) -> (-0.018704, -0.108880) and (0.064121, -0.081881)
(-0.467360, 2.702560, 0.000000) -> (-0.207228, -0.023596) and (-0.138353, 0.003418)
(-0.264160, 2.702560, 0.000000) -> (-0.132368, -0.113569) and (-0.061994, -0.096282)
(-0.264160, 2.905760, 0.000000) -> (-0.036641, -0.085129) and (0.050166, -0.061547)
(-0.467360, 2.905760, 0.000000) -> (-0.111646, 0.013852) and (-0.024859, 0.047780)
(0.264160, 2.458720, 0.000000) -> (-0.062282, -0.340605) and (-0.011409, -0.328529)
(0.467360, 2.458720, 0.000000) -> (-0.011100, -0.396862) and (0.042885, -0.392241)
(0.467360, 2.661920, 0.000000) -> (0.067070, -0.385512) and (0.135052, -0.381500)
(0.264160, 2.661920, 0.000000) -> (0.016405, -0.327570) and (0.082071, -0.313657)
(-0.467360, 2.458720, 0.000000) -> (-0.307188, -0.064140) and (-0.255322, -0.042304)
(-0.264160, 2.458720, 0.000000) -> (-0.236376, -0.145668) and (-0.178561, -0.132381)
(-0.264160, 2.661920, 0.000000) -> (-0.155539, -0.121036) and (-0.082681, -0.102688)
(-0.467360, 2.661920, 0.000000) -> (-0.228957, -0.032513) and (-0.159184, -0.004725)
calculateReprojectionError ends
[ INFO] [1616909250.019066656]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.396958, -0.098079) and (-0.396669, -0.098008)
(-0.264160, 2.214880, 0.000000) -> (-0.323919, -0.172764) and (-0.322694, -0.175457)
(-0.264160, 2.418080, 0.000000) -> (-0.256018, -0.152013) and (-0.250441, -0.152991)
(-0.467360, 2.418080, 0.000000) -> (-0.326922, -0.074462) and (-0.325713, -0.069587)
(-0.711200, 2.702560, 0.000000) -> (-0.310832, 0.104103) and (-0.312769, 0.102420)
(-0.508000, 2.702560, 0.000000) -> (-0.225194, 0.001538) and (-0.226079, -0.003319)
(-0.508000, 2.905760, 0.000000) -> (-0.131507, 0.039501) and (-0.128596, 0.037717)
(-0.711200, 2.905760, 0.000000) -> (-0.217674, 0.153380) and (-0.216447, 0.154341)
(0.020320, 2.458720, 0.000000) -> (-0.136043, -0.257986) and (-0.140039, -0.254625)
(0.223520, 2.458720, 0.000000) -> (-0.077262, -0.322169) and (-0.078909, -0.323206)
(0.223520, 2.661920, 0.000000) -> (0.001000, -0.309056) and (0.005157, -0.310133)
(0.020320, 2.661920, 0.000000) -> (-0.054981, -0.240214) and (-0.055906, -0.236771)
(-0.223520, 2.702560, 0.000000) -> (-0.115200, -0.135286) and (-0.118823, -0.134145)
(-0.020320, 2.702560, 0.000000) -> (-0.048652, -0.215725) and (-0.050706, -0.217231)
(-0.020320, 2.905760, 0.000000) -> (0.046163, -0.193725) and (0.046922, -0.195286)
(-0.223520, 2.905760, 0.000000) -> (-0.018704, -0.108880) and (-0.020904, -0.105246)
(-0.467360, 2.702560, 0.000000) -> (-0.207228, -0.023596) and (-0.209811, -0.023162)
(-0.264160, 2.702560, 0.000000) -> (-0.132368, -0.113569) and (-0.133246, -0.116553)
(-0.264160, 2.905760, 0.000000) -> (-0.036641, -0.085129) and (-0.035321, -0.086106)
(-0.467360, 2.905760, 0.000000) -> (-0.111646, 0.013852) and (-0.112191, 0.015940)
(0.264160, 2.458720, 0.000000) -> (-0.062282, -0.340605) and (-0.067278, -0.336255)
(0.467360, 2.458720, 0.000000) -> (-0.011100, -0.396862) and (-0.011841, -0.398450)
(0.467360, 2.661920, 0.000000) -> (0.067070, -0.385512) and (0.071802, -0.390202)
(0.264160, 2.661920, 0.000000) -> (0.016405, -0.327570) and (0.016741, -0.324050)
(-0.467360, 2.458720, 0.000000) -> (-0.307188, -0.064140) and (-0.310429, -0.063465)
(-0.264160, 2.458720, 0.000000) -> (-0.236376, -0.145668) and (-0.234929, -0.148168)
(-0.264160, 2.661920, 0.000000) -> (-0.155539, -0.121036) and (-0.151298, -0.122166)
(-0.467360, 2.661920, 0.000000) -> (-0.228957, -0.032513) and (-0.227730, -0.030340)
calculateReprojectionError ends
[ INFO] [1616909250.049537283]: write your code here!
R:  0.523126  0.807256   0.27327
-0.753479  0.288241   0.59092
 0.398257 -0.515029  0.759037
R_ref:  0.527228  0.800218  0.285801
-0.755213  0.287124  0.589248
 0.389466 -0.526509  0.755715
T: -2.21818
-1.15085
 3.08635
T_ref: [-2.238489906405937;
 -1.163060164786289;
 3.147172016781414]
[ INFO] [1616909250.049751705]: 重投影误差!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.395298, -0.097625) and (-0.383457, -0.091098)
(-0.264160, 2.214880, 0.000000) -> (-0.322902, -0.172358) and (-0.308838, -0.170284)
(-0.264160, 2.418080, 0.000000) -> (-0.255349, -0.150619) and (-0.232955, -0.146807)
(-0.467360, 2.418080, 0.000000) -> (-0.327996, -0.071925) and (-0.308583, -0.061466)
(-0.711200, 2.702560, 0.000000) -> (-0.309706, 0.104450) and (-0.289514, 0.116221)
(-0.508000, 2.702560, 0.000000) -> (-0.224160, 0.002169) and (-0.202573, 0.007308)
(-0.508000, 2.905760, 0.000000) -> (-0.129804, 0.040360) and (-0.099627, 0.050073)
(-0.711200, 2.905760, 0.000000) -> (-0.217037, 0.154323) and (-0.187156, 0.170358)
(0.020320, 2.458720, 0.000000) -> (-0.136464, -0.257535) and (-0.121834, -0.250233)
(0.223520, 2.458720, 0.000000) -> (-0.077620, -0.321770) and (-0.060988, -0.319826)
(0.223520, 2.661920, 0.000000) -> (0.001057, -0.309024) and (0.026383, -0.305916)
(0.020320, 2.661920, 0.000000) -> (-0.054665, -0.239313) and (-0.034056, -0.231444)
(-0.223520, 2.702560, 0.000000) -> (-0.113183, -0.134948) and (-0.095580, -0.126723)
(-0.020320, 2.702560, 0.000000) -> (-0.048980, -0.215455) and (-0.027958, -0.211433)
(-0.020320, 2.905760, 0.000000) -> (0.045823, -0.193329) and (0.073899, -0.188393)
(-0.223520, 2.905760, 0.000000) -> (-0.018513, -0.107327) and (0.007055, -0.096533)
(-0.467360, 2.702560, 0.000000) -> (-0.206025, -0.021946) and (-0.186304, -0.013072)
(-0.264160, 2.702560, 0.000000) -> (-0.132149, -0.113092) and (-0.109931, -0.108746)
(-0.264160, 2.905760, 0.000000) -> (-0.035825, -0.084226) and (-0.007189, -0.076959)
(-0.467360, 2.905760, 0.000000) -> (-0.110506, 0.014500) and (-0.083333, 0.027680)
(-0.467360, 2.458720, 0.000000) -> (-0.306896, -0.063030) and (-0.292457, -0.055084)
(-0.264160, 2.458720, 0.000000) -> (-0.235362, -0.145033) and (-0.216667, -0.141768)
(-0.264160, 2.661920, 0.000000) -> (-0.153568, -0.119809) and (-0.128876, -0.114607)
(-0.467360, 2.661920, 0.000000) -> (-0.228310, -0.031801) and (-0.205207, -0.020553)
calculateReprojectionError ends
[ INFO] [1616909250.049941945]: 重投影误差_reference!
calculateReprojectionError begins
(-0.467360, 2.214880, 0.000000) -> (-0.395298, -0.097625) and (-0.396059, -0.096809)
(-0.264160, 2.214880, 0.000000) -> (-0.322902, -0.172358) and (-0.322328, -0.174438)
(-0.264160, 2.418080, 0.000000) -> (-0.255349, -0.150619) and (-0.249991, -0.152033)
(-0.467360, 2.418080, 0.000000) -> (-0.327996, -0.071925) and (-0.325001, -0.068448)
(-0.711200, 2.702560, 0.000000) -> (-0.309706, 0.104450) and (-0.311497, 0.103656)
(-0.508000, 2.702560, 0.000000) -> (-0.224160, 0.002169) and (-0.225161, -0.002255)
(-0.508000, 2.905760, 0.000000) -> (-0.129804, 0.040360) and (-0.127575, 0.038679)
(-0.711200, 2.905760, 0.000000) -> (-0.217037, 0.154323) and (-0.215041, 0.155461)
(0.020320, 2.458720, 0.000000) -> (-0.136464, -0.257535) and (-0.139886, -0.253930)
(0.223520, 2.458720, 0.000000) -> (-0.077620, -0.321770) and (-0.078947, -0.322685)
(0.223520, 2.661920, 0.000000) -> (0.001057, -0.309024) and (0.005168, -0.309687)
(0.020320, 2.661920, 0.000000) -> (-0.054665, -0.239313) and (-0.055693, -0.236151)
(-0.223520, 2.702560, 0.000000) -> (-0.113183, -0.134948) and (-0.118312, -0.133328)
(-0.020320, 2.702560, 0.000000) -> (-0.048980, -0.215455) and (-0.050437, -0.216592)
(-0.020320, 2.905760, 0.000000) -> (0.045823, -0.193329) and (0.047247, -0.194737)
(-0.223520, 2.905760, 0.000000) -> (-0.018513, -0.107327) and (-0.020321, -0.104522)
(-0.467360, 2.702560, 0.000000) -> (-0.206025, -0.021946) and (-0.208957, -0.022133)
(-0.264160, 2.702560, 0.000000) -> (-0.132149, -0.113092) and (-0.132682, -0.115700)
(-0.264160, 2.905760, 0.000000) -> (-0.035825, -0.084226) and (-0.034682, -0.085348)
(-0.467360, 2.905760, 0.000000) -> (-0.110506, 0.014500) and (-0.111239, 0.016868)
(-0.467360, 2.458720, 0.000000) -> (-0.306896, -0.063030) and (-0.309697, -0.062340)
(-0.264160, 2.458720, 0.000000) -> (-0.235362, -0.145033) and (-0.234462, -0.147224)
(-0.264160, 2.661920, 0.000000) -> (-0.153568, -0.119809) and (-0.150750, -0.121296)
(-0.467360, 2.661920, 0.000000) -> (-0.228310, -0.031801) and (-0.226895, -0.029293)

 

 

 

参考资料

关于ArUco的:

https://docs.opencv.org/master/d5/dae/tutorial_aruco_detection.html

https://blog.csdn.net/u010260681/article/details/77089657

https://www.guyuehome.com/12042

关于SVD求解Ax=0的问题

https://blog.csdn.net/weixin_42587961/article/details/97374248

所谓的SVD是奇异值分解,其定义是

有一个m×n的实数矩阵A,我们想要把它分解成如下的形式:

其中UV均为单位正交阵。具体的求解过程可以参考(https://byjiang.com/2017/11/18/SVD/

参考https://zhuanlan.zhihu.com/p/131097680

关于奇异值分解函数

JacobiSVD<MatrixXf> svd(obs_matrix, ComputeThinU | ComputeThinV);//关于其中得参数可参考:https://blog.csdn.net/xu_fengyu/article/details/103996945
    //U = svd.matrixU();
    // V = svd.matrixV();
    // A = svd.singularValues(); (A为对角线元素,奇异值)

的参数得应用https://blog.csdn.net/xu_fengyu/article/details/103996945

 

 

 

 

 

 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值