آموزش Computer Vision: Python OCR & Object Detection Starter Quick

Computer Vision: Python OCR & Object Detection Quick Starter

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: استارت سریع برای تشخیص نویسه نوری، تشخیص اشیاء با تشخیص تصویر و تشخیص اشیاء با استفاده از تشخیص نویسه نوری پایتون با کتابخانه Tesseract، تشخیص تصویر با استفاده از Keras، تشخیص اشیا با استفاده از MobileNet SSD، Mask R-CNN، YOLO، Tiny Imagengngngtition Recognition Recognition و Tiny YOLO پیش نیازها: یک کامپیوتر پیکربندی مناسب (ترجیحاً ویندوز) و اشتیاق برای شیرجه زدن به دنیای OCR، تصویر و تشخیص اشیا با استفاده از پایتون

سلام!


به دوره جدید من 'تشخیص کاراکترهای نوری و شروع سریع تشخیص اشیا با پایتون' ​​خوش آمدید. این سومین دوره از سری کامپیوتر ویژن من است.


تشخیص تصویر، تشخیص اشیا، تشخیص اشیا و همچنین تشخیص کاراکتر نوری از جمله پرکاربردترین برنامه های بینایی کامپیوتر هستند.


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


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


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


بیایید اکنون فهرستی از موضوعات جالبی که در این دوره گنجانده شده است را ببینیم.


در ابتدا یک جلسه تئوری مقدماتی در مورد فناوری تشخیص کاراکتر نوری خواهیم داشت.


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


ممکن است اکثر شما از پس زمینه برنامه نویسی مبتنی بر پایتون نباشید. چند جلسه و مثال های بعدی به شما کمک می کند تا مهارت اصلی برنامه نویسی پایتون را برای ادامه جلسات موجود در این دوره کسب کنید. موضوعات شامل تخصیص پایتون، کنترل جریان، توابع و ساختارهای داده است.


سپس وابستگی‌ها و کتابخانه‌هایی را که برای انجام تشخیص کاراکتر نوری نیاز داریم، نصب می‌کنیم. ما از کتابخانه Tesseract برای انجام OCR استفاده می کنیم. ابتدا کتابخانه و سپس پیوندهای پایتون آن را نصب می کنیم. همچنین OpenCV را که کتابخانه Open Source Computer Vision در پایتون است نصب خواهیم کرد.


ما همچنین کتابخانه Pillow را که کتابخانه تصویر پایتون است نصب خواهیم کرد. سپس مقدمه ای بر مراحل تشخیص کاراکتر نوری خواهیم داشت و در ادامه به کدنویسی و اجرای برنامه OCR می پردازیم. ما از چند نمونه تصویر برای انجام آزمایش تشخیص کاراکتر استفاده خواهیم کرد و نتایج را تأیید خواهیم کرد.


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


سپس به نصب کتابخانه Keras که از آن برای انجام تشخیص تصویر استفاده خواهیم کرد، ادامه خواهیم داد. ما از مدل های داخلی و از پیش آموزش دیده ای که در Keras موجود است استفاده خواهیم کرد. کد پایه در پایتون نیز در اسناد Keras ارائه شده است.


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


سپس ما مدل از پیش آموزش دیده ResNet را که با کتابخانه Keras ارائه شده است امتحان خواهیم کرد. ما مدل را در کد قرار می دهیم و سپس با چند نمونه نمونه سعی می کنیم پیش بینی ها را بررسی کنیم.


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


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


در ابتدا مقدمه ای بر MobileNet-SSD Pre-trained Model خواهیم داشت، که یک آشکارساز تک شات است که قادر به تشخیص چندین شی در یک صحنه است. همچنین در مورد مجموعه داده ای که برای آموزش این مدل استفاده می شود، بحث خواهیم کرد.


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


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


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


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


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


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


سپس با استفاده از Mask-RCNN به شناسایی شی از یک ویدیوی زنده ادامه خواهیم داد. ما ویدیوی زنده بی‌درنگ را از وب‌کم رایانه پخش خواهیم کرد و سعی خواهیم کرد اشیا را از آن تشخیص دهیم. ما ماسک را روی محیط هر شی شناسایی شده در ویدیوی زنده به همراه برچسب و اطمینان ترسیم می کنیم.


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


Mask-RCNN با فهرست کلاس‌های گسترده بسیار دقیق است، اما در پردازش تصاویر با استفاده از رایانه‌های مبتنی بر CPU کم توان بسیار کند خواهد بود. MobileNet-SSD سریع است اما دقت کمتری دارد و از نظر تعداد کلاس کم است. ما به ترکیبی عالی از سرعت و دقت نیاز داریم که ما را با استفاده از مدل از پیش آموزش دیده YOLO به تشخیص و تشخیص اشیاء ببرد. در جلسه بعدی یک مرور کلی در مورد مدل yolo خواهیم داشت و سپس تشخیص شی yolo را از یک تصویر واحد اجرا خواهیم کرد.


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


برای بهبود بیشتر سرعت فریم‌های پردازش شده، از مدلی به نام Tiny YOLO استفاده خواهیم کرد که یک نسخه سبک وزن از مدل واقعی yolo است. ما ابتدا از yolo کوچک برای ویدیوی از پیش ذخیره شده استفاده می کنیم و دقت و سرعت را تجزیه و تحلیل می کنیم و سپس همین کار را برای یک ویدیوی بلادرنگ از وب کم امتحان می کنیم و تفاوت عملکرد را در مقایسه با یولو واقعی مشاهده می کنیم.


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


همچنین پس از اتمام این دوره، گواهی پایان دوره به شما ارائه می شود که ارزش افزوده ای به مجموعه شما خواهد داشت.


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


سرفصل ها و درس ها

معرفی دوره و فهرست مطالب Course Introduction and Table of Contents

  • معرفی دوره و فهرست مطالب Course Introduction and Table of Contents

مقدمه ای بر مفاهیم OCR و کتابخانه ها Introduction to OCR Concepts and Libraries

  • مقدمه ای بر مفاهیم OCR و کتابخانه ها Introduction to OCR Concepts and Libraries

تنظیم محیط - آناکوندا Setting up Environment - Anaconda

  • تنظیم محیط - آناکوندا Setting up Environment - Anaconda

اصول پایتون (اختیاری) Python Basics (Optional)

  • مبانی پایتون - قسمت 1 - تکلیف Python Basics - Part 1 - Assignment

  • اصول پایتون - قسمت 2 - کنترل جریان Python Basics - Part 2 - Flow Control

  • مبانی پایتون - قسمت 3 - ساختارهای داده Python Basics - Part 3 - Data Structures

  • اصول پایتون - قسمت 4 - توابع Python Basics - Part 4 - Functions

تنظیم OCR Tesseract Tesseract OCR Setup

  • Tesseract OCR Setup - قسمت 1 Tesseract OCR Setup - Part 1

  • Tesseract OCR Setup - Part 2 Tesseract OCR Setup - Part 2

راه اندازی OpenCV OpenCV Setup

  • راه اندازی OpenCV OpenCV Setup

پیاده سازی OCR تصویر Tesseract Tesseract Image OCR Implementation

  • اجرای OCR تصویر Tesseract - قسمت 1 Tesseract Image OCR Implementation - Part 1

  • اجرای OCR تصویر Tesseract - قسمت 2 Tesseract Image OCR Implementation - Part 2

اختیاری: cv2.imshow() پاسخ نمی دهد رفع مشکل Optional: cv2.imshow() Not Responding Issue Fix

  • اختیاری: cv2.imshow() پاسخ نمی دهد رفع مشکل Optional: cv2.imshow() Not Responding Issue Fix

  • رفع اختیاری 2: ()cv2.imshow پاسخ نمی دهد Optional Fix 2: cv2.imshow() Not Responding

اختیاری: متن OCR در کنسول چاپ نمی شود Optional: OCR Text not printing in console

  • رفع چاپ نشدن متن در کنسول Fix text not printing in console

مقدمه ای بر CNN - شبکه های عصبی کانولوشن - جلسه تئوری Introduction to CNN - Convolutional Neural Networks - Theory Session

  • مقدمه ای بر CNN - شبکه های عصبی کانولوشن - جلسه تئوری Introduction to CNN - Convolutional Neural Networks - Theory Session

نصب وابستگی های اضافی برای CNN Installing Additional Dependencies for CNN

  • رفع: اگر «conda install» حل نشد Fix: if 'conda install' fails to resolve

  • نصب وابستگی های اضافی برای CNN Installing Additional Dependencies for CNN

  • راه حل مهم: "ImportError: Keras به TensorFlow 2.2 یا بالاتر" سیستم عامل ویندوز نیاز دارد IMPORTANT FIX: "ImportError: Keras requires TensorFlow 2.2 or higher' Windows OS

مقدمه ای بر معماری VGGNet Introduction to VGGNet Architecture

  • مقدمه ای بر معماری VGGNet Introduction to VGGNet Architecture

تشخیص تصویر با استفاده از مدل VGGNet16 از قبل آموزش دیده Image Recognition using Pre-Trained VGGNet16 Model

  • تشخیص تصویر با استفاده از مدل VGGNet16 از قبل آموزش دیده - قسمت 1 Image Recognition using Pre-Trained VGGNet16 Model - Part 1

  • خطا: هیچ ماژولی با نام keras.applications وجود ندارد Error: No module named keras.applications

  • خطای واردات Keras یا خطای ماژول یافت نشد Keras Import Error OR Module Not Found Error

  • تشخیص تصویر با استفاده از مدل VGGNet16 از قبل آموزش دیده - قسمت 2 Image Recognition using Pre-Trained VGGNet16 Model - Part 2

  • رفع خطای TensorFlow "Module Not Found" (اختیاری) - فقط در صورت وجود خطا این کار را انجام دهید TensorFlow "Module Not Found" Error Fix (Optional) - Do ONLY if you have error

تشخیص تصویر با استفاده از مدل VGGNet19 از قبل آموزش دیده Image Recognition using Pre-Trained VGGNet19 Model

  • تشخیص تصویر با استفاده از مدل VGGNet19 از قبل آموزش دیده Image Recognition using Pre-Trained VGGNet19 Model

تشخیص تصویر با استفاده از مدل ResNet از پیش آموزش دیده Image Recognition using Pre-Trained ResNet Model

  • تشخیص تصویر با استفاده از مدل ResNet از پیش آموزش دیده Image Recognition using Pre-Trained ResNet Model

تشخیص تصویر با استفاده از مدل اولیه از قبل آموزش دیده Image Recognition using Pre-Trained Inception Model

  • تشخیص تصویر با استفاده از مدل اولیه از قبل آموزش دیده Image Recognition using Pre-Trained Inception Model

تشخیص تصویر با استفاده از مدل از پیش آموزش دیده Xception Image Recognition using Pre-Trained Xception Model

  • تشخیص تصویر با استفاده از مدل از پیش آموزش دیده Xception Image Recognition using Pre-Trained Xception Model

مقدمه ای بر مدل از پیش آموزش دیده MobileNet-SSD Introduction to MobileNet-SSD Pretrained Model

  • مقدمه ای بر مدل از پیش آموزش دیده MobileNet-SSD Introduction to MobileNet-SSD Pretrained Model

Mobilenet SSD تشخیص اشیاء Mobilenet SSD Object Detection

  • Mobilenet SSD Object Detection - قسمت 1 Mobilenet SSD Object Detection - Part 1

  • Mobilenet SSD Object Detection - قسمت 2 Mobilenet SSD Object Detection - Part 2

موبایل نت SSD فیلم بیدرنگ Mobilenet SSD Realtime Video

  • موبایل نت SSD فیلم بیدرنگ Mobilenet SSD Realtime Video

فیلم از پیش ذخیره شده موبایل نت SSD Mobilenet SSD Pre-saved Video

  • فیلم از پیش ذخیره شده موبایل نت SSD Mobilenet SSD Pre-saved Video

ماسک RCNN مدل از پیش آموزش دیده معرفی Mask RCNN Pre-trained model Introduction

  • ماسک RCNN مدل از پیش آموزش دیده معرفی Mask RCNN Pre-trained model Introduction

MaskRCNN Bounding Box پیاده سازی MaskRCNN Bounding Box Implementation

  • MaskRCNN Bounding Box Implementation - قسمت 1 MaskRCNN Bounding Box Implementation - Part 1

  • اجرای MaskRCNN Bounding Box - قسمت 2 MaskRCNN Bounding Box Implementation - Part 2

پیاده سازی ماسک شیء MaskRCNN MaskRCNN Object Mask Implementation

  • اجرای MaskRCNN Object Mask - قسمت 1 MaskRCNN Object Mask Implementation - Part 1

  • اجرای MaskRCNN Object Mask - قسمت 2 MaskRCNN Object Mask Implementation - Part 2

ویدیوی بلادرنگ MaskRCNN MaskRCNN Realtime Video

  • ویدیوی بلادرنگ MaskRCNN - قسمت 1 MaskRCNN Realtime Video - Part 1

  • MaskRCNN Realtime Video - قسمت 2 MaskRCNN Realtime Video - Part 2

ویدیوی از پیش ذخیره شده MaskRCNN MaskRCNN Pre-saved Video

  • ویدیوی از پیش ذخیره شده MaskRCNN MaskRCNN Pre-saved Video

معرفی مدل از پیش آموزش دیده YOLO YOLO Pre-trained Model Introduction

  • معرفی مدل از پیش آموزش دیده YOLO YOLO Pre-trained Model Introduction

پیاده سازی YOLO YOLO Implementation

  • پیاده سازی YOLO - قسمت 1 YOLO Implementation - Part 1

  • پیاده سازی YOLO - قسمت 2 YOLO Implementation - Part 2

  • خطا: ایندکس برای متغیر اسکالر نامعتبر است Error: invalid index to scalar variable

ویدیوی بی‌درنگ YOLO YOLO Real-time Video

  • ویدیوی بی‌درنگ YOLO YOLO Real-time Video

ویدیوی از پیش ذخیره شده YOLO YOLO Pre-saved Video

  • ویدیوی از پیش ذخیره شده YOLO YOLO Pre-saved Video

ویدیوی کوچک YOLO از پیش ذخیره شده Tiny YOLO Pre-saved Video

  • ویدیوی کوچک YOLO از پیش ذخیره شده Tiny YOLO Pre-saved Video

ویدیوی بی‌درنگ YOLO کوچک Tiny YOLO Real-time Video

  • ویدیوی بی‌درنگ YOLO کوچک Tiny YOLO Real-time Video

YOLOv4 - مرحله 1 - به روز رسانی نسخه OpenCV YOLOv4 - Step 1 - Updating OpenCV version

  • YOLOv4 - مرحله 1 - به روز رسانی نسخه OpenCV YOLOv4 - Step 1 - Updating OpenCV version

YOLOv4 - مرحله 2 - پیاده سازی تشخیص شی YOLOv4 - Step 2 - Object Recognition Implementation

  • YOLOv4 - مرحله 2 - پیاده سازی تشخیص شی YOLOv4 - Step 2 - Object Recognition Implementation

کد منبع و فایل های پیوست شده است SOURCE CODE AND FILES ATTACHED

  • کد منبع و فایل های پیوست شده است SOURCE CODE AND FILES ATTACHED

نمایش نظرات

آموزش Computer Vision: Python OCR & Object Detection Starter Quick
جزییات دوره
4.5 hours
53
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,981
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Abhilash Nelson Abhilash Nelson

استاد و برنامه نویس ارشد مهندسی کامپیوتر در دبی من یک پیشگام ، با استعداد و امنیت گرا Android/iOS Mobile و PHP/Python Web Developer Application Developer با بیش از هشت سال تجربه کلی فناوری اطلاعات که شامل طراحی ، پیاده سازی ، یکپارچه سازی ، آزمایش و حمایت از تأثیر است برنامه های کامل وب و تلفن همراه. من دارنده مدرک کارشناسی ارشد کارشناسی ارشد در رشته علوم کامپیوتر و مهندسی هستم. تجربه من با برنامه نویسی PHP/Python یک مزیت اضافی برای برنامه های سرویس گیرنده Android و iOS مبتنی بر سرور است. من در حال حاضر تمام وقت به عنوان یک معمار ارشد راه حل مشغول به کار هستم که پروژه های مشتری خود را از ابتدا تا انتها مدیریت می کنم تا از طراحی با کیفیت ، ابتکاری و کاربردی اطمینان حاصل کنم.