بخشی از مقاله
خلاصه
تشخیص کنش انسان در تصاویر RGB+D یکی از موضوعات پر کاربرد و جدید در حوزه یادگیری و بینایی ماشین است که دارای چالشهای فراوانی نیز می باشد. روشهای زیادی در این حوزه وجود دارد که در بین آنها روشهای مبتنی بر یادگیری عمیق کارآیی مناسبتری دارند. در این مقاله روشی مبتنی بر شبکههای عصبی کانولوشن ارائه شده است که از ترکیب همزمان ویژگیهای دوبعدی و سه بعدی استفاده میکند، در این روش ابتدا ویژگی هایی از دنباله اسکلتی تصاویر استخراج شده، سپس هر دسته ویژگی به یک شبکه عصبی کانولوشن داده شده و در نهایت خروجی شبکهها با یکدیگر ترکیب میشوند. روش پیشنهادی بر روی پایگاه داده NTU RGB+D آزمایش شده است و دقت %86,4 برای تشخیص کنش با پروتکل ارزیابی cross-view بهدست آمده است.
.1 مقدمه
تشخیص کنشهای انسان یکی از مسائل چالش برانگیز در زمینه بینایی ماشین است. مطالعات قبلی بر تشخیص کنش مبتنی بر تصاویر RGB متمرکز شده است[1]، اگرچه ضبط فعالیتهای انسان در فضای سه بعدی به دلیل مشابهت به دنیای واقعی میتواند اطلاعات جامعتری را داشته باشد. از بین روشهای مبتنی بر فضای سه بعدی، امروزه تشخیص کنش مبتنی بر اسکلت بدن مورد توجه واقع شده است. در این روش ها، کنشهای انسان به وسیله مسیرهای مفاصل بدن، شناسایی میشود. مفاصل بدن انسان اطلاعات مورد نیاز برای درک نوع کنش را دارد، بنابراین یک نوع نمایش بسیار خوب برای توصیف کنش فراهم میکنند. دادههای اسکلتی در مقایسه با سایر انواع دادهای مانند تصاویر RGB و دادههای عمق نسبت به نویزهایی مانند پسزمینه و اشیاء نامربوط بسیار مقاوم هستند. با توسعهی سیستمهای ارزان قیمت برای تهیه دادههای اسکلتی بدن انسان، مانند کینکت، پایگاه دادههای بزرگی برای تشخیص کنش مبتنی بر دادههای اسکلتی فراهم شده است.
روشهای مبتنی بر دادههای اسکلتی را میتوان به دو دسته بر اساس ویژگیهای استخراج شده تقسیم کرد؛ دسته اول، روشهایی که ویژگی را دستی استخراج میکنند. از بین این روشها، chen و همکارانش[2] در سال 2013 برای تشخیص اشاره، از میزان شباهت و فاصله بین مفاصل در فریم جاری و فریمهای قبلی استفاده کرده اند. Lv و همکارانش[3] در سال 2006 برای تشخیص کنش، فضای سه بعدی مفاصل را به مجموعهای از فضای ویژگی تقسیم کردهاند، که هر ویژگی نظیر حرکات مربوط به یک یا چند مفصل مرتبط است.
دسته دوم، روشهای Dictionary learning، یادگیری بدون نظارت و یادگیری عمیق هستند، که ویژگیها را به صورت اتوماتیک یاد میگیرند.[4] در زمینه یادگیری عمیق، Du و همکارانش[5] در سال 2015 یک شبکه بازگشتی سلسله مراتبی ارائه کردهاند، که در آن اسکلت بدن انسان به پنج بخش تقسیم میشود و هر بخش به یک زیر شبکه ارسال شده و خروجی زیر شبکهها به لایه های شبکههای دیگر ارسال می شود. Zhu و همکارانش [6] در سال 2016 روشی بر مبنای شبکههای بازگشتی و شبکههای LSTM ارائه کردند، که برمبنای همرخدادی بین مفاصل کنش موردنظر را کلاسبندی میکند. شاهرودی و همکارانش [7] در سال 2014 با این فرض که فعالیتهای بدن انسان میتوانند به شکل تعامل بین اجزای مختلف بدن در نظر گرفته شوند یک شبکه part-aware LSTM برای مدل کردن فعالیتهای انسان ارائه کردند.
با توجه به اینکه شبکههای کانولوشن مدلهای بسیار موفقی برای درک محتوای تصویر هستند، تلاشهای بسیاری برای توسعه این شبکهها برای تشخیص و کلاسبندی فعالیتها در دادههای ویدئویی انجام شده است. Li و همکارانش [8] در سال 2017 با فرض اینکه اسکلت بدن انسان دارای تمام اطلاعات مورد نیاز برای درک نوع کنش است، هر دنباله اسکلتی را به شکل یک تصویر در نظر گرفتند و از یک شبکه کانولوشن برای استخراج ویژگی در این تصاویر استفاده کردهاند. Ke و همکارانش [9] در سال 2017، یک نوع نمایش جدید برای تشخیص کنش انسان در دنبالههای اسکلتی ارائه کردند، که هر دنباله اسکلتی را به شکل سه کلیپ از چندین فریم تبدیل کرده، سپس از شبکههای کانولوشن برای استخراج ویژگیهای مکانی-زمانی موجود در دنباله اسکلتی استفاده کرده است.
در این مقاله، با الهام از Zhang و همکاران [10] و نیز Li و همکارانش [11]، پنج نوع ویژگی از دنباله اسکلتی استخراج خواهد شد، که به طور کلی این ویژگیها بر مبنای فاصله بین مفاصل بدن است. سه دسته از این ویژگیها در فضای دو بعدی، و دو ویژگی دیگر در فضای سه بعدی محاسبه شده است، سپس یک شبکه کانولوشن برای آموزش هر دسته از ویژگیها و تشخیص کنش مورد استفاده قرار گرفته و در انتها برای انجام کلاسبندی نهایی از ترکیب امتیازات استفاده شده است. در ادامه، در بخش 2 روش پیشنهادی مورد بررسی قرار میگیرد، در بخش 3 آزمایشات انجام شده برروی پایگاه داده NTU RGB+D و نتایج آن ذکر میشود و درنهایت در بخش 4 نتیجهگیری بیان میشود.
.2 روش پیشنهادی
در این مقاله، روشی جدید برای تشخیص کنش انسان مبتنی بر شبکه عصبی کانولوشن ارائه شده است. همانگونه که در شکل 1 نشان داده شده است این روش پیشنهادی از سه جزء اصلی تشکیل شده، در مرحله اول ویژگیهای مکانی از دنباله اسکلتی ورودی استخراج میشوند، سپس این ویژگیها در یک تصویر رنگی کد میشوند. در مرحله دوم یک شبکه کانولوشن با استفاده از تصاویر ورودی آموزش داده میشود و در مرحله نهایی ترکیب امتیازات انجام میشود.
شکل -1چارچوب روش پیشنهادی
.1-2 استخراج و کد کردن ویژگیها
حسگر کینکت 2، قابلیت شناسایی 25 مفصل بدن انسان را دارد. در این مقاله، تمامی مفاصل شناسایی شده برای استخراج ویژگی مورد استفاده قرار گرفتهاند. ویژگیهای مکانی استفاده شده در این مقاله عبارت اند از : بردار جابهجایی بین دو مفصل - - - Joint-Joint-Vector - JJV و فاصله بین دو به دوی مفاصل در صفحه xyz و xy و xz و yz که در [2] و [11] معرفی شدهاند. برای محاسبه ویژگیها فرض میشود که هر کنش توسط دو شخص انجام شده است و برای حالتهایی که تنها یک شخص وجود دارد یک کپی از فرد موردنظر، به جای شخص دوم استفاده میشود. با فرض وجود n مفصل در بدن هر شخص تعداد مفاصل در هر فریم 2 خواهد بود و با فرض اینکه - = - . . ، نشاندهنده مختصات سه بعدی مفصل -ام باشد ویژگی طبق رابطه 1 محاسبه خواهد شد. که در آن k و j نشاندهنده اندیس مفصل و t نشان دهنده شماره فریم است و . ≠
فزمه
در دسته دوم ویژگیها، سه ویژگی در صفحه دوبعدی و یک ویژگی در فضای سه بعدی محاسبه میشود، دلیل استفاده همزمان از ویژگیهای دوبعدی و سه بعدی این است که روش پیشنهادی نسبت به تغییرات زاویه دید مستقل خواهد بود. فاصله اقلیدسی بین دو مفصل توسط رابطه 2 محاسبه خواهد شد. پس از محاسبه ویژگیها و یکسان کردن تمام ماتریس ها توسط یک تابع تغییر اندازه، هر ماتریس تبدیل به یک تصویر رنگی میشود تا اطلاعات مکانی-زمانی در رنگ و بافت تصویر کد شوند. در استخراج ویژگیها هر ستون نشاندهنده ویژگیهای مکانی در یک فریم و هر سطر نشاندهنده یک دنباله ویژگی خاص است و به این ترتیب یک تصویر نشاندهنده اطلاعات مکانی-زمانی یک دنباله خواهد بود.
با الهام از [12] و [13] ،که برای کد کردن اطلاعات زمانی از تصاویر رنگی استفاده کرده است، در این مقاله نیز طبق رابطه 3، از Hue برای کد کردن اطلاعات زمانی و از نگاشت رنگی jet برای نمایش تصاویر استفاده شده است. در این رابطه - . . - مقدار Hue منتسب به فاصله -jkامین مفصل در فریم i و hmax و hmin بیشترین و کمترین مقدار برای Hue است و BL یک درونیابی خطی برای تغییر اندازه است.
.2-2 معماری شبکه
در این روش هر شبکه کانولوشن، معماری شبکه Alexnet را استفاده میکند، که دارای پنج لایه کانولوشن و سه لایه اتصال کامل - - fully connected است. ورودی هر شبکه یک تصویر کد شده از یک ویژگی استخراج شده است که در بخش 1-2 توضیح داده شد. در شکل 2 معماری شبکه کانولوشن استفاده شده در شبکه Alexnet نشان داده شده است.
شکل -2ساختار شبکه Alexnet
.3-2 آموزش شبکه
به دلیل محدویتهایی نظیر زمانبری و نیز پایگاه دادههایی با تعداد داده ناکافی فرآیند یادگیری یک شبکه عصبی کانولوشن اغلب از ابتدا و با مقداردهی اولیه تصادفی شروع نمیشود، بلکه وزنهای موجود در شبکهای که از قبل آموزش دیده شده را با ادامه دادن پس انتشار - Back propagation - تنظیم دقیق - - fine-tune میکنند. این امکان وجود دارد که تمام لایههای شبکه کانولوشن را با استفاده از تنظیم دقیق آموزش دهند یا اینکه برخی از لایههای اولیه را بدون تغییر نگه دارند و تنها لایههای سطوح بالایی را بازآموزی کنند.
در این مقاله از مدلی که قبلا بر روی مجموعه داده ImageNet آموزش داده شده، استفاده شد و تمام لایههای شبکه با استفاده از تنظیم دقیق بازآموزی شدهاند. به ازای هر یک از دنبالههای ورودی اسکلتی پنج نوع تصویر تولید میشود و به هر تصویر برچسب کلاس مربوط به آن داده میشود. با استفاده از تصاویر مربوط به هر شبکه، پنج شبکه کانولوشن مرتبط به آن آموزش داده شده، تا وزنهای شبکهها دقیق شوند. پس از این مرحله بردار خروجی تمام شبکهها با هم ترکیب شده و کلاسی که بیشترین امتیاز را کسب کرده، به عنوان کلاس نهایی نظیر کنش انتخاب میشود.
.4-2 تست
برای تست روش پیشنهادی، از دنباله دادههای اسکلتی استخراج شده از تصاویرRGB+D مربوط به دادههای تست، تصاویر رنگی استخراج میشود، سپس هر تصویر به یک شبکه داده میشود و برچسب خروجی هر شبکه محاسبه میشود. در نهایت برچسبی که بیشترین تکرار بین پنج برچسب را دارد، به عنوان برچسب نهایی انتخاب میشود.