نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

فیلتر سیگنال میانه فیلتر میانه

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

نویز ضربه ایمعمولاً از شبه ناشی می شود رویدادهای تصادفی. به عنوان مثال، یک رادیو دو طرفه ممکن است در نزدیکی دستگاه شما سوئیچ کند، یا ممکن است نوعی تخلیه ساکن رخ دهد. هر زمان که این اتفاق بیفتد، سیگنال ورودی ممکن است به طور موقت مخدوش شود.

به عنوان مثال، در نتیجه تبدیل آنالوگ به دیجیتالما سری مقادیر زیر را دریافت می کنیم: 385, 389, 912, 388, 387. مقدار 912 احتمالاً غیرعادی است و باید رد شود. اگر سعی کنید از کلاسیک استفاده کنید فیلتر خطمتوجه خواهید شد که مقدار 912 تاثیر بسزایی در خروجی خواهد داشت. بهترین راه حلدر این حالت از فیلتر میانه استفاده می شود.

علیرغم بدیهی بودن این رویکرد، در تجربه من، فیلترهای میانه به طور شگفت انگیزی به ندرت در سیستم های تعبیه شده استفاده می شوند. این ممکن است به دلیل عدم آگاهی از وجود آنها و مشکل در اجرا باشد. امیدوارم پست من تا حدودی این موانع را برطرف کند.

اندیشه فیلتر میانهساده. میانگین را از گروهی از مقادیر ورودی انتخاب می کند و آن را خروجی می کند. علاوه بر این، معمولا یک گروه دارای تعداد فرد است، بنابراین مشکلی برای انتخاب وجود ندارد

تا همین اواخر سه کلاس را از هم متمایز می کردم فیلترهای میانه، در تعداد مقادیر استفاده شده متفاوت است:

فیلتر با استفاده از 3 مقدار (کوچکترین فیلتر ممکن)،
- فیلتر با استفاده از مقادیر 5، 7 یا 9 (بیشترین استفاده)
- با استفاده از 11 مقدار یا بیشتر فیلتر کنید.

اکنون به یک طبقه بندی ساده تر می پردازم:

فیلتر با استفاده از 3 مقدار،
- فیلتر با استفاده از بیش از 3 مقدار.

فیلتر میانه 3

این کوچکترین فیلتر ممکن است. به راحتی با چند عبارت اجرا می شود و از این رو دارای یک و کوچک است کد سریع.


uint16_t middle_of_3(uint16_t a، uint16_t b، uint16_t c)
{
uint16_t وسط;

اگر یک<= b) && (a <= c)){
وسط = (ب<= c) ? b: c;
}
دیگر(
اگر ((ب<= a) && (b <= c)){
وسط = (الف<= c) ? a: c;
}
دیگر(
وسط = (الف<= b) ? a: b;
}
}

وسط برگشت؛
}

فیلتر میانه > 3

برای اندازه فیلتر بزرگتر از 3، پیشنهاد می کنم از الگوریتمی استفاده کنید که فیل اکستروم در شماره نوامبر 2000 برنامه نویسی سیستم های جاسازی شده توضیح داده است. Ekstrom از یک لیست پیوندی استفاده می کند. خوبی این روش این است که پس از مرتب شدن آرایه، حذف یک مقدار قدیمی و اضافه کردن یک مقدار جدید به هم ریختگی قابل توجهی در آرایه ایجاد نمی کند. بنابراین، این رویکرد با اندازه فیلترهای بزرگ به خوبی کار می کند.

به خاطر داشته باشید، برخی از اشکالات در کد اصلی منتشر شده وجود داشت که اکستروم بعداً آنها را برطرف کرد. با توجه به اینکه اکنون یافتن چیزی در embedded.com دشوار است، تصمیم گرفتم اجرای کد آن را منتشر کنم. کد در ابتدا به زبان Dynamic C نوشته شده بود، اما برای این پست به C استاندارد منتقل شد. کد قرار است کار کند، اما این شما هستید که آن را به طور کامل آزمایش کنید.


#define NULL 0
#define STOPPER 0 /* کوچکتر از هر داده ای */
#define MEDIAN_FILTER_SIZE 5

uint16_t MedianFilter (مقصد uint16_t)
{

جفت ساختار(
جفت ساختار *point; /* نشانگرهایی که لیست را تشکیل می دهند به ترتیب مرتب شده پیوند داده شده اند */
مقدار uint16_t; /* مقادیر برای مرتب سازی */
};

/* بافر جفت های nwidth */
بافر جفت ساختار استاتیک = (0);
/* اشاره گر به بافر دایره ای داده ها */
جفت ساختار استاتیک *datpoint = buffer;
/* درپوش زنجیری */
جفت ساختار استاتیک کوچک = (NULL، STOPPER);
/* اشاره گر به سر (بزرگترین) لیست پیوندی.*/
جفت ساختار ایستا big = (&small, 0);

/* اشاره گر به جانشین مورد داده جایگزین شده */
struct pair *successor;
/* اشاره گر برای اسکن لیست مرتب شده استفاده می شود */
جفت ساختار *اسکن;
/* مقدار قبلی اسکن */
جفت ساختار *scanold;
/* اشاره گر به میانه */
جفت ساختار *میانگین;
uint16_t i;

اگر (مقصد == STOPPER)(
داده = STOPPER + 1; /* توقف ممنوع است. */
}

اگر ((++ نقطه داده - بافر) >= MEDIAN_FILTER_SIZE)(
نقطه داده = بافر; /* داده ها را در نشانگر افزایش و بسته بندی کنید.*/
}

Datpoint->value = datum; /* کپی در داده جدید */
جانشین = datpoint->point; /* اشاره گر را در جانشین مقدار قدیمی ذخیره کنید */
میانه = /* میانه در ابتدا تا اولین در زنجیره */
scanold = NULL; /* Scanold در ابتدا null است. */
اسکن = /* به اولین (بزرگترین) داده در زنجیره اشاره می کند */

/* زنجیر کردن اولین مورد در زنجیره به عنوان مورد خاص */
if (اسکن->نقطه == نقطه داده)(
scan->point = جانشین;
}


scan = scan->point ; /* زنجیره پایین آمدن */

/* حلقه را از طریق زنجیره، خروج از حلقه معمولی از طریق شکست. */
برای (i = 0؛ i< MEDIAN_FILTER_SIZE; ++i){
/* دسته بندی آیتم با شماره فرد در زنجیره */
if (اسکن->نقطه == نقطه داده)(
scan->point = جانشین; /* داده های قدیمی را زنجیر کنید.*/
}

اگر (scan->value< datum){ /* If datum is larger than scanned value,*/
datpoint->point = scanold->point; /* آن را در اینجا زنجیر کنید. */
scanold->point = نقطه داده; /* آن را با زنجیر علامت گذاری کنید. */
داده = STOPPER;
};

/* بعد از انجام عنصر با اعداد فرد، نشانگر میانه را به سمت پایین زنجیره پایین بیاورید */
میانه = میانه->نقطه; /* نشانگر میانه گام. */
اگر (اسکن == &small)(
زنگ تفريح؛ /* شکستن در انتهای زنجیره */
}
scanold = اسکن; /* این اشاره گر را ذخیره کنید و */
scan = scan->point; /* زنجیره پایین آمدن */

/* اقلام با شماره زوج را به صورت زنجیره ای مدیریت کنید. */
if (اسکن->نقطه == نقطه داده)(
scan->point = جانشین;
}

اگر (scan->value< datum){
datpoint->point = scanold->point;
scanold->point = نقطه داده;
داده = STOPPER;
}

اگر (اسکن == &small)(
زنگ تفريح؛
}

اسکنولد = اسکن;
scan = scan->point;
}

return median->value;
}

برای استفاده از این فیلتر، هر بار که یک مقدار ورودی جدید دریافت می کنید، کافی است تابع را فراخوانی کنید. تابع میانگین آخرین مقادیر دریافتی را که تعداد آنها با ثابت MEDIAN_FILTER_SIZE تعیین می شود، برمی گرداند.

این الگوریتم می تواند از مقدار رم مناسبی استفاده کند (البته بسته به اندازه فیلتر) زیرا مقادیر ورودی و اشاره گرها را به ساختارها ذخیره می کند. با این حال، اگر این یک مشکل نیست، پس الگوریتم در واقع برای استفاده خوب است زیرا به طور قابل توجهی سریعتر از الگوریتم های مبتنی بر مرتب سازی است.

فیلتر میانه بر اساس مرتب سازی

در نسخه قدیمی این مقاله، برای فیلترهای میانه با اندازه 5، 7 یا 9، از رویکرد الگوریتم مرتب‌سازی حمایت کردم. حالا نظرم عوض شده. با این حال، اگر می خواهید از آنها استفاده کنید، کد اصلی را در اختیار شما قرار می دهم:


اگر (ADC_Buffer_Full)(

Uint_fast16_t adc_copy;
uint_fast16_t filtered_cnts;

/* داده ها را کپی کنید */
memcpy(adc_copy، ADC_Counts، sizeof(adc_copy));

/* مرتبش کن */
shell_sort(adc_copy، MEDIAN_FILTER_SIZE);

/* مقدار وسط را بگیرید */
filtered_cnts = adc_copy[(MEDIAN_FILTER_SIZE - 1U) / 2U];

/* تبدیل به واحدهای مهندسی */
...

نتیجه

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

با در نظر گرفتن این اخطارها، من همچنان اکیداً توصیه می کنم که از فیلترهای میانه در طراحی های خود استفاده کنید.

1. مشخصات فنی

صدای گاوسی - "گاوسی"

تصویر اصلی.

اصل فیلتراسیون

میانه ها از دیرباز در آمار به عنوان جایگزینی برای میانگین های حسابی نمونه ها در تخمین میانگین نمونه ها مورد استفاده و مطالعه قرار گرفته اند. میانه یک دنباله اعداد x 1، x 2، ...، x n برای n فرد، عضو متوسط ​​سری است که از ترتیب این دنباله به ترتیب صعودی (یا نزولی) حاصل می شود. برای n زوج، میانه معمولاً به عنوان میانگین حسابی دو نمونه وسط دنباله مرتب شده تعریف می شود.

فیلتر میانه یک فیلتر پنجره ای است که به صورت متوالی در میان آرایه سیگنال حرکت می کند و در هر مرحله یکی از عناصری که در پنجره (دیافراگم) فیلتر افتاده است را برمی گرداند. سیگنال خروجی y k یک فیلتر میانه کشویی با عرض 2n+1 برای نمونه فعلی k مطابق با فرمول از سری زمانی ورودی ..., x k -1 , x k , x k +1 , ... تولید می شود. :

y k = med(x k - n، x k - n+1،…، x k -1، x k، x k +1،…، x k + n-1، x k + n)،

که در آن med(x 1، …، x m، …، x 2n+1) = x n+1، x m عناصر سری تغییرات هستند، یعنی. رتبه بندی شده به ترتیب صعودی مقادیر x m: x 1 = min(x 1 , x 2 ,…, x 2n+1) ≤ x (2) ≤ x (3) ≤ … ≤ x 2n+1 = max(x 1 , x 2،…، x 2n+1).

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

نویز پالس و نقطه ای

هنگام ضبط، پردازش و مبادله داده ها در سیستم های اندازه گیری، محاسبات و اطلاعات مدرن، جریان های سیگنال، علاوه بر سیگنال مفید s(t-t 0) و نویز نوسان q(t)، معمولا حاوی جریان های پالس g(t)=d(t-t هستند. ک) با شدت های مختلف با ساختار منظم یا آشفته:

x(t) = s(t-t 0) + g(t) + q(t).

نویز ضربه ای به اعوجاج سیگنال ها توسط نوسانات پالس بزرگ با قطبیت دلخواه و مدت زمان کوتاه اشاره دارد. علت ظهور جریان های پالسی می تواند هم تداخل الکترومغناطیسی پالس خارجی و هم تداخل، خرابی و تداخل در عملکرد خود سیستم ها باشد. ترکیبی از نویز توزیع شده از نظر آماری و جریانی از تکانه های شبه قطعی نشان دهنده یک تداخل ترکیبی است. یک روش رادیکال برای مبارزه با تداخل ترکیبی، استفاده از کدهای مقاوم در برابر نویز است. با این حال، این منجر به کاهش سرعت و پیچیدگی سیستم های دریافت و انتقال داده می شود. یک روش جایگزین ساده اما کاملاً مؤثر برای تمیز کردن سیگنال‌ها در چنین شرایطی الگوریتم پردازش سیگنال دو مرحله‌ای x(t) است که در مرحله اول پالس‌های نویز از جریان x(t) و در مرحله دوم سیگنال حذف می‌شوند. با استفاده از فیلترهای فرکانس از نویزهای آماری پاک می شود. برای سیگنال هایی که توسط نویز ضربه ای تحریف می شوند، هیچ فرمول ریاضی دقیق و راه حلی برای مشکل فیلتر وجود ندارد. فقط الگوریتم های اکتشافی شناخته شده اند که قابل قبول ترین آنها الگوریتم فیلترینگ میانه است.

فرض کنید نویز q(t) یک فرآیند آماری با انتظار ریاضی صفر است، سیگنال مفید s(t-t 0) موقعیت زمانی نامعلومی دارد t 0 О، و جریان پالس های نویز g(t) به شکل زیر است:

g(t) = e k a k g(t-t k)،

که در آن a k دامنه پالس ها در جریان است، t k موقعیت زمانی ناشناخته پالس ها، e k = 1 با احتمال p k و e k = 0 با احتمال 1-p k است. این مشخصات نویز پالسی با جریان برنولی مطابقت دارد.

هنگام اعمال فیلتر میانه کشویی با پنجره‌ای از N نمونه (N فرد است) به جریان x(t)، فیلتر میانه پالس‌های منفرد جدا شده از یکدیگر را حداقل به اندازه نصف دیافراگم فیلتر کاملاً حذف می‌کند و در صورت عدد، نویز ضربه‌ای را سرکوب می‌کند. پالس های درون دیافراگم از (N-1)/2 تجاوز نمی کند. در این مورد، با pk = p برای تمام پالس های تداخل، احتمال سرکوب تداخل را می توان با عبارت /3i/ تعیین کرد:

R(p) = p m (1-p) N- p.

شکل 1 نتایج محاسبات احتمال سرکوب نویز ضربه ای توسط یک فیلتر میانه را نشان می دهد. در ص<0.5 результаты статистического моделирования процесса показывают хорошее соответствие расчетным значениям. Для интенсивных импульсных шумовых потоков при p>فیلتر میانه 0.5 کمتر موثر می شود، زیرا آنچه رخ می دهد سرکوب نیست، بلکه تقویت و تبدیل به جریانی از تکانه های ساختاری متفاوت (با مدت زمان تصادفی) است.

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

تفاوت به اضافه نویز.

بیایید فیلتر کردن لبه‌ها را در حضور نویز سفید اضافی، یعنی فیلتر کردن دنباله‌ها یا تصاویر، با

که در آن s یک سیگنال قطعی برابر با 0 در یک طرف یا drop و h در طرف دیگر است و z مقادیر تصادفی نویز سفید است. فرض کنید مقادیر تصادفی نویز z طبق قانون عادی N(0, s) توزیع شده است. ابتدا، اجازه دهید فیلتر یک بعدی را در نظر بگیریم و فرض کنیم که افت در نقطه i = 1 رخ می دهد، به طوری که برای i £ 0 مقدار x i N(0, s) و برای i≥1 مقدار x i N(h است، s).

در شکل شکل 2 دنباله مقادیر انتظار ریاضی میانه ها و میانگین متحرک نزدیک به اختلاف ارتفاع h = 5 در N = 3 را نشان می دهد. مقادیر میانگین متحرک از یک خط مورب پیروی می کنند که نشان می دهد تفاوت تار شده است. رفتار انتظارات ریاضی مقادیر میانه نیز نشان دهنده مقداری تاری است، اگرچه بسیار کمتر از میانگین متحرک.

اگر از اندازه گیری ریشه میانگین مربعات خطا (RMS) که از N نقطه نزدیک به افت میانگین گرفته شده است استفاده کنیم و مقادیر RMSE را بسته به مقادیر h محاسبه کنیم، به راحتی می توان آن را برای موارد کوچک تعیین کرد. مقادیر h<2 СКО для скользящего среднего немного меньше, чем для медианы, но при h>3 انحراف معیار میانه به طور قابل توجهی کمتر از انحراف معیار میانگین است. این نتیجه نشان می دهد که میانه متحرک به طور قابل توجهی بهتر از میانگین متحرک برای اختلاف ارتفاع زیاد است. نتایج مشابهی را می توان برای دیافراگم N=5 و برای فیلتر دو بعدی با دیافراگم های 3x3 و 5x5 به دست آورد. بنابراین، انتظارات ریاضی از میانه برای h کوچک نزدیک به انتظارات ریاضی برای میانگین های مربوطه است، اما برای h بزرگ به طور مجانبی محدود هستند. این با این واقعیت توضیح داده می شود که برای h بزرگ (مثلا h> 4) متغیرهای x با میانگین 0 (برای مثال) به شدت از متغیرهای x با میانگین h جدا می شوند.

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

فیلتراسیون وینر

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

چگالی طیفی سیگنال با رابطه زیر تعیین می شود:

تابع خودهمبستگی کجاست

چگالی طیفی متقابل سیگنال با رابطه زیر تعیین می شود:

, (14)

تابع همبستگی کجاست.

هنگام ساخت فیلتر وینر، وظیفه به حداقل رساندن انحراف استاندارد تصویر پردازش شده از شی است:

انتظار ریاضی کجاست با مرتب کردن مجدد این عبارات، می توان نشان داد که حداقل زمانی حاصل می شود که تابع انتقال با عبارت زیر داده شود:

تجزیه و تحلیل بیشتر نشان می دهد که بازیابی تصویر، که شکل گیری آن با عبارت توصیف شده است، باید با استفاده از OPF زیر مبدل بازسازی انجام شود:

اگر نویز در تصویر وجود نداشته باشد، چگالی طیفی تابع نویز 0 است و عبارتی که فیلتر وینر نامیده می شود، به یک فیلتر معکوس منظم تبدیل می شود.

با کاهش چگالی طیفی توان تصویر اصلی، تابع انتقال فیلتر وینر به صفر میل می کند. این برای تصاویر در فرکانس های بالا معمول است.

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

فیلترهای OPF وینر

فیلترهای معکوس

برنج. 3. نمونه هایی از فیلترها

فیلتر کردن تصویر

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

شکل 4

هنگامی که میانه تصاویر پر سر و صدا را فیلتر می کنند، درجه صاف شدن خطوط اشیا مستقیماً به اندازه دیافراگم فیلتر و شکل ماسک بستگی دارد. نمونه هایی از شکل ماسک هایی با حداقل دیافراگم در شکل 4 نشان داده شده است. با اندازه های دیافراگم کوچک، جزئیات تصویر متضاد بهتر حفظ می شود، اما نویز ضربه ای به میزان کمتری سرکوب می شود. در اندازه های دیافراگم بزرگتر تصویر مخالف مشاهده می شود. انتخاب بهینه شکل دیافراگم صاف کننده به ویژگی های مشکل حل شده و شکل اجسام بستگی دارد. این برای وظیفه حفظ تفاوت ها (مرزهای روشنایی واضح) در تصاویر اهمیت ویژه ای دارد.

منظور ما از تصویر یک تفاوت تصویری است که در آن نقاط یک طرف یک خط معین دارای مقدار یکسانی هستند آ، و تمام نقاط در طرف دیگر این خط مقدار هستند ب, ب¹ آ. اگر دیافراگم فیلتر نسبت به مبدا متقارن باشد، فیلتر میانی هرگونه تصویر تفاوت را حفظ می کند. این کار برای همه دیافراگم‌هایی که تعداد نمونه‌های فرد دارند، یعنی. به جز دیافراگم ها (قاب های مربعی، حلقه ها) که حاوی مبدا مختصات نیستند. با این حال، قاب‌ها و حلقه‌های مربعی فقط کمی افت را تغییر می‌دهند.

برای ساده کردن بررسی بیشتر، خود را به مثال فیلتری با ماسک مربعی به اندازه N × N با N=3 محدود می کنیم. فیلتر کشویی نمونه‌های تصویر را از چپ به راست و از بالا به پایین اسکن می‌کند، در حالی که دنباله دو بعدی ورودی را می‌توان به صورت یک سری عددی متوالی از نمونه‌ها (x(n)) از چپ به راست، بالا به پایین نمایش داد. از این ترتیب، در هر نقطه فعلی، ماسک فیلتر آرایه w(n) را به عنوان یک بردار عنصر W استخراج می کند، که در این مورد شامل تمام عناصر از پنجره 3x3 در مرکز x(n) و عنصر مرکزی است. خود، در صورت ارائه نوع ماسک:

w(n) = .

در این مورد، مقدار x i مربوط به نگاشت چپ به راست و از بالا به پایین یک پنجره 3x3 در یک بردار تک بعدی است.

عناصر این بردار، مانند فیلتر میانه یک بعدی، می توانند به صورت یک سری به ترتیب صعودی یا نزولی مقادیرشان مرتب شوند:

r(n) =،

مقدار میانه y(n) = med(r(n)) تعریف می شود و نمونه مرکزی ماسک با مقدار میانه جایگزین می شود. اگر با توجه به نوع ماسک، نمونه مرکزی در ردیف 8 قرار نگیرد، آنگاه مقدار میانه به عنوان مقدار متوسط ​​دو نمونه مرکزی ردیف 9 در نظر گرفته می شود.

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

فیلتر میانه را می توان در یک نسخه بازگشتی نیز انجام داد، که در آن مقادیر بالا و سمت چپ نمونه مرکزی در ماسک (در این مورد x 1 (n) - x 4 (n) در شکل 9) در ردیف 8 با مقادیر محاسبه شده در چرخه های قبلی y 1 (n)-y 4 (n) جایگزین می شود.

پردازش نتایج

اضافه کردن نویز به تصویر اصلی

لکه گاوسی نمک و کاغذ

نتیجه پردازش با فیلتر میانه

MedFilter_Gaussian MedFilter_Salt & Paper MedFilter_Speckle

نتیجه پردازش فیلتر وینر

WinFilter_Gaussian WinFilter_ Salt & Paper WinFilter_ Speckle

نتیجه محاسبه انحراف معیار تصاویر فیلتر شده از اصلی.

نتیجه

نمودار نشان می دهد که فیلتر میانی به خوبی نویز تک تکانه و نویز تصادفی نمونه ها را سرکوب می کند (CKOSaPeMed) و نمودار نشان می دهد که این بهترین روش برای از بین بردن این نوع نویز است.

فیلتر وینر (CKOSaPeWin)، بر خلاف فیلتر میانه، با افزایش ضریب نویز تصویر، چندین بار از فیلتر اصلی فاصله گرفت.

سرکوب نویز سفید و گاوسی در مورد فیلتر میانه (CKOGausMed، CKOSpecMed) کمتر از فیلتر وینر (CKOGausWin، CKOSpecWin) موثر است. راندمان ضعیف نیز هنگام فیلتر کردن نویز نوسانات مشاهده می شود. وقتی اندازه پنجره Medial filter را افزایش می دهید، تصویر تار می شود.

کتابشناسی - فهرست کتب

1. پردازش دیجیتال تصاویر رنگی. شلیخت جی.یو. M., EKOM Publishing House, 2007. – 336 p.

2. http://prodav.narod.ru/dsp/index.html

3. مقدمه ای بر پردازش تصویر دیجیتال. یاروسلاوسکی L.P. M.: Sov. رادیو، 2007. – 312 ص.

4. http://matlab.exponenta.ru/

5. پردازش تصویر دیجیتال در متلب. R. Gonzalez, R. Woods, S. Eddins, M.: Tekhnosphere, 2006.

6. http://www.chipinfo.ru/literature/chipnews/199908/29.html

1. مشخصات فنی................................................ ........... ....................... 2

2-تجزیه و تحلیل مشخصات فنی ...................................... ........ ....... 3

2.1. فیلتر میانه فیلتر میانه ................... 4

2.1.1 مزایا و معایب فیلترهای میانه ................................... 6

2.2 اصل فیلتر ................................ ...................... .... ...................... 7

2.3 سرکوب آماری نویز ...................................... .... 8

2.4 نویز پالس و نقطه ................................... ........ 9

2.5 افتادن به اضافه نویز................................................ ...... ...................... یازده

2.6 فیلتراسیون وینر ...................................... .......................... 13

2.7. فیلتر کردن تصاویر ...................................... ......... 15

2.7.1 استفاده از فیلتر تطبیقی...................................... 17

2.7.2 استفاده از فیلترینگ میانه ................................... 17

3. طراحی عملکرد کمکی متلب. 18

3.1. گرفتن تصویر و کپی برداری از آن ...................................... ......... 18

3.2. اضافه کردن نویز به یک کپی از تصویر اصلی...................................... 18

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

3.4. پردازش یک کپی پر سر و صدا با استفاده از فیلتر وینر......... 20

3.5. محاسبه انحراف معیار بین تصویر فیلتر شده و اصلی. 21

4. پردازش نتایج ...................................... .......................... 23

کتابشناسی - فهرست کتب................................................ . .......................... 26

1. مشخصات فنی

مقایسه کارایی فیلترهای میانه و میانگین

1. یک کپی از تصویر اصلی ایجاد کنید.

2. به یک کپی از تصویر اصلی نویز اضافه کنید.

صدای گاوسی - "گاوسی"

نویز ضربه ای - نمک و فلفل

نویز ضربی - "لکه"

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

5. یک نسخه دیگر را با استفاده از فیلتر 2 پردازش کنید.

7. نمودارهایی از وابستگی انحراف معیار تصویر فیلتر شده به پارامتر نویز (در همان محورها برای فیلترهای مختلف) بسازید.

تصویر اصلی.

2. تجزیه و تحلیل مشخصات فنی

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

فیلتر میانه فیلترینگ میانه

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

فیلتر میانی توسط Tukey به عنوان ابزاری برای هموارسازی سری های زمانی موجود در تحقیقات اقتصادی پیشنهاد شد و بعداً در پردازش تصاویر، سیگنال های گفتاری و غیره به طور گسترده مورد استفاده قرار گرفت.

فیلتر مدیا نوعی فیلتر دیجیتال است که به طور گسترده در پردازش سیگنال و تصویر دیجیتال برای کاهش نویز استفاده می شود. فیلتر میانه یک فیلتر FIR غیر خطی است.

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

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


فیلترینگ میانه

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

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

الگوریتم فیلتر میانه دارای گزینش پذیری مشخصی برای عناصر آرایه با مولفه غیر یکنواخت از دنباله اعداد درون دیافراگم است و به طور موثر، نقاط پرت منفرد، منفی و مثبت را که در لبه های فهرست رتبه بندی شده قرار می گیرند، حذف می کند. با در نظر گرفتن رتبه بندی در لیست، فیلترهای میانه به خوبی نویز و تداخل را سرکوب می کنند که طول آن کمتر از نصف پنجره است. یک نقطه پایدار یک دنباله (در حالت یک بعدی) یا یک آرایه (در حالت دو بعدی) است که در طول فیلتر میانه تغییر نمی کند. در حالت تک بعدی، نقاط پایدار فیلترهای میانی توالی‌های «محلی یکنواخت» هستند که فیلتر میانی آن‌ها را بدون تغییر می‌گذارد. استثنا برخی از دنباله های باینری دوره ای است.

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

معایب روش را می توان کاهش داد اگر فیلتر میانی با تغییر تطبیقی ​​در اندازه پنجره فیلتر بسته به دینامیک سیگنال و ماهیت نویز (فیلتر میانه تطبیقی) استفاده شود. به عنوان معیاری برای اندازه پنجره، می توانید به عنوان مثال از انحراف مقادیر نمونه های همسایه نسبت به نمونه مرکزی رتبه بندی شده /1i/ استفاده کنید. با کاهش این مقدار به زیر یک آستانه مشخص، اندازه پنجره افزایش می یابد.

16.2. فیلتر میانه تصاویر.

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

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

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


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

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

برنج. 16.2.1.

هنگامی که میانه تصاویر پر سر و صدا را فیلتر می کنند، درجه صاف شدن خطوط اشیا مستقیماً به اندازه دیافراگم فیلتر و شکل ماسک بستگی دارد. نمونه هایی از شکل ماسک هایی با حداقل دیافراگم در شکل 1 نشان داده شده است. 16.2.1. دیافراگم های کوچکتر جزئیات کنتراست تصویر را بهتر حفظ می کنند، اما سرکوب نویز ضربه ای را به میزان کمتری کاهش می دهند. در اندازه های دیافراگم بزرگتر تصویر مخالف مشاهده می شود. انتخاب بهینه شکل دیافراگم صاف کننده به ویژگی های مشکل حل شده و شکل اجسام بستگی دارد. این برای وظیفه حفظ تفاوت ها (مرزهای روشنایی واضح) در تصاویر اهمیت ویژه ای دارد.

منظور ما از تصویر یک تفاوت تصویری است که در آن نقاط یک طرف یک خط معین دارای مقدار یکسانی هستند آ، و تمام نقاط در طرف دیگر این خط مقدار هستند ب, ب¹ آ. اگر دیافراگم فیلتر نسبت به مبدا متقارن باشد و حاوی آن باشد، فیلتر میانه هر تصویری از تفاوت را حفظ می کند. این کار برای همه دیافراگم‌هایی که تعداد نمونه‌های فرد دارند، یعنی. به جز دیافراگم ها (قاب های مربعی، حلقه ها) که حاوی مبدا نیستند. با این حال، قاب‌ها و حلقه‌های مربعی فقط کمی افت را تغییر می‌دهند.

برنج. 16.2.2.

برای ساده کردن بررسی بیشتر، خود را به مثال فیلتری با ماسک مربعی به اندازه N × N با N=3 محدود می کنیم. فیلتر کشویی نمونه‌های تصویر را از چپ به راست و از بالا به پایین اسکن می‌کند، در حالی که دنباله دو بعدی ورودی را می‌توان به صورت یک سری عددی متوالی از نمونه‌ها (x(n)) از چپ به راست، بالا به پایین نمایش داد. از این ترتیب، در هر نقطه فعلی، ماسک فیلتر آرایه w(n) را به عنوان یک بردار عنصر W استخراج می کند، که در این مورد شامل تمام عناصر از پنجره 3x3 در مرکز x(n) و عنصر مرکزی است. خود، در صورت ارائه نوع ماسک:

w(n) = . (16.2.1)

در این مورد، مقدار x i مربوط به نگاشت چپ به راست و از بالا به پایین یک پنجره 3x3 در یک بردار تک بعدی است، همانطور که در شکل نشان داده شده است. 16.2.2.

عناصر این بردار، مانند فیلتر میانه یک بعدی، می توانند به صورت یک سری به ترتیب صعودی یا نزولی مقادیرشان مرتب شوند:

r(n) = , (16.2.2)

مقدار میانه y(n) = med(r(n)) تعریف می شود و نمونه مرکزی ماسک با مقدار میانه جایگزین می شود. اگر با توجه به نوع ماسک، نمونه مرکزی در ردیف 16.2.1 قرار نگیرد، آنگاه مقدار میانه به عنوان مقدار متوسط ​​دو نمونه مرکزی سری 16.2.2 به دست می آید.

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

در شکل 16.2.3 نمونه ای از تمیز کردن یک تصویر پر سر و صدا با استفاده از فیلتر میانه Chernenko /2i/ را نشان می دهد. سطح نویز تصویر برای تمیز کردن 15٪ بود، فیلتر 3 بار متوالی اعمال شد.



برنج. 16.1.5.

فیلتر میانه را می توان در یک نسخه بازگشتی نیز انجام داد، که در آن مقادیر بالا و سمت چپ نمونه مرکزی در ماسک (در این مورد x 1 (n) - x 4 (n) در شکل 16.2.2 ) در ردیف 16.2.1 با مقادیر قبلاً y 1 (n)-y 4 (n) محاسبه شده در چرخه های قبلی جایگزین می شود.

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

ساده‌ترین الگوریتم‌ها برای تغییر دینامیکی دیافراگم فیلتری که در امتداد هر دو محور متقارن است، معمولاً براساس ضریب روشنایی آستانه S آستانه = تنظیم شده بر اساس داده‌های تجربی عمل می‌کنند. در هر موقعیت فعلی ماسک در تصویر، فرآیند تکراری با حداقل اندازه دیافراگم شروع می شود. مقادیر انحراف روشنایی پیکسل های همسایه A(r, n) که در پنجره ای با اندازه (nxn) قرار می گیرند نسبت به روشنایی مرجع مرکزی A(r) با فرمول محاسبه می شوند:

S n (r) = |A(r,n)/A(r) – 1|. (16.2.3)

معیاری که بر اساس آن اندازه ماسک با مرجع مرکزی r افزایش یافته و تکرار بعدی انجام می شود به شکل زیر است:

حداکثر< S порог. (16.2.4)

حداکثر اندازه ماسک (تعداد تکرارها) معمولاً محدود است. برای ماسک‌های غیر مربعی با ابعاد (n x m)، می‌توان تکرارها را با افزایش جداگانه در پارامترهای n و m و همچنین تغییر شکل ماسک‌ها در طول تکرار محاسبه کرد.

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

ماهیت آمار رتبه بندی معمولاً در این واقعیت نهفته است که سری 16.2.1 شامل نمونه مرکزی ماسک فیلتر نمی شود و مقدار m(n) از سری 16.2.2 محاسبه می شود. در N=3 مطابق شکل. 16.2.2:

m(n) = (x 4 (n)+x 5 (n))/2. (16.2.5)

مقدار خروجی فیلتر که جایگزین نمونه مرکزی می شود با استفاده از فرمول محاسبه می شود:

y(n) = a x(n) + (1-a) m(n). (16.2.6)

مقدار ضریب اطمینان a با یک رابطه معین با آمار نمونه ها در پنجره فیلتر مرتبط است (به عنوان مثال، پراکندگی کل نمونه ها، پراکندگی تفاوت x(n)-x i (n) یا m(n) -x i (n)، پراکندگی تفاوت های مثبت و منفی x(n)-x i (n) یا m(n)-x i (n) و غیره). اساساً، مقدار ضریب a باید میزان آسیب به نمونه مرکزی و بر این اساس، درجه استقراض از نمونه‌های m(n) را برای اصلاح آن مشخص کند. انتخاب تابع آماری و ماهیت وابستگی ضریب a به آن می تواند کاملاً متنوع باشد و هم به اندازه دیافراگم فیلتر و هم به ماهیت تصاویر و نویز بستگی دارد.

ادبیات

44. بولشاکوف I.A., Rakoshits V.S. نظریه کاربردی جریان های تصادفی، M.: Sov. رادیو، 1978، - 248 ص.

46. ​​Huang T.S. و الگوریتم های سریع در پردازش تصویر دیجیتال. – م.: رادیو و ارتباطات، 1363. – 224 ص.

47. Soifer V.A. پردازش تصویر کامپیوتری بخش 2. روش ها و الگوریتم ها. – مجله آموزشی سوروس شماره ۳ ۱۳۷۵.

48. آپالکوف I.V.، Khryashchev V.V. حذف نویز از تصاویر بر اساس الگوریتم های غیر خطی با استفاده از آمار رتبه. - دانشگاه دولتی یاروسلاول، 2007.

1i. یارووی N.I. فیلتر میانی تطبیقی - http://www.controlstyle.ru/articles/science/text/amf/

2i. Chernenko S.A. فیلتر میانه - http://www.logis-pro.kiev.ua/math_power_medianfilter_ru.html.

3i. رادچنکو یو.اس. کارایی دریافت سیگنال در پس زمینه تداخل ترکیبی با پردازش اضافی در فیلتر میانه. - "مجله رادیو الکترونیک"، شماره 7، 2001. / http://jre.cplire.ru/iso/jul01/2/text.html

درباره خطاهای مشاهده شده و پیشنهادات برای اضافات: [ایمیل محافظت شده].

حق چاپ ©2008 Davydov A.V.

فیلترینگ میانه یک تکنیک پردازش سیگنال غیرخطی است که توسط Tukey توسعه یافته است. این روش در کاهش نویز در یک تصویر مفید است. یک فیلتر میانه یک بعدی یک پنجره کشویی است که تعدادی عنصر در تصویر را پوشش می دهد. عنصر مرکزی با میانه تمام عناصر تصویر در پنجره جایگزین می شود. میانه یک دنباله گسسته برای یک عدد فرد، عنصری است که برای آن عناصر کوچکتر یا مساوی از نظر بزرگی و عناصر بزرگتر یا مساوی آن از نظر قدر وجود دارد. اجازه دهید پنجره حاوی عناصر تصویر با سطوح 80، 90، 200، 110 و 120 باشد. در این حالت، عنصر مرکزی باید با مقدار 110 جایگزین شود، که میانه ترتیب مرتب شده 80، 90، 110، 120، 200 است. سپس فیلترینگ میانه بهبود قابل توجهی را ارائه خواهد کرد. برعکس، اگر مقدار 200 با پالس سیگنال مفید مطابقت داشته باشد (هنگام استفاده از سنسورهای باند پهن)، پردازش منجر به از دست دادن وضوح در تصویر بازتولید شده خواهد شد. بنابراین، فیلتر میانه در برخی موارد باعث سرکوب نویز می شود، در برخی دیگر باعث سرکوب سیگنال ناخواسته می شود.

در شکل شکل 12.6.1 اثر فیلترهای میانه و متوسط ​​(صاف کننده) با پنجره پنج عنصری را بر سیگنال های پله، دندانه اره، پالس و مثلثی نشان می دهد. از این نمودارها می بینید که فیلتر میانی بر عملکرد پله یا دندان اره تأثیر نمی گذارد، که معمولاً یک ویژگی مطلوب است. با این حال، این فیلتر سیگنال های پالسی را که مدت زمان آنها کمتر از نصف عرض پنجره است را سرکوب می کند. فیلتر همچنین باعث صاف شدن راس تابع مثلثی می شود.

برنج. 12.6.1. نمونه هایی از فیلتر میانه ساده ترین سیگنال های گسسته.

الف - انتقال پله ای: ب - انتقال دندان اره ای. ج - تک پالس؛ e - تکانه مضاعف. د - ضربه سه گانه؛ e - سیگنال مثلثی.

توانایی تجزیه و تحلیل اثر فیلتر میانه محدود است. می توان نشان داد که میانه حاصل ضرب یک ثابت و یک دنباله برابر است با

بعلاوه،

با این حال، میانه مجموع دو دنباله دلخواه با مجموع میانه آنها برابر نیست:

این نابرابری را می توان با استفاده از دنباله های 80، 90، 100، 110، 120 و 80، 90، 100، 90، 80 به عنوان مثال تأیید کرد.

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

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

برنج. 12.6.2. نمونه هایی از فیلتر میانه دو بعدی

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

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

الف - تصویر اصلی با نویز ضربه ای (15 عنصر تحریف شده در هر خط)؛ ب - نتیجه فیلتر میانه در ; c نتیجه فیلتر میانه در ; r نتیجه فیلتر میانه در .

برنج. 12.6.4. نمونه تصاویر پردازش شده با یک فیلتر میانه 1 بعدی برای سرکوب نویز گاوسی.

a - تصویر اصلی با نویز گاوسی. ب - نتیجه فیلتر میانه در ; c نتیجه فیلتر میانه در ; r نتیجه فیلتر میانه در .

معرفی

سیگنال دیجیتال فیلتر میانه

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

توسعه فناوری رایانه و ریزپردازنده منجر به ایجاد تجهیزات قابل اعتماد، با سرعت بالا، مینیاتوری، با کیفیت بالا و ارزان می شود. فناوری های دیجیتال به قدری گسترده شده اند که ما بدون توجه به آنها در زندگی روزمره از آنها استفاده می کنیم: تلفن همراه، پخش کننده سی دی، رایانه و غیره.

در طول این کار باید مزایا و معایب فیلترینگ میانه را در نظر گرفت. نحوه عملکرد فیلترهای میانه را بیاموزید. با استفاده از برنامه MatLab712 R2011a، عملکرد آن را با استفاده از یک مثال نشان دهید.

بخش نظری DSP

فیلتر میانه

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

دومین ویژگی فیلتر خطی، بهینه بودن آن است، همانطور که قبلا ذکر شد، برای ماهیت گاوسی نویز. به طور معمول، این شرایط با تداخل نویز در تصاویر برآورده می شود، بنابراین الگوریتم های خطی هنگام سرکوب آنها عملکرد بالایی دارند. با این حال، اغلب باید با تصاویری دست و پنجه نرم کنید که توسط انواع دیگر نویز تحریف شده اند. یکی از آنها نویز ضربه ای است. هنگام قرار گرفتن در معرض آن، نقاط سفید و/یا سیاه در تصویر مشاهده می شوند که به طور تصادفی در سراسر کادر پراکنده شده اند. استفاده از فیلتر خطی در این مورد بی اثر است - هر یک از پالس های ورودی (در اصل یک تابع دلتا) پاسخی را در قالب یک پاسخ ضربه ای فیلتر می دهد و ترکیب آنها به پخش نویز در کل منطقه فریم کمک می کند.

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

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

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

برنج. 1.1.

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

x * =med(y 1 , y 2 ,…, y n) (1.1)

بیایید به یک مثال نگاه کنیم. فرض کنید که نمونه دارای شکل است: Y=(136,110,99,45,250,55,158,104,75) و عنصر 250 که در مرکز آن قرار دارد با نقطه فیلتر فعلی (i 1, i 2) مطابقت دارد (شکل 1.1) . مقدار روشنایی بالا در این نقطه از کادر ممکن است نتیجه نویز پالسی (نقطه ای) باشد. نمونه مرتب شده به صورت صعودی دارای فرم (45,55,75,99,104,110,136,158,250) است بنابراین مطابق با روش (1.1) x * =med(y 1, y 2,…, y 9)=104 را بدست می آوریم. ما می بینیم که تأثیر "همسایگان" بر نتیجه فیلتر در نقطه فعلی منجر به "نادیده گرفتن" افزایش روشنایی پالسی شده است که باید به عنوان یک اثر فیلتر در نظر گرفته شود. اگر نویز ضربه ای نقطه ای نباشد، اما یک منطقه محلی خاص را پوشش دهد، می توان آن را نیز سرکوب کرد. اگر اندازه این ناحیه محلی کمتر از نصف اندازه دیافراگم MF باشد، این اتفاق می افتد. بنابراین، برای سرکوب نویز ضربه ای که بر مناطق محلی تصویر تأثیر می گذارد، اندازه دیافراگم MF باید افزایش یابد.

از (1.1) نتیجه می شود که عملکرد MF "نادیده گرفتن" مقادیر شدید نمونه ورودی است - هم انتشار مثبت و هم منفی. از این اصل سرکوب نویز می توان برای کاهش نویز در تصویر نیز استفاده کرد. با این حال، تحقیقات در مورد کاهش نویز با استفاده از فیلتر میانه نشان می دهد که اثربخشی آن در حل این مشکل کمتر از فیلتر خطی است.

نتایج تجربی که عملکرد MF را نشان می دهد در شکل 1 نشان داده شده است. 1.2. در آزمایش‌ها، از یک MF با دیافراگم مربع با ضلع برابر با 3 استفاده کردیم. ردیف سمت چپ تصاویری را نشان می‌دهد که با نویز تحریف شده‌اند، ردیف سمت راست نتایج فیلتر میانی آنها را نشان می‌دهد. در شکل 1.2 a و شکل. 1.2.c تصویر اصلی را نشان می دهد که توسط نویز پالس تحریف شده است. هنگام استفاده از آن، از یک حسگر اعداد تصادفی با یکنواخت قانون توزیع در بازه استفاده شد که اعداد تصادفی مستقل را در تمام نقاط قاب تولید می‌کند. شدت تداخل با احتمال p وقوع آن در هر نقطه مشخص شد. اگر برای یک عدد تصادفی n i1i2 تولید شده در نقطه (i 1 , i 2)، شرط n i1i2

برنج. 1.2.

برنج. 1.2. e تصویری را نشان می دهد که توسط نویز گاوسی مستقل در نسبت سیگنال به نویز q 2 = -5 دسی بل تحریف شده است و شکل. 1.2.e - نتیجه فیلتر آن با فیلتر میانه. شرایط این آزمایش به ما این امکان را می دهد که نتایج آن را با نتایج فیلتر خطی مورد بحث در بالا مقایسه کنیم. جدول 1.1 داده هایی را ارائه می دهد که چنین مقایسه ای را امکان پذیر می کند. برای روش‌های مختلف فیلتر، این جدول مقادیر میانگین مربعات خطای نسبی d 2 و ضریب کاهش نویز r را برای مواردی که نسبت سیگنال به نویز در ورودی فیلتر -5 دسی‌بل است، ارائه می‌کند.

جدول 1.1. مقایسه راندمان کاهش نویز هنگام فیلتر کردن تصاویر، q 2 = -5 دسی بل.

موثرترین فیلتر دو بعدی وینر است که میانگین مربعات خطا را 17 برابر کاهش می دهد. فیلتر میانه کمترین راندمان را در بین تمام فیلترهای در نظر گرفته شده دارد که با r = 5.86 مطابقت دارد. با این حال، این عدد نشان می دهد که با کمک آن می توان سطح نویز در تصویر را به میزان قابل توجهی کاهش داد.

در همان زمان، همانطور که در بالا ذکر شد، و همانطور که در شکل نشان داده شده است. 1.2.f، فیلتر میانی مرزهای تصویر را به میزان کمتری نسبت به هر فیلتر خطی هموار می کند. مکانیسم این پدیده بسیار ساده است و به شرح زیر است. بیایید فرض کنیم که دیافراگم فیلتر در نزدیکی مرزی قرار دارد که قسمت های روشن و تاریک تصویر را از هم جدا می کند، در حالی که مرکز آن در ناحیه تاریک قرار دارد. سپس، به احتمال زیاد، نمونه کار حاوی تعداد بیشتری از عناصر با مقادیر روشنایی کم خواهد بود، و بنابراین، میانه از جمله عناصر نمونه کار خواهد بود که با این ناحیه از تصویر مطابقت دارد. اگر مرکز دیافراگم به ناحیه ای با روشنایی بیشتر منتقل شود، وضعیت برعکس می شود. اما این بدان معنی است که MF به تغییرات روشنایی حساس است. تعداد زیادی تفسیر از روش های عملکرد MF وجود دارد، بیایید با استفاده از مثال استفاده از آن در پردازش تصاویر سلول های خون - گرانولوسیت ها، یکی دیگر را در نظر بگیریم. قبل از اندازه‌گیری اندازه گرانولوسیت، تصویر آن با یک فیلتر میانی صاف شد تا دانه‌هایی که می‌توانند بر نتیجه اندازه‌گیری تأثیر بگذارند حذف شوند. به طور معمول، در فرآیند فیلتر میانه، مقادیر سیگنال در مجاورت خاصی از نقطه ای که پاسخ فیلتر در آن محاسبه می شود، به ترتیب صعودی یا نزولی به یک سری تغییرات مرتب می شوند. پاسخ فیلتر به عنوان میانه - مقدار سیگنال وسط (مرکز) سری تغییرات تعریف می شود. در ادامه این محله را پنجره فیلتر می نامیم. علاوه بر این، برای سادگی، فیلتری با یک پنجره مربع به اندازه n?n در نظر خواهیم گرفت.

بنابراین، هنگام محاسبه میانه در پنجره فیلتر، تعداد عملیات داده، به عنوان مثال، تعداد عملیات مرتب سازی، برابر با n 2 است. هنگام پردازش تصویری با اندازه M?N نقاط (پیکسل)، تعداد عملیات با داده ها زیاد و به اندازه M?N?n 2 خواهد بود. عملیات های مختلف به زمان های مختلف اجرا نیاز دارند. با اسکن متوالی تصاویر، می توان تعداد اکثر عملیات مرتب سازی کار فشرده را کاهش داد. بنابراین، هنگام حرکت از نقطه o1 با پنجره w1 به نقطه o2 با پنجره w2 در شکل. 1.3. می توانید نقاط ستون 1 را از سری تغییرات پنجره w1 حذف کنید، نقاط ستون 6 را مرتب کنید و دو سری تغییرات حاصل را در یک ترکیب کنید. این الگوریتم در مقایسه با مرتب‌سازی مستقل در هر پنجره سریع‌تر عمل می‌کند، اما تعداد کل دستکاری‌های داده (البته کار فشرده‌تر)، به عنوان مثال، حداقل مرتب‌سازی از طریق داده‌ها، ثابت می‌ماند، یعنی بسیار زیاد است. بنابراین، هنگام فیلتر کردن تصاویر میانه، آنها معمولاً به ویندوزهای 3?3 یا 5?5 و به ندرت بیشتر محدود می شوند که برای مثال برای حذف نویز ضربه ای کاملاً کافی است.

برنج. 1.3. اسکن تصویر با یک پنجره فیلتر میانه

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

روش های فیلتر میانه بسیار متنوع هستند. می توان آنها را بهبود بخشید. یکی از این ارتقاها، فیلتر میانی تطبیقی ​​نام دارد.

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

اجازه دهید یک ضریب انحراف روشنایی آستانه را معرفی کنیم. آستانه = S. مقادیر انحراف روشنایی پیکسل های همسایه A(r, n, m) که در پنجره ای به اندازه n?m قرار می گیرند نسبت به روشنایی مرجع مرکزی A(r) به شکل (1.2) نوشته می شود:

سپس معیاری که بر اساس آن باید اندازه ماسک را با مرجع مرکزی r افزایش داد به شکل زیر خواهد بود:

بر اساس الگوریتم توصیف شده، یک برنامه کامپیوتری توسعه داده شد که در عمل مزایای فیلتر میانی تطبیقی ​​را تایید کرد.

بهترین مقالات در این زمینه