تنفيذ مشغل الذكاء الاصطناعي للعبة الفيديو League of Legends استنادًا إلى التعرف على الصور باستخدام PyTorch
الفيديو التجريبي: https://youtu.be/iB4PoNJuXzc
تنبيه: يمكن العثور على الإصدار القديم باستخدام Tensorflow في الفرع "LeagueAI_2017".
انتبه: هذا المشروع لا يزال قيد التطوير، وسيتم توفير مجموعات البيانات التي أقوم بإنشائها وأوزان الكشف عن الكائنات YOLOv3 التي قمت بتدريبها قريبًا!
هذا إصدار أحدث من التطبيق القديم وسيوفر إطارًا يتيح لك إنشاء تطبيقاتك الخاصة بناءً على اكتشاف الكائنات في اللعبة. على سبيل المثال، سأقوم بتطبيق روبوت LeagueAI القديم لعام 2017 على هذا الإطار. فيديو توضيحي لتنفيذ Tensorflow من عام 2017: https://www.youtube.com/watch?v=KRWFCaXfOTk
تتمثل المهمة في إنشاء وكيل قادر على لعب ألعاب ساحة المعركة الضخمة متعددة اللاعبين عبر الإنترنت (MOBA) من منظور الشخص الثالث مثل League of Legends وDota 2 وHeroes of the Storm بنفس المدخلات التي يستخدمها اللاعب البشري، وهي الرؤية. نظرًا لأن League of Legends لا توفر واجهة للعبة، يتم استخدام اكتشاف الكائنات. في هذا المشروع، تم تقديم تطبيق بايثون للكشف عن الكائنات Yolo v3 وطريقة لتوليد كمية لا حصر لها من بيانات التدريب بشكل عشوائي.
لمزيد من المعلومات حول كاشف الكائنات، راجع تقريري الفني على: https://arxiv.org/abs/1905.13546 أو مباشرة إلى موقع YOLOv3 على الويب [2]
المهام
يمكن أن يتطلب إنشاء مجموعات بيانات كبيرة من البداية عملاً مكثفًا للغاية. في أول تطبيق لـ LeageAI، تم استخدام حوالي 700 صورة تحمل علامة يدوية. استغرق تصنيف 700 صورة حوالي 4 أيام من العمل وشمل 4 كائنات فقط من اللعبة (نموذج بطل واحد وأتباع الحلفاء والأعداء وأبراج العدو). ولذلك، تم إنشاء مجموعة البيانات الجديدة من خلال إنشاء بيانات التدريب تلقائيًا بناءً على النماذج ثلاثية الأبعاد المستخرجة من اللعبة.
pyFrameExporter.py
لاستخراج الصور الفردية من المقاطع. بالنسبة إلى التوابع، استخدمت Adobe After Effects لإضافة خلفية خضراء إلى مقاطع فيديو التوابع والأبراج (جميع الكائنات التي لم أتمكن من العثور على النماذج ثلاثية الأبعاد فيها). بالنسبة لكل إطار من الكائنات التي تم تصديرها، استخدمت البرنامج النصي pyExportTransparentPNG.py
. يزيل البرنامج النصي الخلفية الخضراء/الأرجوانية من لقطات الشاشة الفردية ويترك لك ملف png المقنع للكائنات. علاوة على ذلك، يقوم البرنامج النصي باقتصاص الصور إلى المحتوى وإزالة المساحة الشفافة الزائدة.هذا يترك لي حوالي 1000 صورة مقنعة لكل كائن يمكن استخدامها لاحقًا لإنشاء لقطات شاشة مزيفة للعبة.
لإنشاء مجموعة كبيرة ومتنوعة من لقطات الشاشة، يمكن تعديل البرنامج النصي إلى:
باستخدام هذه الطريقة، يمكن إنشاء مجموعة بيانات تضم عدة آلاف من لقطات الشاشة المزيفة المختلفة في غضون ساعات.
يمكن العثور على وصف كامل لعملية إنشاء مجموعة البيانات وتقييمها مقارنة بالبيانات الموسومة يدويًا في المنشور التالي: https://arxiv.org/pdf/1905.13546.pdf
للاستشهاد يرجى استخدام:
@article{leagueaidatasetgeneration,
title={LeagueAI: Improving object detector performance and flexibility through automatically generated training data and domain randomization},
author={Struckmeier, Oliver},
journal = {arXiv},
year={2019}
}
المهام
[1] تنفيذ اكتشاف كائن Yolov3 من الصفر: https://github.com/ayooshkathuria/YOLO_v3_tutorial_from_scratch
[2] للتدريب: https://pjreddie.com/darknet/yolo/، يولوف3: تحسين تدريجي، ج. ريدموند وأ. فرهادي، 2018