PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

送到串联推理系统的图片尺寸有要求吗?我看检测里写的这两句代码min_input_shape = "x": [1, 3, 50, 50],max_input_shape = "x": [1, 3, 1536, 1536],最小是50*50,最大是1536*1536,那会把图片resize到统一尺寸再检测吗?

Open 1998wy123 opened this issue 2 years ago • 6 comments

请提供下述完整信息以便快速定位问题/Please provide the following information to quickly locate the problem

  • 系统环境/System Environment:
  • 版本号/Version:Paddle: PaddleOCR: 问题相关组件/Related components:
  • 运行指令/Command Code:
  • 完整报错/Complete Error Message:

1998wy123 avatar Aug 03 '22 02:08 1998wy123

指的是CPP预测代码吗?https://github.com/PaddlePaddle/PaddleOCR/blob/bb77fcef6fdfc029f92d7876b714554389053699/deploy/cpp_infer/src/ocr_det.cpp#L36-L48

这里是开启TRT 预测的时候,限制最大最小输入,实际预测的时候是采用动态shape预测的方式,不会统一resize到统一尺寸,预处理实现在:https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/deploy/cpp_infer/src/preprocess_op.cpp#L71-L96

LDOUBLEV avatar Aug 03 '22 06:08 LDOUBLEV

在tools.infer.utility.py,串联推理的时候,不管输入什么尺寸的图片都可以预测是吗?还是比如说比960大了resize到960,比960小了resize到960

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年8月3日(星期三) 下午2:06 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [PaddlePaddle/PaddleOCR] 送到串联推理系统的图片尺寸有要求吗?我看检测里写的这两句代码min_input_shape = "x": [1, 3, 50, 50],max_input_shape = "x": [1, 3, 1536, 1536],最小是5050,最大是15361536,那会把图片resize到统一尺寸再检测吗? (Issue #7082)

指的是CPP预测代码吗?https://github.com/PaddlePaddle/PaddleOCR/blob/bb77fcef6fdfc029f92d7876b714554389053699/deploy/cpp_infer/src/ocr_det.cpp#L36-L48

这里是开启TRT 预测的时候,限制最大最小输入,实际预测的时候是采用动态shape预测的方式,不会统一resize到统一尺寸,预处理实现在:https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/deploy/cpp_infer/src/preprocess_op.cpp#L71-L96

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

1998wy123 avatar Aug 03 '22 06:08 1998wy123

参数默认设置最大边为960: https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/tools/infer/utility.py#L48-L49

大于这个边的会等比例缩放到最长边为960

LDOUBLEV avatar Aug 03 '22 07:08 LDOUBLEV

if mode == "det": min_input_shape = { "x": [1, 3, 50, 50], "conv2d_92.tmp_0": [1, 120, 20, 20], "conv2d_91.tmp_0": [1, 24, 10, 10], "conv2d_59.tmp_0": [1, 96, 20, 20], "nearest_interp_v2_1.tmp_0": [1, 256, 10, 10], "nearest_interp_v2_2.tmp_0": [1, 256, 20, 20], "conv2d_124.tmp_0": [1, 256, 20, 20], "nearest_interp_v2_3.tmp_0": [1, 64, 20, 20], "nearest_interp_v2_4.tmp_0": [1, 64, 20, 20], "nearest_interp_v2_5.tmp_0": [1, 64, 20, 20], "elementwise_add_7": [1, 56, 2, 2], "nearest_interp_v2_0.tmp_0": [1, 256, 2, 2] } max_input_shape = { "x": [1, 3, 1536, 1536], "conv2d_92.tmp_0": [1, 120, 400, 400], "conv2d_91.tmp_0": [1, 24, 200, 200], "conv2d_59.tmp_0": [1, 96, 400, 400], "nearest_interp_v2_1.tmp_0": [1, 256, 200, 200], "conv2d_124.tmp_0": [1, 256, 400, 400], "nearest_interp_v2_2.tmp_0": [1, 256, 400, 400], "nearest_interp_v2_3.tmp_0": [1, 64, 400, 400], "nearest_interp_v2_4.tmp_0": [1, 64, 400, 400], "nearest_interp_v2_5.tmp_0": [1, 64, 400, 400], "elementwise_add_7": [1, 56, 400, 400], "nearest_interp_v2_0.tmp_0": [1, 256, 400, 400]老师,我看这里说了最大输入是1536,最小是50,是不是不在这个范围的图片尺寸就报错,它会把输入图片缩放到统一尺寸,再从检测步骤开始吗

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年8月3日(星期三) 下午3:07 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [PaddlePaddle/PaddleOCR] 送到串联推理系统的图片尺寸有要求吗?我看检测里写的这两句代码min_input_shape = "x": [1, 3, 50, 50],max_input_shape = "x": [1, 3, 1536, 1536],最小是5050,最大是15361536,那会把图片resize到统一尺寸再检测吗? (Issue #7082)

参数默认设置最大边为960: https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/tools/infer/utility.py#L48-L49

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

1998wy123 avatar Aug 03 '22 07:08 1998wy123

我看这里说了最大输入是1536,最小是50,是不是不在这个范围的图片尺寸就报错,它会把输入图片缩放到统一尺寸

你发的if里的代码只有在开启TRT预测的时候才会用到,如果不开启TRT,可以不用管,控制检测输入图像大小的参数在https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/tools/infer/utility.py#L48-L49

如果要使用TRT预测,需要保证输入数值在[1, 3, 50, 50], [1, 3, 1536, 1536]范围之内,不过这个范围是可以自行修改的

LDOUBLEV avatar Aug 03 '22 11:08 LDOUBLEV

老师,我看这个参数的解释会把预测图片resize呀,这里只说超过960的情况,那小于960的会resize到960吗

------------------ 原始邮件 ------------------ 发件人: @.>; 发送时间: 2022年8月3日(星期三) 晚上7:44 收件人: @.>; 抄送: @.>; @.>; 主题: Re: [PaddlePaddle/PaddleOCR] 送到串联推理系统的图片尺寸有要求吗?我看检测里写的这两句代码min_input_shape = "x": [1, 3, 50, 50],max_input_shape = "x": [1, 3, 1536, 1536],最小是5050,最大是15361536,那会把图片resize到统一尺寸再检测吗? (Issue #7082)

我看这里说了最大输入是1536,最小是50,是不是不在这个范围的图片尺寸就报错,它会把输入图片缩放到统一尺寸

你发的if里的代码只有在开启TRT预测的时候才会用到,如果不开启TRT,可以不用管,控制检测输入图像大小的参数在https://github.com/PaddlePaddle/PaddleOCR/blob/9f05636ecdc244eed79c9d2b453ce11038bd012d/tools/infer/utility.py#L48-L49

如果要使用TRT预测,需要保证输入数值在[1, 3, 50, 50], [1, 3, 1536, 1536]范围之内,不过这个范围是可以自行修改的

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

1998wy123 avatar Aug 03 '22 12:08 1998wy123

才用的是动态shape预测,限制最长变为960,小于960不会resize

LDOUBLEV avatar Aug 26 '22 03:08 LDOUBLEV