Perception دکتر سعید شیری قیداری کتاب 4 & فصل Amirkabir University of Technology Computer Engineering & Information Technology Department.

Download Report

Transcript Perception دکتر سعید شیری قیداری کتاب 4 & فصل Amirkabir University of Technology Computer Engineering & Information Technology Department.

Perception
‫دکتر سعید شیری قیداری‬
‫ کتاب‬4 ‫& فصل‬
Amirkabir University of Technology
Computer Engineering & Information Technology Department
‫نمایش عدم قطعیت‬
‫‪‬‬
‫تعریف خطا‪ :‬اختالف بین اندازه گیری سنسور و مقدار واقعی‬
‫‪‬‬
‫نمایش آماری‪ :‬میخواهیم از لحاظ آماری مشخصات خطای یک سنسور‬
‫را برای هر اندازه گیری پیدا کنیم‪.‬‬
‫اگر اندازه گیری را بصورت یک مسئله تخمین بیان کنیم‪ ،‬هدف تخمین‬
‫مقدار خطا از روی ‪n‬مقدار اندازه گیری شده است‪.‬‬
‫)‪E[X]=g(p1,p2,…,pn‬‬
‫‪‬‬
‫توزیع احتمال خطا‬
‫‪‬‬
‫میتوان ویژگیهای آماری مقدار خطا را با یک تابع توزیع‬
‫احتمال نشان داد‬
‫توزیع نرمال‬
‫‪‬‬
‫‪‬‬
‫معموال وقتی که مدل بهتری برای نمایش خطا نداشته باشیم از‬
‫توزیع نرمال استفاده میکنیم‪.‬‬
‫این توزیع خواص ریاضی بهتری نسبت به سایر روشها دارد‪.‬‬
‫استقالل متغیرهای تصادفی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در روبات متحرک فرض استقالل مقادیر اندازه گیری شده کاربرد‬
‫فراوانی دارد‪.‬‬
‫برای مثال درروباتی که با دو لیزر چپ و راست فاصله ها را اندازه‬
‫گیری میکند مقادیر اندازه گیری شده مستقل از هم خواهند بود‪.‬‬
‫این فرض برای دو متغیر تصادفی ‪X1, X2‬بصورت زیر است‪:‬‬
‫]‪E[X1 X2]= E[X1] E[X2‬‬
‫) ‪Var([X1 +X2)=Var(X1 )+Var(X2‬‬
‫انتشار خطا‬
‫‪‬‬
‫‪‬‬
‫روبات متحرک مجبور است تا برای استخراج اطالعات از محیط اندازه‬
‫گیری های زیادی انجام نموده و داده های آنها را با هم ترکیب نماید‪.‬‬
‫اما سیگنالهای حاصل از سنسورها همواره همراه با عدم قطعیت است‪.‬‬
‫معموال مایل هستیم که بدانیم‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫منبع عدم قطعیت کدامست‬
‫چگونه میتوان عدم قطعیت را نمایش داد‬
‫نحوه انتشار عدم قطعیت یک مقدارچگونه است‬
‫عدم قطعیت حاصل از قرائت های سنسورهای مختلف کدامست‬
‫مثالی ازانتشار خطا‬
‫‪‬فرض کنید که یک روبات متحرک‬
‫با استفاده از سنسوری قادر به اندازه‬
‫گیری فاصله نقاطی از یک دیوار‬
‫است‪ .‬هر یک از اندازه گیری ها با‬
‫عدم قطعیت همراه خواهند بود‪.‬‬
‫‪‬‬
‫در اینجا میخواهیم بدانیم در صورتی که عدم قطعیت اندازه‬
‫گیری هر یک از نقاط را بدانیم‪ ،‬مقدار عدم قطعیت دراندازه‬
‫تخمین محل خط استخراج شده چقدر خواهد بود‪.‬‬
‫سیستم انتشار خطا‬
‫‪‬‬
‫سیستم انتشار خطا یک سیستم دارای چندین ورودی و خروجی‬
‫است‪.‬‬
‫‪‬‬
‫میخواهیم از روی توزیع احتمال خطا برای سیگنال ورودی‬
‫‪Xi‬توزیع احتمال خطا برای سیگنال خروجی ‪ Yi‬را محاسبه‬
‫نمائیم‪.‬‬
‫قانون انتشار خطا‬
‫‪‬‬
‫برای مسایلی که انتشار خطا غیر خطی است میتوان نشان داد‬
‫که ماتریس کوواریانس خروجی از قانون انتشار خطای زیر‬
‫بدست میآید‪:‬‬
‫استخراج ویژگی‬
‫‪‬‬
‫‪‬‬
‫یک روبات متحرک باید بتواند با اندازه گیری از طریق‬
‫سنسورها و تعبیر اطالعات موجود در آن رابطه خود با‬
‫محیطش را بدست آورد‪.‬‬
‫برای اینکار نیازمند مدلی از محیط خواهیم بود که به کمک آن‬
‫بتوانیم داده های سنسورها را تعبیر کنیم‪.‬‬
‫استخراج ویژگی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫وقتی که سنسور اطالعاتی را اندازه گیری میکند به چند طریق‬
‫میتوان از این اطالعات استفاده نمود‪:‬‬
‫تعیین رفتار روبات با استفاده از اطالعات خام‬
‫استفاده از اطالعات سنسورها برای به روز کردن یک مدل و‬
‫تعیین رفتار روبات بصورت تابعی از مدل‬
‫استخراج اطالعات مفید از سنسورها و ایجاد یک درک سطح‬
‫باال از آن‬
‫ویژگی‬
‫‪ ‬ویژگی و یا ‪feature‬به ساختارهای قابل تشخیص در محیط گفته میشود‪.‬‬
‫‪ ‬ویژگی ها قابل استخراج از اندازه گیری ها بوده و قابل بیان توسط‬
‫روابط ریاضی هستند‪.‬‬
‫‪ ‬ویژگی ها را میتوان بصورت ‪ low level ,high level‬دسته بندی‬
‫نمود‪.‬‬
‫‪ low-level features (geometric primitives) like lines,‬‬
‫‪circles‬‬
‫‪ high-level features like edges, doors, tables or trash‬‬
‫‪cans.‬‬
‫‪‬‬
‫درروبات متحرک از ویژگی ها در ساختن مدل محیط بویژه برای مکان‬
‫یابی و ساختن نقشه محیط استفاده میشود‪.‬‬
‫مدل کردن محیط‬
‫‪‬‬
‫استفاده از اطالعات خام‪:‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از ویژگی های سطح پائین نظیر خطوط و دایره‪:‬‬
‫‪‬‬
‫‪‬‬
‫حجم زیادی دارند‪ ،‬میتوان از هر بیت اطالعاتی بصورت مستقل استفاده نمود‪.‬‬
‫حجم اطالعات را کاهش میدهد‪ ،‬اطالعات ضعیف و ناقص حذف میشوند‪.‬‬
‫استفاده از ویژگی های سطح باال مثل اشیا‪ ،‬درب‪ ،‬دیوارها‪:‬‬
‫‪‬‬
‫حجم اطالعات بسیار کاهش می یابد‪ ،‬خطر از بین رفتن اطالعات در اثر فیلترینگ‬
‫مرحله استخراج ویژگی وجود دارد‪.‬‬
‫مثالی از استخراج ویژگی‬
‫استخراح ویژگی بر اساس اطالعات فاصله‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اغلب ویژگی های استخراج شده از سنسورهای فاصله شامل‬
‫ویژگیهای هندسی ابتدائی نظیر خط و دایره میشود‪.‬‬
‫در محیط های داخل اتاق اطالعاتی نظیر خطوط بسیار‬
‫سودمند هستند‪.‬‬
‫اطالعات اندازه گیری شده با یک مدل و یا ‪ template‬از‬
‫پیش تعیین شده تطبیق داده میشوند‪.‬‬
‫بعلت وجود خطا در اندازه گیری این مسایل بصورت یک‬
‫مسئله ‪ optimization‬بررسی میشوند‪.‬‬
‫استخراج اطالعات یک خط از داده های‬
‫سنسور فاصله ‪Line Extraction‬‬
‫‪‬‬
‫میخواهیم مطابق شکل زیر با استفاده از اندازه گیرهای انجام‬
‫شده توسط یک سنسور فاصله ویژگی های یک خط را‬
‫استخراج نمائیم‪.‬‬
‫•بعلت وجود خطا در اندازه گیری نقاط یک‬
‫خط واحدی که از تمام نقاط عبور کند وجود‬
‫نخواهد داشت‪ .‬از اینرو ناگزیر هستیم بهترین‬
‫خطی که از نقاط عبور میکند را برگزینیم‪.‬‬
‫استخراج خط‬
‫‪ ‬فرض کنید اندازه گیری ها در مختصات قطبی انجام شده باشد)‪.xi=(ri, qi‬‬
‫‪ ‬هر اندازه گیری را میتوان با دو متغیر تصادفی مدل کرد‪:‬‬
‫)‪Xi=(Pi,Qi‬‬
‫‪ ‬در این بررسی فرض میشود که عدم قطعیت مقادیر ‪ P, Q‬مستقل از هم‬
‫باشد‪ .‬از اینرو‪:‬‬
‫]‪E[Pi,Pj,]= E[Pi] E[Pj‬‬
‫]‪E[Q i, Q j,]= E[Q i] E[Q j‬‬
‫]‪E[Pi, Q j,]= E[Pi] E[Q j‬‬
‫همینطور فرض میشود که اندازه گیری ها‬
‫دارای توزیع احتمال گوسی باشند‬
‫استخراج خط‬
‫‪‬‬
‫‪‬‬
‫اگر خطا در اندازه گیری وجود نداشت میشد فرض کرد که‬
‫تمام نقاط در روی خط زیر قرار دارند‪:‬‬
‫‪rcos(q-a) –r=0‬‬
‫بدیهی است که بعلت وجود خطا این معادله برقرار نخواهد بود‪.‬‬
‫‪rcos(q-a) –r=d‬‬
‫‪r‬‬
‫‪q‬‬
‫در برخی از روشهای استخراج ویژگی از این فاصله‬
‫عمودی بعنوان معیاری برای خطا استفاده میشود‬
‫استخراج خط‬
‫‪‬‬
‫‪‬‬
‫بازا ی هر اندازه گیری میتوان فاصله عمودی را بصورت‬
‫زیر نوشت‪:‬‬
‫‪ricos(qi-a) –r=di‬‬
‫اگر همه اندازه گیری های به یک اندازه خطا داشته باشند‬
‫میتوان مجموع خطا را بصورت زیر نوشت‪:‬‬
‫‪r i cos(q i a )r ‬‬
‫‪2‬‬
‫‪‬‬
‫میتوان با استفاده از روابط زیر خطا را مینیمم نمود‬
‫‪unweighted least squares solution‬‬
‫‪S‬‬
‫‪0‬‬
‫‪r‬‬
‫‪S  di  ‬‬
‫‪2‬‬
‫‪i‬‬
‫‪i‬‬
‫‪S‬‬
‫‪0‬‬
‫‪a‬‬
‫استخراج خط‬
‫‪‬‬
‫‪‬‬
‫اعمال وزن به اندازه گیری ها‪:‬‬
‫در عمل ممکن است اندازه گیری نقاط مختلف با خطاهای‬
‫متفاوتی انجام شده باشد‪ ،‬مثال در یک سیستم مبتنی بر استریو‬
‫مقدار خطا با افزایش فاصله زیادتر میشود‪ .‬در اینصورت‬
‫میتوان با استفاده از انحراف معیار اندازه گیری‪ ،‬وزنی را‬
‫بصورت زیر برای هر داده تعریف نمود‪:‬‬
‫‪1‬‬
‫‪2‬‬
‫‪i‬‬
‫‪‬‬
‫‪w‬‬
‫‪‬‬
‫‪i‬‬
‫در اینصورت مجموع خطا برابر است با‪:‬‬
‫‪r i cos(q i a )r ‬‬
‫‪2‬‬
‫‪S   wi d   wi‬‬
‫‪2‬‬
‫‪i‬‬
‫‪i‬‬
‫‪i‬‬
‫استخراج خط‬
‫‪‬‬
‫میتوان نشان داد که در صورت استفاده از رابطه فوق مقادیر‬
‫زیر برای خط قابل محاسبه خواهند بود‪:‬‬
‫استخراج خط‬
‫‪‬‬
‫مثالی از اعمال روش فوق به ‪ 17‬داده حاصل از یک لیزر‪:‬‬
‫استفاده از هیستوگرام‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫هیستوگرام روشی ساده برای ترکیب ویژگی هاست‪.‬‬
‫یک هیستوگرام زاویه اطالعات آماری حاصل از خطی که با‬
‫اتصال دو نقطه مجاور بدست میآید را نشان میدهد‪.‬‬
‫شکل بعد نقاط حاصل از اسکن ‪ 360‬درجه یک اتاق و‬
‫هیستوگرام زاویه ای حاصل را نشان میدهد‪.‬‬
‫هرپیک بلند موجود در هیستوگرام مربوط به جفت دیوارهای‬
‫موازی است‪.‬‬
‫استفاده از هیستوگرام‬
‫استخراج ویژگی از تصاویر )‪(vision‬‬
‫مراحل‬

Conditioning



Labeling


Identification of the events by collecting together pixel
participating in the same kind of event
Extracting


Determination of the spatial arrangement of the events, i.e.
searching for a structure
Grouping


Suppresses noise
Background normalization by suppressing uninteresting
systematic or patterned variations.
Done by: gray-scale modification (e.g. trasholding) (low
pass) filtering
Compute a list of properties for each group
Matching
‫آماده سازی تصویر‬
‫‪‬‬
‫تمامی سنسورهای ویژن تصویر را به همراه مقدار قابل‬
‫توجهی نویز تحویل میدهند‪ .‬از اینرو قبل از هر الگوریتم‬
‫استخراج ویژگی الزم است تا تصویر از نویز تمیز شود‪.‬‬
‫هموار سازی تصویر‬
‫‪‬‬
‫‪‬‬
‫بسیاری از الگوریتم های پردازش تصویر از مشتق دوم شدت‬
‫نور تصاویر استفاده میکنند‪ .‬بعلت حساسیت زیاد این روشها به‬
‫تغییرات روشنائی الزم است تا سیگنال تصویر هموار گردیده‬
‫و نویز آن حذف شود )‪. (smoothing‬‬
‫یک روش استاندارد انجام کانولوشن با یک تابع گاوسی است‬
‫که بصورت زیر تقریب زده میشود‪.‬‬
‫‪I GI‬‬
‫‪1 2 1 ‬‬
‫‪1 ‬‬
‫‪G  2 4 2‬‬
‫‪16‬‬
‫‪1 2 1‬‬
‫مثال‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫استفاده از تصاویر برای‬
‫هدایت روبات در یک راهرو‬
‫تصویر سمت چپ مربوط به‬
‫راهرو و تصویر سمت‬
‫راست نقشه ای است که با‬
‫استفاده از اطالعات لبه‬
‫بدست آمده است‪.‬‬
‫تصویر زیرین فقط لبه های‬
‫عمودی را نشان میدهد‬
‫تشخیص لبه‬
‫‪‬‬
‫‪‬‬
‫لبه به نواحی از یک تصویر گفته میشود که دارای تغییرات‬
‫قابل توجهی در ‪brightness‬باشند ‪.‬‬
‫تشخیص لبه باعث کاهش در مقدار اطالعات موجود در‬
‫تصویر میشود ‪.‬فرض بر این است که لبه ها مربوط به نواحی‬
‫مهمی از تصویر باشند )در عمل ممکن است نویز و یا لبه‬
‫های پیدا نشده این فرض را باطل کند‪(.‬‬
‫تشخیص لبه‬
‫تصویر سقف و لبه تشخیص داده شده برای آن‬
‫مشکالت تشخیص لبه‬
‫‪‬‬
‫در تصاویر گرفته شده توسط دوربین مقدار قابل توجهی نویز وجود دارد‪.‬‬
‫‪‬‬
‫اگر صرفا از مشتق گیری استفاده شود وجود نویز باعث بوحود آمدن‬
‫پیک هائی خواهد شد که عمل تشخیص لبه را مشکل خواهد نمود‪.‬‬
‫‪‬‬
‫از اینرو اکثر روشهای تشخیص لبه از ترکیب هموارسازی و مشتق‬
‫گیری استفاده میکنند‪.‬‬
‫تشخیص لبه توسط روش ‪Canny‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در سال ‪ 1983‬توسط ‪ John Canny‬اختراع شد‪.‬‬
‫تصویر ‪ I‬با یک تابع گوسی کانوالو شده و ماکزیمم تصویر‬
‫مشتق گیری شده جستجو میشود‪.‬‬
‫این روش مراحل الزم برای تشخیص لبه یعنی هموارسازی و‬
‫مشتق گیری را در یک مرحله انجام میدهد‪.‬‬
‫‪(G  I ) '  G '  I‬‬
‫تشخیص لبه توسط روش‪Canny‬‬
‫‪‬‬
‫تصویر بجای کانوالو شدن با تابع گوسی با مشتق آن کانوالو میشود‬
‫‪(G  I )'  G '  I‬‬
‫تشخیص لبه توسط روش‪Canny‬‬
‫مراحل انجام در یک بعد‪:‬‬
‫‪ ‬تصویر ‪ I‬با ’‪ G‬کانوالو میشود تا نتیجه ‪ R‬بدست آید‬
‫‪ ‬قدر مطلق ‪ R‬را بدست میآوریم‬
‫‪ ‬مقادیری از |‪ |R‬را که از یک مقدار آستانه بیشتر هستند‬
‫عالمت میگذاریم‪ .‬مقدار آستانه طوری انتخاب میشود که پیک‬
‫های ناشی از نویز حذف شوند‪.‬‬
: Canny ‫تشخیص لبه توسط روش‬
‫مثال یک بعدی‬
(a) Intensity 1-D profile of an ideal step edge.
(b) Intensity profile I(x) of a real edge.
(c) Its derivative I’(x).
(d) The result of the convolution R(x) = G’  I, where
G’ is the first derivative of a Gaussian function.
‫تشخیص لبه توسط روش‪Canny‬‬
‫‪‬‬
‫در حالت دو بعدی به خاطر اینکه ’‪ G‬جهت دار است نیاز به‬
‫اعمال دو فیلتر عمود بر هم خواهیم داشت‪.‬‬
‫تشخیص لبه توسط روش‪Canny‬‬
‫الگوریتم تشخیص لبه در هر جهت دلخواه‪:‬‬
‫‪ ‬تصویر )‪I(x,y‬را با )‪ fV(x,y‬و )‪ fH(x,y‬کانوالو کنید تا مقادیر گرادیان‬
‫)‪Rv(x,y‬و )‪ RH(x,y‬بدست آید‪.‬‬
‫‪ ‬مقدار مربع مقادیر گرادیان را محاسبه کنید‪:‬‬
‫)‪R (x,y)= R2H(x,y)+ R2V(x,y‬‬
‫‪ ‬مقادیری از )‪ R (x,y‬را که از یک حد آستانه بیشتر هستند عالمت‬
‫گذاری کنید‪.‬‬
‫‪ ‬با روش ‪ nonmaxima suppression‬مقادیری از گرادیان را که‬
‫بصورت ماکزیمم محلی نیستند با صفر عوض کنید ‪.‬اینکار عرض لبه ها‬
‫را به یک پیکسل تغییر خواهد داد‪.‬‬
‫‪ ‬مجموعه ای از نقاطی که مجاور هم هستند را پیدا کرده و در یک لیست‬
‫مرتب شده قرار دهید‪ .‬با استفاده از یک حد آستانه لبه های ضعیف را‬
‫حذف کنید‪.‬‬
‫‪Nonmaxima Suppression‬‬
‫‪ ‬خروجی یک اپراتور تشخیص لبه‬
‫معموال یک تصویر سیاه و سفید است که‬
‫در آن مقادیر گرادیانی که بیشتر از یک‬
‫حد آستانه هستند بصورت سیاه و سایر‬
‫نقاط بصورت سفید ظاهر میشوند‪.‬‬
‫‪ ‬عمل ‪Nonmaxima‬‬
‫‪Suppression‬باعث بوجود آمدن‬
‫کانتورهائی میشود که عرض آنها فقط‬
‫یک پیکسل میباشد‪.‬‬
‫در واقع پیکسلهائی از تصویر لبه که‬
‫بصورت محلی ماکزیمم نیستند با صفر‬
‫جایگزین میشوند تا لبه ها عرضی برابر‬
‫با یک داشته باشند‪.‬‬
Canny‫تشخیص لبه توسط روش‬
‫مثال دو بعدی‬
a) Example of Canny edge detection
b) After nonmaxima suppression
The Need for Thresholding

Many non-zero pixels in
the result of nonmaxima
suppression represent
very weak edges.
gray
nonmaxima
nonmaxima > 0
Hysteresis Thresholding




Use two thresholds, t1 and t2.
Pixels above t2 survive.
Pixels below t1 do not survive.
Pixels >= t1 and < t2 survive if:

They are connected to a pixel >= t2 via an 8connected path of other pixels >= t1.
Hysteresis Thresholding
Example
A = nonmaxima >= 4
B = nonmaxima >= 8

A pixel is white in C if:


C = hysthresh(nonmaxima, 4, 8)
It is white in A, and
It is connected to a white
pixel of B via an 8-connected
path of white pixels in A.
‫تشخیص لبه به روش گرادیان‬
‫‪‬‬
‫‪‬‬
‫معموال یک روبات متحرک اگر بخواهد بصورت بالدرنگ‬
‫عمل نماید با مشکل کمی زمان مواجه بوده و ممکن است قادر‬
‫به استفاده از روش ‪ Canny‬برای تشخیص لبه نباشد‪ .‬در‬
‫چنین مواردی از روشهای ساده شده این الگوریتم استفاده‬
‫میشود‪.‬‬
‫در این روشها از تصویر با ماسکهای از پیش تعیین شده ای‬
‫کانوالو میشود‪.‬‬
‫‪Roberts‬‬
‫‪Prewitt‬‬
‫‪Sobel‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تشخیص لبه به روش گرادیان‬
Sobel ‫مثالی از روش‬
a) Raw image
c) Thresholding
b) Filtered (Sobel)
d) Nonmaxima suppression
‫مقایسه روشهای تشخیص لبه‬
‫‪Seconds‬‬
‫زمان الزم برای تشخیص لبه در یک تصویر‪780 x 560‬‬
‫‪Roberts‬‬
‫‪Prewitt‬‬
‫زمان محاسبه لبه با دقت الگوریتم متناسب است!‬
‫‪Sobel‬‬
‫‪Canny‬‬
‫‪5x5‬‬
‫‪Canny‬‬
‫‪7x7‬‬
‫پیدا کردن حد آستانه بصورت پویا‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫بسیاری از الگوریتم های پردازش تصویر نیازمند استفاده از یک حد‬
‫آستانه هستند‪.‬‬
‫برای یک روبات متحرک استفاده از مقدار ثابت نمیتواند مفید باشد زیرا‬
‫روبات در محیطی پویا در حال حرکت است و روشنائی محیط دائم در‬
‫حال تغییر میباشد‪.‬‬
‫این امکان وجود دارد که با بررسی آماری تصویر مورد پردازش مقدار‬
‫آستانه را تعیین نمود‪.‬‬
‫در مورد حد آستانه تشخیص لبه میتوان از هیستوگرام مقادیر گرادیان‬
‫استفاده نموده و فقط تعداد ‪ n‬پیکسل که دارای بیشترین مقدار هستند را‬
‫انتخاب نمود‪.‬‬
‫مقدار گرادیان نقطه ای که ‪ n‬مشخص میکند بعنوان حد آستانه انتخاب‬
‫میشود‪.‬‬
‫پیدا کردن حد آستانه بصورت پویا‬
(a) Number of pixels with
a specific gradient
magnitude in the
image of Figure 1.2(b).
(b) Same as (a), but
with logarithmic
scale
‫تبدیل هاف‬
‫‪Hough Transform‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تبدیل هاف روشی ساده برای پیدا کردن یک شکل مشخص در‬
‫تصویر میباشد‪ .‬این روش برای منحنی هائی استفاده میشود که‬
‫قابل بیان در فضای پارامتر باشند‪.‬‬
‫هر نقطه ‪ xp,yp‬متعلق به یک خط با معادله ‪y = m x + b‬‬
‫باید محدویت ‪ yp = m xp + b‬را داشته باشد‪.‬‬
‫تبدیل هاف نقاط یک تصویر را برای پیدا کردن ‪ m‬و ‪ b‬که‬
‫تشکیل یک خط میدهند را مورد جستجو قرا ر میدهد‪.‬‬
‫تبدیل هاف برای یک خط‬
b
y
b
1
P3
1
P2
P3
P3
P2
P2
P1
1
P1
P1
a
x
Points of a line
Points in Hough space
( y=ax+b )
x
y
b=( -x) a+y
P1
0
1
b=1
P2
1
2
b=-a+2
P3
2
3
b=-2a+3
1
1
1
3
1
1
1
1
1
1
Digitizes line
intersection in
Hough space
(Voting)
a
‫تبدیل هاف برای یک خط‬
‫الگوریتم‬
‫‪ ‬یک آرایه دو بعدی ]‪ A [m,b‬تشکل دهید که محورهای آن را ‪ m‬و ‪b‬‬
‫تشکیل داده باشند‪.‬‬
‫‪ ‬آرایه فوق را با صفر عدد دهی اولیه نمائید‪.‬‬
‫‪ ‬برای هر پیکسل )‪ (xp, yp‬موجود در تصویربرای تمام مقادیر ‪ m‬و ‪b‬‬
‫اگر رابطه‬
‫‪yp = m xp + b‬‬
‫برقراربود مقدار ]‪A [m,b‬را یک واحد افزایش دهید‪.‬‬
‫‪‬‬
‫مقادیر جدول را حستجو نموده و سلولهای با بیشترین مقدار ‪A‬را پیدا‬
‫کنید‪ .‬هر سلول مقداری برای ‪ m‬و ‪ b‬مشخص میکند که به یک خط در‬
‫تصویر تعلق دارد‪.‬‬
‫تبدیل هاف برای یک دایره‬
xi a  yi b  r
‫برای دایره با معادله‬
‫میتوان آنرا بصورت پارامتریک زیر نوشت‬
y b
tan ψ  π 2 
a
2
2
a x   b y   r
2
2
i
i
2
2
i
i
x
y
i
a  x i  rcos( ψi  π/2)
Pi ( x i , yi )
b  yi  rsin( ψi  π/2)


( a, b)
b  tan ψ  π 2 a  xi   y
i
0
i
xi
a
x
r
r
o
i
yi
o
b
a
i-/2
b


‫استخراج کف زمین‬
‫‪Floor plane extraction‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫برای پیدا کردن سطحی از زمین که روبات بتواند در روی‬
‫آن حرکت کند استفاده میشود‪.‬‬
‫در بسیاری از روشهای پیاده سازی شده از اطالعات لبه ها و‬
‫رنگ استفاده میشود‪.‬‬
‫برای مواردی مفید است که‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫اشیا و موانع از لحاظ ظاهری با کف زمین تفاوت داشته باشند‪.‬‬
‫کف زمین صاف بوده و زاویه آن با روبات مشخص باشد‪.‬‬
‫موانعی که از سقف آویزان شده باشند وجود نداشته باشد‪.‬‬
‫استخراج کف زمین‬
‫‪Floor plane extraction‬‬
‫مراحل‪:‬‬
‫‪ ‬در مرحله پیش پردازش تصویر با یک گاوسین هموارسازی‬
‫میشود‪.‬‬
‫‪ ‬یک آرایه هیستوگرام ‪ H‬با ‪ n‬مقداربرای شدت تصویر مربوط‬
‫به نمونه کف ایجاد میشود که مقادیر اولیه آن بصورت زیر‬
‫باشد‪.‬‬
‫‪H[i]=0 for i=1,...,n‬‬
‫‪ ‬برای هر پیکسل در تصویر هموارشده مقدارهیستوگرام‬
‫مربوطه یکواحد افزایش داده میشود ‪H[If(x,y)] +=1‬‬
‫استخراج کف زمین‬
‫‪Floor plane extraction‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫گاهی اوقات چندین هیستوگرام یک بعدی از شدت تصویر‪،‬‬
‫‪Hue‬و ‪ saturation‬ایجاد میشود‪.‬‬
‫برای دسته بندی یک پیکسل بعنوان کف زمین و یا مانع‪،‬‬
‫مقدار شدت آن پیکسل با مقادیر موجود در هیستوگرام مقایسه‬
‫شده و اگر از یک مقدار آستانه کمتر بود بعنوان مانع و در‬
‫غیر اینصورت بعنوان کف زمین عالمت گذاری میشود‪.‬‬
‫این روش برای کاربردهای داخل و خارج اتاق نظیر‬
‫ویلچیرهای خودکار و روباتهای چمن زن استفاده شده است‪.‬‬
‫استخراج کف زمین‬
Floor plane extraction