From 759e7385dbe42c6c594d4e8ed302352441c7bfba Mon Sep 17 00:00:00 2001 From: LDOUBLEV Date: Wed, 13 May 2020 21:29:54 +0800 Subject: [PATCH] fix infer --- ppocr/modeling/architectures/rec_model.py | 4 +++- ppocr/postprocess/db_postprocess.py | 2 +- tools/export_model.py | 3 ++- tools/infer/predict_det.py | 8 ++++---- tools/infer/predict_eval.py | 7 ++++++- tools/infer/utility.py | 2 +- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/ppocr/modeling/architectures/rec_model.py b/ppocr/modeling/architectures/rec_model.py index c54778fd..d88c620b 100755 --- a/ppocr/modeling/architectures/rec_model.py +++ b/ppocr/modeling/architectures/rec_model.py @@ -109,6 +109,8 @@ class RecModel(object): decoded_out, 'label':label} return loader, outputs elif mode == "export": - return [image, {'decoded_out': decoded_out}] + predict = predicts['predict'] + predict = fluid.layers.softmax(predict) + return [image, {'decoded_out': decoded_out, 'predicts': predict}] else: return loader, {'decoded_out': decoded_out} diff --git a/ppocr/postprocess/db_postprocess.py b/ppocr/postprocess/db_postprocess.py index c7b2dbc1..3f6a0514 100644 --- a/ppocr/postprocess/db_postprocess.py +++ b/ppocr/postprocess/db_postprocess.py @@ -81,7 +81,7 @@ class DBPostProcess(object): scores[index] = score return boxes, scores - def unclip(self, box, unclip_ratio=1.5): + def unclip(self, box, unclip_ratio=2.0): poly = Polygon(box) distance = poly.area * unclip_ratio / poly.length offset = pyclipper.PyclipperOffset() diff --git a/tools/export_model.py b/tools/export_model.py index 11a2744b..04619bc5 100644 --- a/tools/export_model.py +++ b/tools/export_model.py @@ -52,7 +52,8 @@ def main(): # check if set use_gpu=True in paddlepaddle cpu version use_gpu = config['Global']['use_gpu'] - program.check_gpu(True) + # program.check_gpu(True) + use_gpu = False alg = config['Global']['algorithm'] assert alg in ['EAST', 'DB', 'Rosetta', 'CRNN', 'STARNet', 'RARE'] diff --git a/tools/infer/predict_det.py b/tools/infer/predict_det.py index 07a8180f..85796fc5 100755 --- a/tools/infer/predict_det.py +++ b/tools/infer/predict_det.py @@ -116,10 +116,10 @@ class TextDetector(object): rect_height = int(np.linalg.norm(box[0] - box[3])) if rect_width <= 10 or rect_height <= 10: continue - if diffh <= 10 and diffw <= 10: - box = self.expand_det_res( - copy.deepcopy(box), bbox_height, bbox_width, img_height, - img_width) + # if diffh <= 10 and diffw <= 10: + # box = self.expand_det_res( + # copy.deepcopy(box), bbox_height, bbox_width, img_height, + # img_width) dt_boxes_new.append(box) dt_boxes = np.array(dt_boxes_new) return dt_boxes diff --git a/tools/infer/predict_eval.py b/tools/infer/predict_eval.py index af0a5e27..6f6f0730 100755 --- a/tools/infer/predict_eval.py +++ b/tools/infer/predict_eval.py @@ -38,6 +38,8 @@ if __name__ == "__main__": total_time_all = 0 count = 0 save_path = "./inference_output/predict.txt" + if not os.path.exists(os.path.dirname(save_path)): + os.makedirs(os.path.dirname(save_path)) fout = open(save_path, "wb") for image_name in image_file_list: image_file = image_name @@ -77,7 +79,10 @@ if __name__ == "__main__": draw_img_save = os.path.join( os.path.dirname(save_path), "inference_draw", os.path.basename(image_file)) - cv2.imwrite(draw_img_save, new_img) + if not os.path.exists(os.path.dirname(draw_img_save)): + os.makedirs(os.path.dirname(draw_img_save)) + cv2.imwrite(draw_img_save, new_img[:, :, ::-1]) + print("drawed img saved in {}".format(draw_img_save)) # save predicted results in txt file otstr = image_name + "\t" + json.dumps(bbox_list) + "\n" fout.write(otstr.encode('utf-8')) diff --git a/tools/infer/utility.py b/tools/infer/utility.py index a8b0ebc0..7132ddfa 100755 --- a/tools/infer/utility.py +++ b/tools/infer/utility.py @@ -138,7 +138,7 @@ def draw_ocr(image, boxes, txts, scores, draw_txt): for i, txt in enumerate(txts): font = ImageFont.truetype( - "/simfang.TTF", font_size, encoding="utf-8") + "./doc/simfang.TTF", font_size, encoding="utf-8") new_txt = str(i) + ': ' + txt + ' ' + str(scores[i]) draw_txt.text((20, gap * (i + 1)), new_txt, txt_color, font=font) -- GitLab