فهرست مطالب:
- مرحله 1: موارد مورد استفاده در این پروژه
- مرحله 2: اتصال سخت افزار
- مرحله 3: برنامه نویسی نرم افزار
- مرحله 4: انجام شد
تصویری: قفل هوشمند تشخیص چهره با LTE Pi HAT: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
تشخیص چهره روز به روز بیشتر مورد استفاده قرار می گیرد ، ما می توانیم از آن برای ایجاد یک قفل هوشمند استفاده کنیم.
مرحله 1: موارد مورد استفاده در این پروژه
اجزای سخت افزاری
- رزبری پای 3 مدل B
- ماژول دوربین رزبری پای V2
- گروو - رله
- LTE Cat 1 Pi HAT (اروپا)
- صفحه نمایش 10.1 اینچی 1200x1980 HDMI IPS LCD
برنامه های نرم افزاری و خدمات آنلاین
- WinSCP
- دفترچه یادداشت ++
مرحله 2: اتصال سخت افزار
در این پروژه ، ما قصد داریم با picamera عکس بگیریم و چهره ها را در آنها تشخیص دهیم ، سپس نتیجه تشخیص را در صفحه نمایش دهیم. اگر چهره ها مشخص هستند ، در را باز کنید و کسانی را که در را باز کرده اند به شماره تلفن مشخص شده از طریق پیامک ارسال کنید.
بنابراین باید یک دوربین را به رابط دوربین رزبری پای متصل کرده و آنتن و Grove - Relay to LTE Pi را نصب کرده و سپس HAT را به Pi خود وصل کنید. صفحه را می توان از طریق کابل HDMI به رزبری پای متصل کرد ، فراموش نکنید که برق را به صفحه و Pi خود وصل کنید.
مرحله 3: برنامه نویسی نرم افزار
تشخیص چهره
با تشکر از آدام گیتگی و پروژه تشخیص چهره او ، می توانیم از ساده ترین کتابخانه تشخیص چهره جهان در رزبری پای استفاده کنیم. مراحل زیر نحوه تنظیم تشخیص چهره در Pi را به شما نشان می دهد.
مرحله 1. برای پیکربندی دوربین و حافظه GPU از raspi-config استفاده کنید.
sudo raspi-config
انتخاب گزینه های رابط - دوربین برای فعال کردن picamera ، سپس انتخاب گزینه های پیشرفته - Memory Split برای تنظیم حافظه GPU ، باید به 64 تغییر کند. پس از اتمام ، Raspberry Pi خود را راه اندازی مجدد کنید.
مرحله 2. کتابخانه های مورد نیاز را نصب کنید.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install build-essential / cmake / gfortran / git / wget / curl / graphicsmagick / libgraphicsmagick1-dev / libatlas-dev / libavcodec-dev / libavformat-dev / libboost-all-dev / libgtk2. 0-dev / libjpeg-dev / liblapack-dev / libswscale-dev / pkg-config / python3-dev / python3-numpy / python3-picamera / python3-pip / zip sudo apt-get clean
مرحله 3. آرایه ای برای پشتیبانی از picamerea بسازید.
sudo pip3 install -ارتقاء picamera [array]
مرحله 4. dlib و تشخیص چهره را نصب کنید.
sudo pip3 dlib را نصب کنید
sudo pip3 face_recognition را نصب کنید
مرحله 5. نمونه تشخیص چهره را بارگیری و اجرا کنید
git clone-تک شاخه
cd./face_recognition/example python3 facerec_on_raspberry_pi.py
توجه: اگر ImportError: libatlas.so.3 را دریافت کردید: نمی توانید فایل شیء مشترک را باز کنید: چنین فایل یا دایرکتوری ای وجود ندارد ، دستور زیر را برای رفع آن اجرا کنید.
رله
وقتی تشخیص چهره آماده شد ، می توانیم به افزودن ویژگی های اضافی ادامه دهیم. ما Grove - Relay را به LTE Cat 1 Pi HAT متصل کردیم ، اما از پورت دیجیتال بیشتر از پورت I2C استفاده می کند.
این برای Raspberry Pi 3B پین شده است ، ما می توانیم پین SDA و پین SCL را در پین 3 و پین 5 برد مشاهده کنیم.
بنابراین ما می توانیم رله را با خروجی سیگنال دیجیتالی به پین 5 کنترل کنیم. با دنبال کردن برنامه پایتون روی رزبری پای خود ، اگر مشکلی پیش نیامد ، صدای Ti-Ta را از رله می شنوید.
RPi. GPIO را به عنوان GPIO وارد کنید
RELAY_PIN = 5 GPIO.setmode (GPIO. BOARD) GPIO.setup (RELAY_PIN، GPIO. OUT) GPIO.output (RELAY_PIN، GPIO. HIGH)
بنابراین این ایده است ، ما چهره های شناخته شده را از یک پوشه بارگذاری می کنیم ، چهره های ضبط شده توسط picamera را تشخیص می دهیم ، اگر صورت در پوشه ، رله کنترل را باز می کند تا قفل در باز شود. ما می توانیم آنها را در یک کلاس بسته بندی کنیم ، در اینجا روش load_known_faces () و روش unlock () وجود دارد ، برنامه کامل شده را می توانید در پایان این مقاله بارگیری کنید.
def load_known_faces (self):
چهره های شناخته شده = os.listdir (خود._ شناخته شده_صورت_صفحه) برای چهره_شناخته در چهره های_شناخته: خود._معروف_نام_شخص.افزوده (چهره_معروف [0: len (چهره_شناخته شده) - len ('. jpg')]) چهره_معروف_معنی = face_recognition.load_image_file (self_) self._ شناخته شده_صفحات_کنکدینگ. پیوست (face_recognition.face_encodings (known_face_image) [0]) بازگشت len (self._ شناخته شده_صورتهای_شخصیتی) def unlock (self): اگر self._ مطابقت دارد.شمارش (True)> 0: GPIO.output (self._ relay_pin ، GPIO. HIGH) چاپ ("درب باز شد") time.sleep (5) GPIO.output (self._ relay_pin، GPIO. LOW) self._ reset_recognise_params () return true self._ retry_count += 1 چاپ ('لطفاً دوباره امتحان کنید … {{ } '. format (self._ retry_count)) return False
به صورت متعالی فکر کنید ، ما می توانیم عکسی را که تشخیص داده است نشان دهیم ، PIL و matplotlib کتابخانه ها می توانند مفید باشند ، در این میان matplotlib باید به صورت دستی نصب شود ، این دستور را در ترمینال رزبری پای خود اجرا کنید.
sudo pip3 matplotlib را نصب کنید
آنها را در کد خود وارد کنید ، و در صورت مسدود کردن روش unlock () مانند این را تغییر دهید:
img = Image.open ('{}/{}. jpg'.format (خود._ مسیر_روشهای شناخته شده ، خود._نام_صاحب_شخص [0]))
plt.imshow (img) plt.ion () GPIO.output (self._ رله_پین ، GPIO. HIGH) چاپ ("درب باز شد") plt.pause (3) plt.close () GPIO.output (خود._ رله_پین ، GPIO. LOW) self._ reset_recognise_params () return True
اکنون ، اگر چهره ای شناخته شود ، تصویر موجود در پوشه روی صفحه نمایش داده می شود.
پیامک
گاهی اوقات ما می خواهیم بدانیم چه کسانی در اتاق ما هستند ، و اکنون جایی برای LTE Cat 1 Pi HAT وجود دارد. سیم کارت را به آن وصل کنید و مراحل زیر را دنبال کنید تا آزمایش شود که آیا کار می کند یا خیر.
مرحله 1. در رزبری پای UART0 را فعال کنید
از nano برای ویرایش config.txt در /boot استفاده کنید
sudo nano /boot/config.txt
dtoverlay = pi3-disable-bt را به انتهای آن اضافه کنید و سرویس hciuart را غیرفعال کنید
sudo systemctl hciuart را غیرفعال کنید
سپس کنسول = serial0 ، 115200 را در cmdline.txt در /boot حذف کنید
sudo nano /boot/cmdline.txt
پس از انجام همه کارها ، باید رزبری پای خود را مجدداً راه اندازی کنید.
مرحله 2. نمونه را بارگیری کرده و اجرا کنید.
یک پایانه در رزبری پای خود باز کنید ، این دستور را خط به خط در آن تایپ کنید.
سی دی
git clone https://github.com/Seeed-Studio/ublox_lara_r2_pi_hat.git cd ublox_lara_r2_pi_hat sudo python setup.py install cd test sudo python test01.py
اگر این خروجی ها را در ترمینال خود مشاهده می کنید ، LTE Cat 1 Pi HAT به خوبی کار می کند.
هدر GPIO 40 پین تشخیص داده شد
فعال کردن CTS0 و RTS0 در GPIOs 16 و 17 rt cts هنگام بیدار شدن … نام ماژول: LARA-R211 RSSI: 3
اکنون می دانیم که HAT خوب کار می کند ، چگونه می توان از آن برای ارسال پیامک استفاده کرد؟ اولین چیزی که باید بدانید این است که رزبری پای از طریق ارسال دستورات AT توسط UART با HAT ارتباط برقرار می کند. با اجرای این کد در پایتون می توانید دستورات AT را به LTE HAT ارسال کنید
از واردات ublox_lara_r2 *
u = Ublox_lara_r2 () u.initialize () u.reset_power () # بستن ماساژ اشکال زدایی u.debug = u.sendAT غلط ('')
دستور AT برای ارسال پیامک به شرح زیر است
AT+CMGF = 1
AT+CMGS =
بنابراین در اینجا روش _send_sms () است:
def _ send_sms (self):
if self._ phonenum == هیچکدام: return False for unlocker in self._ognise_face_names (): if self._ ublox.sendAT ('AT+CMGF = 1 / r / n'): print (self._ ublox.response) if self _ublox.sendAT ('AT+CMGS = "{}" / r / n'.format (self._ phonenum)): print (self._ ublox.response) if self._ ublox.sendAT (' {} وارد اتاق شوید. / x1a'.format (unlocker)): چاپ (self._ ublox.response)
توجه: کتابخانه LTE Cat 1 Pi HAT نوشته python2 ، که با python3 سازگار نیست ، اگر می خواهید از آن با تشخیص چهره استفاده کنید ، لطفاً آن را از پیوند انتهای این مقاله بارگیری کنید.
توصیه شده:
Abellcadabra (سیستم قفل درب تشخیص چهره): 9 مرحله
Abellcadabra (سیستم قفل درب تشخیص چهره): در حین قرنطینه در اطراف ، سعی کردم راهی برای کاهش زمان با ساختن تشخیص چهره برای درب خانه بیابم. من نام آن را Abellcadabra گذاشتم - که ترکیبی از Abracadabra است ، یک عبارت جادویی با زنگ در که فقط زنگ را بر می دارم. LOL
قفل درب تشخیص چهره: 8 مرحله
قفل درب تشخیص چهره: حدود یک ماه است که قفل درب تشخیص چهره را ارائه می دهم! من سعی کردم تا آنجا که می توانم مرتب به نظر برسم ، اما فقط در یک کودک 13 ساله می توانم این کار را انجام دهم. این قفل درب تشخیص چهره توسط یک Raspberry Pi 4 اجرا می شود ، با یک نبرد قابل حمل مخصوص
تشخیص چهره ، آموزش و تشخیص Opencv: 3 مرحله
تشخیص چهره ، آموزش و تشخیص Opencv: OpenCV یک کتابخانه بینایی رایانه منبع باز است که برای انجام کارهای اصلی پردازش تصویر مانند تار شدن ، ترکیب تصویر ، افزایش تصویر و همچنین کیفیت فیلم ، آستانه و غیره بسیار محبوب است. علاوه بر پردازش تصویر ، اثبات می کند
تشخیص و تشخیص چهره - Arduino Face ID با استفاده از OpenCV Python و Arduino .: 6 مرحله
تشخیص و تشخیص چهره | شناسه صورت آردوینو با استفاده از OpenCV پایتون و آردوینو.: تشخیص چهره AK ID چهره یکی از مهمترین ویژگی های تلفن های همراه امروزه است. بنابراین ، من یک سوال داشتم & quot؛ آیا می توانم برای پروژه آردوینو خود شناسه چهره داشته باشم & quot؛ و پاسخ بله است … سفر من به شرح زیر آغاز شد: مرحله 1: دسترسی به ما
تشخیص چهره+تشخیص: 8 مرحله (همراه با تصاویر)
تشخیص چهره+تشخیص: این یک مثال ساده از اجرای تشخیص و تشخیص چهره با OpenCV از دوربین است. توجه: من این پروژه را برای مسابقه سنسور ساختم و از دوربین به عنوان سنسور برای ردیابی و شناسایی چهره ها استفاده کردم. بنابراین ، هدف ما در این جلسه ، 1. Anaconda را نصب کنید