Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

VK mempunyai tradisi yang hebat - hackathon dalaman, di mana hanya lelaki dari VKontakte boleh mengambil bahagian. Saya akan memberitahu anda tentang hackathon bagi pihak pasukan yang mendapat tempat pertama tahun ini dan mati secara keseluruhannya kerana keletihan, tetapi berjaya mencuba pengesan pergerakan tarian untuk kamera cerita.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

Nama saya Paul, saya mengetuai pasukan penyelidikan VKontakte teratas dan mempunyai sikap mesra terhadap hackathon: sebagai peserta (Junction atau beberapa deephacks) dan baru-baru ini sebagai kurator (VK hackathon atau kes VKontakte di Junction - dengan cara ini, ini adalah kali pertama Saya mengambil bahagian di sana syarikat Rusia). Kami mengadakan VK Hackathon, terbuka kepada semua orang, untuk tahun keempat (kali terakhir kami mendaki ke Ibu Pejabat Am Hermitage), dan sebahagian besar pasukan teknikal kami menyertainya sebelum menyertai VK.

Hackathon dalaman membolehkan pasukan itu sendiri melakukan banyak percubaan dengan platform, menguji idea yang berbeza dan secara amnya berseronok. Perbezaan penting ialah penyelesaian boleh disepadukan dengan lebih baik ke dalam VK, yang memberi kita peluang untuk mencapai prototaip yang menarik.

Hackathon berlaku di Singer House sepanjang hari - tepat pada pertengahan minggu, Ibu Pejabat bertukar menjadi pergerakan tengah malam. Sungguh melucukan untuk melihat bagaimana tukang cuci melihat sekeliling dengan terkejut pada waktu pagi - pejabat yang biasanya kosong pada pukul 6 pagi tiba-tiba ternyata dipenuhi dengan orang-orang berbulu yang bergerak seperti zombi dan menjerit: "Berbaki lima jam!" Atau apabila anda berjalan ke dapur pada pukul tiga pagi dan baunya seperti asrama universiti semasa sesi: minuman tenaga, piza dan panik. Ini, sudah tentu, berlaku pada hari biasa, tetapi ia jarang berlaku dalam skala besar.

Tiga hackathon dalaman sebelum ini berlaku pada musim panas. Pada tahun 2019, kami memutuskan untuk tidak membuang masa dengan perkara-perkara kecil dan juga mengadakan hackathon musim sejuk - dua hackathon jauh lebih baik daripada satu, kerana ini adalah peluang yang bagus untuk mencuba dan melaksanakan idea yang tidak mempunyai masa yang cukup dalam irama biasa. Peraturan juga telah berubah: sebelum ini satu pasukan boleh mempunyai maksimum tiga orang, tetapi tahun ini terdapat empat orang, tetapi satu tidak menulis kod, tetapi pakar dalam sesuatu yang lain. Adalah mungkin untuk menjemput pereka, pengurus produk, penguji, pemasar dan lelaki lain ke pasukan. Sebanyak 38 pasukan telah menyertai hackathon ini.

Dreamtim (lebih tepat, salah satu daripada 38)

Kami mencapai persetujuan dengan Danei dan bersama-sama kami yakin Egor ΠΈ Tyoma menyertai pasukan. Seperti yang dijangka, model bertanggungjawab ke atas kami, Egor bertanggungjawab ke atas iOS, Tyoma bertanggungjawab ke atas pengeluaran dan reka bentuk. Pembangunan mudah alih + reka bentuk + sedikit pembelajaran mesin dan bahagian belakang adalah kunci kejayaan di hackathon 2k19.

Malah pada tahun ini, pembahagian kepada trek muncul, yang tidak wujud sebelum ini: Media (di mana kami mengambil bahagian), Komunikasi, Infrastruktur, Kandungan dan Hiburan. Kami mempunyai pesaing yang kuat. Sebagai contoh, kami sentiasa dimotivasikan oleh pereka kanan VK Ilya, yang masuk ke dalam bilik kami dan menunjukkan prototaip idea pasukannya.

Idea

β€” Saya menerima hadiah dalam hampir semua hackathon yang saya sertai, dan saya menjangkakan perkara yang sama daripada hackathon dalaman pada musim sejuk ini. (Danya yakin dengan dirinya sendiri)

Idea kami (khususnya Danina) pada mulanya ialah: kami ingin meneroka topik penjanaan muzik + mempunyai segala-galanya pada peranti, jika tidak, ia akan menjadi "terlalu belakang". Hackathon bermula dengan sumbang saran - kami memikirkan perkara yang boleh kami buat. Menjana muzik adalah menarik, tetapi saya mahu menjadikannya bergantung kepada pengguna. Beberapa butang? Mungkin melukis pada skrin dan menjana muzik berdasarkannya? Pada masa yang sama, kami belajar daripada lelaki dari pasukan Muzik cara menambah trek yang kami perlukan. Tetapi ia masih kelihatan tidak betul. Pasukan jiran sedang ceria mengerjakan sesuatu pada komputer riba mereka dan menyebabkan kekecewaan.

β€” Bagaimana jika anda mengenali gitar udara, seolah-olah anda bermain gitar, dan bergantung pada ini, mainkan bunyi gitar? (Tema)

Bingo! Idea ini adalah militan, dan kami mempunyai kuasa untuk mengatur segala-galanya dengan cara yang hebat. Untuk pengecaman gerakan ada posenet, dan dia sangat ok (juga mesra mudah alih). Mari berpura-pura!

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

keputusan

Tugas utama adalah untuk mencipta grid pada peranti (ia mestilah nyata) dan belajar untuk mengenali pergerakan. Egor mula membuat porting, Tyoma mula berfikir tentang pergerakan apa yang menarik untuk digabungkan (hanya gitar - membosankan), dan saya dan Danya mula mengenalinya. Tetapi ini memerlukan data. Apakah perbezaan antara PRO dan amatur? PRO mempunyai kluster dengan GPU - itu satu perkara, dua - PRO akan mengumpul data untuk dirinya sendiri apabila ia memerlukannya. Danya menganjurkan pendirian di mana data koordinat mentah seorang tokoh yang dikenali dirakam dari kamera, dan kemudian - menari! Malam itu kami belajar menari flos, skibidi ΠΈ dudtsa.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript
Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

Sebagai pendirian untuk merakam pergerakan, kami menggunakan komputer riba kerja, yang mula-mula merakam wajah Dani (dia tidak menulis satu baris pun dalam JS sebelum ini) apabila dia melihat satu lagi ralat JS yang tidak dapat difahami.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

β€” Saya tidak faham, saya mempunyai ralat tahap: cetakan telah hilang dalam Python! (Danya)

Menari malam (harfiah)

Kami merakam pergerakan berterusan berjam-jam di hadapan kamera pada waktu malam. Mereka merakamnya sendiri, dan juga menangkap pemaju yang berkeliaran di atas lantai dan MEMAKSA mereka MENARI. Kami mendapat tujuh kombinasi berbeza - kini kami perlu belajar membezakan antara mereka.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript
Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

"Saya datang setiap tiga jam untuk memeriksa sama ada lelaki itu masih hidup." Pasha menjerit: "Kami mempunyai pivot!" - dan Danya melentur sekuat tenaga. Kemudian semua orang menari paip. Apabila Daniil kehabisan tenaga, Pasha membuka tingkap dan berkata: "Kawan-kawan, kita perlu segar semula." (Madina)

Data dari angka itu telah diproses terlebih dahulu: kaki dibuang, kepala dipuratakan, dan ditukar kepada koordinat kutub berbanding dengan batang tubuh. Kami melatih pengesan gerakan menggunakan catboost - menggunakan petikan tiga saat aliran data daripada model. Sehingga malam ini kami tidak bekerja dengan perpustakaan - ia ternyata menjadi pertempuran, dan anda boleh memasukkannya ke dalam iOS.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

Mereka mengajar klasifikasi berbilang kelas, dengan satu kelas membosankan yang mungkin - hanya berkeliaran di hadapan kamera. Perkara yang paling sukar ialah merakam pergerakan "batu" - kami menggelengkan kepala tanpa mementingkan diri sehingga selepas beberapa ketika ia mula berputar. Dan mereka mengeluarkan tangan dengan "kambing", walaupun ini tidak berguna - posenet hanya mempunyai satu mata di seluruh tangan, ia tidak melihat jari.

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

β€” Kira-kira jam 3 pagi, Pasha masuk ke dalam beg tidur dan bergerak secara eksklusif di dalamnya selama sejam, melompat seperti kanggaru sebenar. (Madina)

Sekitar jam 8 pagi kami dilanda krisis kecil - semuanya rosak dan tiada apa yang berfungsi, tetapi semuanya tiba-tiba mula berfungsi dengan sendirinya. Memasukkan kedua-dua model ke dalam aplikasi ternyata menjadi cabaran terbesar - Egor menamatkan perhimpunan secara literal lima minit sebelum tarikh akhir. Mari beri dia lantai:

β€” Selepas kami menemui idea itu, semuanya berjalan dengan baik dan produktif. Lelaki itu melatih grid dan menari, dan saya melampirkan PoseNet pada kamera cerita dalam JavaScript terus dalam penyemak imbas. Ujian awal berjalan dengan baik dan sangat pantas. Oleh itu, apabila pada waktu pagi ternyata WebGL dalam WebView tiba-tiba ranap apabila bekerja dengan tekstur untuk beberapa karut dan tidak ada cara untuk mencari penyelesaian, saya hampir putus asa. Tetapi sudah terlambat untuk berputus asa: kami terbakar dengan idea itu. Oleh itu, dengan kekuatan terakhir kami dan dengan tin terakhir lembu merah, kami menyeret model alternatif berdasarkan CoreML ke dalam klien iOS semasa dalam perjalanan dan mula menjejak pose secara asli - untuk menghantarnya ke model dengan tarian dan dapatkan beberapa hasil pada output. Pada dasarnya, kami mengulangi kerja itu sekali lagi! Satu lagi cabaran ialah model kedua, yang tiba-tiba mula mengharapkan lebih daripada seribu hujah sebagai input! Xcode menghasilkan antara muka untuknya yang tidak realistik untuk digunakan secara langsung. Nasib baik, pengetahuan saya tentang Objektif-C tidak mengecewakan saya, dan penyelesaian yang elegan telah ditemui. (Yegor)

Pitching

Pada hari Jumaat, pada jam 14 petang, terdapat tarikh akhir untuk memuat naik video tentang projek ituβ€”beberapa pasukan tidak sampai tepat pada masanya dan telah dibatalkan kelayakan. Dan pada pukul 14:40 kami mengadakan perbincangan kepada kurator trek yang berkaitan dengan produk. Kami mempunyai lelaki dari pasukan Video dan Muzik, dan mereka nampaknya menyukai segala-galanya tentang padang. Kami mendapat tempat kedua dalam trek kami (kami mahu dahulu, kerana kami mempunyai projek yang hebat!) dan berakhir di peringkat akhir (dua pasukan dari trek kami layak).

β€” Tahun ini saya menjadi kurator hackathon dalaman buat kali pertama. Saya akan berkata dengan sekatan: amat sukar untuk menilai kerja. Tahap semua pasukan tanpa pengecualian adalah di luar kepercayaan. Sesuatu ciri seharusnya bukan sahaja maju dari segi teknologi, bukan hanya "hampir dengan pengeluaran," bukan hanya "berpotensi berguna untuk produk kami." Projek yang menang mesti memenuhi semua kriteria ini secara serentak. Nampaknya lelaki itu berjaya. (Andrew)

Kami mengadakan pitching terakhir pada jam 17:40 petang. Pada masa ini, adalah perlu untuk menyediakan satu lagi demo, kali ini untuk seluruh Pasukan, dan juri berbeza - pengarah teknikal, pengarah produk dan pengarah pemasaran.

Pada pukul lima petang semuanya berakhir - kami pulang ke rumah untuk tidur, tanpa mengetahui apa-apa tentang hasilnya.

Hasilnya akhirnya

Keputusan diumumkan hanya pada hari Isnin. Pertama, mereka menganugerahkan pemenang trek (bukan kes kami - biar saya ingatkan anda, kami kedua), kemudian pemimpin penonton mengundi (bukan kami), dan kemudian yang ketiga (dan ini juga bukan kami), kedua (sekali lagi, bukan kita) dan, akhirnya, kita.

Berikut adalah projek yang perlu kami saingi:

Tempat ke-2 - pembantu suara responsif;
Tempat ke-3 - garis masa ralat dalaman;
Anugerah Pilihan Rakyat ialah peringatan mesyuarat sembang yang akan datang.

β€” Ini adalah hackathon terbaik yang pernah saya sertai. Terdapat lebih banyak pemanduan berbanding di Junction. (Danya)

β€” Saya sangat seronok bekerja dengan rakan sekerja dari jabatan yang sama sekali berbeza - Saya tidak pernah menyentuh pembelajaran mesin sebelum ini, ia kelihatan seperti sihir kepada saya, tetapi sekarang ia tidak seperti itu. (Yegor)

β€” Sungguh mengagumkan untuk menjadi sebahagian daripada pasukan yang begitu hebat dengan projek yang begitu hebat. Dalam satu hari saya berjaya menjadi pereka, juruvideo, jurutera bunyi, editor, pemuzik dan penulis salinan! Saya juga seorang sahaja yang berjaya tidur. (Tema)

Kehidupan selepas hackathon

Kebanyakan projek yang dibangunkan di hackathon tidak berjaya dijual atas pelbagai sebab: perubahan fokus, kerumitan pelaksanaan, sesuatu yang tidak dijangka dalam pelaksanaan. Hackathon dalaman tidak terkecuali.

Walau bagaimanapun, kami menyenaraikan projek-projek yang menyaksikan cahaya mata:

  • kegemaran semua orang Vinci;
  • semakan keserasian pengguna, yang dilancarkan pada 14 Februari 2018;
  • красивыС poster untuk entri pendek;
  • dan beberapa ciri dalaman yang boleh kami bincangkan, tetapi kami tidak boleh :)

Bagaimana kami memenangi hackathon dalaman dengan mempelajari skibidi, flossing dan javascript

Sumber: www.habr.com

Tambah komen