آموزش پردازش تصویر و بینایی ماشین با opencv-python در سیستم عامل لینوکس

دوره آموزشی opencv-python شما را با تئوری و پیاده‌سازی الگوریتم‌های پردازش تصویر آشنا می‌کند تا با ترکیب این الگوریتم‌ها، پروژه‌های مختلف را پیاده‌سازی کنید و به توسعه سیستم‌های هوش مصنوعی بپردازید. در این دوره با ...

79 دانشجو
مقدماتی
محتوای دوره
پیش‌نیاز‌ها
درباره دوره
درباره استاد

آنچه در این دوره می‌آموزید

آشنایی با پردازش تصویر و بینایی ماشین

یادگیری زبان برنامه نویسی پایتون به همراه کتابخانه اپن سی وی

آشنایی با سیستم عامل لینوکس اوبونتو

آشنایی با آناکاندا ( تمامی کتابخانه‌های مربوط به پایتون)

محتوای دوره

9 فصل 40 جلسه 6 ساعت ویدیو
معرفی opencv-python و نصب نرم افزارهای لازم
ویژگی‌های Gui در OpenCV
انواع عملیات بر روی تصویر
پردازش تصویر
ویژگی‌های تصویر و تناظریابی آنها
ویدیو آنالیز
کالیبراسیون دوربین
بینایی ماشین
تشخیص شئ

پیش‌نیاز‌ها

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

درباره دوره

دوره آموزشی opencv-python شما را با تئوری و پیاده‌سازی الگوریتم‌های پردازش تصویر آشنا می‌کند تا با ترکیب این الگوریتم‌ها، پروژه‌های مختلف را پیاده‌سازی کنید و به توسعه سیستم‌های هوش مصنوعی بپردازید.

در این دوره با چه ابزارهایی آشنا خواهید شد؟

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

در اتمام این دوره، چه توانایی‌هایی به شما اضافه خواهد شد؟

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

پیش‌نیازهای این دوره چیست؟

داشتن دانش ابتدایی برنامه‌نویسی و همچنین آشنایی با زبان برنامه‌نویسی پایتون، یک پیش‌نیاز و مزیت برای گذراندن هر چه بهتر این دوره به حساب می‌آید. در این دوره تلاش شده تمام کدهای استفاده شده در این دوره را از ابتدا توضیح داده شود. همچنین مراحل نصب ابزارهای لازم نیز از ابتدا و به صورت عملی توضیح داده شده است.

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

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

پردازش تصویر چیست؟

پردازش تصویر (Image Processing) شاخه‌ای از پردازش سیگنال است که به دستکاری و بهبود تصاویر می‌پردازد. همان‌طور که می‌دانید، تصویر در یک رایانه، از تعدادی پیکسل تشکیل می‌شود. این پیکسل‌ها، ویژگی‌های مخصوص به خود (از جمله رنگ، سایه، تیرگی و غیره) را دارند که در کنار هم می‌توانند یک تصویر خاص را بسازند.

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

انواع پردازش تصویر

پردازش تصویر به اشکال مختلفی صورت می‌گیرد. از جمله:

•     تجسم

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

•     تشخیص

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

•     اصلاح و بازیابی

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

•     تشخیص الگو

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

•     بازیابی

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

پردازش تصویر و بینایی ماشین

یکی از مفاهیمی که در کنار پردازش تصویر مطرح می‌شود، بینایی ماشین یا machine vision است. بینایی ماشین نیز مبتنی بر پردازش تصویر است. به این معنا که تصاویری که از دوربین‌های مختلف یک سیستم هوشمند به‌دست می‌آید را تحلیل و پردازش خواهد کرد.

چرا به آموزش پردازش تصویر با لینوکس نیاز داریم؟

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

کاربردهای آموزش پردازش تصویر با linux چیست؟

برنامه‌های هوش مصنوعی و برنامه‌هایی که از سیستم بینایی ماشین برخوردار هستند، مهم‌ترین کاربردهای آموزش پردازش تصویر به شمار می‌آیند. در فهرست زیر، برخی از این سیستم‌ها عنوان شده‌اند.

 پردازش تصویر در سیستم‌های تشخیص و درمان پزشکی

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

پردازش تصویر در سیستم‌های سنجش ترافیک، ضبط پلاک، کنترل سرعت و غیره

در حوزه‌ی ترافیک به سیستم‌های پردازش ویدیوئی یا VIPS نیازمند هستیم. این سیستم‌ها قابلیت تشخیص یک شیء را دارند. به این ترتیب می‌توانند یک وسیله‌ی نقلیه‌ی خاص را دنبال کنند. 

 پردازش تصویر در سیستم‌های بازیابی تصویر (برای تصویرهای خراب و آسیب دیده)

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

پردازش تصویر در سیستم‌های تشخیص چهره

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

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

مزایای زیادی برای پردازش تصویر وجود دارد. برخی از این مزایا عبارتند از:

•     تهیه‌ی تصاویر با فرمت‌های دلخواه

•     کمک به تفسیر انسان و ماشین

•     استخراج اطلاعات از تصویر

•     دستکاری دلخواه پیکسل‌های تصویر

•     ذخیره و بازیابی تصاویر

•     انتقال آسان تصاویر

چطور درس پردازش تصویر را یاد بگیریم؟

در حوزه‌ی پردازش تصویر، زبان‌های برنامه نویسی زیادی از جمله متلب (Matlab)، پایتون (Python)، جاوا (java)، سی (C)، سی پلاس پلاس (c++‎) و سی شارپ (c#‎) مورد استفاده قرار می‌گیرد. از میان این زبان‌ها، پایتون و متلب برای پردازش تصویر محبوب‌تر هستند. بنابراین توصیه می‌شود تا در ابتدا یکی از این زبان‌ها را به‌خوبی یاد گرفته و مسلط شوید.

در مرحله‌ی بعد می‌توانید آموزش پردازش تصویر با متلب یا آموزش پردازش تصویر با پایتون را از منابع مختلف دنبال کنید. شما می‌توانید از کتاب‌های خودآموز، دوره‌های حضوری و آنلاین برای یادگیری این مطالب استفاده کنید. معمولاً در این دوره‌ها، کتابخانه‌های خاص و قدرتمندی که برای Image Processing نوشته شده است، آموزش داده می‌شود.

آموزش پردازش تصویر برای چه افرادی مناسب است؟

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

در دوره‌ی آموزشی پردازش تصویر در سیستم عامل لینوکس چه چیزهایی یاد می‌گیریم؟

در دوره‌ی آموزش پردازش تصویر با linux، هدف این است که کتابخانه‌های پرکاربرد، ضروری و مهم زبان برنامه نویسی پایتون (مانند کتابخانه‌های anaconda و opencv) را یاد بگیرید. این کتابخانه‌ها به شما کمک می‌کند تا قادر به پیاده‌سازی الگوریتم‌های پردازش تصویر باشید.

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

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

پیش نیازهای آموزش پردازش تصویر با لینوکس چیست؟

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

معرفی سرفصل‌های دوره‌ی آموزش پردازش تصویر با لینوکس

برخی از مباحثی که در این دوره مورد بررسی قرار می‌گیرند، در فهرست زیر آورده شده است.

•     مقدمه‌ای در رابطه با دوره و اهمیت آن

•     معرفی کتابخانه‌ی opencv پایتون برای پردازش تصویر

•     آموزش شیوه‌ی نصب opencv بر روی لینوکس اوبونتو

•     بارگذاری، نمایش، ذخیره و ترسیم اشکال هندسی

•     انواع عملیات حسابی روی تصویر

•     ایجاد حاشیه اطراف تصویر

•     تبدیل فضاهای رنگی تصویر

•     تبدیلات هندسی تصویر

•     آستانه‌گذاری تصویر

•     نرم کردن تصویر 

•     انواع مورفولوژی

•     محاسبات گرادیان و لاپلاسین تصویر

•     تشخیص لبه

•     پیرامید تصیر

•     کانتور

•     استخراج ویژگی‌های اشیاء با کانتور

•     هیستوگرام

•     جست‌وجو در تصویر

•     تشخیص دایره و خط

•     قطعه‌بندی تصویر

•     ویژگی‌های تصویر

•     تشخیص گوشه با استفاده از الگوریتم‌های مختلف

•     تناظریابی ویژگی‌ها

•     استخراج پیش زمینه در ویدیو

•     ردیابی شیء در ویدیو

•     کالیبراسیون دوربین

•     ایجاد اثرات سه بعدی روی تصویر

•     اپی پولار

•     استخراج عمق از تصویر دوبعدی

•     بینایی ماشین

•     تشخیص صورت و چشم

دوره‌ی آموزش پردازش تصویر با linux چقدر طول می‌کشد؟

دوره‌ی آموزش پردازش تصویر با linux، به ۶ ساعت ویدیوی آموزشی ختم می‌شود. البته زمان مورد نیاز برای تمرین‌های عملی و تسلط بر آموزش‌ها را نیز باید به این رقم اضافه کنید. هم‌چنین لازم به ذکر است که میزان تسلط شما بر موارد پیش نیاز، تأثیر قابل توجهی روی زمان آموزشی این دوره دارد.

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

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

آموزش پردازش تصویر با لینوکس به شما کمک می‌کند تا عملیات مربوط به دستکاری و پردازش تصاویر را در سیستم‌های هوشمند و بینایی ماشین، پیاده‌سازی کنید.

اطلاعات بیشتر

دوره‌های پیشنهادی

درباره استاد

فاطمه بخشی
فاطمه بخشی
1 دوره
79 دانشجو

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

اطلاعات بیشتر

سوالات پرتکرار

پس از سپری شدن زمان دوره، به محتوای دوره دسترسی خواهم داشت؟

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