مولد ملصقات من النوع الخاص بالأفلام ونقل نمط الصورة - مشاريع طلاب دورة "الشبكات العصبية" Technosphere





تحدثنا عن مشاريع التخرج لخريجي دورات الفصل الدراسي في تطوير الأجهزة المحمولة في تكنوبارك (جامعة بومان موسكو الحكومية التقنية) (المنشورات السابقة: " تطوير التطبيقات لنظام iOS " ، " تطوير تطبيقات Android "). نشارك اليوم مشاريع مثيرة للاهتمام لطلاب الفصل الدراسي الثاني من Technosphere - مشروع تعليمي مشترك مع جامعة موسكو الحكومية مع برنامج تدريب سنوي في مجال التحليل والعمل مع كميات كبيرة من البيانات. يأخذ الطلاب دورات في التعلم الآلي والبحث عن المعلومات والشبكات العصبية والتخصصات الأخرى. طريقة المشروع تستخدم في التدريس لذلك نلخص نتائج الفصل الدراسي في الدفاع عن مشاريع الطلاب.



تلعب التجارب دورًا مهمًا في العملية التعليمية. لا يمكن لمشاريع الطلاب الاستغناء عنها: فالرجال يجربون طرقًا وطرقًا وبنيات وأدوات مختلفة. غالبًا بعد التجربة ، يتخلى الطلاب عن اختيار التكنولوجيا والخوارزمية لصالح نهج جديد. هذا جزء كبير من التجربة والتعلم. فيما يلي سنتحدث عن مثل هذه المراحل في تطوير مشروعين طلابيين.



  • ملصقات الأفلام GAN / embed project.
  • مشروع Cyrclegan على سلسلة الرسوم المتحركة.


CycleGAN على سلسلة الرسوم المتحركة



قرر مؤلفو هذا المشروع استخدام تقنية CycleGAN لنقل الصور من فيلم رسوم متحركة إلى آخر. GAN (شبكة الخصومة التوليدية) هي طريقة لتدريب نماذج الصورة إلى الصورة. يتم تدريب شبكتين عصبيتين: المُميِّز والمولد ، وهما في علاقات عدائية. يحاول المولد زيادة خطأ التصنيف ، ويحاول التمييز تقليله. و CycleGAN هي طريقة تدريس غير خاضعة للرقابة من الصورة إلى الصورة.



لنفترض أن هناك مجالين للصور - A و B. تم إنشاء مولدين ومميزين اثنين: gen_A2B ، gen_B2A ، disc_A ، disc_B. من الضروري لمولد gen_A2B إنشاء نفس الصورة من الصورة من A ، ولكن بحيث تكون في المجال B. للقيام بذلك ، أدخل فقدان تناسق الدورة:



l1loss(gen_b2a(gen_a2b(a)), a)


في هذه الحالة ، سيُنشئ المُنشئ صورًا تخدع أداة التمييز ، ولكنها في نفس الوقت تحتفظ بالمحتوى الأصلي.



هندسة الحل:



المولد:





تسمح لك كتل Resnet بتذكر الصورة الأصلية. استخدمنا أيضًا تطبيع المثيل بدلاً من تطبيع الدُفعات ، لأن الأخير يضيف ضوضاء من الصور الأخرى.



مميز:





لم تكن هناك مجموعة صور جاهزة ، لذلك اخترنا صورًا من الإطارات الرئيسية لأفلام الأنيمي كاملة الطول: بالنسبة لـ A استخدمنا "Spirited Away" بواسطة Hayao Miyazaki ، وبالنسبة لـ B - "Your Name" لـ Makoto Shinkai. نظرًا لأن CycleGAN ليست مناسبة جدًا للتغييرات الجذرية (على سبيل المثال ، الشكل) ، أخذ المؤلفون كلا المجالين من أنيمي.



تم استخدام LSGAN الأول كوظيفة خسارة ، ثم WGAN GP ، لأن LSGAN خلقت قطعًا أثرية غريبة وفقدت الألوان أثناء التدريب.



للتدريب ، استخدمنا نموذجًا تم تدريبه مسبقًا على horse2zebra (تم العثور على أوزان للمولدات فقط). لقد فهمت بالفعل أنها بحاجة إلى حفظ محتويات الصورة ، لذلك حصل المؤلفون في البداية على أداة تشفير تلقائية جيدة ، والتي تحتاج فقط إلى تعلم كيفية خداع أداة التمييز.



في بداية التدريب ، قمنا بتعيين قيمة كبيرة لفقدان هوية فقدان الدورة وقص التدرج ، ولكن بعد مرور ما يكفي من العهود ، قررنا تقليل هذه القيم تدريجيًا حتى يبدأ المولد في محاولة خداع أداة التمييز أكثر قليلاً.



لقد حاولنا أيضًا استخدام شبكات كبيرة مدربة مسبقًا (VGG و RESNET و Inception) كعامل تمييز ، لكنها كبيرة جدًا وتباطأ التدريب كثيرًا.



نتيجة لذلك ، نجح العمل في تحقيق حقيقة نقل النمط بالقرب من الأصل ، مع الحفاظ على نظام الألوان العام (النسخ الأصلية في الأعلى ، الصور المولدة أدناه):











كود المشروع: https://github.com/IlyasKharunov/Cyclegan_project



فريق المشروع: إلياس خارونوف ، أوليج فيربين.



فيديو مع حماية المشروع .



ملصقات الأفلام GAN / embed



المشروع التالي مثير للاهتمام من وجهة نظر المسار الذي سلكه الطالب. على عكس مشاريع الطلاب الأخرى ، قام ديمتري بالعمل بمفرده. تبين أن هذا المسار أصعب من مسار الآخرين ، لكن النتائج والاستنتاجات مثيرة للاهتمام.



قرر المؤلف إنشاء شبكة من شأنها إنتاج ملصقات للأفلام من الأنواع المحددة. على سبيل المثال ، أن يكون لديك ملصقات لأفلام الرعب بألوان داكنة ، وكوميديا ​​بألوان فاتحة ، وما شابه.



من موقع IMDB ، أخذ المؤلف 41 ألف ملصق لأفلام من عشرين نوعًا للفترة 1970-2020. في وقت لاحق اتضح أن هناك عددًا قليلاً جدًا من الصور لبعض الأنواع ، لذلك قام ديمتري بموازنة المجموعة حسب النوع ، ونتيجة لذلك ، بقي 32 ألف ملصق.



ثم قام الطالب بتطبيق شبكة عصبية بهندسة DCGAN لتوليد صور عديمة النوع. عملت مع ملصقات مقاس 64x128.





تبين أن النتائج كانت مخيفة:





ثم جرب المؤلف هندسة CVAE + DCGAN:





وأيضًا VAE بدون GAN و GAN مع المصنف. توصل إلى استنتاج مفاده أن مجموعة الملصقات المجمعة معقدة للغاية بالنسبة لهذه الأساليب. ثم طبق المؤلف GAN الشرطي: هذا هو نفسه DCGAN ، تم الآن إدخال الأنواع فقط في كل من المولد والمميز. تم أخذ المتجه الكامن z بطول 100 ، نوعًا بتنسيق ساخن بطول 20 ، مما أدى إلى متجه بطول 120. تمت إضافة النوع إلى الإجابة وتم إجراء تشغيل إضافي على طبقة خطية واحدة.



تمكنت من تحقيق النتيجة التالية:





كما ترى ، كان الطالب مهتمًا بتجربة طرق مختلفة ، وكانت النتائج مثيرة للاهتمام. تلقى Auto الكثير من الخبرة الجديدة ، وتوصل إلى استنتاج مفاده أنه لتنفيذ مثل هذه الفكرة ، من الضروري اتخاذ شبكة عصبية أكثر تعقيدًا على الفور ، على سبيل المثال ، StyleGAN.



عملية التعلم الشبكي:





فريق المشروع: ديمتري بيتيركين.



فيديو مع حماية المشروع .






سنخبرك قريبًا عن أكثر مشاريع الدبلومات إثارة للاهتمام في تطوير C ++ و Go وتطوير الواجهة الأمامية وإنشاء الواجهة. يمكنك قراءة المزيد عن مشاريعنا التعليمية على هذا الرابط . وغالبًا ما تذهب إلى قناة Technostream ، حيث تظهر بانتظام مقاطع فيديو تدريبية جديدة حول البرمجة والتطوير والتخصصات الأخرى.



All Articles