فهرست مطالب:

تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله
تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله

تصویری: تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله

تصویری: تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله
تصویری: Leap Motion SDK 2024, جولای
Anonim
Image
Image

تشخیص چهره AKA face ID امروزه یکی از مهمترین ویژگی های تلفن های همراه است.

بنابراین ، من یک سوال داشتم "آیا می توانم برای پروژه آردوینو خود شناسه چهره داشته باشم" و پاسخ مثبت است …

سفر من به شرح زیر آغاز شد:

مرحله 1: دسترسی به وب کم

مرحله 2: تشخیص چهره

مرحله 3: جمع آوری داده ها

مرحله 4: آموزش

مرحله 5: تشخیص چهره

مرحله 6: برنامه نویسی آردوینو

تمام مراحل زیر را توضیح خواهم داد. امیدوارم این به شما کمک کند.

مرحله 1: دسترسی به وب کم

دسترسی به وب کم
دسترسی به وب کم

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

ممکن است به این فکر کنید که OpenCV چیست ، اینطور نیست؟

OpenCV (Open Source Computer Vision Library) یک کتابخانه نرم افزار منبع باز و یادگیری ماشینی است. OpenCV برای ایجاد زیرساخت مشترک برای برنامه های بینایی رایانه و تسریع استفاده از درک ماشین در محصولات تجاری ساخته شده است.

اگر Opencv روی رایانه شما نصب شده است ، خوب است بروید. اگر نه پس این مرحله را دنبال کنید.

خط فرمان را باز کنید و "pip install opencv" را تایپ کنید.

هشدار: ممکن است خطایی دریافت کنید زیرا "" پیپ به عنوان یک دستور داخلی یا خارجی شناخته نمی شود ". برای این کار باید مسیر نصب پیپ خود را به متغیر سیستم PATH خود اضافه کنید. این پست را مرور کنید شاید به شما کمک کند.

stackoverflow.com/questions/23708898/pip-i…

پس از نصب OpenCV ، خوب است برویم … برای بررسی اینکه آیا به درستی نصب شده است ، مترجم پایتون خود را باز کرده و کتابخانه را وارد کنید. تصویر بالا را ببینید که باید خروجی شما باشد.

فایل پایتون "AccessTo_webcam.py" را بارگیری کرده و اجرا کنید. من همه نظرات لازم را در آنجا ارائه کرده ام.

آنجا بروید ، اکنون به وب کم دسترسی دارید. آفرین. اجازه دهید به مرحله 2 برویم

مرحله 2: تشخیص چهره

تشخیص چهره
تشخیص چهره

با استفاده از همان ماژول OpenCV ، باید تشخیص دهیم که آیا چهره ای در جریان ویدئو وجود دارد یا خیر.

OpenCV یک روش آموزشی یا مدلهای از پیش آموزش داده شده به نام Cascade Classifier ارائه می دهد. مدلهای از پیش آموزش داده شده در پوشه داده در نصب OpenCV قرار دارند. من آن فایل را ارائه می دهم فقط آن را بارگیری کرده و در پوشه پروژه خود قرار دهید. پوشه ای که فایل "AccessTo_webcam.py" در آن ذخیره شده است. اگر یکی را ایجاد نکرده اید ، این کار را انجام دهید.

"haarcascade_frontalface_default" را بارگیری کرده و در پوشه اصلی پروژه قرار دهید.

"Face_identification.py" را بارگیری کرده و در پوشه اصلی پروژه قرار دهید. تمام توضیحات در آن ارائه شده است.

اکنون می توانید چهره ها را در یک جریان ویدیویی شناسایی کنید. بنابراین بیایید به مرحله 3 برویم.

مرحله 3: جمع آوری داده ها

گردآوری داده ها
گردآوری داده ها

برای تشخیص چهره ها باید برنامه پایتون خود را آموزش دهیم. که برای آن به برخی داده ها نیاز داریم.

جمع آوری داده ها ساده ترین مرحله در این پروژه است. یک پوشه با نام "image_data" در پوشه اصلی پروژه خود ایجاد کنید. در داخل پوشه "image_data" چند پوشه اضافی با نام شخص ایجاد کنید ، جایی که ما داده ها را در آن ذخیره می کنیم. مثلا:

در پوشه "image_data" دو پوشه دیگر با نام "HRK" و "Yahiya" ایجاد کرده ام. همانطور که در تصویر بالا نشان داده شده است.

حالا برو فولدرهای خود را بساز و نام آنها را بگذار.

پس از ایجاد پوشه ها ، شروع به جمع آوری تصاویر آن شخص خاص کنید. توصیه می کنم حدود 20 تصویر برای هر نفر جمع آوری کنید. همچنین می توانید تصاویر بیشتری اضافه کنید اما مراقب باشید که داده های جمع آوری شده برای همه افراد دارای تعداد یکسانی از تصاویر باشد. به ارائه دقت کمک می کند.

این تمام است ، بیایید به مرحله 4 برویم.

مرحله 4: آموزش

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

با فرض اینکه داده هایی برای افراد X و Y جمع آوری کرده اید.

ما به شخص X برچسب 1 می زنیم که شناسه برچسب او خواهد بود و نام خود X خواهد بود. ما تصویر را بارگذاری می کنیم تا چهره او یعنی منطقه مورد نظر را پیدا کنیم و داده ها را به یک لیست اضافه می کنیم.

مراحل مشابهی برای شخص Y دنبال می شود. و در نهایت ، ما یک فایل ".yml" ایجاد می کنیم.

فایل "face_trainer.py" را بارگیری کرده و در پوشه اصلی پروژه قرار دهید. تمام توضیحات لازم در خود آن فایل ارائه شده است.

هنگامی که این برنامه را اجرا می کنید ، تمام تصاویر را مرور کرده و دو فایل با نام "labels.pickle" و "trainner.yml" ایجاد می کند. حالا شما مدل خود را آموزش داده اید. بنابراین بیایید به مرحله 5 برویم.

مرحله پنجم: تشخیص چهره

تشخیص چهره
تشخیص چهره

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

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

"face_recognise.py" را بارگیری کرده و اجرا کنید. تمام اطلاعات لازم در آن ارائه شده است. حالا ممکن است چهره شما شناخته شده باشد. اگر دقت خوب نیست ، سعی کنید داده ها را به روز کنید. اگر همه شما خوب هستید ، بگذارید به مرحله 6 برویم/

مرحله 6: برنامه نویسی آردوینو

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

اگر ویدیو را تماشا کرده اید ، بگذارید برایم توضیح دهم که چه کار کردم. وقتی چهره من شناخته شد ، شناسه برچسب ارائه شده 2 است. هنگامی که شناسه برچسب 2 است ، "1" را به عنوان داده سریال به Arduino خود ارسال می کنم. که مدار تعقیب کننده LED من را روشن می کند. اگر شناسه برچسب غیر از 2 باشد ، من "0" را به عنوان داده های سریال ارسال می کنم ، که باعث می شود مدار تعقیب کننده LED من خاموش شود.

فایل "ard_chaser.ino" را بارگیری کنید. این یک برنامه ساده تعقیب کننده LED است که از ارتباط سریال استفاده می کند.

به صورت ساده "face_recogniser1.py" را بارگیری کنید که ارتباط سریال بین آردوینو و برنامه پایتون را برقرار می کند.

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

متشکرم.

توصیه شده: