متعادل سازی هیستوگرام
آموزش‌های پیشرفته هوش مصنوعیبینایی ماشینیادگیری با نظارت

افزایش دقت مدل تشخیص چهره با روش متعادل‌ سازی هیستوگرام

    0
    مدت زمان مطالعه: ۵ دقیقه

    اگر با فناوری تشخیص چهره و OpenCV کار کرده باشید می‌دانید که امتیاز تشخیص در چهره‌هایی که کنتراست واضح‌تری دارند، به طرز معناداری بالا است. حال این سوال پیش می‌آید که چطور می‌توان کنتراست تصاویر را بصورت خودکار ارتقاء داد؟ در بخش‌های بعدیِ مقاله، مفهومِ «متعادل‌ سازی هیستوگرام»  histogram equalization را توضیح خواهیم داد.

    اگر این مطلب را تا آخر بخوانید، شیوه ارتقای امتیازِ تشخیص را یاد خواهید گرفت. ابتدا باید بدانیم کنتراست در پردازش تصویر به چه معناست. در پایان، این مقاله چگونگیِ بکارگیری «روش متعادل ‌سازی هیستوگرام» بسیار پیشرفته‌ای را در تصاویر رنگی تبیین خواهد کرد. برای این منظور از الگوریتم متعادل ‌سازی هیستوگرام وفقی  Adaptive Histogram Equalization algorithm استفاده خواهیم کرد.

    کنتراست تصویر چیست؟

    به این تعریف ویکیپدیا توجه کنید: «اختلاف رنگ یا روشنایی باعث می‌شود یک شیء از سایر اشیاء در دامنه دید یکسان قابل‌تفکیک باشد.»
    هر کسی که با عکاسی آشنایی داشته باشد، می‌داند که تعریف فوق منطقی است. آنچه مشکل ایجاد می‌کند، کنتراست زیاد یا کم است. این تعریف مستقیماً می‌گوید که به چه چیزی برای جداسازی اشیاء از پس‌زمینه‌شان نیاز است. باید روش کار بهینه باشد.

     

    متعادل‌ سازی هیستوگرام

    تفاوت بین تصویر‌ها با کنتراست کم و زیاد

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

    متعادل‌ سازی هیستوگرام

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

    افزون براین، شدت به شکل بهتری در هیستوگرام توزیع می‌شود. تصویرِ زیر این توضیحات را به خوبی نشان می‌دهد؛ حرف T بیانگر تابع تبدیل است. افرادی که تا حدی با آمار آشنایی دارند، باید با این توضیحات موافق باشند.

    متعادل‌ سازی هیستوگرام

    متعادل ‌سازی هیستوگرام

    OpenCV از روشی موسوم به cv2.equalizeHist() بهره می‌برد. این روش هیستوگرام را در تصویر ورودی به کار می‌گیرد. این روش در آن دسته از تصاویری که پس‌زمینه و پیش‌زمینه تاریک یا روشنی دارند، به خوبی عمل می‌کند. اما متعادل‌سازیِ هیستوگرام با محدودیت قابل‌توجهی روبروست.

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

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

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

     

     

    الگوریتم متعادل‌ سازی هیستوگرام با کنتراست محدود

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

    رئیس جمهور فعلیِ آمریکا، قبل و بعد از بکارگیری الگوریتم CLAHE

    استفاده از OpenCV

    اکثر فرایندهای اجرا تنها با تصاویر مقیاس خاکستری سازگار هستند. اگر در این بخش مثالی از تصویر رتگی برایتان بیاوریم، موضوع را بهتر متوجه می‌شوید. فرایند اجرا به صورت زیر است: استفاده از روش CLAHE برای تصاویر BRG. مهم‌ترین بخش در این مقاله پوشش داده شد و امیدواریم متخصصان داده بتوانند بقیه مراحل را طی کنند. با این حال، این روش با جزئیات بیشتری توضیح داده خواهد شد. در ابتدا، تصویر BGR به فرمت HSV تبدیل شد. باید دقت کنیم که رنگ یا اشباع‌شدگیِ تصویر خراب نشود.


    قبل از هر چیز باید HSV را توضیح دهیم:


    • رنگ (Hue): عبارتی که برای رنگ‌های طیف خالص به کار برده می‌شود و معمولاً با عنوان «اسامی رنگی» از آن یاد می‌کنند (قرمز، نارنجی، زرد، آبی، سبز و بنفش).

    • اشباع‌شدگی (Saturation): شدت رنگ در یک تصویر. رنگ‌های اصلی (قرمز، آبی و زرد) خالص‌ترین رنگ‌ها به شمار می‌آیند زیرا کاملاً اشباع هستند. با افزایش اشباع‌شدگی، رنگ‌ها خالص‌تر دیده می‌شوند.

    • مقدار (Value): روشنایی یا تاریکیِ یک رنگ. تصویری که فاقد رنگ یا اشباع‌شدگی باشد، تصویر مقیاس خاکستری است.
    در گام بعد باید CLAHE را در اندازه تصویر به کار برد. پارامترهای استفاده شده را توضیح خواهیم داد. محدودیت clipping باید به کمتر از ۴۰ کاهش پیدا کند. پارامتری تحت عنوان اندازه «tile grid» می‌تواند تصویر را به ۶۴ قطعه با ۸ ستون و ۸ ردیف تقسیم کند. تصور کنید تصویر ورودی‌تان ۱۶۰×۱۶۰ پیکسل باشد. در این مورد، تصویر را به نواحیِ ۲۰×۲۰ پیکسل تقسیم می‌کنیم. هر دو پارامتر غالباً به عنوان پیش‌فرض مورد استفاده قرار می‌گیرند. به خاطر داشته باشید که اگر دنبال رفتار باثبات هستید، باید همه تصاویر را در مقیاس یکسان قرار دهید. در گام نهایی، قبل از اینکه عکس را به فرمت اصلی BGR برگردانیم، کانال اندازه را با کانال رنگ و اشباع‌شدگی ادغام می‌کنیم.

    متعادل‌ سازی هیستوگرام

    چه زمانی باید از این روش استفاده کرد؟

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

    مرحله تشخیص

    در این مرحله، می‌توان اشیای بیشتری را پیدا کرد. ما این روش را آزمایش کردیم . مدل می‌تواند پس از استفاده از CLAHE به شناسایی اشیای بیشتری بپردازد. برای مثال، امکان استفاده از آن در اسکن MRI نیز وجود دارد. با این حال، بهتر است گاهی در تشخیص اشیاء از ابزار «up-sample» استفاده کنیم. تاثیرِ این کار بیشتر از بکارگیریِ CLAHE است.

    مرحله بازشناسی

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

    نتیجه‌گیری

    امیدواریم بتوانید از مطالب این مقاله برای ارتقای ابزارهای بازشناسی و تشخیص اشیاء استفاده کنید. ما همواره منتظر نظرات و پیشنهادهای شما هستیم. پس نظرات خود را در پایان این مقاله در وب‌سایت ما درج کنید.

    سیب سییسب ل سیل سی بل

    سیل سی یبل سیلسیبل سیب ب

     

    این مطلب چه میزان برای شما مفید بوده است؟
    [کل: ۱ میانگین: ۳]

    امام جمعه موقت سمنان: تقویت علم هوش مصنوعی ضرورت امروز کشور است

    مقاله قبلی

    هوش مصنوعی و مسیر قانون‌گذاری آینده

    مقاله بعدی

    شما همچنین ممکن است دوست داشته باشید

    نظرات

    پاسخ دهید

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