بخشی از مقاله
چکیده - ترجمه خودکار کلمههای پویای زبان اشاره فارسی به کلمههای نوشتاری زبان فارسی می تواند به ناشنوایان در برقراری ارتباط طبیعی و آسان با افراد شنوا کمک کند. در این مقاله با دنبال کردن مختصات مفصلهای تاثیرگذار، حاصله از دستگاه کینکت نسخه دو، توانستیم در دو سناریو متفاوت با به کارگیری الگوریتم انحراف زمانی پویا ، 27 کلمه پویای زبان اشاره فارسی را با دقت مناسبی تشخیص دهیم.
در سناریوی اول با داده وابسته دقت شناسایی به طور میانگین %85/18 و در سناریوی دوم با داده مستقل دقت شناسایی به طور میانگین %68/51 بدست آمد. همچنین، تاثیر مفصلهای دست، و آرنج ، تعداد مفصلهای تاثیرگذار - 4 مفصل در کینکت نسخه یک و 8 مفصل در کینکت نسخه دو - ، و به کارگیری مختصات دکارتی و کروی در دقت شناسایی کلمههای پویای زبان اشاره فارسی پایگاه داده تهیه شده از 5 فرد ناشنوا مورد مطالعه و بررسی قرار گرفت.
-1 مقدمه
زبان اشاره های مختلفی در جهان وجود دارد که هر کدام لغات و حرکات مربوط به خود را دارند که شامل اعداد، حروف و کلمات است مانند زبان اشاره آمریکایی، زبان اشاره چینی، زبان اشاره آلمانی، زبان اشاره فارسی و غیره. هر اشاره در زبان، قابل تجزیه به مولفههایی فاقد معناست که قابل قیاس با واج - کوچکترین جزء کلام - های زبان گفتاری اند.
مولفههای تشکیل دهنده اشارات عبارتند از: - 1 جایگاه تولید اشاره در بدن. - 2 شکل دستها و ترکیب بندی دستها. - 3 حرکت اجرا شده با دستها. - 4 جهت گیری فضایی دستها نسبت به یکدیگر و نسبت به بدن .[1] زبان اشاره یک سیستم ارتباطی است که از یک سری علائم دیداری- قراردادی تشکیل شده و متداولترین روش ارتباطی بین افراد ناشنوا در دنیا است.
از سوی دیگر، افراد ناشنوا برای برقراری ارتباط با افراد شنوا با مشکلاتی مواجه هستند. در حال حاضر، در جهت رفع این مشکل ارتباطی، محققان در صدد ایجاد سیستمی هستند تا بوسیله آن ارتباط افراد ناشنوا را با افراد عادی آسانتر نمایند.[2] در مجموع، پژوهش هایی که برای شناسایی زبان اشاره با رایانه انجام گرفته است از چهار دیدگاه الف - ابزارهای به کار رفته برای ثبت داده، ب - استخراج ویژگیهای مختلف، ج - روشهای شناسایی اشاره، و د - پویایی یا ایستایی حرکات اشاره قابل بررسی است.
الف - ابزارهای به کار رفته برای ثبت دادهها: ابزارهای مختلفی برای ثبت داده های زبان اشاره وجود دارد که عبارتند از: دستکش سنسوردار[3]، دوربین دیجیتال معمولی1]،[4، سنسورهای اندازهگیری الکترومایوگرام[5] و دوربینهای عمقی مانند کینکت7]،6،.[2 در این مطالعه، کینکت نسخه دو تولید شرکت مایکروسافت به عنوان ابزار جمع آوری داده انتخاب شد .
البته، این دستگاه تصاویر عمقی، اسکلتی، و رنگی ارایه می کند که ما در پژوهش حاضر تنها تصاویر اسکلتی را برای شناسایی زبان اشاره به کار گرفتیم. زیرا این تصاویر در مقابل تغییرات نور محیط مقاومت بالاتری نسبت به تصاویر رنگی دارند و از سوی دیگر، الگوریتمهای سادهتری را برای شناسایی زبان اشاره از روی این تصاویر می توان به کار گرفت.
ب - استخراج ویژگیهای مختلف: برخی از آنها شامل ویژگی های مسیر هندسی حرکت دست[2] ، ویژگیهای زمانی- مکانی [11] تبدیل موجک[1] و ویژگیهای اسکلتی بدن است.[6]
ج - روش های شناسایی اشاره: برای دسته بندی و شناسایی زبان اشاره روش های متعددی از جمله مدل مخفی مارکوف - - HMM 4]،[7، شبکه های عصبی مصنوعی - 1] - ANN،[3 و انحراف زمانی پویا - [6] - DTWو بهکارگیری کلاسهبندهایی مانند بیز، کوچکترین فاصله و ماشین بردار پشتیبان استفاده شده است.8]،.[9
د - پویایی یا ایستایی حرکات: اشارهها می توانند به صورت ایستا - تک تصویر - و یا به صورت پویا - تصاویر ویدئویی - باشند. ما در این مقاله می خواهیم با به کارگیری دستگاه کینکت نسخه دو شرکت مایکروسافت ویژگی اسکلت بدن افراد را استخراج کنیم و با دنبال کردن مختصات حرکت مفصلهای تاثیرگذار که بوسیله دستگاه کینکت نسخه دو شرکت مایکروسافت بدست آمده است 27 کلمه زبان اشاره فارسی را با بهکارگیری الگوریتم انحراف زمانی پویا شناسایی کنیم و نیز تاثیر افزایش تعداد مفصلهای تاثیرگذار و تاثیر مفصلهای دست و آرنج را بررسی کنیم.
نوآوری عمده ما تشکیل پایگاه داده کلمات زبان اشاره فارسی و به کارگیری تصاویر اسکلتی کینکت نسخه دو در شناسایی کلمات زبان اشاره فارسی با الگوریتم انحراف زمانی پویا است. مابقی مطالب این مقاله به صورت زیر سازمان دهی شده اند: ابتدا پیشنه کارهای انجام یافته در زمینه شناسایی زبان اشاره به خصوص زبان اشاره فارسی بررسی می شود.
در ادامه در بخش سوم روش تهیه پایگاه داده به کار رفته در این مطالعه به همراه روش نرمالیزه کردن داده ها و الگوریتم انحراف زمانی پویا بررسی می گردد. در ادامه، در بخش چهارم به بررسی نتایج مربوط به اعمال الگوریتم بر روی پایگاه داده می پردازیم. در نهایت، در بخش پنجم نتیجه گیری و پیشنهادهای ادامه کار بیان خواهد شد.
-2 کارهای پیشین
از حدود سال 1995 پژوهش های بسیاری برای شناسایی زبان اشاره انجام شده است که هر کدام را می توان از چهار دیدگاه مطرح شده در بخش نخست بررسی کرد. از آن جا که در این مقاله تمرکز ما در به کارگیری کینکت نسخه دو در شناسایی کلمات پویای زبان اشاره فارسی است. در ادامه، پژوهشهای انجام گرفته با کینکت را مورد مطالعه قرار می دهیم.
در سال 2013 میلادی چای و همکارانش طی پروژه ای با حمایت مرکز پژوهشی مایکروسافت با به کارگیری دستگاه کینکت نسخه یک و دنبال کردن مسیرهای سهبعدی دست توانستند 239 کلمه پویای زبان اشاره چینی را ترجمه کنند.[2] قبل از این تاریخ، در سال 2012 میلادی، کاپیلا نیز با به کارگیری دستگاه کینکت نسخه یک و معرفی یک توصیف گر هشت بعدی و با به کارگیری روش انحراف زمانی پویا ، 14 کلمه اشاره پویا را به 14 کلمه معادل زبان انگلیسی ترجمه نمود.[6] البته، لانگ و همکارانش نیز با بهکارگیری دستگاه کینکت نسخه یک و روش مدل مخفی مارکوف، 25 کلمه پویای زبان اشاره آلمانی را شناسایی کردند.
درباره شناسایی کلمه های زبان اشاره فارسی نیز تلاشهای متعددی انجام شده است که بیشتر آن ها بر روی اعداد و حروف الفبای زبان اشاره باغچه بان است که در آن ها تصاویر ایستا بهکار گرفته شده است. به عنوان نمونه، کرمی و همکاران با استفاده از دوربین دیجیتال و به کارگیری روش تبدیل موجک و طبقه بند شبکه عصبی حروف ایستای الفبای زبان اشاره فارسی را شناسایی کردهاند.[1]
در کار دیگری، مقدم و همکاران با به کارگیری روش مبتنی برکرنل شامل کرنل آنالیز مؤلفه های اصلی و کرنل آنالیز جداکننده برروی تصاویر اخذ شده توسط دوربین و اعمال کلاسهبندهای ماشین بردار پشتیبان، شبکه های عصبی و کوچکترین فاصله، حروف ایستای زبان اشاره فارسی را شناسایی نمودند، ولی تنها مدنی و نحوی توانسته اند با تصاویر ویدئویی اخذ شده توسط دوربین با استخراج ویژگی توسط تبدیل رادون و اعمال چهار کلاسهبند کوچک ترین فاصله، نزدیک ترین همسایگی، شبکه های عصبی و ماشین بردار پشتیبان 20 کلمه پویای زبان اشاره فارسی را بازشناسی کنند.ما در این مطالعه با بهکارگیری دستگاه کینکت نسخه دو، پایگاه داده ای شامل 27 کلمه پویای زبان اشاره فارسی را تشکیل دادیم و روش انحراف زمانی پویا را برای تمایز 27 کلمه پویای زبان اشاره فارسی از یکدیگر به کار بردیم.
-3 مواد و روشها
در این بخش، ابتدا روش تهیه پایگاه داده کلمات پویای زبان اشاره فارسی را شرح می دهیم. در ادامه مفصل های تاثیرگذار در حرکات زبان اشاره را مورد بررسی قرار می دهیم. سپس، روش نرمالیزه کردن و ساخت توصیفگر ارایه می گردد. در آخر، روش کلاسه بندی اشارهها با بهکارگیری الگوریتم انحراف زمانی پویا توضیح داده می شود.
-1-3 تهیه پایگاه داده کلمه م پویای زبان اشاره فارسی
جستجوهای ما نشان داد که زبان اشاره فارسی پایگاه داده استانداردی شامل تصاویر ویدئویی حرکات اشاره پویا ندارد و افزون بر این، هنوز پایگاه داده ای از کلمات پویای زبان اشاره فارسی به خصوص با دستگاه کینکت - نسخه یک یا نسخه دو - فراهم نشده و در دسترس عموم قرار نگرفته است. به منظور پرهیز از به کارگیری پایگاههای داده زبان اشاره غیر فارسی و تلاش در جهت توسعه سیستمی برای ارتباط طبیعیتر مابین ناشنوایان و شنوایان داخل کشور، کار تهیه پایگاه داده کلمههای پویای زبان اشاره فارسی در اولویت نخست کار پژوهشیمان قرار گرفت.
5 فرد ناشنوا با توزیع جنسیتی 2 مرد و 3 زن در بازه سنی 15 - 40 سال و بازه قدی 140 - 170 سانتی متر با کمک یک رابط ناشنوایان - معرفی شده از طریق آموزش و پرورش استثنایی استان زنجان - انتخاب شدند. در ادامه، حدود 40 کلمه پویای زبان اشاره از کتاب زبان اشاره فارسی با همراهی یکی از ناشنوایان انتخاب شد.[12]
در انتخاب کلمات پویای زبان اشاره فارسی با کمک فرد ناشنوا معیارهایی همچون استاندارد بودن اجرای کلمه در کشور، نزدیکی حرکتی کلمات اشاره به همدیگر - جهت آزمون روش شناسایی انحراف زمانی پویا در شرایط دشوارتر - ، توزیع یکنواخت کاربردی کلمات زبان اشاره فارسی شامل موارد مربوط به روابط انسانی، دین و مذهب، خوردنی ها، خانه و اصطلاحات مربوط به آن، اعضای بدن، بهداشت و تندرستی، کار و کار افزار و عواطف و احساسات به کار رفته است.
داده های رنگی، داده های عمق، و داده های اسکلتی مربوط به 5 نفر و 40 کلمه پویای اشاره در دو نوبت صبح - با نور خورشید - و عصر - با نور لامپهای فلورسنت - هر کدام در 5 ساعت کاری با دستگاه کینکت نسخه دو مایکروسافت با به کار گیری محیط توسعه نرم افزار نسخه دو - - SDK 2.0 اخذ و ذخیره گردید. در مدت زمان اخذ داده ها به منظور تسهیل در برقراری ارتباط با ناشنوا - برای درخواست اجرای حرکت اشاره مورد نظر - کلمه مورد نظر به دو صورت نوشته و تصویری از آن حرکت با ویدئو پروژکتور بر روی دیوار افکنده می شد و با پایین آوردن دست چپ توسط ضبط کننده داده ها، اجرای آن حرکت توسط ناشنوا شروع می شد. گفتنی است که ما در کار پژوهشی حاضر تنها دادههای اسکلتی مربوط به 27 کلمه پویای زبان اشاره فارسی را به کار برده ایم.
زیرا در بررسیهای بعدی خود متوجه شدیم که دادههای اسکلتی 13 کلمه از 40 کلمه به صورت تصادفی در برخی از اجراها ذخیره نشده بود. گفتنی است به دلیل آنکه افراد حاضر در این مطالعه از قبل آموزش خاصی در جهت اجرای کلمههای پویای زبان اشاره فارسی ندیده بودند با اجراهای نسبتا متفاوت یک حرکت اشاره می توانست درصد شناسایی درست آن حرکت را کاهش دهند - درصد شناسایی نسبتا پایین در بخش بعد موید این ادعا است - . این اجرای متفاوت اشاره ها تا حدی بود که حتی با چشمهای آموزش ندیده یک فرد شنوا نیز قابل تشخیص بود. البته به دلیل مشکلات مالی پیش رو در تحقیق جاری افراد ناشنوا تنها مدت یک روز در اختیار ما قرار داشتند و به همین دلیل امکان آموزش درست اجرای حرکتها وجود نداشت.
گفتنی است در جهت فراهم نمودن شرایط متفاوت در فازهای آموزش و آزمون روش انحراف زمانی پویا برای شناسایی کلمه-های پویای زبان اشاره فارسی، ترتیبی اتخاذ شد تا 3 ناشنوا با دو بار تکرار هر اشاره و 2 ناشنوا باقی مانده تنها با یک بار تکرار هر اشاره، 27 کلمه پویای زبان اشاره را اجرا کنند. به منظور مطالعه و ارزیابی اختلاف روش انحراف زمانی پویا در شناسایی کلمه های پویای زبان اشاره فارسی بین افراد و خود فرد در اجرای یک حرکت اشاره دو سناریوی داده وابسته و داده مستقل برای تهیه داده های آموزش و داده های آزمون در نظر گرفته است.
در سناریوی اول - داده وابسته - اجرای بار اول 5 نفر به عنوان داده آموزش و اجرای بار دوم سه نفر اول به عنوان داده آزمون در نظر گرفته شده است. در اینجا وابستگی داده بدان معنی است که در آزمون درصد شناسایی درست کلمه های پویای زبان اشاره فارسی بین دادههای بخش آموزش و بخش آزمون وابستگی وجود دارد.
این وابستگی از آنجا ناشی می شود که اجراهای دوم افراد در ارزیابی روش انحراف زمانی پویا در شناسایی کلمهها به کار رفته شده است در حالی که اجراهای اول در بخش آموزش به کار رفته است. اما، در سناریوی دوم - داده مستقل - سه نفر اول با دو بار اجرا به عنوان داده آموزش و دو نفر بعدی با یک بار اجرا به عنوان داده آزمون در نظر گرفته شدند.
-2-3 مفصلهای تاثیرگذار
دستگاه کینکت با بهکارگیری محیط توسعه نرم افزاری خود SDK 2.0 می تواند افزون بر داده های رنگی و داده های عمق، به طور همزمان، داده های اسکلتی بدن 6 نفر را نیز بدست آورد. این داده های اسکلتی در کینکت ایکس باکس 360 - نسخه یک - شامل مختصات دکارتی 20 مفصل و در کینکت ایکس باکس وان - نسخه دو - شامل 25 مفصل است. شکل ظاهری دو کینکت در کنار همدیگر برای مقایسه در شکل 2 آورده شده است.