זיהוי פנים היא לעיתים דרך נוחה לבצע בדיקת נוכחות. ניתוח תמונה יכול גם לעזור בהבחנה האם האובייקט שבתמונה הוא אדם או בעל חיים ובהתאם לכך נוכל לדעת האם יש צורך בפעולה כמו הקפצת התראה או לא.
במדריך זה אסביר כיצד ניתן להשתמש ב Deepstack AI בדיוק עבור המטרה הזו.
Deepstack בניגוד למערכת כמו OpenCV, מאפשרת התקנה לוקלית על גבי Docker Container הכוללת רישוי לשנתיים ללא הגבלת גישה ל API דבר המאפשר ניתוח בלתי מוגבל של תמונות בכל זמן נתון.
לפני שנתחיל את ההגדרה, יש לוודא שהתקנתם את Deepstack AI וביצעתם את הרישום על פי השלבים במדריך הבא.
שלב א' – הוספת הקומפוננטה של Deepstack
על מנת להשתמש ב Deepstack יש תחילה להוסיף את הקומפוננטות שלו לתיקיה של custom_components אשר נמצאת תחת תיקיית ההגדרות של Home Assistant.
ל Deepstack ישנן 2 קומפוננטות, האחת לזיהוי פנים השניה לזיהוי אובייקט ואת הקבצים שלהן ניתן למצוא כאן:
לאחר הורדת והוספת הקבצים, תיקיית ה custom_components אמורה להראות כך:
שלב ב' – הוספת המצלמה שאת תמונתה נרצה לפענח ואת ההגדרה של Deepstack
על מנת ש Deepstack תוכל לעבד את התמונה צריך לספק לקומפוננטה תמונה מהדיסק. כלומר המצלמה צריכה לשמור תמונה ואז לבקש מ deepstack לפענח אותה. לצורך ההדגמה הורדתי תמונה מגוגל ושמרתי אותה בנתיב הבא: /config/images/test2.jpg.
לאחר מכן הגדרתי מצלמה מסוג Local File
camera:
- platform: local_file
file_path: /config/images/test2.jpg
ולאחר מכן הוספתי את ההגדרות של Deepstack ככה שיפענחו את התמונה שנמצאת באותו נתיב:
image_processing:
- platform: deepstack_face
ip_address: 192.168.0.252
port: 5000
scan_interval: 50
source:
- entity_id: camera.local_file
name: face_counter
- platform: deepstack_object
ip_address: 192.168.0.252
port: 5000
scan_interval: 50
target: person
source:
- entity_id: camera.local_file
name: person_detector
כאשר:
- ip_address – כתובת ה IP של שרת ה deepstack
- port – הפורט עליו deepstack מאזין, ברירת מחדל 5000.
- scan_interval – זמן בשניות בין סריקת התמונה
- entity_id – המצלמה ממנה תלקח התמונה.
שלב ג' – הצגת התמונה ונתוני הפענוח ב UI של Home Assistant
על מנת להציג את התמונה ואת תוצאות הפענוח שלה ב Home Assistant הוסיפו את הקוד הבא לקובץ ה ui-lovelace.yaml:
- name: Deepdtack
type: vertical-stack
panel: false
title: Deepdtack
icon: mdi:face-recognition
cards:
- type: picture-entity
entity: camera.local_file
show_info: false
- type: entities
entities:
- image_processing.person_detector
- image_processing.face_counter
והתוצאה לפניכם:
Leave a Reply