دلگرم
امروز: یکشنبه, ۱۸ خرداد ۱۳۹۹ برابر با ۱۶ شوّال ۱۴۴۱ قمری و ۰۷ ژوئن ۲۰۲۰ میلادی
صفر تا صد مبحث درک تصویر (image captioning)
1
زمان مطالعه: 8 دقیقه
چندین مورد مهم برای استفاده از درک تصویر وجود دارد، اما بیشتر آن ها در سیستم هایی بزرگتر، استراتژی های کنترل ترافیک وب، اینترنت اشیا، سرویس های ابری iaas و saas و سیستم های واقعیت مجازی کاربرد دارند. از طبقه بندی تصاویر گرفته تا تقسیم بندی تصویر ها…

درک تصویر image captioning)) چیست؟

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

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

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

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

برای انجام پروژه های image captioning (درک تصویر) خود ادامه مطالب را بخوانید!

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

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

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

درک تصویر با استفاده از یادگیری عمیق
شکل 1: درک تصویر با استفاده از یادگیری عمیق

کاربردهای image captioning (درک تصویر)

اگر از درک تصویر برای تهیه یک محصول تجاری استفاده شود به چه زمینه های کاربردی برای این تکنیک نیاز دارید؟

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

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

مجموعه داده به این صورت است. (عکس عنوان). مجموعه داده از تصاویر ورودی و عنوان های خروجی مربوطه تشکیل شده است.

روش مبتنی بر آشکار ساز بصری و مدل زبان
شکل 2: روش مبتنی بر آشکار ساز بصری و مدل زبان

کد گذاری (CNN)

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

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

پرسپترون جزء اساسی و پایه‌ای شبکه عصبی است که می‌تواند یادگیری نیز داشته باشد.

توسعه این جزء درنتیجه الهام از یک عنصر زیست‌شناختی به نام نورون بوده است.

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

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

کد گشایی (RNN)

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

یک تصویر به صورت زیر پردازش می شود:

  1. نمایش و چاپ تصویر ۲. ویرایش تصویر ۳. بهبود تصویر ۴. کشف و تشخیص یک ویژگی خاص در تصویر ۵. فشرده سازی تصویر

مراحل پردازش تصویر
شکل3. مراحل پردازش تصویر

انجام پروژه های درک تصویر (image captioning) در متلب

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

انجام پروژه های درک تصویر (image captioning) در پایتون

یکی دیگر از زبان های برنامه نویسی پرطرفدار در دنیا که امروزه در ایران هم هرروز طرفدارانش بیشتر می شود زبان برنامه نویسی پایتون Python است.این زبان بسیار سبک و یادگیری آن آسان است.جوری که درحال جایگزینی بسیاری از زبانهای برنامه نویسی معروف می باشد.پایتون اکنون در برنامه نویسی وب ، اپلیکیشن ، نرم افزارهای ویندوزی ، پروژه های داده کاوی ،پروژه های هک و نفوذ و پروژه های هوش مصنوعی کاربرد بسیاری پیدا کرده است.دوتا از ویژگی های این زبان متن باز(open source) بودن و قابلیت پردازش داده های حجیم(bigdata) است.توصیه می شود برای انجام پروژه پایتون Python خود چه دانشجویی باشد و چه تجاری حتما آن را با دیگر زبانها مانند متلب مقایسه کنید تا سبکی و سرعت بی نظیر آن را دریابید.

image captioning در پایتون بسیار سریع انجام می شود و کتابخانه های مختص به خود را داراست.حتما امتحان کنید!


موسسه پژوهشی همیارپروژه

سایت همیارپروژه بیش از 5 سال است که در حوزه انجام پروژه های هوش مصنوعی با متلب و پایتون مشغول به فعالیت است و در این مدت تجربه زیادی در انجام پروژه های دانشجویی و تجاری در حوزه هوش مصنوعی کسب نموده است.مبحث image captioning (درک تصویر) نیز جزء موضوعاتیست که ما دائما درحال پرداختن به آن هستیم و در این خصوص تجارب زیادی داریم.

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

جهت سفارش یا مشاوره پروژه خود کافیست سایت همیارپروژه را در گوگل جستجو کنید و یا با شماره 09129540122 تماس بگیرید و یا حتی در تلگرام با آیدی @fnalk با ما در ارتباط باشید و پروژه خود را سفارش دهید.


دیدگاه ها

شما هم می توانید نظرات خود را ثبت کنید



کد امنیتی کد جدید
hits
statcounter