CBIR:Content Base Image Retrival

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

CBIR:Content Base Image Retrival

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



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

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

نویسندگان کتاب :Himanshu Sing و Alahabad Uttar Prdesh,India

این کتاب محصول سال 2019 میلادی است. 

 

کتاب شامل 6 فصل است که به ترتیب شامل موارد زیر است:

فصل اول :محیط راه اندازی

در این فصل طریقه نصب آناکوندا را برای محیطهای ویندوز،mac و ubntu لینوکس توضیح داده است در ادامه هم نصب کتابخانه های open cv و keras را یاد داده و گفته شده که در این کتاب از IDE به نام Jupiter Note book استفاده میشود.در قسمت آخر هم در مورد ایجاد یک محیط مجازی در آناکوندا گفته شده است .

فصل دوم : مقدمه ای بر مبانی پردازش تصویر

در این فصل در مورد تعریف تصویر،پیکسل ، وضوح تصویرگفته شده علاوه براین در مورد مفاهیم PPI  و DPI  تصاویر بیت مپ وانواع فشرده سازی تصویر یعنی روش Lossy و روش Lossless توضیح داده شده است.

در بخش دیگر در مورد انواع فرمتهای فایلهای تصویری وانواع فضای رنگ شامل RGB ، XYZ ،HSV/HSL ،LAB ،LCH ،YpbPr ،YUV وYIQ توضیح داده شده است.

در بخش بعدی در این فصل در مورد مفاهیم پیشرفته در تصویر بررسی شده از جمله:

·         منحنی بزیر

·         بیضوی

·         تصحیح گاما

·         شاخص تشابه ساختاری

·         Deconvolution

·         هوموگرافی

·         کانولوشن

فصل سوم : اساس برنامه نویسی پایتون و کتابخانه Scikit

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

فصل چهارم : پردازش تصویر پیشرفته با استفاده از کتابخانه open cv

در این فصل کد پایتون مربوط به  مفاهیم پیشرفته تری از تصویر یعنی ترکیب دو تصویر ،تغییر کنتراست وشدت روشنایی ،اضافه کردن متن به تصویر،صاف کردن تصاویر یعنی نوشتن کد فیلترهایی مثل median ، Guassion   و Bilateral ،تغییر اشکال تصویر ،تراشولد تصویر،محاسبه ی گرادیانت و چگونگی ترسیم هیستوگرام تصویر نوشته شده است.

فصل پنجم :پردازش تصویر با استفاده از ماشین لرنینیگ

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

·         الگوریتم(  SIFT(Sift Scale – Invariant Feature Transform تبدیل ویژگی مقیاس ثابت

·         الگوریتم (RANSAC) ثبت تصویر با استفاده از اجماع نمونه تصادفی

·         دسته بندی تصاویر با استفاده از شبکه عصبی مصنوعی

·         دسته بندی تصاویر با استفاده از شبکه عصبی کانولوشن(CNNs)  

·         دسته بندی تصاویر با استفاده از ماشین لرنینگ

در دسته بندی تصاویر بااستفاده از ماشین لرنینگ سه روش درخت تصمیم ،ماشین بردار پشتیبان (SVMs) و رگرسیون logistic  توضیح داده شده وبرای هرکدام کد پایتون مربوطه گفته شده است.در ارتباط با یکسری مفاهیم مهم توضیح داده شده است که در ادامه به توضیح این مفاهیم می پردازیم:

الگوریتم AdaDelta  : این الگوریتم یک جایگزینی برای الگوریتم گرادیان کاهشی میباشد.این الگوریتم به حذف مشکلاتی که دررابطه با overfitting  و underfitting  وجوددارد کمک میکند.

batch size  : زمانیکه تعداد داده ها زیاد باشد ،داده ها به صورت دسته دسته داخل مدل گذاشته میشود وبه همین صورت دسته دسته مورد پردازش قرار میگیرد.

Categorical values :برچسب هایی که عددی نیستند(به عنوان مثال ، گربه ها ، سگ ها ، بالا ، متوسط ، کم). بر خلاف انچه که  در مجموعه داده های MNIST ، جایی که برچسب ها عدد هستند ،استفاده میشود و این باعث میشود که پیش بینی ها را موثرتر می کند.

variable dependent  :متغیرهای وابسته عناصری که بطور واقعی پیش بینی میکنیم.

dummies  : وقتی متغیرهای دسته بندی را به اعداد باینری اختصاص داده شده به هر گروه تبدیل می کنیم.

epochs :تعداد تکرارهای مدل تا به کمترین خطا برسیم.

gradient descent algorithm :الگوریتم گرادیان کاهشی برای به حداقل رساندن خطا استفاده می شود

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

homography matrix  : ماتریس هموگرافی راهی برای نگاشت دو تصویر برای یافتن الگوهای مشترک بین آنها است.این ماتریس در قسمت ثبت تصویر استفاده شده است.

Independent variable  : عنصر متغیر مستقل برای پیش بینی متغیرهای وابسته استفاده می شود.

Linear classification  : طبقه بندی خطی روشی برای طبقه بندی عناصر بر اساس انشعاب خط مستقیم می باشد.

overfitting  :  هنگامی که یک مدل تمام ویژگی ها از جمله ویژگی های غیر ضروری را در نظر می گیرد ،نتایج اشتباه میدهد.

rato test by Dr.Lowe  : آزمایشی که برای تعیین اینکه آیا ویژگی های استخراج شده از تصاویر می توانند برای یافتن شباهت بین آنها استفاده می شود مورد استفاده قرار میگیرد.

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

test set    : بخشی از یک مجموعه داده که در آن تست می کنیم و کارایی مدل ما مشخص میشود.

train set: بخشی از مجموعه داده مورد استفاده برای آموزش و ساخت یک مدل می باشد.

underfitting : هنگامی که یک مدل قادر به مراقبت از همه ویژگی های مهم موجود نیست و بدین ترتیب نتایج اشتباهی می دهد.

فصل ششم :بررسی چند مورد واقعی

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

·         یافتن خطوط دست

·         شناسایی چهره ها

·         تشخیص چهره ها

·         پیگیری حرکات

·         تشخیص خطوط

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

میزان یادگیری (اجباری در نزول شیب دار)

 

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد