在接收到上游检测ocr框进行下游ocr预测的时候会报错scale太大或者太小,不做处理

  1. 使用x3 sdb 第4版
  2. 有个问题想请教一下,就是在接收到上游检测ocr框进行下游ocr预测的时候会报错,这个是什么原因呢,为什么感觉scale要大于1这么奇怪,具体如图所示:

[E][DNN][validate_util.cpp:730](1689673223564) invalid roi, scale must be in range (0.5, 8], width: 170, height: 146, dst_w: 96, dst_h: 48, h_scale: 0.328767, w_scale: 0.564706

ocr网络用的tros的resize模型

原因是检测模型检测出来的框比较大,而下游的模型(分类?)输入分辨率比较小,所以dnn内部会做一个抠图后resize的处理,这个过程是bpu硬件进行处理,因此resize能力有使用限制。

解决方法是在下游模型前处理中对所有检测框进行校验,如果不符合resize要求,使用tros中的hobotcv对原图进行reisze,同时检测框也要同步映射。