Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

VK-nın gözəl bir ənənəsi var - yalnız VKontakte-dən olan oğlanların iştirak edə biləcəyi daxili hakathon. Bu il birinci yeri tutan və bütövlükdə yorğunluqdan ölən, lakin hekayə kamerası üçün rəqs hərəkəti detektorunu sınamağı bacaran komanda adından sizə hakaton haqqında danışacağam.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

My name Paul, mən VKontakte-nin ən yaxşı tədqiqat qrupuna rəhbərlik edirəm və hakatonlara isti münasibət bəsləyirəm: iştirakçı (Junction və ya bir sıra dərin haklar) və bu yaxınlarda kurator kimi (VK hackathon və ya Junction-da VKontakte işi - yeri gəlmişkən, bu ilk dəfə idi. Mən orada rus şirkətində iştirak etdim). Biz dördüncü ildir ki, hər kəs üçün açıq olan VK Hackathon keçiririk (sonuncu dəfə Ermitajın Baş Qərargahına qalxdıq) və texniki komandamızın əhəmiyyətli bir hissəsi VK-ya qoşulmazdan əvvəl orada iştirak etdi.

Daxili hakaton komandanın özünə platforma ilə çoxlu təcrübələr keçirməyə, müxtəlif ideyaları sınamağa və ümumiyyətlə əylənməyə imkan verir. Əhəmiyyətli bir fərq, həllərin VK-ya daha çox inteqrasiya oluna bilməsidir ki, bu da bizə maraqlı prototiplər əldə etmək imkanı verir.

Hackathon bütün günü Müğənni Evində keçirilir - düz həftənin ortasında Qərargah gecə yarısı hərəkatına çevrilir. Səhər süpürgəçilərin təəccüblə ətrafa necə baxdıqlarını izləmək gülməlidir - səhər saat 6-da ümumiyyətlə boş bir ofis qəfildən zombi kimi hərəkət edən və qışqıran tüklü insanlarla dolu olur: "Beş saat qaldı!" Yaxud səhər saat üçdə mətbəxə girəndə və seanslar zamanı universitet yataqxanaları kimi iyi gələndə: enerji içkiləri, pizza və çaxnaşma. Bu, əlbəttə ki, adi bir gündə olur, lakin belə geniş miqyasda nadirdir.

Əvvəlki üç daxili hakaton yayda baş tutmuşdu. 2019-cu ildə biz xırda şeylərə vaxt itirməməyə və qış hakatonu keçirməyə qərar verdik - iki hakaton birindən daha yaxşıdır, çünki bu, adi ritmdə kifayət qədər vaxt olmayan bir ideyanı sınaqdan keçirmək və həyata keçirmək üçün əla fürsətdir. Qaydalar da dəyişib: əvvəllər komandada maksimum üç nəfər ola bilərdi, amma bu il dörd nəfər var, amma biri kod yazmır, başqa bir şeydə ixtisaslaşıb. Dizaynerləri, məhsul menecerlərini, testçiləri, marketoloqları və digər oğlanları komandaya dəvət etmək mümkün idi. Bu hakatona ümumilikdə 38 komanda qatılıb.

Dreamtim (daha doğrusu, 38-dən biri)

ilə razılığa gəldik Danei və birlikdə inandırdıq Yeqor и Tyoma komandaya qoşulun. Gözlənildiyi kimi, modellər bizə, Egor iOS-a, Tyoma istehsal və dizayna cavabdeh idi. Mobil inkişaf + dizayn + bir az maşın öyrənməsi və arxa plan 2k19 hakatonunda uğurun açarıdır.

Hətta bu il əvvəllər olmayan treklərə bölünmə meydana çıxdı: Media (iştirak etdiyimiz), Kommunikasiya, İnfrastruktur, Məzmun və Əyləncə. Bizim güclü rəqiblərimiz var idi. Məsələn, VK-nın baş dizayneri bizi daim motivasiya edirdi Ilyaotağımıza daxil olan və komandasının ideyasının prototiplərini göstərən .

Fikir

— Demək olar ki, iştirak etdiyim bütün hakatonlarda mükafatlar aldım və bu qış daxili hakatondan da eynisini gözləyirdim. (Danya özünə arxayın idi)

Bizim (xüsusilə Daninanın) ideyamız əvvəlcə belə idi: biz musiqi nəsli mövzusunu araşdırmaq + cihazda hər şeyə sahib olmaq istəyirdik, əks halda bu, “çox arxa plan” olardı. Hakaton beyin fırtınası ilə başladı - biz nəyə nail ola biləcəyimizi düşündük. Musiqi yaratmaq maraqlıdır, lakin mən onu istifadəçidən asılı etmək istəyirəm. Bəzi düymələr? Bəlkə ekrana çəkib onun əsasında musiqi yaradaq? Eyni zamanda biz Musiqi komandasının oğlanlarından bizə lazım olan trekləri necə əlavə etməyi öyrəndik. Amma yenə də o qədər də düzgün görünmürdü. Qonşu komandalar şən bir şəkildə noutbuklarında bir şey üzərində işləyirdilər və məyusluq yaradırdılar.

— Hava gitarasını tanıyırsınızsa, sanki gitara çalırsınızsa və bundan asılı olaraq gitara səsini çalırsınız? (Tyoma)

Bingo! İdeya döyüşkəndir və bizim hər şeyi gözəl şəkildə təşkil etmək gücümüz var. Hərəkətin tanınması üçün var posenet, və o, çox yaxşıdır (həmçinin mobil dostudur). Gəlin iddia edək!

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

qərar

Əsas vəzifələr cihazda şəbəkə yaratmaq (həqiqi olmalıdır) və hərəkətləri tanımağı öyrənməkdir. Eqor daşımağa başladı, Tyoma hansı hərəkətləri birləşdirməyin maraqlı olacağını düşünməyə başladı (sadəcə gitara - darıxdırıcı) və Danya ilə mən onları tanımağa başladıq. Ancaq bunun üçün məlumat lazımdır. PRO ilə həvəskar arasındakı fərq nədir? PRO-da GPU-lu klaster var - bu bir şeydir, iki - PRO ehtiyac duyduğu zaman özü üçün məlumat toplayacaq. Danya bir stend təşkil etdi, burada tanınmış bir fiqurun xam koordinat məlumatlarının kameradan qeydə alındı, sonra isə - rəqs! O gecə diş ipi ilə rəqs etməyi öyrəndik, skibidi и dudtsa.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq
Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

Hərəkətləri qeyd etmək üçün bir stend olaraq, başqa bir anlaşılmaz JS xətası gördükdə əvvəlcə Daninin üzünü (əvvəllər JS-də bir sətir yazmamışdı) qeyd edən iş noutbukundan istifadə etdik.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

— Başa düşmürəm, səviyyə xətası var: Python-da çap yoxa çıxdı! (Danya)

Gecə rəqsi (hərfi mənada)

Gecələr kamera qarşısında çoxlu saatlarla fasiləsiz hərəkəti lentə aldıq. Onlar bunu özləri qeyd etdilər, həmçinin yerə sərxoş olan və onları RƏQSƏ MƏCBUR EDƏN tərtibatçıları tutdular. Yeddi fərqli kombinasiya əldə etdik - indi onları ayırd etməyi öyrənməli idik.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq
Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

"Mən hər üç saatdan bir gəlib oğlanların sağ olub-olmadığını yoxlamaq üçün gəldim." Paşa qışqırdı: "Bizim bir döngəmiz var!" - və Danya var gücü ilə əyildi. Sonra hamı tütəklə rəqs etdi. Daniil gücü tükənəndə Paşa pəncərəni açıb dedi: “Uşaqlar, təzələnmək lazımdır”. (Mədinə)

Şəkildən alınan məlumatlar əvvəlcədən işlənmişdir: ayaqları çölə atılmış, baş orta hesablanmış və gövdəyə nisbətən qütb koordinatlarına çevrilmişdir. Hərəkət detektorunu catboost istifadə edərək öyrətdik - modeldən məlumat axınının üç saniyəlik fraqmentindən istifadə edərək. Bu gecəyə qədər biz kitabxana ilə işləməmişdik - bu, döyüş olduğu ortaya çıxdı və onu iOS-a qoya bilərsiniz.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

Onlar bir sinif mümkün qədər darıxdırıcı olmaqla çox sinifli təsnifatı öyrədirdilər - sadəcə kamera qarşısında asılırdılar. Ən çətini "rok" hərəkətini yazmaq idi - başımızı o qədər fədakarcasına silkələdik ki, bir müddət sonra fırlanmağa başladı. Və "keçi" ilə bir əl qoydular, baxmayaraq ki, bu mənasız idi - posenetin bütün əlində yalnız bir nöqtəsi var, barmaqları görmür.

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

— Təxminən səhər saat 3-də Paşa yuxu torbasına girdi və əsl kenquru kimi hoppanaraq bir saat onun içində gəzdi. (Mədinə)

Səhər saat 8 radələrində kiçik bir böhranla üzləşdik - hər şey pozuldu və heç bir şey işləmirdi, amma sonra hər şey birdən öz-özünə işləməyə başladı. Hər iki modeli tətbiqə vidalamaq ən böyük problem oldu - Eqor montajı sözün bitməsinə beş dəqiqə qalmış bitirdi. Gəlin sözü ona verək:

— Biz ideyanı tapdıqdan sonra hər şey çox yaxşı və məhsuldar keçdi. Uşaqlar toru öyrətdi və rəqs etdi və mən PoseNet-i birbaşa brauzerdə JavaScript-də hekayə kamerasına əlavə etdim. İlk sınaq sınaqları yaxşı nəticə verdi və təəccüblü dərəcədə sürətli idi. Buna görə də, səhər məlum oldu ki, WebView-də WebGL bəzi cəfəngiyatlar üçün dokularla işləyərkən gözlənilmədən qəzaya uğradı və bir həll tapmaq üçün bir yol yox idi, mən az qala ümidsizliyə qapıldım. Ancaq təslim olmaq üçün çox gec idi: biz fikirlə yanırdıq. Buna görə də, son gücümüzlə və son qutu red bull ilə CoreML əsasında alternativ modeli yolda iOS müştərisinə çəkdik və pozaları yerli şəkildə izləməyə başladıq - sonra onları rəqslərlə modelə göndərmək üçün. və çıxışda müəyyən nəticə əldə edin. Əslində, işi yenidən təkrarladıq! Başqa bir problem, birdən-birə giriş kimi mindən çox arqument gözləməyə başlayan ikinci model idi! Xcode bunun üçün birbaşa istifadə etmək qeyri-real olan bir interfeys yaratdı. Xoşbəxtlikdən, Objective-C haqqında biliklərim məni ruhdan salmadı və zərif bir həll tapıldı. (Yeqor)

Pitching

Cümə günü, saat 14:14-da layihə haqqında video yükləmək üçün son tarix var idi - bir neçə komanda vaxtında çatmadı və diskvalifikasiya edildi. Saat 40:XNUMX-da isə məhsulla bağlı trek kuratorlarına müraciət etdik. Video və Musiqi komandamızdan uşaqlar var idi və görünür, onlar meydanda hər şeyi bəyənirlər. Biz öz trekimizdə ikinci yeri tutduq (biz birinci istəyirdik, çünki belə gözəl layihəmiz var!) və finala çıxdıq (bizim trekdən iki komanda vəsiqə qazandı).

— Bu il ilk dəfə olaraq daxili hakatonun kuratoru oldum. Təmkinlə deyəcəyəm: işi qiymətləndirmək son dərəcə çətin idi. İstisnasız olaraq bütün komandaların səviyyəsi inandırıcı deyildi. Xüsusiyyət təkcə texnoloji cəhətdən inkişaf etməməli, nəinki “istehsalata yaxın”, nəinki “məhsullarımız üçün potensial faydalı” olmamalıdır. Qalib layihə bütün bu meyarlara eyni vaxtda cavab verməlidir. Deyəsən, uşaqlar bacardılar. (Andrew)

Saat 17:40-da son çıxışımız oldu. Bu vaxta qədər başqa bir demo hazırlamaq lazım idi, bu dəfə bütün Komanda üçün və münsiflər heyəti fərqli idi - texniki direktor, məhsul direktoru və marketinq direktoru.

Axşam saat beşdə hər şey bitdi - nəticələr haqqında heç nə bilmədən evə yatmağa getdik.

Nəticələr nəhayət

Nəticələr yalnız bazar ertəsi elan edilib. Əvvəlcə treklərin qaliblərini mükafatlandırdılar (bizim işimiz deyil - xatırlatmaq istərdim, biz ikinci idik), sonra tamaşaçıların liderləri (biz yox), üçüncüsü (bu da biz deyilik), ikinci (yenə biz yox) və nəhayət, biz.

Rəqabət etməli olduğumuz layihələr bunlardır:

2-ci yer - cavab verən səsli köməkçi;
3-cü yer - daxili xətaların qrafiki;
Xalqın Seçimi Mükafatı qarşıdan gələn söhbət görüşlərini xatırladır.

— Bu, indiyə qədər iştirak etdiyim ən yaxşı hakatondur. Hətta Junction-dan daha çox sürücülük var idi. (Danya)

— Mən tamamilə fərqli bir şöbədən olan həmkarlarımla işləməkdən həzz alırdım - əvvəllər heç vaxt maşın öyrənməsinə toxunmamışdım, bu, mənə bir növ sehr kimi görünürdü, amma indi belə deyil. (Yeqor)

— Belə gözəl layihə ilə belə gözəl komandanın bir hissəsi olmaq çox gözəl idi. Bir gündə dizayner, videoqraf, səs mühəndisi, redaktor, musiqiçi və kopirayter olmağı bacardım! Mən də yatmağı bacaran tək idim. (Tyoma)

Hackathondan sonrakı həyat

Hackathonlarda hazırlanmış layihələrin əksəriyyəti müxtəlif səbəblərə görə satışa çıxa bilmir: diqqətin dəyişməsi, icranın mürəkkəbliyi, həyata keçirilməsində gözlənilməz bir şey. Daxili hakaton istisna deyil.

Buna baxmayaraq, gün işığı görən layihələri sadalayırıq:

  • hamının sevimlisi Vinci;
  • istifadəçi uyğunluğunu yoxlayın14 fevral 2018-ci ildə fəaliyyətə başlayan;
  • красивые afişalar qısa girişlər üçün;
  • və bir sıra daxili xüsusiyyətlər haqqında danışmaqdan məmnun olarıq, lakin edə bilmirik :)

Skibidi, flossing və javascript öyrənməklə daxili hakatonu necə qazandıq

Mənbə: www.habr.com

Добавить комментарий