بازیابی تصاویر بر اساس محتوا با استفاده از یادگیری عمیق(تحقیقاتی)

تغییرات پروژه از تاریخ 1396/08/29 تا تاریخ 1396/10/07
# مقدمه
امروزه استفاده از  تصاویر و ویدئوهای دیجیتال یا داده‌های بصری رو به افزایش است و می‌تواند به سادگی به جای داده‌های متنی متداول شود. برای این اتفاق علت‌های مختلفی مثل : فراگیری اینترنت، بالا رفتن کارایی و دسترسی به دوربین‌های دیجیتال و ... وجود دارد. با بالا رفتن این نوع اطلاعات نیاز به یک سیستم برای بازیابی تصاویر و ویدیو‌های دیجیتال حس شد.. **بازیابی تصاویر بر اساس محتوا(CBIR) **یا **CBIR  [^Content Based Image Retrieval]** یک تکنیک برای پیدا کردن تصاویر در دیتابیس‌های بزرگ تصویری است.
در ابتدا بازیابی تصاویر بر اساس متن انجام می‌شد اما با پیشرفت تکنولوژی تصویر برداری و استفاده تصاویر در حوزه‌های مختلف علوم، این روش با مشکل‌های زیادی روبرو شد.
سیستم‌های CBIR از دو روش برای جست‌جو استفاده میکنن. ۱- جست‌وجو بر اساس متن ۲-جست‌جو بر اساس تصویر. در روش اول که معمولی‌ترین روش جست‌جو است میتوان اطلاعات دقیق‌تر و بهتری از کاربر دریافت کرد. در روش دوم یک عکس از کاربر دریافت کرده و نزدیک‌ترین تصاویر به آن را پیدا میکند.
در سیستم‌های معمولی CBIR دو کار عمده انجام می‌شود ۱- استخراج ویژگی‌ها  ۲- اندازه‌گیری شباهت. روش کلی کار اینگونه است که ابتدا یک مجموعه ویژگی را با استفاده از داده‌های اولیه بدست‌ می‌آورد و سپس با استفاده از مجموعه ویژگی بدست آمده ، برای داده‌های جدید مقدار شباهت را اندازه‌گیری میکند و بر اساس داده‌های داخل دیتابیس تصویر را بازیابی میکند.
![یک سیستم CBIR](http://www.upsara.com/images/q50_screenshot_from_2017-11-20_03-12-35.png)
استخراج ویژگی‌های می‌تواند از قابلیت‌های مختل عکس مثل ساختار رنگ‌ها ، بافت تصویر و ... باشد.
اما مشکل اصلی در این است که اطلاعات ساده که توسط کامپیوتر بررسی می‌شود با مفاهیم عمیقی که انسان از عکس برداشت میکند فاصله‌های زیادی دارد. الگوریتم‌های یادگیری ماشین روشی برای کم کردن این فاصله است.
در سال‌های اخیر **یادگیری عمیق** [^Deep learning]تحول اساسی در الگوریتم‌های یادگیری ماشین ایجاد کرده و موفقیت‌های چشم‌گیری داشته است. این موفقیت‌ها باعث می‌شود که امید برای پیدا کردن یک چارچوب[^framework] بر مبنای یادگیری عمیق برای سیستم‌های CBIR بالا برود. هدف از پیاده‌سازی frameworkچارچوب این است که ماشین به جای اینکه ویژگی‌های کمی را با کمک انسان پیدا کند، بتواند ویژگی‌های زیادی بدون کمک انسان و با استفاده از دامنه دانش خود پیدا کند.
![یک frameworkچارچوب  یادگیری عمیق برای CBIR](http://www.upsara.com/images/vcca_screenshot_from_2017-11-20_03-33-36.png)
# کارهای مرتبط

1. **ارائه ویژگی‌ها**
پیدا کردن و نمایش دادن ویژگی‌ها اولین و پایه‌ای ترین کار در سیستم‌های CBIR است. ویژگی‌هایی خاص که توسط الگوریتم‌های پردازش تصویر از تصاویر استخراج می‌شوند مانند رنگ،ساختار،شکل و ... .
2. **یادگیری عمیق**

# آزمایش‌ها

# کارهای آینده

# مراجع
[Deepak S. Shete, Dr. M.S. Chavan" Content Based Image Retrieval"](http://www.ijetae.com/files/Volume2Issue9/IJETAE_0912_13.pdf)
[Ji Wan , Dayong Wang, Steven C.H. Hoi, Pengcheng Wu,Jianke Zhu, Yongdong Zhang1, Jintao Li"Deep Learning for Content-Based Image Retrieval:A Comprehensive Study"](http://dayongwang.info/pdf/2014-MM.pdf)

## پیوندهای مفید
+ [کتابخانه اپن‌سی‌وی](http://opencv.org/)
+ [اپن‌سی‌وی در پایتون](http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)
+ [نصب اپن‌سی‌وی در ابونتو](https://help.ubuntu.com/community/OpenCV)
+ [مجموعه داده](https://www.cs.toronto.edu/~kriz/cifar.html)