SlideShare a Scribd company logo
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ه‬ ‫جلسه‬‫ش‬‫تم‬:
‫پردازش‬‫دنباله‬‫های‬‫ویدیویی‬
‫مدرس‬:‫نیا‬ ‫شعبانی‬ ‫الهام‬
‫مصنوعی‬ ‫هوش‬ ‫دکترای‬ ‫دانشجوی‬
‫اصفهان‬ ‫دانشگاه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مقدمه‬
•‫سیگنال‬‫های‬‫ویدیویی‬‫منبعی‬‫غنی‬‫از‬‫اطالعات‬‫بصری‬‫را‬‫تشکیل‬‫می‬‫دهند‬.‫ویدیوها‬‫از‬‫دنباله‬‫ای‬‫از‬‫تصاوی‬‫ر‬‫به‬‫نام‬‫فریم‬
‫که‬‫در‬‫فواصل‬‫زمانی‬‫یکسان‬‫گرفته‬‫شده‬‫اند‬(‫که‬‫نرخ‬‫فریم‬‫نامیده‬‫می‬‫شود‬)،‫تشکیل‬‫شده‬‫اند‬.‫که‬‫یک‬‫ص‬‫حنه‬‫در‬‫حال‬
‫حرکت‬‫را‬‫نمایش‬‫می‬‫دهند‬.
•‫با‬‫ظهور‬‫کامپیوتر‬‫های‬‫قدرتمند‬‫اکنون‬‫می‬‫توان‬‫تحلیل‬‫های‬‫بصری‬‫پیشرفته‬‫ای‬‫را‬‫روی‬‫دنباله‬‫های‬‫ویدیوی‬‫ی‬‫با‬‫سرعتی‬
‫نزدیک‬‫و‬‫یا‬‫حتی‬‫‌تر‬‫ع‬‫سری‬‫از‬‫نرخ‬‫واقعی‬‫فریم‬‫ویدیویی‬‫انجام‬‫داد‬.‫این‬‫جلسه‬‫به‬‫شما‬‫نشان‬‫خواهد‬‫داد‬‫که‬‫چ‬‫گونه‬
‫دنباله‬‫های‬‫ویدیویی‬‫را‬،‫خوانده‬‫پردازش‬‫و‬‫ذخیره‬‫کنید‬.
2
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫خواندن‬‫های‬ ‫دنباله‬‫ویدیویی‬
3
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫خواندن‬‫ویدیو‬
•‫برای‬‫پردازش‬‫یک‬،‫ویدیو‬‫باید‬‫بتوانیم‬‫هر‬‫فریم‬‫را‬‫بخوانیم‬.OpenCV
‫چارچوبی‬‫به‬‫منظور‬‫استخراج‬‫فریم‬‫از‬‫فایل‬‫های‬‫ویدیویی‬‫و‬‫یا‬‫حتی‬‫از‬
‫یک‬‫دوربین‬USB‫فراهم‬‫آورده‬‫است‬.
•ً‫ا‬‫اساس‬‫همه‬‫آنچه‬‫که‬‫برای‬‫خواندن‬‫‌های‬‫م‬‫فری‬‫یک‬‫دنباله‬‫ویدیویی‬‫ن‬‫یاز‬
،‫دارید‬‫ایجاد‬‫یک‬‫شیء‬‫از‬‫کالس‬cv::VideoCapture‫است‬.‫سپس‬‫یک‬
‫حلقه‬‫ایجاد‬‫خواهید‬‫کرد‬‫که‬‫هر‬‫فریم‬‫را‬‫به‬‫کمک‬‫متد‬read‫از‬‫فایل‬
‫ویدیویی‬‫استخراج‬‫نماید‬.
•‫برای‬‫باز‬‫کردن‬‫یک‬‫ویدیو‬‫خیلی‬‫ساده‬‫باید‬‫اسم‬‫فایل‬‫ویدیویی‬‫را‬
‫مشخص‬‫کنید‬.‫این‬‫کار‬‫را‬‫می‬‫توان‬‫با‬‫فراهم‬‫کردن‬‫اسم‬‫فایل‬‫در‬‫ساز‬‫نده‬
‫شیء‬cv::VideoCapture‫انجام‬‫داد‬.‫همچنین‬‫می‬‫توان‬‫از‬‫متد‬open‫در‬
‫صورتی‬‫که‬cv::VideoCaptureً‫ال‬‫قب‬‫ایجاد‬‫شده‬،‫باشد‬‫استفاده‬‫کرد‬.
4
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیو‬ ‫خواندن‬
•‫همچنین‬‫شما‬‫می‬‫توانید‬‫جریان‬‫ویدیویی‬‫دوربین‬‫متصل‬‫به‬‫رایانه‬‫خود‬‫را‬(ً‫ال‬‫مث‬‫یک‬‫دوربین‬USB)‫را‬‫نیز‬‫بخوانید‬.‫در‬
‫این‬‫حالت‬‫به‬‫سادگی‬‫یک‬‫شماره‬‫شناسایی‬(ID‫که‬‫یک‬‫عدد‬‫صحیح‬‫است‬)‫به‬‫جای‬‫اسم‬‫فایل‬‫برای‬‫تابع‬open
‫مشخص‬‫می‬‫کنید‬.
•‫تعیین‬‫عدد‬‫صفر‬‫برای‬ID،‫دوربین‬‫پیش‬‫فرض‬‫نصب‬‫شده‬‫را‬‫باز‬‫می‬‫کند‬.‫در‬‫این‬،‫حالت‬‫نقش‬‫تابع‬cv::waitKey
‫برای‬‫توقف‬‫پردازش‬‫حیاتی‬‫می‬‫شود‬.‫چرا‬‫که‬‫جریان‬‫ویدیویی‬‫دوربین‬‫به‬‫صورت‬‫متناوب‬‫خوانده‬‫می‬‫شود‬.
5
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیو‬ ‫خواندن‬
•‫یادآوری‬‫این‬‫نکته‬‫مهم‬‫است‬‫که‬‫برای‬‫باز‬‫کردن‬‫یک‬‫فایل‬‫ویدیویی‬‫خاص‬‫کدکننده‬‫مربوط‬‫به‬‫آن‬‫بایس‬‫تی‬‫روی‬‫رایانه‬
‫شما‬‫نصب‬‫باشد‬.‫در‬‫غیر‬‫این‬‫صورت‬cv::VideoCapture‫قادر‬‫نخواهد‬‫بود‬‫تا‬‫فایل‬‫ورودی‬‫را‬‫درک‬‫کند‬.ً‫ال‬‫معمو‬
‫اگر‬‫بتوانید‬‫فایل‬‫ویدیویی‬‫را‬‫با‬‫یک‬‫پخش‬‫کننده‬‫ویدیویی‬(ً‫ال‬‫مث‬Windows Media Player)‫روی‬‫کامپیوتر‬‫خود‬
‫اجرا‬،‫کنید‬‫آنگاه‬OpenCV‫نیز‬‫باید‬‫بتواند‬‫این‬‫فایل‬‫را‬‫بخواند‬.
6
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیو‬ ‫خواندن‬
•‫پس‬‫از‬‫اینکه‬‫ویدیو‬‫با‬‫موفقیت‬‫باز‬‫شد‬(‫این‬‫مطلب‬‫را‬‫می‬‫توان‬‫با‬‫کمک‬‫متد‬isOpened‫تصدیق‬‫کرد‬)،‫می‬‫توان‬
‫استخراج‬‫‌ها‬‫م‬‫فری‬‫را‬‫آغاز‬‫کرد‬.
•‫همچنین‬‫می‬‫توان‬‫از‬‫شیء‬cv::VideoCapture،‫به‬‫کمک‬‫متد‬get‫آن‬‫و‬‫پرچم‬‫مناسب‬‫اطالعاتی‬‫در‬‫مورد‬‫فایل‬
‫ویدیویی‬‫به‬‫دست‬‫آورد‬.
•‫مث‬‫ال‬‫می‬‫توان‬‫نرخ‬‫فریم‬‫را‬‫با‬‫استفاده‬‫از‬‫پرچم‬CV_CAP_PROP_FPS‫به‬‫دست‬‫آورد‬.
•‫از‬‫آنجا‬‫که‬‫این‬‫یک‬‫تابع‬‫عمومی‬،‫است‬‫همیشه‬‫یک‬‫مقدار‬‫اعشاری‬‫برمی‬‫گرداند‬.‫حتی‬‫اگر‬‫در‬‫برخی‬‫حاالت‬‫ن‬‫وع‬
‫دیگری‬‫مورد‬‫انتظار‬‫باشد‬.‫برای‬‫مثال‬‫جمع‬‫کل‬‫تعداد‬‫‌ها‬‫م‬‫فری‬‫در‬‫فایل‬‫ویدیویی‬(‫که‬‫یک‬‫عدد‬‫صحیح‬‫است‬)‫را‬‫به‬
‫شکل‬‫زیر‬‫می‬‫توان‬‫به‬‫دست‬‫آورد‬:
•‫با‬‫نگاهی‬‫به‬‫پرچم‬‫های‬‫متفاوت‬‫موجود‬‫در‬‫مستندات‬OpenCV‫می‬‫توانید‬‫پی‬‫ببرید‬‫که‬‫چه‬‫اطالعاتی‬‫را‬‫می‬‫توان‬‫از‬
‫یک‬‫ویدیو‬‫استخراج‬‫نمود‬.
7
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیو‬ ‫خواندن‬
•‫همچنین‬‫این‬‫کالس‬‫دار‬‫ای‬‫یک‬‫متد‬set‫‌باشد‬‫ی‬‫م‬‫که‬‫امکان‬‫این‬‫را‬‫فراهم‬‫می‬‫آورد‬‫تا‬‫برخی‬‫پارامترها‬‫را‬‫به‬‫شیء‬
cv::VideoCapture‫داد‬.‫برای‬‫مثال‬‫می‬‫توانید‬‫با‬‫استفاده‬‫از‬CV_CAP_PROP_POS_FRAMES‫تقاضا‬
‫کنید‬‫که‬‫به‬‫یک‬‫فریم‬‫خاص‬‫بروید‬:
•‫همچنین‬‫می‬‫توانید‬‫با‬‫استفاده‬‫از‬CV_CAP_PROP_POS_MSEC‫موقعیت‬‫را‬‫بر‬‫حسب‬‫‌ثانیه‬‫ی‬‫میل‬‫مشخص‬
‫کنید‬.‫یا‬‫موقعیت‬‫نسبی‬‫را‬‫درون‬‫ویدیو‬‫با‬‫استفاده‬‫از‬CV_CAP_PROP_POS_AVI_RATIO‫معین‬‫کنید‬(‫به‬
‫طوری‬‫که‬0.0‫متناظر‬‫با‬‫ابتدای‬‫ویدیو‬‫و‬1.0‫متناظر‬‫با‬‫انتهای‬‫ویدیو‬‫است‬).‫در‬‫صورتی‬‫که‬‫تنظیم‬‫پارامتر‬‫خواس‬‫ته‬
‫شده‬‫با‬‫موفقیت‬‫انجام‬،‫شود‬‫متد‬true‫را‬‫بر‬‫می‬‫گرداند‬.
8
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیو‬ ‫خواندن‬
•‫دقت‬‫کنید‬‫که‬‫امکان‬‫گرفتن‬‫یا‬‫تنظیم‬‫یک‬‫پارامتر‬‫ویدیویی‬‫خاص‬‫به‬‫میزان‬‫زیادی‬‫به‬‫کدکننده‬‫مورد‬‫استفاده‬‫برای‬
‫فشرده‬‫سازی‬‫و‬‫ذخیره‬‫دنباله‬‫ویدیویی‬‫بستگی‬‫دارد‬.‫اگر‬‫اجرای‬‫برخی‬‫از‬‫پارامترها‬‫ناموفق‬،‫بود‬‫این‬‫می‬‫تو‬‫اند‬‫به‬‫دلیل‬
‫کدکننده‬‫خاصی‬‫باشد‬‫که‬‫از‬‫آن‬‫در‬‫کد‬‫کردن‬‫فایل‬‫ویدیویی‬‫استفاده‬‫شده‬‫است‬.
•‫بعد‬‫از‬‫آن‬‫که‬‫ویدیوی‬‫ذخیره‬‫شده‬‫با‬‫موفقیت‬‫باز‬‫شد‬(‫که‬‫می‬‫توان‬‫با‬isOpened‫این‬‫مسئله‬‫را‬‫اعتبارسنجی‬‫کرد‬)،
‫فریم‬‫ها‬‫را‬‫می‬‫توان‬‫پشت‬‫سر‬‫هم‬‫با‬‫فراخوانی‬‫متد‬read‫مانند‬‫مثال‬‫بخش‬‫قبل‬‫به‬‫دست‬‫آورد‬.‫و‬‫یا‬‫می‬‫توان‬‫عملگر‬
‫خواندن‬‫را‬‫فراخوانی‬‫کرد‬:
9
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مثال‬
•‫قاب‬‫های‬‫متوالی‬‫یک‬‫دنباله‬‫ویدیویی‬‫را‬‫خوانده‬‫و‬‫عمل‬‫لبه‬‫یابی‬‫را‬‫بر‬‫روی‬‫قاب‬‫های‬‫آن‬‫انجام‬‫می‬‫دهیم‬.
10
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫های‬ ‫فریم‬ ‫نوشتن‬‫ویدیویی‬
11
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیویی‬ ‫دنباله‬ ‫نوشتن‬
•‫در‬‫دستورالعمل‬‫قبل‬‫آموختیم‬‫که‬‫چگونه‬‫یک‬‫فایل‬‫ویدیویی‬‫را‬‫خوانده‬‫و‬‫فریم‬‫هایش‬‫را‬‫استخراج‬‫کنیم‬.‫ا‬‫ین‬
‫دستورالعمل‬‫به‬‫شما‬‫نشان‬‫خواهد‬‫داد‬‫که‬‫چگونه‬‫فریم‬‫را‬‫نوشته‬‫و‬‫بنابراین‬‫یک‬‫فایل‬‫ویدیویی‬‫ایجاد‬‫ک‬‫نید‬.
•‫همه‬‫آنچه‬‫که‬‫برای‬‫خواندن‬‫‌های‬‫م‬‫فری‬‫یک‬‫دنباله‬‫ویدیویی‬‫نیاز‬،‫دارید‬‫ایجاد‬‫یک‬‫شیء‬‫از‬‫کالس‬cv::VideoWriter
‫است‬.‫سپس‬‫یک‬‫حلقه‬‫ایجاد‬‫خواهید‬‫کرد‬‫که‬‫هر‬‫فریم‬‫را‬‫به‬‫کمک‬‫متد‬write‫در‬‫فایل‬‫ویدیویی‬‫بنویسد‬.
•‫برای‬‫نوشتن‬‫یک‬‫ویدیو‬‫خیلی‬‫ساده‬‫باید‬‫اسم‬‫فایل‬‫ویدیویی‬‫را‬‫مشخص‬‫کنید‬.‫این‬‫کار‬‫را‬‫می‬‫توان‬‫از‬‫ط‬‫ریق‬‫متد‬
open‫انجام‬‫دهی‬‫د‬.
•‫زمانی‬‫که‬‫یک‬‫ویدیو‬‫درون‬‫یک‬‫فایل‬‫نوشته‬‫می‬،‫شود‬‫به‬‫کمک‬‫یک‬‫کدکننده‬‫ذخیره‬‫می‬‫شود‬.‫کدکننده‬‫ی‬‫ک‬‫ماژول‬
‫نرم‬‫افزاری‬‫است‬‫که‬‫می‬‫تواند‬‫جریان‬‫های‬‫ویدیویی‬‫را‬‫رمزگذاری‬‫و‬‫رمزگشایی‬‫نماید‬.‫کدکننده‬‫هم‬‫فرمت‬‫فای‬‫ل‬‫و‬‫هم‬
‫روش‬‫فشرده‬‫سازی‬‫مورد‬‫استفاده‬‫برای‬‫ذخیره‬‫اطالعات‬‫را‬‫تعیین‬‫می‬‫کند‬.‫واضح‬‫است‬‫که‬‫ویدیویی‬‫که‬‫با‬‫اس‬‫تفاده‬‫از‬
‫یک‬‫کدکننده‬‫مشخص‬‫رمزگذاری‬‫شده‬،‫باشد‬‫بایستی‬‫با‬‫همان‬‫کدکننده‬‫هم‬‫رمزگشایی‬‫شود‬.
12
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیویی‬ ‫دنباله‬ ‫نوشتن‬
•‫همان‬‫طور‬‫که‬‫از‬‫نامش‬،‫پیداست‬‫کد‬‫چهار‬‫کاراکتری‬‫از‬‫چهار‬‫کاراکتر‬‫اسکی‬‫تشکیل‬‫شده‬‫است‬‫که‬‫می‬‫توان‬‫ند‬‫با‬
‫الحاق‬‫شدن‬‫به‬‫یکدیگر‬‫به‬‫یک‬‫عدد‬‫صحیح‬‫نیز‬‫تبدیل‬‫شوند‬.
•‫با‬‫استفاده‬‫از‬‫پرچم‬CV_CAP_PROP_FOURCC‫از‬‫متد‬get‫از‬‫یک‬‫شیء‬cv::VideoCapture
،‫بازشده‬‫می‬‫توانید‬‫این‬‫کد‬‫را‬‫برای‬‫فایل‬‫ویدیوی‬‫باز‬‫شده‬‫به‬‫دست‬‫آورید‬.
13
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیویی‬ ‫دنباله‬ ‫نوشتن‬
•‫زمانی‬‫که‬‫یک‬‫فایل‬‫ویدیویی‬‫نوشته‬‫می‬،‫شود‬‫کدکننده‬‫بایستی‬‫با‬‫استفاده‬‫از‬‫کد‬‫چهار‬‫کاراکتری‬‫مشخص‬‫شود‬.‫ک‬‫ه‬‫پارامتر‬‫دوم‬‫در‬
‫متد‬open‫از‬‫کالس‬cv::VideoWriter‫‌باشد‬‫ی‬‫م‬.
•‫می‬‫توانید‬‫مقدار‬1-‫را‬‫به‬‫تابع‬‫ارسال‬‫کنید‬‫که‬‫در‬‫این‬‫صورت‬‫یک‬‫پنجره‬‫برای‬‫شما‬‫نمایش‬‫داده‬‫خواهد‬‫شد‬(‫مانند‬‫مثال‬‫زیر‬)‫که‬‫از‬
‫شما‬‫می‬‫خواهد‬‫تا‬‫یک‬‫حالت‬‫را‬‫از‬‫لیست‬‫کدکننده‬‫های‬‫موجود‬‫انتخاب‬‫کنید‬.
•‫لیستی‬‫که‬‫در‬‫این‬‫پنجره‬‫خواهید‬،‫دید‬‫متناظر‬‫با‬‫لیست‬‫کدکننده‬‫های‬‫نصب‬‫شده‬‫روی‬‫کامپیوتر‬‫شماست‬.‫سپس‬‫ک‬‫د‬‫مربوطه‬‫به‬
‫صورت‬‫خودکار‬‫به‬‫متد‬‫در‬‫حال‬‫اجرا‬‫فرستاده‬‫می‬‫شود‬.
14
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مثال‬
•‫در‬‫مثال‬‫قبل‬‫ویدیوی‬‫لبه‬‫را‬‫ذخیره‬‫نمایید‬.
15
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویدیویی‬ ‫های‬‫دنباله‬ ‫در‬ ‫ویژگی‬ ‫نقاط‬ ‫ردیابی‬
16
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫ویژگی‬ ‫نقاط‬ ‫ردیابی‬
•‫اولین‬‫کار‬‫برای‬‫شروع‬‫فرآیند‬،‫ردیابی‬‫تشخیص‬‫نقاط‬‫ویژگی‬‫در‬‫فرم‬‫اولیه‬‫است‬.
•‫سپس‬‫در‬‫فریم‬‫بعدی‬‫سعی‬‫می‬‫کنیم‬‫این‬‫نقاط‬‫را‬‫ردیابی‬‫کنیم‬.‫در‬‫واقع‬‫باید‬‫مکانی‬‫که‬‫این‬‫نقاط‬‫در‬‫ف‬‫ریم‬‫جدید‬‫قرار‬
‫گرفته‬‫اند‬‫را‬‫پیدا‬‫کنید‬.
•‫واضح‬‫است‬‫از‬‫آنجا‬‫که‬‫باید‬‫حوالی‬‫موقعیت‬‫قبلی‬‫نقطه‬‫ویژگی‬‫جستجو‬‫کنیم‬‫تا‬‫مکان‬‫جدید‬‫آن‬‫را‬‫در‬‫ف‬‫ریم‬‫بعد‬‫پیدا‬
‫کنیم‬.
•‫این‬‫کاری‬‫است‬‫که‬‫تابع‬cv::calcOpticalFlowPyrLK‫انجام‬‫می‬‫دهد‬.‫ورودی‬‫آن‬‫دو‬‫فریم‬‫متوالی‬‫و‬‫برداری‬
‫نقاط‬‫ویژگی‬‫در‬‫فریم‬‫نخست‬‫است‬.‫سپس‬‫تابع‬‫برداری‬‫از‬‫موقعیت‬‫جدید‬‫نقاط‬‫را‬‫برمی‬‫گرداند‬.
•‫برای‬‫ردیابی‬‫نقاط‬‫روی‬‫یک‬‫دنباله‬،‫کامل‬‫این‬‫فرایند‬‫فریم‬‫به‬‫فریم‬‫تکرار‬‫می‬‫شود‬.
•‫به‬‫خاطر‬‫داشته‬‫باشید‬‫که‬‫با‬‫دنبال‬‫کردن‬‫نقاط‬‫در‬‫طول‬،‫دنباله‬ً‫ا‬‫قطع‬‫ممکن‬‫است‬‫رد‬‫برخی‬‫از‬‫آن‬‫ها‬‫را‬‫گم‬‫ک‬‫نید‬.‫به‬
‫طوری‬‫که‬‫تعداد‬‫نقاط‬‫ویژگی‬‫ردیابی‬‫شده‬‫به‬‫تدریج‬‫کاهش‬‫یابد‬.‫بنابراین‬‫ایده‬‫خوبی‬‫خواهد‬‫بود‬‫تا‬‫ویژ‬‫گی‬‫های‬
‫جدیدی‬‫را‬ً‫ا‬‫مجدد‬‫در‬‫فواصل‬‫زمانی‬‫خاص‬‫تشخیص‬‫دهید‬.
17
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫الگوریتم‬‫ویژگی‬ ‫ردیابی‬Lukas-Kanade
•‫برای‬‫ردیابی‬‫نقاط‬‫ویژگی‬‫از‬‫فریمی‬‫به‬‫فریم‬،‫دیگر‬‫بایستی‬‫موقعیت‬‫جدید‬‫یک‬‫نقطه‬‫ویژگی‬‫را‬‫در‬‫فریم‬‫بعدی‬‫پ‬‫یدا‬‫کنیم‬.‫اگر‬‫فرض‬
‫کنیم‬‫که‬‫شدت‬‫روشنایی‬‫نقطه‬‫ویژگی‬‫از‬‫فریمی‬‫به‬‫فریم‬‫بعدی‬‫تغییر‬‫نمی‬،‫کند‬‫آنگاه‬‫به‬‫دنبال‬‫یک‬‫بردار‬‫جابج‬‫ایی‬(u,v)‫هستیم‬:
𝐼𝑡 𝑥, 𝑦 = 𝐼𝑡+1 𝑥 + 𝑢, 𝑦 + 𝑣
•‫که‬‫در‬‫آن‬𝐼𝑡‫و‬𝐼𝑡+1‫به‬‫ترتیب‬‫فریم‬‫فعلی‬‫و‬‫فریم‬‫بعد‬‫از‬‫آن‬‫هستند‬.‫این‬‫فرض‬‫شدت‬‫روشنایی‬،‫ثابت‬‌ً‫ا‬‫عموم‬‫برای‬‫جابج‬‫ایی‬‫کوچک‬
‫در‬‫دو‬‫تصویر‬‫که‬‫در‬‫فواصل‬‫زمانی‬‫کمی‬‫گرفته‬‫شده‬،‫باشند‬‫صادق‬‫است‬.‫برای‬‫تخمین‬‫این‬‫معادله‬‫می‬‫توانیم‬‫از‬‫بسط‬‫ت‬‫یلور‬(‫به‬
‫کمک‬‫‌ای‬‫ه‬‫معادل‬‫که‬‫با‬‫مشتقات‬‫تصویر‬‫سروکار‬‫دارد‬)‫استفاده‬‫کنیم‬:
𝐼𝑡+1 𝑥 + 𝑢, 𝑦 + 𝑣 ≈ 𝐼𝑡 𝑥, 𝑦 +
𝛿𝐼
𝛿𝑥
𝑢 +
𝛿𝐼
𝛿𝑦
𝑣 +
𝛿𝐼
𝛿𝑡
𝛿𝐼
𝛿𝑥
𝑢 +
𝛿𝐼
𝛿𝑦
𝑣 = −
𝛿𝐼
𝛿𝑡
•‫این‬‫قید‬،‫مشهور‬‫اساس‬‫معادله‬‫جریان‬‫نوری‬‫است‬.‫که‬‫با‬‫یک‬‫فرض‬‫جانبی‬‫دیگر‬‫در‬‫الگوریتم‬‫ردیابی‬‫ویژگی‬Lukas-
Kanade‫با‬‫یک‬‫الگوریتم‬‫تکرار‬‫شونده‬‫به‬‫کار‬‫گرفته‬‫می‬‫شود‬.
•‫عالوه‬‫بر‬‫این‬‫الگوریتم‬LK‫را‬‫می‬‫توان‬‫در‬‫رزولوشن‬‫های‬‫مختلف‬‫نیز‬‫انجام‬‫دا‬‫د‬.‫تا‬‫بتوان‬‫جستجوی‬‫بسیار‬‫کاراتر‬‫و‬‫مقاوم‬‫تری‬‫ن‬‫سبت‬
‫به‬‫جابجایی‬‫های‬‫‌تر‬‫گ‬‫بزر‬‫داشته‬‫باشیم‬.
18
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫الگوریتم‬‫ویژگی‬ ‫ردیابی‬Lukas-Kanade
•‫ورودی‬‫آن‬‫دو‬‫فریم‬‫متوالی‬‫و‬‫برداری‬‫نقاط‬‫ویژگی‬‫در‬‫فریم‬‫نخست‬‫است‬.‫سپس‬‫تابع‬‫برداری‬‫از‬‫موقعیت‬‫ج‬‫دید‬‫نقاط‬
‫را‬‫برمی‬‫گرداند‬
•‫به‬‫طور‬‫پیش‬،‫فرض‬‫تعداد‬‫سطوح‬‫تصاویر‬3‫و‬‫اندازه‬‫پنجره‬21‫است‬.‫که‬‫واضح‬‫است‬‫می‬‫تواند‬‫تغییر‬‫داده‬‫شود‬.
‫همچنین‬‫می‬‫توانید‬‫معیار‬‫خاتمه‬‫را‬‫نیز‬‫مشخص‬‫کنید‬‫که‬‫شرایط‬‫توقف‬‫جستجوی‬‫تکراری‬‫را‬‫تعریف‬‫می‬‫کند‬.‫پارامتر‬
‫ششم‬‫متد‬cv::calcOpticalFlowPyrLK‫خطای‬‫باقیمانده‬‫میانگین‬‫مربعی‬‫که‬‫می‬‫تواند‬‫برای‬‫ارزیابی‬‫کی‬‫فیت‬
‫ردیابی‬‫مورد‬‫استفاده‬‫قرار‬‫گیرد‬‫را‬‫شامل‬‫می‬‫شود‬.‫پارامتر‬‫هفتم‬‫نیز‬‫‌های‬‫م‬‫پرچ‬‫باینری‬‫را‬‫شامل‬‫می‬‫شود‬‫که‬‫به‬‫ما‬
‫‌آمیز‬‫ت‬‫موفقی‬‫بودن‬‫ردیابی‬‫نقطه‬‫مورد‬‫نظر‬‫را‬‫نشان‬‫می‬‫دهند‬.
19
C++: void calcOpticalFlowPyrLK(InputArray prevImg, InputArray nextImg, InputArrayprevPts,
InputOutputArray nextPts, OutputArray status, OutputArray err, SizewinSize=Size(21,21),
int maxLevel=3,TermCriteriacriteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01),
int flags=0, doubleminEigThreshold=1e-4 )
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مثال‬
•‫در‬‫پوشه‬…opencvsourcessamplescpp‫به‬‫مثال‬‫موجود‬‫برای‬‫الگوریتم‬LK‫به‬‫نام‬
lk.demo.cpp‫نگاهی‬‫می‬‫اندازیم‬.
20
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫اشیای‬ ‫استخراج‬‫پیش‬‫زمینه‬‫ویدیو‬ ‫در‬
21
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫زمینه‬ ‫پیش‬ ‫اشیای‬ ‫استخراج‬
•‫زمانی‬‫که‬‫یک‬‫دوربین‬‫ثابت‬‫‌ای‬‫ه‬‫صحن‬‫را‬‫مشاهده‬‫می‬،‫کند‬‫پس‬‫زمینه‬ً‫ا‬‫تقریب‬‫بدون‬‫تغییر‬‫باقی‬‫می‬‫ماند‬.
•‫در‬‫این‬،‫حالت‬‫عناصر‬‫مورد‬،‫توجه‬‫اشیای‬‫متحرک‬‫هستند‬‫که‬‫درون‬‫صحنه‬‫حرکت‬‫می‬‫کنند‬.
•‫برای‬‫استخراج‬‫این‬‫اشیای‬‫پیش‬،‫زمینه‬‫بایستی‬‫مدلی‬‫از‬‫پس‬‫زمینه‬‫ایجاد‬‫کنیم‬‫و‬‫سپس‬‫این‬‫مدل‬‫را‬‫با‬‫ف‬‫ر‬‫ی‬‫م‬‫فعلی‬‫به‬
‫منظور‬‫استخراج‬‫اشیای‬‫پیش‬‫زمینه‬‫مقایسه‬‫کنیم‬.
•‫این‬‫کاری‬‫است‬‫که‬‫ما‬‫در‬‫این‬‫دستورالعمل‬‫انجام‬‫خواهیم‬‫داد‬.‫استخراج‬‫اشیای‬‫پیش‬‫زمینه‬‫یک‬‫مرحله‬‫اساس‬‫ی‬‫در‬
‫کاربردهای‬‫نظارت‬‫هوشمند‬‫محسوب‬‫می‬‫شود‬.
22
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫گیری‬ ‫تفاضل‬ ‫طریق‬ ‫از‬ ‫زمینه‬ ‫پیش‬ ‫استخراج‬
•‫اگر‬‫ما‬‫تصویری‬‫از‬‫پس‬‫زمینه‬‫یک‬‫صحنه‬‫را‬‫در‬‫اختیار‬‫داشته‬‫باشیم‬(‫یعنی‬‫فریمی‬‫که‬‫هیچ‬‫شیء‬‫‌ز‬‫ش‬‫پی‬‫‌ای‬‫ه‬‫مین‬‫را‬
‫شامل‬‫نمی‬‫شود‬)،‫استخراج‬‫پیش‬‫زمینه‬‫از‬‫فریم‬‫فعلی‬‫به‬‫راحتی‬‫از‬‫طریق‬‫تفاضل‬‫گیری‬‫میسر‬‫خواهد‬‫بود‬.
•‫هر‬‫پیکسلی‬‫که‬‫برای‬‫آن‬‫این‬‫تفاضل‬‫زیاد‬،‫باشد‬‫به‬‫عنوان‬‫پیکسل‬‫پیش‬‫زمینه‬‫اعالم‬‫می‬‫شود‬.‫با‬‫این‬‫ح‬‫ال‬‫در‬‫بسیاری‬
‫اوقات‬‫این‬‫تصویر‬‫پس‬‫زمینه‬‫به‬‫سادگی‬‫در‬‫دسترس‬‫نیست‬.‫در‬‫واقع‬‫تضمین‬‫آن‬‫که‬‫هیچ‬‫شیء‬‫پیش‬‫زمی‬‫نه‬‫ای‬‫در‬‫یک‬
‫تصویر‬‫داده‬‫شده‬‫و‬‫در‬‫یک‬‫صحنه‬‫شلوغ‬‫حاضر‬،‫نیست‬‫کمی‬‫دشوار‬‫است‬.
•‫عالوه‬‫بر‬‫این‬‫صحنه‬‫پیش‬‫زمینه‬‫اغلب‬‫با‬‫گذر‬‫زمان‬‫تغییر‬‫می‬‫کند‬.‫برای‬‫مثال‬‫ممکن‬‫است‬‫شرایط‬‫نوری‬‫ت‬‫غییر‬‫کند‬
(ً‫ال‬‫مث‬‫از‬‫زمان‬‫طلوع‬‫تا‬‫غروب‬‫خورشید‬)‫و‬‫یا‬‫اشیای‬‫جدید‬‫به‬‫پس‬‫زمینه‬‫اضافه‬‫و‬‫یا‬‫از‬‫آن‬‫حذف‬‫شوند‬.
23
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫زمینه‬ ‫پس‬ ‫برای‬ ‫میانگین‬ ‫مدل‬
•‫بنابراین‬‫الزم‬‫است‬‫تا‬‫به‬‫صورت‬‫پویا‬‫مدلی‬‫از‬‫صحنه‬‫پس‬‫زمینه‬‫ساخته‬‫شود‬.‫این‬‫کار‬‫را‬‫می‬‫توان‬‫با‬‫مشاه‬‫ده‬‫صحنه‬
‫برای‬‫مدت‬‫زمانی‬‫انجام‬‫داد‬.
•‫اگر‬‫فرض‬‫کنیم‬‫که‬‫در‬‫بسیاری‬‫از‬،‫اوقات‬‫پس‬‫زمینه‬‫در‬‫هر‬‫موقعیت‬‫پیکسلی‬‫قابل‬‫مشاهده‬،‫است‬‫آنگاه‬‫ا‬‫ستراتژی‬
‫خوبی‬‫خواهد‬‫بود‬‫که‬‫میانگین‬‫همه‬‫مشاهدات‬‫را‬‫محاسبه‬‫کنیم‬.
•‫اما‬‫این‬‫کار‬‫به‬‫چند‬‫دلیل‬‫عملی‬‫نیست‬.ً‫ال‬‫او‬‫این‬‫کار‬‫نیازمند‬‫‌سازی‬‫ه‬‫ذخیر‬‫تعداد‬‫زیادی‬‫از‬‫تصاویر‬‫قبل‬‫از‬‫محاسبه‬
‫پس‬‫زمینه‬‫است‬.‫دوما‬‫زمانی‬‫که‬‫در‬‫حال‬‫انبار‬‫کردن‬‫تصاویر‬‫برای‬‫محاسبه‬‫تصویر‬‫میانگین‬‫خود‬،‫هستیم‬‫استخراج‬
‫پیش‬‫زمینه‬‫انجام‬‫نمی‬‫شود‬.‫همچنین‬‫این‬‫مشکل‬‫به‬‫وجود‬‫می‬‫آید‬‫که‬‫چه‬‫زمانی‬‫و‬‫چه‬‫تعداد‬‫تصویر‬‫برای‬‫مح‬‫اسبه‬
‫یک‬‫مدل‬‫پس‬‫زمینه‬‫قابل‬‫قبول‬‫مورد‬‫نیاز‬‫است‬.‫عالوه‬‫بر‬‫این‬‫مقدار‬‫پیکسل‬‫در‬‫زمانی‬‫که‬‫متعلق‬‫به‬‫پیش‬‫زمینه‬،‫است‬
‫روی‬‫محاسبه‬‫پس‬‫زمینه‬‫میانگین‬‫تأثیر‬‫می‬‫گذارد‬.
24
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫میانگین‬ ‫مدل‬‫برای‬ ‫اجرا‬ ‫حال‬ ‫در‬‫زمینه‬ ‫پس‬
•‫یک‬‫استراتژی‬‫بهتر‬‫ساخت‬‫یک‬‫مدل‬‫پویا‬‫از‬‫پس‬‫زمینه‬‫با‬‫‌روزرسانی‬‫ه‬‫ب‬‫مداوم‬‫آن‬‫است‬.
•‫این‬‫کار‬‫را‬‫می‬‫توان‬‫با‬‫محاسبه‬‫میانگین‬‫در‬‫حال‬‫اجرا‬(:Running average)‫انجام‬‫داد‬.‫میانگین‬‫در‬‫حال‬‫اجرا‬
‫روشی‬‫برای‬‫محاسبه‬‫مقدار‬‫میانگین‬‫یک‬‫سیگنال‬‫زمانی‬‫است‬‫که‬‫آخرین‬‫مقادیر‬‫دریافت‬‫شده‬‫را‬‫در‬‫نظر‬‫م‬‫ی‬‫گیرد‬.
•‫اگر‬pt‫مقدار‬‫پیکسل‬‫در‬‫یک‬‫زمان‬‫معین‬t،‫باشد‬‫و‬μt-1‫مقدار‬‫میانگین‬‫کنونی‬،‫باشد‬‫آنگاه‬‫این‬‫میانگین‬‫با‬
‫استفاده‬‫از‬‫فرمول‬‫زیر‬‫‌روزرسانی‬‫ه‬‫ب‬‫می‬‫شود‬:
𝜇 𝑡 = 1 − 𝛼 𝜇 𝑡−1 + 𝛼𝑝𝑡
•‫در‬‫این‬‫معادله‬‫پارامتر‬α‫بیانگر‬‫نرخ‬‫یادگیری‬‫است‬‫و‬‫تاثیر‬‫مقدار‬‫کنونی‬‫نسبت‬‫به‬‫میانگین‬‫تخمین‬‫زد‬‫ه‬‫شده‬‫کنونی‬
‫را‬‫تعریف‬‫می‬‫کند‬.‫برای‬‫ساخت‬‫یک‬‫مدل‬‫پس‬‫زمینه‬‫بایستی‬‫میانگین‬‫در‬‫حال‬‫اجرا‬‫برای‬‫هر‬‫پیکسل‬‫فری‬‫م‬‫جدید‬
‫محاسبه‬‫شود‬.‫سپس‬‫تصمیم‬‫گیری‬‫برای‬‫مشخص‬‫کردن‬‫یک‬‫پیکسل‬‫پیش‬‫زمینه‬‫به‬‫سادگی‬‫بر‬‫اساس‬‫تفاضل‬‫بین‬
‫تصویر‬‫کنونی‬‫و‬‫مدل‬‫پس‬‫زمینه‬‫انجام‬‫می‬‫شود‬.
25
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مثال‬
•‫اشیای‬‫پیش‬‫زمینه‬‫در‬‫ویدیوی‬HALL.avi‫را‬‫با‬‫کمک‬‫الگوریتم‬‫میانگین‬‫در‬‫حال‬‫اجرا‬‫استخراج‬‫می‬‫کنیم‬.
26
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫پیش‬ ‫برای‬ ‫گاوسی‬ ‫مخلوط‬ ‫مدل‬‫زمینه‬
•‫متد‬‫ساده‬‫قبل‬‫برای‬‫استخراج‬‫اشیای‬‫پیش‬‫زمینه‬‫برای‬‫صحنه‬‫های‬‫ساده‬‫که‬‫یک‬‫پس‬‫زمینه‬ً‫ا‬‫نسبت‬‫پایدار‬‫را‬‫نشان‬‫می‬،‫دهند‬‫خوب‬
‫کار‬‫می‬‫کند‬.‫با‬‫این‬‫حال‬‫در‬‫بسیاری‬‫اوقات‬‫صحنه‬‫پس‬‫زمینه‬‫ممکن‬‫است‬‫در‬‫نواحی‬‫مشخصی‬‫بین‬‫مقادیر‬‫مختلف‬‫نوسا‬‫ن‬‫کند‬.‫و‬
‫بنابراین‬‫به‬‫وفور‬‫باعث‬‫تشخیص‬‫غلط‬‫پیش‬‫زمینه‬‫شود‬.‫این‬‫نوسانات‬‫ممکن‬‫است‬‫به‬‫طور‬‫مثال‬‫به‬‫واسطه‬‫یک‬‫شیء‬‫پس‬‫زمینه‬
‫متحرک‬(‌ً‫ال‬‫مث‬‫برگ‬‫درختان‬)‫یا‬‫تأثیر‬‫درخشش‬(‌ً‫ال‬‫مث‬‫روی‬‫سطح‬‫آب‬)‫باشد‬.‫برای‬‫حل‬‫مشکل‬‫روش‬‫های‬‫مدل‬‫کردن‬‫پس‬‫زمی‬‫نه‬
‫بسیار‬‫پیچیده‬‫تری‬‫معرفی‬‫شده‬‫است‬.
•‫یکی‬‫از‬‫این‬‫الگوریتم‬،‫ها‬‫روش‬‫مخلوط‬‫گاوسی‬‫است‬.‫که‬‫به‬‫روشی‬‫مشابه‬‫با‬‫آنچه‬‫که‬‫در‬‫این‬‫دستورالعمل‬‫ارائه‬،‫شد‬‫عمل‬‫می‬‫کند‬.
27
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫پیش‬ ‫برای‬ ‫گاوسی‬ ‫مخلوط‬ ‫مدل‬‫زمینه‬
•‫عالوه‬‫بر‬،‫این‬‫موارد‬‫زیر‬‫را‬‫هم‬‫دربر‬‫دارد‬:
•‫اول‬‫اینکه‬‫این‬‫متد‬‫بیش‬‫از‬‫یک‬‫مدل‬‫برای‬‫هر‬‫پیکسل‬‫نگهداری‬‫می‬‫کند‬(‫یعنی‬‫بیش‬‫از‬‫یک‬‫میانگین‬‫در‬‫حال‬‫اجرا‬).‫ب‬‫ه‬‫این‬‫روش‬
‫اگر‬‫یک‬‫پیکسل‬‫پیش‬‫زمینه‬‌ً‫ال‬‫مث‬‫در‬‫بین‬‫دو‬‫مقدار‬‫نوسان‬،‫کند‬‫دو‬‫میانگین‬‫در‬‫حال‬‫اجرا‬‫برای‬‫آن‬‫ذخیره‬‫می‬‫شوند‬.‫در‬‫این‬‫حالت‬
‫یک‬‫پیکسل‬‫زمانی‬‫به‬‫عنوان‬‫پیش‬‫زمینه‬‫انتخاب‬‫خواهد‬‫شد‬‫که‬‫متعلق‬‫به‬‫هیچ‬‫یک‬‫از‬‫این‬2‫مدل‬‫نباشد‬.
•‫دوم‬‫اینکه‬‫نه‬‫تنها‬‫میانگین‬‫در‬‫حال‬،‫اجرا‬‫بلکه‬‫واریانس‬‫در‬‫حال‬‫اجرا‬‫نیز‬‫برای‬‫هر‬‫مدل‬‫نگه‬‫داری‬‫می‬‫شود‬.‫که‬‫واریانس‬‫در‬‫ح‬‫ال‬‫اجرا‬
‫به‬‫شکل‬‫زیر‬‫محاسبه‬‫می‬‫شود‬:
28
𝜎𝑡
2
= 1 − 𝛼 𝜎𝑡−1
2
+ 𝛼 𝑝𝑡 − 𝜇 𝑡
2
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫پیش‬ ‫برای‬ ‫گاوسی‬ ‫مخلوط‬ ‫مدل‬‫زمینه‬
•‫میانگین‬‫و‬‫واریانس‬‫محاسبه‬‫شده‬‫از‬‫یک‬‫مدل‬،‫گاوسی‬‫یک‬‫مدل‬‫گاوسی‬‫را‬‫تشکیل‬‫می‬‫دهند‬‫که‬‫می‬‫توان‬‫از‬‫آن‬‫احتمال‬‫ای‬‫نکه‬‫یک‬
‫پیکسل‬‫داده‬‫شده‬‫متعلق‬‫به‬‫مدل‬‫گاوسی‬‫باشد‬‫را‬‫تخمین‬‫زد‬.
•‫این‬‫مسئله‬‫تعیین‬‫یک‬‫آستانه‬‫مناسب‬‫را‬‫آسان‬‫تر‬‫می‬‫کند‬‫چرا‬‫که‬‫اکنون‬‫این‬‫آستانه‬‫به‬‫جای‬‫یک‬‫مقدار‬،‫مطلق‬‫به‬‫ش‬‫کل‬‫یک‬‫تابع‬
‫احتمال‬‫بیان‬‫می‬‫شود‬.‫عالوه‬‫بر‬‫این‬‫در‬‫‌هایی‬‫ه‬‫ناحی‬‫که‬‫مقادیر‬‫پس‬‫زمینه‬‫نوسانات‬‫زیادی‬،‫دارند‬‫یک‬‫تفاضل‬‫‌تر‬‫گ‬‫بزر‬‫ب‬‫رای‬‫مشخص‬
‫کردن‬‫یک‬‫شیء‬‫پیش‬‫زمینه‬‫مورد‬‫نیاز‬‫خواهد‬‫بود‬.
•‫در‬‫نهایت‬‫زمانی‬‫که‬‫یک‬‫مدل‬‫گاوسی‬‫داده‬‫شده‬‫به‬‫اندازه‬‫کافی‬‫در‬‫زمان‬‫اخیر‬‫مورد‬‫رجوع‬‫قرار‬،‫نگیرد‬‫دیگر‬‫به‬‫عنوان‬‫بخش‬‫ی‬‫از‬
‫مدل‬‫پس‬‫زمینه‬‫شناخته‬‫نمی‬‫شود‬.
•‫برعکس‬‫زمانی‬‫که‬‫یک‬‫مقدار‬‫پیکسل‬‫در‬‫خارج‬‫از‬‫مدل‬‫های‬‫پس‬‫زمینه‬‫نگهداری‬‫شده‬‫پیدا‬‫شود‬(‫یعنی‬‫یک‬‫پیکسل‬‫پی‬‫ش‬‫زمینه‬
‫باشد‬)،‫یک‬‫مدل‬‫گاوسی‬‫جدید‬‫برای‬‫آن‬‫ایجاد‬‫می‬‫شود‬.‫تا‬‫اگر‬‫در‬‫آینده‬‫این‬‫مدل‬‫جدید‬‫به‬‫اندازه‬‫کافی‬‫مورد‬‫رجوع‬‫قرار‬‫گرف‬،‫ت‬‫به‬
‫پس‬‫زمینه‬‫انتساب‬‫داده‬‫شود‬.
29
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫پیش‬ ‫برای‬ ‫گاوسی‬ ‫مخلوط‬ ‫مدل‬‫زمینه‬
•‫واضح‬‫است‬‫که‬‫پیاده‬‫سازی‬‫این‬‫الگوریتم‬‫بسیار‬‫پیچیده‬‫تر‬‫از‬‫‌سازی‬‫ه‬‫پیاد‬‫الگوریتم‬‫جداکننده‬‫پس‬‫زمینه‬‫و‬‫پیش‬‫ز‬‫مینه‬‫ماست‬.
•‫خوشبختانه‬OpenCV‫این‬‫الگوریتم‬‫را‬‫در‬‫قالب‬‫متد‬cv::BackgroundSubtractorMOG‫‌سازی‬‫ه‬‫پیاد‬‫کرده‬‫است‬.‫و‬‫به‬
‫عنوان‬‫یک‬‫زیرکالس‬‫از‬‫کالس‬‫عمومی‬‫تر‬cv::BackgroundSubtractor‫تعریف‬‫شده‬‫است‬.
•‫استفاده‬‫از‬‫این‬‫کالس‬‫به‬‫خصوص‬‫با‬‫پارامترهای‬‫پیش‬‫فرض‬‫آن‬‫بسیار‬‫ساده‬‫است‬.
30
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫مثال‬
•‫اشیای‬‫پیش‬‫زمینه‬‫در‬‫ویدیوی‬HALL.avi‫را‬‫با‬‫کمک‬‫الگوریتم‬‫مخلوط‬‫گاوسی‬‫استخراج‬‫می‬‫کنیم‬.
31
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
32
‫در‬ ‫شده‬ ‫مطرح‬ ‫نکات‬ ‫مبنای‬ ‫بر‬ ‫ها‬ ‫اسالید‬ ‫این‬‫فرادرس‬
«‫با‬ ‫تصویر‬ ‫پردازش‬ ‫آموزش‬»
‫است‬ ‫شده‬ ‫تهیه‬.
‫به‬ ‫آموزش‬ ‫این‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫کسب‬ ‫برای‬‫مراجعه‬ ‫زیر‬ ‫لینک‬‫نمایید‬.
faradars.org/fvimg9405
‫پردازش‬‫تصویر‬‫با‬
faradars.org/fvimg9405
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org

More Related Content

More from faradars

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

More from faradars (20)

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

آموزش پردازش تصویر با OpenCV - بخش هشتم