درباره نویسنده

مطالب مشابه

یک دیدگاه

  1. 1

    حیدری

    در این فیلم آموزشی متاسفانه مفهوم دقیق معیار likelihood گفته نشده اگر امکانش هست می شه معیار likelihood رو توضیح بدید که دقیقا چی هست؟

    پاسخ
  2. 2

    sahar

    سپاس فروان از پکیج های خوبتون.

    من باید یک جسم متحرک رو در ویدِیو با فیلتر ذره ردیابی کنم. فیلم فیلتر ذره و تشخیص جسم رو دیدم. سوالی .که دارم اینه که چطوری یک جسم رو در ویدیو تشخیص بدم بعد به ورودی فیلتر ذره اعمال کنم.

    ممنون میشم راهنمایی کنین. یا این که ویدیویی در این مورد در سایت قرار دهید که تهیه کنیم.

    ممنون

    پاسخ
    1. 2.1

      ایران متلب

      سلام
      اگر به نمونه کدها توجه بفرمایید شما باید ویژگی در جسم را مشخص کنید. مثلا اگر جسم قرمز رنگ است باید مقدار
      [255 0 0]
      را به عنوان مقدار هدف تعیین کنید
      خلاصه اینکه ببینید چه ویژگی متمایزی جسم دارد می تواند رنگ باشد
      می تواند مساحت بیشتر
      در برخی اوقات لازم است تصویر را مورد پردازش قرار دهید تا جسم متمایز تر شود و سپس از فیلتر ذره استفاده کنید

      پاسخ
  3. 3

    سحر اوجان

    با سلام
    من باید یک جسم رو در فریم ویدئو تشخیص بدم بعد با فیلتر ذره ردیابی کنم. طبق ویدئو های تشخیص اجسام در این سایت تونستم جسم رو در فریم اول منطبق کنم. سوال من هم در مورد قسمت likelihood هست که چطوری تعریف شه و اینکه تشخیص جسم رو قبل از اعمال فیلتر انجام بدم یا اینکه در قسمت فیلتر.
    ممنون میشم راهنمایی کنین یا اینکه فیلمی در این رابطه در سایت قرار دهید.

    پاسخ
    1. 3.1

      ایران متلب

      سلام

      در تعریف فیلتر ذره شما باید پارامتری به نام MeasurementLikelihoodFcn را تعریف کنید که اشاره به یک تابع دارد. مثلا
      pf.MeasurementLikelihoodFcn = @exampleHelperCarBotMeasurementLikelihood;

      خوب این تابع exampleHelperCarBotMeasurementLikelihood تعریف likelihood می باشد. اگر داخل این تابع را مشاهده کنید :

      function likelihood = exampleHelperCarBotMeasurementLikelihood(pf, predictParticles, measurement)
      % The measurement contains all state variables
      predictMeasurement = predictParticles;
      % Calculate observed error between predicted and actual measurement
      % NOTE in this example, we don’t have full state observation, but only
      % the measurement of current pose, therefore the measurementErrorNorm
      % is only based on the pose error.
      measurementError = bsxfun(@minus, predictMeasurement(:,1:3), measurement);
      در این خط خطای بین مقدار اندازه گیری و مقدار واقعی را حساب کرده
      measurementErrorNorm = sqrt(sum(measurementError.^2, 2));
      سپس مجموع گرفته و به توان 2 رسونده و جذر گرفته که میشه نرم خطا
      % Normal-distributed noise of measurement
      % Assuming measurements on all three pose components have the same error distribution
      measurementNoise = eye(3);
      سپس یک ماتریس 3 در 3 ساخته که همه عناصر قطر اصلی 1 است .
      % Convert error norms into likelihood measure.
      % Evaluate the PDF of the multivariate normal distribution
      likelihood = 1/sqrt((2*pi).^3 * det(measurementNoise)) * exp(-0.5 * measurementErrorNorm);
      این رابطه محاسبه likelihood می باشد . که نرم خطا و ماتریس واحد 3 در 3 را در آن گذاشته و مقدارش محاسبه کرده .
      end

      شما اگر دنبال هر معیاری برای فیلتر ذره هستید باید پارامتر measurement را که ورودی تابع هست تغییر بدهید.

      پاسخ

پاسخ دهید

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

طراحی شده توسط ایران متلب 1388-1396