راهنمایی در مورد متد DetectMultiScale کتابخانه OpenCv - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

راهنمایی در مورد متد DetectMultiScale کتابخانه OpenCv

+1 امتیاز

سلام وقت بخیر
در مورد پارامترهای ورودی minNeighbors و scaleFactor توضیح میخواستم:

var faces = cascade.DetectMultiScale(
               image: grayImage,
               scaleFactor: 1.1,
               minNeighbors: 2,
               flags:  HaarDetectionType.DoRoughSearch | HaarDetectionType.ScaleImage,
minSize: new OpenCvSharp.Size(100, 100)
               );

 

سوال شده آذر 18, 1396  بوسیله ی shaghaghi (امتیاز 16)   2 3

1 پاسخ

+2 امتیاز
 
بهترین پاسخ
پارامتر scaleFactor :اندازه پرش بین مقیاس های مختلف را تعیین می کند . تنظیم این پارامتر به مقدار بالاتر به معنی سریع تر بودن کد ( بار محاسباتی پایین) و همچنین دقت پایین تر پروسه شناسایی .چون گام تغییر scale ممکن است به اندازه ای بزرگ باشد که  بر روی آبجکت مدنظرمان فیت نشود.
 
 پارامتر minNeighbors : کنترل برای جلوگیری ازfalse detection است. به طور مثال در کاربرد شناسایی چهره مکان های واقعی چهره در یک تصویر معمولا "بازدید" چندگانه را در همان ناحیه به دست می آورند . تنظیم این پارامتر بر روی 3 یعنی نواحی به عنوان چهره تشخیص داده شوند که ناحیه مورد نظر 3 بار رای جهت چهره بودن این ناحیه دریافت کرده باشد.
پاسخ داده شده آذر 18, 1396 بوسیله ی عباس مولایی (امتیاز 2,754)   1 5 13
انتخاب شد آذر 18, 1396 بوسیله ی shaghaghi
ضمن تشکر از پاسخگویی شما
با این تفاسیر که فرمودید
حالا بفرمایید که اگر در نظر داشته باشیم تابعی بنویسیم تا ارزیابی کند آیا تصویر مرود نظر شامل دست کم یک چهره است یا خیر.
مطابق تجربه شما برای دستیابی به بهترین نتیجه این پارامترها را با چه اعدادی مقدار دهی کنیم؟
اگر قصد دارید یک کار دم دستی انجام بدید min =3 و scale=1.1 قرار بدید و اگر تصمیم دارید کار را با دقت بالاتر انجام بدید باید سراغ روش های دیگه  برید.
...