تشخیص رنگ پوست در چهره(Skin color Detection) - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تشخیص رنگ پوست در چهره(Skin color Detection)

+1 امتیاز
سلام بر دوستان عزیر شب شما بخیر باشه.

من برای پروژه کارشناسیم در زمینه شناسایی چهره قراره چهره را تشخیص بدم .یک مشکلی که الان برام پیش آمده نمی تونم ناحیه رنگ پوست صورت را بدرستی شناسایی کنم برای اینکار ابتدا تصویر را از فضای رنگی RGB به فضای رنگی HSV می برم و سپس در محدوده های مختلفی که برای رنگ پوست هست نواحی مربوط در 3 کنال Hue ،saturation و ]Intenisty هست را اعمال می کنم ولی در شرایط نوری مختلف ماسک پوست صورت بدرستی محاسبه نمیشه آیا برای اینکار روش دقیق تری وجود نداره.

 

تشکر
سوال شده اسفند 2, 1392  بوسیله ی نظری (امتیاز 62)   5 10 13

2 پاسخ

+3 امتیاز
 
بهترین پاسخ

از فرمول زیر استفاد کنید که در فضای HSL هستش.

uchar H = hls_image.at<Vec3b>(row,col)[0];
uchar L = hls_image.at<Vec3b>(row,col)[1];
uchar S = hls_image.at<Vec3b>(row,col)[2];
double LS_ratio = ((double) L) / ((double) S);
bool skin_pixel = (S >= 50) && (LS_ratio > 0.5) &&
(LS_ratio < 3.0) && ((H <= 14) ∥ (H >= 165));

 

اگر از این هم دقیق تر نیاز دارید و کارتون بر روی رنگ پوست چهره هستش می تونید کلاسیفیر را با توجه به فاصله از اجزای صورت آموزش بدید .

پاسخ داده شده شهریور 14, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اردیبهشت 6, 1394 بوسیله ی نظری
0 امتیاز
 تقسیم بندی رنگ پوست در تشخیص چهره مشکل استفاده از فضای رنگ، اشباع و شدت (HSI) برای تقسیم بندی رنگ پوست این است که به شرایط نوری بسیار حساس است و تعیین محدوده رنگ پوست قوی را دشوار می کند.
 
یک روش جایگزین استفاده از فضای رنگی YCrCb است. فضای رنگی YCrCb اطلاعات درخشندگی (کانال Y) را از اطلاعات کرومینانس (کانال های Cr و Cb) جدا می کند. کانال‌های Cr و Cb به ترتیب با اطلاعات رنگ قرمز و آبی در ارتباط هستند و آن را به نمایش مناسب‌تری برای تقسیم‌بندی رنگ پوست تبدیل می‌کنند.
 
رویکرد دیگر استفاده از الگوریتم‌های یادگیری ماشین، مانند شبکه عصبی کانولوشن (CNN) برای انجام تقسیم‌بندی رنگ پوست است. این رویکرد می‌تواند در برابر تغییرات در شرایط نوری قوی‌تر باشد و می‌تواند روی مجموعه داده‌های بزرگی از چهره‌ها آموزش داده شود تا ویژگی‌های منحصر به فرد رنگ پوست را بیاموزد.
 
همچنین در نظر گرفتن مراحل پیش پردازش مانند یکسان سازی هیستوگرام برای افزایش کنتراست ناحیه صورت در تصویر، که می تواند دقت تقسیم بندی رنگ پوست را بهبود بخشد، مهم است.
 
در نهایت، مهم است که عملکرد روش تقسیم‌بندی رنگ پوست خود را با استفاده از مجموعه داده‌های بزرگ و متنوعی از چهره‌ها در شرایط نوری مختلف تأیید کنید و پارامترهای روش خود را بر اساس نتایج این ارزیابی تنظیم کنید.
پاسخ داده شده بهمن 13, 1401 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
ویرایش شده بهمن 13, 1401 بوسیله ی farnoosh
...