در زمان پانادمی کووید 19، همه ما مجبور به استفاده از ماسک برای جلوگیری از این ویروس خطرناک شدیم. در این قسمت، به کمک شبکه عصبی مصنوعی سورس تشخیص ماسک در پایتون را پیاده سازی کردیم که از طریق تصویر چهره افراد، تشخیص دهیم ماسک بر روی صورت آنها زده شده است یا خیر.
تشخیص ماسک در پایتون
سورس پیاده سازی برای تشخیص ماسک در پایتون شامل دو قسمت است. اول اینکه یک شبکه عصبی را Train میکنیم تا مدلی برای تشخیص ماسک در تصاویر پیدا کنیم. دوم با کمک مدل مرحله اول، تصویری از چهرا افراد دریافت و تشخیص میدهیم آیا ماسک بر روی چهره فرد وجود دارد یا خیر.
دیتاست
برای ساختن مدل نیاز است که دیتایی از پیش داشته باشیم. ما در این پروژه از دیتاست که در لینک قرار دادهایم استفاده کردهایم. برای اجرای سورس کد حتماً نیاز است دیتاست را دانلود کنید تا کد (Train) اجرا شود. بعد از دانلود پروژه فایل را باز کرده و Train.zip را باز کنید. دو فولدر with mask و without mask در آن قرار دارد. این فایل ها درون پروژه خود قرار دهید.
ساختار پروژه
برای اجرای کد نیاز است ساختار زیر را رعایت کنید:
├── dataset │ ├── with_mask │ └── without_mask ├── face_detector │ ├── deploy.prototxt │ └── res10_300x300_ssd_iter_140000.caffemodel ├── detect_mask_image.py ├── mask_detector.model ├── plot.png ├── image1.jpg └── train_mask_detector.py
دو فولدر dataset و face detector در پروژه قرار دارند. Dataset شامل دو فولدر دیگر به نامهای with mask و without mask می باشد. Face detector شامل دو فایل فایلی به نام deploy.prototxt و res10_300x300_ssd_iter_140000.caffemodel (این فایل را از آدرس لینک دانلود کنید) می باشد. فایل train_mask_detector.py مرحله اول سورس ما می باشد. در این سورس مدلی که توضیح داده شد ساخته میشود. در فایل detect_mask_image.py مرحله دوم سورس، یعنی تشخیص ماسک از روی تصویر ورودی می باشد. mask_detector.model پس از اجرای مرحله اول ایجاد می شود و همان مدل ماست.
نحوه اجرا
برای اجرای سورس کد، ابتدا باید دیتاست را دانلود کنید و فولدری به نام dataset در کنار سورس کدها ایجاد کنید(مطابق با توضیحات بالا). پس از کپی کردن فولدرهای with mask و without mask درون dataset، کد train_mask_detector.py اجرا کنید. پس از اجرا، تصویری برای تست در کنار پروژه قرار دهید ما تصویر image1.jpg را برای تست قرار دادیم. کد detect_mask_image.py را اجرا کنید. تصویر خروجی مطابق با شکل زیر است.

کتابخانههای استفاده شده در این پروژه به صورت زیر است:
- tensorflow
- numpy
- cv2
- os
- matplotlib
- imutils
- sklearn
قبل از اجرای برنامه از نصب کتابخانههای بالا اطمینان حاصل کنید.
amir eskandari (خریدار محصول) –
سلام میشه ورژن های کتابخانه هارو معرفی کنید لطفا
سعید غریبی –
سلام. وقت بخیر. نسخه tensorflow استفاده شده در این پروژه کمتر از 2.3 است. اگر میخواهید از نسخه 3.14 یعنی آخرین نسخهای که تا الان release شده استفاده نمایید باید در فایل train_mask_detector کد زیر را پیدا کنید:
opt = Adam(lr=INIT_LR, decay=INIT_LR / EPOCHS)
و خط زیر را جایگزین آن نمایید:
opt = Adam(learning_rate=INIT_LR)
برنامه بدرستی اجرا خواهد شد.