পোজ এস্টিমেশন হল একটি এমএল মডেল ব্যবহার করে একটি ইমেজ বা ভিডিও থেকে একজন ব্যক্তির ভঙ্গি অনুমান করার জন্য মূল শরীরের জয়েন্টগুলির (কী পয়েন্ট) স্থানিক অবস্থানগুলি অনুমান করা।
এবার শুরু করা যাক
আপনি যদি TensorFlow Lite-এ নতুন হয়ে থাকেন এবং Android বা iOS-এর সাথে কাজ করেন, তাহলে নিম্নলিখিত উদাহরণের অ্যাপ্লিকেশনগুলি অন্বেষণ করুন যা আপনাকে শুরু করতে সাহায্য করতে পারে।
অ্যান্ড্রয়েড উদাহরণ iOS উদাহরণ
আপনি যদি TensorFlow Lite API- এর সাথে পরিচিত হন, তাহলে স্টার্টার মুভনেট পোজ এস্টিমেশন মডেল এবং সমর্থনকারী ফাইল ডাউনলোড করুন।
আপনি যদি একটি ওয়েব ব্রাউজারে পোজ অনুমান চেষ্টা করতে চান, TensorFlow JS ডেমো দেখুন ।
মডেলের বিবরণ
কিভাবে এটা কাজ করে
ভঙ্গি অনুমান বলতে কম্পিউটারের দৃষ্টি কৌশল বোঝায় যা চিত্র এবং ভিডিওতে মানুষের চিত্র সনাক্ত করে, যাতে কেউ নির্ধারণ করতে পারে, উদাহরণস্বরূপ, একটি ছবিতে কারো কনুই কোথায় দেখা যাচ্ছে। এটি সম্পর্কে সচেতন হওয়া গুরুত্বপূর্ণ যে ভঙ্গি অনুমান শুধুমাত্র অনুমান করে যে শরীরের মূল জয়েন্টগুলি কোথায় রয়েছে এবং একটি চিত্র বা ভিডিওতে কে আছে তা চিনতে পারে না।
পোজ অনুমান মডেলগুলি ইনপুট হিসাবে একটি প্রক্রিয়াকৃত ক্যামেরা চিত্র নেয় এবং কীপয়েন্ট সম্পর্কে তথ্য আউটপুট করে। শনাক্ত করা মূল পয়েন্টগুলি 0.0 এবং 1.0-এর মধ্যে আত্মবিশ্বাসের স্কোর সহ একটি অংশ আইডি দ্বারা সূচিত করা হয়। আত্মবিশ্বাসের স্কোর সেই অবস্থানে একটি কীপয়েন্ট বিদ্যমান থাকার সম্ভাবনা নির্দেশ করে।
আমরা দুটি TensorFlow Lite পোজ অনুমান মডেলের রেফারেন্স বাস্তবায়ন প্রদান করি:
- মুভনেট: অত্যাধুনিক পোজ অনুমান মডেল দুটি স্বাদে উপলব্ধ: আলো এবং থান্ডার। নীচের বিভাগে এই দুটির মধ্যে একটি তুলনা দেখুন।
- পোজনেট: 2017 সালে প্রকাশিত পূর্ববর্তী প্রজন্মের পোজ অনুমান মডেল।
পোজ অনুমান মডেল দ্বারা সনাক্ত করা শরীরের বিভিন্ন জয়েন্টগুলি নীচে সারণী করা হয়েছে:
আইডি | অংশ |
---|---|
0 | নাক |
1 | বাম চোখ |
2 | যোগ্য দৃষ্টি |
3 | বাম কান |
4 | ডান কান |
5 | বাম কাঁধে |
6 | ডান কাঁধ |
7 | বাম কনুই |
8 | ডান কনুই |
9 | বাম হাতের কবজি |
10 | ডান কব্জি |
11 | বাম হিপ |
12 | ডান হিপ |
13 | বাম হাঁটু |
14 | ডান হাঁটু |
15 | বাম গোড়ালি |
16 | ডান গোড়ালি |
একটি উদাহরণ আউটপুট নীচে দেখানো হয়েছে:
কর্মক্ষমতা বেঞ্চমার্ক
মুভনেট দুটি স্বাদে উপলব্ধ:
- MoveNet.Lightning থান্ডার সংস্করণের তুলনায় ছোট, দ্রুত কিন্তু কম নির্ভুল। এটি আধুনিক স্মার্টফোনে রিয়েলটাইমে চলতে পারে।
- MoveNet.Thunder হল আরও সঠিক সংস্করণ কিন্তু লাইটনিংয়ের চেয়েও বড় এবং ধীর। উচ্চ নির্ভুলতার প্রয়োজন এমন ব্যবহারের ক্ষেত্রে এটি কার্যকর।
মুভনেট বিভিন্ন ডেটাসেটে, বিশেষ করে ফিটনেস অ্যাকশন ইমেজ সহ ছবিতে পোজনেটকে ছাড়িয়ে যায়। অতএব, আমরা PoseNet এর উপর MoveNet ব্যবহার করার পরামর্শ দিই।
পারফরম্যান্স বেঞ্চমার্ক নম্বর এখানে বর্ণিত টুল দিয়ে তৈরি করা হয়। নির্ভুলতা (এমএপি) সংখ্যাগুলি COCO ডেটাসেটের একটি উপসেটে পরিমাপ করা হয় যেখানে আমরা প্রতিটি চিত্রকে শুধুমাত্র একজন ব্যক্তি ধারণ করার জন্য ফিল্টার এবং ক্রপ করি।
মডেল | আকার (MB) | mAP | লেটেন্সি (মিসে) | ||
---|---|---|---|---|---|
Pixel 5 - CPU 4 থ্রেড | Pixel 5 - GPU | রাস্পবেরি পাই 4 - CPU 4 থ্রেড | |||
MoveNet.Thunder (FP16 কোয়ান্টাইজড) | 12.6MB | 72.0 | 155 মি | 45ms | 594ms |
MoveNet.Thunder (INT8 কোয়ান্টাইজড) | 7.1MB | ৬৮.৯ | 100ms | 52ms | 251ms |
MoveNet.Lightning (FP16 কোয়ান্টাইজড) | 4.8MB | 63.0 | 60ms | 25ms | 186ms |
MoveNet.Lightning (INT8 কোয়ান্টাইজড) | 2.9MB | 57.4 | 52ms | 28ms | 95ms |
PoseNet(MobileNetV1 ব্যাকবোন, FP32) | 13.3MB | 45.6 | 80ms | 40ms | 338ms |
আরও পড়া এবং সম্পদ
- MoveNet এবং TensorFlow Lite ব্যবহার করে পোজ অনুমান সম্পর্কে আরও জানতে এই ব্লগ পোস্টটি দেখুন।
- ওয়েবে পোজ অনুমান সম্পর্কে আরও জানতে এই ব্লগ পোস্টটি দেখুন।
- TensorFlow Hub থেকে একটি মডেল ব্যবহার করে Python এ MoveNet চালানো সম্পর্কে জানতে এই টিউটোরিয়ালটি দেখুন।
- কোরাল/এজটিপিইউ এজ ডিভাইসে পোজ অনুমানকে অনেক দ্রুত চালাতে পারে। আরো বিস্তারিত জানার জন্য EdgeTPU-অপ্টিমাইজ করা মডেল দেখুন।
- এখানে PoseNet কাগজ পড়ুন
এছাড়াও, ভঙ্গি অনুমানের এই ব্যবহারের ক্ষেত্রে দেখুন।