كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

لدى VK تقليد رائع - hackathon داخلي، حيث يمكن فقط للرجال من VKontakte المشاركة. سأحدثكم عن الهاكاثون نيابة عن الفريق الذي حصل على المركز الأول هذا العام ومات من التعب في مجمله، لكنه تمكن من تجربة كاشف حركة الرقص لكاميرا القصة.

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

اسمي بول، أنا أقود فريق بحث VKontakte الأعلى ولدي موقف دافئ تجاه hackathons: كمشارك (Junction أو عدد من الاختراقات العميقة) ومؤخرًا كمنسق (VK hackathon أو حالة VKontakte في Junction - بالمناسبة، كانت هذه هي المرة الأولى لقد شاركت هناك شركة روسية). نحن نقيم VK Hackathon، مفتوحًا للجميع، للعام الرابع (آخر مرة صعدنا فيها إلى المقر العام لمتحف الإرميتاج)، وشارك فيه جزء كبير من فريقنا الفني قبل الانضمام إلى VK.

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

يقام الهاكاثون في Singer House طوال اليوم - في منتصف الأسبوع مباشرة، يتحول المقر الرئيسي إلى حركة منتصف الليل. من المضحك أن نشاهد كيف ينظر عمال النظافة حولهم على حين غرة في الصباح - مكتب فارغ عادةً في الساعة 6 صباحًا يتبين فجأة أنه مليء بأشخاص أشعث يتحركون مثل الزومبي ويصرخون: "بقيت خمس ساعات!" أو عندما تدخل المطبخ في الساعة الثالثة صباحًا وتفوح منه رائحة مساكن الجامعة أثناء الجلسات: مشروبات الطاقة والبيتزا والذعر. وهذا بالطبع يحدث في يوم عادي، ولكنه نادر على هذا النطاق الواسع.

أقيمت ثلاث فعاليات هاكاثون داخلية سابقة في الصيف. في عام 2019، قررنا عدم إضاعة الوقت في تفاهات وعقد هاكاثون شتوي أيضًا - هاكاثونان أفضل بكثير من واحد، لأن هذه فرصة رائعة لتجربة وتنفيذ فكرة لا يوجد لها وقت كافٍ بالإيقاع المعتاد. لقد تغيرت القواعد أيضًا: في السابق، كان من الممكن أن يتكون الفريق من ثلاثة أشخاص كحد أقصى، ولكن هذا العام هناك أربعة أشخاص، لكن أحدهم لا يكتب التعليمات البرمجية، ولكنه متخصص في شيء آخر. كان من الممكن دعوة المصممين ومديري المنتجات والمختبرين والمسوقين وغيرهم من الأشخاص إلى الفريق. شارك في هذا الهاكاثون 38 فريقًا.

Dreamtim (بتعبير أدق، واحد من 38)

لقد توصلنا إلى اتفاق مع داني ومعا نحن مقتنعون إيجور и تيوما انضم للفريق. كما هو متوقع، كانت العارضات مسؤولة عنا، وكان إيجور مسؤولاً عن نظام التشغيل iOS، وكان تيوما مسؤولاً عن الإنتاج والتصميم. يعد تطوير الأجهزة المحمولة + التصميم + القليل من التعلم الآلي والواجهة الخلفية هو مفتاح النجاح في hackathon 2k19.

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

فكرة

— لقد حصلت على جوائز في جميع الهاكاثون الذي شاركت فيه تقريبًا، وتوقعت نفس الشيء من الهاكاثون الداخلي هذا الشتاء. (دانيا كان واثقا من نفسه)

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

— ماذا لو تعرفت على الجيتار الهوائي، وكأنك تعزف على الجيتار، وبناءً على ذلك، تعزف صوت الجيتار؟ (تيما)

البنغو! الفكرة متشددة، ولدينا القدرة على ترتيب كل شيء بطريقة رائعة. للتعرف على الحركة هناك بوسينيت، وهي جيدة جدًا (متوافقة أيضًا مع الجوّال). دعونا نتظاهر!

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

حل

تتمثل المهام الرئيسية في إنشاء شبكة على الجهاز (يجب أن تكون حقيقية) وتعلم كيفية التعرف على الحركات. بدأ إيجور في النقل، وبدأ تيوما في التفكير في الحركات التي سيكون من المثير للاهتمام دمجها (مجرد غيتار - ممل)، وبدأنا أنا ودانيا في التعرف عليها. ولكن هذا يتطلب البيانات. ما هو الفرق بين المحترفين والهواة؟ يحتوي PRO على مجموعة بها وحدة معالجة رسومات (GPU) - وهذا شيء واحد، اثنان - سيقوم PRO بجمع البيانات لنفسه عندما يحتاج إليها. نظمت دانيا منصة حيث تم تسجيل البيانات الإحداثية الأولية لشخصية معترف بها من الكاميرا، ثم - الرقص! في تلك الليلة تعلمنا الرقص بالخيط، سكيبيدي и dudtsa.

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت
كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

كموقف لتسجيل الحركات، استخدمنا جهاز كمبيوتر محمولًا للعمل، والذي سجل وجه داني لأول مرة (لم يكن قد كتب سطرًا واحدًا في JS من قبل) عندما رأى خطأ JS آخر غير مفهوم.

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

- لا أفهم، لدي خطأ في المستوى: اختفت الطباعة في بايثون! (دانيا)

الرقص الليلي (حرفيا)

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

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت
كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

"كنت آتي كل ثلاث ساعات للتأكد مما إذا كان الرجال على قيد الحياة". فصاح باشا: «لدينا محور!» - واستعرضت دانيا بكل قوتها. ثم رقص الجميع على الغليون. عندما استنفدت قوات دانييل، فتح باشا النافذة وقال: "يا شباب، نحن بحاجة إلى التحديث". (المدينة)

تمت معالجة البيانات الواردة من الشكل مسبقًا: تم طرح الساقين للخارج، وتم حساب متوسط ​​الرأس، وتحويلها إلى إحداثيات قطبية بالنسبة للجذع. قمنا بتدريب كاشف الحركة باستخدام catboost - باستخدام مقتطف مدته ثلاث ثوانٍ من تدفق البيانات من النموذج. حتى تلك الليلة، لم نكن قد عملنا مع المكتبة - لقد تبين أنها مكتبة قتالية، ويمكنك وضعها في نظام التشغيل iOS.

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

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

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

— في حوالي الساعة الثالثة صباحًا، صعد باشا إلى كيس النوم وتحرك فيه حصريًا لمدة ساعة، وهو يقفز مثل الكنغر الحقيقي. (المدينة)

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

- بعد أن وجدنا الفكرة، سار كل شيء على ما يرام وبشكل مثمر. قام الرجال بتدريب الشبكة والرقص، وقمت بتوصيل PoseNet بكاميرا القصة في JavaScript مباشرة في المتصفح. عملت الاختبارات الأولية بشكل جيد وكانت سريعة بشكل مدهش. لذلك، عندما اتضح في الصباح أن WebGL في WebView تعطل بشكل غير متوقع عند العمل مع القوام لبعض الهراء ولم تكن هناك طريقة للعثور على حل، كدت أن أشعر باليأس. ولكن فات أوان الاستسلام: لقد كنا نحترق بالفكرة. لذلك، باستخدام آخر ما لدينا من قوة ومع آخر علبة من ريد بول، قمنا بسحب نموذج بديل يعتمد على CoreML إلى عميل iOS أثناء التنقل وبدأنا في تتبع الوضعيات محليًا - من أجل إرسالها بعد ذلك إلى النموذج مع الرقصات والحصول على بعض النتيجة في الإخراج. في جوهر الأمر، كررنا العمل مرة أخرى! وكان التحدي الآخر هو النموذج الثاني، الذي بدأ فجأة يتوقع أكثر من ألف وسيطة كمدخلات! قام Xcode بإنشاء واجهة له والتي سيكون من غير الواقعي استخدامها مباشرة. ولحسن الحظ، فإن معرفتي بـ Objective-C لم تخذلني، وتم العثور على حل أنيق. (ييغور)

نصب

في يوم الجمعة، الساعة الثانية ظهرًا، كان هناك موعد نهائي لتحميل مقطع فيديو حول المشروع، حيث لم تتمكن العديد من الفرق من الوصول في الوقت المناسب وتم استبعادها. وفي الساعة 14:14، قدمنا ​​عرضًا تقديميًا إلى أمناء المسار المتعلق بالمنتج. كان لدينا أعضاء من فريق الفيديو والموسيقى، ويبدو أنهم يحبون كل شيء يتعلق بالملعب. لقد حصلنا على المركز الثاني في مسارنا (أردنا المركز الأول، لأن لدينا مثل هذا المشروع الرائع!) وانتهى بنا الأمر في النهائيات (تأهل فريقان من مسارنا).

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

كان لدينا عرضنا النهائي في الساعة 17:40 مساءً. بحلول هذا الوقت، كان من الضروري إعداد عرض توضيحي آخر، هذه المرة للفريق بأكمله، وكانت هيئة المحلفين مختلفة - المدير الفني ومدير المنتج ومدير التسويق.

في الخامسة مساءً، انتهى كل شيء - عدنا إلى المنزل للنوم، دون أن نعرف شيئًا عن النتائج.

النتائج أخيرا

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

فيما يلي المشاريع التي كان علينا التنافس معها:

المركز الثاني - مساعد صوت سريع الاستجابة؛
المركز الثالث - الجدول الزمني للأخطاء الداخلية؛
تُعد جائزة اختيار الأشخاص بمثابة تذكير باجتماعات الدردشة القادمة.

- هذا أفضل هاكاثون شاركت فيه على الإطلاق. كان هناك محرك أكثر بكثير مما كان عليه حتى في Junction. (دانيا)

- لقد استمتعت حقًا بالعمل مع زملائي من قسم مختلف تمامًا - لم يسبق لي أن أتطرق إلى التعلم الآلي من قبل، بدا لي وكأنه نوع من السحر، لكنه الآن ليس كذلك. (ييغور)

- كان من الرائع جدًا أن أصبح جزءًا من هذا الفريق الرائع بمثل هذا المشروع الرائع. في يوم واحد تمكنت من أن أصبح مصممًا ومصور فيديو ومهندس صوت ومحررًا وموسيقيًا وكاتب إعلانات! وكنت أيضًا الشخص الوحيد الذي تمكن من النوم. (تيما)

الحياة بعد الهاكاثون

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

ومع ذلك نورد لكم المشاريع التي رأت النور:

  • المفضل لدى الجميع فينشي;
  • التحقق من توافق المستخدم، والتي تم إطلاقها في 14 فبراير 2018؛
  • Xiexiexiedie Xiexie البقالة الميكانيكية ملصقات للإدخالات القصيرة؛
  • وعدد من الميزات الداخلية التي سنكون سعداء بالحديث عنها، لكننا لا نستطيع :)

كيف فزنا في هاكاثون داخلي من خلال تعلم السكيبيدي والخيط والجافا سكريبت

المصدر: www.habr.com

إضافة تعليق