"אה, אז זה כמו שזאם, אבל לאמנות?" חבר שאל לאחר שביליתי את שתי הדקות האחרונות בהסבר על הפרויקט האחרון שלי.
זו הייתה פלטפורמה שיכולה לעזור לחובבי אמנות לזהות איזה אמן עשה ציור והיא בדיוק הסבירה את זה ב-5 מילים; 'כמו שאזאם, אבל בשביל אמנות'.
מאמר זה עוסק מדוע התחלתי את הפרויקט וגם כיצד בניתי את הגרסה הראשונה.
מַדוּעַ?
כל חיי אהבתי אמנות.
ביליתי שנים במחקר של תנועות אמנות, בהכנת והצגת יצירות אמנות משלי, ובאופן כללי מסתובב בין אמנים וגלריות. עם הזמן פיתחתי את היכולת לנחש (ברמות דיוק גבוהות) איזה אמן עשה ציור, במיוחד אם זה היה אמן אפריקאי.
ברנסנס הבינה המלאכותית של 2022 קיבלתי השראה וחשבתי שיהיה כיף לראות אם אני יכול לאמן מחשבים להשיג את אותו הדבר, אז התחלתי פרויקט אישי קטן.
תוך כדי העבודה על זה הבנתי מהר שיש בעיות גדולות יותר. בעיות סביב התיעוד, ההכרה והשיתוף של ידע באמנות אפריקאית. לדוגמה, ישנם מאסטרים אפריקאים ותיקים שקשה למצוא את ציוריהם ברשת. אתה צריך ללכת לספרי לימוד ישנים או אוספים אישיים כדי למצוא אותם. התחלתי לדאוג שככל שהעולם עובר דיגיטלי מלא, הרבה מהעבודות האלה עלולות ללכת לאיבוד בהיסטוריה.
ההתנסות באתגר הזה גרמה לי להחליט להפוך את הפרויקט לציבורי ולהרחיב אותו לשימור דיגיטלי ושיתוף ידע על אמנות ואמנים אפריקאים.
זה מתמקד באמנות אפריקאית כי ידעתי שאף אחד אחר לא יעשה את זה, אבל זה היה חייב להיעשות, אז זה היה צריך להתחיל איתי.
איך זה עובד
השימוש בפלטפורמה הוא פשוט.
אתה מעלה תמונה של ציור או בוחר אחת מהתמונות לדוגמה הזמינות.
הפלטפורמה מעבדת את התמונה, מזהה את האמנים שסגנונות האמנות שלהם הכי דומים ליצירות האמנות שהועלו, יוצרת ציון ביטחון לכל אמן על סמך עד כמה התמונה שהועלתה דומה לסגנון האמנות שלהם ובוחרת את האמן עם ציון הביטחון הגבוה ביותר.
מידע על האמן מוצג לאחר מכן בפורמט שלהלן.
ציון האמון מפורסם כדי להראות לך איך זה הגיע לתחזית זו וכדי לאפשר לך להחליט איך אתה רוצה להשתמש בתוצאה שסופקה.
יש גם קטע משוב (אגודל למעלה או למטה) כדי שתוכל לתרום לפרויקט ולעזור לשפר את המודל.
זהו הסבר פשוט של אופן הפעולה של הפלטפורמה. להלן מידע נוסף (עם כמה שפחות ז'רגון טכני) על אופן בנייתו.
הכנה טכנולוגית / נתונים
איסוף ועיבוד נתונים
זה לא היה פרויקט ה-ML הראשון שלי אז ידעתי שהמיץ הולך להיות בנתוני ההדרכה. הייתי צריך למצוא ולהכין מספיק נתונים איכותיים עבור המודל כדי לקבל תוצאות טובות. זה התברר כקשה יותר ממה שחשבתי.
התחלתי לאסוף ולסווג נתוני הכשרה, אבל מהר מאוד הבנתי שזה ייקח הרבה זמן אז הזמנתי את אחותי ושני מתמחים לעבוד איתי על זה במשך כמה חודשים. (שילמו להם על עבודתם)
השלב הבא היה ניקוי וסטנדרטיזציה של הנתונים.
- הסרת כפילויות ונורמליזציה של הנתונים
- לוודא שהנתונים סומנו כהלכה
- הבטחה שלכל אמן תהיה בערך אותה כמות של נתוני אימון כדי למנוע הטיה במודל עקב חוסר איזון בכיתה.
- הבטחה שנתוני ההדרכה על כל אמן כוללים מספיק וריאציות של סגנונות הציור והמדיומים השונים שלו כדי למנוע התאמת יתר של אמן לסגנון/מדיום מסוים.
- לוודא שבתמונות ההדרכה יהיו ציורים בהקשרים שונים. תמונות של ציורים בסביבות שונות, תמונות של ציורים הפוכים, גרסאות שחור-לבן של הציורים וכו'. גיוון זה יעזור לדגם לבצע ביצועים טובים ברוב המצבים.
זה היה הרבה עבודה אבל ביצוע זה נכון יגרום לדגם לבצע ביצועים טובים.
לאחר השלמת תהליך הכנת הנתונים, חילקתי את הנתונים לנתוני אימון ונתוני בדיקה (בקרה) כדי להקל על השימוש ולוודא דיוק.
בניית/הכשרת הדגמים
כשחשבתי על הדגמים, היו לי שתי אפשרויות.
בנה על מודל בסיס קוד פתוח או הסתמך על מודל קנייני מבוסס ענן, למשל AutoML של GCP.
ניסיתי את שתי הגישות, אבל מכיוון שהפרויקט היה אמור להיות בהתחלה הוכחה לקונספט, ניהול עלויות היה הגורם הגדול ביותר עבורי לקחת בחשבון.
בסופו של דבר הסתפקתי להשתמש במודל הבסיס של הקוד הפתוח, EfficientNet. זה בחינם לשימוש, זה טוב בזיהוי תכונות בנתונים, זה לא דורש הרבה מחשוב כדי לרוץ, זה מציע גמישות בפריסה וכמעט השתמשתי בזה בעבר.
מצאתי מימוש Tensorflow של EfficientNet והשתמשתי בזה בתור עמוד השדרה של המודל. הייתה לו תמיכה ב-Keras כך שגם זה עזר לנהל את המורכבות.
זה היה מספיק יעיל כדי שאוכל לאמן גרסאות בדיקה ב-Macbook M1 Pro עם 16GB של זיכרון RAM (אם כי נאלצתי להתמודד עם המחשב הנייד שלי שקפא מדי פעם).
מתחת למכסה המנוע, הדגם מעבד את התמונות כדי לזהות מאפיינים מרכזיים כמו משיכות מכחול, ערכות צבעים, קומפוזיציה וכו', ומעבה את המידע כדי לשמור על החלקים החשובים. הוא משתמש במידע זה כדי לזהות קווי דמיון בין תמונות ציורים שסופקו לאחרונה לבין נתוני ההדרכה שלה.
התנסיתי עם ערכי עידן שונים ועצירה מוקדמת כדי לראות מה עובד הכי טוב ובסופו של דבר נחתתי על מדדים מעניינים.
המשכתי להוסיף עוד אמנים ולהתנסות בערכים שונים כדי לקבל משהו מדויק מספיק כדי להשיק איתו.
היישום הסופי כלל שני מודלים. אחת לזיהוי סגנון הציור, ואחרת לזיהוי מדיום הציור.
קיבלתי עזרה בשיפור המודלים ובסופו של דבר בפריסתם עם עטיפות API.
עיצוב ופיתוח האפליקציה
לאחר מיון הדגמים, שאר הפלטפורמה הייתה פשוטה לבנייה. היישום הסופי נראה כך:
Backend/API של פלטפורמה : בניתי את ה-backend/API עם Laravel כדי לטפל בבקשות לוגיקה וניתוב לדגמים בפועל ביעילות. שכבה זו מטפלת בכל עיבוד התמונה, האחסון, האימות, מידע האמן וטריאג' הבקשות כלומר שליטה בבקשות שנשלחות לדגמים.
Frontend : Frontend נבנה עם React. אני ממש לא אוהב לכתוב קוד קצה אז קיבלתי עזרה בבניית החלק הזה. זה בעצם שולט בהצגת המידע ובקשות המשתמש הנשלחות ל-backend.
שרת/אירוח: אירחתי את כל האפליקציה ב-Heroku (כולל דגמים). בחרתי ב-Heroku כי זה אפשר לי לקבל הרבה שירותים ותמיכה מוכנים בעלות ניתנת לניהול. אחרי חודשים של עבודה כדי לאסוף נתונים, להכשיר את המודלים ולבנות את פלטפורמת הליבה, לא רציתי עוד עבודה, רק רציתי לצאת לאוויר!
הערות אחרונות
אֶתִיקָה
הכשרתי את המודלים אך ורק על פי נתונים זמינים לציבור.
כשפיתחתי את הפרויקט, התייצבתי גם עם אמנים שונים כדי לראות אם יש להם בעיות עם הפרויקט ולא קיבלתי דחיפה. עם זאת, אם אמן כלשהו שכללתי בפרויקט רוצה להחריג אותו, אנא הודע לי. אעשה זאת מיד.
תוכניות עתידיות
אני רואה הרבה מקרי שימוש לכך בחינוך, גילוי אמנות, תיירות ומסחר. יש גם כמה תכונות שחשבתי עליהן; ספריית אמנים, משחקי אמנות מבוססי אינטרנט, המלצות אמנים ועוד הרבה יותר.
התוכנית שלי היא להמשיך ולשפר את הפרויקט וללמוד מה אמנים, בעלי עניין בתעשייה וחובבי אמנות רוצים לראות בהמשך.
אני ממש שמח שהתחלתי את הפרויקט הזה. מצד אחד, זה נתן לי הזדמנות ייחודית לשלב שני דברים שאני מתלהב מהם (ארט+טק), מצד שני, זה אתגר אותי ואילץ אותי לחשוב בצורה יצירתית סביב בעיות שונות. אני גם מרגיש שאני תורם באופן פעיל לצמיחה ולשימור של אמנות אפריקאית, וזה מרגיש נהדר.
קישור לפרויקט (ביטא) : https://beta.whomadethisartwork.com/
הערה *: גרסת הבטא מוגבלת ל-100 אמנים אפריקאים עם תוכניות לכלול עוד בקרוב.*
הדגמה :
אם נהניתם לקרוא את המאמר הזה, זה בגלל שהשתמשתי בטכניקת כתיבה שנקראת 'המדרון החלקלק' כדי להפוך אותו למהנה לקריאה. זו טכניקה המשמשת הרבה סופרים גדולים וגם קופירייטרים. טכניקה זו ועוד הרבה נלמדים בקורס שנקרא CopyThat , וזהו קורס הכתיבה היחיד שאי פעם תזדקק לו. החלק הטוב ביותר הוא שלוקח רק 10 ימים להשלים. 10 ימים להיות סופר טוב באמת. בקר ב- CopyThat עכשיו כדי להתחיל את המסע שלך להפוך לסופר גדול.