CUDA Programming Applications

کاربردهای برنامه نویسی کودا

CUDA Programming Applications

کاربردهای برنامه نویسی کودا

بخش بندی تصاویر با یادگیری عمیق

بخش بندی معنایی تصاویر ؟

در تصاویر کامپیوتری، واژه ” بخش بندی تصویر ” یا ” بخش بندی” به تقسیم تصویر به گروهی از پیکسل براساس برخی معیارها اشاره داردیک الگوریتم بخش‌بندی تصویر به عنوان ورودی و خروجی مجموعه‌ای از مناطق ( یا بخش‌ها ) را می‌گیرد.ناحیه‌بندی موثر اشیاء در تصویر رنگی یک مسئله مهم عملگرهای پردازش تصویر است. با ناحیه بندی مؤثر، عنصر مورد نظر را جدا می‌کنیم. برتری یک روش ناحیه بندی بر دیگر روش‌ها به مشخصات خاص مسئله‌ای که بررسی می‌شود، بستگی دارد. ناحیه‌بندی تصاویر رنگی در بسیاری از کارهای پردازشی بر روی تصاویر، چون تصاویر درمانی، بینایی ماشین، فشرده سازی تصویر، شئ شناسی، نیازی ضروری و مهم برای شروع پردازش بر روی شی یا بافت مورد نظر می باشد. برای مثال در تصاویر درمانی، یک پزشک با استفاده از دانش و تجربه ی خود به ناحیه بندی بافت مورد نظر در تصویر می‌پردازد. اما زمانی که تعداد تصاویر زیاد باشند و یا اینکه کانتراست و تغییر شدت روشنایی اشیاء نسبت به یکدیگر کم باشد و تصویر از لحاظ دید انسان نامناسب باشد، ناحیه بندی بسیار هزینه بر بوده (هم از نظر مالی و هم از نظر زمانی) و با خطا روبرو می گردد. بنابرین نیاز به خودکار کردن فرایند ناحیه بندی تصویر، امری لازم و ضروری می باشد. ناحیه بندی تصویر به روش های مختلفی صورت می پذیرد که به طور کلی می‌توان آنرا به دو دسته ی کلاسیک و شکل شناسی تقسیم بندی نمود. بخش بندی معنایی تصاویر یعنی تخمین کلاس برای هر پیکسل تصویر.

نحوه ناحیه بندی تصاویر ؟

ﺑﺨﺶﺑﻨﺪی ﺗﺼﻮﯾﺮ اوﻟﯿﻦ ﻣﺮﺣﻠﻪ و ﺑﺤﺮاﻧﯽﺗﺮﯾﻦ ﻣﺮﺣﻠﻪ از آﻧﺎﻟﯿﺰ ﺗﺼﻮﯾﺮ ﻣﯽﺑﺎﺷﺪ ﮐﻪ ﻫﺪﻓﺶ اﺳﺘﺨﺮاج اﻃﻼﻋﺎت داﺧﻞ ﺗﺼﻮﯾﺮﻣﺎﻧﻨﺪ (ﻟﺒﻪﻫﺎ ، ﻧﻤﺎﻫﺎ و ﻫﻮﯾﺖ ﻫﺮ ﯾﮏ از ﻧﻮاﺣﯽ) ﻣﯽﺑﺎﺷﺪﮐﻪ از ﻃﺮﯾﻖ ﺗﻮﺻﯿﻒ، ﻧﺎﺣﯿﻪﻫﺎی ﺑﺪﺳﺖ آﻣﺪه را ﺑﺮای ﮐﺎﻫﺶ آﻧﻬﺎ ﺑﻪ ﺷﮑﻞ ﻣﻨﺎﺳﺐ ﺑﺮای ﭘﺮدازش ﮐﺎﻣﭙﯿﻮﺗﺮ و ﺗﺸﺨﯿﺺ ﻫﺮ ﯾﮏ از ﻧﻮاﺣﯽ آﻣﺎده ﻣﯽﮐﻨﺪ.نتیجه بخش بندی ﺗﺎﺛﯿﺮ ﻗﺎﺑﻞ ملاحظه ای ﺑﺮ دﻗﺖ ارزﯾﺎﺑﯽ وﯾﮋﮔﯽﻫﺎﺧﻮاﻫﺪ داﺷﺖ ..ﺑﺨﺶﺑﻨﺪی اﻏﻠﺐ ﺷﺮح ﻓﺮآﯾﻨﺪ ﺗﻘﺴﯿﻢ ﺗﺼﻮﯾﺮ ﺑﻪ  اﺟﺰاء اﺻﻠﯽ و اﺳﺘﺨﺮاج ﻗﺴﻤﺘﻬﺎی ﻣﻮرد ﻋﻼﻗﻪ  اﺷﯿﺎء ﻣﯽﺑﺎﺷﺪ. بخش بندی یکی از مشکل ترین مباحث در پردازش تصویراست که در موفقیت عمل تحلیل تصویر بسیار موثر است. برای بخش بندی تصویر روشهای مختلفی وجود دارد که می توان انهارا به دو دسته روشهای مبتنی بر هیستوگرام(based -Histogram ) و روشهای مبتنی بر خوشه بندی(Clustering-Based) تقسیم کرد. که البته هر کدام از این دو روش دارای زیر مجموعه هایی نیز می باشند. در روشهای مبتنی بر هیستوگرام، بخش بندی تصاویر براساس توزیع پیکسلها صورت می گیرد. قدم اصلی در این روشها یافتن سطح استانه ای مناسب برای اعمال به تصویر میباشد. در روشهای مبتنی بر خوشه بندی برای گروه بندی کردن داده ها از شباهتها و روابط موجود بین آنها استفاده می شود. در این روشها داده ها به نحوی گروه بندی می شوند تا انهایی که در داخل یک بخش قرار می گیرند دارای بیشترین شباهت به هم باشند. کاربردهای زیرا می توان برای ناحیه بندی ذکر کرد:

 

ادامه مطلب ...

آموزش یادگیری عمیق با پایتورچ

علاقه مندان به حوزه یادگیری عمیق با پایتون می توانند به آدرس kambiz.tabatabaei@gmail.com پیام خود را ارسال فرمایند.

Pytorch VS Tensorflow

در این مقاله قصد برآن است که فرض گرفته شود شما کار یادگیری عمیق را شروع کرده اید و یا در فکر شروع کردن آن هستید و بر سر دوراهی قرار گرفته اید که از کدام کتابخانه برای انجام پروژه هایتان استفاده کنید،  تنسورفلو و پایتورچ هردو کتابخانه های مشهور یادگیری عمیق هستند و شما صراحتا نمی توانید به تفاوت آن دو پی ببرید، بنابراین در اینجا 5 نکته در مورد این دو کتابخانه بیان شده است:

1- هر دوی اینها کتابخانه های open source هستند تنسورفلو توسط گوگل و پایتورچ توسط فیس بوک توسعه داده شده اند.

2- مهمترین اختلاف میان این دو فریم ورک تعیین گراف محاسباتی است، وقتی تنسورفلو یک گراف ایستا را ساخت پایتورچ معتقد به ساخت گراف محاسباتی پویا بودولی این به چه معنا هست؟ در تنسورفلو در ابتدا باید کل گراف محاسباتی ترسیم شود اما در پایتورچ در حین پیمودن مسیر(مخصوصا در زمانی که در شبکه های RNN ورودی های متغیر وجود دارند خیلی مفید است.)

3- پایتورچ نسبت به تنسورفلو خیلی پایتونیک تر است به عبارت دیگر برای استفاده از تنسورفلو شما باید یک کم بیشتر در مورد نحوه کار آن بیاموزید که نسبت به پایتورچ سخت تر است.

4- انجمن بزرگتری در پشت تنسورفلو نسبت به پایتورچ(بعلت نو بودن پایتورچ)قرار دارد، از این رو یافتن منابع آموزشی برای تنسورفلو نسبت به پایتورچ ساده تر است.

5-مقایسه های ذکر شده بدون ذکر TensorBoard ناقص خواهند بود، TensorBoard یک ابزار درخشان برای ایجاد امکان مجسم سازی مدل یادگیری ماشین شما هست که پایتورچ چنین ابزاری را ندارد، اگرچه شما می توانید از ابزاری مانند Matplotlib استفاده کنید و همچنین به شما این اجازه را خواهد داد که از TensorBoardدر پایتورچ استفاده کنید اما ذاتا از آن پشتیبانی نمی کند.


منبع:اینجا را کلیک کنید.

Marvin Lee Minsky

Marvin Lee Minsky

پدر هوش مصنوعی در سال 1927 در شهر نیویورک در یک خانواده یهودی بدنیا آمد، پدرش یک جراح چشم بود، او در ابتدا به مدرسه اخلاق مانهاتن و سپس به دبیرستان برونکس رفت و در نهایت در آکادمی فیلیپس مشغول به تحصیل شد، در دوران جوانی شیفته الکترونیک شد، به فاصله سالهای 1944 تا 1945 در نیروی دریایی ایالت متحده خدمت نمود ومدرک لیسانس ریاضیات را از دانشگاه هاروارد و سپس مدرک دکترای همان رشته را از دانشگاه پرینستون اخذ نمود، و از سال 1958 تا پایان عمرش در دانشگاه MIT مشغول بکار شد و آزمایشگاه هوش مصنوعی و دانشکده علوم کامپیوتر را در موسسه فناوری ماساچوست بنیان نهاد، از اختراعات او می توان به عینک سه بعدی گرافیکی و میکروسکوپ کانفوکال اشاره نمود.

ادامه مطلب ...