با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
ML Kit Pose Detection API یک راه حل همه کاره سبک وزن برای توسعه دهندگان برنامه است تا وضعیت بدن یک سوژه را در زمان واقعی از یک ویدیوی مداوم یا تصویر ثابت تشخیص دهند. یک ژست موقعیت بدن را در یک لحظه در زمان با مجموعه ای از نقاط برجسته اسکلتی توصیف می کند. نشانه ها مربوط به قسمت های مختلف بدن مانند شانه ها و باسن هستند. موقعیتهای نسبی نشانهها را میتوان برای تشخیص یک ژست از دیگری استفاده کرد.
ML Kit Pose Detection یک تطابق اسکلتی 33 نقطهای برای تمام بدن ایجاد میکند که شامل نقاط برجسته صورت (گوشها، چشمها، دهان و بینی) و نقاط روی دستها و پاها میشود. شکل 1 زیر نشانه هایی را نشان می دهد که از طریق دوربین به کاربر نگاه می کنند، بنابراین یک تصویر آینه ای است. سمت راست کاربر در سمت چپ تصویر ظاهر می شود:
شکل 1. نقاط دیدنی
تشخیص وضعیت کیت ML برای دستیابی به نتایج عالی به تجهیزات تخصصی یا تخصص ML نیاز ندارد. با استفاده از این فناوری، توسعه دهندگان می توانند تنها با چند خط کد، تجربه های بی نظیری را برای کاربران خود ایجاد کنند.
برای تشخیص حالت، چهره کاربر باید حضور داشته باشد. تشخیص پوس زمانی بهترین کار را انجام می دهد که کل بدن سوژه در کادر قابل مشاهده باشد، اما ژست جزئی بدن را نیز تشخیص می دهد. در این صورت، نشانه هایی که شناسایی نمی شوند، مختصاتی خارج از تصویر اختصاص داده می شوند.
قابلیت های کلیدی
پشتیبانی از چند پلتفرم از تجربه یکسانی در اندروید و iOS لذت ببرید.
ردیابی کامل بدن این مدل 33 نقطه برجسته اسکلتی، از جمله موقعیت دست ها و پاها را برمی گرداند.
امتیاز InFrameLikelihood برای هر علامت مشخصه، معیاری است که احتمال قرار گرفتن نقطه عطف در قاب تصویر را نشان می دهد. امتیاز دارای دامنه ای از 0.0 تا 1.0 است که در آن 1.0 نشان دهنده اطمینان بالا است.
دو SDK بهینه شده SDK پایه در تلفنهای مدرن مانند Pixel 4 و iPhone X بهصورت بلادرنگ اجرا میشود. نتایج را به ترتیب با سرعت 30 و ~45 فریم در ثانیه برمیگرداند. با این حال، دقت مختصات نقطه عطف ممکن است متفاوت باشد. SDK دقیق نتایج را با نرخ فریم کندتر برمی گرداند، اما مقادیر مختصات دقیق تری تولید می کند.
مختصات Z برای تجزیه و تحلیل عمق این مقدار می تواند به تعیین اینکه آیا قسمت هایی از بدن کاربر در جلو یا پشت باسن کاربر قرار دارد کمک می کند. برای اطلاعات بیشتر، بخش Z Coordinate را در زیر ببینید.
Pose Detection API شبیه به Facial Recognition API است که مجموعه ای از نشانه ها و مکان آنها را برمی گرداند. با این حال، در حالی که تشخیص چهره همچنین سعی میکند ویژگیهایی مانند دهان خندان یا چشمان باز را تشخیص دهد، Pose Detection هیچ معنایی به نشانههای یک ژست یا خود ژست نمیدهد. شما می توانید الگوریتم های خود را برای تفسیر یک ژست ایجاد کنید. برای چند نمونه به نکات طبقه بندی پوز مراجعه کنید.
تشخیص پوس فقط می تواند یک نفر را در یک تصویر تشخیص دهد. اگر دو نفر در تصویر باشند، مدل به فردی که با بالاترین اطمینان شناسایی شده است، نشانههای مشخصی را اختصاص میدهد.
Z مختصات
مختصات Z یک مقدار آزمایشی است که برای هر نقطه عطف محاسبه می شود. در "پیکسل های تصویر" مانند مختصات X و Y اندازه گیری می شود، اما یک مقدار سه بعدی واقعی نیست. محور Z عمود بر دوربین است و از بین باسن سوژه عبور می کند. مبدا محور Z تقریباً نقطه مرکزی بین باسن (چپ/راست و جلو/پشت نسبت به دوربین) است. مقادیر Z منفی به سمت دوربین است. ارزش های مثبت از آن دور است. مختصات Z کران بالایی یا پایینی ندارد.
نتایج نمونه
جدول زیر مختصات و InFrameLikelihood را برای چند نشانه در حالت سمت راست نشان می دهد. توجه داشته باشید که مختصات Z برای دست چپ کاربر منفی است، زیرا در جلوی مرکز باسن سوژه و به سمت دوربین قرار دارند.
نقطه عطف
تایپ کنید
موقعیت
InFrameLikelihood
11
شانه چپ
(734.9671، 550.7924، -118.11934)
0.9999038
12
RIGHT_SHOULDER
(391.27032, 583.2485, -321.15836)
0.9999894
13
LEFT_ELBOW
(903.83704، 754.676، -219.67009)
0.9836427
14
RIGHT_ELBOW
(322.18152, 842.5973, -179.28519)
0.99970156
15
مچ دست چپ
(1073.8956، 654.9725، -820.93463)
0.9737737
16
RIGHT_WRIST
(218.27956، 1015.70435، -683.6567)
0.995568
17
LEFT_PINKY
(1146.1635، 609.6432، -956.9976)
0.95273364
18
RIGHT_PINKY
(176.17755، 1065.838، -776.5006)
0.9785348
در زیر کاپوت
برای جزئیات پیاده سازی بیشتر در مورد مدل های ML اساسی برای این API، پست وبلاگ Google AI ما را بررسی کنید.
برای کسب اطلاعات بیشتر در مورد شیوه های منصفانه ML ما و نحوه آموزش مدل ها، به کارت مدل ما مراجعه کنید
تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-24 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eML Kit's Pose Detection API enables real-time body pose tracking in apps, using skeletal landmark points to identify body positions.\u003c/p\u003e\n"],["\u003cp\u003eIt offers cross-platform support, full-body tracking with 33 landmarks including hands and feet, and InFrameLikelihood scores for landmark accuracy.\u003c/p\u003e\n"],["\u003cp\u003eTwo SDK options are available: a base SDK for real-time performance and an accurate SDK for higher precision landmark coordinates.\u003c/p\u003e\n"],["\u003cp\u003eThe API is currently in beta and subject to change.\u003c/p\u003e\n"]]],[],null,["# Pose detection\n\nThis API is offered in beta, and is not subject to any SLA or deprecation policy. Changes may be made to this API that break backward compatibility. \n\nThe ML Kit Pose Detection API is a lightweight versatile solution for app\ndevelopers to detect the pose of a subject's body in real time from a\ncontinuous video or static image. A pose describes the body's position at one\nmoment in time with a set of skeletal landmark points. The landmarks\ncorrespond to different body parts such as the shoulders and hips. The relative\npositions of landmarks can be used to distinguish one pose from another.\n\n[iOS](/ml-kit/vision/pose-detection/ios)\n[Android](/ml-kit/vision/pose-detection/android)\n\nML Kit Pose Detection produces a full-body 33 point skeletal match that includes\nfacial landmarks (ears, eyes, mouth, and nose) and points on the hands and feet.\nFigure 1 below shows the landmarks looking through the camera at the user, so\nit's a mirror image. The user's right side appears on the left of the image: \n**Figure 1.**Landmarks\n\nML Kit Pose Detection doesn't require specialized equipment or ML expertise in\norder to achieve great results. With this technology developers can create one\nof a kind experiences for their users with only a few lines of code.\n\nThe user's face must be present in order to detect a pose. Pose detection works\nbest when the subject's entire body is visible in the frame, but it also\ndetects a partial body pose. In that case the landmarks that are not\nrecognized are assigned coordinates outside of the image.\n\nKey capabilities\n----------------\n\n- **Cross-platform support** Enjoy the same experience on both Android and iOS.\n- **Full body tracking** The model returns 33 key skeletal landmark points, including the positions of the hands and feet.\n- **InFrameLikelihood score** For each landmark, a measure that indicates the probability that the landmark is within the image frame. The score has a range of 0.0 to 1.0, where 1.0 indicates high confidence.\n- **Two optimized SDKs** The base SDK runs in real time on modern phones like the Pixel 4 and iPhone X. It returns results at the rate of \\~30 and \\~45 fps respectively. However, the precision of the landmark coordinates may vary. The accurate SDK returns results at a slower framerate, but produces more accurate coordinate values.\n- **Z Coordinate for depth analysis** This value can help determine whether parts of the users body are in front or behind the users' hips. For more information, see the [Z Coordinate](#z_coordinate) section below.\n\nThe Pose Detection API is similar to the [Facial Recognition API](/ml-%0Akit/vision/face-detection) in that it returns a set of landmarks and their\nlocation. However, while Face Detection also tries to recognize features such as\na smiling mouth or open eyes, Pose Detection does not attach any meaning to the\nlandmarks in a pose or the pose itself. You can create your own algorithms to\ninterpret a pose. See\n[Pose Classification Tips](/ml-kit/vision/pose-detection/classifying-poses) for\nsome examples.\n\nPose detection can only detect one person in an image. If two people are in the\nimage, the model will assign landmarks to the person detected with the highest\nconfidence.\n\nZ Coordinate\n------------\n\nThe Z Coordinate is an experimental value that is calculated for every landmark. It\nis measured in \"image pixels\" like the X and Y coordinates, but it is not a true\n3D value. The Z axis is perpendicular to the camera and passes between\na subject's hips. The origin of the Z axis is approximately the center point\nbetween the hips (left/right and front/back relative to the camera).\nNegative Z values are towards the camera; positive values are away from it.\nThe Z coordinate does not have an upper or lower bound.\n\nSample results\n--------------\n\nThe following table shows the coordinates and InFrameLikelihood for a few\nlandmarks in the pose to the right. Note that the Z coordinates for the user's\nleft hand are negative, since they are in front of the subject's hips' center\nand towards the camera. \n\n| Landmark | Type | Position | InFrameLikelihood |\n|----------|----------------|------------------------------------|-------------------|\n| 11 | LEFT_SHOULDER | (734.9671, 550.7924, -118.11934) | 0.9999038 |\n| 12 | RIGHT_SHOULDER | (391.27032, 583.2485, -321.15836) | 0.9999894 |\n| 13 | LEFT_ELBOW | (903.83704, 754.676, -219.67009) | 0.9836427 |\n| 14 | RIGHT_ELBOW | (322.18152, 842.5973, -179.28519) | 0.99970156 |\n| 15 | LEFT_WRIST | (1073.8956, 654.9725, -820.93463) | 0.9737737 |\n| 16 | RIGHT_WRIST | (218.27956, 1015.70435, -683.6567) | 0.995568 |\n| 17 | LEFT_PINKY | (1146.1635, 609.6432, -956.9976) | 0.95273364 |\n| 18 | RIGHT_PINKY | (176.17755, 1065.838, -776.5006) | 0.9785348 |\n\nUnder the hood\n--------------\n\nFor more implementation details on the underlying ML models for this API, check\nout our [Google AI blog post](https://ai.googleblog.com/2020/08/on-device-real-time-body-pose-tracking.html).\n\nTo learn more about our ML fairness practices and how the models were trained,\nsee our [Model Card](/static/ml-kit/images/vision/pose-detection/pose_model_card.pdf)"]]