تتناول هذه المقالة الطرق المستخدمة لجمع بيانات الصورة في مشروع موسيقي مع عرض شرائح. كانت هناك قيود أجبرتنا على استخدام قاعدة البيانات الحالية للصور ، بدلاً من الصور المأخوذة من Flickr. ومع ذلك ، تناقش هذه المقالة كلا الأسلوبين حتى يتمكن القارئ من تعلم كيفية استخراج البيانات باستخدام Flickr API.
علاوة على ذلك ، نظرًا لأن جودة جزء كبير من الصور التي تم جمعها باستخدام Flickr كانت منخفضة ، فقد تقرر استخدام الصور من قواعد بيانات الصور الموجودة. على وجه الخصوص ، تم جمع الصور من ثلاث قواعد بيانات للبحث النفسي.
تذكر أنه في البداية تم اختيار مجموعات البيانات التالية لهذا المشروع:
- مجموعة بيانات تدريبية تحتوي على 7000 صورة ملونة عاطفيًا من Flickr لخوارزمية استخراج العاطفة.
- مجموعة بيانات تدريبية تحتوي على أعمال باخ لخوارزمية إكمال اللحن.
- مجموعة من الألحان التي تعمل كقوالب لتعديل المشاعر.
الآن تحتاج إلى جمع مجموعات البيانات. كما هو موضح في المقالة ، يختلف مقدار العمل المطلوب لهذا بشكل كبير اعتمادًا على مجموعة البيانات المحددة.
التقاط الصورة
يتطلب هذا المشروع مجموعة من الصور التي تثير سبع عواطف مختلفة: السعادة ، الحزن ، الخوف ، القلق ، الرهبة ، التصميم ، الغضب. لجمع الصور ، تقرر استخدام موقع Flickr ، وهو موقع شهير لمشاركة الصور ، نظرًا لحجمه وترخيصه من Creative Commons *.
يعد البحث يدويًا عن Flickr بحثًا عن 7000 صورة مهمة شاقة. لحسن الحظ ، يحتوي Flickr على
واجهة برمجة تطبيقات توفر مجموعة من الأساليب التي تجعل من السهل تبادل البيانات مع Flickr بلغة برمجة. ومع ذلك ، قبل استخدام واجهة برمجة التطبيقات لجمع الصور ، من المهم معرفة ما الذي تبحث عنه من أجل إثارة العواطف ذات الصلة. لتحديد قائمة مصطلحات البحث ، تم استخدام مهمة على منصة
Amazon Mechanical Turk *.
فليكر API
لاستخدام الأساليب التي تقدمها Flickr API ، ستحتاج إلى إنشاء حساب Flickr وطلب مفتاح API. للقيام بذلك ، يجب أن يكون لديك حساب Flickr أو Yahoo! *. بعد ذلك ، تحتاج إلى اتباع
هذا الرابط والحصول على المفتاح.
لقطة شاشة لموقع www.flickr.com/services/apps/create/applyعملية معالجة طلب للحصول على مفتاح غير تجاري بسيطة للغاية. ويتضمن وصفا للاستخدام المقصود وقبول شروط الاستخدام. مفتاح API هو إجراء أمني ويستخدم لمنع سوء استخدام API. في الأساليب التي تقدمها API ، هي معلمة مطلوبة.
بعد تلقي مفتاح API ، يمكنك تنزيل وتثبيت مجموعة أدوات API لإحدى لغات البرمجة من
App Garden . يستخدم هذا المشروع
PythonI Flickr API الخاص بـ Beej ، والذي يمكن استخدامه مع لغة Python 3. يجب عليك اتباع
دليل تثبيت Flickr API.
يظهر الرمز المستخدم لتنزيل الصور أدناه. بشكل أساسي ، يستخدم وظيفة المشي API ، التي تبحث عن الصور حسب العلامة. يتم تخزين العلامات في ملف .txt ويتم إدراجها في كل سطر. إذا تم العثور على صورة ، يتم إنشاء عنوان URL الخاص بها من النموذج الموجود في
المزرعة {farm-id} .staticflickr.com / {server-id} / {id} _ {secret} .jpg ، حيث يتم استبدال محتويات الأقواس المتعرجة بسمات الصورة. بعد ذلك ، يتم استخراج أفضل 30 صورة لكل علامة (مرتبة حسب مدى الصلة بالموضوع) وتنظيمها في مجلدات ، وفقًا لظروف العاطفة والبحث.
import flickrapi import urllib.request import os project_path = '/path/to/your/project' photos_per_tag = 30 filenames = ['Awe.txt', 'Happiness.txt', 'Fear.txt', 'Determination.txt', 'Anxiety.txt', 'Tranquility.txt', 'Sadness.txt'] def download_files(flickr, t, category, num_photos):
لاستخدام هذا الرمز ، تحتاج إلى استنساخ المستودع باستخدام الرابط من
GitHub . بعد ذلك ، اتبع الإرشادات الموجودة في ملف README. يجب استبدال معلمات api_key و api_secret بمفاتيح واجهة برمجة التطبيقات المستلمة على Flickr. كما ذكر أعلاه ، يعمل هذا البرنامج النصي فقط على Python 3.
بعد تشغيل البرنامج ، يبدو المجلد كما يلي:

مجموعة من البيانات من نتائج البحث على فليكر.في المجموع ، تم جمع حوالي 8800 صورة. تم تلقي المزيد من الصور أكثر من المطلوب ، حيث خططنا لتجاهل بعض الصور منخفضة الجودة التي لا يمكن استخدامها. كانت الخطوة التالية هي البحث عن هذه الصور.
اختيار الصورة
كانت جودة الصور التي تم جمعها مختلفة. أعطت بعض شروط البحث ، على سبيل المثال ، الزهور (الموضحة في الشكل) صورًا عالية الجودة قابلة للاستخدام. ومع ذلك ، غالبًا ما تؤدي ظروف البحث الأقل تحديدًا إلى صور غير قابلة للاستخدام تمامًا. على سبيل المثال ، تم الحصول على صورة كعكة مع امرأة عجيبة * من علامة المعجزة (بسبب عاطفة الرعب) ، وتم العثور على صورة من الملفوف من Ambitious Farms من العلامة الطموحة (بسبب عاطفة التصميم).
صور غير مناسبة.يتم تشجيع أي شخص يخطط لاستخدام Flickr API للبحث عن الصور على استخدام أسماء محددة كمصطلحات بحث. الصور التي تم العثور عليها أفضل بكثير من استخدام الصفات أو الأسماء المجردة. على سبيل المثال ، عند البحث عن صور الرهبة ، يجب عليك استخدام مصطلحات البحث مثل المحيط أو جراند كانيون ، بدلاً من الرعب أو المعجزة.
بعد عرض الصور ، خلص الفريق إلى أن أكثر من 40 بالمائة من الصور كانت غير قابلة للاستخدام. ونتيجة لذلك ، تم تعديل نهج اختيار مجموعة البيانات. بعد مناقشة عدد من الاحتمالات ، مثل قصر مجموعة الصور على الوجوه ذات العواطف ذات الصلة ، تقرر استخدام الصور من قواعد البيانات الموجودة التي يشيع استخدامها في البحث النفسي (قاعدة بيانات PicturE في جنيف (
GAPED ) ، مجموعة الصور القياسية الوجدانية المفتوحة (
OASIS ) والصورة المنبهات لإثارة العاطفة (
ISEE )).
على الرغم من حقيقة أن الصور الموجودة في قواعد البيانات الحالية أقل تنوعًا مما يمكن أن تكون عليه في مجموعة البيانات الجديدة ، فقد تم الاختيار لصالح قواعد البيانات الحالية بسبب جودة الصورة العالية وتوفر المعلومات حول المعلمات. يعد الحصول على معلومات حول المعلمات ميزة كبيرة ، لأن هذا يلغي الحاجة إلى التعليق التوضيحي باستخدام Amazon Mechanical Turk ، مما يقلل بشكل كبير من التكلفة.
مصدر البيانات
كانت عملية جمع البيانات لمجموعة البيانات الجديدة أبسط بكثير. على وجه الخصوص ، لم تعد الخطوات مطلوبة مع Amazon Mechanical Turk و Flickr API. تتوفر مجموعات بيانات GAPED و OASIS (بما في ذلك ترميز المعلمات) للتنزيل على الإنترنت. أصبحت مجموعة بيانات ISEE متاحة بعد إرسال بريد إلكتروني إلى المؤلف يطلب الدخول. إذا كانت تعليمات تنزيل مجموعات البيانات غير مفهومة جيدًا ، فعلى الأرجح ، سيساعدك بحث Google * في العثور على جهات اتصال للمؤلفين الذين يمكنهم طلب الوصول مباشرة إلى مجموعات البيانات.
تم إنشاء مجموعتي بيانات لهذا المشروع. استخدم الأول واجهة برمجة تطبيقات Flickr لتحميل الصور باستخدام العلامات العاطفية ، وكان الثاني عبارة عن تجميع لقواعد البيانات الموجودة المستخدمة في البحث النفسي. كل مجموعة من مجموعات البيانات هذه لها إيجابياتها وسلبياتها ؛ ومع ذلك ، تم اختيار الثاني للمشروع - بسبب مزايا مثل جودة الصورة ، ووجود المعلمات والتكلفة.
تعتمد الطريقة المستخدمة لجمع البيانات بشكل مباشر على البيانات المطلوبة. ومع ذلك ، من المحتمل أن تكون العمليات والأساليب الموضحة في هذه المقالة مفيدة للعديد من المشاريع.
الآن بعد أن تم إنشاء مجموعات البيانات ، أصبح المشروع جاهزًا لتنفيذ الخطوات التالية - البحث والمعالجة الأولية للبيانات.
استكشاف بيانات الصورة
نظرًا لأن جودة جزء كبير من الصور التي تم جمعها باستخدام Flickr كانت منخفضة ، فقد تقرر استخدام الصور من قواعد بيانات الصور الموجودة. على وجه الخصوص ، تم جمع الصور من ثلاث قواعد بيانات للبحث النفسي. تحتوي كل صورة على معلومات تصنيف عن اللطف والشدة (غير) ، التي تم جمعها من العديد من الفنانين. تم تقسيم 1986 صور من قواعد البيانات هذه إلى 4 فئات. غطت هذه الفئات 87٪ من الصور وتضمنت 34٪ من الحيوانات و 28٪ من الأشخاص و 13٪ من المشاهد و 12٪ من الكائنات. تم تصنيف 13 ٪ المتبقية على أنها متنوعة.
الحيوانات
أمثلة لصور من فئة "الحيوانات"يحتوي حوالي ثلث الصور على حيوانات - إما معزولة أو مع حيوانات أخرى ، كما هو موضح أعلاه. في هذه الأمثلة ، بالانتقال من اليسار إلى اليمين ، يزداد تصنيف المتعة. يمكن أن تسبب الصور غير السارة للضباع أكل فريستها والصراصير استجابة في شكل عواطف مثل: الخوف والحزن والاشمئزاز.
على العكس من ذلك ، يمكن أن تتسبب الصور الموجودة على اليمين - قطة نائمة وكلب مبتسم - في التعاطف والسعادة.
الناس
عينة صور من فئة الأشخاصتتضمن فئة صور الأشخاص صورًا لأفراد ومجموعات من الأشخاص ، بينما تحتوي صور مجموعات الأشخاص غالبًا على معلومات سياقية أكثر. على سبيل المثال ، يبدو أن صورة الفرقة الموسيقية تم تصويرها على خلفية ملعب مليء بالمروحة ، مما يشير إلى أن الصورة تم التقاطها في أداء أثناء الرياضة. على النقيض من ذلك ، تُحرم صورة المرأة الغاضبة من السياق - لا تتاح للمشاهد الفرصة لمعرفة سبب غضبها أو تخمينه. وتجدر الإشارة إلى أنه لا تحتوي جميع الصور التي تحتوي على العديد من الأشخاص أو المجموعات على معلومات إضافية.
على سبيل المثال ، لا تعطي صورة الرجال الذين يرقدون في صف على الأرض ، مع جروح ظاهرة وملابس ملطخة بالدماء ، فكرة عما يحدث. ومع ذلك ، حتى مع نقص المعلومات هذا ، تتسبب الصور مع الأشخاص في ردود فعل عاطفية مختلفة.
مشاهد
تتضمن فئة "المشاهد" لمجموعة من الصور مجموعة متنوعة من المشاهد - من الهياكل والأشياء الاصطناعية إلى مشاهد الطبيعة وحتى الفضاء.
عينة صور من فئة المشاهدالأشياء
عينة صور من فئة الكائناتتتضمن فئة "الكائنات" لمجموعة الصور صورًا تركز على كائن واحد ، كما هو موضح في الأمثلة أعلاه. لا يوجد سياق ظرفية في هذه الصور ، خاصة عند مقارنتها بفئات أخرى في مجموعة الصور.
متفرقات
أمثلة على الصور من فئة متنوعةأخيرًا ، بقيت مجموعة فرعية من الصور في المجموعة التي لا يمكن تعيينها لأي من الفئات الأربع. غالبًا ، كما هو موضح في الأمثلة ، كانت هذه الصور مشاهد تحتوي على عدة كائنات ، ولكن بدون السياق النموذجي لصور فئة المشاهد. يحتوي هذا النوع من الصور ، كقاعدة عامة ، على تقييم محايد - لم تكن ممتعة ولا غير سارة.
فئات العاطفة لقاعدة بيانات الصور
لتحديد فئات العواطف لقاعدة بيانات الصور ، اعتمدنا على تصنيفات الدلالة الذاتية المعيارية التي تصاحب كل صورة في قاعدة بيانات PicturE في جنيف (GAPED) ومجموعة Open Affective Standard Standard Image (OASIS). نظرًا لأن GAPED استخدمت مقياس Likert من 0 إلى 100 ، واستخدمت OASIS مقياس Likert من 1 إلى 7 ، تم تطبيق تحويل خطي جلب جميع التصنيفات إلى مقياس مستمر من 0 إلى 100. ثم تم التحقق من قاعدتين محتملتين لتصنيف العواطف.
أولاً ، من المستحسن حدسيًا فرز الصور وفقًا لمستوى المتعة ، متبوعًا بتقسيمها إلى ثلاثة أجزاء وفقًا لمقياس التصنيف ، بحيث تمثل الصور ذات التقييمات من 0 إلى 33.33 الفئة السلبية ، مع تصنيفات 33.33-66.67 محايدة ، و مع تصنيفات 66.67-100 - فئة إيجابية. لتطبيق قاعدة التقسيم إلى ثلاث فئات ، تم استخدام كود Python:
import os import shutil import csv def organizeFolderGAPED(original, pos, neg, neut):
سمح لنا هذا النهج بتقسيم قاعدة البيانات إلى فئات: 417 صورة سلبية ، 774 محايدة و 442 إيجابية. في هذا النهج ، تم تصنيف التقسيم إلى ثلاث فئات بنسب متساوية من الصور غير السارة ، والتي لم يصل تصنيفها إلى قيمة العتبة ، على أنها محايدة ؛ على سبيل المثال ، صور جثة ، طفل يبكي ، مقابر تم تصنيفها على أنها محايدة. على الرغم من أن هذه الصور كانت أقل إزعاجًا من غيرها في الفئة السلبية ، نشأت شكوك حول حيادها.
لذلك ، تقرر تطبيق قاعدة تصنيف محسنة تستند إلى التوزيع الطبيعي للبيانات ، وكذلك تحسين فصل المعلمات إلى فئات عاطفية. تم تعيين القيم من 0 إلى 39 للفئة السلبية و 40-60 للفئة المحايدة و 61-100 للفئة الإيجابية. لتنفيذ هذه القاعدة ، تم استخدام كود Python:
import os import shutil import csv def organizeFolderGAPED(original, pos, neg, neut):
مع قاعدة التصنيف هذه ، تم تصنيف 40-60-40 567 صورة إيجابية على أنها أكثر متعة من 502 محايدة ، وتم تصنيف 564 صورة سلبية على أنها أقل متعة من المحايدة. وهكذا ، تم الحفاظ على القيمة المستهدفة للفئات العاطفية وتم تحسين توزيع الصور حسب الفئة. يوضح الشكل أدناه مستوى المتعة المرتبط بكل فئة من الفئات. تشير الأطوال المختلفة للشعيرات على مخطط التشتت إلى أي فئة عاطفية (إيجابية أو سلبية) هناك نطاق أكبر من التصنيفات مقارنة بالفئة المحايدة.
متوسط درجات المتعة لكل من الفئات العاطفيةنستنتج أن قاعدة التصنيف هذه كافية لتصنيف الصور على أساس العواطف. فيما يتعلق بفئات معلمات قاعدة بيانات الصور ، يتم عرض أنواع الصور التي تمثل كل فئة من الفئات العاطفية أدناه. وتجدر الإشارة إلى أن كل فئة من المعلمات (الحيوانات والأشخاص والمشاهد والأشياء والمتنوعة) ممثلة في كل فئة من الفئات العاطفية.
الفئة العاطفية 1: سلبيالفئة العاطفية 2: محايدالفئة العاطفية 3: إيجابيلتلخيص. قمنا بتقسيم قاعدة بيانات الصور إلى فئات عاطفية محايدة وسلبية وإيجابية باستخدام تصنيفات الأهمية المعيارية في النطاق من 0 إلى 100 ، وتعيين 0-39 إلى سلبية ، و40-60 إلى محايدة ، و 61-100 إلى إيجابية. تم توزيع الصور بشكل مناسب على هذه الفئات العاطفية. وأخيرًا ، تضمنت كل فئة عاطفية صورًا للحيوانات والأشخاص والمشاهد والأشياء والمزيد.