بینایی ماشین (Machine vision) یا بینایی کامپیوتر (Computer vision) چیست؟ در این مقدمه، به این سؤال و دو سؤال مهم دیگر زیر پاسخ خواهیم داد.
سؤال دوم: مخاطب این دوره چه افرادی هستند و چه پیشنیازهایی را باید بدانند؟
سؤال سوم: محتوای کلی دوره شامل چه مباحثی است؟
پاسخ سؤال اول:
تعریف "بینایی ماشین"
بینایی ماشین، شاخه ای از "یادگیری ماشین" (Machine learning) است که این موضوع نیز، شاخهای مهم از "هوش مصنوعی" (Artificial intelligence) میباشد. هوش مصنوعی نیز با مفهومی به نام "هوش طبیعی" (Natural intelligence) مرتبط است. با توجه به این ارتباط، بیاییم از تعریف هوش طبیعی شروع کرده و در نهایت به تعریف بینایی ماشین برسیم.
هوش طبیعی: به مجموعه قابلیتهای دریافت (Sensing) ، درک (Understanding)، یادگیری (Learning)، پردازش (Processing) و تصمیمگیری (Decision making) که در انسان و سایر موجودات وجود دارد، هوش طبیعی گفته میشود.
هوش مصنوعی : به تقلید (Mimic) (بخشی یا همه) قابلیت های هوش طبیعی توسط ماشین گفته می شود.
یادگیری ماشین: امروزه قسمت اعظم بهره گیری از هوش مصنوعی در قالب یادگیری ماشین انجام می شود که بخش یادگیری، برجسته است.
بینایی ماشین: همان یادگیری ماشین است که دادههای ورودی آن از جنس تصویر یا ویدئو میباشد.
امروزه همگان با اهمیت فوق العاده "هوش مصنوعی" آشنا هستیم. موضوعاتی مانند سامانههای پرسش و پاسخ متنی (ChatGPT، Bard و...)، تبدیل متن به تصویر یا ویدئو و... که بسیار پررونق شده و حتی وارد زندگی روزمره مردم عادی شده است. بسیاری از صاحبنظران، هوش مصنوعی را از ارکان مهم (و شاید مهمترین رکن) انقلاب صنعتی چهارم میدانند.
در تعاریف بالا، مشخص کردهایم که بینایی ماشین یکی از مهمترین موضوعات مطرح در هوش مصنوعی است. اغلب افراد، ناخودآگاه یا با علم و اطلاع، تجربهای در مورد سامانههای بینایی ماشین داشتهاند. برای رانندگانی که جریمه شدهاند، سامانههای تشخیص پلاک (که بر مبنای تصاویر گرفته شده توسط دوربینها، شماره پلاک را تشخیص میدهند) جزء دردآورترین سامانههاست. این سامانه، مثال واضحی از یک ماژول بینایی ماشین است. ماژولهای تشخیص و شناسایی چهره و یا تشخیص اثر انگشت، نمونههای دیگری از سامانههای بینایی ماشین بهشمار میروند.
تعریف دقیقتر بینایی ماشین در جلسه اول دوره، به تفصیل بیان میشود.پاسخ سؤال دوم:
مخاطبین دوره بینایی ماشین و پیشنیازهای لازم
یکی از ویژگیهای مهم این دوره، که آن را از خیلی دورههای مشابه، متمایز ساخته، وجود حداقل پیشنیاز لازم برای شروع دوره است. مشخصاً تنها پیشنیاز لازم، آشنایی با یک زبان برنامهنویسی شیء گرا (هر زبانی) و دارابودن دانش کلی در رابطه با مفاهیمی مثل کلاس، شیءگرایی، ارث بری و... میباشد. در این دوره با زبان برنامهنویسی Python و کتابخانههایی مانند Pytorch کار میکنیم و تقریبا همه موارد مربوط به برنامهنویسی با این دو ابزار و ابزارهای فرعی دیگر، در خود دوره آموزش داده میشود و لذا دانستن قبلی آنها، اجباری نیست. البته واضح است افرادی که با این نوع مفاهیم آشنا باشند میتوانند مطالب را سریعتر و عمیقتر بیاموزند.
ویژگی مهم دیگر این دوره، کاربردی بودن آن است. در ابتدای دوره، دو پروژه کاملا کاربردی و واقعی تعریف میکنیم و در طول دوره، این دو پروژه را از ابتدا تا انتها انجام میدهیم. این امر، استفاده کننده از دوره را قادر میسازد تا در انتهای دوره، بتواند پروژههای مشابهی در حوزه بینایی ماشین را انجام دهد.
البته لازم به ذکر است این توجه اساسی به کاربرد، باعث نشده است که از بیان تئوری های لازم، غافل شویم و در موارد متعدد، این تئوریها به نحو نسبتاً جامعی پوشش داده شده است.
وجود کمترین پیشنیازهای ممکن، منجر شده که مخاطبین این دوره، طیف وسیعی از دانشجویان و علاقهمندان باشند. دانشجویان رشتههای مهندسی و علوم کامپیوتر و همچنین فناوریاطلاعات (کارشناسی ترم 4 ام به بعد، کارشناسی ارشد و دکتری)، میتوانند از این دوره به نحو بسیار مناسبی استفاده کنند. به علاوه دانشجویان رشتههای دیگر فنی و علوم پایه که با موضوع برنامه نویسی شیء گرا آشنا هستند نیز میتوانند از دوره بهرهی لازم را ببرند.
پاسخ سؤال سوم:
محتوای کلی دوره
برای طراحی یک سامانهی بینایی ماشین، 5 مرحله آماده سازی داده (Data preparation)، طراحی مدل (Model design)، آموزش (Training)، ارزیابی (Evaluation) و بکارگیری (Deployment) را باید انجام دهیم. توضیح هر یک از این مراحل را در جلسه اول دوره آوردهایم و در اینجا به آن نمیپردازیم. در این دوره، دو پروژه عملیاتی ("تشخیص ارقام دست نویس" و "تشخیص چهره") تعریف شده و نحوه انجام این 5 مرحله، به تفصیل و به صورت کاملا کاربردی روی این دو موضوع، توضیح داده میشود. با توجه به آنکه امروزه تقریبا کلیه الگوریتمهای مطرح در بینایی ماشین مبتنی بر شبکههای عصبی عمیق (Deep neural networks) یا DNNها هستند، روی طراحی سامانههای بینایی ماشین در این حوزه، تمرکز خواهد شد.
در انتهای دوره، دو پروژه یادشده را به صورت کامل در اختیار خواهیم داشت. نکته مهم و قابل توجه آن است که در پپاده سازیهای انجام شده نکاتی مفید در مورد برنامه نویسی بهینه (بخصوص از نظر زمان اجرا) بیان کردیم و این امر منجر شده که هر دو پروژه، زمان اجرای بسیار مناسب و سریعی داشته باشند و بتوانند در کاربردهای واقعی مورد استفاده قرار گیرند.
سلام
من تصمیم به ثبت نام در دورهءِ شما را داشتم به همین دلیل ویدئویی معرفی را دیدم.
این دوره خیلی خوب و جامع هست برای کسانی که در حوزهء بینایی ماشین کار نکردند و تصمیم به یادگیری آن دارند.
ولی برای کسانی که در مقطع دکتری و ارشد در این حوزه کار کردند، کمی ضعیف هست، پیشنهاده من این هست پروژه سوم قرار دهید که فراتر از پروژه های باشد که دانشجویان ارشد و دکتریِ دانشگاه قم، در دانشگاه یاد گرفتند.
سلام
ممکن است در آینده دوره های پیشرفته هم منتشر و روی سایت قرار بگیرد
اگر بنا به برگزاری دوره باشد در کانال اطلاع رسانی خواهد شد
hjmu83