آموزش جامع، کاربردی و پروژه محور پردازش تصویر ( YOLO / OPEN CV)

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

جدید
4 دانشجو
پیشرفته

مجید ذاکری

به‌روزرسانی: ۱۴۰۴/۰۵/۲۱

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

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

یاد می‌گیرید چطور یک تصویر را با OpenCV بخوانید و پردازش کنید.

با نحوه‌ی خواندن و ذخیره‌سازی ویدیو کار می‌کنید.

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

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

یاد می گیرید اگه خط تولیدی از کار افتاد یک آژیر صدا تولید کنیم.

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

محتوای دوره

7 فصل 27 جلسه 7 ساعت ویدیو
مقدمه و آماده سازی محیط
  پایه ی تصاویر
مشاهده
"07:31
  فایل‌های دوره
"00:03
  VS CODE چیه؟
مشاهده
"01:35
  نصب برنامه های مورد نیاز
"21:04
  خوندن تصویر
"08:22
  numpy چیه؟ و چرا مهمه؟
"14:25
آشنایی با ساختار تصویر و عملیات اولیه
پردازش پیشرفته تصویر
کار با ویدئو ها و پروژه ها
شروع کار با الگوریتم یولو
لیبل گذاری و آموزش مدل و تست مدل
جمع بندی و مسیر آینده

پیش‌نیاز‌ها

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

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

 آشنایی اولیه با برنامه‌نویسی (ترجیحاً پایتون)

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

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

 آشنایی ابتدایی با مفاهیم فایل، تصویر و ویدیو

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

حوصله‌ی یادگیری و آزمون و خطا

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

داشتن یک لپ‌تاپ یا کامپیوتر متوسط

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

 به‌صورت خلاصه اگه بخوام بگم

آشنایی با پایتون؟ ( پیشنهاد می‌شه در حد مقدماتی)
تجربه‌ی کار با تصویر؟ (لازم نیست همه چی آموزش داده می‌شه)
GPU یا سیستم قوی؟ (لازم نیست Google Colab کافیه)
تجربه‌ی پروژه‌؟ (لازم نیست با هم پروژه می‌زنیم)

درباره دوره

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

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

 چی قراره یاد بگیری؟

من مسیر رو این‌طور دیدم: اول باید بفهمیم تصویر دیجیتال اصلاً چیه. واقعاً کامپیوتر وقتی یک عکس رو باز می‌کنه، چی می بینه؟ چرا وقتی می‌گیم یک عکس قرمزه ، در حافظه فقط چند عدد دیده می‌شه؟ چرا NumPy این‌قدر مهمه ؟ چرا OpenCV محبوبه؟ همه‌ی این «چرا»ها را با هم جواب می‌دیم.

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

 اما اصل ماجرا کجاست؟

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

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

 
می‌خوای مدل هوش مصنوعی آموزش بدهی؟ YOLO داریم.
اگه دوست داری بدونی چطور یک مدل تشخیص اشیا (Object Detection) آموزش داده می‌شه ، من در این دوره از صفر تا صدش رو گفتم. از لیبل‌زدن با CVAT، تا آموزش مدل در Google Colab، تا تست روی تصویر واقعی. حتی اگه تا حالا یک خط کد هوش مصنوعی هم ننوشته باشی، با من همراه شو، از پسش برمیای ؛ حتی اگر سیستم ضعیفی داشته باشی.

 این دوره برای کیه؟

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

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

درباره استاد

مجید ذاکری
1 دوره
4 دانشجو

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

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

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

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

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