بینایی ماشین
ماشین چطور تصویر را میبیند و میفهمد؛ از پیکسل و فیلتر تا شبکهی کانولوشنی، تشخیص اشیا، خواندن نوشته و ساختن تصویر.
از صفر۱۴ ایستگاه۸۱ درسدرسها بهزودی
شروع: ماشین چطور میبیند۶ درس، بهزودی
پیش از هر الگوریتم، باید بدانید دیدن برای ماشین چه معنایی دارد و چرا اینقدر سخت است.
بینایی ماشین چیست بهزودی
شاخهای از هوش مصنوعی که به کامپیوتر یاد میدهد از عکس و ویدیو بفهمد چه چیزی کجاست.
تفاوت بینایی ماشین و پردازش تصویر بهزودی
پردازش تصویر عکس را به عکس دیگری تبدیل میکند (روشنتر، تیزتر)؛ بینایی ماشین از عکس معنی بیرون میکشد (این گربه است).
چرا دیدن برای ماشین سخت است بهزودی
یک گربه در نور، زاویه، اندازه و پسزمینهی متفاوت، جدول عددهای کاملا متفاوتی است.
چهار کار اصلی: دستهبندی، تشخیص، قطعهبندی، ساختن بهزودی
چه چیزی در عکس است، کجاست (با کادر)، دقیقا کدام پیکسلها مال آن است، و ساختن عکس تازه.
بینایی ماشین در صنعت، پزشکی، کشاورزی و زندگی روزمره بهزودی
بازرسی خط تولید، خواندن عکس پزشکی، شمردن میوه و تشخیص آفت، قفل چهرهی گوشی، اسکن سند و دوربین ترافیک.
تاریخچهی کوتاه بینایی ماشین بهزودی
از پروژهی تابستانی ۱۹۶۶ که «دیدن» را یک تابستان کار میپنداشت، تا خواندن رقم دستنویس (۱۹۹۸)، تشخیص چهرهی سریع (۲۰۰۱) و جهش ۲۰۱۲.
تصویر برای کامپیوتر۶ درس، بهزودی
همهی بینایی ماشین روی عدد است؛ اول باید دید عکس چطور عدد میشود.
پیکسل چیست بهزودی
کوچکترین خانهی یک تصویر دیجیتال با یک رنگ؛ عکس جدولی از پیکسلهاست، مثلا ۱۹۲۰ ستون در ۱۰۸۰ سطر.
رنگ در کامپیوتر: سه کانال قرمز، سبز، آبی بهزودی
هر پیکسل سه عدد از ۰ تا ۲۵۵ دارد؛ ترکیبشان حدود ۱۶٫۷ میلیون رنگ میسازد؛ عکس سیاه و سفید یک عدد.
- ماتریس و ضرب ماتریسدر مسیر یادگیری ماشین
وضوح و اندازهی تصویر بهزودی
تعداد پیکسلها؛ وضوح بیشتر جزئیات بیشتر، ولی حافظه و حساب بیشتر؛ مدلها معمولا عکس را کوچک میکنند.
فشردهسازی و قالب تصویر بهزودی
JPEG با کمی از دست دادن جزئیات حجم را کم میکند و PNG بی از دست دادن؛ اثر فشردهسازی مدل را هم گول میزند.
ویدیو: پشت سر هم عکس بهزودی
ویدیو دهها عکس در ثانیه است؛ بینایی ماشین یا هر قاب را جدا میبیند یا تغییر میان قابها را.
پردازش تصویر کلاسیک۹ درس، بهزودی
پیش از یادگیری عمیق، ابزارهای سادهای ساخته شد که هنوز همهجا به کار میروند؛ و ایدهی کانولوشن از همینجاست.
کانولوشن چیست بهزودی
یک جدول کوچک (هسته) روی تصویر سُر میخورد و در هر جا، حاصلضربهای خانه به خانه را جمع میکند؛ پایهی فیلترها و CNN.
فیلتر تصویر: محو، تیز، حذف نویز بهزودی
با هستههای مختلف کانولوشن، تصویر محو، تیز یا بینویز میشود؛ مثلا میانگین همسایهها برای محو کردن.
لبهیابی بهزودی
لبه جایی است که روشنایی تند عوض میشود؛ با مشتق تصویر (هستههای سادهی افقی و عمودی) پیدا میشود.
هیستوگرام تصویر بهزودی
نموداری که میگوید از هر روشنایی چند پیکسل هست؛ برای فهم و اصلاح نور و کنتراست.
آستانهگذاری: جدا کردن شیء از پسزمینه بهزودی
هر پیکسل روشنتر از یک عدد سفید و بقیه سیاه میشوند؛ آستانه را میشود خودکار از هیستوگرام پیدا کرد.
عملیات ریختشناسی: سایش و گسترش بهزودی
شکلهای سیاه و سفید را کمی نازک یا چاق میکند تا نقطههای نویز پاک و شکافها بسته شوند.
کانتور: دور یک شکل را پیدا کنیم بهزودی
مرز بستهی هر شکل در تصویر سیاه و سفید؛ برای شمردن، اندازه گرفتن و پیدا کردن شکل اشیا.
تغییر اندازه، چرخش و تصحیح پرسپکتیو بهزودی
عکس کج یک سند را صاف میکنیم با نگاشت چهار گوشهاش به یک مستطیل.
نقطههای ویژه و تطبیق دو عکس بهزودی
گوشهها و نقطههای متمایز را در دو عکس پیدا و جفت میکنیم؛ برای سرهم کردن عکس پانوراما و ردیابی.
شبکهی عصبی کانولوشنی (CNN)۸ درس، بهزودی
بهجای اینکه ما فیلتر طراحی کنیم، شبکه فیلترهای خودش را از داده یاد میگیرد؛ این همان جهش ۲۰۱۲ بود.
چرا شبکهی معمولی برای عکس خوب نیست بهزودی
یک عکس کوچک صدها هزار عدد است؛ شبکهی تماممتصل پارامتر بیاندازه میخواهد و نمیفهمد گربه در گوشه همان گربه در وسط است.
شبکهی عصبی کانولوشنی (CNN) چیست بهزودی
شبکهای که لایههایش کانولوشناند و هستههایش را از داده یاد میگیرد؛ همان هسته در همهجای عکس به کار میرود.
فیلترهای یادگرفته و نقشهی ویژگی بهزودی
هر هسته دنبال یک الگوست و خروجیاش یک نقشه است که میگوید آن الگو کجای عکس پیدا شد.
گام و حاشیه (Stride و Padding) بهزودی
گام میگوید هسته چند خانه بپرد و حاشیه، صفرهایی که دور عکس میگذاریم تا اندازه کم نشود.
ادغام (Pooling) بهزودی
از هر خانهی کوچک (مثلا ۲ در ۲) فقط بزرگترین یا میانگین را نگه میدارد؛ نقشه کوچکتر و حساب کمتر.
از لبه تا چهره: لایهها چه میبینند بهزودی
لایههای اول لبه و رنگ، لایههای میانی بافت و تکه، و لایههای آخر بخشهای کامل اشیا را میشناسند.
جهش ۲۰۱۲: وقتی CNN برنده شد بهزودی
در مسابقهی بزرگ دستهبندی عکس، یک CNN عمیق آموزشدیده روی GPU خطا را تقریبا ده درصد کمتر از بهترین روش قبلی کرد.
شبکههای خیلی عمیق و اتصال باقیمانده بهزودی
با اتصال میانبر (x + f(x)) شبکههای صد و چند لایه آموزشپذیر شدند (۲۰۱۵).
دستهبندی تصویر۶ درس، بهزودی
سادهترین کار اصلی بینایی، و جایی که همهی ترفندهای آموزش را عملا میبینیم.
طبقهبندی تصویر چیست بهزودی
مدل به کل عکس یک برچسب (یا احتمال هر برچسب) میدهد: «گربه، ۹۲٪».
- برچسب زدن دادهدر مسیر یادگیری ماشین
دادهافزایی بهزودی
از هر عکس با چرخاندن، بریدن، قرینه و تغییر نور نسخههای تازه میسازیم تا مدل با دادهی کم بهتر تعمیم دهد.
- یادگیری انتقالیدر مسیر یادگیری ماشین
سنجش دستهبند تصویر: دقت top-1 و top-5 بهزودی
جواب درست اولین حدس مدل است، یا میان پنج حدس اولش؛ کنار ماتریس درهمریختگی برای دیدن اینکه چه با چه قاطی میشود.
وقتی مدل چیز اشتباه را یاد میگیرد بهزودی
مدل گاهی بهجای شیء، پسزمینه یا نشانهای تصادفی را یاد میگیرد (مثلا برف برای گرگ)؛ با دیدن جایی که مدل نگاه کرده پیدا میشود.
تشخیص اشیا۸ درس، بهزودی
دنیای واقعی یک شیء در وسط عکس نیست؛ باید گفت چه چیزهایی، چندتا و کجا.
تشخیص اشیا چیست بهزودی
پیدا کردن همهی اشیای چند نوع در عکس، هر کدام با یک کادر و نام و عدد اطمینان.
کادر محدودکننده بهزودی
مستطیلی با چهار عدد (گوشهی بالا چپ، پهنا و بلندی) دور هر شیء.
همپوشانی کادرها (IoU) بهزودی
مساحت همپوشانی دو کادر تقسیم بر مساحت اجتماعشان؛ معمولا ۰٫۵ یا بیشتر یعنی کادر درست پیدا شده.
حذف کادرهای تکراری (NMS) بهزودی
از کادرهایی که روی یک شیء افتادهاند، مطمئنترین میماند و هر کادر با IoU زیاد با آن حذف میشود.
تشخیص دومرحلهای و یکمرحلهای بهزودی
دومرحلهای اول جاهای احتمالی را پیشنهاد و بعد هر کدام را دستهبندی میکند؛ یکمرحلهای همه را با یک نگاه، سریعتر.
YOLO چیست بهزودی
روشی یکمرحلهای (۲۰۱۵، «فقط یک بار نگاه میکنی») که عکس را شبکهبندی و کادر و دستهی همهی اشیا را در یک گذر پیشبینی میکند؛ مناسب ویدیوی زنده.
سنجش تشخیص: mAP بهزودی
برای هر دسته، صحت در بازخوانیهای مختلف میانگین گرفته و بعد میان دستهها میانگین گرفته میشود.
ردیابی اشیا در ویدیو بهزودی
اشیای تشخیصدادهشده در هر قاب به قاب قبلی جفت میشوند تا هر کدام یک شناسه و مسیر بگیرد.
قطعهبندی تصویر۵ درس، بهزودی
کادر تقریبی است؛ گاهی باید دقیقا بدانیم کدام پیکسلها مال یک شیءاند، مثلا در عکس پزشکی.
قطعهبندی (سگمنتیشن) تصویر چیست بهزودی
به هر پیکسل یک برچسب میدهد، تا مرز دقیق هر چیز در عکس معلوم شود.
قطعهبندی معنایی بهزودی
هر پیکسل نوعش را میگیرد (جاده، آدم، آسمان)، ولی دو آدم کنار هم یک لکهاند.
قطعهبندی نمونهای و همهجانبه بهزودی
نمونهای هر شیء را جدا میکند (آدم ۱، آدم ۲)؛ همهجانبه (panoptic) هر دو را با هم دارد: نوع همهی پیکسلها و جدا بودن اشیا.
معماری U-Net: کوچک کردن و دوباره بزرگ کردن بهزودی
رمزگذار عکس را کوچک و پرمعنی، رمزگشا آن را دوباره بزرگ میکند و پلهای میانبر جزئیات را برمیگردانند؛ نخست برای عکس پزشکی (۲۰۱۵).
قطعهبندی با اشاره بهزودی
مدلهای بزرگ امروز با یک کلیک یا کادر، هر شیئی را، حتی نوعی که ندیدهاند، قطعه میکنند.
چهره، نوشته و بدن۶ درس، بهزودی
پرکاربردترین کارهای روزمره، و دو تا از آنها برای فارسی و ایران سختتر.
تشخیص چهره: چهره کجاست بهزودی
پیدا کردن کادر هر چهره در عکس، بی آنکه بداند چهره مال کیست؛ مثل کادر زرد دوربین گوشی.
شناسایی چهره: این چهره کیست بهزودی
هر چهره به یک بردار تبدیل و با بردارهای ذخیرهشده مقایسه میشود؛ اگر نزدیک باشد، همان آدم است.
OCR: خواندن نوشته از عکس بهزودی
اول جای خطهای نوشته پیدا و بعد هر خط به متن تبدیل میشود؛ مدلهای امروز کل خط را با هم میخوانند، نه حرف به حرف.
چرا OCR فارسی سختتر است بهزودی
فارسی پیوسته و راست به چپ نوشته میشود، شکل حرف به جایش در کلمه بستگی دارد و نقطهها کوچکاند؛ دادهی آموزش هم کمتر است.
تشخیص پلاک خودرو بهزودی
پیدا کردن پلاک در عکس، صاف کردن آن و خواندن حرف و رقمهایش؛ ترکیب تشخیص اشیا و OCR.
تخمین ژست بدن بهزودی
جای مفصلهای بدن (شانه، آرنج، زانو) را پیدا و به هم وصل میکند؛ برای ورزش، فیزیوتراپی و پویانمایی.
عمق، سهبعد و حرکت۴ درس، بهزودی
عکس دوبعدی است و دنیا سهبعدی و در حرکت؛ ربات و خودرو هر دو را لازم دارند.
تخمین عمق از یک عکس بهزودی
مدل برای هر پیکسل فاصلهاش از دوربین را حدس میزند، از نشانههایی مثل اندازه، سایه و همپوشانی.
دو دوربین و ساختن سهبعد بهزودی
مثل دو چشم: از جابهجایی یک نقطه میان دو عکس، فاصلهاش حساب و مدل سهبعدی صحنه ساخته میشود.
جریان نوری: هر پیکسل کجا رفت بهزودی
برای هر پیکسل، جهت و اندازهی حرکتش میان دو قاب پشت سر هم.
تشخیص حرکت در دوربین بهزودی
مقایسهی هر قاب با پسزمینهی آموختهشده؛ پیکسلهایی که خیلی فرق کردهاند، حرکتاند.
ساختن تصویر۸ درس، بهزودی
«تولید تصویر با هوش مصنوعی» پرجستجوست؛ اینجا میبینیم درون این مدلها چه میگذرد.
ماشین چطور تصویر تازه میسازد بهزودی
مدل مولد یاد میگیرد عکسهای واقعی چه شکلیاند و نمونهی تازهای میسازد که در هیچ عکس آموزشی نبوده.
- خودرمزگذاردر مسیر یادگیری ماشین
خودرمزگذار تغییراتی (VAE) بهزودی
عکس را به یک فضای کوچک و پیوسته میبرد؛ با برداشتن نقطهای تازه از آن فضا و بازسازیاش، عکس تازه ساخته میشود.
شبکهی مولد تخاصمی (GAN) بهزودی
دو شبکه رقابت میکنند: سازنده عکس جعلی میسازد و داور واقعی را از جعلی تشخیص میدهد، تا جعلیها واقعینما شوند (۲۰۱۴).
مدل دیفیوژن (انتشار) چیست بهزودی
مدل یاد میگیرد از عکس نویزدار کمی نویز را پاک کند؛ برای ساختن، از نویز خالص شروع و قدم به قدم پاکش میکند تا عکس پدید آید.
ساختن تصویر از متن بهزودی
متن به بردار تبدیل میشود و در هر قدم پاک کردن نویز، جهت را به سوی عکسی که با متن جور است میبرد.
دیفیوژن در فضای فشرده بهزودی
بهجای پیکسلها، نویز در نسخهی فشردهی عکس پاک و در آخر به عکس بزرگ برگردانده میشود؛ خیلی سریعتر و ارزانتر.
ویرایش با هوش مصنوعی: پر کردن و گسترش بهزودی
بخشی از عکس پاک و مدل جای خالی را هماهنگ با بقیه پر میکند، یا عکس را از لبهها بزرگتر.
ترنسفورمر و زبان در بینایی۴ درس، بهزودی
امروز مرز متن و تصویر برداشته شده؛ همان معماریها و همان فضای معنی.
- ترنسفورمر بینایی (ViT)در مسیر ترنسفورمرها
پیوند متن و تصویر (CLIP) بهزودی
با صدها میلیون جفت عکس و نوشته آموزش دید تا عکس و توضیح درستش در یک فضای برداری کنار هم بیفتند (۲۰۲۱).
دستهبندی بی مثال آموزشی بهزودی
با بردار متنی «عکس یک گربه»، «عکس یک سگ» و مقایسه با بردار عکس، دستهای را تشخیص میدهد که هرگز برایش آموزش ندیده.
- مدلهای چندحالتهدر مسیر مدلهای زبانی بزرگ (LLM)
دنیای واقعی۸ درس، بهزودی
مدلی که در آزمایش خوب بود، در کارخانه، بیمارستان و خیابان با نور، داده و آدم واقعی روبهرو میشود.
جمع کردن عکس برای یک پروژه بهزودی
عکس از همان دوربین، نور و زاویهای که مدل در کار واقعی میبیند، با نمونههای سخت و نادر.
اجرای مدل روی دوربین و گوشی بهزودی
مدل کوچک و فشرده روی خود دستگاه اجرا میشود؛ سریع، بی اینترنت و بی فرستادن عکس به جای دیگر.
بینایی ماشین صنعتی: بازرسی خط تولید بهزودی
دوربین با نور ثابت از هر قطعه عکس میگیرد و مدل ترک، لکه یا اندازهی غلط را در کسری از ثانیه پیدا میکند.
بینایی ماشین در تصویر پزشکی بهزودی
کمک به خواندن عکس رادیولوژی، پوست و چشم؛ مدل به پزشک کمک میکند و جای تشخیص او را نمیگیرد.
نمونهی فریبنده بهزودی
تغییری ریز و نادیدنی در عکس میتواند مدل را کاملا به اشتباه بیندازد؛ مدلی که به آن تکیه میشود باید در برابرش آزموده شود.
جعل عمیق و تشخیص عکس ساختگی بهزودی
عکس و ویدیوی ساختگی واقعینما؛ نشانههای ساختگی بودن، ابزارهای تشخیص، و اینکه هیچکدام صددرصد نیستند.
چهره، پلاک و حریم خصوصی بهزودی
چهره و پلاک دادهی شخصیاند؛ فقط با رضایت و برای هدف روشن جمع شوند، کم نگه داشته شوند و جایی که لازم نیست تار شوند.
- سوگیری و انصافدر مسیر یادگیری ماشین
ابزار و پروژه۲ درس، بهزودی
هر مفهوم این مسیر با چند خط کد هم آزموده شده؛ اینجا یک پروژهی کامل.
پردازش تصویر با پایتون: ابزار رایگان بهزودی
پایتون، یک کتابخانهی رایگان پردازش تصویر و یک کتابخانهی یادگیری عمیق کافی است؛ خواندن، نمایش و ذخیرهی عکس در چند خط.
پروژهی کامل: از عکس تا تشخیص بهزودی
جمع کردن و برچسب زدن عکس، یادگیری انتقالی برای یک دستهبند یا تشخیصدهنده، سنجش و اجرای آن روی دوربین لپتاپ.
پایان راه۱ درس، بهزودی
جمعبندی و قدم بعد.
حالا بینایی ماشین را میشناسید بهزودی
کل راه در یک تصویر: پیکسل، فیلتر، CNN، دستهبندی، تشخیص، قطعهبندی، ساختن؛ آزمون پایانی و دکمه به مسیرهای ترنسفورمر و مدل زبانی.