پروژه برنامه نویسی تشخیص فعالیت های انسان براساس داده های مفصلی سنسور کینکت در متلب

350,000 تومان

توضیحات

 

پروژه برنامه نویسی تشخیص فعالیت های انسان براساس داده های مفصلی سنسور کینکت در متلب

 

تشخیص فعالیت انسان(human activity detection):

امروزه باتوجه پیشرفت روز افزون تکنولوژی و سپردن امور به دست ماشین های هوشمند، کاربردهای زیادی را می توان برای اهمیت تشخیص فعالیت های انسان توسط ماشین های هوشمند نام برد. برای مثال در حوزه امنیت می توان سیستم های امنیتی و مراقبتی مانند دوربین های مدار بسته را به امکاناتی نظیر تشخیص فعالیت های انسان تجهیز نمود تا با توجه به دریافت اطلاعات تصویری و عمقی (دریافت از سنسور مربوطه مانند کینکت) بتوان نوع فعالیت را تشخیص داده و حتی حرکت بعدی را پیش بینی نمود. برای مثال دوربین های مداربسته بانک ها و یا متروها بتوانند نوع حالات رفتاری و عملی سارقین را تشخیص دهند و قبل از اینکه سارقین عمل بعدی را انجام دهند، نوع عمل آنها پیش بینی گردد. در امور مراقبتی و امنیتی نیز می توان به مواردی اشاره کرد که انسان قادر به انجام امور به لحاظ محدودیت های بدنی نمی باشد و ماشین ها می توانند جایگزین های مناسبی باشند. مثلا تشخیص فعالیت های انسان و دیگر موجودات با استفاده از سنسور کینکت در تاریکی مطلق و مکان هایی که انسان دچار وحشت می شود و در آن شرایط چشمان انسان قادر به دیدن نمی باشد.

از دیگر کاربردهای تشخیص فعالیت های انسان می توان به موارد ذیل اشاره نمود:

تشخیص زبان اشارات و حرکات بدن به ویژه دستها برای افراد مختلف از جمله ناشنوایان که از نتایج آن، کم کردن نیروی انسانی مختص این کار و نیز استفاده از ماشین های هوشمند برای ترجمه زبان اشارات قشر ناشنوا و کم شنوا می باشد.

یکی دیگر از کاربردهای مفید تشخیص فعالیت های انسان در افزایش ایمنی است و این کاربرد بدین صورت است که در مواردی که حضور انسان در مکانی خاص و خطرناک باشد و از طرفی دقت کار انسانی نیز در آن مکان ضروری باشد، می توان از ربات هایی استفاده نمود که با دریافت اطلاعات حرکتی انسان، خودش این حرکات را با دقت انسان انجام دهد.

کاربرد دیگر تشخیص فعالیت های انسان، هوشمندسازی منازل مسکونی می باشد که با آموزش دادن حرکات دستوری انسان به ماشین های هوشمند می توان کنترل امور منزل از جمله روشن و خاموش کردن چراغها، وسایل برقی و غیره را از طریق دستگاه های خاص و از راه دور انجام داد. در این میان برای انجام امور فوق نیاز به روش های دقیقی است تا فعالیتهای انسان را تشخیص دهد و حتی در صورت انجام ناقص فعالیت، بتواند فعالیت مورد نظر را به درستی تشخیص دهد.

از طرفی در مواردی همچون مثال فوق که حضور انسان برای انجام دقیق آن نیاز می باشد، بایستی تشخیص فعالیت بدرستی و بدون هرگونه ایراد صورت گیرد تا خللی در انجام امور صورت نگیرد.

بنابراین نیاز به یک روش دقیق و بدون خطا شدیدا احساس می گردد و این روش ها باید بتوانند توانایی اصلاح خود را نیز داشته باشند تا خود را با شرایط محیطی وفق دهند و در همه شرایط کارایی خود را حفظ کنند. یکی دیگر از خصوصیات لازم این روش ها ، عدم وابستگی آنها به شرایط محیطی و فیزیکی می باشد مثلا در تشخیص فعالیت انسان، ابعاد انسان(چاقی، لاغری، قد بلند و کوتاه و سرعت انجام کار) و شرایط نوری محیط (تاریکی مطلق) نبایستی در تشخیص دقیق فعالیت خللی وارد کنند. یکی از روشهای مفید، استفاده از سنسور کینکت همراه با الگوریتم تشخیصی مفید می باشد.

امروزه با توجه به نفوذ بی سابقه رایانه ها در زندگی جوامع مدرن، رایانش فراگیر به سبب کاربردهای گسترده و توان بالقوه خود در بهبود روش زندگی انسان ها به تازگی مورد توجه بسیاری از مجامع پژوهشی قرار گرفته است. سیستم های با قابلیت تشخیص فعالیت های انسان نیز نمونه ای از سیستم های فراگیر اطلاعاتی هستند که امکان جمع آوری داده های مربوط به وضعیت های انسان در کنار تشخیص نوع فعالیت های روزانه را دارند. تشخیص فعالیت ها از طریق بررسی الگوهای موجود در داده ها و یا تشخیص ناهنجاری ها در حوزه های مختلفی مانند تشخیص تقلب در کارت های اعتباری از طریق بررسی فعالیت های مشکوک رفتاری و عملی حین خرید یا استفاده از کارت، مراقبت های بهداشتی از طریق تشخیص فعالیت های انجام شده توسط فردی که مراقبت روی وی صورت می گیرد (برای مثال کودکان، سالمندان و یا حتی بیماران روانی)، تشخیص نفوذ برای دوربین های امنیتی و تشخیص خرابی در سیستم های بحرانی ایمنی و نظارت نظامی برای فعالیت های دشمن که فعالیت های عملی و رفتاری افراد نزدیک شده به مناطق تحت پوشش دوربین ها را مورد بررسی و تحلیل قرار می دهد کاربرد دارد.

در مورد سلامت بهداشت و مراقبت از سالمندان نیز بایستی ذکر گردد که افق دید پیاده سازی یک سیستم هوشمند نظارت بر سلامتی، حذف نیاز به حضور فیزیکی پزشک و پرستار در کنار بیمار یا سالمند و در نتیجه صرفه جویی در هزینه، انرژی، زمان و نیروی انسانی می باشد. این در حالیست که به کمک این سیستم ها، پزشکان قادر خواهند بود از آخرین وضعیت سلامتی بیماران خود آگاه شوند و در صورتی که سلامتی سالمند به وضعیت بحرانی برسد پزشکان بلافاصله از تغییر وضعیت مطلع شوند تا امکان رسیدگی به خطر و جلوگیری از مشکلات بعدی بوجود آید. علاوه بر این، با ظهور نسل جدید رایانه های کنش مند، مانند ربات های خانگی، روشن شده است که توسعه عملکرد این رایانه ها در گرو افزایش بینش آنها از شرایط محیطی و رفتارهای انسانی است. در این حالت، رباتها با تشخیص فعالیت در حال اجرا توسط انسان و بررسی مجموعه فعالیتهای انجام شده توسط وی، شرایط جسمانی و روحی وی را ارزیابی کرده و متناسب با آن شرایط به طور مناسب رفتار می کنند. تمام مواردی که ذکر گردید، اموری هستند که در آنها لازم است نوع فعالیت انجام شده توسط انسان با استفاده از روش های هوشمند مورد ارزیابی قرار گیرند.

تحقیقات انجام گرفته در این زمینه را میتوان به دو دسته اصلی تقسیم نمود. دسته اول تحقیقاتی است که بر اساس شیوه های مبتنی بر پردازش تصویر نوع فعالیت را تشخیص میدهند و مستقیما بر روی داده های تصویری خام پردازش می نمایند و دسته دوم از داده های مفصلی حاصل از شتاب سنج ها با داده های مفصلی که ابزارهایی مانند سنسور کینکت در اختیار ما قرار می دهند استفاده می نمایند.

شکل استفاده از ویژگی های دستی برای شناسایی فعالیت، سمت چپ اسکلت انسان، وسط ویژگی خطوط اتصال مفصل ها ، سمت راست ویژگی صفحه حاصل از مفصل ها.

 

ابزارهای مختلف تشخیص فعالیت های انسان:

ابزارهای مختلفی برای این کار وجود دارد:

سنسور کینکت مایکروسافت:

سنسور Xtion PRO شرکت ASUS:

بعد از اینکه شرکت PrimeSense بسته OpenNI را ارائه نمود، شرکت ASUS و PrimeSense در پروژه ای مشترک اعلام کردند که قصد دارند وسیله ای شبیه به کینکت را سازگار با رایانه ها به بازار عرضه نمایند. در سال ۲۰۱۲ این شرکت، دستگاه Xtion PRO، که ویژگی های دوربین عمقی آن در زمینه پیاده سازی دقیق، بر مبنای طراحی شرکت PrimeSense بود را به بازار عرضه نمود. به مانند کینکت، این دستگاه نیز دارای دوربین RGB و فروسرخ خوبی بود. شرکت ASUS ادعا نمود که این دستگاه اولین و منحصر بفردترین نرم افزار توسعه یافته در زمینه تشخیص حرکات برای رایانه را دارد زیرا بر خلاف کینکت، که در ابتدا فقط برای کنسول بازی 360 Xbox بود، مخصوص استفاده در رایانه ساخته شده است. همچنین این شرکت فروشگاه آنلاینی را راه اندازی کرد تا توسعه دهندگان نرم افزار بتوانند برنامه های کاربردی را که در زمینه استفاده از این دستگاه تهیه می کنند را به فروش برسانند.

شکل دستگاه ASUS Xtion PRO.

 

دوربین های استریو:

دوربین های استریو، دوربین هایی هستند که بر خلاف دوربین های معمول دارای دو یا با چند لنز هستند. درحقیقت این دوربین ها چیزی شبیه چشم انسان را می بینند. درواقع مغز ما همیشه دو تصویر از چیزی که توسط دو چشم دیده می شود را دریافت می کند. یک تصویر را با چشم چپ و تصویر دیگر را با چشم راست و سپس این دو را با یکدیگر ترکیب می کند و پس از پردازش، نهایتا چیزی را می بینیم که با چشمان خود مشاهده می کنیم. وجود اختلاف بین همین دو تصویر است که باعث تشخیص بعد در تصویر می شود.

 

شکل الگویی از چشم انسان.

 

دوربین های استریو نیز همین کار را انجام می دهند و با ترکیب دو یا چند تصویر، عکسی را خلق می کنند که کاملا حس سه بعدی بودن آن را متوجه خواهید شد.

شکل نمونه هایی از دوربین های استریو.

این نوع دوربین ها قیمت بالایی داشته و با توجه به کاربردشان نایاب هستند و معمولاً در نوع دو لنزی آن، فاصله بین لنزها برابر با فاصله بین دو چشم انسان است.

سنسورهای نصب شونده بر بدن اینرسیایی:

بسیاری از سیستم های کلاس بندی فعالیت ها با استفاده از سنسورهای اینرسیایی(inertial sensors) کار می کنند مخصوصا سنسورهای شتاب سنج و ژایروسکوپ، اغلب شتاب سنج ها نسبت به جاذبه پاسخ درستی را میدهند، بنابراین اگر شتاب قسمت های مختلف بدن نسبت به g (m/s2 9.81) کوچکتر باشد، هنگامی که بدن در حالت ساکن باشد یا در حالت جنب و جوش، این سیستم می تواند برای تخمین شیب قسمت های بدن نسبت به حالت عمودی مورد استفاده قرار بگیرد.

ژایروسکوپ ها بر اساس اندازه گیری سرعت زاویه ای کار می کنند و کالیبره بودن در مقابل نویزهای الکترنیکی و تأثیرات دما برای آنها مهم است. استفاده از ژایروسکوپ ها برای تخمین تغییرات چرخش فقط در دوره های زمانی خیلی کوتاه می تواند انجام شود چرا که هرچقدر زمان اندازه گیری تغییرات چرخش ادامه دار باشد مقدار خطای جایروسکوپ نیز به صورت متوالی افزایش می یابد که یکی از روش های حل این مشکل استفاده از ژایروسکوپ سه محوره به همراه شتاب سنج سه محوره و نیز کاربرد آنالیز موجک به منظور حذف نویزهای فرکانس بالا و شناور از سیگنال های خروجی از ژایروسکوپ می باشد. سنسورهای اینرسیایی می توانند با استفاده از قطب نمای مغناطیسی یا سنسورهای مغناطیس سنج که نمونه ای از آن در بالا اشاره شد کامل تر گردند و نیز با استفاده از GPS می توان موقعیت را دنبال نمود.

سنسورهای دیگر نصب شونده بر روی بدن:

از دیگر سنسورهای مورد استفاده می توان به شیب سنج(inclinometers) اشاره کرد که ابزاری جهت سنجش زاویه یک شیب، ارتفاع یا بلندی یک جسم با توجه به نیروی جاذبه می باشد و نام های دیگر آن شیب نما (tilt indicator) و اندازه گیر شیب است. یکی دیگر از سنسورها زاویه یاب(Goniometer) است که وسیله ای برای اندازه گیری زوایای محاسبه و حل مسائل ریاضی یا توابع الکتریکی است. سنسورهای مورد استفاده دیگر، سنسور دمای پوست، سنسور مقاومت گالوانیک پوست (عملکرد بر اساس ویژگی عبور الکتریسیته در اثر واکنش های شیمیایی)، سنسور نرخ ضربان قلب، سنسور رطوبت سنج و سنسور نرخ تنفس می باشند.

سنسور کینکت مایکروسافت(Kinect)

سنسور کینکت  مایکروسافت شکل در سال ۲۰۱۰ در بازار عرضه گردید بطوری که به نقل از Guinness World Records سریع ترین فروش را در تاریخ دستگاه های الکترونیک، با فروش هشت میلیون از این دستگاه را در ۶۰ روز دارا می باشد. کینکت اولین وسیله سنسوری تجاری بود که به کاربر اجازه میداد با استفاده از رابط کاربری طبیعی استفاده از ژست، حركات و دستورات گفته شده بجای استفاده از دسته بازی با کنسول بازی در ارتباط باشد.

شکل تصویری از سنسور کینکت مایکروسافت.

دو نوع سنسور کینکت وجود دارد:

-سنسور کینکت مختص ویندوز

-سنسور کینکت مختص کنسول بازی Xbox.

اگر از جدیدترین مدل های Xbox استفاده می کنید، سنسور کینکت نیازی به آداپتور AC ندارد چراکه خود کنسول بازی پورت USB مخصوصی دارد که مقدار توان مورد نیاز را برای عملکرد کینکت تأمین می کند، اما پورت USB رایانه نمی تواند مقدار جریان مورد نیاز را فراهم نماید علاوه بر این، پورت USB مخصوص کینکت که متفاوت با پورت استاندارد می باشد، در داخل پورت USB استاندارد رایانه جای نمی گیرد. از اینرو نیاز به منبع تغذیه AC دارید که سنسور کینکت را به یک خروجی متصل نماید و پورت USB مخصوص کینکت را نیز به USB استاندارد تبدیل کند تا بتوان آن را به رایانه متصل نمود.

تاریخچه سنسور کینکت:

شرکت مایکروسافت در تاریخ ۱ ژوئن ۲۰۰۹، خبر از پروژه کینکت تحت نام رمز شده پروژه ناتال داد. این پروژه در تاریخ ۱۳ ژوئن ۲۰۱۰، به کینکت تغییر نام داد. این نام (Kinect)، از دو کلمه Kinetic (جنبشی) و Connect (متصل کردن)، برای بیان نقشه کار دستگاه مشتق شده است. اولین ورود کینکت به بازار، سراسر جهان را هیجان زده کرد. برخلاف دیگر کنترل کننده های بازی، اتصال کینکت،USB Port Open بود، بنابراین توانایی اتصال به رایانه را داشت. متأسفانه شرکت مایکروسافت درایوری برای اتصال آن به رایانه ارائه نکرده بود و به نظر نمی رسید که در آینده ای نزدیک نیز قصد این کار را داشتهUSB Port  باشد. به محض عرضه سنسور کینکت مایکروسافت در نوامبر ۲۰۱۰، با توجه به باز بودن اتصال USB کینکت، Adafruit Industries انعام یک هزار دلاری را برای هر کسی که درایورهای open source را برای دستگاه های USB باز فراهم کند پیشنهاد داد که این درایورها و یا برنامه کاربردی بتواند روی هر سیستم عملیاتی، اجرا شود. اما کاملأ مستند شده باشد و تحت یک لیسانس open source باشد. بعد از تعدادی اظهارات منفی اولیه از جانب مایکروسافت، Adafruit دو هزار دلار دیگر را به چاشنی انعام اولیه اضافه کرد. برنده سه هزار دلاری انعام، هکتور مارتین بود که درایور لینوکسی تولید نمود که اجازه استفاده از دوربین RGB و نیز تصویر عمقی کینکت را می داد. عرضه درایورهای open source، جنبش دیوانه کننده ای در توسعه برنامه های کاربردی کینکت ایجاد کرد که مورد توجه بسیاری از رسانه ها قرار گرفت. وب سایت هایی به دنیای جدید برنامه های کاربردی کینکت اختصاص داده شد که به سرعت در اینترنت رشد کردند، از جمله http://www.kinecthacks.com. هکرهای کینکت تنها یک نفر نبودند که به توانایی های باورنکردنی این تکنولوژی جدید پی ببرند و آن را برای عموم آزاد کنند. کمپانی هایی که در طراحی کینکت مشارکت داشتند خیلی زود فهمیدند که کینکت برای کنسول بازی 360 Xbox تنها یک قدم اولیه برای انقلاب در یک تکنولوژی جدید بوده است و آنها قصد بودن در پشت صحنه را ندارند (درایورها برنامه های کامپیوتری هستند که اجازه می دهند دیگر برنامه های کامپیوتری سطح بالا در تعامل با سخت افزار دستگاه متصل شده به رایانه باشند. این برنامه ها یک API قابل پیش بینی و واضح را به API محلی ساخته شده در سخت افزار تبدیل می کند. تصور کنید که درایورها مترجم بین سخت افزار و برنامه های کاربردی هستند یا سیستم با استفاده از آنها عمل می کند. بدون درایورهای مناسب، کامپیوتر نمیتواند با هیچ یک از سخت افزارهای متصل شده به خود ارتباط برقرار کند) در سال ۲۰۱۰، کمپانی PrimeSense (کمپانی پشتیبان تصویر پردازی 3D کینکت) درایورها و ساختار برنامه‌نویسی خود را برای کینکت عرضه نمود که به آن OpenNI گفته می شد. بعد از مدت کوتاهی، این کمپانی خبر از مشارکت با شرکت ASUS در تولید دستگاهی شبیه به کینکت به نام Xtion را داد. در سال ۲۰۱۱، شرکت مایکروسافت SDK تجهیزات توسعه نرم افزاری) غیر تجاری کینکت را عرضه نمود. این شرکت در فبریه ۲۰۱۲، نمونه تجاری این SDK را به همراه دستگاه کینکت مخصوص ویندوز به بازار عرضه نمود.

اجزاء تشکیل دهنده سنسور کینکت:

سنسور کینکت از اجزای زیر تشکیل شده است:

-دوربین RGB

-سنسور عمق مشتمل بر پرتو افکن لیزری مادون قرمز و سنسور CMOS مادون قرمز.

-چندین میکروفن آرایه ای با قابلیت موضع یابی منبع صوت و پارازیت گیری صدای اطراف.

-چراغ LED

-شتاب سنج سه محوره.

-سرو موتور کوچک جهت کنترل شیب دستگاه کینکت.

-سنسور CMOS مدار مجتمعی شامل آرایه ای از گیرنده های نوری هستند که در واقع به عنوان سنسور تصویر مادون قرمز عمل می کنند. این قطعات بسته به منبع انتشار، به عنوان دوربین IR سنسور CMOS IR عمق تصویر یا سنسور CMOS نیز شناخته می شوند. دوربین RGB یک دوربین bit-8 با رزولوشن pixels۶۴۰×۴۸۰) VGA ) می باشد و ممکن است خیلی مؤثر به نظر نیاید اما بایستی در نظر گرفت که این رخداد جادویی در سنسور عمق کاملأ به دوربین RGB بستگی دارد.

پرتو افکن IR و دوربین IR، دو عنصر سنسور عمق هستند که از طریق یک چیپ داخلی ساخته شده توسط کمپانی PrimeSense با یکدیگر کار می کنند تا عمل تصحیح مقیاس کردن تصویر حرکات سه بعدی صحنه روبروی کینکت را انجام دهند. سخت افزار کینکت با استفاده از تکنولوژی که structured-light 3D scanning گفته می شود کار خود را انجام می دهد. دوربین IR نیز از رزولوشن VGA (pixels ۶۴۰×۴۸۰) با عمق 11-bit استفاده می کند که حساسیتی با ۲۰۴۸ سطح را فراهم می کند.

شکل از چپ به راست: پرتو افکن IR ، چراغ LED دوربین RGB و دوربین IR کینکت.

 

شکل سخت افزار کینکت.

 

محدودیت های کینکت:

محدوده عملی کینکت از 2/1 متر تا 5/3 متر می باشد. اگر اجسام خیلی نزدیک به سنسور قرار گیرند، اسکن نمی شوند و تنها به صورت نقاط سیاه ظاهر می شوند. اگر اجسام خیلی دور شوند، دقت اسکن آنها خیلی پایین خواهد بود و آنها را بصورت اجسام مسطح ظاهر می کند و اگر از کینکت مخصوص ویندوز استفاده کنید، محدوده آن کمتر است و در حدود ۴۰ سانتیمتر تا ۳ متر خواهد بود.

تئوری Kinect:

روش فنی که در سیستم تصویر برداری سه بعدی شرکت PrimeSense در سنسور کینکت استفاده شده است، پویش سه بعدی نوری ساخت یافته نام دارد. از این روش در بسیاری از کاربردهای صنعتی استفاده شده است، از جمله: کنترل تولید، اندازه گیری حجم و نیز استفاده در پویشگرهای با دقت بالا و گران قیمت. کینکت اولین وسیله ای است که از این روش برای مصارف غیر صنعتی استفاده کرده است.

پویش سه بعدی نوری ساخت یافته:

روش کار بیشتر پویشگرهای نوری ساخت یافته، بر اساس پرتاب خطوط باریک نوری به سوی اجسام سه بعدی می باشد که با استفاده از تغییر شکل یافتن این خطوط هنگامی که این خطوط نوری در یک نقطه از دید مشترک، متفاوت با منبع این خطوط نوری دیده می شوند تا فاصله هر نقطه را تا دوربین اندازه گیری نماید و بدین گونه حجم سه بعدی را تشکیل دهند. این روش می تواند برای پرتاب تعداد بسیار زیادی از خطهایی از نور در یک زمان توسعه داده شود که تعداد بالای نمونه ها را به صورت همزمان فراهم می کند.

شکل قاعدة تقسيم ناحیه ای به مثلث های مجاور هم جهت مساحی به منظور پویش سه بعدی نوری ساخت یافته .

سیستم کاری کینکت کمی متفاوت از پویشگرهای نوری سه بعدی ساخت یافته است. کینکت به جای پرتاب کردن خطوطی از نور مرئی، بوسیله پرتاب کننده IR خود الگویی از پرتوهای نوری فروسرخ را ارسال می کند (به این عمل IR coding می گویند) که به سمت اشیاء پرتاب می شود و نتیجه بازتابش بوسیله سنسور تصویر CMOS استاندارد ضبط می شود. این تصویر ضبط شده، از تراشه نصب شده روی برد کینکت که توسط شرکت PrimeSense طراحی شده است عبور کرده و آن را به تصویر عمقی، بر می گرداند .

شکل تصویر رمزگذاری شده فرو سرخ کینکت به همراه جزئیات.

 

شکل تصویر سمت چپ نگاشت عمقی و تصویر سمت راست تصویر تشکیل شده از الگوی رمزگذاری شده فروسرخ.

دیتاست های تشخیص فعالیت انسان:

مجموعه داده 12-MSRC

مجموعه داده 12-MSRC شامل ۱۲ حرکت است که توسط ۳۰ نفر اجرا می شود. این حالت ها به صورت خلاصه در دو دسته سازمان داده می شوند. یکی حالتهای شمایلی یا مجسمه ای است که ارتباطی است بین یک حالت و حالت مرجع اولیه (دولا شدن یا پنهان شدن، گذاشتن عینک دید در شب، تیراندازی با طپانچه، پرتاب کردن یک شئ، تعویض جنگ افزار و لگد زدن) و دسته دوم حالت های استعاره ای است که به صورت خلاصه مفهومی را بیان می کند ( شروع یا روشن کردن سیستم موسیقی بالا بردن صدا، هدایت کردن به فهرست و منو بعدی حرکت دست به سمت راست، پایان دادن به موسیقی اخم شدن به سمت پایین در پایان موسیقی، تشویق موسیقی ازدن هر دو دست به هم). فایله ای تهیه شده شامل مختصات های ۲۰ مفصل است که با نرخ نمونه برداری ۳۰ فریم در ثانیه تصویر برداری شده است با این وجود برخی از سکانسها مفید نیستند چراکه تخمین مختصات مفصل ها آنقدر دقیق نیست.

مجموعه داده MSRDaily Activity3D

مجموعه داده MSRDaily Activity3D شامل ۱۶ فعالیت می باشد که روبروی سنسور کینکت اجرا می شود که عبارتند از: نوشیدن، خوردن، خواندن کتاب، صحبت با تلفن همراه، نوشتن روی برگه، استفاده از لپ تاپ، استفاده از جارو برقی، هورا و هلهله کردن، ساکت نشستن، پرتاب کردن برگه، بازی کردن، دراز کشیدن روی مبل راحتی، پیاده روی، نواختن گیتار، ایستادن و نشستن. هر فعالیت توسط ده نفر متفاوت و دو مرتبه اجرا می شود که یک مرتبه در حالت ایستاده و بار دیگر در حالت نشسته می باشد. در این مجموعه داده سه نوع داده ذخیره شده است: ۱- نگاشت عمقی با فرمت(.bin). 2-موقعیت مفاصل اسکلتی با فرمت (txt.) و ۳- فایل ویدئویی RGB با فرمت (avi.). هرچند خروجی های RGB و نگاشت عمقی در هنگام ضبط شدن به یکدیگر وابسته نیستند اما با این وجود به شدت با یکدیگر همگام و همزمان هستند. یکی از نقص های این مجموعه داده این است که هر فعالیت در دو سکانس مختلف ایستاده و نشسته اجرا شده است بنابراین آموزش و تست یک سیستم طبقه بندی کننده قوی با این تعداد کم مثال بسیار دشوار می باشد.

مجموعه داده MSRAction 3D

مجموعه داده MSRAction3D مجموعه داده ای دیگر است که شامل ۲۰ فعالیت است که توسط ۱۰ نفر به تعداد ۳ مرتبه تکرار شده است. این ۲۰ فعالیت عبارتند از: حرکت دست ها به صورت عمودی، حرکت دست ها به صورت افقی، ضربه زدن، گرفتن دست، مشت زدن به جلو، پرتاب کردن به بالا، کشیدن ضربدر با دست، کشیدن تیک با دست، کشیدن دایره با دست، لگد زدن به جانبهاء آهسته دویدن، چرخیدن در بازی تنیس، ضربه زدن به توپ در بازی تنیس، ضربه زدن در بازی گلف، برداشتن، پرتاب کردن.

محدودیت اصلی این مجموعه داده این است که داده های مجموعه توسط سنسور تشخیص عمقی شبیه به سنسور کینکت گرفته شده است اما فاقد اطلاعات RGB است.

مجموعه داده LIRIS:

مجموعه داده ای LIRIS نام دارد در مسابقه 2012 ICPR با موضوع تشخیص و موضعی نمودن فعالیت های انسانی مورد استفاده قرار گرفته است. تمرکز این مسابقات بر روی حل مشکلات تشخیص فعالیتهای پیچیده انسانی بود. این مجموعه توسط دو دوربین مختلف گرفته شده است. یکی از دوربین ها دستگاه کینکت است که بر روی یک ربات متحرک نصب شده است که تصویر عمقی با سطوح خاکستری را می دهد و دوربین دیگر یک دوربین دستی است که تصاویر ضبط شده ویدئویی را با رزولوشن بالا را فراهم می کند. فعالیتهای این مجموعه عبارتند از: مشاجره بین دو یا چند نفر مختلف، یک شخص شئی را به شخص دوم میدهد، شئی برداشته شود یا گذاشته شود، شخصی وارد اتاق شود یا خارج شود، شخصی موفق نمی شود وارد اتاقی شود، شخصی قفلی را باز و وارد اتاق می شود، شخصی چمدانی را بدون مراقبت رها کند، دست دادن دو نفر، شخصی با کیبورد مشغول تایپ کردن باشد، شخصی با تلفن مشغول صحبت باشد.

مجموعه داده MHAD:

مجموعه داده ای چند وجهی به نام Multimodal Human Action ) MHAD Database) شامل ۱۱ عمل می باشد که توسط ۱۲ نفر انجام میشود که بوسيله چند سیستم گرفته شده است. این سیستم ها شامل یک سیستم دریافت حرکتی نوری با ۴۳ عدد LED ، 12 عدد دوربین استریو، ۲ عدد سنسور کینکت مایکروسافت، ۶ عدد شتاب سنج بدون سیم سه محوره و ۴ عدد میکروفن میباشد. نتایج نشان داده است که استفاده از داده های چند وجهی نرخ ارزیابی تشخیص فعالیت را افزایش میدهد چرا که دارا بودن ویژگی های چند وجهی به دلیل دارا بودن سیستم های مختلف چند وجهی، کمبود یک ویژگی را برای یکدیگر جبران می کنند. یکی از محدودیت های این نوع مجموعه داده، قیمت زیاد سخت افزاری آن می باشد که خود این سخت افزارها به تعمیر و نگهداری مداوم نیاز دارند تا خروجی هر سخت افزار از نظر هندسی و موقعیت فضایی با یکدیگر همگام باشند.

مجموعه داده 60-CAD

مجموعه داده 60-Cornell Activity Dataset )CAD ) شامل ۶۰ ویدئوی RGB-D است و توسط ۴ نفر ۱۲ فعالیت (شستن دهان، مسواک زدن، گذاشتن لنز تماسی چشم، صحبت با تلفن، نوشیدن آب، باز کردن ظرف دارو، پختن غذا در آشپزخانه، هم زدن غذا، صحبت کردن روی نیمکت، استراحت روی نیمکت، نوشتن روی تابلو، کار با رایانه در محیط های مختلف ( محل کار، آشپزخانه، اتاق خواب، حمام، اتاق پذیرایی) اجرا می شود.

 

شرح پروژه:

در این پروژه برنامه نویسی تشخیص فعالیت های انسان براساس داده های مفصلی سنسور کینکت در نرم افزار متلب(MATLAB) انجام شده است. از مجموعه داده CAD-60 استفاده شده است.

 

 

نتایج برنامه نویسی: