תוכן עניינים:

צור מסווגי תמונות OpenCV באמצעות Python: 7 שלבים
צור מסווגי תמונות OpenCV באמצעות Python: 7 שלבים

וִידֵאוֹ: צור מסווגי תמונות OpenCV באמצעות Python: 7 שלבים

וִידֵאוֹ: צור מסווגי תמונות OpenCV באמצעות Python: 7 שלבים
וִידֵאוֹ: צור אפליקציית מסווג תמונות פרח באמצעות ממציא אפליקציות MIT [Intro] 2024, יולי
Anonim
צור מסווגי תמונות OpenCV באמצעות Python
צור מסווגי תמונות OpenCV באמצעות Python

מסווגי Haar ב python ו- opencv היא משימה די מסובכת אך קלה.

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

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

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

שלב 1: נדרשת תוכנה

אתה צריך את התוכנות הבאות ליצירת מסווג משלך

1) OpenCV: הגרסה שבה השתמשתי היא 3.4.2. הגרסה זמינה בקלות באינטרנט.

2) פייתון: הגרסה בשימוש היא 3.6.2. ניתן להוריד מ- python.org

יתר על כן אתה צריך מצלמת אינטרנט (כמובן).

שלב 2: הורדת התמונות

השלב הראשון הוא לצלם תמונה ברורה של האובייקט שיש לסווג.

הגודל לא צריך להיות גדול במיוחד מכיוון שלוקח זמן רב יותר לעבד את המחשב. לקחתי גודל בגודל 50 על 50.

לאחר מכן אנו מורידים את התמונות השליליות והחיוביות. אתה יכול למצוא אותם באינטרנט. אך אנו משתמשים בקוד הפיתון להורדת תמונות מ- 'https://image-net.org'

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

כעת הספרייה שלך אמורה להכיל את תמונת האובייקט למשל watch5050-j.webp

אם תיקיית הנתונים לא נוצרה, בצע זאת באופן ידני

קוד הפיתון מסופק בקובץ.py

שלב 3: יצירת דוגמאות חיוביות ב- OpenCV

יצירת דוגמאות חיוביות ב- OpenCV
יצירת דוגמאות חיוביות ב- OpenCV
יצירת דוגמאות חיוביות ב- OpenCV
יצירת דוגמאות חיוביות ב- OpenCV

כעת עבור לספריית opencv_createsamples והוסף את כל התוכן שהוזכר לעיל

בשורת הפקודה עבור אל C: / opencv342 / build / x64 / vc14 / bin כדי למצוא אפליקציות opencv_createsamples ו- opencv_traincascade

כעת בצע את הפקודות הבאות

opencv_createsamples -img watch5050-j.webp

פקודה זו מיועדת ליצירת הדגימות החיוביות של האובייקט 1950 ליתר דיוק וקובץ התיאור info.lst מהתמונות החיוביות התיאור צריך להיות כזה 0001_0014_0045_0028_0028-j.webp

כעת התיקייה מכילה

מידע

תיקיית תמונות neg

קובץ bg.txt

תיקיית נתונים ריקה

שלב 4: יצירת קובץ וקטורי חיובי

יצירת קובץ וקטורי חיובי
יצירת קובץ וקטורי חיובי

כעת צור את קובץ הווקטור החיובי המספק את הנתיב לתמונות החיוביות את קובץ ההגדרה

השתמש בפקודה הבאה

opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec

כעת תוכן הספרייה חייב להיות כדלקמן:

-כושי

---- negimages.jpg

--opencv

-מידע

--נתונים

--positives.vec

--bg.txt

--watch5050-j.webp

שלב 5: אימון המסווג

אימון המסווג
אימון המסווג
אימון המסווג
אימון המסווג
אימון המסווג
אימון המסווג

כעת מאפשר לאמן את מפל haar וליצור את קובץ ה- XML

השתמש בפקודה הבאה

opencv_traincascade -נתוני נתונים -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -num שלבים 10 -w 20 -h 20

שלבים הם 10 הגדלת השלבים דורשת עיבוד רב יותר אך המסווג יעיל בהרבה.

עכשיו haarcascade נוצר לוקח כשעתיים להשלים פתח את תיקיית הנתונים שם תמצא cascade.xml זהו המסווג שנוצר

שלב 6: בדיקת המסווג

תיקיית הנתונים מכילה את הקבצים כפי שמוצג בתמונה למעלה.

לאחר יצירת המסווג אנו רואים אם המסווג פועל או לא על ידי הפעלת התוכנית object_detect.py. אל תשכח למקם את הקובץ classifier.xml בספריית python.

שלב 7: תודה מיוחדת

אני רוצה להודות כאן ל- Sentdex שהוא מתכנת פיתון מעולה.

יש לו שם יוטיוב עם השם שהוזכר לעיל ולסרטון שעזר לי מאוד יש את הקישור הזה

רוב הקוד הועתק מ- sentdex. למרות שקיבלתי עזרה רבה מ- sentdex, עדיין התמודדתי עם הרבה בעיות. רק רציתי לחלוק את החוויה שלי.

אני מקווה שזה בלתי ניתן לעזר עזר לך !!! הישאר מעודכן לעוד.

BR

טאהיר אול האק

מוּמלָץ: