VQ: Vector Quantization

VQ: Vector Quantization

چندی سازی برداری
VQ: Vector Quantization

VQ: Vector Quantization

چندی سازی برداری

Vector Quantization)VQ) چیست؟

مکانیزم VQ ، کاربردهای زیادی دارد که می توان به کاردبرد آن برای فشرده سازی  داده ها (متن،صوت،عدد)اشاره نمود.

Vq مکانیزم نمونه برداری  است، الگوریتم vq ،ورودیها را دریافت کرده و تعداد خاصی  از آنها را به عنوان خروجی تحویل می دهد

  

در واقع VQ یک برداری را در یک فضای برداری میگیرد و به مجموعه ای از اندیس ها تبدیل میکند،این بردار میتواند هرنوع داده ای در یک فضای برداری باشد (متن،صوت،عدد)

 

VQ یک بردار را می ­گیرد، آن را به  اندیس (index ) تبدیل می­کند که آن را با حرف i نشان می دهیم، این اندیس جزء مجموعه ای ایست شمارشی (به فرض  i{1,2,…..,k}) .

در بحث VQ خود i ، نیز یک بردار دیگریست (mi). و این miدر همان فضای برداری x (ورودیها) وجود دارد.

بطور کلی می توان گفت که X توسط الگوریتم VQ به miتبدیل می شود.

i  کد مربوط به x است ،یعنی  x  توسط  VQ ،   تبدیل به کد می شود.

قبلا اشاره شد که برای هر کدی (i) یک بردار (xi)  در نظر گرفته میشود.

تعداد نامشخصی از داده های ورودی، توسط الگوریتم VQ (سیستم encoder/decoder:codec) به تعدادی نمونه  محدود و شمارش پذیر تبدیل می شود، به عبارتی Xها به روی یک مجموعه ای محدود از اندیس ها که مشابه همان ورودیها هستند نگاشت می شود .

نتیجه به دست آمده همان برداری است که توسط کد تولید شده (i) ، بازیابی شده است. (معادل همان mi)، یک تقریبی از x است و کد تولید شده  جزء مجموعه مشخصی از اعداد.

 

 

 

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

*توان 2 میزان اختلاف زیاد را  زیادتر  و میزان اختلاف کمتر را کمتر نشان می دهد.

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

 

 

 

 

 

 

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

در موارد مختلف با کوانتیزه شدن بجای ذخیره تمام رنگ ها (ویژگیها)،تعداد محدودی از پیکسلها (ویژگی ها)ثبت می­شوند، هر رنگی به نزدیکترین رنگ مشابه خودش کوانیزه می شود. (تبدیل Xها به miها).

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

توضیحات فوق الذکر را به صورت زیر بیان می کنیم:

 

 

 

 

 

در صورت کلی ،به جای کار کردن با مجموعه ای از داده ها (X) ،تعدادی نمونه یعنی mi انتخاب میکنیم و با mi ها کار می کنیم و کار خود را با mi تقریب می زنیم.

چگونه تقریب می زنیم؟

فرض کنید یک x ای (داده) داریم که باید مشخص شود که به کدامیک از ناحیه های موجود  (m1,m2) اختصاص دارد .

 

 

 

 

 

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

 


منابع:

1- Vector Quantization

2- آموزش طبقه بندی و بازشناسی الگو با شبکه های عصبی LVQ در متلب - بخش 1

نظرات 1 + ارسال نظر
رسول نامداری دوشنبه 14 اسفند 1396 ساعت 20:13 http://vq-namdari.blogsky.com/

سلام
ممنون از مطالب مفیدتون

لینک منبع 1 و 2 غیر فعال می باشد.

یه سوال VQ چه تغییری در یک تصویر به وجود میآورد که باعث کاهش حجمتصویر می شود؟

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

امکان ثبت نظر جدید برای این مطلب وجود ندارد.