Как создать вид скелета, используя оценку позы человека? - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь использовать оценку позы человека с помощью реализации keras. Я использую этот источник https://github.com/michalfaber/keras_Realtime_Multi-Person_Pose_Estimation. Моя проблема в том, как я могу создать скелет следующего изображения, которое находится в левой части? Однако я могу сгенерировать тот, который находится в правой части.

enter image description here ** Исходная фотография взята из Pexels

Ниже приведен код, который я использую для достижения этой цели. .

    # vgg normalization (subtracting mean) on input images
    model = get_testing_model()
    model.load_weights(keras_weights_file)

    # load config
    params, model_params = config_reader()

    input_image = cv2.imread(image_path)  # B,G,R order

    body_parts, all_peaks, subset, candidate = extract_parts(input_image, params, model, model_params)
    canvas = draw(input_image, all_peaks, subset, candidate)

    toc = time.time()
    print('processing time is %.5f' % (toc - tic))

    cv2.imwrite(output, canvas)

    cv2.destroyAllWindows()

1 Ответ

1 голос
/ 28 мая 2020

Вам нужно нарисовать черное изображение, а не входное изображение для ваших требований. Ниже в обновленном коде.

# vgg normalization (subtracting mean) on input images
model = get_testing_model()
model.load_weights(keras_weights_file)

# load config
params, model_params = config_reader()

input_image = cv2.imread(image_path)  # B,G,R order

body_parts, all_peaks, subset, candidate = extract_parts(input_image, params, model, model_params)
black_img = np.zeros_like(input_image, np.uint8)
canvas = draw(black_img, all_peaks, subset, candidate)

toc = time.time()
print('processing time is %.5f' % (toc - tic))

cv2.imwrite(output, canvas)

cv2.destroyAllWindows()
...