آستانهگذاری در بینایی کامپیوتر: تکنیکی ساده برای تقسیمبندی دقیق تصاویر
آستانهگذاری در بینایی کامپیوتر (Threshold Segmentation) یکی از سادهترین اما اساسیترین تکنیکها در بینایی کامپیوتر و پردازش تصویر است. در این روش، یک تصویر خاکستری یا رنگی به یک تصویر دودویی تبدیل میشود که در…
آستانهگذاری در بینایی کامپیوتر (Threshold Segmentation) یکی از سادهترین اما اساسیترین تکنیکها در بینایی کامپیوتر و پردازش تصویر است. در این روش، یک تصویر خاکستری یا رنگی به یک تصویر دودویی تبدیل میشود که در آن هر پیکسل بسته به مقدار شدت نور آن، به بیشزمینه (foreground) یا پسزمینه (background) اختصاص مییابد. با وجود سادگی ظاهری، آستانهگذاری زیربنای بسیاری از وظایف سطح بالاتر بینایی—از تحلیل تصاویر پزشکی تا بازرسی صنعتی و پردازش اسناد—است و پایهی الگوریتمهای پیشرفتهتر تقسیمبندی را تشکیل میدهد. در این مقاله، نظریه، روشها، ملاحظات عملی و کاربردهای آستانهگذاری را بررسی میکنیم و همزمان مثالهای عینی در اختیار شما قرار میدهیم.
1. چرا آستانهگذاری در بینایی کامپیوتر؟
1.1 سادگی و سرعت
- کارایی محاسباتی بالا: آستانهگذاری تنها نیاز به یک بار عبور از روی تصویر و مقایسه هر پیکسل با یک مقدار آستانه دارد، بنابراین برای کاربردهای بلادرنگ و سیستمهای تعبیهشده مناسب است.
- حداقل پارامترها: در سادهترین حالت، تنها یک پارامتر—آستانه—نیاز است. حتی در روشهای تطبیقی هم فقط چند پارامتر کوچک (مثلاً اندازه پنجره) اضافه میشود.
1.2 قابلیت تفسیر
- خروجی دودویی: نتیجهی آستانهگذاری یک نقاب (ماسک) دودویی روشن/تاریک است که بهراحتی قابل تفسیر و پردازش بعدی (مانند تحلیل مؤلفههای متصل) است.
- سروکار با عملیات ریختشناختی: پس از دودویی شدن تصویر، میتوان از عملیاتهایی مانند گشایش، بستهشدن، فرسایش و اتساع برای پاکسازی و اصلاح شکلها استفاده کرد.
1.3 پیشپردازش برای روشهای سطح بالاتر
- استخراج ویژگی: ماسک دودویی امکان استخراج آسان خطوط مرزی، مراکز جرم، باکسهای محدودکننده و غیره را فراهم میکند.
- محدودهی مورد علاقه (ROI): آستانهگذاری میتواند نواحی بالقوهی موردنظر را شناسایی کند تا محاسبات سنگینتر (مثل استنتاج شبکههای عصبی) فقط بر روی آنها انجام شود.
2. اصول آستانهگذاری در بینایی کامپیوتر
برای یک تصویر خاکستری I(x,y)I(x, y) با مقادیر شدت در بازهی [0, 255]، آستانهگذاری سراسری با آستانه TT یک تصویر دودویی B(x,y)B(x, y) میدهد:
نکات کلیدی:
- انتخاب TT: مقدار مناسب آستانه به روشنایی، کنتراست، نویز و توزیع شدت پیکسلهای شیء و پسزمینه بستگی دارد.
- قطبیت دودویی: بسته به اینکه شیء روشنتر یا تیرهتر از پسزمینه باشد، ممکن است نیاز به وارونه کردن معیار مقایسه باشد.
3. روشهای آستانهگذاری سراسری
3.1 آستانهگذاری دستی
- انتخاب تعاملی: در محیطهایی مانند MATLAB یا ImageJ، کاربر میتواند با جابجا کردن یک نوار لغزنده، مقدار TT را با مشاهدهی نتیجه تنظیم کند.
- تحلیل هیستوگرام: رسم هیستوگرام تصویر برای یافتن درهای بین دو قله (توزیع دو-مودال). آن دره معمولاً نشانگر آستانهی مناسب بین دو کلاس است.
3.2 الگوریتمهای خودکار
3.2.1 روش اوتسو (Otsu)
الگوریتم اوتسو آستانه T∗T^* را انتخاب میکند که واریانس درونکلاسی را به حداقل (یا بهطور همزمان واریانس بینکلاسی را به حداکثر) برساند.
مراحل:
- محاسبهی احتمالهای هیستوگرام pip_i برای شدتهای i=0,…,255i=0,\dots,255.
- برای هر آستانهی کاندید TT:
- وزن پسزمینه ω0\omega_0 و میانگین μ0\mu_0 را محاسبه کن.
- وزن پیشزمینه ω1\omega_1 و میانگین μ1\mu_1 را محاسبه کن.
- واریانس بینکلاسی σB2=ω0ω1(μ0−μ1)2\sigma_B^2 = \omega_0 \omega_1 (\mu_0 – \mu_1)^2 را محاسبه کن.
- آستانهی بهینه T∗T^* را آنی انتخاب کن که σB2\sigma_B^2 را بیشینه کند.
مزایا: سریع (خطی نسبت به تعداد سطوح خاکستری)، غیرپارامتری (بدون فرض توزیع گوسی).
محدودیتها: با توزیعهای زمانی که بهشکل واضح دو-مودال نیستند یا شدتها همپوشانی زیادی دارند، دچار خطا میشود.
3.2.2 روش انتروپی کاپور (Kapur)
این روش آستانهگذاری را بهعنوان مسألهی بیشینهسازی انتروپی دو کلاس تعریف میکند. آستانهای را پیدا میکند که مجموع انتروپی کلاس پسزمینه و پیشزمینه را بیشینه کند:
آستانهی بهینه TT آنی است که H0+H1H_0 + H_1 را به حداکثر برساند.
موارد استفاده: تصاویری که جداسازی بر اساس بیشینهسازی اطلاعات مفید باشد.
4. آستانهگذاری در بینایی کامپیوتر محلی و تطبیقی
روشهای سراسری در مواجهه با تغییرات شدید نور سرتاسری شکست میخورند. آستانهگذاری تطبیقی برای هر پیکسل، آستانهای را بر اساس آمار ناحیهی مجاور آن محاسبه میکند.
4.1 آستانهی میانگین و گاوسی تطبیقی
در OpenCV دو نوع رایج هستند:
- میانگین تطبیقی:
که μw\mu_w میانگین شدت در پنجرهی w×ww \times w اطراف (x,y)(x,y) و CC یک ثابت تنظیمی است.
گاوسی تطبیقی: مشابه، اما میانگین با وزنی از هستهی گاوسی محاسبه میشود.
پارامترها:
- اندازه پنجره (w×ww \times w) باید فرد باشد. پنجرهی بزرگتر تغییرات روشنایی وسیعتر را نادیده میگیرد و پنجرهی کوچکتر جزئیات محلی را بهتر حفظ میکند.
- ثابت CC کنترل میکند که آستانه تا چه حد زیر میانگین محلی قرار گیرد.
4.2 روشهای نویبلاک و ساوولا
بهویژه برای دودوییسازی اسناد:
- نویبلاک (Niblack):
- که σw\sigma_w انحراف معیار در پنجره و kk پارامتری منفی (برای متن تیره) یا مثبت است.
- ساوولا (Sauvola): یک نسخهی بهبودیافته:
- که RR دامنهی داینامیک انحراف معیار (مثلاً 128) است و معمولاً k≈0.5k \approx 0.5.
مناسب برای: اسناد اسکنشده، رسیدها و دستنوشتههای تاریخی با سایههای پسزمینه.
5. آستانهگذاری چندسطحی
در بعضی کاربردها نیاز به جداسازی بیش از دو کلاس است (مثلاً پسزمینه تیره، اشیاء خاکستری متوسط، نقاط روشن). آستانهگذاری چندسطحی با چند آستانه T1,T2,…,TnT_1, T_2, \dots, T_n انجام میشود و هیستوگرام را به n+1n+1 کلاس تقسیم میکند.
- جستجوی کامل: برای nn کوچک، میتوان تمام ترکیبها را برای بیشینهسازی یک معیار (مثل واریانس بینکلاسی چندکلاسه) بررسی کرد.
- روشهای فراابتکاری: برای nn بزرگ، الگوریتمهای ژنتیک یا بهینهسازی ازدحام ذرات (PSO) برای یافتن تقریب بهینه آستانهها بهکار میروند.
6. ملاحظات عملی
6.1 پیشپردازش
- کاهش نویز: بلور گوسی یا میانهای، نویز نمکی-فلفلی یا گاوسی را کاهش میدهد و هیستوگرام تمیزتری ایجاد میکند.
- افزایش کنتراست: اکولایزاسیون هیستوگرام یا CLAHE جداسازی قلههای شیء و پسزمینه را بهبود میبخشد.
6.2 پسپردازش
- پاکسازی ریختشناختی: با گشایش، نواحی کوچک جداافتاده حذف میشوند و با بستهشدن، حفرههای ریز پر میشوند.
- تحلیل مؤلفههای متصل: اجزای متصل بر اساس مساحت، شکل یا یکپارچگی فیلتر میشوند تا تشخیصهای نادرست حذف شوند.
- استخراج کانتور: برای تحلیل شکل، مرزهای اشیاء استخراج میشوند.
6.3 تنظیم پارامترها
- اندازه پنجره در آستانهی تطبیقی: پنجرهی بزرگتر تغییرات وسیعتر را مدیریت میکند اما جزئیات ریز را قربانی میکند.
- ثابتهای جابجایی: مقادیری مانند CC در آستانهی میانگین یا kk در ساوولا باید بر اساس خصوصیات مجموعهداده آزمون و خطا شوند.
7. کاربردهای آستانهگذاری در بینایی کامپیوتر
7.1 تصاویر پزشکی
- شمارش سلول: دودوییسازی میکروسکوپی برای تشخیص و شمارش سلولها؛ روشهای تطبیقی ناحیهای برای کاهش تأثیر ناهماهنگی رنگآمیزی و روشنایی کاربرد دارند.
- تشخیص ضایعه: در MRI یا CT، آستانهگذاری نواحی شدتدارایی خاص ضایعات را مشخص میکند.
7.2 بازرسی صنعتی
- تشخیص نقص سطح: خراشها، فرورفتگیها یا ناخالصیها روی قطعات تولیدی با آستانهگذاری در نور کنترلشده شناسایی میشوند.
- وجود یا محلیابی قطعه: بررسی قرارگیری صحیح قطعات روی خطوط مونتاژ (مثل بردهای الکترونیکی).
7.3 پردازش اسناد
- تشخیص نویسه (OCR): دودوییسازی اسناد اسکنشده نخستین گام برای OCR است. روشهایی مانند ساوولا دقت بالاتری با اسناد قدیمی یا آسیبدیده دارند.
7.4 ترافیک و نظارت
- شمارش خودرو: با آستانهگذاری روی قابهای پسزمینهتفریقشده، خودروهای در حرکت جدا میشوند.
- جداسازی پیشزمینه: تشخیص افراد یا اجسام متحرک از پسزمینهی ثابت در دوربینهای مداربسته.
7.5 سنجش از دور
- شناسایی آب: آستانهگذاری روی اندیسهای طیفی مثل NDWI برای تفکیک آب و خشکی در تصاویر ماهوارهای.
- استخراج مناطق شهری: آستانهگذاری روی اندیسهای سازهای برای تفکیک مناطق ساختهشده از غیرساختهشده.
8. مثال کد
در زیر یک نمونهی کلی با استفاده از OpenCV (به زبان Python) آمده که آستانهگذاری سراسری و تطبیقی را نشان میدهد. مقادیر پارامترها نمونه هستند و باید برای هر تصویر تنظیم شوند.
import cv2
# بارگذاری تصویر خاکستری
img = cv2.imread('image.png', cv2.IMREAD_GRAYSCALE)
# 1. آستانهگذاری سراسری با روش اوتسو
# خروجی: آستانه انتخابشده و تصویر دودویی
_, binary_otsu = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 2. آستانهگذاری تطبیقی میانگین
binary_adaptive_mean = cv2.adaptiveThreshold(
img, 255,
cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY,
blockSize=11, # اندازه پنجره
C=2 # جابجایی آستانه
)
# 3. آستانهگذاری تطبیقی گاوسی
binary_adaptive_gauss = cv2.adaptiveThreshold(
img, 255,
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY,
blockSize=11,
C=2
)
# 4. پاکسازی ریختشناختی (اختیاری)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
cleaned = cv2.morphologyEx(binary_adaptive_gauss, cv2.MORPH_OPEN, kernel)
9. چالشها و محدودیتها
9.1 ناهمگنی روشنایی
- سایههای قوی: سایههای عمیق ممکن است بهاشتباه بهعنوان اشیاء شناسایی شوند. روشهای تطبیقی تا حدی این مشکل را کاهش میدهند اما در شرایط نور شدید نه همیشه.
- تابشهای موضعی (هایلایت): نقاط بسیار روشن ممکن است با شیء یکدست شوند و خطای مثبت کاذب ایجاد کنند.
9.2 همپوشانی توزیعات شدت
وقتی توزیع شدت شیء و پسزمینه بهشدت همپوشانی داشته باشند، هر آستانهای منجر به خطا میشود. در این شرایط، روشهای پیچیدهتر مانند خوشهبندی (k-means بر اساس رنگ و بافت)، کانتورهای فعال (snakes)، گرافکات یا شبکههای عصبی عمیق مناسبترند.
9.3 حساسیت پارامترها
آستانهگذاری تطبیقی معمولاً نیاز به اتکا بر پارامترهای حساس دارد که باید برای هر مجموعهداده بهصورت اختصاصی تنظیم شوند. روشهای خودکار مانند اوتسو انتخاب آستانه را حذف میکنند، اما همچنان به فرضیات توزیع نیاز دارند.
10. توسعههای پیشرفته
10.1 ترکیب آستانه و تشخیص لبه
ادغام ماسک آستانه با نقشههای گرادیان مرز اشیاء را بهبود میبخشد. مثلاً:
- محاسبهی لبههای کاننی (Canny).
- فیلتر کردن لبهها با ماسک آستانه.
- بهکارگیری مدلهای کانتور فعال (active contour) با مقداردهی اولیه از ماسک.
10.2 آستانهگذاری چندکاناله
برای تصاویر رنگی، آستانهگذاری در فضاهای رنگی مختلف:
- HSV: آستانهگذاری روی H یا S برای تفکیک بر اساس رنگ.
- LAB: آستانهگذاری روی کانالهای a∗a^* و b∗b^* برای تفکیک رنگهای ظریف.
10.3 هدایتشده توسط یادگیری عمیق
شبکههای عصبی میتوانند نقشههای آستانهی فضایی تولید کنند؛ یک CNN تصویر ورودی را دریافت کرده و برای هر پیکسل آستانهای پیشبینی میکند تا تفسیرپذیری آستانهگذاری حفظ و سازگاری با مدلهای یادگرفتنی افزایش یابد.
11. بهترین شیوهها
- هیستوگرام را ببینید: همیشه با بررسی توزیع شدت شروع کنید تا از قابلیت استفاده روشهای سراسری مطمئن شوید.
- نویز را فیلتر کنید: بلورهای کوچک را برای کاهش نویز و افزایش کیفیت هیستوگرام اعمال کنید.
- چند روش را مقایسه کنید: اوتسو، میانگین تطبیقی، گاوسی تطبیقی و ساوولا را روی نمونههای نماینده تست کنید تا مقاومترین را بیابید.
- خودکارسازی جستجوی پارامتر: برای مجموعهدادههای بزرگ، با جستجوی شبکهای یا بهینهسازی سیستماتیک، اندازهی پنجره و ثابتها را انتخاب کنید.
- پسپردازش جدی: با عملیات ریختشناختی و فیلتر مؤلفههای متصل، نویزها و اشیاء مزاحم را حذف کرده و شکلها را اصلاح کنید.
نتیجهگیری
آستانهگذاری همچنان یک تکنیک پایهای در بینایی کامپیوتر است: ساده، سریع و در بسیاری از کاربردها مؤثر. اگرچه سادگیاش هم نقطه قوت و هم ضعف آن محسوب میشود، آشنایی با روشهای سراسری، تطبیقی و چندسطحی ابزارهای قابلاعتمادی برای تولید ماسکهای دودویی فراهم میآورد. با ترکیب پیشپردازش، پسپردازش و یکپارچهسازی در خطوط پردازش پیچیدهتر—مثلاً تصحیح لبه، تحلیل چندکاناله یا هدایتشده توسط یادگیری—آستانهگذاری همچنان نقش کلیدیای از بازرسی صنعتی تا تشخیص پزشکی و سنجش از دور ایفا میکند.