def check_images(img, kp, name, all_ = True): if not all_: draw.bounding_boxes(cv.imread(img), kp, '_'+name) else: for n_file in range(len(img)): img_ = cv.imread(img[n_file]) kp_ = kp[n_file] draw.bounding_boxes(img_, kp_, '_'+name)
kp_pred = [] kp_label = [] for count in range(pred.shape[0]): kp_pred.append(get_kp(pred[count])) kp_label.append(get_kp(label[count])) input_ = net.blobs["data"].data.transpose((2, 3, 1, 0)).astype(np.uint8) # [:,:,:,0]#224 x 224 x 3 x batch mean_value = [104, 116, 122] # Imagenet mean value for count, mean in enumerate(mean_value): input_[:, :, count, :] += mean ch = raw_input("Do you want to watch prediction and label images? Type Y or N. ") if ch == "Y": for n in range(input_.shape[3]): draw.bounding_boxes( input_[:, :, :, n], kp_label[n], "_Label", save=True, name_save="images_result/label_" + str(n).zfill(3) + ".png", ) draw.bounding_boxes( input_[:, :, :, n], kp_pred[n], "_Prediction", save=True, name_save="images_result/pred_" + str(n).zfill(3) + ".png", ) time.sleep(1)
import Drawing as draw vgg_size = cfg.vgg_size def get_kp(label): keypoint = [] if not len(label) == 48: ValueError("Keypoints are not 48") for kp in range(0, len(label), 2): keypoint.append([label[kp], label[kp + 1]]) return keypoint # For a txt file f = open("model/Validation.txt").readlines() imgs = [line.split(" ")[0] for line in f] label = [] for line in range(len(f)): label.append([float(num) * vgg_size / 2 + vgg_size / 2 for num in f[line][:-1].split(" ")[1:]]) if not len(label[-1]) == 48: ValueError("Keypoints are not 48") kp_label = [] for label_ in label: kp_label.append(get_kp(label_)) n = 0 draw.bounding_boxes(cv.imread(imgs[n]), kp_label[n], 0, save=True, name_save="img_kp_" + str(n) + ".png") # for n in np.random.permutation(len(imgs)): # draw.bounding_boxes(cv.imread(imgs[n]), kp_label[n], 0)