未验证 提交 0239a6f1 编写于 作者: G Guanghua Yu 提交者: GitHub

fix some video inference bug in deploy (#1655)

上级 da57ee26
...@@ -71,10 +71,11 @@ class Detector(object): ...@@ -71,10 +71,11 @@ class Detector(object):
def preprocess(self, im): def preprocess(self, im):
preprocess_ops = [] preprocess_ops = []
for op_info in self.config.preprocess_infos: for op_info in self.config.preprocess_infos:
op_type = op_info.pop('type') new_op_info = op_info.copy()
op_type = new_op_info.pop('type')
if op_type == 'Resize': if op_type == 'Resize':
op_info['arch'] = self.config.arch new_op_info['arch'] = self.config.arch
preprocess_ops.append(eval(op_type)(**op_info)) preprocess_ops.append(eval(op_type)(**new_op_info))
im, im_info = preprocess(im, preprocess_ops) im, im_info = preprocess(im, preprocess_ops)
inputs = create_inputs(im, im_info, self.config.arch) inputs = create_inputs(im, im_info, self.config.arch)
return inputs, im_info return inputs, im_info
...@@ -481,7 +482,8 @@ def predict_video(detector, camera_id): ...@@ -481,7 +482,8 @@ def predict_video(detector, camera_id):
frame, frame,
results, results,
detector.config.labels, detector.config.labels,
mask_resolution=detector.config.mask_resolution) mask_resolution=detector.config.mask_resolution,
threshold=FLAGS.threshold)
im = np.array(im) im = np.array(im)
writer.write(im) writer.write(im)
if camera_id != -1: if camera_id != -1:
......
...@@ -228,9 +228,22 @@ def draw_segm(im, ...@@ -228,9 +228,22 @@ def draw_segm(im,
color_mask = np.array(color_mask) color_mask = np.array(color_mask)
im[idx[0], idx[1], :] *= 1.0 - alpha im[idx[0], idx[1], :] *= 1.0 - alpha
im[idx[0], idx[1], :] += alpha * color_mask im[idx[0], idx[1], :] += alpha * color_mask
center_y, center_x = ndimage.measurements.center_of_mass(mask) sum_x = np.sum(mask, axis=0)
label_text = "{}".format(labels[clsid]) x = np.where(sum_x > 0.5)[0]
vis_pos = (max(int(center_x) - 10, 0), int(center_y)) sum_y = np.sum(mask, axis=1)
cv2.putText(im, label_text, vis_pos, cv2.FONT_HERSHEY_COMPLEX, 0.3, y = np.where(sum_y > 0.5)[0]
(255, 255, 255)) x0, x1, y0, y1 = x[0], x[-1], y[0], y[-1]
cv2.rectangle(im, (x0, y0), (x1, y1),
tuple(color_mask.astype('int32').tolist()), 1)
bbox_text = '%s %.2f' % (labels[clsid], score)
t_size = cv2.getTextSize(bbox_text, 0, 0.3, thickness=1)[0]
cv2.rectangle(im, (x0, y0), (x0 + t_size[0], y0 - t_size[1] - 3),
tuple(color_mask.astype('int32').tolist()), -1)
cv2.putText(
im,
bbox_text, (x0, y0 - 2),
cv2.FONT_HERSHEY_SIMPLEX,
0.3, (0, 0, 0),
1,
lineType=cv2.LINE_AA)
return Image.fromarray(im.astype('uint8')) return Image.fromarray(im.astype('uint8'))
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册