خانه / کاربردهای MATLAB

آموزش پردازش تصویر و بینایی ماشین در MATLAB

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

مسیر زیر از عملیات پایه و کنتراست شروع می‌شود و به ماسک، بخش‌بندی و ردیابی می‌رسد. برای مسائل شبکه عصبی تصویری، پس از این مقدمات به مجموعه منابع هوش مصنوعی مراجعه کنید؛ همه مسائل تصویری به شبکه عمیق نیاز ندارند.

ترتیب پیشنهادی یادگیری

  1. اندیس‌گذاری آرایه و نمایش تصویر را تمرین کنید و نوع داده و تعداد کانال‌ها را بشناسید.
  2. کنتراست، ماسک و بخش‌بندی را روی یک تصویر بررسی کنید؛ خروجی را فقط با ظاهر تصویر قضاوت نکنید.
  3. برای ویدئو، سراغ تطبیق ویژگی و ردیابی بروید؛ برای مدل‌های یادگیرنده، برچسب‌گذاری داده را جداگانه بیاموزید.

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

آموزش‌ها و نمونه‌های منتخب

آموزش تعاملی رایگان

شروع پردازش تصویر در MATLAB

Image Processing Onramp

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

تصویر شبکه‌ای ساختگی و ناحیه برش؛ نمونه‌ای برای فهم سطر و ستون.نمای بزرگ‌تر ↗
تصویر شبکه‌ای ساختگی و ناحیه برش؛ نمونه‌ای برای فهم سطر و ستون.

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

رابطه کوتاه

J[r,c] = I[r₀+r, c₀+c]

I تصویر ورودی و J برش انتخاب‌شده است؛ r₀ و c₀ جابه‌جایی اندیس سطر و ستون‌اند. اندیس‌های حاصل باید در محدوده تصویر باشند؛ در MATLAB اندیس‌گذاری از یک آغاز می‌شود.

تمرین پیشنهادی

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

آمادگی پیشنهادی
آرایه‌ها و اندیس‌گذاری در MATLAB
محیط اجرا
محیط آنلاین آموزش MathWorks
شروع آموزش در MathWorks
آموزش تعاملی رایگان

بینایی ماشین؛ تشخیص و ردیابی در ویدئو

Computer Vision Onramp

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

دو شناسه ثابت در سه فریم ساختگی؛ تفاوت تشخیص مستقل با ردیابی.نمای بزرگ‌تر ↗
دو شناسه ثابت در سه فریم ساختگی؛ تفاوت تشخیص مستقل با ردیابی.

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

رابطه کوتاه

Δp = p_t − p_(t−1) ; v ≈ Δp / Δt

p موقعیت دوبعدی در تصویر و Δt فاصله زمانی فریم‌هاست. سرعت حاصل بر حسب پیکسل بر ثانیه است؛ تبدیل به سرعت فیزیکی به کالیبراسیون و هندسه صحنه نیاز دارد.

تمرین پیشنهادی

برای دو جسم متحرک، در سه فریم شماره هویت یکسان بگذارید. سپس یک فریمِ بدون تشخیص اضافه کنید و توضیح دهید چرا اتصال هویت‌ها به پیش‌بینی حرکت نیاز پیدا می‌کند.

آمادگی پیشنهادی
پردازش تصویر و مبانی MATLAB
محیط اجرا
محیط آنلاین آموزش MathWorks
شروع آموزش در MathWorks
ویدئوی آموزشی رسمی

کار با تصویر و عملیات پایه

Basic Operations on Images

شروع کار با تصویر در MATLAB را در قالب آموزش ادراک برای پروژه‌های دانشجویی ببینید. این ویدئو را پیش از بخش‌بندی و ردیابی بخوانید تا ورودی و نمایش داده تصویری روشن شود.

جداسازی مفهومی کانال‌های قرمز، سبز و آبی یک تصویر رنگی.نمای بزرگ‌تر ↗
جداسازی مفهومی کانال‌های قرمز، سبز و آبی یک تصویر رنگی.

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

رابطه کوتاه

I ∈ {0, …, 255}^(H×W×3)

این نمایش فقط برای یک تصویر RGB از نوع uint8 است؛ H ارتفاع و W عرض تصویر است. تصاویر اعشاری، خاکستری یا دارای کانال شفافیت الزاماً این قالب و بازه را ندارند.

تمرین پیشنهادی

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

آمادگی پیشنهادی
ماتریس و اندیس‌گذاری
محیط اجرا
برای اجرای تمرین‌ها: MATLAB و ابزارهای معرفی‌شده در ویدئو
مشاهده ویدئو در MathWorks
ویدئوی آموزشی رسمی

بخش‌بندی رنگی و تحلیل نواحی تصویر

Image Segmentation and Analysis

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

تصویر هندسی و ماسک صفر و یک؛ پیکسل‌های انتخاب‌شده، ناحیه مورد تحلیل را می‌سازند.نمای بزرگ‌تر ↗
تصویر هندسی و ماسک صفر و یک؛ پیکسل‌های انتخاب‌شده، ناحیه مورد تحلیل را می‌سازند.

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

رابطه کوتاه

A_px = Σ_r Σ_c M[r,c]

M ماسک دودویی با مقدار صفر یا یک و A_px مساحت بر حسب تعداد پیکسل است. مساحت فیزیکی به مقیاس تصویربرداری نیاز دارد؛ جمع شدت یک تصویر خاکستری، همین مساحت دودویی نیست.

تمرین پیشنهادی

ماسکی برای یک جسم رنگی بسازید و تعداد پیکسل‌های آن را حساب کنید. آستانه را کمی تغییر دهید و بررسی کنید آیا ناحیه موردنظر پایدار می‌ماند یا بخش بزرگی حذف می‌شود.

آمادگی پیشنهادی
عملیات پایه تصویر و مفهوم ماسک
محیط اجرا
برای اجرای تمرین‌ها: MATLAB و Image Processing Toolbox
مشاهده ویدئو در MathWorks
ویدئوی آموزشی رسمی

تطبیق ویژگی و ردیابی اشیا در ویدئو

Feature Matching and Tracking

روش تطبیق ویژگی‌ها و ردیابی نقاط در فریم‌های ویدئو معرفی می‌شود. به جای بررسی یک تصویر ثابت، ارتباط مشاهدات متوالی را دنبال کنید.

نقاط متناظر و بردار انتقال در دو قاب آموزشی؛ مدل ساده حرکت، نه نتیجه اجرای مثال رسمی.نمای بزرگ‌تر ↗
نقاط متناظر و بردار انتقال در دو قاب آموزشی؛ مدل ساده حرکت، نه نتیجه اجرای مثال رسمی.

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

رابطه کوتاه

x′ = x + Δx ; y′ = y + Δy

این رابطه فقط یک انتقال دوبعدی یکسان برای همه نقاط است. x و y مختصات تصویر و Δx و Δy جابه‌جایی‌اند؛ چرخش، مقیاس و پرسپکتیو در این مدل ساده وجود ندارند.

تمرین پیشنهادی

یک تصویر را چند پیکسل جابه‌جا کنید و نقاط متناظر را رسم کنید. بردارهای حرکت را مقایسه کنید و توضیح دهید کدام تطبیق با انتقال مشترک سازگار نیست.

آمادگی پیشنهادی
پردازش تصویر و مفهوم ویژگی تصویری
محیط اجرا
برای اجرای تمرین‌ها: MATLAB و Computer Vision Toolbox
مشاهده ویدئو در MathWorks
مثال و راهنمای رسمی

بهبود کنتراست تصویر و مقایسه روش‌ها

Contrast Enhancement Techniques

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

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

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

رابطه کوتاه

J = (I − I_min) / (I_max − I_min)

کشش خطی برای تصویر غیرثابت با I_max بزرگ‌تر از I_min است و خروجی را به بازه صفر تا یک می‌برد. برای تصویر ثابت، مخرج صفر می‌شود و باید جداگانه مدیریت شود.

تمرین پیشنهادی

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

آمادگی پیشنهادی
تصویر خاکستری و هیستوگرام
محیط اجرا
MATLAB و Image Processing Toolbox
مطالعه مثال در MathWorks

تمرین پیشنهادی برای تثبیت یادگیری

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

شیوه استفاده از منابع

معرفی و ترتیب مطالعه در این صفحه فارسی است؛ محتوای اصلی منابع به زبان انگلیسی در MathWorks قرار دارد. دوره‌های Onramp رایگان‌اند و برای انجام تمرین‌ها به حساب MathWorks و رایانه نیاز دارند. محیط آنلاین دوره به مجوز جداگانه محصولات نیاز ندارد؛ اجرای دوره در نرم‌افزار نصب‌شده شرایط مجوز خودش را دارد.

متن مثال‌ها و صفحه ویدئوها برای مطالعه در دسترس است؛ اجرای فایل نمونه روی رایانه ممکن است به MATLAB، Simulink، جعبه‌ابزارها یا افزونه‌های ذکرشده در منبع و نسخه سازگار نیاز داشته باشد. توضیح رسمی شرایط آموزش‌های MathWorks.

منابع بررسی‌شده در ۲۶ مهر ۱۴۰۵ · ارائه‌دهنده منابع پیوندشده: MathWorks