معرفی ابزار pytesseract
این پکیج یه پل ارتباطی در پایتون برای استفاده از موتور قدرتمند پردازش تصویر Tesseract (که توسط گوگل توسعه داده میشه) هست. کار اصلیش استخراج متن از تصویر است. یعنی شما یک عکس حاوی نوشته رو بهش میدین و اون تمام کلمات و جملات داخلش رو در قالب یک رشته متنی به شما تحویل میده.
کاربردهای این ابزار فوق العاده جذاب و متنوعه. ۱. سیستمهای پلاکخوان پارکینگها و دوربینهای ترافیکی.۲. اتوماسیون اداری برای خواندن فرمها، فاکتورها و رسیدها.۳. استخراج اطلاعات از کارت ملی و پاسپورت در سامانههای احراز هویت.۴. دیجیتالی کردن بایگانیهای کاغذی.
این پکیج یه پل ارتباطی در پایتون برای استفاده از موتور قدرتمند پردازش تصویر Tesseract (که توسط گوگل توسعه داده میشه) هست. کار اصلیش استخراج متن از تصویر است. یعنی شما یک عکس حاوی نوشته رو بهش میدین و اون تمام کلمات و جملات داخلش رو در قالب یک رشته متنی به شما تحویل میده.
کاربردهای این ابزار فوق العاده جذاب و متنوعه. ۱. سیستمهای پلاکخوان پارکینگها و دوربینهای ترافیکی.۲. اتوماسیون اداری برای خواندن فرمها، فاکتورها و رسیدها.۳. استخراج اطلاعات از کارت ملی و پاسپورت در سامانههای احراز هویت.۴. دیجیتالی کردن بایگانیهای کاغذی.
۵۶۰
۱۰:۰۲
آغاز پیشثبتنام دوره آنلاین ماشین لرنینگ پایه
مدرس: دکتر فرشید شیرافکنبستر برگزاری: گوگل میت
اطلاعات برگزاری:
تعداد جلسات: هفت جلسه دو ساعتی (هر جلسه 100دقیقه مفید)
روزهای کلاس:یکشنبهها و سهشنبهها
ساعت کلاس:8 شب
تاریخ شروع: 30 تیر
سرفصلهای دوره:۱- مقدمه - کار با پانداز، نام پای و مت پلات لیب۲- رگرسیون و ارزیابی آن۳- گرادیان کاهشی و انجام پروژه عملی۴- کلاسیفیکیشن با رگرسیون لجستیک۵- کلاسیفیکیشن با KNN - معیارهای دستهبندی۶- کلاسیفیکیشن با اس وی ام - کرنل۷- انجام پروژه عملی پایانی
پیشنیاز : لطفاً تا قبل از شروع دوره، حتماً دستورات کاربردی پایتون را یاد بگیرید تا در طول کلاسها به مشکل نخورید.
شرایط شهریه و پرداخت:مبلغ کل دوره بعد از پنجاه درصد تخفيف: چهار میلیون و چهارصد هزار تومانامکان پرداخت در دو مرحله هم فراهم شده است:پرداخت اول: یک میلیون و چهارصد هزار تومان (هنگام ثبتنام)پرداخت دوم: سه میلیون تومان (تا تاریخ 25 تیر)
از بین متقاضیان عزیز تعدادی از علاقمندان واقعی را با یه مصاحبه کوچولو انتخاب می کنم.
مدرس: دکتر فرشید شیرافکنبستر برگزاری: گوگل میت
اطلاعات برگزاری:
پیشنیاز : لطفاً تا قبل از شروع دوره، حتماً دستورات کاربردی پایتون را یاد بگیرید تا در طول کلاسها به مشکل نخورید.
شرایط شهریه و پرداخت:مبلغ کل دوره بعد از پنجاه درصد تخفيف: چهار میلیون و چهارصد هزار تومانامکان پرداخت در دو مرحله هم فراهم شده است:پرداخت اول: یک میلیون و چهارصد هزار تومان (هنگام ثبتنام)پرداخت دوم: سه میلیون تومان (تا تاریخ 25 تیر)
از بین متقاضیان عزیز تعدادی از علاقمندان واقعی را با یه مصاحبه کوچولو انتخاب می کنم.
۶۴۲
۱۱:۴۲
بخش اول ساعت 7 تا 8 شب : ماشین لرنینگشامل: پیش نیازها، تفاوت یادگیری با نظارت و بدون نظارت ، رگرسیون، دسته بندی، کلاسترینگ، ارزیابی مدل ها.....بخش دوم: ساعت 8 تا 9:30شب : دیپ لرنینگشامل: پرسپترون، شبکههای عصبی، بینایی ماشین و درک تصاویر با CNN ، پیشبینی آینده با پردازش سریهای زمانی و انقلاب ترنسفورمرها و مدلهای زبانی بزرگ (LLMs). ....بخش سوم : 9:30 تا 10 شب : پرسش و پاسخ در رابطه با منابع و دورههای آموزشی.
۵۱۲
۹:۱۱
درک بینایی ماشین: کرنل یا فیلتر در شبکههای عصبی چگونه کار میکند؟
شاید برایتان سوال شده باشد که شبکههای عصبی کانولوشنی چگونه الگوهای درون یک تصویر را تشخیص میدهند. کلید این کار در مفهومی به نام کرنل یا فیلتر نهفته است. در این تصویر، این فرایند به سادهترین و ملموسترین شکل ممکن نشان داده شده است.
به تصویر نگاه کنید. در سمت چپ، یک تصویر ورودی شبکهبندی شده داریم که در آن یک مربع توخالی و چند خط پراکنده دیده میشود. ما میخواهیم شبکه عصبی این مربع توخالی را پیدا کند. برای این کار، شبکه در لایه اول از دو فیلتر پایه استفاده میکند.
فیلتر پایین یعنی f_1 به گونهای تنظیم شده است که فقط به دنبال خطوط عمودی میگردد. فیلتر بالا یعنی f_2 تنها خطوط افقی را جستجو میکند. وقتی این فیلترها روی تصویر اصلی حرکت میکنند، هر کدام یک نقشه ویژگی جدید میسازند که نشان میدهد خطوط عمودی و افقی دقیقاً کجا قرار دارند. این دو خروجی در بخش میانی تصویر مشخص هستند.
جادوی اصلی در مرحله بعدی اتفاق میافتد. شبکه عصبی حالا به جای تصویر اصلی خام، یک فیلتر جدید به نام فیلتر تنسوری را روی این دو نقشه ویژگی اعمال میکند. این فیلتر جدید به دنبال ترکیبی از خطوط افقی و عمودی میگردد که در کنار هم یک مربع توخالی را میسازند.
نتیجه نهایی در تصویر سمت راست مشخص است. شبکه توانسته از بین تمام پیکسلها، دقیقاً مکان آن الگو را پیدا کرده و تنها یک خانه را روشن کند. به همین سادگی، شبکههای عصبی یاد میگیرند که با استخراج و ترکیب الگوهای بسیار ساده مانند خطوط، به درک اشکال و مفاهیم پیچیده برسند.
این تصویر از اموزش دانشگاه MIT برداشته شده و فایل کامل پی دی اف فصل شبکه های عصبی کانولوشنی را بعد از این پست قرار دادم
شاید برایتان سوال شده باشد که شبکههای عصبی کانولوشنی چگونه الگوهای درون یک تصویر را تشخیص میدهند. کلید این کار در مفهومی به نام کرنل یا فیلتر نهفته است. در این تصویر، این فرایند به سادهترین و ملموسترین شکل ممکن نشان داده شده است.
به تصویر نگاه کنید. در سمت چپ، یک تصویر ورودی شبکهبندی شده داریم که در آن یک مربع توخالی و چند خط پراکنده دیده میشود. ما میخواهیم شبکه عصبی این مربع توخالی را پیدا کند. برای این کار، شبکه در لایه اول از دو فیلتر پایه استفاده میکند.
فیلتر پایین یعنی f_1 به گونهای تنظیم شده است که فقط به دنبال خطوط عمودی میگردد. فیلتر بالا یعنی f_2 تنها خطوط افقی را جستجو میکند. وقتی این فیلترها روی تصویر اصلی حرکت میکنند، هر کدام یک نقشه ویژگی جدید میسازند که نشان میدهد خطوط عمودی و افقی دقیقاً کجا قرار دارند. این دو خروجی در بخش میانی تصویر مشخص هستند.
جادوی اصلی در مرحله بعدی اتفاق میافتد. شبکه عصبی حالا به جای تصویر اصلی خام، یک فیلتر جدید به نام فیلتر تنسوری را روی این دو نقشه ویژگی اعمال میکند. این فیلتر جدید به دنبال ترکیبی از خطوط افقی و عمودی میگردد که در کنار هم یک مربع توخالی را میسازند.
نتیجه نهایی در تصویر سمت راست مشخص است. شبکه توانسته از بین تمام پیکسلها، دقیقاً مکان آن الگو را پیدا کرده و تنها یک خانه را روشن کند. به همین سادگی، شبکههای عصبی یاد میگیرند که با استخراج و ترکیب الگوهای بسیار ساده مانند خطوط، به درک اشکال و مفاهیم پیچیده برسند.
این تصویر از اموزش دانشگاه MIT برداشته شده و فایل کامل پی دی اف فصل شبکه های عصبی کانولوشنی را بعد از این پست قرار دادم
۵۴۴
۹:۲۴
notes_chapter_Convolutional_Neural_Networks.pdf
۳۷۹.۹۳ کیلوبایت
فصل CNN از آموزش دانشگاه MIT . خیلی مختصر و ساده آموزش داده
۶۴۸
۹:۲۸
خلاصهی تاریخچه معماریهای CNN
LeNet-5 (سال ۱۹۹۸): این شبکه پیشگام CNNها بود و برای تشخیص ارقام دستنویس طراحی شد. ساختار اصلی آن یعنی «کانولوشن و سپس پولینگ» پایهگذار معماریهای بعدی شد.
AlexNet (سال ۲۰۱۲): این شبکه با برنده شدن در مسابقه ImageNet، انقلاب یادگیری عمیق را آغاز کرد. استفاده از GPU برای آموزش، تابع فعالسازی ReLU و روش Dropout از نوآوریهای کلیدی آن بود.
VGGNet (سال ۲۰۱۴): این معماری با استفاده انحصاری از فیلترهای بسیار کوچک (۳ در ۳) و چیدن آنها در لایههای عمیق (تا ۱۹ لایه)، نشان داد که «عمق» شبکه نقش حیاتی در قدرت یادگیری آن دارد.
GoogLeNet (سال ۲۰۱۴): این شبکه ماژولی به نام “Inception” را معرفی کرد که فیلترهایی با اندازههای مختلف را به صورت موازی پردازش میکرد. این کار باعث شد شبکه بدون افزایش شدید تعداد پارامترها، هم عمیق و هم عریض شود.
ResNet (سال ۲۰۱۵): با معرفی «اتصالات میانبر» (Skip Connections)، مشکل یادگیری در شبکههای بسیار عمیق را حل کرد و امکان ساخت شبکههایی با صدها لایه را فراهم نمود.
DenseNet (سال ۲۰۱۷): در این معماری، هر لایه به تمام لایههای بعدی خود متصل میشد. این کار جریان اطلاعات در شبکه را به حداکثر رساند و باعث استفاده بهینه از ویژگیها شد.
MobileNet (سال ۲۰۱۷): این شبکه به طور خاص برای دستگاههای موبایل و سیستمهای با قدرت پردازش کم طراحی شد و با روشی هوشمندانه، حجم محاسبات را به شدت کاهش داد.
EfficientNet (سال ۲۰۱۹): این مدل یک روش بهینه برای مقیاسبندی همزمان عمق، عرض و رزولوشن ورودی شبکه معرفی کرد که به کارایی و دقت بسیار بالایی دست یافت.
ConvNeXt (سال ۲۰۲۲): این شبکه با الهام گرفتن از معماریهای جدیدتر (ترنسفورمرها)، مدل ResNet را مدرنسازی کرد و ثابت کرد که CNNهای کلاسیک هنوز هم میتوانند با جدیدترین مدلها رقابت کنند.
دیشب کلاس آنلاین شبکه های عصبی کانولوشنی تمام شد و خدا را شکر شرکت کنندگان رضایت خوبی هم داشتند.
LeNet-5 (سال ۱۹۹۸): این شبکه پیشگام CNNها بود و برای تشخیص ارقام دستنویس طراحی شد. ساختار اصلی آن یعنی «کانولوشن و سپس پولینگ» پایهگذار معماریهای بعدی شد.
AlexNet (سال ۲۰۱۲): این شبکه با برنده شدن در مسابقه ImageNet، انقلاب یادگیری عمیق را آغاز کرد. استفاده از GPU برای آموزش، تابع فعالسازی ReLU و روش Dropout از نوآوریهای کلیدی آن بود.
VGGNet (سال ۲۰۱۴): این معماری با استفاده انحصاری از فیلترهای بسیار کوچک (۳ در ۳) و چیدن آنها در لایههای عمیق (تا ۱۹ لایه)، نشان داد که «عمق» شبکه نقش حیاتی در قدرت یادگیری آن دارد.
GoogLeNet (سال ۲۰۱۴): این شبکه ماژولی به نام “Inception” را معرفی کرد که فیلترهایی با اندازههای مختلف را به صورت موازی پردازش میکرد. این کار باعث شد شبکه بدون افزایش شدید تعداد پارامترها، هم عمیق و هم عریض شود.
ResNet (سال ۲۰۱۵): با معرفی «اتصالات میانبر» (Skip Connections)، مشکل یادگیری در شبکههای بسیار عمیق را حل کرد و امکان ساخت شبکههایی با صدها لایه را فراهم نمود.
DenseNet (سال ۲۰۱۷): در این معماری، هر لایه به تمام لایههای بعدی خود متصل میشد. این کار جریان اطلاعات در شبکه را به حداکثر رساند و باعث استفاده بهینه از ویژگیها شد.
MobileNet (سال ۲۰۱۷): این شبکه به طور خاص برای دستگاههای موبایل و سیستمهای با قدرت پردازش کم طراحی شد و با روشی هوشمندانه، حجم محاسبات را به شدت کاهش داد.
EfficientNet (سال ۲۰۱۹): این مدل یک روش بهینه برای مقیاسبندی همزمان عمق، عرض و رزولوشن ورودی شبکه معرفی کرد که به کارایی و دقت بسیار بالایی دست یافت.
ConvNeXt (سال ۲۰۲۲): این شبکه با الهام گرفتن از معماریهای جدیدتر (ترنسفورمرها)، مدل ResNet را مدرنسازی کرد و ثابت کرد که CNNهای کلاسیک هنوز هم میتوانند با جدیدترین مدلها رقابت کنند.
دیشب کلاس آنلاین شبکه های عصبی کانولوشنی تمام شد و خدا را شکر شرکت کنندگان رضایت خوبی هم داشتند.
۴۹۴
۷:۳۰
در پردازش تصویر، کرنل (یا فیلتر) یک ماتریس کوچک از اعداد است که روی تصویر حرکت میکند تا اثری خاص مانند محو کردن، واضح کردن یا تشخیص لبهها را ایجاد کند.
در پردازش تصویر سنتی، این ماتریسها به صورت دستی توسط انسان طراحی میشوند، اما در شبکههای CNN، این مقادیر در طول فرآیند آموزش به صورت خودکار یاد گرفته میشوند. جالب اینجاست که لایههای اولیه یک CNN، خود به خود فیلترهایی را یاد میگیرند که بسیار شبیه به کرنلهای معروف سنتی هستند.
مهمترین کرنلها:
کرنل همانی (Identity): تصویر را بدون هیچ تغییری باقی میگذارد.
کرنلهای تشخیص لبه (مانند Sobel و Prewitt): برای پیدا کردن مرزها و خطوط عمودی و افقی در تصویر استفاده میشوند.
کرنل لاپلاسین (Laplacian): نوع دیگری از تشخیصدهنده لبه است که به لبهها در تمام جهات حساس است.
کرنلهای محو کننده (مانند Gaussian Blur): برای نرم کردن تصویر و حذف نویز به کار میروند.
کرنل واضح کننده (Sharpening): تضاد (کنتراست) در لبهها را افزایش داده و تصویر را واضحتر میکند.
کرنل برجستهسازی (Emboss): به تصویر حالتی سهبعدی و برجسته میدهد.
ارتباط با CNN: شبکههایی مانند ResNet با کرنلهای تصادفی شروع به کار میکنند و در حین آموزش، لایههای اولیه آنها به طور خودکار یاد میگیرند که چگونه ویژگیهای پایهای مانند لبهها و بافتها را (مشابه کاری که کرنل Sobel انجام میدهد) استخراج کنند. سپس لایههای عمیقتر این اطلاعات اولیه را با هم ترکیب کرده تا اشیاء پیچیدهتر را تشخیص دهند.
در پردازش تصویر سنتی، این ماتریسها به صورت دستی توسط انسان طراحی میشوند، اما در شبکههای CNN، این مقادیر در طول فرآیند آموزش به صورت خودکار یاد گرفته میشوند. جالب اینجاست که لایههای اولیه یک CNN، خود به خود فیلترهایی را یاد میگیرند که بسیار شبیه به کرنلهای معروف سنتی هستند.
مهمترین کرنلها:
کرنل همانی (Identity): تصویر را بدون هیچ تغییری باقی میگذارد.
کرنلهای تشخیص لبه (مانند Sobel و Prewitt): برای پیدا کردن مرزها و خطوط عمودی و افقی در تصویر استفاده میشوند.
کرنل لاپلاسین (Laplacian): نوع دیگری از تشخیصدهنده لبه است که به لبهها در تمام جهات حساس است.
کرنلهای محو کننده (مانند Gaussian Blur): برای نرم کردن تصویر و حذف نویز به کار میروند.
کرنل واضح کننده (Sharpening): تضاد (کنتراست) در لبهها را افزایش داده و تصویر را واضحتر میکند.
کرنل برجستهسازی (Emboss): به تصویر حالتی سهبعدی و برجسته میدهد.
ارتباط با CNN: شبکههایی مانند ResNet با کرنلهای تصادفی شروع به کار میکنند و در حین آموزش، لایههای اولیه آنها به طور خودکار یاد میگیرند که چگونه ویژگیهای پایهای مانند لبهها و بافتها را (مشابه کاری که کرنل Sobel انجام میدهد) استخراج کنند. سپس لایههای عمیقتر این اطلاعات اولیه را با هم ترکیب کرده تا اشیاء پیچیدهتر را تشخیص دهند.
۵۳۶
۷:۳۳
۶۴۰
۷:۳۳