سیستم بازیابی تصویر محتوامحوربراساس شبکه های عصبی پس انتشار
در این مقاله ، یک سیستم CBIR ترکیبی که یک ویژگی جهانی تصویر است واز یک شبکه عصبی برای بازیابی یک تصویر موثر وکارامد استفاده می کند،پیشنهاد شده است.سه خاصیت رنگ ، بافت ولبه یک تصویر در روش موردنظر استفاده شده است.
یک شبکه عصبی انتشار به عقب تغذیه به جلو FFBP هم استفاده شده تا به موارد ووظایف موردنظر برسیم.FFBP هم حرکت به جلو وهم حرکت به عقب دارد.محاسبات خروجی در جهت روبه جلو انجام شده ومحاسبه ی خطا در جهت روبه عقب انجام گرفته است.
خصوصیات اصلی این مقاله آن را متفاوت از دیگرروشهای CBIR به خاطر مواردزیر کرده است:
1)در این روش ویژگیهای سطح پایین تصویر به مانند هیستوگرام رنگ ،فضای رنگ همراه با توصیف کننده های بافت ولبه مورد استفاده قرار گرفته است.
2)تکنیکهای جستجو(آموزش وتست ) آموزش همه چیز در مورد ساخت FFBP NN برای یادگیری در مورد ویژگی ها و ویژگی های تصاویر در پایگاه داده است ، به طوری که وقتی با تصویر جستجوگر ارائه می شود ، می تواند از این دانش در مورد تصاویر در فرآیند بازیابی استفاده کند.
در فاز آموزش در شبکه عصبی از تکنیک انتشار به عقب که یک روش یادگیری با ناظر می باشد استفاده میشود.در فاز تست با استفاده از شبکه آموزش داده شده قبلی در بازیابی تصاویر مربوط ومشابه تصویر مورد پرس وجو انجام میشود.
خصوصیات تصویر وشبکه عصبی
در این بخش بررسی کوتاهی در مورد خصوصیات دیداری سطح پایین تصویرانجام میشود وسپس ایده ی اصلی شبکه عصبی انتشار به عقب تغذیه به جلومورد بررسی قرارمیگیرد.
توصیف رنگ
رنگ یکی از خصوصیات مهم یک تصویر می باشد که بیشتر اطلاعات مربوط به یک تصویررامشخص می کند.مدل رنگی RGB با نحوه درک رنگهای انسانی مطابقت ندارد وهمچنین فضای RGB قسمت درخشندگی راازقسمت رنگی جدانمی کند.بدین ترتیب فصای رنگی HSV درروش ارائه شده استفاده میشود.هرقسمت از مدل HSV مستقیما به درک بصری کمک میکندومعمولا درسیستم های بازیابی تصویر مورداستفاده قرار میگیرد.Hue برای تشخیص رنگها استفاده شده ومیزان درصد نورسفید اضافه شده به رنگ خالص را نشان میدهد.مقدار شدتنور درک شده را مشخص میکند.
مقدار اطلاعات موردنیازدر مورد تصویر از توصیف رنگ پیکسلهای هر تصویر بدست می آید.بنابراین توصیفکننده رنگ تصویر در واقع همان هیستوگرام رنگ می باشد.درمورد تصاویر دیجیتالی ،یک هیستوگرام رنگ تعداد پیکسلهای رنگ در فضای رنگی ،مجموعه تمام رنگهای ممکن را نشان میدهد.روش محاسبه ی هیستوگرام رنگ به صورت زیر می باشد:
1)تصویررااز پایگاه داده بخوانید اطلاعات پیکسلهای فرمت RGB رااز تصویر استخراج کنید.
2)برای هریک از قسمتهای RGB هر تصویری که از پایگاه داده خوانده میشود ،هیستوگرامهای نرمال ایجاد شود.بدین ترتیب هر تصویر سه هیستوگرام خواهدداشت.
توصیف کننده بافت
بافت یکی دیگر از ویژگیهای تصویر است وبه خصوصیات ذاتی سطح یک جسم وارتباط انها با محیط اطراف اشاره دارد.برای تجزیه وتحلیل بافت از یک ماتریس همزمانی سطح خاکستری به نام GLCM استفاده میکنیم که روشی موثر برای نمایش بافت می باشد.GLCM احتمال p(i,j;d,θ) که 2 پیکسل در یک تصویر به فاصله d وزاویه θ واقع شده اند،دارای سطوح خاکستری i وj هستند.GLCM به شرح زیر تعریف شده است:
به طوریکه # نشاندهنده تعداد وقایع داخل پنجره با iوj که به ترتیب شدت سطح اولین پیکسل وپیکسل دوم می باشد که در موقعیتهای (x1,y1) و(x2,y2)
برای ساده سازی و کاهش محاسبات ،ما ابتدا GLCM رادر یک جهت (به مانند θ=0) با فاصله داده شده (d=1) محاسبه می کنیم وبعد آنتروپی را نیز محاسبه میکنیم.سپس آنتروپی (E) استفاده میشود برای ذخیره کردن اطلاعات بافتی در یک تصویر وبه شرح زیر تعریف میشود:
بطوریکه GLCM ،ci,j می باشد.آنتروپی اندازه پیچیدگی تصویررا به ما میدهد.
توصیف کننده لبه
لبه ها در تصویر نیز یک ویژگی مهم دیگر از محتویات تصویررانشان می دهند.از نظر درک تصویر،چشم انسان به ویژگیهای لبه یک تصویر بسیار حساس است.هیستوگرامها برای نمایش خصوصیات لبه های یک تصویر استفاده میشوند.یک هیستوگرام لبه در فضای تصویر نشاندهنده فرکانس وجهت تغییرات روشنایی در تصویررا نشان میدهد.برای توصیف توزیع لبه ،ما توصیفگر هیستوگرام لبه (EHD) را با هیستوگرام مبتنی برتوزیع لبه های محلی در یک تصویر استفاده میکنیم .مراحل استخراج EHD شامل مراحل زیر می باشد:
1)ابتدا یک تصویر به زیر تصویرهای 4*4 تبدیل میشود.
2)هرزیر تصویر دوباره به بلاکهای تصویری که روی هم نمی افتد با یک سایز کوچکتر تقسیم میشود.
3)سپس لبه ها به 5 نوع دسته بندی میشوند که عبارتنداز:عمودی ، افقی ، زاویه 45 درجه ،زاویه 135 درجه ولبه های بدون جهت
4)بدین ترتیب هیستوگرام لبه برای هرزیرتصویر به فرکانس نسبی وقوع پنج نوع لبه درزیرتصویرمربوطه اشاره دارد.
5)پس از بررسی تمام بلوکهای تصویردرزیرتصویر،مقادیر 5 دسته با تعداد کل بلوکهای زیر تصویر نرمال میشوند.سرانجام مقادیر دسته نرمال شده برای نمایش دودویی کوانتیزه میشود.این دسته های نرمال وکوانتیزه شده و EHD را تشکیل می دهند.
شبکه های عصبی
شبکه عصبی شبکه ای است شامل واحدهایی شبیه نورون که گره نام دارد.تکنیکهای محاسبه عصبی در مواردی همچون دسته بندی ،بهینه سازی ، تئوری کنترل و برای حل مسائل رگرسیون استفاده میشود.شبکه عصبی بسیار در مسائل دسته بندی کارایی دارد.مخصوصا در جاهایی که تشخیص وردیابی هدف موردنیاز است.شبکه های عصبی به دلیل ماهیت پویای خود برسایر تکنیکها ارجح است.ماهیت پویا با تنظیم وزن با توجه به خروجی نهایی وداده های ورودی اعمال شده بدست می آید.تنظیم وزن بصورت تکراری انجام میشود تا نهایتا خروجی مطلوب بدست آید واین تنظیم وزن شبکه بعنوان یادگیری در شبکه های عصبی می باشد.
معماری شبکه عصبی شامل یک تعدادزیادی از گره ها ونقاط اتصال گره ها می باشد.یک نورون چندورودی با چندین ورودی R در شکل (1) نشان داده شده است.
ورودیهای منحصربه فردp1,p2,...pR که هرکدام معادل w1,1,w1,2,...w1,R از ماتریس وزن w دارند.نورون ها همچنین مقداری به نام b دارند که باوزن ورودیها جمع میشود.برای تشکیل شبکه ورودی n :
به صورت ماتریس میتواند به شکل زیر نوشته شود:
وهم اکنون خروجی نورون بصورت :
تابع تبدیل استفاده شده در بالا یک تابع تبدیل log-sigmoid است.این تابع انتقال ورودی را میگیرد(که ممکن است مقداری بین بی نهایت مثبت وبی نهایت منفی داشته باشد)وخروجی بین 0 تا 1 بر طبق عبارت زیر:
به طوریکه y خروجی تابع با ورودی n می باشد.
گره ها در یک طبقه ی خاص لایه را تشکیل میدهند.اولین لایه لایه ورودی و آخرین لایه لایه خروجی نامیده میشود.لایه های بین ورودی وخروجی لایه های مخفی نامیده میشوند.از آنجاییکه تعداد لایه های مخفی در شبکه افزایش می یابد عملکرد شبکه نیز افزایش می یابد.هر گره در یک شبکه بکارمیرود هدف آن جمع کردن تمام ورودیها می باشد.خروجی یک گره بیشتر به گرهبعدی اعمال میشود.ساده ترین شبکه عصبی پرسپترون می باشد.پرشپترون یک ساختار دولایه ای شامل لایه ی ورودی ولایه خروجی می باشد.تابع خروجی پرسپترون ممکن است مرحله ای ،خطی یا سیگموییدی باشد.اگر خروجی پرسپترون مرحله ای باشد پس میتواند مربوط به دسته بندی را حل کند.اگر تابع خروجی خطی باشد مسائل رگرسیون را حل میکند.پرسپترون ساده یا نورون برای حل وفصل داده های قابل تفکیک خطی استفاده میشود.اما اگر داده بصورت خطی جدانشدنی باشد تکنیکهای دیگری مثل انتشار به عقب مورد استفاده قرار میگیرد.
تغذیه شبکه عصبی انتشار به عقب
شبکه های عصبی FFBP یک روش قوی برای شناسایی الگوها وطبقه بندی می باشد.FFBP NN یک شبکه عصبی چند لایه برای پیاده سازی توابع غیرخطی قابل تفکیک اشتفاده میشود.معماری FFBP NN شامل لایه ورودی ، مخفی وخروجی می باشد. FFBP هم در جهت جلو و هم در جهت عقب حرکت میکند .خروجی را درفرایند روبه جلو و خطا را درفرایند روبه عقب محاسبه میکند.
در فرایند روبه جلو داده آموزشی از طریق لایه ورودی روی شبکه عصبی بکار گرفته میشود.سپس داده به لایه مخفی خورانده میشود، لایه مخفی در واقع پردازش را انجام می دهد.سرانجام داده به لایه خروجی داده میشود.لایه خروجی دارای تابع فعال سازی است که براساس آن خروجی محاسبه میشو.اگر تابع در لایه خروجی مرحله ای باشد،مسائل دسته بندی را انجام میدهد.اگرتابع موجوددرلایه خروجی خطی باشد ،مسائل رگرسیون را انجام میدهد.
مقادیر محاسبه شده در گذرروبه جلوبا خروجی مطلوب مقایسه میشود.تفاوت بین خروجی مطلوب وخروجی واقعی خطا را مشخص میکند.این خطا محاسبه شده وبه سمت عقب یعنی لایه مخفی منتشر میشود.شیب خطا محاسبه شده وبرروی گره k بکاربرده میشوددر اینحالت :
بطوریکه ek خطای روی یک نورون خروجی تنها ،dk خروجی مطلوب و yk خروجی محاسبه شده نورون k می باشد.سپس شیب بااستفاده از معادله زیر محاسبه میشود:
بطوریکه xk مجموع وزن دارشده مقادیر ورودی گره k .
این روش کاهش خطا شیب نزولی (Gradiant Deent) گفته میشود.این روش کاهش خطا با سرعت بیشتری به خروجی همگرا میشود.تمامی پردازشهای بالا در یک الگوریتم تغذیه روبه جلو انتشاربه عقب انجام میشود.
شکل 2 یک BPNN را نشان میدهد.این شبکه از یک لایه ورودی ویک لایه مخفی ویک لایه خروجی تشکیل شده است .طوریکه xi لایه ورودی Hj لایه مخفی و خروجی شبکه y میباشد.سیگنال خطا زمانیکه خروجی y با خروجی هدف نتیجه دسته بندی داده آموزشی مقایسه میشود بوجود می آید.سیگنال خطا از لایه خروجی به طرف لایه مخفی حرکت میکند وزن ها تغییر میکند تا بانتیجه صحیح تنظیم شودوبعد ازاینکه این خطا به حداقل (نزدیک به صفر )برسد ،وزن ها ثابت میشودو این به این معنی است که شبکه آموزش داده شده قابل تست کردن می باشد.
شکل 2-شبکه عصبی Backprppagation
سیستم ارائه شده در این مقاله
معمولاً برای برقراری ارتباط با سیستم بازیابی تصویر که تصویر پرس و جو را می پذیرد ، از رابط کاربر استفاده می شود و نتایج بازیابی را برای او نمایش می دهد. ماژول مسئول اجرای قابلیت بازیابی تصویر مورد نیاز ، شبکه عصبی و روش یادگیری آن با استفاده از الگوریتم backpropagation (انتشار به عقب ) است. در ابتدا ، این شبکه ساخته شده است تا ویژگی های تصاویر موجود در پایگاه داده را یاد بگیرد. پس از آموزش ، این شبکه قادر است تصاویر دقیق و مشابه را به طور خودکار و کارآمد بازیابی کند.
با توجه به مفهوم فوق ، ما یک سیستم بازیابی تصویر بر اساس شبکه عصبی طراحی می کنیم ، همانطور که در شکل 3 نشان داده شده است.سیستم ما در دوفاز عمل می کند:فاز آموزش وتست . قبل از اینکه آموزش و آزمایش واقعی به کار گرفته شود ، باید مراحل اساسی پردازش تصویر دیجیتال را روی هر تصویری که درسیستم پیشنهادی استفاده می کنیم ، انجام دهیم.
این به این معنی است که تصویر مورد جستجو وهمه تصاویر موجوددر پایگاه داده باید تحت برخی پردازش ها واستخراج ویژگی ها قرار بگیرند:1)پیش پردازش : مقداری پیش پردازش روی تصویر به صورت تبدیل رنگ وتغییر اندازه تصویر موردنیاز است.فضای رنگی RGB تصویر به اجزای HSV خود تبدیل میشود.سایز متغیر تصاویر به اندازه 256*256 تغییر میکند. 2) استخراج ویژگیها : ویژگی های آماری یک تصویر با توجه به توصیف رنگ ،بافت ولبه ارزیابی میشود.هیستوگرامهای رنگ ،ماتریس همزمانی سطح خاکستری (GLCM) برای تجزیه وتحلیل بافت وهیستوگرام لبه می باشد.
1)فاز آموزش (training):
فرایند آموزش شامل مراحل ایجاد ،پیکربندی یک شبکه عصبی سه لایه واین شبکه در مورد ویژگیهای رنگ استخراج شده،بافت ولبه تصاویر مجموعه آموزشی یاد میگیرد.مجموعه آموزشی شامل تمام تصاویر موجود در پایگاه داده تصاویر است.فرایند یادگیری با استفاده از الگوریتم انتشار به عقب که شامل خطای محاسبات،به روزرسانی وزن ها برای به حداقل رساندن خطا است ،انجام میشود.
این آموزش باعث میشود شبکه دانش آموخته را در پایگاه دانش خود ذخیره کند.این پایگاه دانش در مرحله بعد در وظایف مقایسه و تصمیم گیری بوسیله شبکه مورد استفاده قرار میگیرد. وظیفه مقایسه شامل مقایسه ویژگی های بین تصویر مورد پرس و جو و تصاویر مجموعه آموزش است. و وظیفه تصمیم گیری شامل تصمیم گیری درباره اینکه کدام دو ویژگی تصویر با توجه به رنگ ، بافت و لبه بیشترین همخوانی را دارند. و در آخر ، تصاویر با ویژگی های همسان را بازیابی کنید.
الگوریتم انتشار به عقب برای یک شبکه دارای سه لایه (فقط یک لایه مخفی دارد)
شکل 3- سیستم بازیابی تصویر با استفاده از شبکه عصبی
2)فاز تست (testing):
فاز تست شامل وظایف پرس وجو وبازیابی می باشد.تصاویر مورد پرس وجو ابتدا پیش پردازش شده وهمچنین ویژگیهای آنها استخراج میشود.شبکه آموزش داده شده با توجه به ویژگیهای تصویر مورد پرس وجو نمایش داده می شود.شبکه بصورت یک دسته بندی کننده عمل میکند وبصورت انتخابی مرتبط ترین ومشابه ترین تصویر ،به تصویر مورد پرس وجو را از پایگاه داده تصاویر بازیابی میکند.الگوریتم CBIR بصورت زیر ارائه شده است :
نتایج سیستم CBIR ارائه شده بصورت زیر می باشد:
1)رویکرد مبتنی بر شبکه عصبی با توجه به مکان وزمان کارامد است.
2)بازیابی تصاویر محتوا محور با استفاده از شبکه عصبی نسبت به سایررویکردها مانند الگوریتم ژنتیک ،سرعت بازیابی وبازخوانی بالایی دارد.
3)از روش یادگیری با ناظر برای مجموعه آموزشی تصاویر استفاده می کند.
4)با توجه به اندازه پایگاه داده تصاویر مقیاس پذیراست.تنها کاری که باید انجام دهیم آموزش شبکه در ارتباط ویژگیهای جدیدتصویر می باشد.
منبع :
A.Nagathan,Manimozhi,J.Mungara,Content-Based Image Retrieval System Using Feed-Forward Backpropagation Neural Network ,IJCSNS International Journal of Computer Science and Network Security, VOL.14 No.6, June 2014,