专栏底层软件J5金字塔数据比对失败

J5金字塔数据比对失败

已解决
一剑下天山2023-01-15
60
36

大佬,请教一下,我们用软件实现金字塔算法,同样的图片,回灌J5金字塔得到的结果,和算法得到的结果不相同,这该怎么查问题?

底层软件
征程5
评论1
0/1000
  • 新手村
    Lv.4

    您好:

    1.这么做的原因是什么,已经有硬件PYM模块了,软件实现没啥意义啊;

    2.你说的比对失败是md5值不对,还是通过hex打开,看数据不对?

    2023-01-15
    0
    35
    • 一剑下天山回复新手村:

      比对失败是按2进制比对的,有些差异;

      2023-01-15
      0
    • 一剑下天山回复一剑下天山:

      由于开发板有限,我们就想软件代替,再做后续开发;

      2023-01-15
      0
    • 新手村回复一剑下天山:

      OK,了解

      2023-01-15
      0
    • 新手村回复一剑下天山:

      差异应该不大吧,应该是某些pixel存在1的差异吧?

      2023-01-15
      0
    • 一剑下天山回复新手村:

      是的,按照之前说的精度1/65536进行插值的,有些图片存在细小差异;

      2023-01-15
      0
    • 新手村回复一剑下天山:

      PYM那些图层会有差异,有规律吗?

      2023-01-15
      0
    • 新手村回复一剑下天山:

      还是说所有图层都有差异,另外再确认一下,你是怎么配置pym json的?

      2023-01-15
      0
    • 一剑下天山回复新手村:

      我们这边目前开了源图层,双线性字塔,Downscale层进行比对,从比对结果来看,只有DS层比对不过,比较奇怪

      2023-01-16
      0
    • 新手村回复一剑下天山:

      DS层比对不过的话,我怀疑是phase设置的不一样导致的问题

      2023-01-16
      0
    • 一剑下天山回复新手村:

      phase在哪设置,为什么会影响图像比对结果?

      2023-01-16
      0
    • 新手村回复一剑下天山:

      phase设置被隐藏了,软件通过output resolution和crop resolution进行计算;你用export LOGLEVEL = 4打开log;logcat | grep DS tmp看下输出;

      2023-01-16
      0
    • 新手村回复一剑下天山:

      至于为啥会影响结果,请看如下图片,phase代表起始位置

      2023-01-16
      0
    • 一剑下天山回复新手村:

      大致了解,执行完之后没有log输出

      2023-01-16
      2
    • 新手村回复一剑下天山:

      export LOGLEVEL = 4需要在执行程序的终端执行;

      2023-01-16
      0
    • 一剑下天山回复新手村:

      嗯,获得phase和step的log打印了,为啥不同的输出,phase不一样,基于什么原则设置的?

      2023-01-17
      1
    • 新手村回复一剑下天山:

      计算公式代码如下:

      precision = (uint32_t)1

      step_tmp = (precision * roi_size) / tgt_size - precision;

      tmp = (precision * roi_size) - (step_tmp + precision) * tgt_size;

      if (step_tmp >= ((uint32_t)1u

      vio_err("downscale ratio beyond (0.5,1], please check the size(%u->%u) again\n",

      roi_size, tgt_size);

      return -1;

      }

      *step = step_tmp;

      *phase = 0;

      2023-01-17
      0
    • 新手村回复一剑下天山:

      原则是保证最好一步踩到最后一个像素点尾端

      2023-01-17
      0
    • 一剑下天山回复新手村:

      了解,我们内部再试试,谢谢

      2023-01-17
      0
    • 新手村回复一剑下天山:

      不客气;

      2023-01-17
      0
    • 一剑下天山回复新手村:

      目前DS层比对没啥问题了,但是DS还是有问题,这是怎么回事?

      2023-01-17
      0
    • 新手村回复一剑下天山:

      是US层比对还有问题?

      2023-01-17
      0
    • 一剑下天山回复新手村:

      对的,US有问题,US公式不一样吗?

      2023-01-17
      0
    • 新手村回复一剑下天山:

      代码如下:

      precision = (uint32_t)1u

      step_tmp = (precision * roi_size) / (tgt_size);

      tmp = (precision * roi_size) - (step_tmp * tgt_size);

      if (step_tmp < (precision / MAXINUM_US_RATIO)) {

      vio_err("upscale ratio can't > 4, please check the size again\n");

      hb_utils_send_sfmu_msg(EventIdPymScaleRatioErr, __LINE__, SUB_EVENT_NUMBER_1, EVENT_ERROR_LEVEL_1, VPMC);

      return -1;

      }

      if (step_tmp > ((uint32_t)1u

      vio_err("upscale ratio can't < 1, please check the size again\n");

      hb_utils_send_sfmu_msg(EventIdPymScaleRatioErr, __LINE__, SUB_EVENT_NUMBER_2, EVENT_ERROR_LEVEL_1, VPMC);

      return -1;

      }

      if (step_tmp == ((uint32_t)1u

      step_tmp = PYM_STEP_PREC_SIZE;//step_tmp - 1

      }

      *step = step_tmp;

      *phase = tmp % precision;

      2023-01-17
      0
    • 一剑下天山回复新手村:

      收到,我试下

      2023-01-17
      0
    • 新手村回复一剑下天山:

      好的,有问题再讨论

      2023-01-17
      0
    • 一剑下天山回复新手村:

      我现在按照公式进行实现,测试了US层某些输出是可以的,有些输出分辨率就不对

      2023-01-17
      0
    • 新手村回复一剑下天山:

      是不是你实现错误了?

      2023-01-17
      0
    • 新手村回复新手村:

      或者你选择 2048*2048 1024*1024的分辨率试下,找下规律,有问题的分辨率是怎么样的?

      2023-01-17
      0
    • 一剑下天山回复新手村:

      抱歉,确实是我代码实现上的问题,目前已解决

      2023-01-17
      0
    • 新手村回复一剑下天山:

      嗯,决定双线性采样的参数就这么2个,所以再比对不过,我也没办法了;

      2023-01-17
      0
    • 一剑下天山回复新手村:

      现在BL层没啥问题了,但是gs层还有问题,gs层有啥特殊的吗?

      2023-01-17
      0
    • 新手村回复一剑下天山:

      gs层请检查边界pixel值的计算,其他没啥特殊的了;

      2023-01-17
      0
    • 一剑下天山回复新手村:

      边界的话,我这边是往外扩展2行数据进行补充的;

      2023-01-17
      0
    • 新手村回复一剑下天山:

      一般往外补充分多种模式,有全0填补,也有镜像填补,你用的哪种?

      2023-01-17
      0
    • 新手村回复新手村:

      J5上用的哪种,我得明天查下资料,大概率是镜像填补,你先按这个试试吧;

      2023-01-17
      0