Byronnar / tensorflow-serving-yolov3

本项目主要对原tensorflow-yolov3版本做了许多细节上的改进,增加了TensorFlow-Serving工程部署,训练了多个数据集,包括Visdrone2019, 安全帽等, 安全帽mAP在98%左右, 推理速度1080上608的尺寸大概25fps.
https://blog.csdn.net/ForeeverF/article/details/103651924
MIT License
381 stars 130 forks source link

模型转换pb如下 #89

Closed oaifaye closed 4 years ago

oaifaye commented 4 years ago

base64之前不能简单reshape,需要保留比例reshape,然后补128,可以仿照 core.util.image_preporcess 这个方法,去掉image_paded = image_paded / 255.这一行,然后先调用这个方法,再掉api,精度就恢复了

def image_preporcess(image, target_size, gt_boxes=None):

ih, iw    = target_size
h,  w, _  = image.shape

scale = min(iw/w, ih/h)
nw, nh  = int(scale * w), int(scale * h)
image_resized = cv2.resize(image, (nw, nh))

image_paded = np.full(shape=[ih, iw, 3], fill_value=128.0)
dw, dh = (iw - nw) // 2, (ih-nh) // 2
image_paded[dh:nh+dh, dw:nw+dw, :] = image_resized
# image_paded = image_paded / 255.

if gt_boxes is None:
    return image_paded

else:
    gt_boxes[:, [0, 2]] = gt_boxes[:, [0, 2]] * scale + dw
    gt_boxes[:, [1, 3]] = gt_boxes[:, [1, 3]] * scale + dh
    return image_paded, gt_boxes