<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en"><front><journal-meta><journal-id journal-id-type="publisher-id">donstu</journal-id><journal-title-group><journal-title xml:lang="en">Advanced Engineering Research (Rostov-on-Don)</journal-title><trans-title-group xml:lang="ru"><trans-title>Advanced Engineering Research (Rostov-on-Don)</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">2687-1653</issn><publisher><publisher-name>Don State Technical University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.23947/2687-1653-2023-23-3-317-328</article-id><article-id custom-type="elpub" pub-id-type="custom">donstu-2079</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>INFORMATION TECHNOLOGY, COMPUTER SCIENCE AND MANAGEMENT</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ</subject></subj-group></article-categories><title-group><article-title>3D Human Motion Capture Method Based on Computer Vision</article-title><trans-title-group xml:lang="ru"><trans-title>Метод трехмерного захвата движений человека на основе компьютерного зрения</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-3450-5213</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Обухов</surname><given-names>А. Д.</given-names></name><name name-style="western" xml:lang="en"><surname>Obukhov</surname><given-names>A. D.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Артём Дмитриевич Обухов, доктор технических наук, доцент кафедры системы автоматизированной поддержки принятия решений</p><p>392036, г. Тамбов, ул. Ленинградская, 1</p></bio><bio xml:lang="en"><p>Artem D. Obukhov, Dr.Sci. (Eng.), Associate Professor of the Department of Automated Systems for Decision-Making Support</p><p>1, Leningradskaya St., Tambov, 392036</p></bio><email xlink:type="simple">obuhov.art@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-6243-837X</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Дедов</surname><given-names>Д. Л.</given-names></name><name name-style="western" xml:lang="en"><surname>Dedov</surname><given-names>D. L.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Денис Леонидович Дедов, кандидат технических наук, старший научный сотрудник</p><p>392000, г. Тамбов, ул. Советская, 116</p></bio><bio xml:lang="en"><p>Denis L. Dedov, Cand.Sci. (Eng.), Senior Researche</p><p>116, Sovetskaya St., Tambov, 392000</p></bio><email xlink:type="simple">hammer68@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-3588-9079</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Суркова</surname><given-names>Е. О.</given-names></name><name name-style="western" xml:lang="en"><surname>Surkova</surname><given-names>E. O.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Екатерина Олеговна Суркова, студентка 4 курса кафедры системы автоматизированной поддержки принятия решений</p><p>392036, г. Тамбов, ул. Ленинградская, 1</p></bio><bio xml:lang="en"><p>Ekaterina O. Surkova, 4th year student of the Department of Automated Systems for Decision-Making Support</p><p>1, Leningradskaya St., Tambov, 392036</p></bio><email xlink:type="simple">esur2506@yandex.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0009-0006-5429-6339</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Коробова</surname><given-names>И. Л.</given-names></name><name name-style="western" xml:lang="en"><surname>Korobova</surname><given-names>I. L.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Ирина Львовна Коробова, кандидат технических наук, заведующая кафедрой системы автоматизированной поддержки принятия решений</p><p>392036, г. Тамбов, ул. Ленинградская, 1</p></bio><bio xml:lang="en"><p>Irina L. Korobova, Cand.Sci. (Eng.), Head of the Department of Automated Systems for Decision-Making Support</p><p>1, Leningradskaya St., Tambov, 392036</p></bio><email xlink:type="simple">ira.sapr.tstu@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Тамбовский государственный технический университет</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Tambov State Technical University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2023</year></pub-date><pub-date pub-type="epub"><day>29</day><month>09</month><year>2023</year></pub-date><volume>23</volume><issue>3</issue><fpage>317</fpage><lpage>328</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Obukhov A.D., Dedov D.L., Surkova E.O., Korobova I.L., 2023</copyright-statement><copyright-year>2023</copyright-year><copyright-holder xml:lang="ru">Обухов А.Д., Дедов Д.Л., Суркова Е.О., Коробова И.Л.</copyright-holder><copyright-holder xml:lang="en">Obukhov A.D., Dedov D.L., Surkova E.O., Korobova I.L.</copyright-holder><license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.vestnik-donstu.ru/jour/article/view/2079">https://www.vestnik-donstu.ru/jour/article/view/2079</self-uri><abstract><sec><title>Introduction</title><p>Introduction. The analysis of approaches to tracking the human body identified problems when capturing movements in a three-dimensional coordinate system. The prospects of motion capture systems based on computer vision are noted. In existing  studies  on  markerless  motion  capture  systems,  positioning  is  considered  only  in  two-dimensional  space. Therefore, the research objective is to increase the accuracy of determining the coordinates of the human body in three-dimensional  coordinates  through  developing  a  motion  capture  method  based  on  computer  vision  and  triangulation algorithms.</p></sec><sec><title>Materials and Methods</title><p>Materials and Methods.  A  method  of  motion  capture  was  presented,  including  calibration  of  several  cameras  and formalization of procedures for detecting a person in a frame using a convolutional neural network. Based on the skeletal points obtained from the neural network, a three-dimensional reconstruction of the human body model was carried out using various triangulation algorithms.</p></sec><sec><title>Results</title><p>Results. Experimental studies have been carried out comparing four triangulation algorithms: direct linear transfer, linear least squares method, L2 triangulation, and polynomial methods. The optimal triangulation algorithm (polynomial) was determined, providing an error of no more than 2.5 pixels or 1.67 centimeters.</p><p>Discussion and Conclusion. The shortcomings of existing motion capture systems were revealed. The proposed method was aimed at improving the accuracy of motion capture in three-dimensional coordinates using computer vision. The results obtained were integrated into the human body positioning software in three-dimensional coordinates for use in virtual simulators, motion capture systems and remote monitoring.</p></sec></abstract><trans-abstract xml:lang="ru"><sec><title>Введение</title><p>Введение.  Проведенный  анализ  существующих  подходов  к  отслеживанию  тела  человека  выявил  наличие проблем  при  захвате  движений  в  трехмерной  системе  координат.  Отмечена  перспективность  систем  захвата движений на основе компьютерного зрения. В существующих исследованиях по безмаркерным системам захвата движений рассматривается позиционирование только в двумерном пространстве. Поэтому целью исследования являлось повышение точности определения  координат человеческого тела  в трехмерных координатах за счет разработки метода захвата движения на основе компьютерного зрения и алгоритмов триангуляции.</p></sec><sec><title>Материалы  и  методы</title><p>Материалы  и  методы.  Представлен  метод  захвата  движений,  включающий  калибровку  нескольких  камер  и формализацию процедур обнаружения человека в кадре с использованием сверточной нейронной сети. На основе полученных  от  нейронной  сети  скелетных  точек  осуществляется  трехмерная  реконструкция  модели  тела человека с использованием различных алгоритмов триангуляции.</p></sec><sec><title>Результаты исследования</title><p>Результаты исследования. Проведены экспериментальные исследования по сравнению четырех алгоритмов триангуляции:  прямого  линейного  переноса,  линейного  метода  наименьших  квадратов,  L2  триангуляции  и полиномиального  методов.  Определен  оптимальный  алгоритм  триангуляции  (полиномиальный), обеспечивающий погрешность не более 2,5 пикселей или 1,67 сантиметров.</p><p>Обсуждение  и  заключение.  Выявлены  недостатки  существующих  систем  захвата  движения.  Предложенный метод  направлен  на  повышение  точности  захвата  движений  в  трехмерных  координатах  с  использованием компьютерного зрения. Полученные результаты интегрированы в программное обеспечение позиционирования тела человека в трехмерных координатах для удаленного мониторинга, использования в виртуальных тренажерах и системах захвата движений.</p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>захват движений</kwd><kwd>виртуальная реальность</kwd><kwd>триангуляция</kwd><kwd>компьютерное зрения</kwd><kwd>машинное обучение</kwd></kwd-group><kwd-group xml:lang="en"><kwd>motion capture</kwd><kwd>virtual reality</kwd><kwd>triangulation</kwd><kwd>computer vision</kwd><kwd>machine learning</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Авторы выражают благодарность редакционной коллегии журнала и рецензенту за профессиональный анализ и рекомендации по корректировке текста статьи. Исследование выполнено за счет гранта Российского научного фонда № 22–71– 10057, https://rscf.ru/project/22-71-10057/</funding-statement><funding-statement xml:lang="en">The authors would like to thank the editorial board of the journal and the reviewer for their professional analysis and recommendations for correcting the text of the article. The research was done on grant of the Russian Science Foundation No. 22–71– 10057, https://rscf.ru/project/22-71-10057/</funding-statement></funding-group></article-meta></front><body><p>Introduction. Significant progress has currently been made in the domain of computer vision. Technologies have been developed to solve the problems of detecting objects, determining their state, geometric evaluation of the space depicted on the frame, and a lot more. As a result, computer vision has become widespread in various spheres of human activity, ranging from healthcare and education to entertainment. A rather promising direction is the use of computer vision technologies for three-dimensional reconstruction and positioning of various objects, including people. There is fairly large number of systems for determining the absolute position of a person in space, which can be divided into the following categories.</p><p>After analyzing the listed categories of motion capture systems, it can be concluded that most of the solutions used to recognize human actions and movements involve various wearable devices, such as sensors or gloves. Most of these devices are bulky due to the large number of sensors and the need for a wired connection. Some systems have high accuracy, but they cannot be used due to the size or the presence of electromagnetic interference [<xref ref-type="bibr" rid="cit7">7</xref>]. Inertial systems have a number of problems associated with the accumulation of errors, which limits their use only to relative positioning in space.</p><p>Therefore, optical systems for recognizing and tracking user actions are well regarded. To get information about the actions and position of the user, frames obtained from the camera are used. Among optical systems, it is worth noting those that use markers (the user may be wearing special clothes or certain labels fixed on him), which makes it difficult to use them under real conditions. They are more applicable to specially prepared premises (e.g., film studios).</p><p>Systems that do not use any markers allow users to interact more freely with the environment and are more suitable for use under real conditions. The significant disadvantages of systems in this line include relatively low accuracy, unreliability, and low performance. To a great extent, this may be due to the shortcomings of computer vision algorithms used to recognize a person in the frame, as well as the following reasons: the variability of a person’s appearance and lighting conditions, partial occlusions owing to the layering of objects in the scene, the complexity of the human skeletal structure.</p><p>As a rule, the operation of marker-free motion capture systems is based on an algorithm for evaluating a person's posture. Approaches to solving the problem of assessing a person's posture can be divided into top-bottom and bottom-up. In top-bottom approaches, first there is a detection of people in the frame, then an assessment of the pose of each person found. Algorithms that relate to the bottom-up approach, at the first stage, search for body parts in the frame, then group them into poses. As a rule, convolutional neural networks are used for this task, such as YOLO (You Look Only Once) [<xref ref-type="bibr" rid="cit8">8</xref>], SSD (Single Shot Detection) [<xref ref-type="bibr" rid="cit9">9</xref>], R–CNN (Region CNN) [<xref ref-type="bibr" rid="cit10">10</xref>], and others. They provide the recognition of numerous different objects, including a person or individual body parts with high accuracy. However, one of the disadvantages of the solutions listed above is their low performance and slow operation. To solve this problem, there are special frameworks (MoveNet [<xref ref-type="bibr" rid="cit11">11</xref>], MediaPipe [<xref ref-type="bibr" rid="cit12">12</xref>], OpenPose [<xref ref-type="bibr" rid="cit13">13</xref>]) that also use neural networks optimized for real-time operation.</p><p>It should be noted that the above algorithms, technologies and approaches of marker-free motion capture systems provide positioning in two-dimensional space, which makes it difficult both to determine the distance to objects and their sizes, and to track complex movements when, e.g., the user's hands are hidden by his body. Existing solutions in the field of stereo cameras can be effective, but they are not very accurate when the object is significantly removed from the camera, which happens when tracking the entire human body. In addition, they do not solve the problem of occlusions. Thus, the major line of research is the development of a method of motion capture using multiple cameras and computer vision technologies. When implementing multi-camera motion capture systems, the problem of combining objects from several images inevitably arises, i.e., the need to perform triangulation. Among the triangulation methods, linear and iterative linear algorithms can be distinguished.</p><p>Linear triangulation is the most common approach to performing reconstruction of objects in three-dimensional space, including such methods as linear-proprietary method, linear least squares method, direct linear transformation, which differ in varying degrees of resistance to noise [<xref ref-type="bibr" rid="cit14">14</xref>].</p><p>Iterative linear methods are a more robust version of linear triangulation. Conventional linear methods may be less accurate when solving problems of triangulation of a set of points, since in this case, the minimized error has no geometric meaning (it does not take into account the shape of the skeleton and the rules for connecting points). The key idea of iterative linear methods is to adaptively change the weights of linear equations in such a way that the weighted equations correspond to errors. Iterative linear methods include L2 and L∞ triangulation [<xref ref-type="bibr" rid="cit15">15</xref>].</p><p>Thus, within the framework of this study, the following task was set: to develop a method for capturing human movements that provides positioning the user's body in three-dimensional coordinates with minimal error and using computer vision technologies. The proposed method can be used as a replacement for existing motion capture systems, or as part of other algorithms, e.g., for the subsequent classification of a person's condition. This work was aimed at increasing the accuracy of determining the poses and coordinates of the human body in three-dimensional coordinates by developing motion capture methods based on computer vision. To achieve this goal, it was required to formalize the main stages of the process of capturing points of the human body from several cameras, integrate triangulation algorithms, choosing among them the optimal one from the point of view of accuracy, carry out the software implementation of the proposed method.</p><p>Materials and Methods. Solving the problem of 3D positioning of a person in space includes the following main stages:</p><p>Let us look at them in more detail.</p><p>The calibration process involves the camera system taking several pictures of a calibration template, on which it is easy to identify key points with known relative positions in space. After that, internal and external parameters are calculated for each camera. Internal parameters are constant for a particular camera, external parameters depend on the location of the cameras relative to each other [<xref ref-type="bibr" rid="cit16">16</xref>]. Therefore, this step must be performed before the first use of the camera system in a given location.</p><p>To calculate the coordinates of a point in three-dimensional space, it is necessary to know the coordinates of its projection on the images and the projective matrices of the cameras [<xref ref-type="bibr" rid="cit17">17</xref>]. Projective matrix  of some camera can be represented as a combination of matrices  (containing the internal parameters of the camera) and  (rotation), as well as the displacement vector , which describe the change of coordinates from the world coordinate system to the coordinate system relative to the camera:</p><p>, (1)</p><p>where</p><p> — coordinates of the projection of a 3D point on the image in pixels;</p><p> — coordinates of the central point of the camera;</p><p> — focal length in pixels.</p><p>At the second stage, it is required to obtain directly the key (skeletal) points of the human body on each of their cameras. To extract skeletal body points from the frame, it is possible to use various machine learning technologies, e.g., MoveNet, MediaPipe, OpenPose, and others [<xref ref-type="bibr" rid="cit18">18</xref>]. As part of this study, it is proposed to use a highly efficient and productive Pose module from the MediaPipe library. MediaPipe Pose uses machine learning to accurately track a person's body posture, determine 3D landmarks, and mask background segmentation on the entire body from RGB video frames. This approach makes it possible to track up to 33 points and provides real-time operation on most modern devices.</p><p>Thus, as part of the second stage, a set of 33 points is formed for each -th camera:</p><p> (2)</p><p>where</p><p>— coordinate of  – th point on X axis in -th image;</p><p> — coordinate of -th point on Y axis in -th image;</p><p> — total number of cameras and images.</p><p>At the third stage, the positions of key skeletal points in three-dimensional space are calculated. To obtain data on the position of human skeletal points in space, triangulation is performed — finding the coordinates of a 3D point by the coordinates of its projections. Triangulation is one of the most important challenges in computer vision, its solution is a crucial stage in 3D reconstruction, it affects the accuracy of the entire result [<xref ref-type="bibr" rid="cit19">19</xref>].</p><p>Epipolar geometry is fundamental for the three-dimensional reconstruction of the object points based on the position values of the projections of the points in the images from all cameras. Its main idea is that 3D points in the scene are projected onto lines in the image plane of each camera — epipolar lines. These lines correspond to the intersection of the image plane and the plane passing through the camera centers and the 3D point. This idea provides a condition for finding pairs of corresponding points on two images: if it is known that point  on the plane of the first image corresponds to point  on the plane of another image, then its projection should lie on the corresponding epipolar line. According to this condition, the following relation will be valid for all corresponding pairs of points :</p><p>, (3)</p><p>where  — fundamental matrix having size  and rank equal to 2.</p><p>For some point , given in three-dimensional space, the following projection formula expressed in homogeneous coordinates is valid:</p><p> (4)</p><p>where</p><p> — homogeneous coordinates of some point on the plane of the -th image (obtained from the -th camera during the second stage), including the position on image  (on X axis) and  (on Y axis);</p><p> — scale factor;</p><p> — projection matrix of -th camera obtained at the first stage.</p><p>To simplify calculations, the projection matrix of the camera is often presented in the following form:</p><p> (5)</p><p>where  — -th row of matrix .</p><p>Therefore, equation (4) can be represented as follows:</p><p> (6)</p><p>Since  — scale factor, we obtain the following system of equations:</p><p> (7)</p><p>Since  is a homogeneous representation of coordinates in three-dimensional space, then, for their calculation, it is necessary to obtain  and  for at least two cameras. To solve the system of equations (7), 4 algorithms were considered [<xref ref-type="bibr" rid="cit14">14</xref>]:</p><p>DLT refers to a linear triangulation algorithm, whose main advantage is the simplicity of its implementation. Specifically, in the OpenCV computer vision library there is a ready-made implementation of this algorithm in the triangulatePoints method.</p><p>The linear least squares method also refers to linear ones and consists in the fact that the system of homogeneous equations (7) is reduced to a system consisting of inhomogeneous equations, for whose solution, the least squares method is used.</p><p>L2 triangulation is an iterative method of three-dimensional reconstruction, whose solution is reduced to minimizing the reprojection error:</p><p> (8)</p><p>where</p><p> — coordinate of the projection of the estimated point in the image;</p><p> — projection coordinate calculated from formula (4) for an already determined spatial point;</p><p> — distance between two points.</p><p>The algorithm of optimal (polynomial) triangulation refers to non-iterative approaches. To solve it, a sextic polynomial is required. The minimization criterion for performing three-dimensional reconstruction in this method can be defined as follows:</p><p> (9)</p><p>where  — epipolar line corresponding to point .</p><p>When using a two-camera system, to minimize error (9), the following sequence of actions must be performed:</p><p>Using the methods of elementary calculus, it is possible to reduce the solution of the minimization problem to finding the roots of a sextic polynomial. The calculation of the assumed spatial point is performed using the direct linear transfer method (DLT) [<xref ref-type="bibr" rid="cit17">17</xref>].</p><p>Summing up the third stage, we get that after successfully solving system (7) and obtaining the world coordinates of the key points of the target object (human body), the following set of points  is formed:</p><p>, (10)</p><p>where  — world coordinates of the skeletal point of the human body obtained after solving the triangulation problem, expressed in centimeters.</p><p>Thus, in this study, the optimization problem, when using two cameras, is reduced to finding triangulation method , in which the reprojection error tends to a minimum:</p><p> (11)</p><p>Research Results. Optimization problem (11) is solved through performing triangulation of 2D object points obtained from images of several cameras, in the framework of this study — from two cameras using various algorithms listed in the previous section.</p><p>The listed triangulation methods were implemented using OpenCV and NumPy libraries. For comparison, the algorithms were integrated into software implementing the method of three-dimensional motion capture. An example of the method for reconstructing the entire human skeleton is shown in Figure 1.</p><fig id="fig-1"><caption><p>Fig. 1. Example of the method, including recognition of a person on two cameras and construction of a 3D skeleton</p></caption><graphic xlink:href="donstu-23-3-g001.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/vestnikcstroy/2023/3/ta3OSg71JZSWadXVcswfciRD3ioR1QkVIjuwlK0f.jpeg</uri></graphic></fig><p>Then, these algorithms were compared by the value of the reprojection error function (11) for all points of the skeleton from two images. The comparison of the selected triangulation methods by the error rate, as well as by the time of obtaining a solution (computational complexity) for the entire set of skeleton points was carried out. Summary comparative diagrams are shown in Figure 2.</p><fig id="fig-2"><caption><p>Fig. 2. Comparison of triangulation methods by metrics: a — by reprojection error; b — by calculation time</p></caption><graphic xlink:href="donstu-23-3-g002.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/vestnikcstroy/2023/3/dFK3pG8wjYoL77u6ESGX8U18ff8pAPwBWUrFnFjO.jpeg</uri></graphic></fig><p>A number of experimental tests were also carried out for the selected triangulation methods. Under testing, the calculated lengths of the user's limbs and the absolute deviation of the obtained values from the real ones were measured for each approach. The comparison is presented in Table 1.</p><table-wrap id="table-1"><caption><p>Table 1</p><p>Comparison of the accuracy of determining the size of limbs in the process of triangulation</p></caption><table><tbody><tr><td>Body segment</td><td>DLT</td><td>Least Squares</td><td>L2</td><td>Polynomial</td><td>Real value</td></tr><tr><td>Forearm</td><td>25.2 ± 1.6</td><td>30.8 ± 0.2</td><td>26.6 ± 0.5</td><td>24.3 ± 0.4</td><td>26</td></tr><tr><td>Shin</td><td>42.2 ± 2.0</td><td>65.3 ± 1.1</td><td>44.6 ± 0.7</td><td>38.7 ± 1.8</td><td>41</td></tr><tr><td>Hip</td><td>45.7 ± 2.7</td><td>59.5 ± 0.49</td><td>48.7 ± 1.3</td><td>44.1 ± 0.6</td><td>45</td></tr><tr><td>Average deviation</td><td>2.43</td><td>14.58</td><td>2.26</td><td>1.67</td><td>0</td></tr><tr><td>Presented are the average values (in centimeters) after a sample of 10 measurements ± standard deviation in the sample</td></tr></tbody></table></table-wrap><p>The developed software includes the following modules:</p><p>When implementing the software, the Python programming language, OpenCV and Matplotlib libraries were used. The operation of the system was carried out in several streams: one was responsible for receiving data from cameras, the second — for visualization, the third — for sending the received world coordinates of the human body to external systems or modules. Using a unified protocol with a data package in JSON format provides integrating the software into third-party systems (e.g., Unity game development environments, Unreal Engine, etc.) [<xref ref-type="bibr" rid="cit20">20</xref>][<xref ref-type="bibr" rid="cit21">21</xref>].</p><p>Discussion and Conclusion. Let us analyze the results of comparing triangulation algorithms by selected metrics, shown in Figure 2 and in Table 1.</p><p>During the comparison, it was found that the optimal algorithm for three-dimensional reconstruction was the polynomial method. The error value was about 2.55 pixels. In real tests, when determining a person's height, the error was no more than 3 %, taking into account the fact that MediaPipe Pose did not fix the upper point of the head and it was calculated approximately based on the position of the eyes. When measuring limbs, the error ranged from 0.9 cm to 2.3 cm, the average was 1.67 (Table 1). Thus, real tests validate the correctness of the choice of the polynomial method.</p><p>Next, we compared the results obtained with existing studies, e.g., described in [<xref ref-type="bibr" rid="cit22">22</xref>]. The authors also used trained networks (OpenPose) to implement a marker-free human recognition system, a camera calibration procedure, and the extraction of skeletal points, but placed cameras next to each other to simulate stereo vision. This key difference made it possible to recognize human postures within the framework of this study, when some parts of the body overlapped others. In addition, using MediaPipe Pose provided tracking 33 skeletal points, not 18, as in the OpenPose-based method. The obtained error values generally corresponded to existing studies (the best result in [<xref ref-type="bibr" rid="cit22">22</xref>] was 2 cm), which allowed us to conclude that the proposed approach can be used in practice. Other marker-free systems, e.g., based on Kinect [<xref ref-type="bibr" rid="cit23">23</xref>], also showed comparable results in terms of measurement error (2–5 cm). Thus, the resulting solution generally corresponded to the accuracy of existing developments.</p><p>A comparison of the calculation time of a set of points, shown in Figure 2 on the right, demonstrated that the DLT algorithm provided the highest performance. However, all algorithms showed acceptable results (to provide a speed of 30 and even 60 frames per second). Therefore, this metric was not determinative.</p><p>The developed software can be used in various subject areas primarily as a replacement for motion capture systems based on inertial sensors. The advantages of the proposed solution are low economic costs for implementation and accessibility (transition from highly specialized motion capture suits to common camera-based tools), the possibility of parallel capture of body models of several users [<xref ref-type="bibr" rid="cit24">24</xref>].</p><p>The scientific novelty of the research consists in a comprehensive approach to formalizing the process of three-dimensional positioning of a person using computer vision technologies. It includes preliminary calibration of a set of several cameras, formalization of procedures for detecting a person in a frame using an arbitrary neural network to obtain skeletal points, as well as calculation of three-dimensional reconstruction of a human body model using various triangulation algorithms. The study presents all the necessary calculation formulas and detailed steps to achieve the goal — to increase the accuracy of determining the poses and coordinates of the human body in three-dimensional coordinates using computer vision technologies. The theoretical results obtained are quite universal and can be used for the practical implementation of motion capture systems based on various models of neural networks, and not just MediaPipe Pose.</p></body><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Lind C.M., Abtahi F., Forsman M. Wearable Motion Capture Devices for the Prevention of Work-Related Musculoskeletal Disorders in Ergonomics – An Overview of Current Applications, Challenges, and Future Opportunities. Sensors. 2023;23(9):4259. https://doi.org/10.3390/s23094259</mixed-citation><mixed-citation xml:lang="en">Lind  CM,  Abtahi  F,  Forsman  M.  Wearable  Motion  Capture  Devices  for  the  Prevention  of  Work-Related Musculoskeletal Disorders in Ergonomics – An Overview of Current Applications, Challenges, and Future Opportunities. Sensors. 2023;23(9):4259. https://doi.org/10.3390/s23094259</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Sers R., Forrester S., Moss E., Ward S., Ma J., Zecca M. Validity of the Perception Neuron Inertial Motion Capture System for Upper Body Motion Analysis Measurement. 2020;149:107024. http://dx.doi.org/10.1016/j.measurement.2019.107024</mixed-citation><mixed-citation xml:lang="en">Sers R, Forrester S, Moss E, Ward S, Ma J, Zecca M. Validity of the Perception Neuron Inertial Motion Capture System for Upper Body Motion Analysis Measurement.  2020;149:107024. http://dx.doi.org/10.1016/j.measurement.2019.107024</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Bauer P., Lienhart W., Jost S. Accuracy Investigation of the Pose Determination of a VR System. Sensors. 2021;21(5):1622. http://dx.doi.org/10.3390/s21051622</mixed-citation><mixed-citation xml:lang="en">Bauer P, Lienhart W, Jost S.  Accuracy  Investigation  of  the  Pose  Determination  of  a  VR  System.  Sensors. 2021;21(5):1622. http://dx.doi.org/10.3390/s21051622</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Irshad M.T., Nisar M.A., Gouverneur P., Rapp M., Grzegorzek M. AI Approaches towards Prechtl’s Assessment of General Movements A Systematic Literature Review Sensors. 2020;20(18):5321. http://dx.doi.org/10.3390/s20185321</mixed-citation><mixed-citation xml:lang="en">Irshad MT, Nisar MA, Gouverneur P, Rapp M, Grzegorzek M. AI Approaches towards Prechtl’s Assessment of General Movements: A Systematic Literature Review. Sensors. 2020;20(18):5321. http://dx.doi.org/10.3390/s20185321</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Merriaux P., Dupuis Y., Boutteau R., Vasseur P., Savatier X. A Study of Vicon System Positioning Performance. Sensors. 2017;17(7):1591. https://doi.org/10.3390/s17071591</mixed-citation><mixed-citation xml:lang="en">Merriaux P, Dupuis Y, Boutteau R, Vasseur P, Savatier X. A Study of Vicon System Positioning Performance. Sensors. 2017;17(7):1591. https://doi.org/10.3390/s17071591</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Nakano N., Sakura T., Ueda K., Omura L., Kimura A., Iino Y., et al. Evaluation of 3D Markerless Motion Capture Accuracy Using OpenPose with Multiple Video Cameras. Frontiers in Sports and Active Living. 2020;2:50. https://doi.org/10.3389/fspor.2020.00050</mixed-citation><mixed-citation xml:lang="en">Nakano N, Sakura T, Ueda K, Omura L, Kimura A, Iino Y, et al. Evaluation of 3D Markerless Motion Capture Accuracy  Using  OpenPose  with  Multiple  Video  Cameras.  Frontiers in Sports and Active Living.  2020;2:50. https://doi.org/10.3389/fspor.2020.00050</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Coronado E., Fukuda K., Ramirez-Alpizar I.G., Yamanobe N., Venture G., Harada K. Assembly Action Understanding from Fine-Grained Hand Motions, a Multi-camera and Deep Learning Approach. In: Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). New York, NY: IEEE; 2021. P. 2628−2634. http://dx.doi.org/10.1109/IROS51168.2021.9636715</mixed-citation><mixed-citation xml:lang="en">Coronado E, Fukuda K, Ramirez-Alpizar IG, Yamanobe N, Venture G, Harada K. Assembly Action Understanding from  Fine-Grained  Hand  Motions,  a  Multi-camera  and  Deep  Learning  Approach.  In:  Proc.  IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).  New  York,  NY:  IEEE;  2021.  P.  2628−2634. http://dx.doi.org/10.1109/IROS51168.2021.9636715</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Tausif Diwan, Anirudh G., Tembhurne J.V. Object Detection Using YOLO: Challenges, Architectural Successors, Datasets and Applications. Multimedia Tools and Applications. 2023;82(6):9243–9275. https://doi.org/10.1007/s11042-022-13644-y</mixed-citation><mixed-citation xml:lang="en">Tausif Diwan, Anirudh G, Tembhurne JV. Object Detection Using YOLO: Challenges, Architectural Successors, Datasets and Applications. Multimedia Tools and Applications. 2023;82(6):9243–9275. https://doi.org/10.1007/s11042-022-13644-y</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Wei Liu, Anguelov D., Erhan D., Szegedy C., Reed S., Cheng-Yang Fu., et al. SSD: Single Shot MultiBox Detector. In book: Leibe B., Matas J., Sebe N., Welling M. (eds). Computer Vision – ECCV 2016. Cham: Springer. 2016;9905:21–37. https://doi.org/10.1007/978-3-319-46448-0_2</mixed-citation><mixed-citation xml:lang="en">Wei Liu, Anguelov D, Erhan D, Szegedy C, Reed S, Cheng-Yang Fu, et al. SSD: Single Shot MultiBox Detector. In book: Leibe B, Matas J, Sebe N, Welling M. (eds). Computer Vision – ECCV 2016. Cham: Springer. 2016;9905:21–37. https://doi.org/10.1007/978-3-319-46448-0_2</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Bharati P., Pramanik A. Deep Learning Techniques—R-CNN to Mask R-CNN: A Survey. In book: Das A., Nayak J., Naik B., Pati S., Pelusi D. (eds). Computational Intelligence in Pattern Recognition. New York, NY: Springer. 2020;999:657–668. http://dx.doi.org/10.1007/978-981-13-9042-5_56</mixed-citation><mixed-citation xml:lang="en">Bharati  P,  Pramanik  A.  Deep  Learning  Techniques—R-CNN  to  Mask  R-CNN:  A  Survey.  In  book:  Das  A., Nayak J., Naik B., Pati S., Pelusi D. (eds). Computational Intelligence in Pattern Recognition. New York, NY: Springer. 2020;999:657–668. http://dx.doi.org/10.1007/978-981-13-9042-5_56</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Bajpai R., Joshi D. MoveNet: A Deep Neural Network for Joint Profile Prediction across Variable Walking Speeds and Slopes. IEEE Transactions on Instrumentation and Measurement. 2021;70:1–11. http://dx.doi.org/10.1109/TIM.2021.3073720</mixed-citation><mixed-citation xml:lang="en">Bajpai R, Joshi D. MoveNet: A Deep Neural Network for Joint Profile Prediction across Variable Walking Speeds and  Slopes.  IEEE Transactions on Instrumentation and Measurement.  2021;70:1–11. http://dx.doi.org/10.1109/TIM.2021.3073720</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Ghanbari S., Ashtyani Z.P., Masouleh M.T. User Identification Based on Hand Geometrical Biometrics Using Media-Pipe. In: Proc. 30th International Conference on Electrical Engineering (ICEE). New York, NY: IEEE; 2022. P. 373–378. http://dx.doi.org/10.1109/ICEE55646.2022.9827056</mixed-citation><mixed-citation xml:lang="en">Ghanbari  S,  Ashtyani  ZP,  Masouleh  MT.  User  Identification  Based  on  Hand  Geometrical  Biometrics  Using Media-Pipe. In: Proc. 30th International Conference on Electrical Engineering (ICEE). New York, NY: IEEE; 2022. P. 373−378. http://dx.doi.org/10.1109/ICEE55646.2022.9827056</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Weijian Mai, Fengjie Wu, Ziqian Guo, Yuhan Xiang, Gensheng Liu, Xiaobin Chen. A Fall Detection Alert System Based on Lightweight Openpose and Spatial-Temporal Graph Convolution Network. Journal of Physics: Conference Series. 2021;2035:012036. http://dx.doi.org/10.1088/1742-6596/2035/1/012036</mixed-citation><mixed-citation xml:lang="en">Weijian Mai, Fengjie Wu, Ziqian Guo, Yuhan Xiang, Gensheng Liu, Xiaobin Chen. A Fall Detection Alert System Based on Lightweight Openpose and Spatial-Temporal Graph Convolution Network. Journal of Physics: Conference Series. 2021;2035:012036. http://dx.doi.org/10.1088/1742-6596/2035/1/012036</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Szeliski R. Recognition. In book: Computer Vision: Algorithms and Applications. London: Springer; 2011. P. 575–640. https://doi.org/10.1007/978-1-84882-935-0_14</mixed-citation><mixed-citation xml:lang="en">Szeliski  R.  Recognition.  In  book:  Computer Vision: Algorithms and Applications.  London:  Springer;  2011. P. 575–640. https://doi.org/10.1007/978-1-84882-935-0_14</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Kahl F., Hartley R. Multiple-View Geometry Under the L∞-Norm. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2008;30(9):1603–1617. http://dx.doi.org/10.1109/TPAMI.2007.70824</mixed-citation><mixed-citation xml:lang="en">Kahl F, Hartley R. Multiple-View Geometry Under the L∞-Norm. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2008;30(9):1603–1617. http://dx.doi.org/10.1109/TPAMI.2007.70824</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Luhmann T., Fraser C., Maas H.-G. Sensor Modelling and Camera Calibration for Close-Range Photogrammetry. ISPRS Journal of Photogrammetry and Remote Sensing. 2016;115:37–46. https://doi.org/10.1016/j.isprsjprs.2015.10.006</mixed-citation><mixed-citation xml:lang="en">Luhmann T, Fraser C, Maas H-G. Sensor Modelling and Camera Calibration for Close-Range Photogrammetry. ISPRS Journal of Photogrammetry and Remote Sensing. 2016;115:37−46. https://doi.org/10.1016/j.isprsjprs.2015.10.006</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Кудинов И.А., Павлов О.В., Холопов И.С. Реализация алгоритма определения пространственных координат и угловой ориентации объекта по реперным точкам, использующего информацию от одной камеры. Компьютерная оптика. 2015;39(3):413–419. https://doi.org/10.18287/0134-2452-2015-39-3-413-419</mixed-citation><mixed-citation xml:lang="en">Kudinov IA, Pavlov OV, Holopov IS. Implementation of an Algorithm for Determining the Spatial Coordinates and the Angular Orientation of an Object Based on Reference Marks Using Information from a Single Camera. Computer Optics. 2015;39(3):413–419. https://doi.org/10.18287/0134-2452-2015-39-3-413-419</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Jen-Li Chung, Lee-Yeng Ong, Meng-Chew Leow. Comparative Analysis of Skeleton-Based Human Pose Estimation. Future Internet. 2022;14(12):380. https://doi.org/10.3390/fi14120380</mixed-citation><mixed-citation xml:lang="en">Jen-Li  Chung,  Lee-Yeng  Ong,  Meng-Chew  Leow.  Comparative  Analysis  of  Skeleton-Based  Human  Pose Estimation. Future Internet. 2022;14(12):380. https://doi.org/10.3390/fi14120380</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">Jia Chen, Dongli Wu, Peng Song, Fuqin Deng, Ying He Y., Shiyan Pang. Multi-View Triangulation: Systematic Comparison and an Improved Method. IEEE Access. 2020;8:21017–21027. http://dx.doi.org/10.1109/ACCESS.2020.2969082</mixed-citation><mixed-citation xml:lang="en">Jia Chen, Dongli Wu, Peng Song, Fuqin Deng, Ying He Y, Shiyan Pang. Multi-View Triangulation: Systematic Comparison and an Improved Method. IEEE Access.  2020;8:21017−21027. http://dx.doi.org/10.1109/ACCESS.2020.2969082</mixed-citation></citation-alternatives></ref><ref id="cit20"><label>20</label><citation-alternatives><mixed-citation xml:lang="ru">Obukhov A., Dedov D., Volkov A., Teselkin D. Modeling of Nonlinear Dynamic Processes of Human Movement in Virtual Reality Based on Digital Shadows. Computation. 2023;11(5):85. https://doi.org/10.3390/computation11050085</mixed-citation><mixed-citation xml:lang="en">Obukhov A, Dedov D, Volkov A, Teselkin D. Modeling of Nonlinear Dynamic Processes of Human Movement in Virtual Reality Based on Digital Shadows. Computation. 2023;11(5):85. https://doi.org/10.3390/computation11050085</mixed-citation></citation-alternatives></ref><ref id="cit21"><label>21</label><citation-alternatives><mixed-citation xml:lang="ru">Abella J., Demircan E. A Multi-Body Simulation Framework for Live Motion Tracking and Analysis within the Unity Environment. In: Proc. 16th International Conference on Ubiquitous Robots (UR). New York, NY: IEEE; 2019. P. 654–659. http://dx.doi.org/10.1109/URAI.2019.8768659</mixed-citation><mixed-citation xml:lang="en">Abella J, Demircan E. A Multi-Body Simulation Framework for Live Motion Tracking and Analysis within the Unity Environment. In: Proc. 16th International Conference on Ubiquitous Robots (UR). New York, NY: IEEE; 2019. P. 654−659. http://dx.doi.org/10.1109/URAI.2019.8768659</mixed-citation></citation-alternatives></ref><ref id="cit22"><label>22</label><citation-alternatives><mixed-citation xml:lang="ru">Zago M., Luzzago M., Marangoni T., De Cecco M., Tarabini M., Galli M. 3D Tracking of Human Motion Using Visual Skeletonization and Stereoscopic Vision. Frontiers in Bioengineering and Biotechnology. 2020;8:181. https://doi.org/10.3389/fbioe.2020.00181</mixed-citation><mixed-citation xml:lang="en">Zago M, Luzzago M, Marangoni T, De Cecco M, Tarabini M, Galli M. 3D Tracking of Human Motion Using Visual  Skeletonization  and  Stereoscopic  Vision.  Frontiers in Bioengineering and Biotechnology.  2020;8:181. https://doi.org/10.3389/fbioe.2020.00181</mixed-citation></citation-alternatives></ref><ref id="cit23"><label>23</label><citation-alternatives><mixed-citation xml:lang="ru">Latorre J., Llorens R., Colomer C., Alcañiz M. Reliability and Comparison of Kinect-Based Methods for Estimating Spatiotemporal Gait Parameters of Healthy and Post-Stroke Individuals. Journal of Biomechanics. 2018;72:268–73. https://doi.org/10.1016/j.jbiomech.2018.03.008</mixed-citation><mixed-citation xml:lang="en">Latorre J, Llorens R, Colomer C, Alcañiz M. Reliability and Comparison of Kinect-Based Methods for Estimating Spatiotemporal Gait Parameters of Healthy and Post-Stroke Individuals. Journal of Biomechanics. 2018;72:268–273. https://doi.org/10.1016/j.jbiomech.2018.03.008</mixed-citation></citation-alternatives></ref><ref id="cit24"><label>24</label><citation-alternatives><mixed-citation xml:lang="ru">Обухов А.Д., Волков А.А., Вехтева Н.А., Патутин К.И., Назарова А.О., Дедов Д.Л. Метод формирования цифровой тени процесса перемещения человека на основе объединения систем захвата движений. Информатика и автоматизация. 2023;22(1):168–189. https://doi.org/10.15622/ia.22.1.7</mixed-citation><mixed-citation xml:lang="en">Obuhov AD, Volkov AA, Vekhteva NA, Patutin KI, Nazarova AO, Dedov DL. The Method of Forming a Digital Shadow  of  the  Human  Movement  Process  Based  on  the  Combination  of  Motion  Capture  Systems. Informatics and Automation. 2023;22(1):168–189. https://doi.org/10.15622/ia.22.1.7</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
