This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA2EG: how to manual adjust the GAlignLUT

Part Number: TDA2EG

Hi

  I am working on the calibration of 2D SRV.

  The geometric alignment resulted by the new GAlignLUT table (generated by vision_sdk\apps\tools\surround_vision_tools\2d_calibration_tool) is a little not good which can not be fixed by manual adjust the position of cameras. So i want to manual adjust the value of GAlignLUT before it is complied.

   My idea is as follows:

   Suppose the GAlignLUT is a 100 bytes array, then front/right/rear/left cameras all use 25 bytes for their images respectively. So the GAlignLUT can be viewed as [GAlignLUTofFront, GAlignLUTofRight, GAlignLUTofRear, GAlignLUTofLeft  ];

   Now suppose  i want to translate the front camera view at X direction by 10. I can achieve this by multiply the GAlignLUTofFront with a homogeneous transformation matrix T: [1 0 10; 0 1 0; 0 0 1].

   But GAlignLUTofFront  is a 25 bytes array, and homogeneous transformation matrix T is a 3*3 matrix (9 bytes array).

   So my question is how to do the multiplication ?

Thanks

xuanbo

  • Hi Xuanbo,

    I don't think it would work since GAlignLUT is computed from perspective transform matrix, not by 3x4 [R|T] matrix.  In many cases, poor quality of surround view comes from incorrect (fish-eye) camera distortion model and intrinsic parameters. So I'd like to recommend you to double check distortion models and intrinsic parameters.

  • Hi Do-Kyoung

    I think the distortion model of SRV usecase is not open to us. We only know that VSDK uses a radial distortion model, and the intrinsic parameters we can change is fish eye distortion center only.
    Let me ask the question at this way:
    "GAlignLUT encodes the LDC and perspective transformation". So what is detailed calculation process of GAlignLUT? or the implement of encode?
    Suppose it is a width*height(=50*50) image(come from fish eye), and perspective transformation is a 3*3 matrix, then how to calculate the GAlignLUT?

    Thanks
    xuanbo
  • GAlignLUT is nothing but mapping table between input and output that is calculated from perspective matrix. For a 50*50 image, GAlignLUT is of 50*50. Each element will point the pixel location from an input image, which is calculated from perspective matrix.

    In surround view, we have 4 cameras. So an output image is divided into 4 triangles (we draw lines from a center (car location) to all corners, then we have 4 triangles). Each triangle will map to one of input images. For example, GAlignLUT elements for left triangle area will point a position in a left fisheye image, which is calculated from left camera's perspective matrix

    Do-Kyoung