فیلتر کالمن در ردیابی اجسام متحرک در متلب

فیلتر کالمن در ردیابی اجسام متحرک در متلب

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

طرح مسئله

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

چالش های پردازش تصویر

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

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

حتما بخوانید:  مهندسی ویژگی چیست و چه تکنیک هایی دارد؟

مدل سازی

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

مدل حرکت توپ در جعبه، فیلتر کالمن در ردیابی اجسام متحرک در متلب

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

چالش عدم دقت در پردازش تصویر اجسام متحرک

راه حل

حال نتبجه پردازش تصویر را پس از اعمال فیلتر کالمن در ردیابی اجسام متحرک در متلب مشاهده می کنیم. با دقت در تصاویر زیر و مقایسه آن ها با تصاویر مدل قبل از اعمال فیلتر به تفاوت‌های قابل توجهی پی می بریم. نقاطی که با حرف K به نشانه Kalman Calculated استفاده شده اند نشان دهنده پردازش اصلاح شده می باشند. همه نقاط کالمن، به محور visual حقیقی نزدیکترند تا محوری که با عنوان D با دقت کمتری پردازش شده است. لذا نتیجه می شود که ظاهرا فیلتر‌های کالمن مشکل عدم دقت را حل کرده اند.

محور کالمن در پردازش تصویر

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

حتما بخوانید:  فشرده سازی تصویر با متلب - کوانتیزاسیون تصویر + ویدیو

پیشبینی به کمک فیلتر کالمن

کد فیلتر کالمن در ردیابی اجسام متحرک در متلب

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

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

حتما بخوانید:  پردازش تصویر چیست ؟ از صفر تا صد

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

1
2
3
Kalman Filter = configureKalmanFilter(MotionModel, InitialPosition, InitialEstimateError,...);
PredictedLocation =predict(KalmanFilterObject,...);
TrackedLocation =correct(KALMANfILTERoBJECT,mEASUREDpOSITION);

پارامترهای کالمن

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

 

1
2
3
4
5
MotionModel = 'ConstantAccerelation';
InitialLocation=FirstDetectedLocation ;
InitialEstimateError = [1 1 1]*1e5;
MotionNoise = [25 10 1]*1e5;
MesurementNoise=25;

تصویر اجسام متحرک با کدنویسی ساده فیلتر کالمن در ردیابی اجسام متحرک در متلب

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

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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