در دهه اخیر استفاده از دیکشنری در بسیاری از زمینهها نظر محققان را به خود جلب کرده است. ایده این روش بر این اساس استوار است که میتوان یک بردار را بهصورت ترکیب خطی از بردارهای دیگر بیان کرد. بنابراین باید ضرایب بازسازی هر بردار که در ترکیب خطی شرکت دارد محاسبه شود.
برای محاسبه ضرایب بازسازی هر بردار به یک دیکشنری نیاز است. برای ساخت دیکشنری روشهای زیادی ارائه شده است. یکی از الگوریتمهایی که برای این منظور استفاده میشود الگوریتم K-SVD میباشد.
اگر هر بردار بهصورت ترکیب خطی از اتمها بیان شود و n تعداد اتمها در دیکشنری باشد، خواهیم داشت:
حال اگر ازهر کلاس یک دیکشنری بسازیم و سعی کنیم داده ورودی را برحسب این دیکشنری ها بنویسیم هر کلاسی که بتواند با خطای کمتری ساخت داده ورودی را انجام دهد ،داده متعلق به آن کلاس می باشد.
بطوریکه بردار ضرایب q به وسیله حل معادله بهینهسازی زیر به دست میآید:
ازآنجاییکه در معادله فوق ماتریس D یک ماتریس مربعی نیست مسئله بدحالت است و بینهایت جواب خواهد داشت. برای حل این مسئله میتوان از تنظیمکننده تیخونوف استفاده کرد.
که راهحل برای معادله فوق به صورت زیر به دست میآید:
در معادله توضیح داده شده به همه اتمها وزن مشابه داده میشود، به این معنی که بردار ورودی نسبت به تمام اتمهای دیکشنری با وزن یکسان سنجیده میشود. این روش خیلی دقیق نیست و فقط سرعت محاسبه ضرایب q را بالا میبرد.
روش دیگر برای حل معادله بهینه سازی استفاده از ماتریس است. ماتریسی که برحسب فاصله بردار ورودی به اتمهای دیکشنری، به اتمها وزنهای متفاوتی بدهد.
سلام و سپاس
مطلب مفیدی بود و واقعا کاربردی
من میخوام تصویر ورودی رو به دو جزء کارتون و بافت تجزیه کنم . در مقاله برای ساخت دیکشنری به الگوریتم های curvelet و DCT به ترتیب برای جزء کارتون و جزء بافت اشاره شده . و بعد الگوریتم وزن دهی مجددی برای تجزیه طراحی کرده که از دیکشنری های اجزای کارتون و بافت در ترکیب خطی با دستور Argmin استفاده شدن
میخوام بدونم چطور باید از این الگوریتم هاو دستور و ثابت هایی که تعریف شدن استفاده کنم تا به تجزیه صحیح برسم
سپاسگزار
ممنون از نظر لطف شما مخاطب عزیز
برای دریافت پاسخ پرسش خود بصورت کامل از طریق یکی از راههای ارتباطی ذکر شده در سایت اقدام کنید.