تشخیص زن یا مرد بودن با پردازش تصویر در متلب

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

تشخیص جنسیت از روی تصویر چیست و چرا مسئله ساده‌ای نیست؟

تشخیص جنسیت (Gender Classification/Recognition) یک مسئله طبقه‌بندی دودویی (Binary Classification) است که هدف آن تعیین جنسیت فرد از روی ویژگی‌های بصری استخراج‌شده از تصویر است. دشواری اصلی این مسئله در تنوع زیاد ظاهری در هر دو کلاس، تأثیر زاویه دوربین و پوشش لباس، و کیفیت متغیر تصویر (نور، فاصله، وضوح) نهفته است. برخلاف تشخیص هویت (Face Recognition) که به دنبال تمایز بین افراد است، اینجا هدف یافتن الگوهای مشترک بین یک گروه (مثلاً همه زنان) در برابر گروه دیگر است.

رویکرد اول: تشخیص جنسیت از روی چهره

پیش‌پردازش و مکان‌یابی چهره

در این رویکرد، ابتدا ناحیه چهره در تصویر با تکنیک‌های تشخیص چهره (مانند Viola-Jones) شناسایی و برش داده می‌شود، سپس تصویر چهره هم‌ترازسازی (Alignment) و نرمال‌سازی می‌شود تا اثر زاویه و مقیاس کاهش یابد.

استخراج ویژگی

ویژگی‌های رایج برای این مسئله شامل Local Binary Patterns (LBP) برای کدگذاری بافت پوست و ساختار چهره، HOG (Histogram of Oriented Gradients) برای الگوی لبه‌ها (مفید برای تمایز ساختار استخوانی صورت)، و تحلیل مؤلفه‌های اصلی (PCA، مشابه روش Eigenfaces) برای کاهش ابعاد و استخراج مهم‌ترین الگوهای تمایزدهنده هستند.

طبقه‌بندی

بردار ویژگی نهایی معمولاً به یک طبقه‌بند SVM با Kernel RBF یا خطی داده می‌شود. این ترکیب (LBP یا HOG + SVM) یکی از پرکاربردترین و مستندترین Pipeline‌ها در ادبیات علمی تشخیص جنسیت چهره‌محور است.

رویکرد دوم: تشخیص جنسیت از روی سیلوئت و تناسبات بدن

وقتی چهره در دسترس نیست یا کیفیت کافی ندارد (مثلاً دوربین ورودی با زاویه بالا یا فاصله زیاد، دقیقاً سناریوی رایج دوربین‌های امنیتی درب ورودی)، رویکرد جایگزین تحلیل سیلوئت (Silhouette) و تناسبات بدن است.

استخراج سیلوئت

با کم‌کردن پس‌زمینه ثابت صحنه از فریم فعلی (Background Subtraction)، سیلوئت (طرح‌کلی سیاه‌وسفید) فرد از پس‌زمینه جدا می‌شود.

ویژگی‌های آنتروپومتریک

از روی سیلوئت، نسبت‌های آناتومیک کلیدی مانند نسبت عرض شانه به باسن، نسبت قد به عرض، و توزیع عرض بدن در ارتفاعات مختلف استخراج می‌شود — این نسبت‌ها به‌طور آماری بین دو جنس تفاوت معناداری دارند و مبنای علمی روش‌های آنتروپومتریک را تشکیل می‌دهند.

تحلیل الگوی راه‌رفتن (Gait-based Recognition)

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

رویکرد سوم: یادگیری عمیق

در سال‌های اخیر، مدل‌های شبکه عصبی کانولوشن (CNN) با یادگیری خودکار ویژگی از تصویر خام (چهره یا کل بدن)، دقت بالاتری نسبت به روش‌های دستی (LBP/HOG) ارائه می‌دهند — به‌ویژه با استفاده از Transfer Learning روی مدل‌های از پیش آموزش‌دیده که با حجم داده نسبتاً کم نیز نتایج قابل‌قبولی می‌دهند. انتخاب بین روش کلاسیک و یادگیری عمیق به حجم دیتاست در دسترس، منابع محاسباتی، و نیاز به تفسیرپذیری مدل بستگی دارد.

پیاده‌سازی در MATLAB: کدام توابع و ابزارها؟

  • Computer Vision Toolbox — تشخیص چهره با vision.CascadeObjectDetector، و توابع تحلیل پیش‌زمینه/پس‌زمینه برای استخراج سیلوئت
  • Image Processing Toolbox — استخراج ویژگی بافتی با extractLBPFeatures() و ویژگی HOG با extractHOGFeatures()
  • Statistics and Machine Learning Toolbox — آموزش طبقه‌بند با fitcsvm()، و کاهش ابعاد با pca()
  • Deep Learning Toolbox — برای رویکرد یادگیری عمیق، Fine-tuning شبکه‌های از پیش آموزش‌دیده با trainNetwork()

ارزیابی و چالش‌های واقعی

دقت مدل معمولاً با Accuracy و ماتریس درهم‌ریختگی (Confusion Matrix) روی مجموعه آزمون سنجیده می‌شود. چالش‌های اصلی این حوزه شامل تأثیر پوشش لباس فرهنگی/محیطی بر ویژگی‌های سیلوئت، تنوع سبک مو و لباس در روش‌های چهره‌محور، و افت دقت در نور کم یا زاویه دوربین نامناسب است. به همین دلیل، بسیاری از سیستم‌های عملی رویکرد چهره و بدن را به‌صورت ترکیبی (Multi-modal) به‌کار می‌برند تا در صورت ضعف یکی، دیگری جبران کند.

مقایسه سه رویکرد

رویکردنیاز ورودیدقت معمولمناسب برای
چهره‌محور (LBP/HOG + SVM)چهره واضح و نزدیکبالا در شرایط مناسبدوربین ورودی نزدیک، احراز هویت
سیلوئت/آنتروپومتریکتصویر یا ویدیوی کامل بدنمتوسطدوربین با زاویه بالا یا فاصله زیاد
یادگیری عمیق (CNN)چهره یا بدن، با دیتاست کافیبالاترین (با داده کافی)سیستم‌های تجاری با دقت بالا

کاربردهای عملی

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

پرسش‌های پرتکرار

کدام روش برای دوربین نصب‌شده در ورودی (زاویه بالا) مناسب‌تر است؟

در این سناریو معمولاً چهره به‌وضوح در دسترس نیست، بنابراین رویکرد سیلوئت/آنتروپومتریک یا ترکیب آن با تحلیل چند فریم (در صورت وجود ویدیو) عملی‌تر است.

آیا بدون دیتاست بزرگ می‌توان این پروژه را با دقت قابل‌قبول پیاده‌سازی کرد؟

بله، روش‌های کلاسیک (LBP/HOG + SVM) با دیتاست‌های نسبتاً کوچک هم نتایج قابل‌دفاع می‌دهند؛ برای دقت بالاتر با یادگیری عمیق، حجم داده بیشتری لازم است یا باید از Transfer Learning استفاده شود.

آیا این روش‌ها به مقاله علمی مشخصی قابل استناد هستند؟

بله، ترکیب LBP/HOG با SVM و تحلیل سیلوئت آنتروپومتریک از رویکردهای شناخته‌شده و مستند در ادبیات پژوهشی تشخیص جنسیت هستند و می‌توانند دقیقاً مطابق مقاله مرجع شما پیاده‌سازی شوند.

پیاده‌سازی پروژه شما با متلب

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