فهرست مطالب:

تشخیص زامبی جغد امنیت هوشمند (یادگیری عمیق): 10 مرحله (همراه با تصاویر)
تشخیص زامبی جغد امنیت هوشمند (یادگیری عمیق): 10 مرحله (همراه با تصاویر)

تصویری: تشخیص زامبی جغد امنیت هوشمند (یادگیری عمیق): 10 مرحله (همراه با تصاویر)

تصویری: تشخیص زامبی جغد امنیت هوشمند (یادگیری عمیق): 10 مرحله (همراه با تصاویر)
تصویری: دوربین مخفی سک.س از پشت دختر قبول کرد با ۵۰۰ یورو باهام بره فوق سمی prank 2024, جولای
Anonim

سلام به همگی ، به T3chFlicks خوش آمدید! در این آموزش هالووین ، ما به شما نشان خواهیم داد که چگونه یک چرخش فوق العاده ترسناک را بر روی یک کلاسیک معمولی خانگی قرار می دهیم: دوربین امنیتی.

چطور ؟! ما یک جغد دید در شب ساخته ایم که از پردازش تصویر برای ردیابی افراد استفاده می کند. اوه ، و این شبیه به چیز واقعی است!

ما از این پروژه بسیار هیجان زده بودیم و از زمان عرضه رزبری پای 4 جدید منتظر انجام آن بودیم. این دستگاه دارای 4 گیگابایت رم است که راه را برای امکانات بسیار هیجان انگیزی از جمله انجام برخی پردازش های تصویر با مدل های یادگیری عمیق در زمان واقعی باز می کند.

اگر می خواهید مراقب نزدیک شدن زامبی ها در هالووین باشید ، یا فقط باغ خود را در بقیه سال تماشا کنید ، این یکی برای شماست. برای م effectiveثر بودن ، لازم نیست امنیت خسته کننده باشد!

تدارکات

برای این ساخت ، شما نیاز دارید:

  • رزبری پای 4 (4 گیگابایت رم) آمازون
  • دوربین دید در شب آمازون
  • میکرو سرو آمازون
  • بوف جعلی آمازون
  • چسب آمازون
  • آمازون را رنگ کنید
  • پیچ آمازون
  • بلندگوی USB آمازون
  • منبع تغذیه قابل حمل بزرگ (5 ولت+) آمازون
  • چاپگر سه بعدی آمازون

مرحله 1: مرحله 1: سر بریدن

مرحله 1: سر بریدن
مرحله 1: سر بریدن
مرحله 1: سر بریدن
مرحله 1: سر بریدن
مرحله 1: سر بریدن
مرحله 1: سر بریدن

آ. سر را از جغد جدا کنید (گاهی اوقات فقط باید وحشیانه عمل کنید) با کشیدن محکم روی سر آن در جایی که به چشمه چسبیده است.

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

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

د با استفاده از پیچ که سیلندر را به فنر متصل می کند ، سروو را به سیلندر وصل کنید.

ه با بازکردن سه پیچ که آن را به بدنه محکم می کنند ، فنر را بردارید.

f در قسمت بالایی بدن جغد حفره ای ایجاد کنید که به اندازه کافی بزرگ باشد تا در برخی سیم ها و کابل دوربین قرار گیرد. ما برای انجام این کار از ترکیب نامناسب مته و پیچ گوشتی استفاده کردیم.

مرحله 2: مرحله 2: Smart را اضافه کنید

مرحله 2: Smart را اضافه کنید
مرحله 2: Smart را اضافه کنید
مرحله 2: Smart را اضافه کنید
مرحله 2: Smart را اضافه کنید
مرحله 2: Smart را اضافه کنید
مرحله 2: Smart را اضافه کنید

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

ب با سر جغد وارونه ، قسمت بالایی قاب دوربین را در قسمت داخلی سر آن قرار دهید ، جایی که منقار بیرون زده است.

ج دوربین را داخل کیف قرار دهید و کابل دوربین را وصل کنید.

د سروو را به پنل بالای فنر بچسبانید.

ه سیمهای بلند را به پین های سروو وصل کنید (5V ، Gnd ، سیگنال)

f کابل و سیم های دوربین را برای سروو از طریق فنر و از طریق سوراخی که در بالای بدن ایجاد کرده اید تغذیه کنید تا در داخل بدن توخالی جغد قرار گیرند.

مرحله 3: مرحله 3: او را پر کنید

مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید
مرحله 3: او را پر کنید

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

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

ج به طور مشابه ، سیم های سروو را بکشید و آنها را به رزبری پای وصل کنید:

  • +5v در سروو => +5V در Pi
  • Gnd servo => gnd Pi
  • سروو سیگنال => پین 12 پی

د بلندگوی USB را به Pi وصل کنید.

ه کارت SD را در Pi وارد کنید.

f Power Pi با استفاده از منبع تغذیه قابل حمل.

گرم Pi ، منبع تغذیه و اسپیکر را داخل جغد از طریق سوراخ پایه قرار دهید.

مرحله 4: مرحله 4: Pi را راه اندازی کنید

مرحله 4: Pi را راه اندازی کنید
مرحله 4: Pi را راه اندازی کنید

همه کد را می توان در https://github.com/sk-t3ch/cctv-owl پیدا کرد!

آ. Raspian را بارگیری کرده و با استفاده از Balena Etcher روی کارت SD خود بارگذاری کنید.

ب برای دسترسی از راه دور به پی خود

  • فایلی به نام ssh را به کارت sd بوت خود اضافه کنید
  • فایلی به نام wpa_supplicant.conf اضافه کنید و اطلاعات وای فای خود را وارد کنید

    ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev update_config = 1

    network = {ssid = "MySSID" psk = "MyPassword"}

ج کارت SD را در pi وارد کنید و دسترسی از طریق ssh را امتحان کنید.

مرحله 5: مرحله 5: حرکت سر

مرحله 5: حرکت سر
مرحله 5: حرکت سر

آموزش کد برای حرکت سر (کنترل سروو با تمشک pi)

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

آ. سروو را به Pi وصل کنید:

  • +5v در سروو => +5V در Pi
  • Gnd servo => gnd در Pi
  • سروو سیگنال => پین 12 در Pi

ب ابتدا باید پین های gpio را برای استفاده از PWM در پین سیگنال سروو تنظیم کنید.

ج سپس ، به سادگی انتخاب چرخه وظیفه (که در اینجا توضیح داده شده است) پین سیگنال ، سروو را از 90 درجه با چرخه کاری 7.5 به 0 درجه هنگامی که چرخه وظیفه 2.5 است و تا 180 درجه با چرخه کاری 12.5

RPi. GPIO را به عنوان GPIO وارد کنید

زمان وارد کردن GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12، GPIO. OUT) p = GPIO. PWM (12، 50) p.start (7.5) try: while True: p. ChangeDutyCycle (7.5) زمان # 90 درجه. خواب (1) p. ChangeDutyCycle (2.5) # 0 درجه زمان. خواب (1) ص. ChangeDutyCycle (12.5) # 180 درجه زمان. خواب (1) به جز صفحه کلید وقفه: p.stop () GPIO.cleanup ()

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

مرحله ششم: ساختن آن ساده
مرحله ششم: ساختن آن ساده
مرحله ششم: ساختن آن ساده
مرحله ششم: ساختن آن ساده

آموزش کد سازی برای ساختن جغد (پخش صدا با پی تمشک)

آ. بلندگوی USB را وصل کنید.

ب یک صدا را بارگیری کنید - ما یک صدای ترسناک را انتخاب کردیم.

ج پخش صدا با اجرای این دستور: omxplayer -o alsa: hw: 1، 0 owl_sound.mp3

[د اگر این کار نمی کند ، با استفاده از دستور alsamixer بررسی کنید که Pi شما از چه خروجی و در چه میزان استفاده می کند - با صفحه میکسر مواجه می شوید که می توانید صدا را تغییر داده و دستگاه رسانه خود را انتخاب کنید. برای افزایش حجم صدا ، دستور را مانند این omxplayer -o alsa انجام دهید: hw: 1، 0 owl_sound.mp3 --vol 500 برای پخش این صدا با استفاده از پایتون ، به اسکریپت تست ما نگاهی بیندازید.]

وارد کردن فرایند فرعی

command = "omxplayer -o alsa: hw: 1، 0 owl_sound.mp3 --vol 500" player = subprocess. Popen (command.split ('))، stdin = subprocess. PIPE، stdout = subprocess. PIPE، stderr = subprocess. PIPE)

مرحله 7: مرحله 7: ویدیو را از Pi پخش کنید

مرحله 7: ویدیو را از Pi پخش کنید
مرحله 7: ویدیو را از Pi پخش کنید
مرحله 7: ویدیو را از Pi پخش کنید
مرحله 7: ویدیو را از Pi پخش کنید

آموزش کد ایجاد جریان دوربین رزبری pi

آ. python app.py را اجرا کنید و در شبکه محلی خود در https://raspberrypi.local: 5000 مشاهده کنید

ب این کد برگرفته و اندکی از میگوئل گرینبرگ اقتباس شده است https://blog.miguelgrinberg.com/post/flask-video-… او به خوبی نحوه انجام این کار را توضیح می دهد و آموزش هایش عالی است-اما او را بررسی کنید! مفهوم اساسی این است که ما از threading و generators برای بهبود سرعت جریان استفاده می کنیم.

مرحله 8: مرحله 8: تشخیص بدن

مرحله 8: تشخیص بدن
مرحله 8: تشخیص بدن

کد تشخیص بدن (ImageNetSSD در جریان ویدئویی با تمشک pi)

آ. از آنجا که ما از Raspberry Pi 4 استفاده می کنیم ، فکر کردیم بهتر است به جای روش اساسی HaarCascade که تا کنون به آن محدود شده بودیم ، برخی از مدلهای یادگیری عمیق را روی آن امتحان کنیم.

ب ما نگاهی به برخی از مدل های از پیش آموزش دیده در آنجا ، مانند YOLOv3 که بسیار عالی به نظر می رسد ، داشتیم. وزنه های کوچک YOLOv3 ، که برای Pi مناسب بود ، اما نتوانستیم آن را اجرا کنیم:(ج در عوض ، ما مدل MobileSSD را که می توانیم با استفاده از ماژول openCVs DNN (شبکه عصبی عمیق) اجرا کنیم ، انتخاب کردیم ، همانطور که از این کد یاد گرفتیم: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 و از قهرمان آموزش های پردازش تصویر ، آدریان رزبروک: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv/

د با این حال ، در حالی که ما سعی می کنیم این محتوا را پخش کنیم و مدل ها را روی هر فریم اجرا کنیم ، این منجر به یک ویدئوی عقب افتاده و تکه تکه می شود. ما دوباره از آدریان رزبروک https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ یاد گرفتیم و از ماژول چند پردازشی پایتون برای قرار دادن تصاویر خود در صف استفاده کردیم. جایی که می توان آنها را بدون انسداد شدید جریان دوربین پردازش کرد.

ه سعی کنید کد را خودتان اجرا کنید:)

مرحله 9: مرحله 9: ارسال اعلان های زامبی

مرحله 9: ارسال اعلان های زامبی
مرحله 9: ارسال اعلان های زامبی
مرحله 9: ارسال اعلان های زامبی
مرحله 9: ارسال اعلان های زامبی

کد ارسال اعلان (پایتون به تلفن)

آ. ما تصمیم گرفتیم از سرویس اعلان https://pushed.co استفاده کنیم.

ب می توانید یک حساب رایگان دریافت کرده و برنامه را بارگیری کنید و واقعاً سریع به ایجاد اعلان های تلفن همراه بپردازید. ما اعلان ها را با استفاده از یک اسکریپت پایتون مانند این ایجاد کردیم.

درخواست های واردات

payload = {"app_key": "APP_KEY"، "app_secret": "APP_SECRET"، "target_type": "app"، "content": "Owl یک زامبی را شناسایی کرده است." } r = request.post ("https://api.pushed.co/1/push" ، داده = بار)

این فوق العاده ساده است و می توانید نام اعلان خود را سفارشی کنید!

گام دهم: چه مسخره است

چه خفن!
چه خفن!

امیدواریم از پروژه Smart Owl Security ما لذت برده باشید! این یک بازی فوق العاده سرگرم کننده بود و من بسیار ایمن تر می دانم که بدانم خانه ام توسط جغد قابل اعتماد ما محافظت می شود.

اگر فکر می کنید این یک هالووین فوق العاده برای خانه هوشمند شما خواهد بود ، لطفاً در مسابقه دستورالعمل هالووین به ما رای دهید و طبق معمول ، لطفاً لایک ، نظر و اشتراک را به یاد داشته باشید!

در لیست پست ما ثبت نام کنید!

توصیه شده: