提交 759e7385 编写于 作者: L LDOUBLEV

fix infer

上级 5d70fd44
...@@ -109,6 +109,8 @@ class RecModel(object): ...@@ -109,6 +109,8 @@ class RecModel(object):
decoded_out, 'label':label} decoded_out, 'label':label}
return loader, outputs return loader, outputs
elif mode == "export": 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: else:
return loader, {'decoded_out': decoded_out} return loader, {'decoded_out': decoded_out}
...@@ -81,7 +81,7 @@ class DBPostProcess(object): ...@@ -81,7 +81,7 @@ class DBPostProcess(object):
scores[index] = score scores[index] = score
return boxes, scores return boxes, scores
def unclip(self, box, unclip_ratio=1.5): def unclip(self, box, unclip_ratio=2.0):
poly = Polygon(box) poly = Polygon(box)
distance = poly.area * unclip_ratio / poly.length distance = poly.area * unclip_ratio / poly.length
offset = pyclipper.PyclipperOffset() offset = pyclipper.PyclipperOffset()
......
...@@ -52,7 +52,8 @@ def main(): ...@@ -52,7 +52,8 @@ def main():
# check if set use_gpu=True in paddlepaddle cpu version # check if set use_gpu=True in paddlepaddle cpu version
use_gpu = config['Global']['use_gpu'] use_gpu = config['Global']['use_gpu']
program.check_gpu(True) # program.check_gpu(True)
use_gpu = False
alg = config['Global']['algorithm'] alg = config['Global']['algorithm']
assert alg in ['EAST', 'DB', 'Rosetta', 'CRNN', 'STARNet', 'RARE'] assert alg in ['EAST', 'DB', 'Rosetta', 'CRNN', 'STARNet', 'RARE']
......
...@@ -116,10 +116,10 @@ class TextDetector(object): ...@@ -116,10 +116,10 @@ class TextDetector(object):
rect_height = int(np.linalg.norm(box[0] - box[3])) rect_height = int(np.linalg.norm(box[0] - box[3]))
if rect_width <= 10 or rect_height <= 10: if rect_width <= 10 or rect_height <= 10:
continue continue
if diffh <= 10 and diffw <= 10: # if diffh <= 10 and diffw <= 10:
box = self.expand_det_res( # box = self.expand_det_res(
copy.deepcopy(box), bbox_height, bbox_width, img_height, # copy.deepcopy(box), bbox_height, bbox_width, img_height,
img_width) # img_width)
dt_boxes_new.append(box) dt_boxes_new.append(box)
dt_boxes = np.array(dt_boxes_new) dt_boxes = np.array(dt_boxes_new)
return dt_boxes return dt_boxes
......
...@@ -38,6 +38,8 @@ if __name__ == "__main__": ...@@ -38,6 +38,8 @@ if __name__ == "__main__":
total_time_all = 0 total_time_all = 0
count = 0 count = 0
save_path = "./inference_output/predict.txt" 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") fout = open(save_path, "wb")
for image_name in image_file_list: for image_name in image_file_list:
image_file = image_name image_file = image_name
...@@ -77,7 +79,10 @@ if __name__ == "__main__": ...@@ -77,7 +79,10 @@ if __name__ == "__main__":
draw_img_save = os.path.join( draw_img_save = os.path.join(
os.path.dirname(save_path), "inference_draw", os.path.dirname(save_path), "inference_draw",
os.path.basename(image_file)) 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 # save predicted results in txt file
otstr = image_name + "\t" + json.dumps(bbox_list) + "\n" otstr = image_name + "\t" + json.dumps(bbox_list) + "\n"
fout.write(otstr.encode('utf-8')) fout.write(otstr.encode('utf-8'))
......
...@@ -138,7 +138,7 @@ def draw_ocr(image, boxes, txts, scores, draw_txt): ...@@ -138,7 +138,7 @@ def draw_ocr(image, boxes, txts, scores, draw_txt):
for i, txt in enumerate(txts): for i, txt in enumerate(txts):
font = ImageFont.truetype( 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]) new_txt = str(i) + ': ' + txt + ' ' + str(scores[i])
draw_txt.text((20, gap * (i + 1)), new_txt, txt_color, font=font) draw_txt.text((20, gap * (i + 1)), new_txt, txt_color, font=font)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册