Savant, מסגרת לניתוח וידאו

מְלוּמָד

מסגרת Savant

מערכות מעקב וסיור אינן חדשות זה רחוק מלהיות עדכני, שכן מערכות אלו היו בשימוש במשך שנים רבות והתפתחו יחד עם שיפורים בפיתוחי החומרה והתוכנה כאחד.

לפני שנתיים כתבתי קצת בבלוג על OpenCV, ספריית ראייה ממוחשבת חינם חוצת פלטפורמות (תוכל לבדוק את פרטי המאמר בקישור הבא), שבאותה עת נראה לי מעניין מאוד כי ניתן היה ליישם אותו על Raspberry Pi ובאותה תקופה היה לי הרגל לבדוק מספר רב של פרויקטים ומערכות ב-RPi שלי.

openCV
Artaculo relacionado:
OpenCV ספרייה לזיהוי אובייקטים בתמונות ובמצלמות

הסיבה להזכיר זאת והניסיון לא לצאת מהנושא של הפוסט של היום, הוא שרבים חושבים שהטמעה של מערכת מסוג זה יכולה להיות יקרה מאוד או אפילו מאוד מסובכת. מה שבמציאות לא מגיע לנקודה מסוימת, שכן אפשר לתמוך בפרויקטים של קוד פתוח, אבל זה דורש ידע מסוים ובעיקר סבלנות.

לכן היום בואו נדבר על פרויקט כזה וזה באופן אישי נראה טוב וחזק מאוד. הפרויקט של אשר אנחנו הולכים לדבר עליו הוא Savant, שהיא מסגרת שנכתבה ב- Python וזה הופך את NVIDIA DeepStream לקל יותר לשימוש עבור מהנדסי למידת מכונה

סבנט הוא מסגרת ברמה גבוהה מאוד על גבי DeepStream, שמסתיר את כל החלקים הפנימיים של Gstreamer מהמפתח ומספק כלים מעשיים להטמעת יישומי AI סטרימינג בחיים האמיתיים. משתמש במודל Nvidia PeopleNet הסטנדרטי לזהות אנשים ופנים שלהם ובמיוחד במקומות בהם חלות תקנות פרטיות, המסגרת מאפשרת מעקב וטשטוש פנים.

מהמאפיינים שבולטים מסבנט הוא למשל הסקה מהירה להפליא, מכיוון שהוא מבוסס על Nvidia DeepStream ומספק ביצועים על חומרת Nvidia התואמת מאיצי מרכז נתונים, לוחות מקצועיים, שולחנות עבודה ו-NVIDIA Jetson.

תכונה נוספת היא שיש לו תמיכה באינטגרציה של OpenCV CUDA בעזרתו תוכלו להחיל מסנני OpenCV CUDA ולעבוד עם רסטרים של GpuMat ביעילות מבלי להוריד מסגרות כבדות ל-CPU RAM.

חוץ מזה, יש API סטרימינג מה שמאפשר ל-Savant לתפקד כשרת מסקנות דרך 0MQ ו-Apache AVRO. עם זה נתוני השידור נמסרים לשרת ונצרכים ממנו עם מתאמים.

משאר המאפיינים שבולטים מסבנט:

  • תמיכה ב-Python ו-ML.
  • המסגרת זמינה כמכולות Docker עבור זמני ריצה של x86 ו-Nvidia Jetson.
  • עובד על Edge ו-Core
  • פעולות וקיבולת חביון נמוכים, savant תומך בפעולות מועילות עם חביון נמוך
  • מתאמים לגישה למקורות מדיה שונים כגון RTSP או קבצי וידאו
  • זה מאפשר לך לבנות צינורות עבור סביבות שבהן עיבוד מודע לסיבוב הוא חיוני.

לגבי יישום הפרויקט, כדאי לדעת שגם Savant וגם המתאמים שלו מועברים כתמונות Docker. אז כדי ליישם את הצינור, אתה לוקח את תמונת הבסיס, מוסיף מודלים של AI וקוד מותאם אישית עם תלות נוספת, ואז בונה את התמונה המתקבלת. ניתן ליישם חלק מהצינורות שאינם דורשים תלות נוספת על ידי הקצאת ספריות עם מודלים ופונקציות משתמש בתמונת ה-docker.

עבור החלק של תצורת סביבת Savant, נדרשות כבר כמה תלות וכלים מותקנים, שכן יש צורך ביותר שתלויות התלות של DeepStream.

התלות הן:

  • סילון
  • git-lfs
  • תלתל
  • סַוָר
  • מנהלי התקנים של nvidia
  • ערכת הכלים של Nvidia Container

מכיוון שתהליך הטמעת הסביבה דורש הרבה, אני מזמין אותך אם אתה מעוניין, אנא עיין במדריך של Savant בקישור הבא.