CBIR: Content Based Image Retrieval

بازیابی تصویر محتوا محور

CBIR: Content Based Image Retrieval

بازیابی تصویر محتوا محور

معرفی کتاب "اصول و برنامه های پردازش تصویر"

کتاب اصول و برنامه های پردازش تصویر توسط تینکو آکاریا و آجوی ری و در انتشارات جان وایلی و پسران در نیوجرسی آمریکا و به طور هم زمان در کانادا منتشر شده است.

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

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

نگارنده در فصل دوم کتاب به مباحث مربوط به شکل گیری تصویر، مدل های نمونه برداری تصویر، اندازهگیری تصویر، تصاویر باینری و فرمتهای فایل تصویری اشاره و توضیحاتی ارائه می دهد.

در فصل سوم کتاب به مفاهیم تصاویر رنگی و رنگ، درک رنگها درفضای رنگی و تفاوت قابل توجه آنها، فضاهای رنگی مانند  CMYK و NTSC و CIELAB اشاره می شود همچنین در خصوص یک الگوریتم درونیابی رنگ مطالبی را بیان می نماید.

در فصل چهارم تبدیل تصاویرمورد بحث قرار گرفته و به تبدیل یک بعدی و دو بعدی و سریع فوریه و ماتریس کواریانس اشاره می کند.

در فصل پنجم به مباحث تبدیل موجک گسسته و فیلتر گابور و کاربرد آن اشاره دارد.

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

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

هنگامی که یک تصویر به درستی تقسیم می شود، کار مهم بعدی شامل طبقه بندی و شناخت اشیاء در تصویر می شود. طبقه بندی الگوی های مختلف و تکنیک های تشخیص چهره در فصل هشتم ارائه شده است. از موارد مطرح شده تئوری تصمیم بیزین و الگوریتم KNN و K-means است. علاوه بر آن به کاربرد شبکههای عصبی مصنوعی برای طبقه بندی اشاره شده است.

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

فصل دهم تعدادی از رویکردهای نظری مجموعه فازی مطرح شده است. در این بخش تصویر به عنوان یک مجموعه فازی در نظر گرفته می شود. از فیلتر فازی برای حذف نویز تصویر استفاده می گردد. همچنین الگوریتم فازی C-means و کاربرد آن توضیح داده می شود.

بازیابی تصویر مبتنی بر محتوا و استخراج تصویر در فصل یازدهم معرفی شده است. در فصا مفاهیم بافت، شکل و رنگ برای استخراج مشخصه ها مورد استفاده قرار می گیرند. در این فصل همچنین استاندارد MPEG-7 برای بازیابی تصاویر ویدئویی مطرح و مورد بررسی قرار گرفته است.

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

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

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

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

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


لینک دانلود کتاب

 

مروری بر مقاله "رویکرد ترکیبی برای بازیابی تصاویر بر اساس محتوا برپایه بافت و رنگ"

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

با گسترش روش های بازیابی بر اساس محتوا امروزه یک استاندارد بین المللی نیز در این زمینه به وجود آمده است که MPEG-7 نام دارد و آن را واسطه توصیفی محتوایی تصویری، صوتی و متن یا چند رسانه ای نیز می گویند.

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

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

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

رنگ یکی از ویژگی های بصری مقاوم به شمار می آید چرا که به جهت دوربین، اندازه و زاویه بستگی ندارد.

فضای RGB بیشترین استفاده را برای نمایش تصاویر دارد. این فضا از سه مؤلفه قرمز، سبز و آبی تشکیل  شده است که به این مؤلفه ها عناصر اولیه جمع شونده[1] گفته می شود. فضای CMY یک فضای رنگی برای چاپ است و سه مؤلفه تشکیل دهنده آن ارغوانی، فیروزهای و زرد می باشد. به این سه مؤلفه عناصر تفریق شونده [2]گفته می شود زیرا دراین فضا یک رنگ از جذب نور به دست می آید. فضای RGB و CMY غیر یکنواخت هستند. فضای HSV به طور وسیعی در گرافیک کامپیوتری مورد استفاده قرار می گیرد و برای توصیف رنگ بیش ترین درک رنگ را فراهم میکند. سه مؤلفه آن فام[3]، اشباع[4] یا روشنایی [5] و مقدار[6] یا درخشندگی [7] می باشد. فام نسبت به تغییرات روشنایی و جهت دوربین تغییر ناپذیر است. بنابراین برای بازیابی شی بسیارمناسب می باشد. فضای RGB به راحتی توسط یک رابطه ساده قابل تبدیل به HSV میباشد.

بعضی از توصیف کننده های رنگ مورد استفاده را بیان می کنیم: هیستوگرام رنگ، بردار به هم پیوستگی رنگ، پیوستگی نگاشت رنگ و گشتاورهای رنگ. ثابت شده است که گشتاورهای[8] مرتبه اول (میانگین)، مرتبه دوم(واریانس) و مرتبه سوم (چولگی[9] ) برای بیان پراکندگی رنگ تصاویر موثرترین روش هستند. هیستوگرام رنگ[10] و مشتقات آن یکی از مهم ترین بردارهای ویژگی برای رنگ می باشد.

 بازنمایی های دیگری مانند کارلوگرام رنگ[11] و کارلوگرام خودکار[12] نیز وجود دارد. به منظور استخراج کارلوگرام ابتدا تصویر ورودی در فضای RGB به 32 رنگ کوانتیزه می شود. یکی از محتواهای مهم دیگر تصاویر دیجیتال، بافت آنها است. اساس روش های توصیف بافت به دو دسته قابل تقسیم می باشند: ساختاری و آماری.

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

ویژگی های تامورا[13] شامل زبری، کنتراست، جهت، شباهت خطوط، نظم، و ناهمواری، مطابق با مطالعات روانشناسی درباره قوه ادراک انسان از بافت طراحی شده اند که شامل سه مقیاس زبری، کنتراست و جهت می باشد.

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

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

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

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

فاصله مدل مینکوفسکی

فاصله مدل منشور قائم

فاصله ماهالانوبیس

واگرایی جفری و واگرایی کولبک لیبر

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

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

روشهای ایجاد تصویر پرسش که به طور متداول استفاده می شوند عبارتند از: جستجوبر اساس طبقه بندی [14]، جستجوی مفهومی[15]، جستجو با رسم[16]  و جستجوی موردی[17].

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

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

الف مقایسه توسط کاربر

ب- معیارهای عددی

1-     رتبه بهترین نتیجه

2-     دقت و فراخوانی

3-     نرخ خطا

4-     قابلیت بازیابی

5-     متوسط نرخ نرمال بازیابی

6-     میانگین متوسط دقت

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

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

1- تمام نمونه های کلاس 1+ در یک طرف مرز و تمام نمونه های کلاس 1- در طرف دیگر مرز واقع شوند.

2- مرز تصمیم گیری به گونه ای باشد که فاصله نزدیک ترین نمونه های آموزشی هر دو کلاس از یکدیگر در راستای عمود بر مرز تصمیم گیری تا جایی که ممکن است حداکثر شود.

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

 

مراحل انجام کار در این مقاله عبارت است از:

1- استخراج ویژگی های رنگ شامل هیستوگرام رنگ، کارلوگرام و کارلوگرام الگوی دودویی محلی

2- استخراج ویژگی بافت

3- مرحله استخراج ویژگی به کمک الگوریتم های حوزه باز شناسی الگو

4- مرحله شناسایی با استفاده از طبقه بندی نزدیکترین همسایه

5-  ارزیابی سیستم



[1] additive

[2] subtractive

[3] Hue

[4] Saturation

[5] Lightness

[6] Value

[7] Brightness

[8] Color Moments

[9] Skewness

[10] Color Histogram

[11] color correlogram

[12] Auto correlogram

[13] Tamura

[14] Category Browsing

[15] Query by Concept

[16] Query by Sketch

[17] Query by example

ارزیابی الگوریتم های انطباق اثرانگشت با مثلث بندی دلونی به کمک روش های مبتنی بر بافت

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

الگوریتم های انطباق اثرانگشت را  می توان به سه دسته کلی زیر تقسیم کرد

1- تطبیق بر اساس همبستگی بین تصاویر

2- تطبیق بر اساس مینوژه

3- تطبیق بر اساس بافت

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

 

هر مثلث بندی دلونی دارای خواص جالبی است بطوریکه در بسیاری از حوزه های بینایی کامپیوتر کاربرد دارد. خواص آن به صورت زیر است

1-     شبکه مثلث بندی دلونی یکتا است. درواقع، اگر یک مجموعه نقطه  داده شده باشد تنها یک مثلث بندی دلونی برای آن قابل تعریف است

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

3-     تعداد مثلث های ساخته شده در این مثلث بندی از مرتبه O(n) است که در آن n تعداد کل نقاط است.

مثلث بندی  دلنونی به کمک دوگان دیاگرام ورونی در زمان O(nlogn) محاسبه می گردد.

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

 

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


منبع:

ارزیابی الگوریتم های انطباق اثرانگشت با مثلث بندی دلونی به کمک روش های مبتنی بر بافت

الگوی باینری محلی (Local binary patterns)


الگوی باینری محلی اولین بار به عنوان یک توصیف کننده ی الگوی غیرحساس به چرخش برای تصاویر طیف خاکستری معرفی شد. این الگوریتم با آستانه گیری همسایگی 3×3 برای هر پیکسل مرکزی با شدت سطح خاکستری Pc، تعداد 8 پیکسل همسایگی آن  Pn که مقدار n از صفر تا هفت می باشد را محاسبه نموده و نتیجه را به عنوان یک عدد باینری بر میگرداند.

یک مثال با استفاده از این تکنیک در متلب را می توان به صورت زیر تعریف نمود:

مرحله اول: ابتدا دو تصویراولیه در متلب خوانده میشود

brickWall = imread('bricks.jpg');

rotatedBrickWall = imread('bricksRotated.jpg');

 

تصویر اول ، تصویر اصلی و تصویر دوم تصویر دوران یافته تصویر اول میباشد.اکنون تصویر سومی که متفاوت از این دو تصویر است را در متلب میخوانیم:

carpet = imread('carpet.jpg’);

 

مرحله دوم: اکنون به کمک تکنیک LBP ویژگی های باقت تصویر را استخراج میکنیم:

lbpBricks1 = extractLBPFeatures(brickWall,'Upright',false);

lbpBricks2 = extractLBPFeatures(rotatedBrickWall,'Upright',false);

lbpCarpet = extractLBPFeatures(carpet,'Upright',false);

 

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

brickVsBrick = (lbpBricks1 - lbpBricks2).^2;

brickVsCarpet = (lbpBricks1 - lbpCarpet).^2;

 

اگر این مربع خطا را ترسیم کنیم مقدار آن برای تصویر اول نسبت به تصویر دوم کمتراز تصویر سوم است.

figure

bar([brickVsBrick; brickVsCarpet]','grouped’);

title('Squared Error of LBP Histograms’);

xlabel('LBP Histogram Bins’);

legend('Bricks vs Rotated Bricks','Bricks vs Carpet’);



بردار ویژگی LBP در ساده ترین شکل آن به روش زیر ایجاد می شود:

پنجره مورد آزمایش را به سلول های مختلف تقسیم کنید( به عنوان مثال16 *16 پیکسل برای هر سلول انتخاب شود)
برای هر پیکسل در یک سلول، پیکسل را با هر یک از 8 همسایه خود (در سمت چپ، چپ وسط، چپ پایین، راست بالا و غیره) مقایسه کنید. پیکسل ها را در امتداد یک دایره دنبال نمایید. به عنوان مثال در جهت عقربه های ساعت یا خلاف آن.

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

 

هیستوگرام را برای تمامی سلول ها محاسبه و در صورت لزوم می توان آنها را نرمال کرد. هیستوگرام های نرمالیزه شده از تمام سلول ها یک بردار ویژگی برای کل تصویر ارائه می دهد


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

 

نمونه کد تولیدی برای الگوریتم روش دایره ای به صورت ذیل می باشد:




function LBP_Im = LBP(Input_Im, R)

 if size(Input_Im, 3) == 3

     Input_Im = rgb2gray(Input_Im);

end;

L = 2*R + 1; %% The size of the LBP label

C = round(L/2);

Input_Im = uint8(Input_Im);

row_max = size(Input_Im,1)-L+1;

col_max = size(Input_Im,2)-L+1;

LBP_Im = zeros(row_max, col_max);

for i = 1:row_max

    for j = 1:col_max

         A = Input_Im(i:i+L-1, j:j+L-1);

        A = A+1-A(C,C);

        A(A>0) = 1;

       LBP_Im(i,j) = A(C,L) + A(L,L)*2 + A(L,C)*4 + A(L,1)*8 + A(C,1)*16 + A(1,1)*32 + A(1,C)*64 + A(1,L)*128;

    end;

end;

 

نمونه کد مثلث دیلانی و گراف ورونی آن

;rand('state',0)

;x = rand(1,10)

;y = rand(1,10)

;TRI = delaunay(x,y)

subplot(1,2,1),...

triplot(TRI,x,y)

;axis([0 1 0 1])

;hold on

;plot(x,y,'or')

hold off

;[vx, vy] = voronoi(x,y,TRI)

subplot(1,2,2),...

plot(x,y,'r+',vx,vy,'b-'),...

axis([0 1 0 1])