برنامه نویسی را از صفر شروع کنید!
مشخصات پروژه
-
205
-
0.0
-
729
-
0
-
0
آموزش تشخیص چهره با پایتون

شرح مختصر پروژه
در این پروژه به شما نشان خواهیم داد که چگونه با استفاده از پایتون یک تشخیص چهره ساده بسازید.
توضیحات پروژه
در این پروژه به شما نشان خواهیم داد که چگونه با استفاده از پایتون یک تشخیص چهره ساده بسازید.
ساختن برنامهای که چهرهها را شناسایی میکند، یک راه عالی برای شروع کار با یادگیری ماشین است. بنابراین من در اینجا یک راه بسیار آسان برای تشخیص چهره با پایتون را به شما معرفی می کنم.
همانطور که از عنوان پیداست، ما برنامه ای برای تشخیص چهره با پایتون خواهیم نوشت. وقتی برنامه ای را می گویمی، می توانید آن را مانند آموزش دادن به یک ماشین بفهمید که چه کاری انجام دهد. ما دوست داریم به جای برنامه نویسی از آموزش استفاده کنم زیرا در واقع این کاری است که ما اینجا انجام می دهیم.
بهترین راه برای یادگیری در مورد همه چیز، آموزش است، بنابراین در حالی که به ماشینی برای تشخیص چهره آموزش می دهیم، ما نیز در حال یادگیری هستیم. بنابراین، قبل از شروع این کار تشخیص چهره با پایتون، میخواهیم تفاوت بین Face Detection و Face Recognition را به اشتراک میگذاریم.
Face Detection و Face Recognition
Face Detection و Face Recognition ممکن است بسیار شبیه به هم به نظر برسند، اما در واقعیت، آنها یکسان نیستند. بیایید تفاوت را درک کنیم تا نکته را از دست ندهیم.
Face detection فرآیند تشخیص چهره از تصویر یا ویدیو است،. این برنامه کاری جز یافتن چهره ها انجام نمی دهد. اما از طرف دیگر Face Recognition ، برنامه ای هست که چهره ها را پیدا می کند و همچنین می تواند تشخیص دهد که چهره متعلق به چه کسی است. بنابراین این آموزنده تر از تشخیص آنهاست. به عبارت دیگر برنامه نویسی و آموزش بیشتر در این فرآیند وجود دارد.
فرض کنید به خیابان نگاه می کنید و ماشین ها در حال عبور هستند. Face detection مانند این است که بگوییم جسم عبوری ماشین است. و Face Recognition مانند این است که بتوانیم مدل ماشین عبوری را تشخیص دهیم. در اینجا یک تصویر زیبا وجود دارد که تفاوت را در عمل نشان می دهد.
تشخیص چهره Face Detection با پایتون
ما از کتابخانه OpenCV در پایتون استفاده خواهیم کرد که به عنوان ابزار اصلی برای وظایف بینایی کامپیوتر (computer vision ) در پایتون استفاده می شود. اگر مبتدی برای کار با OpenCV هستید، این پروژه بهترین کار برای شروع است.
ابتدا باید کتابخانه OpenCV را در پایتون نصب کنید که با استفاده از دستور pip به راحتی قابل نصب است:
pip install opencv-python
پس از نصب این کتابخانه باید به سادگی با استفاده از دستور زیر آن را اجراکنید:
import cv2
کتابخانه OpenCV در پایتون دارای طبقهبنده هایی از پیش آموزشدیده بسیاری برای صورت، چشمها، لبخند و غیره است. این فایلهای XML در یک پوشه ذخیره میشوند. ما از مدل تشخیص چهره استفاده خواهیم کرد.
پس از دانلود و ذخیره فایل در دایرکتوری خود، اجازه دهید آن را در برنامه تشخیص چهره بارگذاری کنیم:
face_cascade = cv2.CascadeClassifier('face_detector.xml')
مرحله بعدی انتخاب تصویری است که می خواهید کد خود را روی آن آزمایش کنید. مطمئن شوید که حداقل یک چهره در تصویر وجود دارد تا برنامه تشخیص چهره بتواند حداقل یک چهره را پیدا کند.
پس از انتخاب یک تصویر، اجازه میدهید آن را در برنامه خود تعریف کنیم. مطمئن شوید که تصویر در همان دایرکتوری است که در آن کار می کنید:
img = cv2.imread('image.jpg')
تشخیص چهره ها
از کوتاه بودن کد تشخیص چهره شگفت زده خواهید شد. با تشکر از افرادی که به OpenCV کمک می کنند. در اینجا کدی است که چهره ها را در یک تصویر تشخیص می دهد:
faces = face_cascade.detectMultiScale(img, 1.1, 4)
اکنون آخرین مرحله کشیدن مستطیل در اطراف چهره های شناسایی شده است که به راحتی با کد زیر قابل انجام است:
for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2) cv2.imwrite("face_detected.png", img) print('Successfully saved')
بنابراین به این ترتیب میتوانیم به راحتی یک چهره یا چند چهره موجود در تصویر را تشخیص دهیم.