سـورس کد

تشخیص و شمارش چهره در متلب از وب کم

برنامه‌نویس:

تیم برنامه‌نویسی پی‌استور

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

هزینه سفارش:

۳۹۹,۰۰۰ تومان

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

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

اهمیت و ضرورت شمارش خودکار چهره در بینایی ماشین

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

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

پیاده سازی این سامانه مزایای زیر را فراهم می سازد:

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

مبانی نظری و منطق پردازشی الگوریتم وایولا جونز (Viola-Jones)

در این سورس کد متلب، هسته شناسایی موقعیت چهره بر پایه الگوریتم بسیار قدرتمند و تحسین شده «وایولا جونز» (Viola-Jones Algorithm) طراحی و پیاده سازی شده است. این الگوریتم در سال ۲۰۰۱ توسط پاول وایولا و مایکل جونز معرفی شد و همچنان به عنوان یکی از سریع ترین و پایدارترین راهکارهای استاندارد آشکارسازی اشیاء و چهره به صورت بلادرنگ در دنیا شناخته می شود.

موتور محاسباتی وایولا جونز از چهار نوآوری مهندسی کلیدی تشکیل شده است که این پروژه متلب نیز از تمامی آن ها به طور دقیق بهره می برد:

۱. ویژگی های شبیه هار (Haar-like Features)

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

۲. مفهوم تصویر یکپارچه (Integral Image)

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

۳. الگوریتم یادگیری آدابوست (AdaBoost)

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

۴. ساختار سلسله مراتبی دسته بندی کننده ها (Cascade Architecture)

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

تحلیل و کالبدشکافی خطوط سورس کد برنامه

ساختار برنامه نویسی این پروژه به صورت کاملاً ماژولار و مبتنی بر استاندارد توابع بینایی ماشین متلب تدوین شده است. در ادامه بخش های حیاتی کد و نحوه عملکرد دستورات را بررسی می کنیم:

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

ابتدا متغیر شیء دوربین به صورت سراسری تعریف می شود تا دسترسی به فریم های دوربین در تمامی توابع رابط گرافیکی به آسانی صورت گیرد:

global vid
vid = videoinput('winvideo', 1, 'YUY2_640X480');

دستور فوق از آداپتور ویدیویی ویندوز (winvideo) برای برقراری ارتباط پایدار با اولین وب کم در دسترس استفاده می کند و رزولوشن ضبط تصاویر را بر روی اندازه استاندارد ۶۴۰ در ۴۸۰ پیکسل تنظیم می نماید که بهترین تعادل میان کیفیت دید و سرعت پردازش فریم ها است.

تنظیمات تریگر و مدیریت حافظه بافر

برای دستیابی به حداکثر ثبات در پردازش فریم ها و جلوگیری از قفل شدن رم (RAM)، فرآیند تصویربرداری با پیکربندی دستی تنظیم می شود:

triggerconfig(vid, 'manual');
set(vid, 'FramesPerTrigger', 1);
set(vid, 'TriggerRepeat', Inf);
set(vid, 'ReturnedColorSpace', 'rgb');
vid.Timeout = 10;
start(vid);

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

اتصال جریان زنده به پنل محور گرافیکی

پیش نمایش پیوسته و زنده فریم های ارسالی از وب کم با دستور زیر مستقیماً بر روی محور نمایشی (Axes) پنل گرافیکی قرار می گیرد:

hImage = image(zeros(600, 800, 3), 'parent', handles.axes1);
preview(vid, hImage);

این ساختار باعث می شود کاربر بدون کوچک ترین لرزش یا پرش تصویر، جریان زنده دوربین را مشاهده نماید.

آشکارسازی چهره و شمارش برخط

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

امکانات رابط کاربری گرافیکی (GUI) پروژه

این پروژه مجهز به یک واسط کاربری بصری و بسیار منظم است که بدون نیاز به نوشتن دستورات در پنجره Command Window متلب، استفاده از نرم افزار را برای کاربران با هر سطح دانشی لذت بخش می سازد:

  • دکمه شروع تصویربرداری (Start Video): فراخوانی درایور وب کم، فعال سازی هندل دوربین و آغاز نمایش فریم های زنده بر روی محور تصویر.
  • دکمه توقف (Stop Video): آزادسازی ایمن منابع سخت افزاری دوربین و پاک سازی بافر برای جلوگیری از مسدود ماندن وب کم در سیستم عامل.
  • نمایشگر وضعیت شمارش: کادر متنی با فونت خوانا و برجسته که تعداد دقیق افراد و چهره های آشکارشده را به صورت لحظه ای و همگام با تغییر کادر دوربین نمایش می دهد.
  • کادربندی شناور روی چهره ها: ترسیم کادرهای مستطیلی با رنگ مشخص به دور صورت تمام افراد موجود در کادر جهت اطمینان از عملکرد صحیح الگوریتم.
  • محیط کاربرپسند: طراحی شده با استفاده از ابزار استاندارد GUIDE متلب با امکان ویرایش چیدمان، تغییر رنگ ها و شخصی سازی نام پنل ها.

پیش نیازها و نحوه راه اندازی سورس کد در متلب

برای اجرای بی دردسر و بدون خطای این سورس کد، نیازمندی های سیستمی و جعبه ابزارهای استاندارد زیر در نظر گرفته شده است:

نرم افزار متلب

این پروژه در نسخه MATLAB 2014 توسعه داده شده است و با تمامی نسخه های بالاتر متلب نیز سازگاری کامل دارد.

بسته پشتیبانی دوربین (MATLAB Support Package for Webcams)

این بسته رسمی جهت شناسایی مستقیم وب کم های متصل به درگاه USB یا وب کم های داخلی لپ تاپ به کار می رود. در محیط متلب با کلیک بر روی بخش Add-Ons و جستجوی واژه Webcam، می توان این بسته رایگان را دریافت و نصب کرد.

آداپتور Winvideo (Image Acquisition Support Package)

برای پردازش فریم های ویدیویی و بهره گیری از توابع کتابخانه videoinput در ویندوز، نصب بسته سخت افزاری Image Acquisition Toolbox ضروری است که درایور و آداپتور winvideo را به هسته متلب اضافه می کند.

جعبه ابزار بینایی رایانه (Computer Vision Toolbox)

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

کاربردهای صنعتی، دانشگاهی و تحقیقاتی سورس کد

پروژه پیاده سازی شده علاوه بر کاربرد آموزشی مستقیم، یک سنگ بنای اساسی برای توسعه دامنه گسترده ای از سیستم های هوشمند است:

  • کلاس های درس و سالن های آزمون هوشمند: ارزیابی خودکار حضور و غیاب دانش آموزان و دانشجویان و نظارت تصویری بر تراکم جمعیت.
  • سیستم های کنترل هوشمند تأسیسات ساختمان (BMS): تنظیم دمای اتاق، شدت وزش کولر، میزان هوای مطبوع یا سطح روشنایی با توجه به تعداد دقیق افراد حاضر در محیط برای بهینه سازی مصرف انرژی.
  • مدیریت ایمنی و پیشگیری از حوادث: پایش ظرفیت مجاز در محیط های محصور، آسانسورها، اتاق های فرمان و خطوط تولید کارخانجات.
  • تحقیقات و مقالات آکادمیک: بهره برداری به عنوان کد مرجع و پایه در پایان نامه های کارشناسی و کارشناسی ارشد رشته های هوش مصنوعی و بینایی ماشین جهت مقایسه سرعت و دقت مدل های کلاسیک با مدل های مبتنی بر یادگیری عمیق (Deep Learning).

مزایای کلیدی تهیه سورس کد از پی استور

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

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

پس از تهیه و دریافت فایل فشرده پروژه، مراحل زیر را به ترتیب انجام دهید:

۱. فایل فشرده ZIP را در یک پوشه دلخواه روی هارد دیسک خود استخراج (Extract) نمایید.

۲. نرم افزار متلب را باز کرده و پوشه جاری (Current Folder) برنامه را دقیقاً بر روی مسیر پوشه استخراج شده قرار دهید.

۳. مطمئن شوید وب کم لپ تاپ یا دوربین جانبی USB به سیستم متصل است.

۴. فایل اصلی رابط کاربری (فایل با پسوند .m مربوط به پروژه) را در ویرایشگر متلب باز کرده و کلید Run (یا دکمه F5 صفحه کلید) را بفشارید.

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

خرید و دانلود فوری محصول

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

ویدئوی معرفی اثر

نمایش بصری

پیش‌نمایش ویدئوها

برای مشاهده ویدیوی هر بخش، روی عنوان آن کلیک کنید.

1 ویدئو
برنامه‌نویس
تیم برنامه‌نویسی پی‌استور
متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

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

تیم برنامه‌نویسی پی‌استور
اطلاعات و ویژگی‌های فنی

مشخصات تکمیلی

اطلاعات و جزئیات کامل این محصول

نام اثر
تشخیص و شمارش چهره در متلب از وب کم
نوع اثر
سورس کد
برنامه‌نویس:
تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی:
Matlab
ویژگی:
دارای قابلیت ویرایش و دانلود

راهنمای خرید و ثبت سفارش

راهنمای 3 مرحله ای خرید

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟

  • با شماره 44225175 (پیش شماره 041) تماس بگیرید. – ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

دیدگاه‌ها و نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و ديدگاه هاي خود را براي هرچه بهتر قرار دادن مطالب با ما در ميان بگذاريد.

دیدگاه خود را بنویسید

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

شناسه اثر: 5300 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

۳۹۹,۰۰۰ تومان