рдорд╛рдирд╡ рдореБрджреНрд░рд╛ рдореВрд▓реНрдпрд╛рдВрдХрди
рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдореИрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдпрд╛ рдерд╛ - рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рдорд╛рдирд╡ рдореБрджреНрд░рд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реИред рдореЗрд░реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП Apple рд╕реЗ рдирд╡реАрдирддрдо iOS рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдХрд┐ рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рддреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреЗред рдпрд╣ рднреА рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдврд╛рдВрдЪреЗ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИред
рдореВрд▓ рдУрдкрдирдкреЛрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреЛрд░рдПрдордПрд▓ - рдЖрдИрдУрдПрд╕ рдкрд░ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдПрдХ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЗрдирдлреЙрд░рдореЗрд╢рди рдЬреЙрдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CoreML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЖрдЗрдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫрд╡рд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ рдХрд┐ рдорд╛рдирд╡ рд╢рд░реАрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдорд╛рдирд╡ рдореБрджреНрд░рд╛ рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ: MPI-pose
рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдореЙрдбрд▓ рддреИрдпрд╛рд░ рдХрд░рдирд╛
рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЛрд░ рдПрдордПрд▓ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдореЙрдбрд▓ рдУрдкрдирдкреЛрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдПрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдПрдХ рдореЙрдбрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдЪрд░рдг рдХрд░реЗрдВ:
1) рдкрд╛рдпрдерди рдФрд░ рдХреЛрд░рдПрдордПрд▓ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
2) рд░рди рдореЙрдбрд▓ / getModels.sh рдУрдкрди рдкреЛрдЬ рд╕реЗ рдореВрд▓ рдУрдкрдирдкреЛрдЬ рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
3) рдореЙрдбрд▓ / рдкреЛрдЬ / рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд░реЗрдВ
4) рдлрд╝рд╛рдЗрд▓ pose_deploy_linevec_faster_4_stages_fixed_size.prototxt рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓реЗрдВ:
input_dim: 1 # This value will be defined at runtime -> input_dim: 512 input_dim: 1 # This value will be defined at runtime -> input_dim: 512
5) рдореЙрдбрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдБред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреЛрдЬрд╝ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдУрдкрдирдкреЛрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реИрдВ, рддреЛ рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдХрдорд╛рдВрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛрдЧрд╛:
ln -s ~/openpose/models ~/models
6) ~ / pose / pose / CoreMLModels рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
python convertModel.py
рдЙрдкрд░реНрдпреБрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ pose_deploy_linevec_faster_4_stages_fixed_size.prototxt рдФрд░ рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓ pose_iter_160000.caffemodel рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдП рдЧрдП рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЙрдбрд▓ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ .prototxt рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ рдЗрдирдкреБрдЯ рдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рд╣реИ:
input_dim: XXX - рдПрдирдПрди рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
input_dim: XXX - рдПрдирдПрди рдЗрдирдкреБрдЯ рдХреА рдКрдВрдЪрд╛рдИ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЙрдбрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ PoseModelConfigurationMPI15.input рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ рдорд╛рди рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдореМрдЬреВрджрд╛ рдврд╛рдВрдЪреЗ рдХреЗ рдмрдЬрд╛рдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ 512x512 рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред
рдХреЛрдИ рднреА рдорд╛рди рдХрд╛рдо рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдПрдХ рдкрд╣рд▓реВ рдЕрдиреБрдкрд╛рдд рдЙрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдореВрд▓ рдЫрд╡рд┐ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрдбрд╝реЗ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХрд╛рдлреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рд╡рд░рдг
рдЖрдЗрдП рдПрдирдПрди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред MPI15 рдореЙрдбрд▓ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдореИрдЯреНрд░рд┐рд╕ рд╡реНрд╣рд┐рдЯ рдЖрдпрд╛рдореЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ (input_image_width / 8, input_image_height / 8)
ред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдлреНрд▓реЛрдЯ рдкреНрд░рдХрд╛рд░ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдмреЙрдбреА рдкрд╛рд░реНрдЯ рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмреАрдЪ рдореИрдкрд┐рдВрдЧ:
POSE_MPI_BODY_PARTS { {0, "Head"}, {1, "Neck"}, {2, "RShoulder"}, {3, "RElbow"}, {4, "RWrist"}, {5, "LShoulder"}, {6, "LElbow"}, {7, "LWrist"}, {8, "RHip"}, {9, "RKnee"}, {10, "RAnkle"}, {11, "LHip"}, {12, "LKnee"}, {13, "LAnkle"}, {14, "Chest"}, {15, "Background"} };
рдЪреВрдБрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдкрд╣реБрдБрдЪ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдСрдлрд╕реЗрдЯ рдСрдкрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рддреНрд░рд┐рдХреЛрдгреАрдп рд╣реИ: [рдкреГрд╖реНрдарднреВрдорд┐] = NNOutput [sizeOfTheMatrix * 15]
рд╣реАрдЯрдореИрдкреНрд╕ рдФрд░ рдкреАрдПрдПрдл
MPI15 рдореЙрдбрд▓ рдореЗрдВ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рд╣реИрдВред рдЬреЛ рд╣реАрдЯрдореИрдкреНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдЬреЛ рдкреАрдПрдПрдл рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╣реАрдЯ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдПрдХ рд╕рдВрдпреБрдХреНрдд рднрд╛рдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреБрд▓ 15 рд╣реИред рдкреАрдПрдПрдл рдореИрдЯреНрд░рд┐рд╕ рд╢рд░реАрд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд╢рд░реАрд░ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХреНрд╕ рдФрд░ рд╡рд╛рдИ рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╣реИ рдЬреЛ рдХреБрд▓ 28 (14 + 14) рд╣реИред рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдПрдХ рд╕рд╣рд┐рдд рдореЗрдЯреНрд░рд┐рд╕реЗрд╕ рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ 44 рд╣реИред
рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рднрдВрдбрд╛рд░ рдореЗрдВ рдПрдХ рдбреЗрдореЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ 'рдкреЛрд╕рдбреЗрдореЛ' рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдПрдирдПрди рдкрд░рд┐рдгрд╛рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:
рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рдХреЗ рдмрд┐рдирд╛ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмреЗрдХрд╛рд░ рд╣реЛрдЧреАред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ Apple рдиреЗ рдкрд┐рдЫрд▓реЗ рдореЙрдбрд▓ рдореЗрдВ NN рдЗрдВрдЬрди рдХреА рдЬрдмрд░рджрд╕реНрдд рдкреНрд░рджрд░реНрд╢рди рд╡реГрджреНрдзрд┐ рдХреА рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Apple рдЖрдиреЗ рд╡рд╛рд▓реЗ iPhone рдореЗрдВ NN рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдФрд░ рднреА рддреЗрдЬ рдХрд░реЗрдЧрд╛ред рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ:
рдПрдХ рдлреНрд░реЗрдо рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп (рджреЗрдЦрдиреЗ рдореЗрдВ 1-2 рд╡реНрдпрдХреНрддрд┐)
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рд╕рднреА рдирдВрдмрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рд░рди рдХреЗ рд▓рд┐рдП рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CoreML рдЖрдВрддрд░рд┐рдХ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдХреЛрдб рдХреЗ рд╕реНрд░реЛрдд
GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рд▓рд┐рдВрдХ: рдЗрд╕реЗ рдЪреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдЖрд╡реЗрджрди
рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд┐рд░ рд╕реЗ рдмрд╛рд╣рд░ рдЖ рдЧрдП рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдПрдкреНрдкрд▓ рдпрд╛ рдХреБрдЫ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред
рд╣реЗрд▓реНрдердХреЗрдпрд░
1) рдЕрднреА рднреА рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдорд╛рдирд╡ рд░реАрдврд╝ рдореЗрдВ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛:

2) рд╕реНрд╡рд╛рд╕реНрдереНрдп рдФрд░ рдлрд┐рдЯрдиреЗрд╕ рдЧрд╛рдЗрдбред
1) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдЕрдЧрд░ рдШрд░ рдкрд░ рд▓реЛрдЧ рдФрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рднреА рдЙрдкрдХрд░рдг рдмрдВрдж рд╣реИ (рд▓реЛрд╣реЗ / рдУрд╡реЗрди)ред
2) рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрдВрджрд░ рд▓реЛрдЧреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд░рдирд╛ (рд░реЛрд╢рдиреА / рд╕рдВрдЧреАрдд / рдЯреАрд╡реА рдЪрд╛рд▓реВ рдХрд░рдирд╛)
рдХрд▓рд╛ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕
1) 2 рдбреА -> 3 рдбреА рдорд╛рдирдЪрд┐рддреНрд░рдг рдФрд░ рдореБрджреНрд░рд╛ 2 рдбреА рд╕реНрд░реЛрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ 3 рдбреА рдореБрджреНрд░рд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдЧрдард┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрджреНрд░рд╛
рд╕реБрдзрд╛рд░ рдФрд░ рдЖрдЧреЗ рдХреЗ рдШрдЯрдирд╛рдХреНрд░рдо
рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рдХреЗ рдХрджрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, 3D рдкреЛрдЬрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ 2D-> 3D рдореИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИ:
1) рдПрдирдПрдордПрд╕ рдЕрдиреБрдХреВрд▓рдиред METAL API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ GPU рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
2) рдЬреЛрдбрд╝реЛрдВ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рдиреНрдирд┐рдХрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХрдВрдХрд╛рд▓ рдХреА рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдХрд░реАрдм рд╣реИред рд╣рдбреНрдбрд┐рдпрд╛рдВ рд╕реАрдзреА рдирд╣реАрдВ рд╣реЛрддреАрдВред
3) рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдкреЛрдЬ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
4) рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рдПрдХ рдореБрджреНрд░рд╛ рдЕрдиреБрдорд╛рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ
5) 2 рдбреА -> 3 рдбреА рдореИрдкрд┐рдВрдЧ
рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдУрдкрди рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:
1) http://posefs1.perception.cs.cmu.edu/Users/ZheCao/Multi-person%20pose%20estimation-CMU.pdf
2) https://www.ri.cmu.edu/wp-content/uploads/2017/04/thesis.pdf
3) https://pose.mpi-inf.mpg.de/
рдХреБрдЫ рдордЬрд╝рд╛
рдпрд╣ рджреЗрдЦрдирд╛ рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рддрдХрдиреАрдХ рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдХреБрдЫ рдордЬреЗрджрд╛рд░ рдкрд░рд┐рдгрд╛рдо рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдирдПрди рдиреЗ рдЙрд╕ рдкреИрд░ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреИрд╕реЗ рдХреА, рдЬрд╣рд╛рдВ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ:
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдорд╛рдирд╡ рдореБрджреНрд░рд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП iOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ Apple рдиреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдЫрд▓рд╛рдВрдЧ рд▓рдЧрд╛рдИ рдереАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдЧрд▓реЗ iPhone рдореЙрдбрд▓ рдЕрддреНрдпрдзрд┐рдХ рд╢рд╛рдпрдж realtime рдореЗрдВ infering рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред 2 рдбреА рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди-> 3 рдбреА рдкреЛрдЬрд╝ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдПрдХ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ 3 рдбреА рдорд╛рдирд╡ рдкреЛрдЬрд╝ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИ!