CBIR: Content Based Image Retrieval

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

CBIR: Content Based Image Retrieval

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

بازیابی تصویر محتوا محور از منظر ویکیپدیا


بازیابی تصویر مبتنی بر محتوا  CBIR[1] به عنوان پرس و جو با محتوای تصویر QBIC[2] شناخته شده است.بازیابی اطلاعات بصری مبتنی بر محتوا CBVIR[3] راهکاری است برای استفاده از تکنیک های بینایی کامپیوتری برای رفع مشکل بازیابی تصویر  برای جستجوی تصاویر دیجیتال در پایگاه داده های بزرگ. "مبتنی بر محتوا " به این معنی است که جستجو بر اساس محتوا باشد به جای ابرداده مانند کلمات کلیدی، برچسب ها و یا توصیف های مرتبط با تصویر. اصطلاح در این مقوله "محتوا" ممکن است به رنگ ها، شکل ها، بافت ها و یا هر گونه اطلاعات دیگر که می تواند از تصویر به دست آید اشاره کند. بازیابی تصویر مبتنی بر محتوا اثر بخش و مفید است زیرا جستجوهایی که به طور کامل به فراداده متکی هستند وابسته به کیفیت و کامل بودن آن می باشند.

 

تاریخچه

اصطلاح "بازیابی تصویر مبتنی بر محتوا" در سال 1992 هنگامی که توسط T.Kato برای توصیف آزمایشات مربوط به بازیابی خودکار تصاویر از یک پایگاه داده بر اساس رنگ ها و شکل های موجود استفاده شد بر می گردد. از آن به بعد، این اصطلاح برای توصیف روند بازیابی تصاویر مورد نظر از یک مجموعه بزرگ بر اساس ویژگی های تصویری هماهنگ استفاده شده است. تکنیک ها، ابزارها و الگوریتم هایی که استفاده می شوند، از روش هایی مانند آمار، تشخیص الگو، پردازش سیگنال و دید کامپیوتری بهره می گیرند. اولین سیستم CBIR تجاری توسط آی بی ام توسعه یافته QBIC  نامیده شد.

 

پیشرفت فنی

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

 

روش های موجود

الف- ارزیابی معنایی[4]

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

 

ب- روش بازخورد (ارتباط دوسویه ماشین و انسان)

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

 

ج- یادگیری ماشین / تکراری

یادگیری ماشین و استفاده از تکنیک های تکراری در CBIR شایع تر است.

 

ه- سایر روشهای پرس و جو

سایر روشهای پرس و جو عبارتند از: مرور دسته بندی های سفارشی / سلسله مراتبی، پرس و جو در منطقه تصویر (به جای کل تصویر)، پرس و جو با چند تصویر نمونه، پرس و جو با طرح بصری، پرس و جو با مشخصات مستقیم از ویژگی های تصویری و پرس و جو چندجمله ای مانند ترکیب لمس، صدا و غیره

 

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

رایج ترین روش برای مقایسه دو تصویر در بازیابی تصویر مبتنی بر محتوا (معمولا تصویر نمونه و یک تصویر از پایگاه داده) استفاده از اندازه گیری فاصله تصویر است. اندازه گیری فاصله تصویر شباهت دو تصویر را در ابعاد مختلف مانند رنگ، بافت، شکل و دیگر موارد مقایسه می کند. به عنوان مثال، فاصله 0 نشان دهنده تطابق دقیق جواب با سوال مورد نظر است. مقدار بیش از 0 نشان دهنده درجه های مختلف از شباهت بین تصاویر است.

 

ح- بافت

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

     ماتریس همبستگی

     قانون بافت انرژی

     تبدیل موجک

 

ط- شکل

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

 

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

معیار ارزیابی روش های بازیابی تصویر را می توان دقت و فراخوانی آنها تعریف کرد هرچند که در اکثر سیستم های CBIR  از چند تکنیک به طور همزمان برای بازیابی تصویر استفاده می شود.

 

منبع

https://en.wikipedia.org/wiki/Content-based_image_retrieval

 



[1] Content-based image retrieval

[2] Query by image content

[3] content-based visual information retrieval

[4] Semantic retrieval

استخراج ویژگی از تصاویر بافتی

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

روش الگوی دودویی محلی، روشی غیر پارامتریک می باشد که باید در آن تعداد نقاط همسایگی P و شعاع همسایگی R مشخص شود. یکی از مشکلات روش الگوهای دودویی محلی تعداد ویژگی های استخراج شده بوده که برابر2^p  است. روش الگوی دودویی محلی مزایای مختلفی دارد یکی از این مزیت ها، سادگی آن می باشد. ضمن اینکه قابلیت استخراج اطلاعات محلی را با دقت بالا دارد و چون از تفاضل سطوح خاکستری استفاده می کند، نسبت به تغییرات یکنوای سطوح خاکستری غیرحساس است.

در روش واریانس محلی در هر همسایگی مقدار واریانس نقاط همسایگی محاسبه شده و یک توصیفگر جدید بنام واریانس محلی حاصل می شود. در برخی از مقالات از ترکیب الگوی دودویی محلی و واریانس محلی ویژگی هایی با نتایج بهتر طبقه بندی تولید شده است. محمدحسین شکورو فرشاد تاجریپور در مقاله ای به نام الگوی انتروپی محلی جهت استخراج ویژگی های تصاویر بافتی از یک روش جدید استفاده نمودند. روش آنها بر روی دسته های TC10 و TC12(t) و TC13 از پایگاه داده Outex اعمال شده است. همچنین از پایگاه CUReT و UIUC نیز جهت تست سیستم استفاده نموده اند. روش پیشنهادی آنها در مقایسه با الگوی دودویی محلی و واریانس محلی به نویز مقاوم تر بوده و همچنین ترکیب آن با الگوی دودویی محلی نتایج بسیار بهتری نسبت به ترکیب واریانس محلی با الگوی دودویی محلی تولید می کند. این روش ضمن اینکه کلیه ویژگی های مثبت روش های موجود مانند غیرحساس بودن به چرخش و تغییرات روشنایی را دارد، نسبت به نویز نیز بسیار مقاوم می باشد.

 

منبع

http://jmvip.sinaweb.net/article_33505.html

مقدمه ای برای یادگیری عمیق

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

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

 

آموزش عمیق چیست؟

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

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

 

 

 

 

 

 

برنامه های اصلی برای یادگیری عمیق عبارتند از:

1- طبقه بندی تصویر (شبکه عصبی مصنوعی (CNN) به طور کلی استفاده می شود)

2- طبقه بندی متن (شبکه عصبی مجدد (RNN) به طور کلی استفاده می شود)

3- پردازش گفتار (معمولا از LSTM استفاده می شود)

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

 

چرا آموزش عمیق؟


اگر ما به این روش دقیق نگاه کنیم، ممکن است متوجه شویم که این ممکن است روشی باشد که مغز ما قادر به شناسایی اشیاء اطراف ما می باشد. ممکن است این مفهوم اصلی ادراک باشد و این انگیزه شبکه های عصبی عمیق است. ایده کلی این است که بفهمیم که نورونها در مغز ما چگونه الگوها را شناسایی می کنند و کار آنها را تقلید کنیم. نورون ها گره نامیده می شوند و اطلاعات را از یک به دیگری انتقال می دهند. اما تمایز بین یک شبکه عصبی ساده و یک شبکه عصبی عمیق چیست؟ پاسخ آن واضح نیست چون اگر ما معماری، انعطاف پذیری و دقت پیش بینی بین یک شبکه عصبی و یک مدل آموزش عمیق را در نظر بگیریم، مشاهده می کنیم که تفاوت هایی وجود دارد. در مورد شبکه های عصبی متعارف، اغلب هر گره زمانی که ما از یک لایه به سمت دیگر حرکت می کنیم گره ها به هر گره دیگر متصل می شود. در مورد یک شبکه عصبی عمیق، ما می توانیم تعداد گره های شرکت کننده در فرایند تصمیم گیری را محدود کنیم، که مغز ما هم در بیشتر موارد همین کار را انجام می دهد. همچنین، یک شبکه عصبی متعارف بیشتر از روش feed forward برای پیش بینی استفاده می کند. یک شبکه عمیق عصبی از مفهوم انتشاربه عقب (back propagation) در بالای تکنیک feed forward استفاده می کند که از طریق آن می توان خطا را در هر مرحله با به روز رسانی وزن ها در شبکه کاهش داد.

 

چگونه یاد گیری عمیق اجرا می شود؟

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

 

 

تابع فعال سازی:

مغز ما به گونه ای کار می کند که وقتی تصور می کنیم یک تصویر وجود دارد، نورون های مشخصی فعال می شوند و نورون های مشخصی فعال نمی شوند. این مکانیسمی است که به انسان کمک می کند گربه ها را به عنوان گربه ها و سگ ها را به عنوان سگ ها شناسایی کند. گرچه آنها بسیاری از ویژگی های مشترک را دارا هستند. این مکانیسم با استفاده از مفهوم تابع فعال سازی در یادگیری عمیق اجرا می شود. یک تابع فعال سازی تعیین می کند که آیا یک گره برای ایجاد پیش بینی باید باشد و یا نباشد. در مراحل اولیه، تابع فعال سازی مورد استفاده معمولا تابع s-shaped tanh بوده است. اما در حال حاضر،  تابع فعال سازی مورد استفاده اغلب reLu(rectified linear unit) است. چندین تابع فعال سازی دیگر هم وجود دارد که می تواند مورد استفاده قرار گیرد.

 

اندازه گیری خطا:

همانطور که در مورد هر الگوریتم یادگیری ماشین، زمانی که معماری یا چارچوب مدل ساخته شد، مدل با استفاده از داده های ورودی آموزش دیده و هدف مدل کاهش هزینه ها یا خطا است. شایع ترین روش اندازه گیری خطا در مدل های آموزشی عمیق MSE(Mean squared error) برای پیش بینی یک متغیر پیوسته و یا اندازه گیری CrossEntropy برای پیش بینی یک متغیر قطعی است.


تکنیک های بهینه سازی:

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

 

منبع

https://www.linkedin.com/pulse/introduction-deep-learning-renganathan-lalgudi-venkatesan/

 

دیتا ست کتاب گنزالس

نمونه دیگر از دیتا ست ها را می توان در آدرس "http://www.imageprocessingplace.com/root_files_V3/image_databases.htm" مشاهده کرد  که تصاویرمربوط به چهارمین ویرایش پردازش تصویر دیجیتال است که توسط گونزالس و وودز در دو قالب DIP4E Faculty و Student تهیه شده است.

درFaculty  تمام مواد پشتیبانی (به جز راهنمای راه حل ها) برای DIP4E و DIP4E Global در بسته پشتیبانی دانشکده DIP4E  قرار دارد و راهنمای راه حل آن فقط به صورت آنلاین در دسترس است.

در Student تمام مواد پشتیبانی برای DIP4E در بسته پشتیبانی دانشجویی DIP4E قرار دارد. دفترچه راهنمای راه حل هم فقط به صورت آنلاین در دسترس است. در DIP3E شامل: درخواست کتابچه راهنمای کاربر،تصاویر کتاب ، پاورپوینت می باشد. در DIPUM2E برای مباحث پردازش تصویر با استفاده از MATLAB است.


لینک دانلود

توضیحات فارسی

توضیحات انگلیسی

Download

مجموعه تصاویر استاندارد برای تست شامل تصاویر لنا، فلفل، فیلم بردار، دریاچه و ... که همگی با ابعاد 512*512 بوده و قالب آنها هم Tif می باشد.

"Standard" test images (a set of images found frequently in the literature: Lena, peppers, cameraman, lake, etc., all in uncompressed tif format and of the same 512 x 512 size).

Download

تصاویر MPEG7 شامل 1400 تصویر باینری است

MPEG7 CE Shape-1 Part B (database containing 1400 binary shape images).  Learn more about MPEG7.  See how the shapes database is used

light microscopy

مجموعه عالی از تصاویر میکروسکوپ نوری

Light microscopy images (an excellent collection).

microscopy images

تصاویر از انواع میکروسکوپ ها شامل اتمی، نوری و ...

Images from various microscope types, including Atomic Force, Light, Confocal, ESEM, TEM, & others.

MedPix

پایگاه داده تصویری پزشکی (رادیولوژی) با بیش از 20.000 عکس

MedPix--Medical (radiological) image database with more than 20,000 images. Registration is free.

NIX images

تصاویر ناسا مربوط به فضا

NASA image exchange (a comprehensive collection of space and related images).

planet images

مجموعه ای از تصاویر سیارات

NASA planetary photojournal (a collection of planetary images).

NOAA images

مجموعه ای از تصاویر مشاهدات زمین

NOAA photo library (a collection of Earth observation images).

USGS images

تصاویر ماهواره ای از تغییرات زمین

USGS satellite images of Earth changes.

weather sat images

تصاویر ماهواره های هواشناسی

ESO weather satellite images.

Sci World Image Bank

مجموعه ای بزرگ از تصاویر ماهواره ای زمین

Earth Science World Image Bank (A large collection of satellite images)

Faces

پایگاه داده چهره

Face databases.

BIT, U of Bologna

پایگاه داده اثر انگشت

Fingerprint databases.

segmentation dataset

تصاویر تقسیم بندی شده برکلی

Berkeley image segmentation dataset-images and segmentation benchmarks.

aircraft-images

سیگنال هواپیما

Aircraft silhouettes.

Download

پایگاه داده شکل برگ

Leaf shapes database (courtesy of V. Waghmare). Read about the database.

Daimler Database

پایگاه داده تشخیص عابر پیاده دایملر

Daimler Pedestrian Detection Database (a DB of moving people and vehicles).

ISI Databases

تصاویر شبکیه، رادیوگرافی قفسه سینه، تصاویر برای ارزیابی تکنیک های ثبت نام، تصاویر کبدی، اسکن MRI مغز

Image Sciences Institute annotated research data bases (retinal images, chest radiographs, images for evaluating registration techniques, liver images, brain MRI scans).

Pascal

مجموعه داده پاسکال شامل داده های تصویری استاندارد برای شناسایی کلاس

Pascal dataset. (Standardized image data for object class recognition.)

Plant Images

مجموعه داده تصاویر گیاهی

Data set of plant images (Download from host web site home page.)

 

نمونه ای از پایگاه داده های تصویری که اغلب در یادگیری عمیق استفاده می شود

A SAMPLE OF IMAGE DATABASES USED FREQUENTLY IN DEEP LEARNING:

MNIST

الف - مجموعه داده MNIST از ارقام دست نویس تصاویر خاکستری با 60 هزار نمونه آموزشی و 10 هزار نمونه تست با ابعاد 28*28

A. MNIST dataset of handwritten digits (28x28 grayscale images with 60K training samples and 10K test samples in a consistent format).

CIFAR-10

ب- مجموعه داده CIFAR-10 شامل تصاویر رنگی با ابعاد 32*32 در 10 کلاس و 50 هزار تصویر آموزشی و 10 هزار تصویر تست

B. CIFAR-10 dataset. (32x32 RGB images in 10 classes. 50K training images and 10K test images).

CIFAR-100

ج- مجموعه داده CIFAR-100 شامل تصاویر رنگی با ابعاد 32*32 در 100 کلاس و 50 هزار تصویر آموزشی و 10 هزار تصویر تست

C. CIFAR-100 dataset. (32x32 RGB images in 100 classes. 50K training images and 10K test images).

CALTECH101

د- مجموعه داده Caltech101 شامل تصاویر رنگی و خاکستری با سایز های مختلف در 101 طبقه و جمعا 9144 تصویر

D. Caltech101 dataset. (RGB and grayscale images of various sizes images in 101 categories, for a total of 9144 images).

CALTECH256

ه- مجموعه داده Caltech256 شامل تصاویر رنگی و خاکستری با سایز های مختلف در 256 طبقه و جمعا 30608 تصویر

E. Caltech256 dataset. (RGB and grayscale images of various sizes in 256 categories for a total of 30608 images).

IMAGENET

و- مجموعه ImageNet شامل تصاویر رنگی و خاکستری با سایز های مختلف در 10000 طبقه و جمعا 3 میلیون تصویر

F. ImageNet (RGB and grayscale images of various sizes in more than 10,000 categories for a total of over 3 million images--Considered by many to be the standard for algorithm development and testing.)

More Images

ز- سایر پایگاه داده های مورد استفاده در یادگیری عمیق

G. More image databases used in deep learning.

 

یادگیری عمیق چیست؟


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

مدلهای یادگیری عمیق مختلفی در تحقیقات و فعالیت های تجاری مورد استفاده قرار می گیرند. بعضی از این مدلها به قرار زیر اند :

·         شبکه عصبی کانولوشن

·         شبکه باور عمیق

·         شبکه عصبی  feed-forward

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

یادگیری عمیق را میتوان هم در یادگیری با نظارت(supervised)  و هم بدون نظارت(unsupervised)  مورد استفاده قرار داد

یادگیری عمیق چگونه کار میکند؟

الگوریتم BackPropagation الگوریتم محبوبی است که یادگیری را در یادگیری عمیق در بسیاری از مدلها پیاده میکند. ایده این الگوریتم در دهه ۷۰ میلادی مطرح و در سال ۱۹۸۶ در مقاله " Learning representations by back-propagating errors "توسط  Rumelhartو Hinton و Williams به شهرت رسید.

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

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

در مقابل یادگیری عمیق، یادگیری کم عمق یا اصطلاحا  shallow learning‌ وجود دارد که قبل از یادگیری عمیق از آن استفاده می شد و در واقع همان support vector machine‌ ها و شبکه های عصبی معمولی و بود.

در یادگیری کم عمق از شبکه عصبی (کم عمق) یا support vector machine‌ها و استفاده می شود و بیشتر برای دسته بندی و تمایز قائل شدن بین کلاسهای مختلفی است که در داده ها وجود دارد (به عنوان مثال برای شناسایی تصاویر سرطان و یا پیش گویی قیمت مسکن که در آن اطلاعات چندین سال اخیر در قالب داده وارد شده و سپس سیستم بر اساس اطلاعات جدید مثلا مقدار زیربنا و... قیمت را محاسبه می کند) اینها نمونه ای از یادگیری هستند. در روش کم عمق می بایست  مهندسی ویژگی انجام و یکسری الگوها و یا معادلات برای کشف ارتباط بین دادها پیدا کرده و بعد با استفاده از آن  مدل را آموزش میدادیم. دریادگیری عمیق خود سیستم مهندسی ویژگی را انجام می دهد. لذا خیلی مورد توجه قرار گرفته و نتایج بسیار عالی ای از آن به دست آمده است. یه نکته مهم در این روش ها عمق می باشد. مثلا شبکه عصبی هم در یادگیری عمیق کاربرد دارد و هم در یادگیری کم عمق! و تفاوت آنها در عمق شبکه می باشد.

 

در اصل یادگیری عمیق در دهه ۸۹ و ۹۰ نیز وجود داشته ولی به خاطر محدودیت سخت افزار و الگوریتم ها عملا تعداد لایه های شبکه عصبی محدود بوده و از سال  ۲۰۱۰ و ۲۰۱۱ و خصوصا ۲۰۱۲ با شدت تمام مطرح شده است. در سال ۲۰۱۲ بود که در اصل الکس کریژوسکی و جف هینتون معروف (یکی از پایه گذاران یادگیری عمیق دنیا) توانستند با استفاده از کارت گرافیک یه شبکه کانولوشنی رو آموزش داده و نتایج حیرت انگیزی بدست آوردند.

 

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

 

در شبکه عصبی لایه ها مثل لیست ویک بعدی هستند. اما در شبکه کانولوشن، لایه کانولوشن چند بعدی است و یکسری لایه ها و عملیاتهای خاص مربوط به خودش را داراست.