Если вы ищете другую сеть для оценки позы человека, я очень рекомендую среду M xNet GluonCV (https://gluon-cv.mxnet.io/model_zoo/pose.html). Он очень прост в использовании и также содержит множество различных сетей оценки поз, в которых вы можете попытаться сравнить компромисс между точностью и скоростью. Например, чтобы использовать его, вы можете сделать (взято со страницы учебника):
from matplotlib import pyplot as plt
from gluoncv import model_zoo, data, utils
from gluoncv.data.transforms.pose import detector_to_alpha_pose, heatmap_to_coord_alpha_pose
detector = model_zoo.get_model('yolo3_mobilenet1.0_coco', pretrained=True)
pose_net = model_zoo.get_model('alpha_pose_resnet101_v1b_coco', pretrained=True)
# Note that we can reset the classes of the detector to only include
# human, so that the NMS process is faster.
detector.reset_class(["person"], reuse_weights=['person'])
im_fname = utils.download('https://github.com/dmlc/web-data/blob/master/' +
'gluoncv/pose/soccer.png?raw=true',
path='soccer.png')
x, img = data.transforms.presets.yolo.load_test(im_fname, short=512)
print('Shape of pre-processed image:', x.shape)
class_IDs, scores, bounding_boxs = detector(x)
pose_input, upscale_bbox = detector_to_alpha_pose(img, class_IDs, scores, bounding_boxs)
predicted_heatmap = pose_net(pose_input)
pred_coords, confidence = heatmap_to_coord_alpha_pose(predicted_heatmap, upscale_bbox)
Например, для сравнения точности их AlphaPose с сетью Re snet 101 значительно более точна, чем OpenPose (Вы можете найти более точные критерии по ссылке выше). Однако следует понимать различие между типами этих сетей, такими как реализация подхода «снизу вверх» и «сверху вниз», поскольку это может повлиять на скорость вывода в различных сценариях ios.
Например, время выполнения нисходящий подход пропорционален количеству обнаруженных людей, это может занять много времени, если на вашем изображении есть толпа людей.