def test(lane_agent, test_images, thresh=p.threshold_point, color=None): result = lane_agent.predict_lanes_test(test_images) confidences, offsets, instances = result[-1] num_batch = len(test_images) out_x = [] out_y = [] out_images = [] for i in range(num_batch): # test on test data set # image = deepcopy(test_images[i]) image = test_images[i] image = np.rollaxis(image, axis=2, start=0) image = np.rollaxis(image, axis=2, start=0) * 255.0 image = image.astype(np.uint8).copy() confidence = confidences[i].view(p.grid_y, p.grid_x).cpu().data.numpy() offset = offsets[i].cpu().data.numpy() offset = np.rollaxis(offset, axis=2, start=0) offset = np.rollaxis(offset, axis=2, start=0) instance = instances[i].cpu().data.numpy() instance = np.rollaxis(instance, axis=2, start=0) instance = np.rollaxis(instance, axis=2, start=0) # generate point and cluster raw_x, raw_y = generate_result(confidence, offset, instance, thresh) # eliminate fewer points in_x, in_y = eliminate_fewer_points(raw_x, raw_y) # sort points along y in_x, in_y = util.sort_along_y(in_x, in_y) in_x, in_y = eliminate_out(in_x, in_y, confidence) #, deepcopy(image)) in_x, in_y = util.sort_along_y(in_x, in_y) in_x, in_y = eliminate_fewer_points(in_x, in_y) result_image = util.draw_points(in_x, in_y, image, color) #deepcopy(image)) out_x.append(in_x) out_y.append(in_y) out_images.append(result_image) return out_x, out_y, out_images
def test_ori(h_crop, lane_agent, ori_image, test_images, ratio_w, ratio_h, draw_type, thresh=p.threshold_point): # p.threshold_point:0.81 result = lane_agent.predict_lanes_test(test_images) confidences, offsets, instances = result[-1] num_batch = len(test_images) out_x = [] out_y = [] out_images = [] for i in range(num_batch): # test on test data set image = deepcopy(test_images[i]) image = np.rollaxis(image, axis=2, start=0) image = np.rollaxis(image, axis=2, start=0) * 255.0 image = image.astype(np.uint8).copy() confidence = confidences[i].view(p.grid_y, p.grid_x).cpu().data.numpy() offset = offsets[i].cpu().data.numpy() offset = np.rollaxis(offset, axis=2, start=0) offset = np.rollaxis(offset, axis=2, start=0) instance = instances[i].cpu().data.numpy() instance = np.rollaxis(instance, axis=2, start=0) instance = np.rollaxis(instance, axis=2, start=0) raw_x, raw_y = generate_result(confidence, offset, instance, thresh) # in_x, in_y = eliminate_fewer_points(raw_x, raw_y) in_x, in_y = util.sort_along_y(in_x, in_y) if draw_type == 'line': result_image = util.draw_lines_ori(in_x, in_y, ori_image, ratio_w, ratio_h) # 将最后且后处理后的坐标点绘制与原图上. elif draw_type == 'point': result_image = util.draw_point_ori(in_x, in_y, ori_image, ratio_w, ratio_h, h_crop) # 将最后且后处理后的坐标点绘制与原图上. else: result_image = util.draw_points(in_x, in_y, ori_image, ratio_w, ratio_h) # 将最后且后处理后的坐标点绘制与原图上. out_x.append(in_x) out_y.append(in_y) out_images.append(result_image) return out_x, out_y, out_images